Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

material-dashboard

Package Overview
Dependencies
Maintainers
6
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

material-dashboard - npm Package Compare versions

Comparing version 2.1.0 to 3.0.9

.github/workflows/main.yml

836

assets/js/core/popper.min.js

@@ -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"
}

@@ -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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc