wize-admin-library 0.1.15 → 0.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,31 +1,31 @@
1
1
  import { computed as h, ref as v, onMounted as w, onBeforeUnmount as z } from "vue";
2
- function _(i, e, t, a, s, l, r, d) {
3
- var o = typeof i == "function" ? i.options : i;
4
- e && (o.render = e, o.staticRenderFns = t, o._compiled = !0), a && (o.functional = !0), l && (o._scopeId = "data-v-" + l);
5
- var c;
6
- if (r ? (c = function(n) {
2
+ function f(i, e, t, a, s, l, o, u) {
3
+ var c = typeof i == "function" ? i.options : i;
4
+ e && (c.render = e, c.staticRenderFns = t, c._compiled = !0), a && (c.functional = !0), l && (c._scopeId = "data-v-" + l);
5
+ var r;
6
+ if (o ? (r = function(n) {
7
7
  n = n || // cached call
8
8
  this.$vnode && this.$vnode.ssrContext || // stateful
9
- this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !n && typeof __VUE_SSR_CONTEXT__ < "u" && (n = __VUE_SSR_CONTEXT__), s && s.call(this, n), n && n._registeredComponents && n._registeredComponents.add(r);
10
- }, o._ssrRegister = c) : s && (c = d ? function() {
9
+ this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !n && typeof __VUE_SSR_CONTEXT__ < "u" && (n = __VUE_SSR_CONTEXT__), s && s.call(this, n), n && n._registeredComponents && n._registeredComponents.add(o);
10
+ }, c._ssrRegister = r) : s && (r = u ? function() {
11
11
  s.call(
12
12
  this,
13
- (o.functional ? this.parent : this).$root.$options.shadowRoot
13
+ (c.functional ? this.parent : this).$root.$options.shadowRoot
14
14
  );
15
- } : s), c)
16
- if (o.functional) {
17
- o._injectStyles = c;
18
- var f = o.render;
19
- o.render = function(u, C) {
20
- return c.call(C), f(u, C);
15
+ } : s), r)
16
+ if (c.functional) {
17
+ c._injectStyles = r;
18
+ var _ = c.render;
19
+ c.render = function(d, C) {
20
+ return r.call(C), _(d, C);
21
21
  };
22
22
  } else {
23
- var p = o.beforeCreate;
24
- o.beforeCreate = p ? [].concat(p, c) : [c];
23
+ var p = c.beforeCreate;
24
+ c.beforeCreate = p ? [].concat(p, r) : [r];
25
25
  }
26
26
  return {
27
27
  exports: i,
28
- options: o
28
+ options: c
29
29
  };
30
30
  }
31
31
  const y = {
@@ -80,7 +80,7 @@ const y = {
80
80
  var m = function() {
81
81
  var e = this, t = e._self._c, a = e._self._setupProxy;
82
82
  return t("button", { class: a.classes, attrs: { disabled: e.disabled }, on: { click: a.handleClick } }, [e._t("default")], 2);
83
- }, b = [], k = /* @__PURE__ */ _(
83
+ }, b = [], k = /* @__PURE__ */ f(
84
84
  y,
85
85
  m,
86
86
  b,
@@ -127,7 +127,7 @@ const S = k.exports, $ = {
127
127
  var x = function() {
128
128
  var e = this, t = e._self._c, a = e._self._setupProxy;
129
129
  return t("div", { staticClass: "wz-admin-layout", class: "is-" + e.navigationStyle, attrs: { "data-theme": e.theme } }, [t("div", { staticClass: "wz-admin-layout-sidebar-container" }, [a.isCollapsed ? e._e() : t("div", { staticClass: "wz-admin-layout-backdrop", on: { click: a.toggleSidebar } }), e._t("sidebar", null, { collapsed: a.isCollapsed })], 2), t("div", { staticClass: "wz-admin-layout-main" }, [t("div", { staticClass: "wz-admin-layout-header-container" }, [e._t("header", null, { toggleSidebar: a.toggleSidebar, collapsed: a.isCollapsed })], 2), e.navigationStyle === "horizontal" ? t("div", { staticClass: "wz-admin-layout-horizontal-nav-container" }, [e._t("horizontal-nav")], 2) : e._e(), t("main", { staticClass: "wz-admin-layout-content" }, [e._t("default")], 2)])]);
130
- }, M = [], P = /* @__PURE__ */ _(
130
+ }, M = [], P = /* @__PURE__ */ f(
131
131
  $,
132
132
  x,
133
133
  M,
@@ -137,7 +137,7 @@ var x = function() {
137
137
  null,
138
138
  null
139
139
  );
140
- const H = P.exports, N = {
140
+ const W = P.exports, H = {
141
141
  __name: "WzSidebar",
142
142
  props: {
143
143
  /**
@@ -194,24 +194,24 @@ const H = P.exports, N = {
194
194
  },
195
195
  emits: ["item-click"],
196
196
  setup(i, { emit: e }) {
197
- const t = i, a = v(/* @__PURE__ */ new Set()), s = v(!1), l = h(() => t.collapsed && !s.value), r = (n) => n.key === t.activeKey, d = (n) => n.children && n.children.length > 0, o = (n) => a.value.has(n.key), c = (n) => {
198
- if (!d(n) || l.value)
197
+ const t = i, a = v(/* @__PURE__ */ new Set()), s = v(!1), l = h(() => t.collapsed && !s.value), o = (n) => n.key === t.activeKey, u = (n) => n.children && n.children.length > 0, c = (n) => a.value.has(n.key), r = (n) => {
198
+ if (!u(n) || l.value)
199
199
  return;
200
- const u = new Set(a.value);
201
- u.has(n.key) ? u.delete(n.key) : u.add(n.key), a.value = u;
200
+ const d = new Set(a.value);
201
+ d.has(n.key) ? d.delete(n.key) : d.add(n.key), a.value = d;
202
202
  };
203
- return { __sfc: !0, props: t, emit: e, openKeys: a, isHovered: s, visuallyCollapsed: l, isActive: r, hasChildren: d, isOpen: o, toggle: c, handleClick: (n) => {
203
+ return { __sfc: !0, props: t, emit: e, openKeys: a, isHovered: s, visuallyCollapsed: l, isActive: o, hasChildren: u, isOpen: c, toggle: r, handleClick: (n) => {
204
204
  if (l.value) {
205
205
  e("item-click", n);
206
206
  return;
207
207
  }
208
- d(n) ? c(n) : e("item-click", n);
208
+ u(n) ? r(n) : e("item-click", n);
209
209
  }, handleChildClick: (n) => {
210
210
  e("item-click", n);
211
211
  } };
212
212
  }
213
213
  };
214
- var O = function() {
214
+ var N = function() {
215
215
  var e = this, t = e._self._c, a = e._self._setupProxy;
216
216
  return t("aside", { staticClass: "wz-sidebar", class: { "wz-sidebar--collapsed": a.visuallyCollapsed }, on: { mouseenter: function(s) {
217
217
  a.isHovered = !0;
@@ -220,20 +220,20 @@ var O = function() {
220
220
  } } }, [t("div", { staticClass: "wz-sidebar-logo" }, [e._t("logo", function() {
221
221
  return [e.logoSrc || e.logoMiniSrc ? [a.visuallyCollapsed && e.logoMiniSrc ? t("img", { staticClass: "wz-sidebar-logo-img-mini", attrs: { src: e.logoMiniSrc, alt: "Mini Logo" } }) : !a.visuallyCollapsed && e.logoSrc ? t("img", { staticClass: "wz-sidebar-logo-img", attrs: { src: e.logoSrc, alt: "Logo" } }) : e._e()] : [e.logoIconHtml ? t("span", { staticClass: "wz-sidebar-logo-icon", domProps: { innerHTML: e._s(e.logoIconHtml) } }) : e._e(), t("span", { directives: [{ name: "show", rawName: "v-show", value: !a.visuallyCollapsed, expression: "!visuallyCollapsed" }], staticClass: "wz-sidebar-logo-text" }, [e._v(e._s(e.logoText))])]];
222
222
  })], 2), t("nav", { staticClass: "wz-sidebar-nav" }, [e._l(e.items, function(s, l) {
223
- return [s.type === "group" ? t("div", { directives: [{ name: "show", rawName: "v-show", value: !a.visuallyCollapsed, expression: "!visuallyCollapsed" }], key: `group-${l}`, staticClass: "wz-sidebar-group" }, [e._v(" " + e._s(s.label) + " ")]) : t("div", { key: s.key || l, staticClass: "wz-sidebar-item-wrapper" }, [t("div", { staticClass: "wz-sidebar-item", class: { "wz-sidebar-item--active": a.isActive(s) }, attrs: { title: a.visuallyCollapsed ? s.label : null }, on: { click: function(r) {
223
+ return [s.type === "group" ? t("div", { directives: [{ name: "show", rawName: "v-show", value: !a.visuallyCollapsed, expression: "!visuallyCollapsed" }], key: `group-${l}`, staticClass: "wz-sidebar-group" }, [e._v(" " + e._s(s.label) + " ")]) : t("div", { key: s.key || l, staticClass: "wz-sidebar-item-wrapper" }, [t("div", { staticClass: "wz-sidebar-item", class: { "wz-sidebar-item--active": a.isActive(s) }, attrs: { title: a.visuallyCollapsed ? s.label : null }, on: { click: function(o) {
224
224
  return a.handleClick(s);
225
225
  } } }, [t("span", { staticClass: "wz-sidebar-icon" }, [e._t("icon", function() {
226
226
  return [s.icon ? t("i", { class: s.icon, staticStyle: { "font-size": "1.125rem" } }) : s.iconHtml ? t("span", { domProps: { innerHTML: e._s(s.iconHtml) } }) : t("i", { staticClass: "ri-checkbox-blank-circle-line", staticStyle: { "font-size": "10px" } })];
227
- }, { item: s })], 2), t("span", { directives: [{ name: "show", rawName: "v-show", value: !a.visuallyCollapsed, expression: "!visuallyCollapsed" }], staticClass: "wz-sidebar-label" }, [e._v(e._s(s.label))]), a.hasChildren(s) ? t("span", { directives: [{ name: "show", rawName: "v-show", value: !a.visuallyCollapsed, expression: "!visuallyCollapsed" }], staticClass: "wz-sidebar-arrow", class: { "wz-sidebar-arrow--open": a.isOpen(s) } }, [t("i", { staticClass: "ri-arrow-right-s-line", staticStyle: { "font-size": "1.125rem" } })]) : e._e()]), t("div", { directives: [{ name: "show", rawName: "v-show", value: !a.visuallyCollapsed, expression: "!visuallyCollapsed" }], staticClass: "wz-sidebar-children-wrapper", class: { "is-open": a.hasChildren(s) && a.isOpen(s) } }, [t("div", { staticClass: "wz-sidebar-children-inner" }, [a.hasChildren(s) ? t("div", { staticClass: "wz-sidebar-children" }, e._l(s.children, function(r) {
228
- return t("div", { key: r.key, staticClass: "wz-sidebar-child-item", class: { "wz-sidebar-child-item--active": a.isActive(r) }, on: { click: function(d) {
229
- return a.handleChildClick(r);
230
- } } }, [t("span", { staticClass: "wz-sidebar-label" }, [e._v(e._s(r.label))]), a.hasChildren(r) ? t("span", { staticClass: "wz-sidebar-arrow" }, [t("i", { staticClass: "ri-arrow-right-s-line", staticStyle: { "font-size": "1rem" } })]) : e._e()]);
227
+ }, { item: s })], 2), t("span", { directives: [{ name: "show", rawName: "v-show", value: !a.visuallyCollapsed, expression: "!visuallyCollapsed" }], staticClass: "wz-sidebar-label" }, [e._v(e._s(s.label))]), a.hasChildren(s) ? t("span", { directives: [{ name: "show", rawName: "v-show", value: !a.visuallyCollapsed, expression: "!visuallyCollapsed" }], staticClass: "wz-sidebar-arrow", class: { "wz-sidebar-arrow--open": a.isOpen(s) } }, [t("i", { staticClass: "ri-arrow-right-s-line", staticStyle: { "font-size": "1.125rem" } })]) : e._e()]), t("div", { directives: [{ name: "show", rawName: "v-show", value: !a.visuallyCollapsed, expression: "!visuallyCollapsed" }], staticClass: "wz-sidebar-children-wrapper", class: { "is-open": a.hasChildren(s) && a.isOpen(s) } }, [t("div", { staticClass: "wz-sidebar-children-inner" }, [a.hasChildren(s) ? t("div", { staticClass: "wz-sidebar-children" }, e._l(s.children, function(o) {
228
+ return t("div", { key: o.key, staticClass: "wz-sidebar-child-item", class: { "wz-sidebar-child-item--active": a.isActive(o) }, on: { click: function(u) {
229
+ return a.handleChildClick(o);
230
+ } } }, [t("span", { staticClass: "wz-sidebar-label" }, [e._v(e._s(o.label))]), a.hasChildren(o) ? t("span", { staticClass: "wz-sidebar-arrow" }, [t("i", { staticClass: "ri-arrow-right-s-line", staticStyle: { "font-size": "1rem" } })]) : e._e()]);
231
231
  }), 0) : e._e()])])])];
232
232
  })], 2)]);
233
- }, W = [], L = /* @__PURE__ */ _(
233
+ }, O = [], L = /* @__PURE__ */ f(
234
+ H,
234
235
  N,
235
236
  O,
236
- W,
237
237
  !1,
238
238
  null,
239
239
  null,
@@ -302,18 +302,18 @@ const T = L.exports, I = {
302
302
  },
303
303
  emits: ["menu-toggle", "search", "notifications", "settings", "user-click", "action-click", "user-menu-click"],
304
304
  setup(i, { emit: e }) {
305
- const t = i, a = (c) => c ? c.split(" ").map((f) => f[0]).slice(0, 2).join("").toUpperCase() : "?", s = v(!1), l = v(null), r = () => {
305
+ const t = i, a = (r) => r ? r.split(" ").map((_) => _[0]).slice(0, 2).join("").toUpperCase() : "?", s = v(!1), l = v(null), o = () => {
306
306
  s.value = !s.value, e("user-click");
307
- }, d = (c) => {
308
- e("user-menu-click", c), s.value = !1;
309
- }, o = (c) => {
310
- l.value && !l.value.contains(c.target) && (s.value = !1);
307
+ }, u = (r) => {
308
+ e("user-menu-click", r), s.value = !1;
309
+ }, c = (r) => {
310
+ l.value && !l.value.contains(r.target) && (s.value = !1);
311
311
  };
312
312
  return w(() => {
313
- document.addEventListener("click", o);
313
+ document.addEventListener("click", c);
314
314
  }), z(() => {
315
- document.removeEventListener("click", o);
316
- }), { __sfc: !0, props: t, emit: e, initials: a, isUserMenuOpen: s, userMenuContainer: l, toggleUserMenu: r, handleUserItemClick: d, handleClickOutside: o };
315
+ document.removeEventListener("click", c);
316
+ }), { __sfc: !0, props: t, emit: e, initials: a, isUserMenuOpen: s, userMenuContainer: l, toggleUserMenu: o, handleUserItemClick: u, handleClickOutside: c };
317
317
  }
318
318
  };
319
319
  var U = function() {
@@ -339,7 +339,7 @@ var U = function() {
339
339
  return s.stopPropagation(), a.toggleUserMenu.apply(null, arguments);
340
340
  } } }, [e.user.avatar ? t("img", { staticClass: "wz-header-user-avatar", attrs: { src: e.user.avatar, alt: e.user.name } }) : t("div", { staticClass: "wz-header-user-avatar-placeholder" }, [e._v(" " + e._s(a.initials(e.user.name)) + " ")]), t("span", { staticClass: "wz-header-user-name" }, [e._v(e._s(e.user.name))])])];
341
341
  }), e.userMenuItems && e.userMenuItems.length > 0 ? t("div", { directives: [{ name: "show", rawName: "v-show", value: a.isUserMenuOpen, expression: "isUserMenuOpen" }], staticClass: "wz-header-dropdown" }, [t("div", { staticClass: "wz-header-dropdown-header" }, [t("div", { staticClass: "wz-header-dropdown-title" }, [e._v(e._s(e.user.name))]), e.userSubtitle ? t("div", { staticClass: "wz-header-dropdown-subtitle" }, [e._v(e._s(e.userSubtitle))]) : e._e()]), t("div", { staticClass: "wz-header-dropdown-body" }, e._l(e.userMenuItems, function(s, l) {
342
- return t("div", { key: l, staticClass: "wz-header-dropdown-item", class: { "wz-header-dropdown-item--logout": s.isLogout }, on: { click: function(r) {
342
+ return t("div", { key: l, staticClass: "wz-header-dropdown-item", class: { "wz-header-dropdown-item--logout": s.isLogout }, on: { click: function(o) {
343
343
  return a.handleUserItemClick(s);
344
344
  } } }, [s.icon && !s.isLogout ? t("i", { class: s.icon }) : e._e(), t("span", [e._v(e._s(s.label))])]);
345
345
  }), 0)]) : e._e()], 2), t("button", { staticClass: "wz-header-action", attrs: { title: "Settings" }, on: { click: function(s) {
@@ -357,7 +357,7 @@ var U = function() {
357
357
  }, function() {
358
358
  var i = this, e = i._self._c;
359
359
  return i._self._setupProxy, e("button", { staticClass: "wz-header-action", attrs: { title: "Fullscreen" } }, [e("i", { staticClass: "ri-fullscreen-line", staticStyle: { "font-size": "1.125rem" } })]);
360
- }], B = /* @__PURE__ */ _(
360
+ }], A = /* @__PURE__ */ f(
361
361
  I,
362
362
  U,
363
363
  R,
@@ -367,7 +367,7 @@ var U = function() {
367
367
  null,
368
368
  null
369
369
  );
370
- const A = B.exports, F = {
370
+ const B = A.exports, F = {
371
371
  __name: "WzSettingsPanel",
372
372
  props: {
373
373
  /**
@@ -419,9 +419,9 @@ const A = B.exports, F = {
419
419
  ]
420
420
  }
421
421
  ], s = h(() => [...a, ...t.extraSettings]);
422
- return { __sfc: !0, props: t, emit: e, baseSettings: a, allSettings: s, handleSelection: (d, o) => {
423
- const c = { ...t.value, [d]: o };
424
- e("input", c), e("setting-change", { id: d, value: o });
422
+ return { __sfc: !0, props: t, emit: e, baseSettings: a, allSettings: s, handleSelection: (u, c) => {
423
+ const r = { ...t.value, [u]: c };
424
+ e("input", r), e("setting-change", { id: u, value: c });
425
425
  }, closePanel: () => {
426
426
  e("close");
427
427
  } };
@@ -431,25 +431,25 @@ var K = function() {
431
431
  var e = this, t = e._self._c, a = e._self._setupProxy;
432
432
  return t("div", { staticClass: "wz-settings", class: { "wz-settings--open": e.isOpen } }, [t("div", { staticClass: "wz-settings-overlay", on: { click: a.closePanel } }), t("aside", { staticClass: "wz-settings-panel" }, [t("div", { staticClass: "wz-settings-header" }, [t("h3", { staticClass: "wz-settings-title" }, [e._v(e._s(e.title))]), t("button", { staticClass: "wz-settings-close", attrs: { title: "Close Settings" }, on: { click: a.closePanel } }, [t("i", { staticClass: "ri-close-circle-line" })])]), e._m(0), t("div", { staticClass: "wz-settings-body" }, [e._l(a.allSettings, function(s) {
433
433
  return [t("div", { staticClass: "wz-settings-section" }, [t("h4", { staticClass: "wz-settings-section-title" }, [e._v(e._s(s.title))]), t("div", { staticClass: "wz-settings-radio-group" }, e._l(s.options, function(l) {
434
- return t("label", { key: l.value, staticClass: "wz-settings-radio-label" }, [t("div", { staticClass: "wz-settings-radio-circle", class: { "wz-settings-radio-circle--active": e.value[s.id] === l.value } }, [t("span", { directives: [{ name: "show", rawName: "v-show", value: e.value[s.id] === l.value, expression: "value[setting.id] === opt.value" }], staticClass: "wz-settings-radio-dot" })]), t("input", { staticClass: "wz-settings-radio-native", attrs: { type: "radio", name: s.id }, domProps: { value: l.value, checked: e.value[s.id] === l.value }, on: { change: function(r) {
434
+ return t("label", { key: l.value, staticClass: "wz-settings-radio-label" }, [t("div", { staticClass: "wz-settings-radio-circle", class: { "wz-settings-radio-circle--active": e.value[s.id] === l.value } }, [t("span", { directives: [{ name: "show", rawName: "v-show", value: e.value[s.id] === l.value, expression: "value[setting.id] === opt.value" }], staticClass: "wz-settings-radio-dot" })]), t("input", { staticClass: "wz-settings-radio-native", attrs: { type: "radio", name: s.id }, domProps: { value: l.value, checked: e.value[s.id] === l.value }, on: { change: function(o) {
435
435
  return a.handleSelection(s.id, l.value);
436
436
  } } }), t("span", { staticClass: "wz-settings-radio-text" }, [e._v(e._s(l.label))])]);
437
437
  }), 0)])];
438
438
  })], 2)])]);
439
- }, V = [function() {
439
+ }, X = [function() {
440
440
  var i = this, e = i._self._c;
441
441
  return i._self._setupProxy, e("div", { staticClass: "wz-settings-tabs" }, [e("div", { staticClass: "wz-settings-tab wz-settings-tab--active" }, [i._v("Theme Style")])]);
442
- }], E = /* @__PURE__ */ _(
442
+ }], V = /* @__PURE__ */ f(
443
443
  F,
444
444
  K,
445
- V,
445
+ X,
446
446
  !1,
447
447
  null,
448
448
  null,
449
449
  null,
450
450
  null
451
451
  );
452
- const j = E.exports, X = {
452
+ const E = V.exports, j = {
453
453
  __name: "WzHorizontalNav",
454
454
  props: {
455
455
  items: {
@@ -463,33 +463,43 @@ const j = E.exports, X = {
463
463
  },
464
464
  emits: ["item-click"],
465
465
  setup(i, { emit: e }) {
466
- const t = i, a = v(null);
467
- return { __sfc: !0, props: t, emit: e, track: a, scroll: (d) => {
468
- a.value && a.value.scrollBy({ left: d, behavior: "smooth" });
469
- }, handleClick: (d) => {
470
- e("item-click", d);
471
- }, handleChildClick: (d) => {
472
- e("item-click", d);
466
+ const t = i, a = v(null), s = v(null), l = v(0);
467
+ return { __sfc: !0, props: t, emit: e, track: a, wrapper: s, translateX: l, scroll: (r) => {
468
+ if (!a.value || !s.value)
469
+ return;
470
+ const _ = a.value.scrollWidth, p = s.value.clientWidth;
471
+ if (_ <= p) {
472
+ l.value = 0;
473
+ return;
474
+ }
475
+ let n = l.value + r;
476
+ n > 0 && (n = 0);
477
+ const d = -(_ - p);
478
+ n < d && (n = d), l.value = n;
479
+ }, handleClick: (r) => {
480
+ e("item-click", r);
481
+ }, handleChildClick: (r) => {
482
+ e("item-click", r);
473
483
  } };
474
484
  }
475
485
  };
476
486
  var D = function() {
477
487
  var e = this, t = e._self._c, a = e._self._setupProxy;
478
488
  return t("div", { staticClass: "wz-horizontal-nav" }, [t("button", { staticClass: "wz-horizontal-nav-arrow wz-horizontal-nav-arrow--left", on: { click: function(s) {
479
- return a.scroll(-250);
480
- } } }, [t("i", { staticClass: "ri-arrow-left-s-line" })]), t("div", { staticClass: "wz-horizontal-nav-track-wrapper" }, [t("div", { ref: "track", staticClass: "wz-horizontal-nav-track" }, [e._l(e.items, function(s, l) {
481
- return [s.type !== "group" ? t("div", { key: s.key || l, staticClass: "wz-horizontal-nav-item", class: { "wz-horizontal-nav-item--active": s.key === e.activeKey || s.children && s.children.some((r) => r.key === e.activeKey) }, on: { click: function(r) {
489
+ return a.scroll(250);
490
+ } } }, [t("i", { staticClass: "ri-arrow-left-s-line" })]), t("div", { ref: "wrapper", staticClass: "wz-horizontal-nav-track-wrapper" }, [t("div", { ref: "track", staticClass: "wz-horizontal-nav-track", style: { transform: `translateX(${a.translateX}px)` } }, [e._l(e.items, function(s, l) {
491
+ return [s.type !== "group" ? t("div", { key: s.key || l, staticClass: "wz-horizontal-nav-item", class: { "wz-horizontal-nav-item--active": s.key === e.activeKey || s.children && s.children.some((o) => o.key === e.activeKey) }, on: { click: function(o) {
482
492
  return a.handleClick(s);
483
- } } }, [s.icon ? t("i", { class: s.icon }) : e._e(), t("span", [e._v(e._s(s.label))]), s.children && s.children.length > 0 ? t("i", { staticClass: "ri-arrow-down-s-line", staticStyle: { "margin-left": "4px", "margin-right": "0", "font-size": "1rem" } }) : e._e(), s.children && s.children.length > 0 ? t("div", { staticClass: "wz-horizontal-nav-dropdown" }, e._l(s.children, function(r) {
484
- return t("div", { key: r.key, staticClass: "wz-horizontal-active-child", class: { "wz-horizontal-active-child--active": r.key === e.activeKey }, on: { click: function(d) {
485
- return d.stopPropagation(), a.handleChildClick(r);
486
- } } }, [e._v(" " + e._s(r.label) + " ")]);
493
+ } } }, [s.icon ? t("i", { class: s.icon }) : e._e(), t("span", [e._v(e._s(s.label))]), s.children && s.children.length > 0 ? t("i", { staticClass: "ri-arrow-down-s-line", staticStyle: { "margin-left": "4px", "margin-right": "0", "font-size": "1rem" } }) : e._e(), s.children && s.children.length > 0 ? t("div", { staticClass: "wz-horizontal-nav-dropdown" }, e._l(s.children, function(o) {
494
+ return t("div", { key: o.key, staticClass: "wz-horizontal-active-child", class: { "wz-horizontal-active-child--active": o.key === e.activeKey }, on: { click: function(u) {
495
+ return u.stopPropagation(), a.handleChildClick(o);
496
+ } } }, [e._v(" " + e._s(o.label) + " ")]);
487
497
  }), 0) : e._e()]) : e._e()];
488
498
  })], 2)]), t("button", { staticClass: "wz-horizontal-nav-arrow wz-horizontal-nav-arrow--right", on: { click: function(s) {
489
- return a.scroll(250);
499
+ return a.scroll(-250);
490
500
  } } }, [t("i", { staticClass: "ri-arrow-right-s-line" })])]);
491
- }, q = [], G = /* @__PURE__ */ _(
492
- X,
501
+ }, q = [], G = /* @__PURE__ */ f(
502
+ j,
493
503
  D,
494
504
  q,
495
505
  !1,
@@ -501,9 +511,9 @@ var D = function() {
501
511
  const J = G.exports, Q = {
502
512
  WzButton: S,
503
513
  WzSidebar: T,
504
- WzHeader: A,
505
- WzLayout: H,
506
- WzSettingsPanel: j,
514
+ WzHeader: B,
515
+ WzLayout: W,
516
+ WzSettingsPanel: E,
507
517
  WzHorizontalNav: J
508
518
  }, g = (i) => {
509
519
  Object.entries(Q).forEach(([e, t]) => {
@@ -514,10 +524,10 @@ typeof window < "u" && window.Vue && g(window.Vue);
514
524
  const Z = { install: g };
515
525
  export {
516
526
  S as WzButton,
517
- A as WzHeader,
527
+ B as WzHeader,
518
528
  J as WzHorizontalNav,
519
- H as WzLayout,
520
- j as WzSettingsPanel,
529
+ W as WzLayout,
530
+ E as WzSettingsPanel,
521
531
  T as WzSidebar,
522
532
  Z as default
523
533
  };
@@ -1 +1 @@
1
- (function(v,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],u):(v=typeof globalThis<"u"?globalThis:v||self,u(v.WizeAdminLibrary={},v.Vue))})(this,function(v,u){"use strict";const Q="";function _(i,e,t,a,s,n,r,d){var o=typeof i=="function"?i.options:i;e&&(o.render=e,o.staticRenderFns=t,o._compiled=!0),a&&(o.functional=!0),n&&(o._scopeId="data-v-"+n);var c;if(r?(c=function(l){l=l||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!l&&typeof __VUE_SSR_CONTEXT__<"u"&&(l=__VUE_SSR_CONTEXT__),s&&s.call(this,l),l&&l._registeredComponents&&l._registeredComponents.add(r)},o._ssrRegister=c):s&&(c=d?function(){s.call(this,(o.functional?this.parent:this).$root.$options.shadowRoot)}:s),c)if(o.functional){o._injectStyles=c;var p=o.render;o.render=function(f,k){return c.call(k),p(f,k)}}else{var h=o.beforeCreate;o.beforeCreate=h?[].concat(h,c):[c]}return{exports:i,options:o}}const S={__name:"WzButton",props:{variant:{type:String,default:"primary",validator:i=>["primary","secondary","success","danger","warning","info","light","dark","link","outline"].includes(i)},size:{type:String,default:"md",validator:i=>["sm","md","lg"].includes(i)},disabled:{type:Boolean,default:!1},block:{type:Boolean,default:!1}},emits:["click"],setup(i,{emit:e}){const t=i,a=u.computed(()=>["wz-btn",`wz-btn-${t.variant}`,`wz-btn-${t.size}`,{"wz-btn-block":t.block}]);return{__sfc:!0,props:t,emit:e,classes:a,handleClick:n=>{t.disabled||e("click",n)}}}};var $=function(){var e=this,t=e._self._c,a=e._self._setupProxy;return t("button",{class:a.classes,attrs:{disabled:e.disabled},on:{click:a.handleClick}},[e._t("default")],2)},M=[],P=_(S,$,M,!1,null,null,null,null);const C=P.exports,x={__name:"WzLayout",props:{defaultCollapsed:{type:Boolean,default:!1},navigationStyle:{type:String,default:"vertical"},theme:{type:String,default:"light"}},setup(i){const e=i,t=u.ref(e.defaultCollapsed),a=()=>{t.value=!t.value};return u.onMounted(()=>{typeof window<"u"&&window.innerWidth<=768&&(t.value=!0)}),{__sfc:!0,props:e,isCollapsed:t,toggleSidebar:a}}};var W=function(){var e=this,t=e._self._c,a=e._self._setupProxy;return t("div",{staticClass:"wz-admin-layout",class:"is-"+e.navigationStyle,attrs:{"data-theme":e.theme}},[t("div",{staticClass:"wz-admin-layout-sidebar-container"},[a.isCollapsed?e._e():t("div",{staticClass:"wz-admin-layout-backdrop",on:{click:a.toggleSidebar}}),e._t("sidebar",null,{collapsed:a.isCollapsed})],2),t("div",{staticClass:"wz-admin-layout-main"},[t("div",{staticClass:"wz-admin-layout-header-container"},[e._t("header",null,{toggleSidebar:a.toggleSidebar,collapsed:a.isCollapsed})],2),e.navigationStyle==="horizontal"?t("div",{staticClass:"wz-admin-layout-horizontal-nav-container"},[e._t("horizontal-nav")],2):e._e(),t("main",{staticClass:"wz-admin-layout-content"},[e._t("default")],2)])])},H=[],T=_(x,W,H,!1,null,null,null,null);const w=T.exports,L={__name:"WzSidebar",props:{items:{type:Array,default:()=>[]},activeKey:{type:String,default:null},logoSrc:{type:String,default:null},logoMiniSrc:{type:String,default:null},logoText:{type:String,default:"Admin"},logoIconHtml:{type:String,default:null},collapsed:{type:Boolean,default:!1}},emits:["item-click"],setup(i,{emit:e}){const t=i,a=u.ref(new Set),s=u.ref(!1),n=u.computed(()=>t.collapsed&&!s.value),r=l=>l.key===t.activeKey,d=l=>l.children&&l.children.length>0,o=l=>a.value.has(l.key),c=l=>{if(!d(l)||n.value)return;const f=new Set(a.value);f.has(l.key)?f.delete(l.key):f.add(l.key),a.value=f};return{__sfc:!0,props:t,emit:e,openKeys:a,isHovered:s,visuallyCollapsed:n,isActive:r,hasChildren:d,isOpen:o,toggle:c,handleClick:l=>{if(n.value){e("item-click",l);return}d(l)?c(l):e("item-click",l)},handleChildClick:l=>{e("item-click",l)}}}};var N=function(){var e=this,t=e._self._c,a=e._self._setupProxy;return t("aside",{staticClass:"wz-sidebar",class:{"wz-sidebar--collapsed":a.visuallyCollapsed},on:{mouseenter:function(s){a.isHovered=!0},mouseleave:function(s){a.isHovered=!1}}},[t("div",{staticClass:"wz-sidebar-logo"},[e._t("logo",function(){return[e.logoSrc||e.logoMiniSrc?[a.visuallyCollapsed&&e.logoMiniSrc?t("img",{staticClass:"wz-sidebar-logo-img-mini",attrs:{src:e.logoMiniSrc,alt:"Mini Logo"}}):!a.visuallyCollapsed&&e.logoSrc?t("img",{staticClass:"wz-sidebar-logo-img",attrs:{src:e.logoSrc,alt:"Logo"}}):e._e()]:[e.logoIconHtml?t("span",{staticClass:"wz-sidebar-logo-icon",domProps:{innerHTML:e._s(e.logoIconHtml)}}):e._e(),t("span",{directives:[{name:"show",rawName:"v-show",value:!a.visuallyCollapsed,expression:"!visuallyCollapsed"}],staticClass:"wz-sidebar-logo-text"},[e._v(e._s(e.logoText))])]]})],2),t("nav",{staticClass:"wz-sidebar-nav"},[e._l(e.items,function(s,n){return[s.type==="group"?t("div",{directives:[{name:"show",rawName:"v-show",value:!a.visuallyCollapsed,expression:"!visuallyCollapsed"}],key:`group-${n}`,staticClass:"wz-sidebar-group"},[e._v(" "+e._s(s.label)+" ")]):t("div",{key:s.key||n,staticClass:"wz-sidebar-item-wrapper"},[t("div",{staticClass:"wz-sidebar-item",class:{"wz-sidebar-item--active":a.isActive(s)},attrs:{title:a.visuallyCollapsed?s.label:null},on:{click:function(r){return a.handleClick(s)}}},[t("span",{staticClass:"wz-sidebar-icon"},[e._t("icon",function(){return[s.icon?t("i",{class:s.icon,staticStyle:{"font-size":"1.125rem"}}):s.iconHtml?t("span",{domProps:{innerHTML:e._s(s.iconHtml)}}):t("i",{staticClass:"ri-checkbox-blank-circle-line",staticStyle:{"font-size":"10px"}})]},{item:s})],2),t("span",{directives:[{name:"show",rawName:"v-show",value:!a.visuallyCollapsed,expression:"!visuallyCollapsed"}],staticClass:"wz-sidebar-label"},[e._v(e._s(s.label))]),a.hasChildren(s)?t("span",{directives:[{name:"show",rawName:"v-show",value:!a.visuallyCollapsed,expression:"!visuallyCollapsed"}],staticClass:"wz-sidebar-arrow",class:{"wz-sidebar-arrow--open":a.isOpen(s)}},[t("i",{staticClass:"ri-arrow-right-s-line",staticStyle:{"font-size":"1.125rem"}})]):e._e()]),t("div",{directives:[{name:"show",rawName:"v-show",value:!a.visuallyCollapsed,expression:"!visuallyCollapsed"}],staticClass:"wz-sidebar-children-wrapper",class:{"is-open":a.hasChildren(s)&&a.isOpen(s)}},[t("div",{staticClass:"wz-sidebar-children-inner"},[a.hasChildren(s)?t("div",{staticClass:"wz-sidebar-children"},e._l(s.children,function(r){return t("div",{key:r.key,staticClass:"wz-sidebar-child-item",class:{"wz-sidebar-child-item--active":a.isActive(r)},on:{click:function(d){return a.handleChildClick(r)}}},[t("span",{staticClass:"wz-sidebar-label"},[e._v(e._s(r.label))]),a.hasChildren(r)?t("span",{staticClass:"wz-sidebar-arrow"},[t("i",{staticClass:"ri-arrow-right-s-line",staticStyle:{"font-size":"1rem"}})]):e._e()])}),0):e._e()])])])]})],2)])},O=[],I=_(L,N,O,!1,null,null,null,null);const z=I.exports,U={__name:"WzHeader",props:{user:{type:Object,default:()=>({name:"User",avatar:null})},notificationCount:{type:Number,default:0},collapsed:{type:Boolean,default:!1},actionItems:{type:Array,default:()=>[]},userMenuItems:{type:Array,default:()=>[]},userSubtitle:{type:String,default:""},logoSrc:{type:String,default:""},layoutMode:{type:String,default:"vertical"}},emits:["menu-toggle","search","notifications","settings","user-click","action-click","user-menu-click"],setup(i,{emit:e}){const t=i,a=c=>c?c.split(" ").map(p=>p[0]).slice(0,2).join("").toUpperCase():"?",s=u.ref(!1),n=u.ref(null),r=()=>{s.value=!s.value,e("user-click")},d=c=>{e("user-menu-click",c),s.value=!1},o=c=>{n.value&&!n.value.contains(c.target)&&(s.value=!1)};return u.onMounted(()=>{document.addEventListener("click",o)}),u.onBeforeUnmount(()=>{document.removeEventListener("click",o)}),{__sfc:!0,props:t,emit:e,initials:a,isUserMenuOpen:s,userMenuContainer:n,toggleUserMenu:r,handleUserItemClick:d,handleClickOutside:o}}};var B=function(){var e=this,t=e._self._c,a=e._self._setupProxy;return t("header",{staticClass:"wz-header",class:{"wz-header--horizontal":e.layoutMode==="horizontal"}},[t("div",{staticClass:"wz-header-left"},[e.layoutMode==="vertical"?t("button",{staticClass:"wz-header-action wz-header-icon-desktop",attrs:{title:"Toggle Menu"},on:{click:function(s){return e.$emit("menu-toggle")}}},[t("i",{class:e.collapsed?"ri-menu-unfold-line":"ri-menu-fold-line"})]):e._e(),t("button",{staticClass:"wz-header-action wz-header-icon-mobile",staticStyle:{display:"none"},attrs:{title:"Toggle Menu"},on:{click:function(s){return e.$emit("menu-toggle")}}},[t("i",{staticClass:"ri-menu-2-line"})]),t("div",{staticClass:"wz-header-dynamic-logo",class:e.layoutMode==="horizontal"?"wz-header-logo-always-visible":"wz-header-mobile-logo"},[e.logoSrc?t("img",{staticClass:"wz-header-dynamic-logo-img",attrs:{src:e.logoSrc,alt:"Logo"}}):e._e()]),e._t("left")],2),t("div",{staticClass:"wz-header-right"},[e._t("actions",function(){return[e.actionItems&&e.actionItems.length?[e._l(e.actionItems,function(s){return[s.badge?t("div",{key:"badge-"+s.key,staticClass:"wz-header-badge"},[t("button",{staticClass:"wz-header-action",attrs:{title:s.key},on:{click:function(n){return a.emit("action-click",s)}}},[t("i",{class:s.icon,staticStyle:{"font-size":"1.125rem"}})]),s.badgeCount||e.notificationCount>0?t("span",{staticClass:"wz-header-badge-dot"},[e._v(" "+e._s(s.badgeCount||e.notificationCount>9?"9+":s.badgeCount||e.notificationCount)+" ")]):e._e()]):t("button",{key:s.key,staticClass:"wz-header-action",attrs:{title:s.key},on:{click:function(n){return a.emit("action-click",s)}}},[t("i",{class:s.icon,staticStyle:{"font-size":"1.125rem"}})])]})]:[t("button",{staticClass:"wz-header-action",attrs:{title:"Search"},on:{click:function(s){return a.emit("search")}}},[t("i",{staticClass:"ri-search-line",staticStyle:{"font-size":"1.125rem"}})]),e._m(0),e._m(1),t("div",{staticClass:"wz-header-badge"},[t("button",{staticClass:"wz-header-action",attrs:{title:"Notifications"},on:{click:function(s){return a.emit("notifications")}}},[t("i",{staticClass:"ri-notification-3-line",staticStyle:{"font-size":"1.125rem"}})]),e.notificationCount>0?t("span",{staticClass:"wz-header-badge-dot"},[e._v(" "+e._s(e.notificationCount>9?"9+":e.notificationCount)+" ")]):e._e()]),e._m(2),e._m(3)]]}),t("div",{staticClass:"wz-header-divider"}),t("div",{ref:"userMenuContainer",staticClass:"wz-header-user-wrapper"},[e._t("user",function(){return[t("div",{staticClass:"wz-header-user",on:{click:function(s){return s.stopPropagation(),a.toggleUserMenu.apply(null,arguments)}}},[e.user.avatar?t("img",{staticClass:"wz-header-user-avatar",attrs:{src:e.user.avatar,alt:e.user.name}}):t("div",{staticClass:"wz-header-user-avatar-placeholder"},[e._v(" "+e._s(a.initials(e.user.name))+" ")]),t("span",{staticClass:"wz-header-user-name"},[e._v(e._s(e.user.name))])])]}),e.userMenuItems&&e.userMenuItems.length>0?t("div",{directives:[{name:"show",rawName:"v-show",value:a.isUserMenuOpen,expression:"isUserMenuOpen"}],staticClass:"wz-header-dropdown"},[t("div",{staticClass:"wz-header-dropdown-header"},[t("div",{staticClass:"wz-header-dropdown-title"},[e._v(e._s(e.user.name))]),e.userSubtitle?t("div",{staticClass:"wz-header-dropdown-subtitle"},[e._v(e._s(e.userSubtitle))]):e._e()]),t("div",{staticClass:"wz-header-dropdown-body"},e._l(e.userMenuItems,function(s,n){return t("div",{key:n,staticClass:"wz-header-dropdown-item",class:{"wz-header-dropdown-item--logout":s.isLogout},on:{click:function(r){return a.handleUserItemClick(s)}}},[s.icon&&!s.isLogout?t("i",{class:s.icon}):e._e(),t("span",[e._v(e._s(s.label))])])}),0)]):e._e()],2),t("button",{staticClass:"wz-header-action",attrs:{title:"Settings"},on:{click:function(s){return a.emit("settings")}}},[t("i",{staticClass:"ri-settings-3-line wz-anim-spin",staticStyle:{"font-size":"1.125rem",display:"inline-block"}})])],2)])},R=[function(){var i=this,e=i._self._c;return i._self._setupProxy,e("button",{staticClass:"wz-header-action",attrs:{title:"Language"}},[e("i",{staticClass:"ri-global-line",staticStyle:{"font-size":"1.125rem"}})])},function(){var i=this,e=i._self._c;return i._self._setupProxy,e("button",{staticClass:"wz-header-action",attrs:{title:"Toggle dark mode"}},[e("i",{staticClass:"ri-moon-line",staticStyle:{"font-size":"1.125rem"}})])},function(){var i=this,e=i._self._c;return i._self._setupProxy,e("button",{staticClass:"wz-header-action",attrs:{title:"Calendar"}},[e("i",{staticClass:"ri-calendar-line",staticStyle:{"font-size":"1.125rem"}})])},function(){var i=this,e=i._self._c;return i._self._setupProxy,e("button",{staticClass:"wz-header-action",attrs:{title:"Fullscreen"}},[e("i",{staticClass:"ri-fullscreen-line",staticStyle:{"font-size":"1.125rem"}})])}],A=_(U,B,R,!1,null,null,null,null);const g=A.exports,F={__name:"WzSettingsPanel",props:{isOpen:{type:Boolean,default:!1},title:{type:String,default:"Switcher"},value:{type:Object,default:()=>({})},extraSettings:{type:Array,default:()=>[]}},emits:["close","input","setting-change"],setup(i,{emit:e}){const t=i,a=[{id:"themeMode",title:"Theme Color Mode:",options:[{value:"light",label:"Light"},{value:"dark",label:"Dark"}]},{id:"navigationStyle",title:"Navigation Styles:",options:[{value:"vertical",label:"Vertical"},{value:"horizontal",label:"Horizontal"}]}],s=u.computed(()=>[...a,...t.extraSettings]);return{__sfc:!0,props:t,emit:e,baseSettings:a,allSettings:s,handleSelection:(d,o)=>{const c={...t.value,[d]:o};e("input",c),e("setting-change",{id:d,value:o})},closePanel:()=>{e("close")}}}};var K=function(){var e=this,t=e._self._c,a=e._self._setupProxy;return t("div",{staticClass:"wz-settings",class:{"wz-settings--open":e.isOpen}},[t("div",{staticClass:"wz-settings-overlay",on:{click:a.closePanel}}),t("aside",{staticClass:"wz-settings-panel"},[t("div",{staticClass:"wz-settings-header"},[t("h3",{staticClass:"wz-settings-title"},[e._v(e._s(e.title))]),t("button",{staticClass:"wz-settings-close",attrs:{title:"Close Settings"},on:{click:a.closePanel}},[t("i",{staticClass:"ri-close-circle-line"})])]),e._m(0),t("div",{staticClass:"wz-settings-body"},[e._l(a.allSettings,function(s){return[t("div",{staticClass:"wz-settings-section"},[t("h4",{staticClass:"wz-settings-section-title"},[e._v(e._s(s.title))]),t("div",{staticClass:"wz-settings-radio-group"},e._l(s.options,function(n){return t("label",{key:n.value,staticClass:"wz-settings-radio-label"},[t("div",{staticClass:"wz-settings-radio-circle",class:{"wz-settings-radio-circle--active":e.value[s.id]===n.value}},[t("span",{directives:[{name:"show",rawName:"v-show",value:e.value[s.id]===n.value,expression:"value[setting.id] === opt.value"}],staticClass:"wz-settings-radio-dot"})]),t("input",{staticClass:"wz-settings-radio-native",attrs:{type:"radio",name:s.id},domProps:{value:n.value,checked:e.value[s.id]===n.value},on:{change:function(r){return a.handleSelection(s.id,n.value)}}}),t("span",{staticClass:"wz-settings-radio-text"},[e._v(e._s(n.label))])])}),0)])]})],2)])])},V=[function(){var i=this,e=i._self._c;return i._self._setupProxy,e("div",{staticClass:"wz-settings-tabs"},[e("div",{staticClass:"wz-settings-tab wz-settings-tab--active"},[i._v("Theme Style")])])}],j=_(F,K,V,!1,null,null,null,null);const y=j.exports,E={__name:"WzHorizontalNav",props:{items:{type:Array,default:()=>[]},activeKey:{type:String,default:null}},emits:["item-click"],setup(i,{emit:e}){const t=i,a=u.ref(null);return{__sfc:!0,props:t,emit:e,track:a,scroll:d=>{a.value&&a.value.scrollBy({left:d,behavior:"smooth"})},handleClick:d=>{e("item-click",d)},handleChildClick:d=>{e("item-click",d)}}}};var X=function(){var e=this,t=e._self._c,a=e._self._setupProxy;return t("div",{staticClass:"wz-horizontal-nav"},[t("button",{staticClass:"wz-horizontal-nav-arrow wz-horizontal-nav-arrow--left",on:{click:function(s){return a.scroll(-250)}}},[t("i",{staticClass:"ri-arrow-left-s-line"})]),t("div",{staticClass:"wz-horizontal-nav-track-wrapper"},[t("div",{ref:"track",staticClass:"wz-horizontal-nav-track"},[e._l(e.items,function(s,n){return[s.type!=="group"?t("div",{key:s.key||n,staticClass:"wz-horizontal-nav-item",class:{"wz-horizontal-nav-item--active":s.key===e.activeKey||s.children&&s.children.some(r=>r.key===e.activeKey)},on:{click:function(r){return a.handleClick(s)}}},[s.icon?t("i",{class:s.icon}):e._e(),t("span",[e._v(e._s(s.label))]),s.children&&s.children.length>0?t("i",{staticClass:"ri-arrow-down-s-line",staticStyle:{"margin-left":"4px","margin-right":"0","font-size":"1rem"}}):e._e(),s.children&&s.children.length>0?t("div",{staticClass:"wz-horizontal-nav-dropdown"},e._l(s.children,function(r){return t("div",{key:r.key,staticClass:"wz-horizontal-active-child",class:{"wz-horizontal-active-child--active":r.key===e.activeKey},on:{click:function(d){return d.stopPropagation(),a.handleChildClick(r)}}},[e._v(" "+e._s(r.label)+" ")])}),0):e._e()]):e._e()]})],2)]),t("button",{staticClass:"wz-horizontal-nav-arrow wz-horizontal-nav-arrow--right",on:{click:function(s){return a.scroll(250)}}},[t("i",{staticClass:"ri-arrow-right-s-line"})])])},q=[],D=_(E,X,q,!1,null,null,null,null);const m=D.exports,G={WzButton:C,WzSidebar:z,WzHeader:g,WzLayout:w,WzSettingsPanel:y,WzHorizontalNav:m},b=i=>{Object.entries(G).forEach(([e,t])=>{i.component(e,t)})};typeof window<"u"&&window.Vue&&b(window.Vue);const J={install:b};v.WzButton=C,v.WzHeader=g,v.WzHorizontalNav=m,v.WzLayout=w,v.WzSettingsPanel=y,v.WzSidebar=z,v.default=J,Object.defineProperties(v,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(v,d){typeof exports=="object"&&typeof module<"u"?d(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],d):(v=typeof globalThis<"u"?globalThis:v||self,d(v.WizeAdminLibrary={},v.Vue))})(this,function(v,d){"use strict";const Q="";function p(n,e,t,a,s,i,o,u){var c=typeof n=="function"?n.options:n;e&&(c.render=e,c.staticRenderFns=t,c._compiled=!0),a&&(c.functional=!0),i&&(c._scopeId="data-v-"+i);var r;if(o?(r=function(l){l=l||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!l&&typeof __VUE_SSR_CONTEXT__<"u"&&(l=__VUE_SSR_CONTEXT__),s&&s.call(this,l),l&&l._registeredComponents&&l._registeredComponents.add(o)},c._ssrRegister=r):s&&(r=u?function(){s.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:s),r)if(c.functional){c._injectStyles=r;var f=c.render;c.render=function(_,k){return r.call(k),f(_,k)}}else{var h=c.beforeCreate;c.beforeCreate=h?[].concat(h,r):[r]}return{exports:n,options:c}}const S={__name:"WzButton",props:{variant:{type:String,default:"primary",validator:n=>["primary","secondary","success","danger","warning","info","light","dark","link","outline"].includes(n)},size:{type:String,default:"md",validator:n=>["sm","md","lg"].includes(n)},disabled:{type:Boolean,default:!1},block:{type:Boolean,default:!1}},emits:["click"],setup(n,{emit:e}){const t=n,a=d.computed(()=>["wz-btn",`wz-btn-${t.variant}`,`wz-btn-${t.size}`,{"wz-btn-block":t.block}]);return{__sfc:!0,props:t,emit:e,classes:a,handleClick:i=>{t.disabled||e("click",i)}}}};var $=function(){var e=this,t=e._self._c,a=e._self._setupProxy;return t("button",{class:a.classes,attrs:{disabled:e.disabled},on:{click:a.handleClick}},[e._t("default")],2)},M=[],W=p(S,$,M,!1,null,null,null,null);const C=W.exports,P={__name:"WzLayout",props:{defaultCollapsed:{type:Boolean,default:!1},navigationStyle:{type:String,default:"vertical"},theme:{type:String,default:"light"}},setup(n){const e=n,t=d.ref(e.defaultCollapsed),a=()=>{t.value=!t.value};return d.onMounted(()=>{typeof window<"u"&&window.innerWidth<=768&&(t.value=!0)}),{__sfc:!0,props:e,isCollapsed:t,toggleSidebar:a}}};var x=function(){var e=this,t=e._self._c,a=e._self._setupProxy;return t("div",{staticClass:"wz-admin-layout",class:"is-"+e.navigationStyle,attrs:{"data-theme":e.theme}},[t("div",{staticClass:"wz-admin-layout-sidebar-container"},[a.isCollapsed?e._e():t("div",{staticClass:"wz-admin-layout-backdrop",on:{click:a.toggleSidebar}}),e._t("sidebar",null,{collapsed:a.isCollapsed})],2),t("div",{staticClass:"wz-admin-layout-main"},[t("div",{staticClass:"wz-admin-layout-header-container"},[e._t("header",null,{toggleSidebar:a.toggleSidebar,collapsed:a.isCollapsed})],2),e.navigationStyle==="horizontal"?t("div",{staticClass:"wz-admin-layout-horizontal-nav-container"},[e._t("horizontal-nav")],2):e._e(),t("main",{staticClass:"wz-admin-layout-content"},[e._t("default")],2)])])},H=[],T=p(P,x,H,!1,null,null,null,null);const w=T.exports,L={__name:"WzSidebar",props:{items:{type:Array,default:()=>[]},activeKey:{type:String,default:null},logoSrc:{type:String,default:null},logoMiniSrc:{type:String,default:null},logoText:{type:String,default:"Admin"},logoIconHtml:{type:String,default:null},collapsed:{type:Boolean,default:!1}},emits:["item-click"],setup(n,{emit:e}){const t=n,a=d.ref(new Set),s=d.ref(!1),i=d.computed(()=>t.collapsed&&!s.value),o=l=>l.key===t.activeKey,u=l=>l.children&&l.children.length>0,c=l=>a.value.has(l.key),r=l=>{if(!u(l)||i.value)return;const _=new Set(a.value);_.has(l.key)?_.delete(l.key):_.add(l.key),a.value=_};return{__sfc:!0,props:t,emit:e,openKeys:a,isHovered:s,visuallyCollapsed:i,isActive:o,hasChildren:u,isOpen:c,toggle:r,handleClick:l=>{if(i.value){e("item-click",l);return}u(l)?r(l):e("item-click",l)},handleChildClick:l=>{e("item-click",l)}}}};var N=function(){var e=this,t=e._self._c,a=e._self._setupProxy;return t("aside",{staticClass:"wz-sidebar",class:{"wz-sidebar--collapsed":a.visuallyCollapsed},on:{mouseenter:function(s){a.isHovered=!0},mouseleave:function(s){a.isHovered=!1}}},[t("div",{staticClass:"wz-sidebar-logo"},[e._t("logo",function(){return[e.logoSrc||e.logoMiniSrc?[a.visuallyCollapsed&&e.logoMiniSrc?t("img",{staticClass:"wz-sidebar-logo-img-mini",attrs:{src:e.logoMiniSrc,alt:"Mini Logo"}}):!a.visuallyCollapsed&&e.logoSrc?t("img",{staticClass:"wz-sidebar-logo-img",attrs:{src:e.logoSrc,alt:"Logo"}}):e._e()]:[e.logoIconHtml?t("span",{staticClass:"wz-sidebar-logo-icon",domProps:{innerHTML:e._s(e.logoIconHtml)}}):e._e(),t("span",{directives:[{name:"show",rawName:"v-show",value:!a.visuallyCollapsed,expression:"!visuallyCollapsed"}],staticClass:"wz-sidebar-logo-text"},[e._v(e._s(e.logoText))])]]})],2),t("nav",{staticClass:"wz-sidebar-nav"},[e._l(e.items,function(s,i){return[s.type==="group"?t("div",{directives:[{name:"show",rawName:"v-show",value:!a.visuallyCollapsed,expression:"!visuallyCollapsed"}],key:`group-${i}`,staticClass:"wz-sidebar-group"},[e._v(" "+e._s(s.label)+" ")]):t("div",{key:s.key||i,staticClass:"wz-sidebar-item-wrapper"},[t("div",{staticClass:"wz-sidebar-item",class:{"wz-sidebar-item--active":a.isActive(s)},attrs:{title:a.visuallyCollapsed?s.label:null},on:{click:function(o){return a.handleClick(s)}}},[t("span",{staticClass:"wz-sidebar-icon"},[e._t("icon",function(){return[s.icon?t("i",{class:s.icon,staticStyle:{"font-size":"1.125rem"}}):s.iconHtml?t("span",{domProps:{innerHTML:e._s(s.iconHtml)}}):t("i",{staticClass:"ri-checkbox-blank-circle-line",staticStyle:{"font-size":"10px"}})]},{item:s})],2),t("span",{directives:[{name:"show",rawName:"v-show",value:!a.visuallyCollapsed,expression:"!visuallyCollapsed"}],staticClass:"wz-sidebar-label"},[e._v(e._s(s.label))]),a.hasChildren(s)?t("span",{directives:[{name:"show",rawName:"v-show",value:!a.visuallyCollapsed,expression:"!visuallyCollapsed"}],staticClass:"wz-sidebar-arrow",class:{"wz-sidebar-arrow--open":a.isOpen(s)}},[t("i",{staticClass:"ri-arrow-right-s-line",staticStyle:{"font-size":"1.125rem"}})]):e._e()]),t("div",{directives:[{name:"show",rawName:"v-show",value:!a.visuallyCollapsed,expression:"!visuallyCollapsed"}],staticClass:"wz-sidebar-children-wrapper",class:{"is-open":a.hasChildren(s)&&a.isOpen(s)}},[t("div",{staticClass:"wz-sidebar-children-inner"},[a.hasChildren(s)?t("div",{staticClass:"wz-sidebar-children"},e._l(s.children,function(o){return t("div",{key:o.key,staticClass:"wz-sidebar-child-item",class:{"wz-sidebar-child-item--active":a.isActive(o)},on:{click:function(u){return a.handleChildClick(o)}}},[t("span",{staticClass:"wz-sidebar-label"},[e._v(e._s(o.label))]),a.hasChildren(o)?t("span",{staticClass:"wz-sidebar-arrow"},[t("i",{staticClass:"ri-arrow-right-s-line",staticStyle:{"font-size":"1rem"}})]):e._e()])}),0):e._e()])])])]})],2)])},O=[],I=p(L,N,O,!1,null,null,null,null);const z=I.exports,U={__name:"WzHeader",props:{user:{type:Object,default:()=>({name:"User",avatar:null})},notificationCount:{type:Number,default:0},collapsed:{type:Boolean,default:!1},actionItems:{type:Array,default:()=>[]},userMenuItems:{type:Array,default:()=>[]},userSubtitle:{type:String,default:""},logoSrc:{type:String,default:""},layoutMode:{type:String,default:"vertical"}},emits:["menu-toggle","search","notifications","settings","user-click","action-click","user-menu-click"],setup(n,{emit:e}){const t=n,a=r=>r?r.split(" ").map(f=>f[0]).slice(0,2).join("").toUpperCase():"?",s=d.ref(!1),i=d.ref(null),o=()=>{s.value=!s.value,e("user-click")},u=r=>{e("user-menu-click",r),s.value=!1},c=r=>{i.value&&!i.value.contains(r.target)&&(s.value=!1)};return d.onMounted(()=>{document.addEventListener("click",c)}),d.onBeforeUnmount(()=>{document.removeEventListener("click",c)}),{__sfc:!0,props:t,emit:e,initials:a,isUserMenuOpen:s,userMenuContainer:i,toggleUserMenu:o,handleUserItemClick:u,handleClickOutside:c}}};var R=function(){var e=this,t=e._self._c,a=e._self._setupProxy;return t("header",{staticClass:"wz-header",class:{"wz-header--horizontal":e.layoutMode==="horizontal"}},[t("div",{staticClass:"wz-header-left"},[e.layoutMode==="vertical"?t("button",{staticClass:"wz-header-action wz-header-icon-desktop",attrs:{title:"Toggle Menu"},on:{click:function(s){return e.$emit("menu-toggle")}}},[t("i",{class:e.collapsed?"ri-menu-unfold-line":"ri-menu-fold-line"})]):e._e(),t("button",{staticClass:"wz-header-action wz-header-icon-mobile",staticStyle:{display:"none"},attrs:{title:"Toggle Menu"},on:{click:function(s){return e.$emit("menu-toggle")}}},[t("i",{staticClass:"ri-menu-2-line"})]),t("div",{staticClass:"wz-header-dynamic-logo",class:e.layoutMode==="horizontal"?"wz-header-logo-always-visible":"wz-header-mobile-logo"},[e.logoSrc?t("img",{staticClass:"wz-header-dynamic-logo-img",attrs:{src:e.logoSrc,alt:"Logo"}}):e._e()]),e._t("left")],2),t("div",{staticClass:"wz-header-right"},[e._t("actions",function(){return[e.actionItems&&e.actionItems.length?[e._l(e.actionItems,function(s){return[s.badge?t("div",{key:"badge-"+s.key,staticClass:"wz-header-badge"},[t("button",{staticClass:"wz-header-action",attrs:{title:s.key},on:{click:function(i){return a.emit("action-click",s)}}},[t("i",{class:s.icon,staticStyle:{"font-size":"1.125rem"}})]),s.badgeCount||e.notificationCount>0?t("span",{staticClass:"wz-header-badge-dot"},[e._v(" "+e._s(s.badgeCount||e.notificationCount>9?"9+":s.badgeCount||e.notificationCount)+" ")]):e._e()]):t("button",{key:s.key,staticClass:"wz-header-action",attrs:{title:s.key},on:{click:function(i){return a.emit("action-click",s)}}},[t("i",{class:s.icon,staticStyle:{"font-size":"1.125rem"}})])]})]:[t("button",{staticClass:"wz-header-action",attrs:{title:"Search"},on:{click:function(s){return a.emit("search")}}},[t("i",{staticClass:"ri-search-line",staticStyle:{"font-size":"1.125rem"}})]),e._m(0),e._m(1),t("div",{staticClass:"wz-header-badge"},[t("button",{staticClass:"wz-header-action",attrs:{title:"Notifications"},on:{click:function(s){return a.emit("notifications")}}},[t("i",{staticClass:"ri-notification-3-line",staticStyle:{"font-size":"1.125rem"}})]),e.notificationCount>0?t("span",{staticClass:"wz-header-badge-dot"},[e._v(" "+e._s(e.notificationCount>9?"9+":e.notificationCount)+" ")]):e._e()]),e._m(2),e._m(3)]]}),t("div",{staticClass:"wz-header-divider"}),t("div",{ref:"userMenuContainer",staticClass:"wz-header-user-wrapper"},[e._t("user",function(){return[t("div",{staticClass:"wz-header-user",on:{click:function(s){return s.stopPropagation(),a.toggleUserMenu.apply(null,arguments)}}},[e.user.avatar?t("img",{staticClass:"wz-header-user-avatar",attrs:{src:e.user.avatar,alt:e.user.name}}):t("div",{staticClass:"wz-header-user-avatar-placeholder"},[e._v(" "+e._s(a.initials(e.user.name))+" ")]),t("span",{staticClass:"wz-header-user-name"},[e._v(e._s(e.user.name))])])]}),e.userMenuItems&&e.userMenuItems.length>0?t("div",{directives:[{name:"show",rawName:"v-show",value:a.isUserMenuOpen,expression:"isUserMenuOpen"}],staticClass:"wz-header-dropdown"},[t("div",{staticClass:"wz-header-dropdown-header"},[t("div",{staticClass:"wz-header-dropdown-title"},[e._v(e._s(e.user.name))]),e.userSubtitle?t("div",{staticClass:"wz-header-dropdown-subtitle"},[e._v(e._s(e.userSubtitle))]):e._e()]),t("div",{staticClass:"wz-header-dropdown-body"},e._l(e.userMenuItems,function(s,i){return t("div",{key:i,staticClass:"wz-header-dropdown-item",class:{"wz-header-dropdown-item--logout":s.isLogout},on:{click:function(o){return a.handleUserItemClick(s)}}},[s.icon&&!s.isLogout?t("i",{class:s.icon}):e._e(),t("span",[e._v(e._s(s.label))])])}),0)]):e._e()],2),t("button",{staticClass:"wz-header-action",attrs:{title:"Settings"},on:{click:function(s){return a.emit("settings")}}},[t("i",{staticClass:"ri-settings-3-line wz-anim-spin",staticStyle:{"font-size":"1.125rem",display:"inline-block"}})])],2)])},A=[function(){var n=this,e=n._self._c;return n._self._setupProxy,e("button",{staticClass:"wz-header-action",attrs:{title:"Language"}},[e("i",{staticClass:"ri-global-line",staticStyle:{"font-size":"1.125rem"}})])},function(){var n=this,e=n._self._c;return n._self._setupProxy,e("button",{staticClass:"wz-header-action",attrs:{title:"Toggle dark mode"}},[e("i",{staticClass:"ri-moon-line",staticStyle:{"font-size":"1.125rem"}})])},function(){var n=this,e=n._self._c;return n._self._setupProxy,e("button",{staticClass:"wz-header-action",attrs:{title:"Calendar"}},[e("i",{staticClass:"ri-calendar-line",staticStyle:{"font-size":"1.125rem"}})])},function(){var n=this,e=n._self._c;return n._self._setupProxy,e("button",{staticClass:"wz-header-action",attrs:{title:"Fullscreen"}},[e("i",{staticClass:"ri-fullscreen-line",staticStyle:{"font-size":"1.125rem"}})])}],B=p(U,R,A,!1,null,null,null,null);const g=B.exports,F={__name:"WzSettingsPanel",props:{isOpen:{type:Boolean,default:!1},title:{type:String,default:"Switcher"},value:{type:Object,default:()=>({})},extraSettings:{type:Array,default:()=>[]}},emits:["close","input","setting-change"],setup(n,{emit:e}){const t=n,a=[{id:"themeMode",title:"Theme Color Mode:",options:[{value:"light",label:"Light"},{value:"dark",label:"Dark"}]},{id:"navigationStyle",title:"Navigation Styles:",options:[{value:"vertical",label:"Vertical"},{value:"horizontal",label:"Horizontal"}]}],s=d.computed(()=>[...a,...t.extraSettings]);return{__sfc:!0,props:t,emit:e,baseSettings:a,allSettings:s,handleSelection:(u,c)=>{const r={...t.value,[u]:c};e("input",r),e("setting-change",{id:u,value:c})},closePanel:()=>{e("close")}}}};var K=function(){var e=this,t=e._self._c,a=e._self._setupProxy;return t("div",{staticClass:"wz-settings",class:{"wz-settings--open":e.isOpen}},[t("div",{staticClass:"wz-settings-overlay",on:{click:a.closePanel}}),t("aside",{staticClass:"wz-settings-panel"},[t("div",{staticClass:"wz-settings-header"},[t("h3",{staticClass:"wz-settings-title"},[e._v(e._s(e.title))]),t("button",{staticClass:"wz-settings-close",attrs:{title:"Close Settings"},on:{click:a.closePanel}},[t("i",{staticClass:"ri-close-circle-line"})])]),e._m(0),t("div",{staticClass:"wz-settings-body"},[e._l(a.allSettings,function(s){return[t("div",{staticClass:"wz-settings-section"},[t("h4",{staticClass:"wz-settings-section-title"},[e._v(e._s(s.title))]),t("div",{staticClass:"wz-settings-radio-group"},e._l(s.options,function(i){return t("label",{key:i.value,staticClass:"wz-settings-radio-label"},[t("div",{staticClass:"wz-settings-radio-circle",class:{"wz-settings-radio-circle--active":e.value[s.id]===i.value}},[t("span",{directives:[{name:"show",rawName:"v-show",value:e.value[s.id]===i.value,expression:"value[setting.id] === opt.value"}],staticClass:"wz-settings-radio-dot"})]),t("input",{staticClass:"wz-settings-radio-native",attrs:{type:"radio",name:s.id},domProps:{value:i.value,checked:e.value[s.id]===i.value},on:{change:function(o){return a.handleSelection(s.id,i.value)}}}),t("span",{staticClass:"wz-settings-radio-text"},[e._v(e._s(i.label))])])}),0)])]})],2)])])},X=[function(){var n=this,e=n._self._c;return n._self._setupProxy,e("div",{staticClass:"wz-settings-tabs"},[e("div",{staticClass:"wz-settings-tab wz-settings-tab--active"},[n._v("Theme Style")])])}],V=p(F,K,X,!1,null,null,null,null);const y=V.exports,j={__name:"WzHorizontalNav",props:{items:{type:Array,default:()=>[]},activeKey:{type:String,default:null}},emits:["item-click"],setup(n,{emit:e}){const t=n,a=d.ref(null),s=d.ref(null),i=d.ref(0);return{__sfc:!0,props:t,emit:e,track:a,wrapper:s,translateX:i,scroll:r=>{if(!a.value||!s.value)return;const f=a.value.scrollWidth,h=s.value.clientWidth;if(f<=h){i.value=0;return}let l=i.value+r;l>0&&(l=0);const _=-(f-h);l<_&&(l=_),i.value=l},handleClick:r=>{e("item-click",r)},handleChildClick:r=>{e("item-click",r)}}}};var E=function(){var e=this,t=e._self._c,a=e._self._setupProxy;return t("div",{staticClass:"wz-horizontal-nav"},[t("button",{staticClass:"wz-horizontal-nav-arrow wz-horizontal-nav-arrow--left",on:{click:function(s){return a.scroll(250)}}},[t("i",{staticClass:"ri-arrow-left-s-line"})]),t("div",{ref:"wrapper",staticClass:"wz-horizontal-nav-track-wrapper"},[t("div",{ref:"track",staticClass:"wz-horizontal-nav-track",style:{transform:`translateX(${a.translateX}px)`}},[e._l(e.items,function(s,i){return[s.type!=="group"?t("div",{key:s.key||i,staticClass:"wz-horizontal-nav-item",class:{"wz-horizontal-nav-item--active":s.key===e.activeKey||s.children&&s.children.some(o=>o.key===e.activeKey)},on:{click:function(o){return a.handleClick(s)}}},[s.icon?t("i",{class:s.icon}):e._e(),t("span",[e._v(e._s(s.label))]),s.children&&s.children.length>0?t("i",{staticClass:"ri-arrow-down-s-line",staticStyle:{"margin-left":"4px","margin-right":"0","font-size":"1rem"}}):e._e(),s.children&&s.children.length>0?t("div",{staticClass:"wz-horizontal-nav-dropdown"},e._l(s.children,function(o){return t("div",{key:o.key,staticClass:"wz-horizontal-active-child",class:{"wz-horizontal-active-child--active":o.key===e.activeKey},on:{click:function(u){return u.stopPropagation(),a.handleChildClick(o)}}},[e._v(" "+e._s(o.label)+" ")])}),0):e._e()]):e._e()]})],2)]),t("button",{staticClass:"wz-horizontal-nav-arrow wz-horizontal-nav-arrow--right",on:{click:function(s){return a.scroll(-250)}}},[t("i",{staticClass:"ri-arrow-right-s-line"})])])},q=[],D=p(j,E,q,!1,null,null,null,null);const m=D.exports,G={WzButton:C,WzSidebar:z,WzHeader:g,WzLayout:w,WzSettingsPanel:y,WzHorizontalNav:m},b=n=>{Object.entries(G).forEach(([e,t])=>{n.component(e,t)})};typeof window<"u"&&window.Vue&&b(window.Vue);const J={install:b};v.WzButton=C,v.WzHeader=g,v.WzHorizontalNav=m,v.WzLayout=w,v.WzSettingsPanel=y,v.WzSidebar=z,v.default=J,Object.defineProperties(v,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wize-admin-library",
3
- "version": "0.1.15",
3
+ "version": "0.1.17",
4
4
  "description": "A reusable, lightweight, and highly customizable Vue 2.7 component library for admin panels.",
5
5
  "main": "dist/wize-admin-library.umd.js",
6
6
  "module": "dist/wize-admin-library.es.js",