material-dashboard
Advanced tools
Comparing version 2.1.0 to 3.0.9
@@ -1,834 +0,4 @@ | ||
/* | ||
Copyright (C) Federico Zivolo 2017 | ||
Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT). | ||
/** | ||
* @popperjs/core v2.11.7 - MIT License | ||
*/ | ||
(function(e, t) { | ||
'object' == typeof exports && 'undefined' != typeof module ? module.exports = t() : 'function' == typeof define && define.amd ? define(t) : e.Popper = t() | ||
})(this, function() { | ||
'use strict'; | ||
function e(e) { | ||
return e && '[object Function]' === {}.toString.call(e) | ||
} | ||
function t(e, t) { | ||
if (1 !== e.nodeType) return []; | ||
var o = window.getComputedStyle(e, null); | ||
return t ? o[t] : o | ||
} | ||
function o(e) { | ||
return 'HTML' === e.nodeName ? e : e.parentNode || e.host | ||
} | ||
function n(e) { | ||
if (!e || -1 !== ['HTML', 'BODY', '#document'].indexOf(e.nodeName)) return window.document.body; | ||
var i = t(e), | ||
r = i.overflow, | ||
p = i.overflowX, | ||
s = i.overflowY; | ||
return /(auto|scroll)/.test(r + s + p) ? e : n(o(e)) | ||
} | ||
function r(e) { | ||
var o = e && e.offsetParent, | ||
i = o && o.nodeName; | ||
return i && 'BODY' !== i && 'HTML' !== i ? -1 !== ['TD', 'TABLE'].indexOf(o.nodeName) && 'static' === t(o, 'position') ? r(o) : o : window.document.documentElement | ||
} | ||
function p(e) { | ||
var t = e.nodeName; | ||
return 'BODY' !== t && ('HTML' === t || r(e.firstElementChild) === e) | ||
} | ||
function s(e) { | ||
return null === e.parentNode ? e : s(e.parentNode) | ||
} | ||
function d(e, t) { | ||
if (!e || !e.nodeType || !t || !t.nodeType) return window.document.documentElement; | ||
var o = e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING, | ||
i = o ? e : t, | ||
n = o ? t : e, | ||
a = document.createRange(); | ||
a.setStart(i, 0), a.setEnd(n, 0); | ||
var f = a.commonAncestorContainer; | ||
if (e !== f && t !== f || i.contains(n)) return p(f) ? f : r(f); | ||
var l = s(e); | ||
return l.host ? d(l.host, t) : d(e, s(t).host) | ||
} | ||
function a(e) { | ||
var t = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 'top', | ||
o = 'top' === t ? 'scrollTop' : 'scrollLeft', | ||
i = e.nodeName; | ||
if ('BODY' === i || 'HTML' === i) { | ||
var n = window.document.documentElement, | ||
r = window.document.scrollingElement || n; | ||
return r[o] | ||
} | ||
return e[o] | ||
} | ||
function f(e, t) { | ||
var o = 2 < arguments.length && void 0 !== arguments[2] && arguments[2], | ||
i = a(t, 'top'), | ||
n = a(t, 'left'), | ||
r = o ? -1 : 1; | ||
return e.top += i * r, e.bottom += i * r, e.left += n * r, e.right += n * r, e | ||
} | ||
function l(e, t) { | ||
var o = 'x' === t ? 'Left' : 'Top', | ||
i = 'Left' == o ? 'Right' : 'Bottom'; | ||
return +e['border' + o + 'Width'].split('px')[0] + +e['border' + i + 'Width'].split('px')[0] | ||
} | ||
function m(e, t, o, i) { | ||
return _(t['offset' + e], o['client' + e], o['offset' + e], ie() ? o['offset' + e] + i['margin' + ('Height' === e ? 'Top' : 'Left')] + i['margin' + ('Height' === e ? 'Bottom' : 'Right')] : 0) | ||
} | ||
function h() { | ||
var e = window.document.body, | ||
t = window.document.documentElement, | ||
o = ie() && window.getComputedStyle(t); | ||
return { | ||
height: m('Height', e, t, o), | ||
width: m('Width', e, t, o) | ||
} | ||
} | ||
function c(e) { | ||
return se({}, e, { | ||
right: e.left + e.width, | ||
bottom: e.top + e.height | ||
}) | ||
} | ||
function g(e) { | ||
var o = {}; | ||
if (ie()) try { | ||
o = e.getBoundingClientRect(); | ||
var i = a(e, 'top'), | ||
n = a(e, 'left'); | ||
o.top += i, o.left += n, o.bottom += i, o.right += n | ||
} catch (e) {} else o = e.getBoundingClientRect(); | ||
var r = { | ||
left: o.left, | ||
top: o.top, | ||
width: o.right - o.left, | ||
height: o.bottom - o.top | ||
}, | ||
p = 'HTML' === e.nodeName ? h() : {}, | ||
s = p.width || e.clientWidth || r.right - r.left, | ||
d = p.height || e.clientHeight || r.bottom - r.top, | ||
f = e.offsetWidth - s, | ||
m = e.offsetHeight - d; | ||
if (f || m) { | ||
var g = t(e); | ||
f -= l(g, 'x'), m -= l(g, 'y'), r.width -= f, r.height -= m | ||
} | ||
return c(r) | ||
} | ||
function u(e, o) { | ||
var i = ie(), | ||
r = 'HTML' === o.nodeName, | ||
p = g(e), | ||
s = g(o), | ||
d = n(e), | ||
a = t(o), | ||
l = +a.borderTopWidth.split('px')[0], | ||
m = +a.borderLeftWidth.split('px')[0], | ||
h = c({ | ||
top: p.top - s.top - l, | ||
left: p.left - s.left - m, | ||
width: p.width, | ||
height: p.height | ||
}); | ||
if (h.marginTop = 0, h.marginLeft = 0, !i && r) { | ||
var u = +a.marginTop.split('px')[0], | ||
b = +a.marginLeft.split('px')[0]; | ||
h.top -= l - u, h.bottom -= l - u, h.left -= m - b, h.right -= m - b, h.marginTop = u, h.marginLeft = b | ||
} | ||
return (i ? o.contains(d) : o === d && 'BODY' !== d.nodeName) && (h = f(h, o)), h | ||
} | ||
function b(e) { | ||
var t = window.document.documentElement, | ||
o = u(e, t), | ||
i = _(t.clientWidth, window.innerWidth || 0), | ||
n = _(t.clientHeight, window.innerHeight || 0), | ||
r = a(t), | ||
p = a(t, 'left'), | ||
s = { | ||
top: r - o.top + o.marginTop, | ||
left: p - o.left + o.marginLeft, | ||
width: i, | ||
height: n | ||
}; | ||
return c(s) | ||
} | ||
function y(e) { | ||
var i = e.nodeName; | ||
return 'BODY' === i || 'HTML' === i ? !1 : 'fixed' === t(e, 'position') || y(o(e)) | ||
} | ||
function w(e, t, i, r) { | ||
var p = { | ||
top: 0, | ||
left: 0 | ||
}, | ||
s = d(e, t); | ||
if ('viewport' === r) p = b(s); | ||
else { | ||
var a; | ||
'scrollParent' === r ? (a = n(o(e)), 'BODY' === a.nodeName && (a = window.document.documentElement)) : 'window' === r ? a = window.document.documentElement : a = r; | ||
var f = u(a, s); | ||
if ('HTML' === a.nodeName && !y(s)) { | ||
var l = h(), | ||
m = l.height, | ||
c = l.width; | ||
p.top += f.top - f.marginTop, p.bottom = m + f.top, p.left += f.left - f.marginLeft, p.right = c + f.left | ||
} else p = f | ||
} | ||
return p.left += i, p.top += i, p.right -= i, p.bottom -= i, p | ||
} | ||
function v(e) { | ||
var t = e.width, | ||
o = e.height; | ||
return t * o | ||
} | ||
function E(e, t, o, i, n) { | ||
var r = 5 < arguments.length && void 0 !== arguments[5] ? arguments[5] : 0; | ||
if (-1 === e.indexOf('auto')) return e; | ||
var p = w(o, i, r, n), | ||
s = { | ||
top: { | ||
width: p.width, | ||
height: t.top - p.top | ||
}, | ||
right: { | ||
width: p.right - t.right, | ||
height: p.height | ||
}, | ||
bottom: { | ||
width: p.width, | ||
height: p.bottom - t.bottom | ||
}, | ||
left: { | ||
width: t.left - p.left, | ||
height: p.height | ||
} | ||
}, | ||
d = Object.keys(s).map(function(e) { | ||
return se({ | ||
key: e | ||
}, s[e], { | ||
area: v(s[e]) | ||
}) | ||
}).sort(function(e, t) { | ||
return t.area - e.area | ||
}), | ||
a = d.filter(function(e) { | ||
var t = e.width, | ||
i = e.height; | ||
return t >= o.clientWidth && i >= o.clientHeight | ||
}), | ||
f = 0 < a.length ? a[0].key : d[0].key, | ||
l = e.split('-')[1]; | ||
return f + (l ? '-' + l : '') | ||
} | ||
function x(e, t, o) { | ||
var i = d(t, o); | ||
return u(o, i) | ||
} | ||
function O(e) { | ||
var t = window.getComputedStyle(e), | ||
o = parseFloat(t.marginTop) + parseFloat(t.marginBottom), | ||
i = parseFloat(t.marginLeft) + parseFloat(t.marginRight), | ||
n = { | ||
width: e.offsetWidth + i, | ||
height: e.offsetHeight + o | ||
}; | ||
return n | ||
} | ||
function L(e) { | ||
var t = { | ||
left: 'right', | ||
right: 'left', | ||
bottom: 'top', | ||
top: 'bottom' | ||
}; | ||
return e.replace(/left|right|bottom|top/g, function(e) { | ||
return t[e] | ||
}) | ||
} | ||
function S(e, t, o) { | ||
o = o.split('-')[0]; | ||
var i = O(e), | ||
n = { | ||
width: i.width, | ||
height: i.height | ||
}, | ||
r = -1 !== ['right', 'left'].indexOf(o), | ||
p = r ? 'top' : 'left', | ||
s = r ? 'left' : 'top', | ||
d = r ? 'height' : 'width', | ||
a = r ? 'width' : 'height'; | ||
return n[p] = t[p] + t[d] / 2 - i[d] / 2, n[s] = o === s ? t[s] - i[a] : t[L(s)], n | ||
} | ||
function T(e, t) { | ||
return Array.prototype.find ? e.find(t) : e.filter(t)[0] | ||
} | ||
function C(e, t, o) { | ||
if (Array.prototype.findIndex) return e.findIndex(function(e) { | ||
return e[t] === o | ||
}); | ||
var i = T(e, function(e) { | ||
return e[t] === o | ||
}); | ||
return e.indexOf(i) | ||
} | ||
function N(t, o, i) { | ||
var n = void 0 === i ? t : t.slice(0, C(t, 'name', i)); | ||
return n.forEach(function(t) { | ||
t.function && console.warn('`modifier.function` is deprecated, use `modifier.fn`!'); | ||
var i = t.function || t.fn; | ||
t.enabled && e(i) && (o.offsets.popper = c(o.offsets.popper), o.offsets.reference = c(o.offsets.reference), o = i(o, t)) | ||
}), o | ||
} | ||
function k() { | ||
if (!this.state.isDestroyed) { | ||
var e = { | ||
instance: this, | ||
styles: {}, | ||
attributes: {}, | ||
flipped: !1, | ||
offsets: {} | ||
}; | ||
e.offsets.reference = x(this.state, this.popper, this.reference), e.placement = E(this.options.placement, e.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding), e.originalPlacement = e.placement, e.offsets.popper = S(this.popper, e.offsets.reference, e.placement), e.offsets.popper.position = 'absolute', e = N(this.modifiers, e), this.state.isCreated ? this.options.onUpdate(e) : (this.state.isCreated = !0, this.options.onCreate(e)) | ||
} | ||
} | ||
function W(e, t) { | ||
return e.some(function(e) { | ||
var o = e.name, | ||
i = e.enabled; | ||
return i && o === t | ||
}) | ||
} | ||
function B(e) { | ||
for (var t = [!1, 'ms', 'Webkit', 'Moz', 'O'], o = e.charAt(0).toUpperCase() + e.slice(1), n = 0; n < t.length - 1; n++) { | ||
var i = t[n], | ||
r = i ? '' + i + o : e; | ||
if ('undefined' != typeof window.document.body.style[r]) return r | ||
} | ||
return null | ||
} | ||
function D() { | ||
return this.state.isDestroyed = !0, W(this.modifiers, 'applyStyle') && (this.popper.removeAttribute('x-placement'), this.popper.style.left = '', this.popper.style.position = '', this.popper.style.top = '', this.popper.style[B('transform')] = ''), this.disableEventListeners(), this.options.removeOnDestroy && this.popper.parentNode.removeChild(this.popper), this | ||
} | ||
function H(e, t, o, i) { | ||
var r = 'BODY' === e.nodeName, | ||
p = r ? window : e; | ||
p.addEventListener(t, o, { | ||
passive: !0 | ||
}), r || H(n(p.parentNode), t, o, i), i.push(p) | ||
} | ||
function P(e, t, o, i) { | ||
o.updateBound = i, window.addEventListener('resize', o.updateBound, { | ||
passive: !0 | ||
}); | ||
var r = n(e); | ||
return H(r, 'scroll', o.updateBound, o.scrollParents), o.scrollElement = r, o.eventsEnabled = !0, o | ||
} | ||
function A() { | ||
this.state.eventsEnabled || (this.state = P(this.reference, this.options, this.state, this.scheduleUpdate)) | ||
} | ||
function M(e, t) { | ||
return window.removeEventListener('resize', t.updateBound), t.scrollParents.forEach(function(e) { | ||
e.removeEventListener('scroll', t.updateBound) | ||
}), t.updateBound = null, t.scrollParents = [], t.scrollElement = null, t.eventsEnabled = !1, t | ||
} | ||
function I() { | ||
this.state.eventsEnabled && (window.cancelAnimationFrame(this.scheduleUpdate), this.state = M(this.reference, this.state)) | ||
} | ||
function R(e) { | ||
return '' !== e && !isNaN(parseFloat(e)) && isFinite(e) | ||
} | ||
function U(e, t) { | ||
Object.keys(t).forEach(function(o) { | ||
var i = ''; - 1 !== ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(o) && R(t[o]) && (i = 'px'), e.style[o] = t[o] + i | ||
}) | ||
} | ||
function Y(e, t) { | ||
Object.keys(t).forEach(function(o) { | ||
var i = t[o]; | ||
!1 === i ? e.removeAttribute(o) : e.setAttribute(o, t[o]) | ||
}) | ||
} | ||
function F(e, t, o) { | ||
var i = T(e, function(e) { | ||
var o = e.name; | ||
return o === t | ||
}), | ||
n = !!i && e.some(function(e) { | ||
return e.name === o && e.enabled && e.order < i.order | ||
}); | ||
if (!n) { | ||
var r = '`' + t + '`'; | ||
console.warn('`' + o + '`' + ' modifier is required by ' + r + ' modifier in order to work, be sure to include it before ' + r + '!') | ||
} | ||
return n | ||
} | ||
function j(e) { | ||
return 'end' === e ? 'start' : 'start' === e ? 'end' : e | ||
} | ||
function K(e) { | ||
var t = 1 < arguments.length && void 0 !== arguments[1] && arguments[1], | ||
o = ae.indexOf(e), | ||
i = ae.slice(o + 1).concat(ae.slice(0, o)); | ||
return t ? i.reverse() : i | ||
} | ||
function q(e, t, o, i) { | ||
var n = e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/), | ||
r = +n[1], | ||
p = n[2]; | ||
if (!r) return e; | ||
if (0 === p.indexOf('%')) { | ||
var s; | ||
switch (p) { | ||
case '%p': | ||
s = o; | ||
break; | ||
case '%': | ||
case '%r': | ||
default: | ||
s = i; | ||
} | ||
var d = c(s); | ||
return d[t] / 100 * r | ||
} | ||
if ('vh' === p || 'vw' === p) { | ||
var a; | ||
return a = 'vh' === p ? _(document.documentElement.clientHeight, window.innerHeight || 0) : _(document.documentElement.clientWidth, window.innerWidth || 0), a / 100 * r | ||
} | ||
return r | ||
} | ||
function G(e, t, o, i) { | ||
var n = [0, 0], | ||
r = -1 !== ['right', 'left'].indexOf(i), | ||
p = e.split(/(\+|\-)/).map(function(e) { | ||
return e.trim() | ||
}), | ||
s = p.indexOf(T(p, function(e) { | ||
return -1 !== e.search(/,|\s/) | ||
})); | ||
p[s] && -1 === p[s].indexOf(',') && console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.'); | ||
var d = /\s*,\s*|\s+/, | ||
a = -1 === s ? [p] : [p.slice(0, s).concat([p[s].split(d)[0]]), [p[s].split(d)[1]].concat(p.slice(s + 1))]; | ||
return a = a.map(function(e, i) { | ||
var n = (1 === i ? !r : r) ? 'height' : 'width', | ||
p = !1; | ||
return e.reduce(function(e, t) { | ||
return '' === e[e.length - 1] && -1 !== ['+', '-'].indexOf(t) ? (e[e.length - 1] = t, p = !0, e) : p ? (e[e.length - 1] += t, p = !1, e) : e.concat(t) | ||
}, []).map(function(e) { | ||
return q(e, n, t, o) | ||
}) | ||
}), a.forEach(function(e, t) { | ||
e.forEach(function(o, i) { | ||
R(o) && (n[t] += o * ('-' === e[i - 1] ? -1 : 1)) | ||
}) | ||
}), n | ||
} | ||
for (var z = Math.min, V = Math.floor, _ = Math.max, X = ['native code', '[object MutationObserverConstructor]'], Q = function(e) { | ||
return X.some(function(t) { | ||
return -1 < (e || '').toString().indexOf(t) | ||
}) | ||
}, J = 'undefined' != typeof window, Z = ['Edge', 'Trident', 'Firefox'], $ = 0, ee = 0; ee < Z.length; ee += 1) | ||
if (J && 0 <= navigator.userAgent.indexOf(Z[ee])) { | ||
$ = 1; | ||
break | ||
} | ||
var i, te = J && Q(window.MutationObserver), | ||
oe = te ? function(e) { | ||
var t = !1, | ||
o = 0, | ||
i = document.createElement('span'), | ||
n = new MutationObserver(function() { | ||
e(), t = !1 | ||
}); | ||
return n.observe(i, { | ||
attributes: !0 | ||
}), | ||
function() { | ||
t || (t = !0, i.setAttribute('x-index', o), ++o) | ||
} | ||
} : function(e) { | ||
var t = !1; | ||
return function() { | ||
t || (t = !0, setTimeout(function() { | ||
t = !1, e() | ||
}, $)) | ||
} | ||
}, | ||
ie = function() { | ||
return void 0 == i && (i = -1 !== navigator.appVersion.indexOf('MSIE 10')), i | ||
}, | ||
ne = function(e, t) { | ||
if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function') | ||
}, | ||
re = function() { | ||
function e(e, t) { | ||
for (var o, n = 0; n < t.length; n++) o = t[n], o.enumerable = o.enumerable || !1, o.configurable = !0, 'value' in o && (o.writable = !0), Object.defineProperty(e, o.key, o) | ||
} | ||
return function(t, o, i) { | ||
return o && e(t.prototype, o), i && e(t, i), t | ||
} | ||
}(), | ||
pe = function(e, t, o) { | ||
return t in e ? Object.defineProperty(e, t, { | ||
value: o, | ||
enumerable: !0, | ||
configurable: !0, | ||
writable: !0 | ||
}) : e[t] = o, e | ||
}, | ||
se = Object.assign || function(e) { | ||
for (var t, o = 1; o < arguments.length; o++) | ||
for (var i in t = arguments[o], t) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); | ||
return e | ||
}, | ||
de = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'], | ||
ae = de.slice(3), | ||
fe = { | ||
FLIP: 'flip', | ||
CLOCKWISE: 'clockwise', | ||
COUNTERCLOCKWISE: 'counterclockwise' | ||
}, | ||
le = function() { | ||
function t(o, i) { | ||
var n = this, | ||
r = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {}; | ||
ne(this, t), this.scheduleUpdate = function() { | ||
return requestAnimationFrame(n.update) | ||
}, this.update = oe(this.update.bind(this)), this.options = se({}, t.Defaults, r), this.state = { | ||
isDestroyed: !1, | ||
isCreated: !1, | ||
scrollParents: [] | ||
}, this.reference = o.jquery ? o[0] : o, this.popper = i.jquery ? i[0] : i, this.options.modifiers = {}, Object.keys(se({}, t.Defaults.modifiers, r.modifiers)).forEach(function(e) { | ||
n.options.modifiers[e] = se({}, t.Defaults.modifiers[e] || {}, r.modifiers ? r.modifiers[e] : {}) | ||
}), this.modifiers = Object.keys(this.options.modifiers).map(function(e) { | ||
return se({ | ||
name: e | ||
}, n.options.modifiers[e]) | ||
}).sort(function(e, t) { | ||
return e.order - t.order | ||
}), this.modifiers.forEach(function(t) { | ||
t.enabled && e(t.onLoad) && t.onLoad(n.reference, n.popper, n.options, t, n.state) | ||
}), this.update(); | ||
var p = this.options.eventsEnabled; | ||
p && this.enableEventListeners(), this.state.eventsEnabled = p | ||
} | ||
return re(t, [{ | ||
key: 'update', | ||
value: function() { | ||
return k.call(this) | ||
} | ||
}, { | ||
key: 'destroy', | ||
value: function() { | ||
return D.call(this) | ||
} | ||
}, { | ||
key: 'enableEventListeners', | ||
value: function() { | ||
return A.call(this) | ||
} | ||
}, { | ||
key: 'disableEventListeners', | ||
value: function() { | ||
return I.call(this) | ||
} | ||
}]), t | ||
}(); | ||
return le.Utils = ('undefined' == typeof window ? global : window).PopperUtils, le.placements = de, le.Defaults = { | ||
placement: 'bottom', | ||
eventsEnabled: !0, | ||
removeOnDestroy: !1, | ||
onCreate: function() {}, | ||
onUpdate: function() {}, | ||
modifiers: { | ||
shift: { | ||
order: 100, | ||
enabled: !0, | ||
fn: function(e) { | ||
var t = e.placement, | ||
o = t.split('-')[0], | ||
i = t.split('-')[1]; | ||
if (i) { | ||
var n = e.offsets, | ||
r = n.reference, | ||
p = n.popper, | ||
s = -1 !== ['bottom', 'top'].indexOf(o), | ||
d = s ? 'left' : 'top', | ||
a = s ? 'width' : 'height', | ||
f = { | ||
start: pe({}, d, r[d]), | ||
end: pe({}, d, r[d] + r[a] - p[a]) | ||
}; | ||
e.offsets.popper = se({}, p, f[i]) | ||
} | ||
return e | ||
} | ||
}, | ||
offset: { | ||
order: 200, | ||
enabled: !0, | ||
fn: function(e, t) { | ||
var o, i = t.offset, | ||
n = e.placement, | ||
r = e.offsets, | ||
p = r.popper, | ||
s = r.reference, | ||
d = n.split('-')[0]; | ||
return o = R(+i) ? [+i, 0] : G(i, p, s, d), 'left' === d ? (p.top += o[0], p.left -= o[1]) : 'right' === d ? (p.top += o[0], p.left += o[1]) : 'top' === d ? (p.left += o[0], p.top -= o[1]) : 'bottom' === d && (p.left += o[0], p.top += o[1]), e.popper = p, e | ||
}, | ||
offset: 0 | ||
}, | ||
preventOverflow: { | ||
order: 300, | ||
enabled: !0, | ||
fn: function(e, t) { | ||
var o = t.boundariesElement || r(e.instance.popper); | ||
e.instance.reference === o && (o = r(o)); | ||
var i = w(e.instance.popper, e.instance.reference, t.padding, o); | ||
t.boundaries = i; | ||
var n = t.priority, | ||
p = e.offsets.popper, | ||
s = { | ||
primary: function(e) { | ||
var o = p[e]; | ||
return p[e] < i[e] && !t.escapeWithReference && (o = _(p[e], i[e])), pe({}, e, o) | ||
}, | ||
secondary: function(e) { | ||
var o = 'right' === e ? 'left' : 'top', | ||
n = p[o]; | ||
return p[e] > i[e] && !t.escapeWithReference && (n = z(p[o], i[e] - ('right' === e ? p.width : p.height))), pe({}, o, n) | ||
} | ||
}; | ||
return n.forEach(function(e) { | ||
var t = -1 === ['left', 'top'].indexOf(e) ? 'secondary' : 'primary'; | ||
p = se({}, p, s[t](e)) | ||
}), e.offsets.popper = p, e | ||
}, | ||
priority: ['left', 'right', 'top', 'bottom'], | ||
padding: 5, | ||
boundariesElement: 'scrollParent' | ||
}, | ||
keepTogether: { | ||
order: 400, | ||
enabled: !0, | ||
fn: function(e) { | ||
var t = e.offsets, | ||
o = t.popper, | ||
i = t.reference, | ||
n = e.placement.split('-')[0], | ||
r = V, | ||
p = -1 !== ['top', 'bottom'].indexOf(n), | ||
s = p ? 'right' : 'bottom', | ||
d = p ? 'left' : 'top', | ||
a = p ? 'width' : 'height'; | ||
return o[s] < r(i[d]) && (e.offsets.popper[d] = r(i[d]) - o[a]), o[d] > r(i[s]) && (e.offsets.popper[d] = r(i[s])), e | ||
} | ||
}, | ||
arrow: { | ||
order: 500, | ||
enabled: !0, | ||
fn: function(e, t) { | ||
if (!F(e.instance.modifiers, 'arrow', 'keepTogether')) return e; | ||
var o = t.element; | ||
if ('string' == typeof o) { | ||
if (o = e.instance.popper.querySelector(o), !o) return e; | ||
} else if (!e.instance.popper.contains(o)) return console.warn('WARNING: `arrow.element` must be child of its popper element!'), e; | ||
var i = e.placement.split('-')[0], | ||
n = e.offsets, | ||
r = n.popper, | ||
p = n.reference, | ||
s = -1 !== ['left', 'right'].indexOf(i), | ||
d = s ? 'height' : 'width', | ||
a = s ? 'top' : 'left', | ||
f = s ? 'left' : 'top', | ||
l = s ? 'bottom' : 'right', | ||
m = O(o)[d]; | ||
p[l] - m < r[a] && (e.offsets.popper[a] -= r[a] - (p[l] - m)), p[a] + m > r[l] && (e.offsets.popper[a] += p[a] + m - r[l]); | ||
var h = p[a] + p[d] / 2 - m / 2, | ||
g = h - c(e.offsets.popper)[a]; | ||
return g = _(z(r[d] - m, g), 0), e.arrowElement = o, e.offsets.arrow = {}, e.offsets.arrow[a] = Math.round(g), e.offsets.arrow[f] = '', e | ||
}, | ||
element: '[x-arrow]' | ||
}, | ||
flip: { | ||
order: 600, | ||
enabled: !0, | ||
fn: function(e, t) { | ||
if (W(e.instance.modifiers, 'inner')) return e; | ||
if (e.flipped && e.placement === e.originalPlacement) return e; | ||
var o = w(e.instance.popper, e.instance.reference, t.padding, t.boundariesElement), | ||
i = e.placement.split('-')[0], | ||
n = L(i), | ||
r = e.placement.split('-')[1] || '', | ||
p = []; | ||
switch (t.behavior) { | ||
case fe.FLIP: | ||
p = [i, n]; | ||
break; | ||
case fe.CLOCKWISE: | ||
p = K(i); | ||
break; | ||
case fe.COUNTERCLOCKWISE: | ||
p = K(i, !0); | ||
break; | ||
default: | ||
p = t.behavior; | ||
} | ||
return p.forEach(function(s, d) { | ||
if (i !== s || p.length === d + 1) return e; | ||
i = e.placement.split('-')[0], n = L(i); | ||
var a = e.offsets.popper, | ||
f = e.offsets.reference, | ||
l = V, | ||
m = 'left' === i && l(a.right) > l(f.left) || 'right' === i && l(a.left) < l(f.right) || 'top' === i && l(a.bottom) > l(f.top) || 'bottom' === i && l(a.top) < l(f.bottom), | ||
h = l(a.left) < l(o.left), | ||
c = l(a.right) > l(o.right), | ||
g = l(a.top) < l(o.top), | ||
u = l(a.bottom) > l(o.bottom), | ||
b = 'left' === i && h || 'right' === i && c || 'top' === i && g || 'bottom' === i && u, | ||
y = -1 !== ['top', 'bottom'].indexOf(i), | ||
w = !!t.flipVariations && (y && 'start' === r && h || y && 'end' === r && c || !y && 'start' === r && g || !y && 'end' === r && u); | ||
(m || b || w) && (e.flipped = !0, (m || b) && (i = p[d + 1]), w && (r = j(r)), e.placement = i + (r ? '-' + r : ''), e.offsets.popper = se({}, e.offsets.popper, S(e.instance.popper, e.offsets.reference, e.placement)), e = N(e.instance.modifiers, e, 'flip')) | ||
}), e | ||
}, | ||
behavior: 'flip', | ||
padding: 5, | ||
boundariesElement: 'viewport' | ||
}, | ||
inner: { | ||
order: 700, | ||
enabled: !1, | ||
fn: function(e) { | ||
var t = e.placement, | ||
o = t.split('-')[0], | ||
i = e.offsets, | ||
n = i.popper, | ||
r = i.reference, | ||
p = -1 !== ['left', 'right'].indexOf(o), | ||
s = -1 === ['top', 'left'].indexOf(o); | ||
return n[p ? 'left' : 'top'] = r[t] - (s ? n[p ? 'width' : 'height'] : 0), e.placement = L(t), e.offsets.popper = c(n), e | ||
} | ||
}, | ||
hide: { | ||
order: 800, | ||
enabled: !0, | ||
fn: function(e) { | ||
if (!F(e.instance.modifiers, 'hide', 'preventOverflow')) return e; | ||
var t = e.offsets.reference, | ||
o = T(e.instance.modifiers, function(e) { | ||
return 'preventOverflow' === e.name | ||
}).boundaries; | ||
if (t.bottom < o.top || t.left > o.right || t.top > o.bottom || t.right < o.left) { | ||
if (!0 === e.hide) return e; | ||
e.hide = !0, e.attributes['x-out-of-boundaries'] = '' | ||
} else { | ||
if (!1 === e.hide) return e; | ||
e.hide = !1, e.attributes['x-out-of-boundaries'] = !1 | ||
} | ||
return e | ||
} | ||
}, | ||
computeStyle: { | ||
order: 850, | ||
enabled: !0, | ||
fn: function(e, t) { | ||
var o = t.x, | ||
i = t.y, | ||
n = e.offsets.popper, | ||
p = T(e.instance.modifiers, function(e) { | ||
return 'applyStyle' === e.name | ||
}).gpuAcceleration; | ||
void 0 !== p && console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'); | ||
var s, d, a = void 0 === p ? t.gpuAcceleration : p, | ||
f = r(e.instance.popper), | ||
l = g(f), | ||
m = { | ||
position: n.position | ||
}, | ||
h = { | ||
left: V(n.left), | ||
top: V(n.top), | ||
bottom: V(n.bottom), | ||
right: V(n.right) | ||
}, | ||
c = 'bottom' === o ? 'top' : 'bottom', | ||
u = 'right' === i ? 'left' : 'right', | ||
b = B('transform'); | ||
if (d = 'bottom' == c ? -l.height + h.bottom : h.top, s = 'right' == u ? -l.width + h.right : h.left, a && b) m[b] = 'translate3d(' + s + 'px, ' + d + 'px, 0)', m[c] = 0, m[u] = 0, m.willChange = 'transform'; | ||
else { | ||
var y = 'bottom' == c ? -1 : 1, | ||
w = 'right' == u ? -1 : 1; | ||
m[c] = d * y, m[u] = s * w, m.willChange = c + ', ' + u | ||
} | ||
var v = { | ||
"x-placement": e.placement | ||
}; | ||
return e.attributes = se({}, v, e.attributes), e.styles = se({}, m, e.styles), e | ||
}, | ||
gpuAcceleration: !0, | ||
x: 'bottom', | ||
y: 'right' | ||
}, | ||
applyStyle: { | ||
order: 900, | ||
enabled: !0, | ||
fn: function(e) { | ||
return U(e.instance.popper, e.styles), Y(e.instance.popper, e.attributes), e.offsets.arrow && U(e.arrowElement, e.offsets.arrow), e | ||
}, | ||
onLoad: function(e, t, o, i, n) { | ||
var r = x(n, t, e), | ||
p = E(o.placement, r, t, e, o.modifiers.flip.boundariesElement, o.modifiers.flip.padding); | ||
return t.setAttribute('x-placement', p), U(t, { | ||
position: 'absolute' | ||
}), o | ||
}, | ||
gpuAcceleration: void 0 | ||
} | ||
} | ||
}, le | ||
}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){"use strict";function t(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function n(e){return e instanceof t(e).Element||e instanceof Element}function r(e){return e instanceof t(e).HTMLElement||e instanceof HTMLElement}function o(e){return"undefined"!=typeof ShadowRoot&&(e instanceof t(e).ShadowRoot||e instanceof ShadowRoot)}var i=Math.max,a=Math.min,s=Math.round;function f(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function c(){return!/^((?!chrome|android).)*safari/i.test(f())}function p(e,o,i){void 0===o&&(o=!1),void 0===i&&(i=!1);var a=e.getBoundingClientRect(),f=1,p=1;o&&r(e)&&(f=e.offsetWidth>0&&s(a.width)/e.offsetWidth||1,p=e.offsetHeight>0&&s(a.height)/e.offsetHeight||1);var l=(n(e)?t(e):window).visualViewport,u=!c()&&i,d=(a.left+(u&&l?l.offsetLeft:0))/f,m=(a.top+(u&&l?l.offsetTop:0))/p,h=a.width/f,v=a.height/p;return{width:h,height:v,top:m,right:d+h,bottom:m+v,left:d,x:d,y:m}}function l(e){var n=t(e);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function u(e){return e?(e.nodeName||"").toLowerCase():null}function d(e){return((n(e)?e.ownerDocument:e.document)||window.document).documentElement}function m(e){return p(d(e)).left+l(e).scrollLeft}function h(e){return t(e).getComputedStyle(e)}function v(e){var t=h(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function y(e,n,o){void 0===o&&(o=!1);var i,a,f=r(n),c=r(n)&&function(e){var t=e.getBoundingClientRect(),n=s(t.width)/e.offsetWidth||1,r=s(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(n),h=d(n),y=p(e,c,o),g={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(f||!f&&!o)&&(("body"!==u(n)||v(h))&&(g=(i=n)!==t(i)&&r(i)?{scrollLeft:(a=i).scrollLeft,scrollTop:a.scrollTop}:l(i)),r(n)?((b=p(n,!0)).x+=n.clientLeft,b.y+=n.clientTop):h&&(b.x=m(h))),{x:y.left+g.scrollLeft-b.x,y:y.top+g.scrollTop-b.y,width:y.width,height:y.height}}function g(e){var t=p(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function b(e){return"html"===u(e)?e:e.assignedSlot||e.parentNode||(o(e)?e.host:null)||d(e)}function w(e){return["html","body","#document"].indexOf(u(e))>=0?e.ownerDocument.body:r(e)&&v(e)?e:w(b(e))}function x(e,n){var r;void 0===n&&(n=[]);var o=w(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=t(o),s=i?[a].concat(a.visualViewport||[],v(o)?o:[]):o,f=n.concat(s);return i?f:f.concat(x(b(s)))}function O(e){return["table","td","th"].indexOf(u(e))>=0}function j(e){return r(e)&&"fixed"!==h(e).position?e.offsetParent:null}function E(e){for(var n=t(e),i=j(e);i&&O(i)&&"static"===h(i).position;)i=j(i);return i&&("html"===u(i)||"body"===u(i)&&"static"===h(i).position)?n:i||function(e){var t=/firefox/i.test(f());if(/Trident/i.test(f())&&r(e)&&"fixed"===h(e).position)return null;var n=b(e);for(o(n)&&(n=n.host);r(n)&&["html","body"].indexOf(u(n))<0;){var i=h(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||n}var S="top",P="bottom",A="right",k="left",D="auto",L=[S,P,A,k],M="start",T="end",q="clippingParents",W="viewport",H="popper",B="reference",R=L.reduce((function(e,t){return e.concat([t+"-"+M,t+"-"+T])}),[]),C=[].concat(L,[D]).reduce((function(e,t){return e.concat([t,t+"-"+M,t+"-"+T])}),[]),V=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function I(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function N(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return[].concat(n).reduce((function(e,t){return e.replace(/%s/,t)}),e)}var F='Popper: modifier "%s" provided an invalid %s property, expected %s but got %s',U='Popper: modifier "%s" requires "%s", but "%s" modifier is not available',_=["name","enabled","phase","fn","effect","requires","options"];function z(e){return e.split("-")[0]}function G(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&o(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function X(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Y(e,r,o){return r===W?X(function(e,n){var r=t(e),o=d(e),i=r.visualViewport,a=o.clientWidth,s=o.clientHeight,f=0,p=0;if(i){a=i.width,s=i.height;var l=c();(l||!l&&"fixed"===n)&&(f=i.offsetLeft,p=i.offsetTop)}return{width:a,height:s,x:f+m(e),y:p}}(e,o)):n(r)?function(e,t){var n=p(e,!1,"fixed"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}(r,o):X(function(e){var t,n=d(e),r=l(e),o=null==(t=e.ownerDocument)?void 0:t.body,a=i(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=i(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),f=-r.scrollLeft+m(e),c=-r.scrollTop;return"rtl"===h(o||n).direction&&(f+=i(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:s,x:f,y:c}}(d(e)))}function J(e,t,o,s){var f="clippingParents"===t?function(e){var t=x(b(e)),o=["absolute","fixed"].indexOf(h(e).position)>=0&&r(e)?E(e):e;return n(o)?t.filter((function(e){return n(e)&&G(e,o)&&"body"!==u(e)})):[]}(e):[].concat(t),c=[].concat(f,[o]),p=c[0],l=c.reduce((function(t,n){var r=Y(e,n,s);return t.top=i(r.top,t.top),t.right=a(r.right,t.right),t.bottom=a(r.bottom,t.bottom),t.left=i(r.left,t.left),t}),Y(e,p,s));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function K(e){return e.split("-")[1]}function Q(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Z(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?z(o):null,a=o?K(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case S:t={x:s,y:n.y-r.height};break;case P:t={x:s,y:n.y+n.height};break;case A:t={x:n.x+n.width,y:f};break;case k:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?Q(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case M:t[c]=t[c]-(n[p]/2-r[p]/2);break;case T:t[c]=t[c]+(n[p]/2-r[p]/2)}}return t}function $(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function ee(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function te(e,t){void 0===t&&(t={});var r=t,o=r.placement,i=void 0===o?e.placement:o,a=r.strategy,s=void 0===a?e.strategy:a,f=r.boundary,c=void 0===f?q:f,l=r.rootBoundary,u=void 0===l?W:l,m=r.elementContext,h=void 0===m?H:m,v=r.altBoundary,y=void 0!==v&&v,g=r.padding,b=void 0===g?0:g,w=$("number"!=typeof b?b:ee(b,L)),x=h===H?B:H,O=e.rects.popper,j=e.elements[y?x:h],E=J(n(j)?j:j.contextElement||d(e.elements.popper),c,u,s),k=p(e.elements.reference),D=Z({reference:k,element:O,strategy:"absolute",placement:i}),M=X(Object.assign({},O,D)),T=h===H?M:k,R={top:E.top-T.top+w.top,bottom:T.bottom-E.bottom+w.bottom,left:E.left-T.left+w.left,right:T.right-E.right+w.right},C=e.modifiersData.offset;if(h===H&&C){var V=C[i];Object.keys(R).forEach((function(e){var t=[A,P].indexOf(e)>=0?1:-1,n=[S,P].indexOf(e)>=0?"y":"x";R[e]+=V[n]*t}))}return R}var ne="Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.",re={placement:"bottom",modifiers:[],strategy:"absolute"};function oe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some((function(e){return!(e&&"function"==typeof e.getBoundingClientRect)}))}function ie(e){void 0===e&&(e={});var t=e,r=t.defaultModifiers,o=void 0===r?[]:r,i=t.defaultOptions,a=void 0===i?re:i;return function(e,t,r){void 0===r&&(r=a);var i,s,f={placement:"bottom",orderedModifiers:[],options:Object.assign({},re,a),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},c=[],p=!1,l={state:f,setOptions:function(r){var i="function"==typeof r?r(f.options):r;u(),f.options=Object.assign({},a,f.options,i),f.scrollParents={reference:n(e)?x(e):e.contextElement?x(e.contextElement):[],popper:x(t)};var s=function(e){var t=I(e);return V.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])}(function(e){var t=e.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}([].concat(o,f.options.modifiers)));(f.orderedModifiers=s.filter((function(e){return e.enabled})),function(e){e.forEach((function(t){[].concat(Object.keys(t),_).filter((function(e,t,n){return n.indexOf(e)===t})).forEach((function(n){switch(n){case"name":"string"!=typeof t.name&&console.error(N(F,String(t.name),'"name"','"string"','"'+String(t.name)+'"'));break;case"enabled":"boolean"!=typeof t.enabled&&console.error(N(F,t.name,'"enabled"','"boolean"','"'+String(t.enabled)+'"'));break;case"phase":V.indexOf(t.phase)<0&&console.error(N(F,t.name,'"phase"',"either "+V.join(", "),'"'+String(t.phase)+'"'));break;case"fn":"function"!=typeof t.fn&&console.error(N(F,t.name,'"fn"','"function"','"'+String(t.fn)+'"'));break;case"effect":null!=t.effect&&"function"!=typeof t.effect&&console.error(N(F,t.name,'"effect"','"function"','"'+String(t.fn)+'"'));break;case"requires":null==t.requires||Array.isArray(t.requires)||console.error(N(F,t.name,'"requires"','"array"','"'+String(t.requires)+'"'));break;case"requiresIfExists":Array.isArray(t.requiresIfExists)||console.error(N(F,t.name,'"requiresIfExists"','"array"','"'+String(t.requiresIfExists)+'"'));break;case"options":case"data":break;default:console.error('PopperJS: an invalid property has been provided to the "'+t.name+'" modifier, valid properties are '+_.map((function(e){return'"'+e+'"'})).join(", ")+'; but "'+n+'" was provided.')}t.requires&&t.requires.forEach((function(n){null==e.find((function(e){return e.name===n}))&&console.error(N(U,String(t.name),n,n))}))}))}))}((p=[].concat(s,f.options.modifiers),d=function(e){return e.name},m=new Set,p.filter((function(e){var t=d(e);if(!m.has(t))return m.add(t),!0})))),z(f.options.placement)===D)&&(f.orderedModifiers.find((function(e){return"flip"===e.name}))||console.error(['Popper: "auto" placements require the "flip" modifier be',"present and enabled to work."].join(" ")));var p,d,m,v=h(t);return[v.marginTop,v.marginRight,v.marginBottom,v.marginLeft].some((function(e){return parseFloat(e)}))&&console.warn(['Popper: CSS "margin" styles cannot be used to apply padding',"between the popper and its reference element or boundary.","To replicate margin, use the `offset` modifier, as well as","the `padding` option in the `preventOverflow` and `flip`","modifiers."].join(" ")),f.orderedModifiers.forEach((function(e){var t=e.name,n=e.options,r=void 0===n?{}:n,o=e.effect;if("function"==typeof o){var i=o({state:f,name:t,instance:l,options:r}),a=function(){};c.push(i||a)}})),l.update()},forceUpdate:function(){if(!p){var e=f.elements,t=e.reference,n=e.popper;if(oe(t,n)){f.rects={reference:y(t,E(n),"fixed"===f.options.strategy),popper:g(n)},f.reset=!1,f.placement=f.options.placement,f.orderedModifiers.forEach((function(e){return f.modifiersData[e.name]=Object.assign({},e.data)}));for(var r=0,o=0;o<f.orderedModifiers.length;o++){if((r+=1)>100){console.error("Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.");break}if(!0!==f.reset){var i=f.orderedModifiers[o],a=i.fn,s=i.options,c=void 0===s?{}:s,u=i.name;"function"==typeof a&&(f=a({state:f,options:c,name:u,instance:l})||f)}else f.reset=!1,o=-1}}else console.error(ne)}},update:(i=function(){return new Promise((function(e){l.forceUpdate(),e(f)}))},function(){return s||(s=new Promise((function(e){Promise.resolve().then((function(){s=void 0,e(i())}))}))),s}),destroy:function(){u(),p=!0}};if(!oe(e,t))return console.error(ne),l;function u(){c.forEach((function(e){return e()})),c=[]}return l.setOptions(r).then((function(e){!p&&r.onFirstUpdate&&r.onFirstUpdate(e)})),l}}var ae={passive:!0};var se={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var n=e.state,r=e.instance,o=e.options,i=o.scroll,a=void 0===i||i,s=o.resize,f=void 0===s||s,c=t(n.elements.popper),p=[].concat(n.scrollParents.reference,n.scrollParents.popper);return a&&p.forEach((function(e){e.addEventListener("scroll",r.update,ae)})),f&&c.addEventListener("resize",r.update,ae),function(){a&&p.forEach((function(e){e.removeEventListener("scroll",r.update,ae)})),f&&c.removeEventListener("resize",r.update,ae)}},data:{}};var fe={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=Z({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},ce={top:"auto",right:"auto",bottom:"auto",left:"auto"};function pe(e){var n,r=e.popper,o=e.popperRect,i=e.placement,a=e.variation,f=e.offsets,c=e.position,p=e.gpuAcceleration,l=e.adaptive,u=e.roundOffsets,m=e.isFixed,v=f.x,y=void 0===v?0:v,g=f.y,b=void 0===g?0:g,w="function"==typeof u?u({x:y,y:b}):{x:y,y:b};y=w.x,b=w.y;var x=f.hasOwnProperty("x"),O=f.hasOwnProperty("y"),j=k,D=S,L=window;if(l){var M=E(r),q="clientHeight",W="clientWidth";if(M===t(r)&&"static"!==h(M=d(r)).position&&"absolute"===c&&(q="scrollHeight",W="scrollWidth"),i===S||(i===k||i===A)&&a===T)D=P,b-=(m&&M===L&&L.visualViewport?L.visualViewport.height:M[q])-o.height,b*=p?1:-1;if(i===k||(i===S||i===P)&&a===T)j=A,y-=(m&&M===L&&L.visualViewport?L.visualViewport.width:M[W])-o.width,y*=p?1:-1}var H,B=Object.assign({position:c},l&&ce),R=!0===u?function(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:s(n*o)/o||0,y:s(r*o)/o||0}}({x:y,y:b},t(r)):{x:y,y:b};return y=R.x,b=R.y,p?Object.assign({},B,((H={})[D]=O?"0":"",H[j]=x?"0":"",H.transform=(L.devicePixelRatio||1)<=1?"translate("+y+"px, "+b+"px)":"translate3d("+y+"px, "+b+"px, 0)",H)):Object.assign({},B,((n={})[D]=O?b+"px":"",n[j]=x?y+"px":"",n.transform="",n))}var le={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=void 0===r||r,i=n.adaptive,a=void 0===i||i,s=n.roundOffsets,f=void 0===s||s,c=h(t.elements.popper).transitionProperty||"";a&&["transform","top","right","bottom","left"].some((function(e){return c.indexOf(e)>=0}))&&console.warn(["Popper: Detected CSS transitions on at least one of the following",'CSS properties: "transform", "top", "right", "bottom", "left".',"\n\n",'Disable the "computeStyles" modifier\'s `adaptive` option to allow',"for smooth transitions, or remove these properties from the CSS","transition declaration on the popper element if only transitioning","opacity or background-color for example.","\n\n","We recommend using the popper element as a wrapper around an inner","element that can have any CSS property transitioned for animations."].join(" "));var p={placement:z(t.placement),variation:K(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,pe(Object.assign({},p,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:f})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,pe(Object.assign({},p,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:f})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}};var ue={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},o=t.attributes[e]||{},i=t.elements[e];r(i)&&u(i)&&(Object.assign(i.style,n),Object.keys(o).forEach((function(e){var t=o[e];!1===t?i.removeAttribute(e):i.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var o=t.elements[e],i=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});r(o)&&u(o)&&(Object.assign(o.style,a),Object.keys(i).forEach((function(e){o.removeAttribute(e)})))}))}},requires:["computeStyles"]};var de={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.offset,i=void 0===o?[0,0]:o,a=C.reduce((function(e,n){return e[n]=function(e,t,n){var r=z(e),o=[k,S].indexOf(r)>=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[k,A].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},me={left:"right",right:"left",bottom:"top",top:"bottom"};function he(e){return e.replace(/left|right|bottom|top/g,(function(e){return me[e]}))}var ve={start:"end",end:"start"};function ye(e){return e.replace(/start|end/g,(function(e){return ve[e]}))}function ge(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?C:f,p=K(r),l=p?s?R:R.filter((function(e){return K(e)===p})):L,u=l.filter((function(e){return c.indexOf(e)>=0}));0===u.length&&(u=l,console.error(["Popper: The `allowedAutoPlacements` option did not allow any","placements. Ensure the `placement` option matches the variation","of the allowed placements.",'For example, "auto" cannot be used to allow "bottom-start".','Use "auto-start" instead.'].join(" ")));var d=u.reduce((function(t,n){return t[n]=te(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[z(n)],t}),{});return Object.keys(d).sort((function(e,t){return d[e]-d[t]}))}var be={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,l=n.rootBoundary,u=n.altBoundary,d=n.flipVariations,m=void 0===d||d,h=n.allowedAutoPlacements,v=t.options.placement,y=z(v),g=f||(y===v||!m?[he(v)]:function(e){if(z(e)===D)return[];var t=he(e);return[ye(e),t,ye(t)]}(v)),b=[v].concat(g).reduce((function(e,n){return e.concat(z(n)===D?ge(t,{placement:n,boundary:p,rootBoundary:l,padding:c,flipVariations:m,allowedAutoPlacements:h}):n)}),[]),w=t.rects.reference,x=t.rects.popper,O=new Map,j=!0,E=b[0],L=0;L<b.length;L++){var T=b[L],q=z(T),W=K(T)===M,H=[S,P].indexOf(q)>=0,B=H?"width":"height",R=te(t,{placement:T,boundary:p,rootBoundary:l,altBoundary:u,padding:c}),C=H?W?A:k:W?P:S;w[B]>x[B]&&(C=he(C));var V=he(C),I=[];if(i&&I.push(R[q]<=0),s&&I.push(R[C]<=0,R[V]<=0),I.every((function(e){return e}))){E=T,j=!1;break}O.set(T,I)}if(j)for(var N=function(e){var t=b.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return E=t,"break"},F=m?3:1;F>0;F--){if("break"===N(F))break}t.placement!==E&&(t.modifiersData[r]._skip=!0,t.placement=E,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function we(e,t,n){return i(e,a(t,n))}var xe={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=void 0===o||o,f=n.altAxis,c=void 0!==f&&f,p=n.boundary,l=n.rootBoundary,u=n.altBoundary,d=n.padding,m=n.tether,h=void 0===m||m,v=n.tetherOffset,y=void 0===v?0:v,b=te(t,{boundary:p,rootBoundary:l,padding:d,altBoundary:u}),w=z(t.placement),x=K(t.placement),O=!x,j=Q(w),D="x"===j?"y":"x",L=t.modifiersData.popperOffsets,T=t.rects.reference,q=t.rects.popper,W="function"==typeof y?y(Object.assign({},t.rects,{placement:t.placement})):y,H="number"==typeof W?{mainAxis:W,altAxis:W}:Object.assign({mainAxis:0,altAxis:0},W),B=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,R={x:0,y:0};if(L){if(s){var C,V="y"===j?S:k,I="y"===j?P:A,N="y"===j?"height":"width",F=L[j],U=F+b[V],_=F-b[I],G=h?-q[N]/2:0,X=x===M?T[N]:q[N],Y=x===M?-q[N]:-T[N],J=t.elements.arrow,Z=h&&J?g(J):{width:0,height:0},$=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},ee=$[V],ne=$[I],re=we(0,T[N],Z[N]),oe=O?T[N]/2-G-re-ee-H.mainAxis:X-re-ee-H.mainAxis,ie=O?-T[N]/2+G+re+ne+H.mainAxis:Y+re+ne+H.mainAxis,ae=t.elements.arrow&&E(t.elements.arrow),se=ae?"y"===j?ae.clientTop||0:ae.clientLeft||0:0,fe=null!=(C=null==B?void 0:B[j])?C:0,ce=F+ie-fe,pe=we(h?a(U,F+oe-fe-se):U,F,h?i(_,ce):_);L[j]=pe,R[j]=pe-F}if(c){var le,ue="x"===j?S:k,de="x"===j?P:A,me=L[D],he="y"===D?"height":"width",ve=me+b[ue],ye=me-b[de],ge=-1!==[S,k].indexOf(w),be=null!=(le=null==B?void 0:B[D])?le:0,xe=ge?ve:me-T[he]-q[he]-be+H.altAxis,Oe=ge?me+T[he]+q[he]-be-H.altAxis:ye,je=h&&ge?function(e,t,n){var r=we(e,t,n);return r>n?n:r}(xe,me,Oe):we(h?xe:ve,me,h?Oe:ye);L[D]=je,R[D]=je-me}t.modifiersData[r]=R}},requiresIfExists:["offset"]};var Oe={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=z(n.placement),f=Q(s),c=[k,A].indexOf(s)>=0?"height":"width";if(i&&a){var p=function(e,t){return $("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:ee(e,L))}(o.padding,n),l=g(i),u="y"===f?S:k,d="y"===f?P:A,m=n.rects.reference[c]+n.rects.reference[f]-a[f]-n.rects.popper[c],h=a[f]-n.rects.reference[f],v=E(i),y=v?"y"===f?v.clientHeight||0:v.clientWidth||0:0,b=m/2-h/2,w=p[u],x=y-l[c]-p[d],O=y/2-l[c]/2+b,j=we(w,O,x),D=f;n.modifiersData[r]=((t={})[D]=j,t.centerOffset=j-O,t)}},effect:function(e){var t=e.state,n=e.options.element,o=void 0===n?"[data-popper-arrow]":n;null!=o&&("string"!=typeof o||(o=t.elements.popper.querySelector(o)))&&(r(o)||console.error(['Popper: "arrow" element must be an HTMLElement (not an SVGElement).',"To use an SVG arrow, wrap it in an HTMLElement that will be used as","the arrow."].join(" ")),G(t.elements.popper,o)?t.elements.arrow=o:console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper',"element."].join(" ")))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function je(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Ee(e){return[S,A,P,k].some((function(t){return e[t]>=0}))}var Se={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=te(t,{elementContext:"reference"}),s=te(t,{altBoundary:!0}),f=je(a,r),c=je(s,o,i),p=Ee(f),l=Ee(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:l},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":l})}},Pe=ie({defaultModifiers:[se,fe,le,ue]}),Ae=[se,fe,le,ue,de,be,xe,Oe,Se],ke=ie({defaultModifiers:Ae});e.applyStyles=ue,e.arrow=Oe,e.computeStyles=le,e.createPopper=ke,e.createPopperLite=Pe,e.defaultModifiers=Ae,e.detectOverflow=te,e.eventListeners=se,e.flip=be,e.hide=Se,e.offset=de,e.popperGenerator=ie,e.popperOffsets=fe,e.preventOverflow=xe,Object.defineProperty(e,"__esModule",{value:!0})})); |
@@ -1,498 +0,876 @@ | ||
/*! | ||
// ========================================================= | ||
// Material Dashboard 2 - v3.1.0 | ||
// ========================================================= | ||
========================================================= | ||
* Material Dashboard - v2.1.0 | ||
========================================================= | ||
// Product Page: https://www.creative-tim.com/product/material-dashboard | ||
// Copyright 2023 Creative Tim (https://www.creative-tim.com) | ||
// Licensed under MIT (https://github.com/creativetimofficial/material-dashboard/blob/master/LICENSE.md) | ||
* Product Page: https://www.creative-tim.com/product/material-dashboard | ||
* Copyright 2018 Creative Tim (http://www.creative-tim.com) | ||
// Coded by www.creative-tim.com | ||
* Designed by www.invisionapp.com Coded by www.creative-tim.com | ||
// ========================================================= | ||
========================================================= | ||
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. | ||
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. | ||
*/ | ||
"use strict"; | ||
(function() { | ||
isWindows = navigator.platform.indexOf('Win') > -1 ? true : false; | ||
var isWindows = navigator.platform.indexOf('Win') > -1 ? true : false; | ||
if (isWindows) { | ||
// if we are on windows OS we activate the perfectScrollbar function | ||
$('.sidebar .sidebar-wrapper, .main-panel').perfectScrollbar(); | ||
if (document.getElementsByClassName('main-content')[0]) { | ||
var mainpanel = document.querySelector('.main-content'); | ||
var ps = new PerfectScrollbar(mainpanel); | ||
}; | ||
$('html').addClass('perfect-scrollbar-on'); | ||
} else { | ||
$('html').addClass('perfect-scrollbar-off'); | ||
} | ||
})(); | ||
if (document.getElementsByClassName('sidenav')[0]) { | ||
var sidebar = document.querySelector('.sidenav'); | ||
var ps1 = new PerfectScrollbar(sidebar); | ||
}; | ||
if (document.getElementsByClassName('navbar-collapse')[0]) { | ||
var fixedplugin = document.querySelector('.navbar:not(.navbar-expand-lg) .navbar-collapse'); | ||
var ps2 = new PerfectScrollbar(fixedplugin); | ||
}; | ||
var breakCards = true; | ||
if (document.getElementsByClassName('fixed-plugin')[0]) { | ||
var fixedplugin = document.querySelector('.fixed-plugin'); | ||
var ps3 = new PerfectScrollbar(fixedplugin); | ||
}; | ||
}; | ||
})(); | ||
var searchVisible = 0; | ||
var transparent = true; | ||
// Verify navbar blur on scroll | ||
if (document.getElementById('navbarBlur')) { | ||
navbarBlurOnScroll('navbarBlur'); | ||
} | ||
var transparentDemo = true; | ||
var fixedTop = false; | ||
// initialization of Tooltips | ||
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')) | ||
var tooltipList = tooltipTriggerList.map(function(tooltipTriggerEl) { | ||
return new bootstrap.Tooltip(tooltipTriggerEl) | ||
}) | ||
var mobile_menu_visible = 0, | ||
mobile_menu_initialized = false, | ||
toggle_initialized = false, | ||
bootstrap_nav_initialized = false; | ||
// when input is focused add focused class for style | ||
function focused(el) { | ||
if (el.parentElement.classList.contains('input-group')) { | ||
el.parentElement.classList.add('focused'); | ||
} | ||
} | ||
var seq = 0, | ||
delays = 80, | ||
durations = 500; | ||
var seq2 = 0, | ||
delays2 = 80, | ||
durations2 = 500; | ||
// when input is focused remove focused class for style | ||
function defocused(el) { | ||
if (el.parentElement.classList.contains('input-group')) { | ||
el.parentElement.classList.remove('focused'); | ||
} | ||
} | ||
$(document).ready(function() { | ||
// helper for adding on all elements multiple attributes | ||
function setAttributes(el, options) { | ||
Object.keys(options).forEach(function(attr) { | ||
el.setAttribute(attr, options[attr]); | ||
}) | ||
} | ||
$('body').bootstrapMaterialDesign(); | ||
// adding on inputs attributes for calling the focused and defocused functions | ||
if (document.querySelectorAll('.input-group').length != 0) { | ||
var allInputs = document.querySelectorAll('input.form-control'); | ||
allInputs.forEach(el => setAttributes(el, { | ||
"onfocus": "focused(this)", | ||
"onfocusout": "defocused(this)" | ||
})); | ||
} | ||
$sidebar = $('.sidebar'); | ||
md.initSidebarsCheck(); | ||
// Fixed Plugin | ||
window_width = $(window).width(); | ||
if (document.querySelector('.fixed-plugin')) { | ||
var fixedPlugin = document.querySelector('.fixed-plugin'); | ||
var fixedPlugin = document.querySelector('.fixed-plugin'); | ||
var fixedPluginButton = document.querySelector('.fixed-plugin-button'); | ||
var fixedPluginButtonNav = document.querySelector('.fixed-plugin-button-nav'); | ||
var fixedPluginCard = document.querySelector('.fixed-plugin .card'); | ||
var fixedPluginCloseButton = document.querySelectorAll('.fixed-plugin-close-button'); | ||
var navbar = document.getElementById('navbarBlur'); | ||
var buttonNavbarFixed = document.getElementById('navbarFixed'); | ||
// check if there is an image set for the sidebar's background | ||
md.checkSidebarImage(); | ||
if (fixedPluginButton) { | ||
fixedPluginButton.onclick = function() { | ||
if (!fixedPlugin.classList.contains('show')) { | ||
fixedPlugin.classList.add('show'); | ||
} else { | ||
fixedPlugin.classList.remove('show'); | ||
} | ||
} | ||
} | ||
// Activate bootstrap-select | ||
if ($(".selectpicker").length != 0) { | ||
$(".selectpicker").selectpicker(); | ||
if (fixedPluginButtonNav) { | ||
fixedPluginButtonNav.onclick = function() { | ||
if (!fixedPlugin.classList.contains('show')) { | ||
fixedPlugin.classList.add('show'); | ||
} else { | ||
fixedPlugin.classList.remove('show'); | ||
} | ||
} | ||
} | ||
// Activate the tooltips | ||
$('[rel="tooltip"]').tooltip(); | ||
fixedPluginCloseButton.forEach(function(el) { | ||
el.onclick = function() { | ||
fixedPlugin.classList.remove('show'); | ||
} | ||
}) | ||
$('.form-control').on("focus", function() { | ||
$(this).parent('.input-group').addClass("input-group-focus"); | ||
}).on("blur", function() { | ||
$(this).parent(".input-group").removeClass("input-group-focus"); | ||
}); | ||
document.querySelector('body').onclick = function(e) { | ||
if (e.target != fixedPluginButton && e.target != fixedPluginButtonNav && e.target.closest('.fixed-plugin .card') != fixedPluginCard) { | ||
fixedPlugin.classList.remove('show'); | ||
} | ||
} | ||
// remove class has-error for checkbox validation | ||
$('input[type="checkbox"][required="true"], input[type="radio"][required="true"]').on('click', function() { | ||
if ($(this).hasClass('error')) { | ||
$(this).closest('div').removeClass('has-error'); | ||
if (navbar) { | ||
if (navbar.getAttribute('data-scroll') == 'true' && buttonNavbarFixed) { | ||
buttonNavbarFixed.setAttribute("checked", "true"); | ||
} | ||
}); | ||
} | ||
}); | ||
} | ||
$(document).on('click', '.navbar-toggler', function() { | ||
$toggle = $(this); | ||
//Set Sidebar Color | ||
function sidebarColor(a) { | ||
var parent = document.querySelector(".nav-link.active"); | ||
var color = a.getAttribute("data-color"); | ||
if (mobile_menu_visible == 1) { | ||
$('html').removeClass('nav-open'); | ||
if (parent.classList.contains('bg-gradient-primary')) { | ||
parent.classList.remove('bg-gradient-primary'); | ||
} | ||
if (parent.classList.contains('bg-gradient-dark')) { | ||
parent.classList.remove('bg-gradient-dark'); | ||
} | ||
if (parent.classList.contains('bg-gradient-info')) { | ||
parent.classList.remove('bg-gradient-info'); | ||
} | ||
if (parent.classList.contains('bg-gradient-success')) { | ||
parent.classList.remove('bg-gradient-success'); | ||
} | ||
if (parent.classList.contains('bg-gradient-warning')) { | ||
parent.classList.remove('bg-gradient-warning'); | ||
} | ||
if (parent.classList.contains('bg-gradient-danger')) { | ||
parent.classList.remove('bg-gradient-danger'); | ||
} | ||
parent.classList.add('bg-gradient-' + color); | ||
} | ||
$('.close-layer').remove(); | ||
setTimeout(function() { | ||
$toggle.removeClass('toggled'); | ||
}, 400); | ||
// Set Sidebar Type | ||
function sidebarType(a) { | ||
var parent = a.parentElement.children; | ||
var color = a.getAttribute("data-class"); | ||
var body = document.querySelector("body"); | ||
var bodyWhite = document.querySelector("body:not(.dark-version)"); | ||
var bodyDark = body.classList.contains('dark-version'); | ||
mobile_menu_visible = 0; | ||
var colors = []; | ||
for (var i = 0; i < parent.length; i++) { | ||
parent[i].classList.remove('active'); | ||
colors.push(parent[i].getAttribute('data-class')); | ||
} | ||
if (!a.classList.contains('active')) { | ||
a.classList.add('active'); | ||
} else { | ||
setTimeout(function() { | ||
$toggle.addClass('toggled'); | ||
}, 430); | ||
a.classList.remove('active'); | ||
} | ||
var $layer = $('<div class="close-layer"></div>'); | ||
var sidebar = document.querySelector('.sidenav'); | ||
if ($('body').find('.main-panel').length != 0) { | ||
$layer.appendTo(".main-panel"); | ||
for (var i = 0; i < colors.length; i++) { | ||
sidebar.classList.remove(colors[i]); | ||
} | ||
} else if (($('body').hasClass('off-canvas-sidebar'))) { | ||
$layer.appendTo(".wrapper-full-page"); | ||
sidebar.classList.add(color); | ||
// Remove text-white/text-dark classes | ||
if (color == 'bg-transparent' || color == 'bg-white') { | ||
var textWhites = document.querySelectorAll('.sidenav .text-white'); | ||
for (let i = 0; i < textWhites.length; i++) { | ||
textWhites[i].classList.remove('text-white'); | ||
textWhites[i].classList.add('text-dark'); | ||
} | ||
} else { | ||
var textDarks = document.querySelectorAll('.sidenav .text-dark'); | ||
for (let i = 0; i < textDarks.length; i++) { | ||
textDarks[i].classList.add('text-white'); | ||
textDarks[i].classList.remove('text-dark'); | ||
} | ||
} | ||
setTimeout(function() { | ||
$layer.addClass('visible'); | ||
}, 100); | ||
if (color == 'bg-transparent' && bodyDark) { | ||
var textDarks = document.querySelectorAll('.navbar-brand .text-dark'); | ||
for (let i = 0; i < textDarks.length; i++) { | ||
textDarks[i].classList.add('text-white'); | ||
textDarks[i].classList.remove('text-dark'); | ||
} | ||
} | ||
$layer.click(function() { | ||
$('html').removeClass('nav-open'); | ||
mobile_menu_visible = 0; | ||
// Remove logo-white/logo-dark | ||
$layer.removeClass('visible'); | ||
if ((color == 'bg-transparent' || color == 'bg-white') && bodyWhite) { | ||
var navbarBrand = document.querySelector('.navbar-brand-img'); | ||
var navbarBrandImg = navbarBrand.src; | ||
setTimeout(function() { | ||
$layer.remove(); | ||
$toggle.removeClass('toggled'); | ||
if (navbarBrandImg.includes('logo-ct.png')) { | ||
var navbarBrandImgNew = navbarBrandImg.replace("logo-ct", "logo-ct-dark"); | ||
navbarBrand.src = navbarBrandImgNew; | ||
} | ||
} else { | ||
var navbarBrand = document.querySelector('.navbar-brand-img'); | ||
var navbarBrandImg = navbarBrand.src; | ||
if (navbarBrandImg.includes('logo-ct-dark.png')) { | ||
var navbarBrandImgNew = navbarBrandImg.replace("logo-ct-dark", "logo-ct"); | ||
navbarBrand.src = navbarBrandImgNew; | ||
} | ||
} | ||
}, 400); | ||
}); | ||
if (color == 'bg-white' && bodyDark) { | ||
var navbarBrand = document.querySelector('.navbar-brand-img'); | ||
var navbarBrandImg = navbarBrand.src; | ||
$('html').addClass('nav-open'); | ||
mobile_menu_visible = 1; | ||
if (navbarBrandImg.includes('logo-ct.png')) { | ||
var navbarBrandImgNew = navbarBrandImg.replace("logo-ct", "logo-ct-dark"); | ||
navbarBrand.src = navbarBrandImgNew; | ||
} | ||
} | ||
} | ||
// Set Navbar Fixed | ||
function navbarFixed(el) { | ||
let classes = ['position-sticky', 'blur', 'shadow-blur', 'mt-4', 'left-auto', 'top-1', 'z-index-sticky']; | ||
const navbar = document.getElementById('navbarBlur'); | ||
if (!el.getAttribute("checked")) { | ||
navbar.classList.add(...classes); | ||
navbar.setAttribute('navbar-scroll', 'true'); | ||
navbarBlurOnScroll('navbarBlur'); | ||
el.setAttribute("checked", "true"); | ||
} else { | ||
navbar.classList.remove(...classes); | ||
navbar.setAttribute('navbar-scroll', 'false'); | ||
navbarBlurOnScroll('navbarBlur'); | ||
el.removeAttribute("checked"); | ||
} | ||
}; | ||
}); | ||
// activate collapse right menu when the windows is resized | ||
$(window).resize(function() { | ||
md.initSidebarsCheck(); | ||
// Set Navbar Minimized | ||
function navbarMinimize(el) { | ||
var sidenavShow = document.getElementsByClassName('g-sidenav-show')[0]; | ||
// reset the seq for charts drawing animations | ||
seq = seq2 = 0; | ||
if (!el.getAttribute("checked")) { | ||
sidenavShow.classList.remove('g-sidenav-pinned'); | ||
sidenavShow.classList.add('g-sidenav-hidden'); | ||
el.setAttribute("checked", "true"); | ||
} else { | ||
sidenavShow.classList.remove('g-sidenav-hidden'); | ||
sidenavShow.classList.add('g-sidenav-pinned'); | ||
el.removeAttribute("checked"); | ||
} | ||
} | ||
setTimeout(function() { | ||
md.initDashboardPageCharts(); | ||
}, 500); | ||
}); | ||
// Navbar blur on scroll | ||
function navbarBlurOnScroll(id) { | ||
const navbar = document.getElementById(id); | ||
let navbarScrollActive = navbar ? navbar.getAttribute("data-scroll") : false; | ||
let scrollDistance = 5; | ||
let classes = ['blur', 'shadow-blur', 'left-auto']; | ||
let toggleClasses = ['shadow-none']; | ||
md = { | ||
misc: { | ||
navbar_menu_visible: 0, | ||
active_collapse: true, | ||
disabled_collapse_init: 0, | ||
}, | ||
if (navbarScrollActive == 'true') { | ||
window.onscroll = debounce(function() { | ||
if (window.scrollY > scrollDistance) { | ||
blurNavbar(); | ||
} else { | ||
transparentNavbar(); | ||
} | ||
}, 10); | ||
} else { | ||
window.onscroll = debounce(function() { | ||
transparentNavbar(); | ||
}, 10); | ||
} | ||
checkSidebarImage: function() { | ||
$sidebar = $('.sidebar'); | ||
image_src = $sidebar.data('image'); | ||
var isWindows = navigator.platform.indexOf('Win') > -1 ? true : false; | ||
if (image_src !== undefined) { | ||
sidebar_container = '<div class="sidebar-background" style="background-image: url(' + image_src + ') "/>'; | ||
$sidebar.append(sidebar_container); | ||
if (isWindows) { | ||
var content = document.querySelector('.main-content'); | ||
if (navbarScrollActive == 'true') { | ||
content.addEventListener('ps-scroll-y', debounce(function() { | ||
if (content.scrollTop > scrollDistance) { | ||
blurNavbar(); | ||
} else { | ||
transparentNavbar(); | ||
} | ||
}, 10)); | ||
} else { | ||
content.addEventListener('ps-scroll-y', debounce(function() { | ||
transparentNavbar(); | ||
}, 10)); | ||
} | ||
}, | ||
} | ||
initFormExtendedDatetimepickers: function() { | ||
$('.datetimepicker').datetimepicker({ | ||
icons: { | ||
time: "fa fa-clock-o", | ||
date: "fa fa-calendar", | ||
up: "fa fa-chevron-up", | ||
down: "fa fa-chevron-down", | ||
previous: 'fa fa-chevron-left', | ||
next: 'fa fa-chevron-right', | ||
today: 'fa fa-screenshot', | ||
clear: 'fa fa-trash', | ||
close: 'fa fa-remove' | ||
} | ||
}); | ||
function blurNavbar() { | ||
navbar.classList.add(...classes) | ||
navbar.classList.remove(...toggleClasses) | ||
$('.datepicker').datetimepicker({ | ||
format: 'MM/DD/YYYY', | ||
icons: { | ||
time: "fa fa-clock-o", | ||
date: "fa fa-calendar", | ||
up: "fa fa-chevron-up", | ||
down: "fa fa-chevron-down", | ||
previous: 'fa fa-chevron-left', | ||
next: 'fa fa-chevron-right', | ||
today: 'fa fa-screenshot', | ||
clear: 'fa fa-trash', | ||
close: 'fa fa-remove' | ||
} | ||
}); | ||
toggleNavLinksColor('blur'); | ||
} | ||
$('.timepicker').datetimepicker({ | ||
// format: 'H:mm', // use this format if you want the 24hours timepicker | ||
format: 'h:mm A', //use this format if you want the 12hours timpiecker with AM/PM toggle | ||
icons: { | ||
time: "fa fa-clock-o", | ||
date: "fa fa-calendar", | ||
up: "fa fa-chevron-up", | ||
down: "fa fa-chevron-down", | ||
previous: 'fa fa-chevron-left', | ||
next: 'fa fa-chevron-right', | ||
today: 'fa fa-screenshot', | ||
clear: 'fa fa-trash', | ||
close: 'fa fa-remove' | ||
function transparentNavbar() { | ||
navbar.classList.remove(...classes) | ||
navbar.classList.add(...toggleClasses) | ||
} | ||
}); | ||
}, | ||
toggleNavLinksColor('transparent'); | ||
} | ||
function toggleNavLinksColor(type) { | ||
let navLinks = document.querySelectorAll('.navbar-main .nav-link') | ||
let navLinksToggler = document.querySelectorAll('.navbar-main .sidenav-toggler-line') | ||
initSliders: function() { | ||
// Sliders for demo purpose | ||
var slider = document.getElementById('sliderRegular'); | ||
if (type === "blur") { | ||
navLinks.forEach(element => { | ||
element.classList.remove('text-body') | ||
}); | ||
noUiSlider.create(slider, { | ||
start: 40, | ||
connect: [true, false], | ||
range: { | ||
min: 0, | ||
max: 100 | ||
} | ||
}); | ||
navLinksToggler.forEach(element => { | ||
element.classList.add('bg-dark') | ||
}); | ||
} else if (type === "transparent") { | ||
navLinks.forEach(element => { | ||
element.classList.add('text-body') | ||
}); | ||
var slider2 = document.getElementById('sliderDouble'); | ||
navLinksToggler.forEach(element => { | ||
element.classList.remove('bg-dark') | ||
}); | ||
} | ||
} | ||
} | ||
noUiSlider.create(slider2, { | ||
start: [20, 60], | ||
connect: true, | ||
range: { | ||
min: 0, | ||
max: 100 | ||
} | ||
}); | ||
}, | ||
// Debounce Function | ||
// Returns a function, that, as long as it continues to be invoked, will not | ||
// be triggered. The function will be called after it stops being called for | ||
// N milliseconds. If `immediate` is passed, trigger the function on the | ||
// leading edge, instead of the trailing. | ||
function debounce(func, wait, immediate) { | ||
var timeout; | ||
return function() { | ||
var context = this, | ||
args = arguments; | ||
var later = function() { | ||
timeout = null; | ||
if (!immediate) func.apply(context, args); | ||
}; | ||
var callNow = immediate && !timeout; | ||
clearTimeout(timeout); | ||
timeout = setTimeout(later, wait); | ||
if (callNow) func.apply(context, args); | ||
}; | ||
}; | ||
initSidebarsCheck: function() { | ||
if ($(window).width() <= 991) { | ||
if ($sidebar.length != 0) { | ||
md.initRightMenu(); | ||
} | ||
} | ||
}, | ||
// initialization of Toasts | ||
document.addEventListener("DOMContentLoaded", function() { | ||
var toastElList = [].slice.call(document.querySelectorAll(".toast")); | ||
initDashboardPageCharts: function() { | ||
var toastList = toastElList.map(function(toastEl) { | ||
return new bootstrap.Toast(toastEl); | ||
}); | ||
if ($('#dailySalesChart').length != 0 || $('#completedTasksChart').length != 0 || $('#websiteViewsChart').length != 0) { | ||
/* ----------========== Daily Sales Chart initialization ==========---------- */ | ||
var toastButtonList = [].slice.call(document.querySelectorAll(".toast-btn")); | ||
dataDailySalesChart = { | ||
labels: ['M', 'T', 'W', 'T', 'F', 'S', 'S'], | ||
series: [ | ||
[12, 17, 7, 17, 23, 18, 38] | ||
] | ||
}; | ||
toastButtonList.map(function(toastButtonEl) { | ||
toastButtonEl.addEventListener("click", function() { | ||
var toastToTrigger = document.getElementById(toastButtonEl.dataset.target); | ||
optionsDailySalesChart = { | ||
lineSmooth: Chartist.Interpolation.cardinal({ | ||
tension: 0 | ||
}), | ||
low: 0, | ||
high: 50, // creative tim: we recommend you to set the high sa the biggest value + something for a better look | ||
chartPadding: { | ||
top: 0, | ||
right: 0, | ||
bottom: 0, | ||
left: 0 | ||
}, | ||
if (toastToTrigger) { | ||
var toast = bootstrap.Toast.getInstance(toastToTrigger); | ||
toast.show(); | ||
} | ||
}); | ||
}); | ||
}); | ||
var dailySalesChart = new Chartist.Line('#dailySalesChart', dataDailySalesChart, optionsDailySalesChart); | ||
// Tabs navigation | ||
md.startAnimationForLineChart(dailySalesChart); | ||
var total = document.querySelectorAll('.nav-pills'); | ||
function initNavs() { | ||
total.forEach(function(item, i) { | ||
var moving_div = document.createElement('div'); | ||
var first_li = item.querySelector('li:first-child .nav-link'); | ||
var tab = first_li.cloneNode(); | ||
tab.innerHTML = "-"; | ||
moving_div.classList.add('moving-tab', 'position-absolute', 'nav-link'); | ||
moving_div.appendChild(tab); | ||
item.appendChild(moving_div); | ||
/* ----------========== Completed Tasks Chart initialization ==========---------- */ | ||
var list_length = item.getElementsByTagName("li").length; | ||
dataCompletedTasksChart = { | ||
labels: ['12p', '3p', '6p', '9p', '12p', '3a', '6a', '9a'], | ||
series: [ | ||
[230, 750, 450, 300, 280, 240, 200, 190] | ||
] | ||
}; | ||
moving_div.style.padding = '0px'; | ||
moving_div.style.width = item.querySelector('li:nth-child(1)').offsetWidth + 'px'; | ||
moving_div.style.transform = 'translate3d(0px, 0px, 0px)'; | ||
moving_div.style.transition = '.5s ease'; | ||
optionsCompletedTasksChart = { | ||
lineSmooth: Chartist.Interpolation.cardinal({ | ||
tension: 0 | ||
}), | ||
low: 0, | ||
high: 1000, // creative tim: we recommend you to set the high sa the biggest value + something for a better look | ||
chartPadding: { | ||
top: 0, | ||
right: 0, | ||
bottom: 0, | ||
left: 0 | ||
item.onmouseover = function(event) { | ||
let target = getEventTarget(event); | ||
let li = target.closest('li'); // get reference | ||
if (li) { | ||
let nodes = Array.from(li.closest('ul').children); // get array | ||
let index = nodes.indexOf(li) + 1; | ||
item.querySelector('li:nth-child(' + index + ') .nav-link').onclick = function() { | ||
moving_div = item.querySelector('.moving-tab'); | ||
let sum = 0; | ||
if (item.classList.contains('flex-column')) { | ||
for (var j = 1; j <= nodes.indexOf(li); j++) { | ||
sum += item.querySelector('li:nth-child(' + j + ')').offsetHeight; | ||
} | ||
moving_div.style.transform = 'translate3d(0px,' + sum + 'px, 0px)'; | ||
moving_div.style.height = item.querySelector('li:nth-child(' + j + ')').offsetHeight; | ||
} else { | ||
for (var j = 1; j <= nodes.indexOf(li); j++) { | ||
sum += item.querySelector('li:nth-child(' + j + ')').offsetWidth; | ||
} | ||
moving_div.style.transform = 'translate3d(' + sum + 'px, 0px, 0px)'; | ||
moving_div.style.width = item.querySelector('li:nth-child(' + index + ')').offsetWidth + 'px'; | ||
} | ||
} | ||
} | ||
} | ||
}); | ||
} | ||
var completedTasksChart = new Chartist.Line('#completedTasksChart', dataCompletedTasksChart, optionsCompletedTasksChart); | ||
setTimeout(function() { | ||
initNavs(); | ||
}, 100); | ||
// start animation for the Completed Tasks Chart - Line Chart | ||
md.startAnimationForLineChart(completedTasksChart); | ||
// Tabs navigation resize | ||
window.addEventListener('resize', function(event) { | ||
total.forEach(function(item, i) { | ||
item.querySelector('.moving-tab').remove(); | ||
var moving_div = document.createElement('div'); | ||
var tab = item.querySelector(".nav-link.active").cloneNode(); | ||
tab.innerHTML = "-"; | ||
/* ----------========== Emails Subscription Chart initialization ==========---------- */ | ||
moving_div.classList.add('moving-tab', 'position-absolute', 'nav-link'); | ||
moving_div.appendChild(tab); | ||
var dataWebsiteViewsChart = { | ||
labels: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], | ||
series: [ | ||
[542, 443, 320, 780, 553, 453, 326, 434, 568, 610, 756, 895] | ||
item.appendChild(moving_div); | ||
] | ||
}; | ||
var optionsWebsiteViewsChart = { | ||
axisX: { | ||
showGrid: false | ||
}, | ||
low: 0, | ||
high: 1000, | ||
chartPadding: { | ||
top: 0, | ||
right: 5, | ||
bottom: 0, | ||
left: 0 | ||
} | ||
}; | ||
var responsiveOptions = [ | ||
['screen and (max-width: 640px)', { | ||
seriesBarDistance: 5, | ||
axisX: { | ||
labelInterpolationFnc: function(value) { | ||
return value[0]; | ||
} | ||
} | ||
}] | ||
]; | ||
var websiteViewsChart = Chartist.Bar('#websiteViewsChart', dataWebsiteViewsChart, optionsWebsiteViewsChart, responsiveOptions); | ||
moving_div.style.padding = '0px'; | ||
moving_div.style.transition = '.5s ease'; | ||
//start animation for the Emails Subscription Chart | ||
md.startAnimationForBarChart(websiteViewsChart); | ||
} | ||
}, | ||
let li = item.querySelector(".nav-link.active").parentElement; | ||
initMinimizeSidebar: function() { | ||
if (li) { | ||
let nodes = Array.from(li.closest('ul').children); // get array | ||
let index = nodes.indexOf(li) + 1; | ||
$('#minimizeSidebar').click(function() { | ||
var $btn = $(this); | ||
let sum = 0; | ||
if (item.classList.contains('flex-column')) { | ||
for (var j = 1; j <= nodes.indexOf(li); j++) { | ||
sum += item.querySelector('li:nth-child(' + j + ')').offsetHeight; | ||
} | ||
moving_div.style.transform = 'translate3d(0px,' + sum + 'px, 0px)'; | ||
moving_div.style.width = item.querySelector('li:nth-child(' + index + ')').offsetWidth + 'px'; | ||
moving_div.style.height = item.querySelector('li:nth-child(' + j + ')').offsetHeight; | ||
} else { | ||
for (var j = 1; j <= nodes.indexOf(li); j++) { | ||
sum += item.querySelector('li:nth-child(' + j + ')').offsetWidth; | ||
} | ||
moving_div.style.transform = 'translate3d(' + sum + 'px, 0px, 0px)'; | ||
moving_div.style.width = item.querySelector('li:nth-child(' + index + ')').offsetWidth + 'px'; | ||
if (md.misc.sidebar_mini_active == true) { | ||
$('body').removeClass('sidebar-mini'); | ||
md.misc.sidebar_mini_active = false; | ||
} else { | ||
$('body').addClass('sidebar-mini'); | ||
md.misc.sidebar_mini_active = true; | ||
} | ||
} | ||
}); | ||
// we simulate the window Resize so the charts will get updated in realtime. | ||
var simulateWindowResize = setInterval(function() { | ||
window.dispatchEvent(new Event('resize')); | ||
}, 180); | ||
if (window.innerWidth < 991) { | ||
total.forEach(function(item, i) { | ||
if (!item.classList.contains('flex-column')) { | ||
item.classList.remove('flex-row'); | ||
item.classList.add('flex-column', 'on-resize'); | ||
let li = item.querySelector(".nav-link.active").parentElement; | ||
let nodes = Array.from(li.closest('ul').children); // get array | ||
let index = nodes.indexOf(li) + 1; | ||
let sum = 0; | ||
for (var j = 1; j <= nodes.indexOf(li); j++) { | ||
sum += item.querySelector('li:nth-child(' + j + ')').offsetHeight; | ||
} | ||
var moving_div = document.querySelector('.moving-tab'); | ||
moving_div.style.width = item.querySelector('li:nth-child(1)').offsetWidth + 'px'; | ||
moving_div.style.transform = 'translate3d(0px,' + sum + 'px, 0px)'; | ||
// we stop the simulation of Window Resize after the animations are completed | ||
setTimeout(function() { | ||
clearInterval(simulateWindowResize); | ||
}, 1000); | ||
} | ||
}); | ||
}, | ||
} else { | ||
total.forEach(function(item, i) { | ||
if (item.classList.contains('on-resize')) { | ||
item.classList.remove('flex-column', 'on-resize'); | ||
item.classList.add('flex-row'); | ||
let li = item.querySelector(".nav-link.active").parentElement; | ||
let nodes = Array.from(li.closest('ul').children); // get array | ||
let index = nodes.indexOf(li) + 1; | ||
let sum = 0; | ||
for (var j = 1; j <= nodes.indexOf(li); j++) { | ||
sum += item.querySelector('li:nth-child(' + j + ')').offsetWidth; | ||
} | ||
var moving_div = document.querySelector('.moving-tab'); | ||
moving_div.style.transform = 'translate3d(' + sum + 'px, 0px, 0px)'; | ||
moving_div.style.width = item.querySelector('li:nth-child(' + index + ')').offsetWidth + 'px'; | ||
} | ||
}) | ||
} | ||
}); | ||
checkScrollForTransparentNavbar: debounce(function() { | ||
if ($(document).scrollTop() > 260) { | ||
if (transparent) { | ||
transparent = false; | ||
$('.navbar-color-on-scroll').removeClass('navbar-transparent'); | ||
// Function to remove flex row on mobile devices | ||
if (window.innerWidth < 991) { | ||
total.forEach(function(item, i) { | ||
if (item.classList.contains('flex-row')) { | ||
item.classList.remove('flex-row'); | ||
item.classList.add('flex-column', 'on-resize'); | ||
} | ||
}); | ||
} | ||
function getEventTarget(e) { | ||
e = e || window.event; | ||
return e.target || e.srcElement; | ||
} | ||
// End tabs navigation | ||
window.onload = function() { | ||
// Material Design Input function | ||
var inputs = document.querySelectorAll('input'); | ||
for (var i = 0; i < inputs.length; i++) { | ||
inputs[i].addEventListener('focus', function(e) { | ||
this.parentElement.classList.add('is-focused'); | ||
}, false); | ||
inputs[i].onkeyup = function(e) { | ||
if (this.value != "") { | ||
this.parentElement.classList.add('is-filled'); | ||
} else { | ||
this.parentElement.classList.remove('is-filled'); | ||
} | ||
} else { | ||
if (!transparent) { | ||
transparent = true; | ||
$('.navbar-color-on-scroll').addClass('navbar-transparent'); | ||
}; | ||
inputs[i].addEventListener('focusout', function(e) { | ||
if (this.value != "") { | ||
this.parentElement.classList.add('is-filled'); | ||
} | ||
} | ||
}, 17), | ||
this.parentElement.classList.remove('is-focused'); | ||
}, false); | ||
} | ||
// Ripple Effect | ||
var ripples = document.querySelectorAll('.btn'); | ||
initRightMenu: debounce(function() { | ||
$sidebar_wrapper = $('.sidebar-wrapper'); | ||
for (var i = 0; i < ripples.length; i++) { | ||
ripples[i].addEventListener('click', function(e) { | ||
var targetEl = e.target; | ||
var rippleDiv = targetEl.querySelector('.ripple'); | ||
if (!mobile_menu_initialized) { | ||
$navbar = $('nav').find('.navbar-collapse').children('.navbar-nav'); | ||
rippleDiv = document.createElement('span'); | ||
rippleDiv.classList.add('ripple'); | ||
rippleDiv.style.width = rippleDiv.style.height = Math.max(targetEl.offsetWidth, targetEl.offsetHeight) + 'px'; | ||
targetEl.appendChild(rippleDiv); | ||
mobile_menu_content = ''; | ||
rippleDiv.style.left = (e.offsetX - rippleDiv.offsetWidth / 2) + 'px'; | ||
rippleDiv.style.top = (e.offsetY - rippleDiv.offsetHeight / 2) + 'px'; | ||
rippleDiv.classList.add('ripple'); | ||
setTimeout(function() { | ||
rippleDiv.parentElement.removeChild(rippleDiv); | ||
}, 600); | ||
}, false); | ||
} | ||
}; | ||
nav_content = $navbar.html(); | ||
// Toggle Sidenav | ||
const iconNavbarSidenav = document.getElementById('iconNavbarSidenav'); | ||
const iconSidenav = document.getElementById('iconSidenav'); | ||
const sidenav = document.getElementById('sidenav-main'); | ||
let body = document.getElementsByTagName('body')[0]; | ||
let className = 'g-sidenav-pinned'; | ||
nav_content = '<ul class="nav navbar-nav nav-mobile-menu">' + nav_content + '</ul>'; | ||
if (iconNavbarSidenav) { | ||
iconNavbarSidenav.addEventListener("click", toggleSidenav); | ||
} | ||
navbar_form = $('nav').find('.navbar-form').get(0).outerHTML; | ||
if (iconSidenav) { | ||
iconSidenav.addEventListener("click", toggleSidenav); | ||
} | ||
$sidebar_nav = $sidebar_wrapper.find(' > .nav'); | ||
function toggleSidenav() { | ||
if (body.classList.contains(className)) { | ||
body.classList.remove(className); | ||
setTimeout(function() { | ||
sidenav.classList.remove('bg-white'); | ||
}, 100); | ||
sidenav.classList.remove('bg-transparent'); | ||
// insert the navbar form before the sidebar list | ||
$nav_content = $(nav_content); | ||
$navbar_form = $(navbar_form); | ||
$nav_content.insertBefore($sidebar_nav); | ||
$navbar_form.insertBefore($nav_content); | ||
} else { | ||
body.classList.add(className); | ||
sidenav.classList.add('bg-white'); | ||
sidenav.classList.remove('bg-transparent'); | ||
iconSidenav.classList.remove('d-none'); | ||
} | ||
} | ||
$(".sidebar-wrapper .dropdown .dropdown-menu > li > a").click(function(event) { | ||
event.stopPropagation(); | ||
// Resize navbar color depends on configurator active type of sidenav | ||
}); | ||
let referenceButtons = document.querySelector('[data-class]'); | ||
// simulate resize so all the charts/maps will be redrawn | ||
window.dispatchEvent(new Event('resize')); | ||
if (sidenav) { | ||
window.addEventListener("resize", navbarColorOnResize); | ||
mobile_menu_initialized = true; | ||
function navbarColorOnResize() { | ||
if (window.innerWidth > 1200) { | ||
if (referenceButtons?.classList.contains('active') && referenceButtons?.getAttribute('data-class') === 'bg-transparent') { | ||
sidenav.classList.remove('bg-white'); | ||
} else { | ||
sidenav.classList.add('bg-white'); | ||
} | ||
} else { | ||
if ($(window).width() > 991) { | ||
// reset all the additions that we made for the sidebar wrapper only if the screen is bigger than 991px | ||
$sidebar_wrapper.find('.navbar-form').remove(); | ||
$sidebar_wrapper.find('.nav-mobile-menu').remove(); | ||
sidenav.classList.add('bg-white'); | ||
sidenav.classList.remove('bg-transparent'); | ||
} | ||
} | ||
} | ||
mobile_menu_initialized = false; | ||
// Deactivate sidenav type buttons on resize and small screens | ||
window.addEventListener("resize", sidenavTypeOnResize); | ||
window.addEventListener("load", sidenavTypeOnResize); | ||
function sidenavTypeOnResize() { | ||
let elements = document.querySelectorAll('[onclick="sidebarType(this)"]'); | ||
if (window.innerWidth < 1200) { | ||
elements.forEach(function(el) { | ||
el.classList.add('disabled'); | ||
}); | ||
} else { | ||
elements.forEach(function(el) { | ||
el.classList.remove('disabled'); | ||
}); | ||
} | ||
} | ||
// Light Mode / Dark Mode | ||
function darkMode(el) { | ||
const body = document.getElementsByTagName('body')[0]; | ||
const hr = document.querySelectorAll('div:not(.sidenav) > hr'); | ||
const hr_card = document.querySelectorAll('div:not(.bg-gradient-dark) hr'); | ||
const text_btn = document.querySelectorAll('button:not(.btn) > .text-dark'); | ||
const text_span = document.querySelectorAll('span.text-dark, .breadcrumb .text-dark'); | ||
const text_span_white = document.querySelectorAll('span.text-white, .breadcrumb .text-white'); | ||
const text_strong = document.querySelectorAll('strong.text-dark'); | ||
const text_strong_white = document.querySelectorAll('strong.text-white'); | ||
const text_nav_link = document.querySelectorAll('a.nav-link.text-dark'); | ||
const text_nav_link_white = document.querySelectorAll('a.nav-link.text-white'); | ||
const secondary = document.querySelectorAll('.text-secondary'); | ||
const bg_gray_100 = document.querySelectorAll('.bg-gray-100'); | ||
const bg_gray_600 = document.querySelectorAll('.bg-gray-600'); | ||
const btn_text_dark = document.querySelectorAll('.btn.btn-link.text-dark, .material-icons.text-dark'); | ||
const btn_text_white = document.querySelectorAll('.btn.btn-link.text-white, .material-icons.text-white'); | ||
const card_border = document.querySelectorAll('.card.border'); | ||
const card_border_dark = document.querySelectorAll('.card.border.border-dark'); | ||
const svg = document.querySelectorAll('g'); | ||
if (!el.getAttribute("checked")) { | ||
body.classList.add('dark-version'); | ||
for (var i = 0; i < hr.length; i++) { | ||
if (hr[i].classList.contains('dark')) { | ||
hr[i].classList.remove('dark'); | ||
hr[i].classList.add('light'); | ||
} | ||
} | ||
}, 200), | ||
startAnimationForLineChart: function(chart) { | ||
for (var i = 0; i < hr_card.length; i++) { | ||
if (hr_card[i].classList.contains('dark')) { | ||
hr_card[i].classList.remove('dark'); | ||
hr_card[i].classList.add('light'); | ||
} | ||
} | ||
for (var i = 0; i < text_btn.length; i++) { | ||
if (text_btn[i].classList.contains('text-dark')) { | ||
text_btn[i].classList.remove('text-dark'); | ||
text_btn[i].classList.add('text-white'); | ||
} | ||
} | ||
for (var i = 0; i < text_span.length; i++) { | ||
if (text_span[i].classList.contains('text-dark')) { | ||
text_span[i].classList.remove('text-dark'); | ||
text_span[i].classList.add('text-white'); | ||
} | ||
} | ||
for (var i = 0; i < text_strong.length; i++) { | ||
if (text_strong[i].classList.contains('text-dark')) { | ||
text_strong[i].classList.remove('text-dark'); | ||
text_strong[i].classList.add('text-white'); | ||
} | ||
} | ||
for (var i = 0; i < text_nav_link.length; i++) { | ||
if (text_nav_link[i].classList.contains('text-dark')) { | ||
text_nav_link[i].classList.remove('text-dark'); | ||
text_nav_link[i].classList.add('text-white'); | ||
} | ||
} | ||
for (var i = 0; i < secondary.length; i++) { | ||
if (secondary[i].classList.contains('text-secondary')) { | ||
secondary[i].classList.remove('text-secondary'); | ||
secondary[i].classList.add('text-white'); | ||
secondary[i].classList.add('opacity-8'); | ||
} | ||
} | ||
for (var i = 0; i < bg_gray_100.length; i++) { | ||
if (bg_gray_100[i].classList.contains('bg-gray-100')) { | ||
bg_gray_100[i].classList.remove('bg-gray-100'); | ||
bg_gray_100[i].classList.add('bg-gray-600'); | ||
} | ||
} | ||
for (var i = 0; i < btn_text_dark.length; i++) { | ||
btn_text_dark[i].classList.remove('text-dark'); | ||
btn_text_dark[i].classList.add('text-white'); | ||
} | ||
for (var i = 0; i < svg.length; i++) { | ||
if (svg[i].hasAttribute('fill')) { | ||
svg[i].setAttribute('fill', '#fff'); | ||
} | ||
} | ||
for (var i = 0; i < card_border.length; i++) { | ||
card_border[i].classList.add('border-dark'); | ||
} | ||
el.setAttribute("checked", "true"); | ||
} else { | ||
body.classList.remove('dark-version'); | ||
for (var i = 0; i < hr.length; i++) { | ||
if (hr[i].classList.contains('light')) { | ||
hr[i].classList.add('dark'); | ||
hr[i].classList.remove('light'); | ||
} | ||
} | ||
for (var i = 0; i < hr_card.length; i++) { | ||
if (hr_card[i].classList.contains('light')) { | ||
hr_card[i].classList.add('dark'); | ||
hr_card[i].classList.remove('light'); | ||
} | ||
} | ||
for (var i = 0; i < text_btn.length; i++) { | ||
if (text_btn[i].classList.contains('text-white')) { | ||
text_btn[i].classList.remove('text-white'); | ||
text_btn[i].classList.add('text-dark'); | ||
} | ||
} | ||
for (var i = 0; i < text_span_white.length; i++) { | ||
if (text_span_white[i].classList.contains('text-white') && !text_span_white[i].closest('.sidenav') && !text_span_white[i].closest('.card.bg-gradient-dark')) { | ||
text_span_white[i].classList.remove('text-white'); | ||
text_span_white[i].classList.add('text-dark'); | ||
} | ||
} | ||
for (var i = 0; i < text_strong_white.length; i++) { | ||
if (text_strong_white[i].classList.contains('text-white')) { | ||
text_strong_white[i].classList.remove('text-white'); | ||
text_strong_white[i].classList.add('text-dark'); | ||
} | ||
} | ||
for (var i = 0; i < text_nav_link_white.length; i++) { | ||
if (text_nav_link_white[i].classList.contains('text-white') && !text_nav_link_white[i].closest('.sidenav')) { | ||
text_nav_link_white[i].classList.remove('text-white'); | ||
text_nav_link_white[i].classList.add('text-dark'); | ||
} | ||
} | ||
for (var i = 0; i < secondary.length; i++) { | ||
if (secondary[i].classList.contains('text-white')) { | ||
secondary[i].classList.remove('text-white'); | ||
secondary[i].classList.remove('opacity-8'); | ||
secondary[i].classList.add('text-dark'); | ||
} | ||
} | ||
for (var i = 0; i < bg_gray_600.length; i++) { | ||
if (bg_gray_600[i].classList.contains('bg-gray-600')) { | ||
bg_gray_600[i].classList.remove('bg-gray-600'); | ||
bg_gray_600[i].classList.add('bg-gray-100'); | ||
} | ||
} | ||
for (var i = 0; i < svg.length; i++) { | ||
if (svg[i].hasAttribute('fill')) { | ||
svg[i].setAttribute('fill', '#252f40'); | ||
} | ||
} | ||
for (var i = 0; i < btn_text_white.length; i++) { | ||
if (!btn_text_white[i].closest('.card.bg-gradient-dark')) { | ||
btn_text_white[i].classList.remove('text-white'); | ||
btn_text_white[i].classList.add('text-dark'); | ||
} | ||
} | ||
for (var i = 0; i < card_border_dark.length; i++) { | ||
card_border_dark[i].classList.remove('border-dark'); | ||
} | ||
el.removeAttribute("checked"); | ||
} | ||
}; | ||
chart.on('draw', function(data) { | ||
if (data.type === 'line' || data.type === 'area') { | ||
data.element.animate({ | ||
d: { | ||
begin: 600, | ||
dur: 700, | ||
from: data.path.clone().scale(1, 0).translate(0, data.chartRect.height()).stringify(), | ||
to: data.path.clone().stringify(), | ||
easing: Chartist.Svg.Easing.easeOutQuint | ||
// side bullets | ||
const indicators = document.querySelectorAll(".indicator"); | ||
const sections = document.querySelectorAll("section"); | ||
if (indicators) { | ||
const resetCurrentActiveIndicator = () => { | ||
const activeIndicator = document.querySelector(".indicator.active"); | ||
if (activeIndicator) { | ||
activeIndicator.classList.remove("active"); | ||
} | ||
}; | ||
const onSectionLeavesViewport = (section) => { | ||
const observer = new IntersectionObserver( | ||
(entries) => { | ||
entries.forEach((entry) => { | ||
if (entry.isIntersecting) { | ||
resetCurrentActiveIndicator(); | ||
const element = entry.target; | ||
const indicator = document.querySelector(`a[href='#${element.id}']`); | ||
indicator.classList.add("active"); | ||
return; | ||
} | ||
}); | ||
} else if (data.type === 'point') { | ||
seq++; | ||
data.element.animate({ | ||
opacity: { | ||
begin: seq * delays, | ||
dur: durations, | ||
from: 0, | ||
to: 1, | ||
easing: 'ease' | ||
} | ||
}); | ||
}, { | ||
root: null, | ||
rootMargin: "0px", | ||
threshold: 0.75 | ||
} | ||
}); | ||
); | ||
observer.observe(section); | ||
}; | ||
seq = 0; | ||
}, | ||
startAnimationForBarChart: function(chart) { | ||
chart.on('draw', function(data) { | ||
if (data.type === 'bar') { | ||
seq2++; | ||
data.element.animate({ | ||
opacity: { | ||
begin: seq2 * delays2, | ||
dur: durations2, | ||
from: 0, | ||
to: 1, | ||
easing: 'ease' | ||
} | ||
indicators.forEach((indicator) => { | ||
indicator.addEventListener("click", function(event) { | ||
event.preventDefault(); | ||
document | ||
.querySelector(this.getAttribute("href")) | ||
.scrollIntoView({ | ||
behavior: "smooth" | ||
}); | ||
} | ||
resetCurrentActiveIndicator(); | ||
this.classList.add("active"); | ||
}); | ||
}); | ||
seq2 = 0; | ||
} | ||
} | ||
// Returns a function, that, as long as it continues to be invoked, will not | ||
// be triggered. The function will be called after it stops being called for | ||
// N milliseconds. If `immediate` is passed, trigger the function on the | ||
// leading edge, instead of the trailing. | ||
function debounce(func, wait, immediate) { | ||
var timeout; | ||
return function() { | ||
var context = this, | ||
args = arguments; | ||
clearTimeout(timeout); | ||
timeout = setTimeout(function() { | ||
timeout = null; | ||
if (!immediate) func.apply(context, args); | ||
}, wait); | ||
if (immediate && !timeout) func.apply(context, args); | ||
}; | ||
}; | ||
sections.forEach(onSectionLeavesViewport); | ||
} |
@@ -1,2 +0,17 @@ | ||
isWindows=-1<navigator.platform.indexOf("Win"),isWindows?($(".sidebar .sidebar-wrapper, .main-panel").perfectScrollbar(),$("html").addClass("perfect-scrollbar-on")):$("html").addClass("perfect-scrollbar-off");var breakCards=!0,searchVisible=0,transparent=!0,transparentDemo=!0,fixedTop=!1,mobile_menu_visible=0,mobile_menu_initialized=!1,toggle_initialized=!1,bootstrap_nav_initialized=!1,seq=0,delays=80,durations=500,seq2=0,delays2=80,durations2=500;function debounce(i,n,t){var r;return function(){var e=this,a=arguments;clearTimeout(r),r=setTimeout(function(){r=null,t||i.apply(e,a)},n),t&&!r&&i.apply(e,a)}}$(document).ready(function(){$("body").bootstrapMaterialDesign(),$sidebar=$(".sidebar"),md.initSidebarsCheck(),window_width=$(window).width(),md.checkSidebarImage(),0!=$(".selectpicker").length&&$(".selectpicker").selectpicker(),$('[rel="tooltip"]').tooltip(),$(".form-control").on("focus",function(){$(this).parent(".input-group").addClass("input-group-focus")}).on("blur",function(){$(this).parent(".input-group").removeClass("input-group-focus")}),$('input[type="checkbox"][required="true"], input[type="radio"][required="true"]').on("click",function(){$(this).hasClass("error")&&$(this).closest("div").removeClass("has-error")})}),$(document).on("click",".navbar-toggler",function(){if($toggle=$(this),1==mobile_menu_visible)$("html").removeClass("nav-open"),$(".close-layer").remove(),setTimeout(function(){$toggle.removeClass("toggled")},400),mobile_menu_visible=0;else{setTimeout(function(){$toggle.addClass("toggled")},430);var e=$('<div class="close-layer"></div>');0!=$("body").find(".main-panel").length?e.appendTo(".main-panel"):$("body").hasClass("off-canvas-sidebar")&&e.appendTo(".wrapper-full-page"),setTimeout(function(){e.addClass("visible")},100),e.click(function(){$("html").removeClass("nav-open"),mobile_menu_visible=0,e.removeClass("visible"),setTimeout(function(){e.remove(),$toggle.removeClass("toggled")},400)}),$("html").addClass("nav-open"),mobile_menu_visible=1}}),$(window).resize(function(){md.initSidebarsCheck(),seq=seq2=0,setTimeout(function(){md.initDashboardPageCharts()},500)}),md={misc:{navbar_menu_visible:0,active_collapse:!0,disabled_collapse_init:0},checkSidebarImage:function(){$sidebar=$(".sidebar"),image_src=$sidebar.data("image"),void 0!==image_src&&(sidebar_container='<div class="sidebar-background" style="background-image: url('+image_src+') "/>',$sidebar.append(sidebar_container))},initFormExtendedDatetimepickers:function(){$(".datetimepicker").datetimepicker({icons:{time:"fa fa-clock-o",date:"fa fa-calendar",up:"fa fa-chevron-up",down:"fa fa-chevron-down",previous:"fa fa-chevron-left",next:"fa fa-chevron-right",today:"fa fa-screenshot",clear:"fa fa-trash",close:"fa fa-remove"}}),$(".datepicker").datetimepicker({format:"MM/DD/YYYY",icons:{time:"fa fa-clock-o",date:"fa fa-calendar",up:"fa fa-chevron-up",down:"fa fa-chevron-down",previous:"fa fa-chevron-left",next:"fa fa-chevron-right",today:"fa fa-screenshot",clear:"fa fa-trash",close:"fa fa-remove"}}),$(".timepicker").datetimepicker({format:"h:mm A",icons:{time:"fa fa-clock-o",date:"fa fa-calendar",up:"fa fa-chevron-up",down:"fa fa-chevron-down",previous:"fa fa-chevron-left",next:"fa fa-chevron-right",today:"fa fa-screenshot",clear:"fa fa-trash",close:"fa fa-remove"}})},initSliders:function(){var e=document.getElementById("sliderRegular");noUiSlider.create(e,{start:40,connect:[!0,!1],range:{min:0,max:100}});var a=document.getElementById("sliderDouble");noUiSlider.create(a,{start:[20,60],connect:!0,range:{min:0,max:100}})},initSidebarsCheck:function(){$(window).width()<=991&&0!=$sidebar.length&&md.initRightMenu()},initDashboardPageCharts:function(){if(0!=$("#dailySalesChart").length||0!=$("#completedTasksChart").length||0!=$("#websiteViewsChart").length){dataDailySalesChart={labels:["M","T","W","T","F","S","S"],series:[[12,17,7,17,23,18,38]]},optionsDailySalesChart={lineSmooth:Chartist.Interpolation.cardinal({tension:0}),low:0,high:50,chartPadding:{top:0,right:0,bottom:0,left:0}};var e=new Chartist.Line("#dailySalesChart",dataDailySalesChart,optionsDailySalesChart);md.startAnimationForLineChart(e),dataCompletedTasksChart={labels:["12p","3p","6p","9p","12p","3a","6a","9a"],series:[[230,750,450,300,280,240,200,190]]},optionsCompletedTasksChart={lineSmooth:Chartist.Interpolation.cardinal({tension:0}),low:0,high:1e3,chartPadding:{top:0,right:0,bottom:0,left:0}};var a=new Chartist.Line("#completedTasksChart",dataCompletedTasksChart,optionsCompletedTasksChart);md.startAnimationForLineChart(a);var i=Chartist.Bar("#websiteViewsChart",{labels:["J","F","M","A","M","J","J","A","S","O","N","D"],series:[[542,443,320,780,553,453,326,434,568,610,756,895]]},{axisX:{showGrid:!1},low:0,high:1e3,chartPadding:{top:0,right:5,bottom:0,left:0}},[["screen and (max-width: 640px)",{seriesBarDistance:5,axisX:{labelInterpolationFnc:function(e){return e[0]}}}]]);md.startAnimationForBarChart(i)}},initMinimizeSidebar:function(){$("#minimizeSidebar").click(function(){$(this);1==md.misc.sidebar_mini_active?($("body").removeClass("sidebar-mini"),md.misc.sidebar_mini_active=!1):($("body").addClass("sidebar-mini"),md.misc.sidebar_mini_active=!0);var e=setInterval(function(){window.dispatchEvent(new Event("resize"))},180);setTimeout(function(){clearInterval(e)},1e3)})},checkScrollForTransparentNavbar:debounce(function(){260<$(document).scrollTop()?transparent&&(transparent=!1,$(".navbar-color-on-scroll").removeClass("navbar-transparent")):transparent||(transparent=!0,$(".navbar-color-on-scroll").addClass("navbar-transparent"))},17),initRightMenu:debounce(function(){$sidebar_wrapper=$(".sidebar-wrapper"),mobile_menu_initialized?991<$(window).width()&&($sidebar_wrapper.find(".navbar-form").remove(),$sidebar_wrapper.find(".nav-mobile-menu").remove(),mobile_menu_initialized=!1):($navbar=$("nav").find(".navbar-collapse").children(".navbar-nav"),mobile_menu_content="",nav_content=$navbar.html(),nav_content='<ul class="nav navbar-nav nav-mobile-menu">'+nav_content+"</ul>",navbar_form=$("nav").find(".navbar-form").get(0).outerHTML,$sidebar_nav=$sidebar_wrapper.find(" > .nav"),$nav_content=$(nav_content),$navbar_form=$(navbar_form),$nav_content.insertBefore($sidebar_nav),$navbar_form.insertBefore($nav_content),$(".sidebar-wrapper .dropdown .dropdown-menu > li > a").click(function(e){e.stopPropagation()}),window.dispatchEvent(new Event("resize")),mobile_menu_initialized=!0)},200),startAnimationForLineChart:function(e){e.on("draw",function(e){"line"===e.type||"area"===e.type?e.element.animate({d:{begin:600,dur:700,from:e.path.clone().scale(1,0).translate(0,e.chartRect.height()).stringify(),to:e.path.clone().stringify(),easing:Chartist.Svg.Easing.easeOutQuint}}):"point"===e.type&&(seq++,e.element.animate({opacity:{begin:seq*delays,dur:durations,from:0,to:1,easing:"ease"}}))}),seq=0},startAnimationForBarChart:function(e){e.on("draw",function(e){"bar"===e.type&&(seq2++,e.element.animate({opacity:{begin:seq2*delays2,dur:durations2,from:0,to:1,easing:"ease"}}))}),seq2=0}}; | ||
// ========================================================= | ||
// Material Dashboard 2 - v3.1.0 | ||
// ========================================================= | ||
// Product Page: https://www.creative-tim.com/product/material-dashboard | ||
// Copyright 2023 Creative Tim (https://www.creative-tim.com) | ||
// Licensed under MIT (https://github.com/creativetimofficial/material-dashboard/blob/master/LICENSE.md) | ||
// Coded by www.creative-tim.com | ||
// ========================================================= | ||
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. | ||
"use strict";!function(){var e,t;-1<navigator.platform.indexOf("Win")&&(document.getElementsByClassName("main-content")[0]&&(e=document.querySelector(".main-content"),new PerfectScrollbar(e)),document.getElementsByClassName("sidenav")[0]&&(e=document.querySelector(".sidenav"),new PerfectScrollbar(e)),document.getElementsByClassName("navbar-collapse")[0]&&(t=document.querySelector(".navbar:not(.navbar-expand-lg) .navbar-collapse"),new PerfectScrollbar(t)),document.getElementsByClassName("fixed-plugin")[0])&&(t=document.querySelector(".fixed-plugin"),new PerfectScrollbar(t))}(),document.getElementById("navbarBlur")&&navbarBlurOnScroll("navbarBlur");var allInputs,fixedPlugin,fixedPluginButton,fixedPluginButtonNav,fixedPluginCard,fixedPluginCloseButton,navbar,buttonNavbarFixed,tooltipTriggerList=[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')),tooltipList=tooltipTriggerList.map(function(e){return new bootstrap.Tooltip(e)});function focused(e){e.parentElement.classList.contains("input-group")&&e.parentElement.classList.add("focused")}function defocused(e){e.parentElement.classList.contains("input-group")&&e.parentElement.classList.remove("focused")}function setAttributes(t,s){Object.keys(s).forEach(function(e){t.setAttribute(e,s[e])})}function sidebarColor(e){var t=document.querySelector(".nav-link.active"),e=e.getAttribute("data-color");t.classList.contains("bg-gradient-primary")&&t.classList.remove("bg-gradient-primary"),t.classList.contains("bg-gradient-dark")&&t.classList.remove("bg-gradient-dark"),t.classList.contains("bg-gradient-info")&&t.classList.remove("bg-gradient-info"),t.classList.contains("bg-gradient-success")&&t.classList.remove("bg-gradient-success"),t.classList.contains("bg-gradient-warning")&&t.classList.remove("bg-gradient-warning"),t.classList.contains("bg-gradient-danger")&&t.classList.remove("bg-gradient-danger"),t.classList.add("bg-gradient-"+e)}function sidebarType(e){for(var t=e.parentElement.children,s=e.getAttribute("data-class"),n=document.querySelector("body"),a=document.querySelector("body:not(.dark-version)"),n=n.classList.contains("dark-version"),i=[],r=0;r<t.length;r++)t[r].classList.remove("active"),i.push(t[r].getAttribute("data-class"));e.classList.contains("active")?e.classList.remove("active"):e.classList.add("active");for(var l,o,c,d=document.querySelector(".sidenav"),r=0;r<i.length;r++)d.classList.remove(i[r]);if(d.classList.add(s),"bg-transparent"==s||"bg-white"==s){var u=document.querySelectorAll(".sidenav .text-white");for(let e=0;e<u.length;e++)u[e].classList.remove("text-white"),u[e].classList.add("text-dark")}else{var f=document.querySelectorAll(".sidenav .text-dark");for(let e=0;e<f.length;e++)f[e].classList.add("text-white"),f[e].classList.remove("text-dark")}if("bg-transparent"==s&&n){f=document.querySelectorAll(".navbar-brand .text-dark");for(let e=0;e<f.length;e++)f[e].classList.add("text-white"),f[e].classList.remove("text-dark")}"bg-transparent"!=s&&"bg-white"!=s||!a?(o=(l=document.querySelector(".navbar-brand-img")).src).includes("logo-ct-dark.png")&&(c=o.replace("logo-ct-dark","logo-ct"),l.src=c):(o=(l=document.querySelector(".navbar-brand-img")).src).includes("logo-ct.png")&&(c=o.replace("logo-ct","logo-ct-dark"),l.src=c),"bg-white"==s&&n&&(o=(l=document.querySelector(".navbar-brand-img")).src).includes("logo-ct.png")&&(c=o.replace("logo-ct","logo-ct-dark"),l.src=c)}function navbarFixed(e){var t=["position-sticky","blur","shadow-blur","mt-4","left-auto","top-1","z-index-sticky"],s=document.getElementById("navbarBlur");e.getAttribute("checked")?(s.classList.remove(...t),s.setAttribute("navbar-scroll","false"),navbarBlurOnScroll("navbarBlur"),e.removeAttribute("checked")):(s.classList.add(...t),s.setAttribute("navbar-scroll","true"),navbarBlurOnScroll("navbarBlur"),e.setAttribute("checked","true"))}function navbarMinimize(e){var t=document.getElementsByClassName("g-sidenav-show")[0];e.getAttribute("checked")?(t.classList.remove("g-sidenav-hidden"),t.classList.add("g-sidenav-pinned"),e.removeAttribute("checked")):(t.classList.remove("g-sidenav-pinned"),t.classList.add("g-sidenav-hidden"),e.setAttribute("checked","true"))}function navbarBlurOnScroll(e){const t=document.getElementById(e);var s,e=!!t&&t.getAttribute("data-scroll");let n=["blur","shadow-blur","left-auto"],a=["shadow-none"];function i(){t.classList.add(...n),t.classList.remove(...a),l("blur")}function r(){t.classList.remove(...n),t.classList.add(...a),l("transparent")}function l(e){var t=document.querySelectorAll(".navbar-main .nav-link"),s=document.querySelectorAll(".navbar-main .sidenav-toggler-line");"blur"===e?(t.forEach(e=>{e.classList.remove("text-body")}),s.forEach(e=>{e.classList.add("bg-dark")})):"transparent"===e&&(t.forEach(e=>{e.classList.add("text-body")}),s.forEach(e=>{e.classList.remove("bg-dark")}))}window.onscroll=debounce("true"==e?function(){(5<window.scrollY?i:r)()}:function(){r()},10),-1<navigator.platform.indexOf("Win")&&(s=document.querySelector(".main-content"),"true"==e?s.addEventListener("ps-scroll-y",debounce(function(){(5<s.scrollTop?i:r)()},10)):s.addEventListener("ps-scroll-y",debounce(function(){r()},10)))}function debounce(n,a,i){var r;return function(){var e=this,t=arguments,s=i&&!r;clearTimeout(r),r=setTimeout(function(){r=null,i||n.apply(e,t)},a),s&&n.apply(e,t)}}0!=document.querySelectorAll(".input-group").length&&(allInputs=document.querySelectorAll("input.form-control")).forEach(e=>setAttributes(e,{onfocus:"focused(this)",onfocusout:"defocused(this)"})),document.querySelector(".fixed-plugin")&&(fixedPlugin=document.querySelector(".fixed-plugin"),fixedPlugin=document.querySelector(".fixed-plugin"),fixedPluginButton=document.querySelector(".fixed-plugin-button"),fixedPluginButtonNav=document.querySelector(".fixed-plugin-button-nav"),fixedPluginCard=document.querySelector(".fixed-plugin .card"),fixedPluginCloseButton=document.querySelectorAll(".fixed-plugin-close-button"),navbar=document.getElementById("navbarBlur"),buttonNavbarFixed=document.getElementById("navbarFixed"),fixedPluginButton&&(fixedPluginButton.onclick=function(){fixedPlugin.classList.contains("show")?fixedPlugin.classList.remove("show"):fixedPlugin.classList.add("show")}),fixedPluginButtonNav&&(fixedPluginButtonNav.onclick=function(){fixedPlugin.classList.contains("show")?fixedPlugin.classList.remove("show"):fixedPlugin.classList.add("show")}),fixedPluginCloseButton.forEach(function(e){e.onclick=function(){fixedPlugin.classList.remove("show")}}),document.querySelector("body").onclick=function(e){e.target!=fixedPluginButton&&e.target!=fixedPluginButtonNav&&e.target.closest(".fixed-plugin .card")!=fixedPluginCard&&fixedPlugin.classList.remove("show")},navbar)&&"true"==navbar.getAttribute("data-scroll")&&buttonNavbarFixed&&buttonNavbarFixed.setAttribute("checked","true"),document.addEventListener("DOMContentLoaded",function(){[].slice.call(document.querySelectorAll(".toast")).map(function(e){return new bootstrap.Toast(e)});[].slice.call(document.querySelectorAll(".toast-btn")).map(function(t){t.addEventListener("click",function(){var e=document.getElementById(t.dataset.target);e&&bootstrap.Toast.getInstance(e).show()})})});var total=document.querySelectorAll(".nav-pills");function initNavs(){total.forEach(function(i,e){var r=document.createElement("div"),t=i.querySelector("li:first-child .nav-link").cloneNode();t.innerHTML="-",r.classList.add("moving-tab","position-absolute","nav-link"),r.appendChild(t),i.appendChild(r),i.getElementsByTagName("li").length;r.style.padding="0px",r.style.width=i.querySelector("li:nth-child(1)").offsetWidth+"px",r.style.transform="translate3d(0px, 0px, 0px)",r.style.transition=".5s ease",i.onmouseover=function(e){let a=getEventTarget(e).closest("li");if(a){let s=Array.from(a.closest("ul").children),n=s.indexOf(a)+1;i.querySelector("li:nth-child("+n+") .nav-link").onclick=function(){r=i.querySelector(".moving-tab");let e=0;if(i.classList.contains("flex-column")){for(var t=1;t<=s.indexOf(a);t++)e+=i.querySelector("li:nth-child("+t+")").offsetHeight;r.style.transform="translate3d(0px,"+e+"px, 0px)",r.style.height=i.querySelector("li:nth-child("+t+")").offsetHeight}else{for(t=1;t<=s.indexOf(a);t++)e+=i.querySelector("li:nth-child("+t+")").offsetWidth;r.style.transform="translate3d("+e+"px, 0px, 0px)",r.style.width=i.querySelector("li:nth-child("+n+")").offsetWidth+"px"}}}}})}function getEventTarget(e){return(e=e||window.event).target||e.srcElement}setTimeout(function(){initNavs()},100),window.addEventListener("resize",function(e){total.forEach(function(t,e){t.querySelector(".moving-tab").remove();var s=document.createElement("div"),n=t.querySelector(".nav-link.active").cloneNode(),a=(n.innerHTML="-",s.classList.add("moving-tab","position-absolute","nav-link"),s.appendChild(n),t.appendChild(s),s.style.padding="0px",s.style.transition=".5s ease",t.querySelector(".nav-link.active").parentElement);if(a){var i=Array.from(a.closest("ul").children),n=i.indexOf(a)+1;let e=0;if(t.classList.contains("flex-column")){for(var r=1;r<=i.indexOf(a);r++)e+=t.querySelector("li:nth-child("+r+")").offsetHeight;s.style.transform="translate3d(0px,"+e+"px, 0px)",s.style.width=t.querySelector("li:nth-child("+n+")").offsetWidth+"px",s.style.height=t.querySelector("li:nth-child("+r+")").offsetHeight}else{for(r=1;r<=i.indexOf(a);r++)e+=t.querySelector("li:nth-child("+r+")").offsetWidth;s.style.transform="translate3d("+e+"px, 0px, 0px)",s.style.width=t.querySelector("li:nth-child("+n+")").offsetWidth+"px"}}}),window.innerWidth<991?total.forEach(function(t,e){if(!t.classList.contains("flex-column")){t.classList.remove("flex-row"),t.classList.add("flex-column","on-resize");var s=t.querySelector(".nav-link.active").parentElement,n=Array.from(s.closest("ul").children);n.indexOf(s);let e=0;for(var a=1;a<=n.indexOf(s);a++)e+=t.querySelector("li:nth-child("+a+")").offsetHeight;var i=document.querySelector(".moving-tab");i.style.width=t.querySelector("li:nth-child(1)").offsetWidth+"px",i.style.transform="translate3d(0px,"+e+"px, 0px)"}}):total.forEach(function(t,e){if(t.classList.contains("on-resize")){t.classList.remove("flex-column","on-resize"),t.classList.add("flex-row");var s=t.querySelector(".nav-link.active").parentElement,n=Array.from(s.closest("ul").children),a=n.indexOf(s)+1;let e=0;for(var i=1;i<=n.indexOf(s);i++)e+=t.querySelector("li:nth-child("+i+")").offsetWidth;var r=document.querySelector(".moving-tab");r.style.transform="translate3d("+e+"px, 0px, 0px)",r.style.width=t.querySelector("li:nth-child("+a+")").offsetWidth+"px"}})}),window.innerWidth<991&&total.forEach(function(e,t){e.classList.contains("flex-row")&&(e.classList.remove("flex-row"),e.classList.add("flex-column","on-resize"))}),window.onload=function(){for(var e=document.querySelectorAll("input"),t=0;t<e.length;t++)e[t].addEventListener("focus",function(e){this.parentElement.classList.add("is-focused")},!1),e[t].onkeyup=function(e){""!=this.value?this.parentElement.classList.add("is-filled"):this.parentElement.classList.remove("is-filled")},e[t].addEventListener("focusout",function(e){""!=this.value&&this.parentElement.classList.add("is-filled"),this.parentElement.classList.remove("is-focused")},!1);for(var s=document.querySelectorAll(".btn"),t=0;t<s.length;t++)s[t].addEventListener("click",function(e){var t=e.target,s=t.querySelector(".ripple");(s=document.createElement("span")).classList.add("ripple"),s.style.width=s.style.height=Math.max(t.offsetWidth,t.offsetHeight)+"px",t.appendChild(s),s.style.left=e.offsetX-s.offsetWidth/2+"px",s.style.top=e.offsetY-s.offsetHeight/2+"px",s.classList.add("ripple"),setTimeout(function(){s.parentElement.removeChild(s)},600)},!1)};const iconNavbarSidenav=document.getElementById("iconNavbarSidenav"),iconSidenav=document.getElementById("iconSidenav"),sidenav=document.getElementById("sidenav-main");let body=document.getElementsByTagName("body")[0],className="g-sidenav-pinned";function toggleSidenav(){body.classList.contains(className)?(body.classList.remove(className),setTimeout(function(){sidenav.classList.remove("bg-white")},100),sidenav.classList.remove("bg-transparent")):(body.classList.add(className),sidenav.classList.add("bg-white"),sidenav.classList.remove("bg-transparent"),iconSidenav.classList.remove("d-none"))}iconNavbarSidenav&&iconNavbarSidenav.addEventListener("click",toggleSidenav),iconSidenav&&iconSidenav.addEventListener("click",toggleSidenav);let referenceButtons=document.querySelector("[data-class]");function navbarColorOnResize(){1200<window.innerWidth?referenceButtons?.classList.contains("active")&&"bg-transparent"===referenceButtons?.getAttribute("data-class")?sidenav.classList.remove("bg-white"):sidenav.classList.add("bg-white"):(sidenav.classList.add("bg-white"),sidenav.classList.remove("bg-transparent"))}function sidenavTypeOnResize(){var e=document.querySelectorAll('[onclick="sidebarType(this)"]');window.innerWidth<1200?e.forEach(function(e){e.classList.add("disabled")}):e.forEach(function(e){e.classList.remove("disabled")})}function darkMode(e){var t=document.getElementsByTagName("body")[0],s=document.querySelectorAll("div:not(.sidenav) > hr"),n=document.querySelectorAll("div:not(.bg-gradient-dark) hr"),a=document.querySelectorAll("button:not(.btn) > .text-dark"),i=document.querySelectorAll("span.text-dark, .breadcrumb .text-dark"),r=document.querySelectorAll("span.text-white, .breadcrumb .text-white"),l=document.querySelectorAll("strong.text-dark"),o=document.querySelectorAll("strong.text-white"),c=document.querySelectorAll("a.nav-link.text-dark"),d=document.querySelectorAll("a.nav-link.text-white"),u=document.querySelectorAll(".text-secondary"),f=document.querySelectorAll(".bg-gray-100"),v=document.querySelectorAll(".bg-gray-600"),g=document.querySelectorAll(".btn.btn-link.text-dark, .material-icons.text-dark"),m=document.querySelectorAll(".btn.btn-link.text-white, .material-icons.text-white"),h=document.querySelectorAll(".card.border"),b=document.querySelectorAll(".card.border.border-dark"),L=document.querySelectorAll("g");if(e.getAttribute("checked")){t.classList.remove("dark-version");for(y=0;y<s.length;y++)s[y].classList.contains("light")&&(s[y].classList.add("dark"),s[y].classList.remove("light"));for(y=0;y<n.length;y++)n[y].classList.contains("light")&&(n[y].classList.add("dark"),n[y].classList.remove("light"));for(y=0;y<a.length;y++)a[y].classList.contains("text-white")&&(a[y].classList.remove("text-white"),a[y].classList.add("text-dark"));for(y=0;y<r.length;y++)!r[y].classList.contains("text-white")||r[y].closest(".sidenav")||r[y].closest(".card.bg-gradient-dark")||(r[y].classList.remove("text-white"),r[y].classList.add("text-dark"));for(y=0;y<o.length;y++)o[y].classList.contains("text-white")&&(o[y].classList.remove("text-white"),o[y].classList.add("text-dark"));for(y=0;y<d.length;y++)d[y].classList.contains("text-white")&&!d[y].closest(".sidenav")&&(d[y].classList.remove("text-white"),d[y].classList.add("text-dark"));for(y=0;y<u.length;y++)u[y].classList.contains("text-white")&&(u[y].classList.remove("text-white"),u[y].classList.remove("opacity-8"),u[y].classList.add("text-dark"));for(y=0;y<v.length;y++)v[y].classList.contains("bg-gray-600")&&(v[y].classList.remove("bg-gray-600"),v[y].classList.add("bg-gray-100"));for(y=0;y<L.length;y++)L[y].hasAttribute("fill")&&L[y].setAttribute("fill","#252f40");for(y=0;y<m.length;y++)m[y].closest(".card.bg-gradient-dark")||(m[y].classList.remove("text-white"),m[y].classList.add("text-dark"));for(y=0;y<b.length;y++)b[y].classList.remove("border-dark");e.removeAttribute("checked")}else{t.classList.add("dark-version");for(var y=0;y<s.length;y++)s[y].classList.contains("dark")&&(s[y].classList.remove("dark"),s[y].classList.add("light"));for(var y=0;y<n.length;y++)n[y].classList.contains("dark")&&(n[y].classList.remove("dark"),n[y].classList.add("light"));for(var y=0;y<a.length;y++)a[y].classList.contains("text-dark")&&(a[y].classList.remove("text-dark"),a[y].classList.add("text-white"));for(var y=0;y<i.length;y++)i[y].classList.contains("text-dark")&&(i[y].classList.remove("text-dark"),i[y].classList.add("text-white"));for(var y=0;y<l.length;y++)l[y].classList.contains("text-dark")&&(l[y].classList.remove("text-dark"),l[y].classList.add("text-white"));for(var y=0;y<c.length;y++)c[y].classList.contains("text-dark")&&(c[y].classList.remove("text-dark"),c[y].classList.add("text-white"));for(var y=0;y<u.length;y++)u[y].classList.contains("text-secondary")&&(u[y].classList.remove("text-secondary"),u[y].classList.add("text-white"),u[y].classList.add("opacity-8"));for(var y=0;y<f.length;y++)f[y].classList.contains("bg-gray-100")&&(f[y].classList.remove("bg-gray-100"),f[y].classList.add("bg-gray-600"));for(var y=0;y<g.length;y++)g[y].classList.remove("text-dark"),g[y].classList.add("text-white");for(var y=0;y<L.length;y++)L[y].hasAttribute("fill")&&L[y].setAttribute("fill","#fff");for(var y=0;y<h.length;y++)h[y].classList.add("border-dark");e.setAttribute("checked","true")}}sidenav&&window.addEventListener("resize",navbarColorOnResize),window.addEventListener("resize",sidenavTypeOnResize),window.addEventListener("load",sidenavTypeOnResize);const indicators=document.querySelectorAll(".indicator"),sections=document.querySelectorAll("section");if(indicators){const P0=()=>{var e=document.querySelector(".indicator.active");e&&e.classList.remove("active")},Q0=e=>{new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(P0(),e=e.target,document.querySelector(`a[href='#${e.id}']`).classList.add("active"))})},{root:null,rootMargin:"0px",threshold:.75}).observe(e)};indicators.forEach(e=>{e.addEventListener("click",function(e){e.preventDefault(),document.querySelector(this.getAttribute("href")).scrollIntoView({behavior:"smooth"}),P0(),this.classList.add("active")})}),sections.forEach(Q0)} | ||
//# sourceMappingURL=_site_dashboard_free/assets/js/dashboard-free.js.map |
@@ -7,8 +7,8 @@ /* | ||
Lines: 236 was changed from top: 5px to top: 50% and we added margin-top: -9px. In this way the close button will be aligned vertically | ||
Line:219 - modified when the icon is set, we add the class "alert-with-icon", so there will be enough space for the icon. | ||
Lines: 179/222 - class() was changed to html() so we can add the Material Design Icons | ||
Lines: 238, 239 was changed from top: 5px to top: 50% and we added margin-top: -13px. In this way the close button will be aligned vertically | ||
Line:222 - modified when the icon is set, we add the class "alert-with-icon", so there will be enough space for the icon. | ||
*/ | ||
@@ -54,3 +54,3 @@ | ||
spacing: 10, | ||
z_index: 1031, | ||
z_index: 1060, | ||
delay: 5000, | ||
@@ -68,12 +68,15 @@ timer: 1000, | ||
onClosed: null, | ||
onClick: null, | ||
icon_type: 'class', | ||
template: '<div data-notify="container" class="col-11 col-md-4 alert alert-{0}" role="alert"><button type="button" aria-hidden="true" class="close" data-notify="dismiss"><i class="material-icons">close</i></button><i data-notify="icon" class="material-icons"></i><span data-notify="title">{1}</span> <span data-notify="message">{2}</span><div class="progress" data-notify="progressbar"><div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div></div><a href="{3}" target="{4}" data-notify="url"></a></div>' | ||
template: '<div data-notify="container" class="col-xs-11 col-sm-4 alert alert-{0}" role="alert"><button type="button" aria-hidden="true" class="close" data-notify="dismiss"><i class="tim-icons icon-simple-remove"></i></button><span data-notify="icon"></span> <span data-notify="title">{1}</span> <span data-notify="message">{2}</span><div class="progress" data-notify="progressbar"><div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div></div><a href="{3}" target="{4}" data-notify="url"></a></div>' | ||
}; | ||
String.format = function() { | ||
var args = arguments; | ||
var str = arguments[0]; | ||
for (var i = 1; i < arguments.length; i++) { | ||
str = str.replace(RegExp("\\{" + (i - 1) + "\\}", "gm"), arguments[i]); | ||
} | ||
return str; | ||
return str.replace(/(\{\{\d\}\}|\{\d\})/g, function(str) { | ||
if (str.substring(0, 2) === "{{") return str; | ||
var num = parseInt(str.match(/\d/)[0]); | ||
return args[num + 1]; | ||
}); | ||
}; | ||
@@ -86,3 +89,3 @@ | ||
var $el = $(el); | ||
var title = $el.find('[data-notify="title"]').text().trim(); | ||
var title = $el.find('[data-notify="title"]').html().trim(); | ||
var message = $el.find('[data-notify="message"]').html().trim(); | ||
@@ -178,3 +181,3 @@ | ||
if (self.settings.icon_type.toLowerCase() === 'class') { | ||
$icon.html(commands[cmd]); | ||
$icon.removeClass(self.settings.content.icon).addClass(commands[cmd]); | ||
} else { | ||
@@ -186,2 +189,3 @@ if (!$icon.is('img')) { | ||
} | ||
self.settings.content.icon = commands[command]; | ||
break; | ||
@@ -224,7 +228,6 @@ case "progress": | ||
setIcon: function() { | ||
this.$ele.addClass('alert-with-icon'); | ||
if (this.settings.icon_type.toLowerCase() === 'class') { | ||
this.$ele.find('[data-notify="icon"]').html(this.settings.content.icon); | ||
this.$ele.find('[data-notify="icon"]').addClass(this.settings.content.icon); | ||
} else { | ||
@@ -243,3 +246,3 @@ if (this.$ele.find('[data-notify="icon"]').is('img')) { | ||
top: '50%', | ||
marginTop: '-9px', | ||
marginTop: '-13px', | ||
zIndex: this.settings.z_index + 2 | ||
@@ -264,3 +267,3 @@ }); | ||
display: 'inline-block', | ||
margin: '15px auto', | ||
margin: '0px auto', | ||
position: this.settings.position ? this.settings.position : (this.settings.element === 'body' ? 'fixed' : 'absolute'), | ||
@@ -310,2 +313,3 @@ transition: 'all .5s ease-in-out', | ||
}).one(this.animations.end, function() { | ||
self.$ele.removeClass(self.settings.animate.enter); | ||
if ($.isFunction(self.settings.onShown)) { | ||
@@ -331,2 +335,10 @@ self.settings.onShown.call(this); | ||
if ($.isFunction(self.settings.onClick)) { | ||
this.$ele.on('click', function(event) { | ||
if (event.target != self.$ele.find('[data-notify="dismiss"]')[0]) { | ||
self.settings.onClick.call(this, event); | ||
} | ||
}); | ||
} | ||
this.$ele.mouseover(function() { | ||
@@ -360,3 +372,3 @@ $(this).data('data-hover', "true"); | ||
this.$ele.data('closing', 'true').addClass(this.settings.animate.exit); | ||
this.$ele.attr('data-closing', 'true').addClass(this.settings.animate.exit); | ||
self.reposition(posX); | ||
@@ -408,10 +420,26 @@ | ||
}; | ||
$.notifyClose = function(command) { | ||
if (typeof command === "undefined" || command === "all") { | ||
$.notifyClose = function(selector) { | ||
if (typeof selector === "undefined" || selector === "all") { | ||
$('[data-notify]').find('[data-notify="dismiss"]').trigger('click'); | ||
} else if (selector === 'success' || selector === 'info' || selector === 'warning' || selector === 'danger') { | ||
$('.alert-' + selector + '[data-notify]').find('[data-notify="dismiss"]').trigger('click'); | ||
} else if (selector) { | ||
$(selector + '[data-notify]').find('[data-notify="dismiss"]').trigger('click'); | ||
} else { | ||
$('[data-notify-position="' + command + '"]').find('[data-notify="dismiss"]').trigger('click'); | ||
$('[data-notify-position="' + selector + '"]').find('[data-notify="dismiss"]').trigger('click'); | ||
} | ||
}; | ||
$.notifyCloseExcept = function(selector) { | ||
if (selector === 'success' || selector === 'info' || selector === 'warning' || selector === 'danger') { | ||
$('[data-notify]').not('.alert-' + selector).find('[data-notify="dismiss"]').trigger('click'); | ||
} else { | ||
$('[data-notify]').not(selector).find('[data-notify="dismiss"]').trigger('click'); | ||
} | ||
}; | ||
})); |
# Change Log | ||
## [3.1.0] 2023-05-03 | ||
### Updates & Improvements | ||
- update Bootstrap to v5.2.2 | ||
- update Popper to v2.11.6 | ||
- fix issues | ||
- update sidebar & navbar | ||
## [3.0.5] 2022-10-10 | ||
### Updates & Improvements | ||
- update Bootstrap to v5.2.2 | ||
- update Popper to v2.11.6 | ||
- update `start-0` and `end-0` classes on RTL | ||
- fix perfectScrollbar issue on RTL | ||
- fix the NavTabs second active tab issue | ||
## [3.0.4] 2022-06-15 | ||
### BugFixing | ||
- fix inputs on RTL | ||
- update <html> tag border | ||
## [3.0.3] 2022-06-08 | ||
### Update and Improvements | ||
- update Bootstrap to v5.2.0-beta1 | ||
- fix modal close button on docs | ||
- update color of `.form-control` on Dark Mode | ||
- update typo on card stats | ||
- fix Safari browser button styling issue | ||
- add sticky navbar option on Profile page | ||
- add link to Sign In page in navbar | ||
- update dropdown item color on hover - Dark Mode | ||
## [3.0.2] 2022-03-25 | ||
### Updates | ||
- update SCSS folder | ||
## [3.0.1] 2022-03-07 | ||
### Update and Improvements | ||
- fix running 'npm install' issue | ||
- fix SCSS compiling issues | ||
## [3.0.0] 2021-10-19 | ||
### Refactor and Improvements | ||
- Update Bootstrap to v5.1.3 | ||
- Update to Material Design 2 | ||
- New Documentation version | ||
- New Product structure | ||
## [2.1.2] 2020-02-11 | ||
### Improvements, BugFixing | ||
- Fixed the broken links | ||
- Improvements and BugFixing for documentation | ||
- Change versions on CSS and JS files | ||
## [2.1.1] 2018-11-13 | ||
### Improvements, BugFixing | ||
- Changes for responsive devices | ||
- Improvements and BugFixing for documentation | ||
- Change versions on CSS and JS files | ||
- Pro Documentation integrated in Free Version | ||
- Eliminated extra CSS and JS | ||
## [2.1.0] 2018-06-13 | ||
@@ -4,0 +65,0 @@ ### Bug fixing |
@@ -1,17 +0,17 @@ | ||
var gulp = require('gulp'); | ||
var path = require('path'); | ||
var sass = require('gulp-sass'); | ||
var gulp = require('gulp'); | ||
var path = require('path'); | ||
var sass = require('gulp-sass')(require('sass')); | ||
var autoprefixer = require('gulp-autoprefixer'); | ||
var sourcemaps = require('gulp-sourcemaps'); | ||
var open = require('gulp-open'); | ||
var sourcemaps = require('gulp-sourcemaps'); | ||
var open = require('gulp-open'); | ||
var Paths = { | ||
HERE : './', | ||
DIST : 'dist/', | ||
CSS : './assets/css/', | ||
SCSS_TOOLKIT_SOURCES : './assets/scss/material-dashboard.scss', | ||
SCSS : './assets/scss/**/**' | ||
HERE: './', | ||
DIST: 'dist/', | ||
CSS: './assets/css/', | ||
SCSS_TOOLKIT_SOURCES: './assets/scss/material-dashboard.scss', | ||
SCSS: './assets/scss/**/**' | ||
}; | ||
gulp.task('compile-scss', function () { | ||
gulp.task('compile-scss', function() { | ||
return gulp.src(Paths.SCSS_TOOLKIT_SOURCES) | ||
@@ -25,11 +25,11 @@ .pipe(sourcemaps.init()) | ||
gulp.task('watch', function () { | ||
gulp.watch(Paths.SCSS, ['compile-scss']); | ||
gulp.task('watch', function() { | ||
gulp.watch(Paths.SCSS, gulp.series('compile-scss')); | ||
}); | ||
gulp.task('open', function(){ | ||
gulp.src('./examples/dashboard.html') | ||
.pipe(open()); | ||
gulp.task('open', function() { | ||
gulp.src('pages/dashboard.html') | ||
.pipe(open()); | ||
}); | ||
gulp.task('open-app', ['open', 'watch']); | ||
gulp.task('open-app', gulp.parallel('open', 'watch')); |
@@ -1,40 +0,13 @@ | ||
# Prerequisites | ||
<!-- | ||
IMPORTANT: Please use the following link to create a new issue: | ||
Please answer the following questions for yourself before submitting an issue. | ||
https://www.creative-tim.com/new-issue/material-dashboard | ||
- [ ] I am running the latest version | ||
- [ ] I checked the documentation and found no answer | ||
- [ ] I checked to make sure that this issue has not already been filed | ||
- [ ] I'm reporting the issue to the correct repository (for multi-repository projects) | ||
**If your issue was not created using the app above, it will be closed immediately.** | ||
--> | ||
# Expected Behavior | ||
Please describe the behavior you are expecting | ||
# Current Behavior | ||
What is the current behavior? | ||
# Failure Information (for bugs) | ||
Please help provide information about the failure if this is a bug. If it is not a bug, please remove the rest of this template. | ||
## Steps to Reproduce | ||
Please provide detailed steps for reproducing the issue. | ||
1. step 1 | ||
2. step 2 | ||
3. you get it... | ||
## Context | ||
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions. | ||
* Device: | ||
* Operating System: | ||
* Browser and Version: | ||
## Failure Logs | ||
Please include any relevant log snippets or files here. | ||
<!-- | ||
Love Creative Tim? Do you need Angular, React, Vuejs or HTML? You can visit: | ||
👉 https://www.creative-tim.com/bundles | ||
👉 https://www.creative-tim.com | ||
--> |
MIT License | ||
Copyright (c) 2017 Creative Tim | ||
Copyright (c) 2017 Creative Tim (https://www.creative-tim.com) | ||
@@ -5,0 +5,0 @@ Permission is hereby granted, free of charge, to any person obtaining a copy |
{ | ||
"name": "material-dashboard", | ||
"version": "2.1.0", | ||
"description": "Material Dasboard, a Google Material Desgin. Coded by Creative Tim", | ||
"main": "index.html", | ||
"version": "3.0.9", | ||
"description": "Freebie Dashboard for Bootstrap 5", | ||
"main": "pages/dashboard.html", | ||
"directories": { | ||
@@ -10,3 +10,6 @@ "example": "root" | ||
"scripts": { | ||
"test": "echo \"Error: no test specified\" && exit 1" | ||
"open-app": "gulp open-app", | ||
"start": "npm run open-app", | ||
"test": "echo \"Error: no test specified\" && exit 1", | ||
"watch": "gulp-watch" | ||
}, | ||
@@ -19,6 +22,4 @@ "repository": { | ||
"material dashboard", | ||
"bootstrap material admin", | ||
"bootstrap material dashboard", | ||
"material design admin", | ||
"material design", | ||
"bootstrap 5", | ||
"dashboard", | ||
"creative tim", | ||
@@ -31,3 +32,2 @@ "html dashboard", | ||
"css3 dashboard", | ||
"bootstrap admin", | ||
"bootstrap dashboard", | ||
@@ -43,11 +43,12 @@ "frontend", | ||
"devDependencies": { | ||
"gulp": "^3.9.1", | ||
"gulp-autoprefixer": "^5.0.0", | ||
"gulp": "^4.0.2", | ||
"gulp-autoprefixer": "^7.0.1", | ||
"gulp-clean": "^0.4.0", | ||
"gulp-install": "^1.1.0", | ||
"gulp-sass": "^4.0.1", | ||
"gulp-sourcemaps": "^2.6.4", | ||
"gulp-open": "^3.0.1" | ||
"gulp-sass": "^5.1.0", | ||
"gulp-sourcemaps": "^2.6.5", | ||
"gulp-open": "^3.0.1", | ||
"sass": "^1.49.9" | ||
}, | ||
"homepage": "http://demos.creative-tim.com/material-dashboard/examples/dashboard.html?_ga=2.143239282.69692347.1519629130-329288944.1519374311" | ||
"homepage": "http://creative-tim.com/product/material-dashboard" | ||
} |
171
README.md
@@ -1,58 +0,71 @@ | ||
# [Material Dashboard](http://demos.creative-tim.com/material-dashboard/examples/dashboard.html) [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social&logo=twitter)](https://twitter.com/home?status=Material%20Dashboard,%20a%20free%20Material%20Bootstrap%204%20Admin%20Template%20%E2%9D%A4%EF%B8%8F%20https%3A//bit.ly/2Lyat1Y%20%23bootstrap%20%23material%20%23design%20%23developers%20%23freebie%20%20via%20%40CreativeTim) | ||
# [Material Dashboard 2](http://demos.creative-tim.com/material-dashboard/pages/dashboard.html?ref=readme-md2) [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social&logo=twitter)](https://twitter.com/intent/tweet?url=https://www.creative-tim.com/product/material-dashboard&text=Check%20Material%20Dashboard%202%20made%20by%20@CreativeTim%20#webdesign%20#dashboard%20#materialdesign%20#html%20https://www.creative-tim.com/product/material-dashboard) [![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/FhCJCaHdQa) | ||
![version](https://img.shields.io/badge/version-3.1.0-blue.svg) [![GitHub issues open](https://img.shields.io/github/issues/creativetimofficial/material-dashboard.svg)](https://github.com/creativetimofficial/material-dashboard/issues?q=is%3Aopen+is%3Aissue) [![GitHub issues closed](https://img.shields.io/github/issues-closed-raw/creativetimofficial/material-dashboard.svg)](https://github.com/creativetimofficial/material-dashboard/issues?q=is%3Aissue+is%3Aclosed) | ||
![Image](https://s3.amazonaws.com/creativetim_bucket/products/50/original/material-dashboard.jpg?1634648873) | ||
![version](https://img.shields.io/badge/version-2.0.2-blue.svg) ![license](https://img.shields.io/badge/license-MIT-blue.svg) [![GitHub issues open](https://img.shields.io/github/issues/creativetimofficial/material-dashboard.svg?maxAge=2592000)]() [![GitHub issues closed](https://img.shields.io/github/issues-closed-raw/creativetimofficial/material-dashboard.svg?maxAge=2592000)]() [![Join the chat at https://gitter.im/NIT-dgp/General](https://badges.gitter.im/NIT-dgp/General.svg)](https://gitter.im/creative-tim/material-dashboard?utm_source=share-link&utm_medium=link&utm_campaign=share-link) [![Chat](https://img.shields.io/badge/chat-on%20discord-7289da.svg)](https://discord.gg/E4aHAQy) | ||
[Material Dashboard](https://www.creative-tim.com/product/material-dashboard) is a free Material Bootstrap Admin with a fresh, new design inspired by Google's Material Design. We are very excited to introduce our take on the material concepts through an easy to use and beautiful set of components. Material Dashboard was built over the popular Bootstrap framework and it comes with a couple of third-party plugins redesigned to fit in with the rest of the elements. | ||
![Product Gif](assets/github/product.gif) | ||
Material Dashboard is a free Material Bootstrap Admin with a fresh, new design inspired by Google's Material Design. We are very excited to introduce our take on the material concepts through an easy to use and beautiful set of components. Material Dashboard was built over the popular Bootstrap framework and it comes with a couple of third-party plugins redesigned to fit in with the rest of the elements. | ||
Material Dashboard makes use of light, surface and movement. The general layout resembles sheets of paper following multiple different layers, so that the depth and order is obvious. The navigation stays mainly on the left sidebar and the content is on the right inside the main panel. | ||
This product came as a result of users asking for a material dashboard after we released our successful [Material Kit](http://www.creative-tim.com/product/material-kit). We developed it based on your feedback and it is a powerful bootstrap admin dashboard, which allows you to build products like admin panels, content managements systems and CRMs. | ||
This product came as a result of users asking for a material dashboard after we released our successful [Material Kit](https://www.creative-tim.com/product/material-kit). We developed it based on your feedback and it is a powerful bootstrap admin dashboard, which allows you to build products like admin panels, content managements systems and CRMs. | ||
Material Dashboard comes with 5 color filter choices for both the sidebar and the card headers (blue, green, orange, red and purple) and an option to have a background image on the sidebar. | ||
Material Dashboard uses a framework built by our friend [Federico - Bootstrap Material Design](http://fezvrasta.github.io/bootstrap-material-design/), who did an amazing job creating the backbone for the material effects, animations, ripples and transitions. Big thanks to his team for the effort and forward thinking they put into it. | ||
Special thanks go to: | ||
[Robert McIntosh](https://github.com/mouse0270/bootstrap-notify) for the notification system. | ||
[Chartist](https://gionkunz.github.io/chartist-js/) for the wonderful charts. | ||
- [Robert McIntosh](https://github.com/mouse0270/bootstrap-notify) for the notification system. | ||
- [Chartist](https://gionkunz.github.io/chartist-js/) for the wonderful charts. | ||
We are very excited to share this dashboard with you and we look forward to hearing your feedback! | ||
- [Nepcha Analytics](https://nepcha.com?ref=readme) for the analytics tool. Nepcha is already integrated with Material Dashboard. You can use it to gain insights into your sources of traffic. | ||
You can find the Github Repo here. | ||
## Table of Contents | ||
* [Versions](#versions) | ||
* [Demo](#demo) | ||
* [Quick Start](#quick-start) | ||
* [Documentation](#documentation) | ||
* [File Structure](#file-structure) | ||
* [Browser Support](#browser-support) | ||
* [Resources](#resources) | ||
* [Reporting Issues](#reporting-issues) | ||
* [Technical Support or Questions](#technical-support-or-questions) | ||
* [Licensing](#licensing) | ||
* [Useful Links](#useful-links) | ||
- [Material Dashboard 2 ](#material-dashboard-2--) | ||
- [Table of Contents](#table-of-contents) | ||
- [Versions](#versions) | ||
- [Demo](#demo) | ||
- [Quick start](#quick-start) | ||
- [Documentation](#documentation) | ||
- [File Structure](#file-structure) | ||
- [Browser Support](#browser-support) | ||
- [Resources](#resources) | ||
- [Reporting Issues](#reporting-issues) | ||
- [Upgrade to Premium version](#upgrade-to-premium-version) | ||
- [Technical Support or Questions](#technical-support-or-questions) | ||
- [Licensing](#licensing) | ||
- [Useful Links](#useful-links) | ||
- [Social Media](#social-media) | ||
## Versions | ||
[<img src="assets/github/html.png" width="60" height="60" />](https://www.creative-tim.com/product/material-dashboard) | ||
[<img src="assets/github/react.svg" width="60" height="60" />](https://www.creative-tim.com/product/material-dashboard-react) | ||
[<img src="assets/github/vuejs.png" width="60" height="60" />](https://www.creative-tim.com/product/vue-material-dashboard) | ||
[<img src="assets/github/angular.png" width="60" height="60" />](https://www.creative-tim.com/product/material-dashboard-angular2) | ||
[<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/html-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/material-dashboard)[<img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/master/logos/figma-logo.jpg" width="60" height="60" />](https://www.creative-tim.com/product/material-tailwind-dashboard-react) [<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/react-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/material-dashboard-react)[<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/vue-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/vue-material-dashboard)[<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/angular-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/material-dashboard-angular2)[<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/react-native-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/material-kit-react-native)[<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/laravel-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/material-dashboard-laravel)[<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/vuetify-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/vuetify-material-dashboard)[<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/django-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/material-dashboard-django)[<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/nextjs-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/nextjs-material-dashboard)[<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/flask-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/material-dashboard-flask)[<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/aspnet-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/material-dashboard-react-asp-net)[<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/nodejs-logo.jpg?raw=true" width="60" height="60" />](https://www.creative-tim.com/product/material-dashboard-react-nodejs) | ||
| HTML | React | Vue | Angular | | ||
| Bootstrap 5 | Bootstrap 4 | Bootstrap 3 | Dark HTML | | ||
| --- | --- | --- | --- | | ||
| [![Material Dashboard HTML](assets/github/opt_md_thumbnail.jpg)](https://www.creative-tim.com/product/material-dashboard) | [![Material Dashboard React](assets/github/opt_mdr_thumbnail.jpg)](https://www.creative-tim.com/product/material-dashboard-react) | [![Vue Material Dashboard ](assets/github/opt_md_vue_thumbnail.jpg)](https://www.creative-tim.com/product/vue-material-dashboard) | [![Material Dashboard Angular](assets/github/opt_md_angular_thumbnail.jpg)](https://www.creative-tim.com/product/material-dashboard-angular2) | ||
| [![Material Dashboard HTML](https://s3.amazonaws.com/creativetim_bucket/products/50/original/material-dashboard.jpg?1634648873)](https://www.creative-tim.com/product/material-dashboard) | [![Material Dashboard Bootstrap 4](https://s3.amazonaws.com/creativetim_bucket/products/537/original/opt_md_thumbnail.jpeg?1634047548)](https://www.creative-tim.com/product/material-dashboard-bs4) | [![Material Dashboard Bootstrap 3](https://s3.amazonaws.com/creativetim_bucket/products/78/original/opt_mdp_thumbnail.jpg?1521133551)](https://www.creative-tim.com/product/material-dashboard-bs4) | [![Material Dashboard Dark Edition](https://s3.amazonaws.com/creativetim_bucket/products/95/original/opt_mdb_thumbnail.jpg?1535551949)](https://www.creative-tim.com/product/material-dashboard-dark) | | ||
| React | Tailwind | Vue | Angular | | ||
| --- | --- | --- | --- | | ||
| [![Material Dashboard React](https://s3.amazonaws.com/creativetim_bucket/products/488/original/material-tailwind-react-dashboard.jpg?1667367968)](https://www.creative-tim.com/product/material-tailwind-dashboard-react) | [![Material Tailwind Dashboard React](https://s3.amazonaws.com/creativetim_bucket/products/71/original/material-dashboard-react.jpg?1638950990)](https://www.creative-tim.com/product/material-dashboard-react) | [![Vue Material Dashboard](https://s3.amazonaws.com/creativetim_bucket/products/81/original/opt_md_vue_thumbnail.jpg?1534938464)](https://www.creative-tim.com/product/vue-material-dashboard) | [![Material Dashboard Angular](https://s3.amazonaws.com/creativetim_bucket/products/53/original/opt_md_angular_thumbnail.jpg?1551358074)](https://www.creative-tim.com/product/material-dashboard-angular2) | | ||
| Vuetify | React Native | Nextjs | Nodejs | | ||
| --- | --- | --- | --- | | ||
| [![Material Dashboard Vuetify](https://s3.amazonaws.com/creativetim_bucket/products/100/original/opt_md_vuetify_thumbnail.jpg)](https://www.creative-tim.com/product/vuetify-material-dashboard) | [![React Native](https://s3.amazonaws.com/creativetim_bucket/products/144/original/opt_mkrn_thumbnail.jpg)](https://www.creative-tim.com/product/material-kit-react-native) | [![Nextjs Material Dashboard](https://s3.amazonaws.com/creativetim_bucket/products/341/original/opt_md_nextjs_thumbnail.jpg)](https://www.creative-tim.com/product/nextjs-material-dashboard) | [![Material Dashboard React Nodejs](https://s3.amazonaws.com/creativetim_bucket/products/157/original/react-material-dashboard-nodejs.jpg?1680251614)](https://www.creative-tim.com/product/material-dashboard-react-nodejs) | ||
| Laravel | Asp.NET | Django | Flask | | ||
| --- | --- | --- | --- | | ||
| [![Material Dashboard Laravel](https://s3.amazonaws.com/creativetim_bucket/products/154/original/material-dashboard-laravel.jpg?1664460694)](https://www.creative-tim.com/product/material-dashboard-laravel) | [![Asp.NET](https://s3.amazonaws.com/creativetim_bucket/products/397/original/opt_md_aspnet_thumbnail.jpg)](https://www.creative-tim.com/product/material-dashboard-react-asp-net) | [![Material Dashboard Django](https://s3.amazonaws.com/creativetim_bucket/products/337/original/opt_md_django_thumbnail.jpg)](https://www.creative-tim.com/product/material-dashboard-django) | [![Material Dashboard Flask](https://s3.amazonaws.com/creativetim_bucket/products/338/original/opt_md_flask_thumbnail.jpg)](https://www.creative-tim.com/product/material-dashboard-flask) | ||
## Demo | ||
| Dashboard | User Profile | Tables | Maps | Notification | | ||
| --- | --- | --- | --- | --- | | ||
| [![Start page](assets/github/dashboard.png)](https://demos.creative-tim.com/material-dashboard/examples/dashboard.html) | [![User profile page](assets/github/user_profile.png)](https://demos.creative-tim.com/material-dashboard/examples/user.html) | [![Tables page ](assets/github/tables.png)](https://demos.creative-tim.com/material-dashboard/examples/table.html) | [![Maps Page](assets/github/maps.png)](https://demos.creative-tim.com/material-dashboard/examples/maps.html) | [![Notification page](assets/github/notification.png)](https://demos.creative-tim.com/material-dashboard/examples/notifications.html) | ||
- [Start page](https://demos.creative-tim.com/material-dashboard/examples/dashboard.html) | ||
- [User profile page](https://demos.creative-tim.com/material-dashboard/examples/user.html) | ||
- [Tables page ](https://demos.creative-tim.com/material-dashboard/examples/tables.html) | ||
- [Maps Page](https://demos.creative-tim.com/material-dashboard/examples/map.html) | ||
- [Notifications page](https://demos.creative-tim.com/material-dashboard/examples/notifications.html) | ||
@@ -64,43 +77,39 @@ [View More](https://demos.creative-tim.com/material-dashboard/examples/dashboard.html). | ||
Quick start options: | ||
- `npm i material-dashboard` | ||
- Clone the repo: `git clone https://github.com/creativetimofficial/material-dashboard.git`. | ||
- [Download from Github](https://github.com/creativetimofficial/material-dashboard/archive/master.zip). | ||
- [Download from Creative Tim](http://www.creative-tim.com/product/material-dashboard). | ||
- [Download from Creative Tim](https://www.creative-tim.com/product/material-dashboard). | ||
## Documentation | ||
The documentation for the Material Dashboard is hosted at our [website](https://demos.creative-tim.com/material-dashboard/docs/2.0/getting-started/introduction.html). | ||
The documentation for the Material Dashboard is hosted at our [website](https://demos.creative-tim.com/material-dashboard/docs/2.1/getting-started/introduction.html). | ||
## File Structure | ||
Within the download you'll find the following directories and files: | ||
``` | ||
material-dashboard/ | ||
├── assets/ | ||
| ├── css/ | ||
| | ├── bootstrap.min.css | ||
| | ├── material-dashboard.css | ||
| | └── demo.css | ||
| ├── js/ | ||
| | ├── bootstrap-notify.js | ||
| | ├── bootstrap.min.js | ||
| | ├── chartist.min.js | ||
| | ├── demo.js | ||
| | ├── jquery-3.1.0.min.js | ||
| | ├── material-dashboard.js | ||
| | └── material.min.js | ||
| ├── sass/ | ||
| | ├── md | ||
| | └── material-dashboard.scss | ||
| └── img/ | ||
| | ||
├── documentation/ | ||
├── examples/ | ||
material-dashboard | ||
├── assets | ||
│ ├── css | ||
│ ├── fonts | ||
│ ├── img | ||
│ ├── js | ||
│ │ ├── core | ||
│ │ ├── plugins | ||
│ │ └── material-dashboard.js | ||
│ │ └── material-dashboard.js.map | ||
│ │ └── material-dashboard.min.js | ||
│ └── scss | ||
│ ├── material-dashboard | ||
│ └── material-dashboard.scss | ||
├── docs | ||
│ ├── documentation.html | ||
├── pages | ||
├── CHANGELOG.md | ||
├── gulpfile.js | ||
├── package.json | ||
``` | ||
## Browser Support | ||
@@ -110,15 +119,19 @@ | ||
<img src="assets/github/chrome.png" width="64" height="64"> <img src="assets/github/firefox.png" width="64" height="64"> <img src="assets/github/edge.png" width="64" height="64"> <img src="assets/github/safari.png" width="64" height="64"> <img src="assets/github/opera.png" width="64" height="64"> | ||
<img src="https://s3.amazonaws.com/creativetim_bucket/github/browser/chrome.png" width="64" height="64"> <img src="https://s3.amazonaws.com/creativetim_bucket/github/browser/firefox.png" width="64" height="64"> <img src="https://s3.amazonaws.com/creativetim_bucket/github/browser/edge.png" width="64" height="64"> <img src="https://s3.amazonaws.com/creativetim_bucket/github/browser/safari.png" width="64" height="64"> <img src="https://s3.amazonaws.com/creativetim_bucket/github/browser/opera.png" width="64" height="64"> | ||
## Resources | ||
- Demo: https://demos.creative-tim.com/material-dashboard/examples/dashboard.html | ||
- Download Page: https://www.creative-tim.com/product/material-dashboard | ||
- Documentation: https://demos.creative-tim.com/material-dashboard/docs/2.0/getting-started/introduction.html | ||
- License Agreement: https://www.creative-tim.com/license | ||
- Support: https://www.creative-tim.com/contact-us | ||
- Demo: <https://demos.creative-tim.com/material-dashboard/pages/dashboard.html> | ||
- Download Page: <https://www.creative-tim.com/product/material-dashboard> | ||
- Documentation: <https://demos.creative-tim.com/material-dashboard/docs/2.1/getting-started/introduction.html> | ||
- License Agreement: <https://www.creative-tim.com/license> | ||
- PRO Version: <https://www.creative-tim.com/product/material-dashboard-pro> | ||
- Support: <https://www.creative-tim.com/contact-us> | ||
- Issues: [Github Issues Page](https://github.com/creativetimofficial/material-dashboard/issues) | ||
- [Material Kit - For Front End Development](http://www.creative-tim.com/product/material-kit?ref=github-md-free) | ||
- [Material Kit](https://www.creative-tim.com/product/material-kit?ref=github-md-free) - For Front End Development | ||
- [Nepcha Analytics](https://nepcha.com?ref=readme) - Analytics tool for your website | ||
## Reporting Issues | ||
We use GitHub Issues as the official bug tracker for the Material Dashboard. Here are some advices for our users that want to report an issue: | ||
@@ -130,2 +143,6 @@ | ||
## Upgrade to Premium version | ||
Are you looking for more components? Please check our Premium Version of Material Dashboard [here](https://www.creative-tim.com/product/material-dashboard-pro/) | ||
## Technical Support or Questions | ||
@@ -135,19 +152,23 @@ | ||
## Licensing | ||
- Copyright 2018 Creative Tim (http://www.creative-tim.com) | ||
- Copyright 2023 Creative Tim (https://www.creative-tim.com/) | ||
- Licensed under MIT (https://github.com/creativetimofficial/material-dashboard/blob/master/LICENSE.md) | ||
## Useful Links | ||
More products from Creative Tim: <http://www.creative-tim.com/products> | ||
Tutorials: <https://www.youtube.com/channel/UCVyTG4sCw-rOvB9oHkzZD1w> | ||
## Useful Links | ||
Freebies: <http://www.creative-tim.com/products> | ||
- [More products](https://www.creative-tim.com/templates?ref=readme-sudp) from Creative Tim | ||
- [Tutorials](https://www.youtube.com/channel/UCVyTG4sCw-rOvB9oHkzZD1w) | ||
- [Freebies](https://www.creative-tim.com/bootstrap-themes/free?ref=readme-sudp) from Creative Tim | ||
- [Affiliate Program](https://www.creative-tim.com/affiliates/new?ref=readme-sudp) (earn money) | ||
- [Bundles](https://www.creative-tim.com/bundles) | ||
- [Material Design](https://www.creative-tim.com/design-system/material) | ||
- [Get Discount](https://www.creative-tim.com/coupon) | ||
Affiliate Program (earn money): <http://www.creative-tim.com/affiliates/new> | ||
##### Social Media | ||
Social Media: | ||
Twitter: <https://twitter.com/CreativeTim> | ||
@@ -159,4 +180,4 @@ | ||
Google+: <https://plus.google.com/+CreativetimPage> | ||
TikTok: <https://tiktok.com/@creative.tim> | ||
Instagram: <https://instagram.com/creativetimofficial> |
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
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
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
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
Native code
Supply chain riskContains native code (e.g., compiled binaries or shared libraries). Including native code can obscure malicious behavior.
Found 8 instances in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
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
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
19871099
309
30377
2
179
0
8
8