UNPKG

@axentix/vue

Version:

Vue Axentix is the Axentix integration for the VueJS framework.

3,231 lines 87.8 kB
import { isVue3 as ht, defineComponent as R, computed as $, ref as u, provide as ie, isVue2 as _e, toRefs as N, watch as k, inject as j, onMounted as W, onUnmounted as Z, reactive as re, onUpdated as pe, onBeforeMount as yt, onBeforeUnmount as xt, install as bt } from "vue-demi";
const Y = (e) => {
  ht || typeof window < "u" && window.Vue && window.Vue.use(e);
}, B = (e, t) => {
  e.component(t.name, t);
};
var wt = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l(e.tag, e._g(e._b({
    tag: "component",
    staticClass: "btn",
    class: e.classes
  }, "component", e.$attrs, !1), e.listeners), [e.outline ? l("span", {
    class: e.outlineClasses
  }, [e._t("default", function() {
    return [e._v("Button")];
  })], 2) : e._t("default", function() {
    return [e._v("Button")];
  })], 2);
}, $t = [];
function M(e, t, l, n, a, s, i, r) {
  var o = typeof e == "function" ? e.options : e;
  t && (o.render = t, o.staticRenderFns = l, o._compiled = !0), n && (o.functional = !0), s && (o._scopeId = "data-v-" + s);
  var c;
  if (i ? (c = function(p) {
    p = p || // cached call
    this.$vnode && this.$vnode.ssrContext || // stateful
    this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !p && typeof __VUE_SSR_CONTEXT__ < "u" && (p = __VUE_SSR_CONTEXT__), a && a.call(this, p), p && p._registeredComponents && p._registeredComponents.add(i);
  }, o._ssrRegister = c) : a && (c = r ? function() {
    a.call(
      this,
      (o.functional ? this.parent : this).$root.$options.shadowRoot
    );
  } : a), c)
    if (o.functional) {
      o._injectStyles = c;
      var y = o.render;
      o.render = function(f, C) {
        return c.call(C), y(f, C);
      };
    } else {
      var m = o.beforeCreate;
      o.beforeCreate = m ? [].concat(m, c) : [c];
    }
  return {
    exports: e,
    options: o
  };
}
const Ct = R({
  name: "AxBtn",
  props: {
    tag: {
      type: String,
      default: "button",
      validator: (e) => ["a", "button", "div", "router-link"].includes(e)
    },
    circle: {
      type: Boolean,
      default: !1
    },
    press: {
      type: Boolean,
      default: !1
    },
    outline: {
      type: Boolean,
      default: !1
    },
    outlineOpening: {
      type: Boolean,
      default: !1
    },
    outlineInvert: {
      type: Boolean,
      default: !1
    },
    size: {
      type: String,
      default: "",
      validator: (e) => ["small", "large", ""].includes(e)
    },
    disabled: {
      type: Boolean,
      default: !1
    }
  },
  setup(e, t) {
    const l = $(() => ({
      "btn-circle": e.circle,
      "btn-press": e.press,
      "btn-outline": e.outline,
      "btn-opening": e.outlineOpening,
      "btn-small": e.size === "small",
      "btn-large": e.size === "large",
      disabled: e.disabled
    })), n = $(() => ({
      "btn-outline-text": e.outline,
      "btn-outline-invert": e.outlineInvert
    }));
    return {
      classes: l,
      outlineClasses: n,
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), he = {};
var kt = /* @__PURE__ */ M(
  Ct,
  wt,
  $t,
  !1,
  At,
  null,
  null,
  null
);
function At(e) {
  for (let t in he)
    this[t] = he[t];
}
const St = /* @__PURE__ */ function() {
  return kt.exports;
}(), Xe = {
  install(e) {
    B(e, St);
  }
};
Y(Xe);
var Lt = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", e._g(e._b({
    staticClass: "btn-group",
    class: e.classes
  }, "div", e.$attrs, !1), e.listeners), [e._t("default")], 2);
}, Et = [];
const Tt = R({
  name: "AxBtnGroup",
  props: {
    vertical: {
      type: Boolean,
      default: !1
    },
    size: {
      type: String,
      default: "",
      validator: (e) => ["small", "large", ""].includes(e)
    }
  },
  setup(e, t) {
    return {
      classes: $(() => ({
        "btn-group-vertical": e.vertical,
        "btn-group-small": e.size === "small",
        "btn-group-large": e.size === "large"
      })),
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), ye = {};
var Dt = /* @__PURE__ */ M(
  Tt,
  Lt,
  Et,
  !1,
  Ft,
  null,
  null,
  null
);
function Ft(e) {
  for (let t in ye)
    this[t] = ye[t];
}
const Vt = /* @__PURE__ */ function() {
  return Dt.exports;
}(), Ye = {
  install(e) {
    B(e, Vt);
  }
};
Y(Ye);
const ce = u([]), Q = (e) => ce.value.push(e), ee = (e) => {
  const t = ce.value.findIndex((l) => l.uid === e);
  t !== -1 && ce.value.splice(t, 1);
}, fe = (e) => ce.value.filter((t) => t.type === e), X = () => Date.now() + Math.random().toString().split(".")[1];
var Bt = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("form", e._g(e._b({
    ref: "form",
    class: e.classes
  }, "form", e.$attrs, !1), e.listeners), [e._t("default")], 2);
}, Rt = [];
const Mt = R({
  name: "AxForm",
  props: {
    material: {
      type: Boolean,
      default: !1
    }
  },
  setup(e, t) {
    const l = $(() => ({
      "form-material": e.material
    })), n = ["FormControl", "FormCheck", "FormAutocomplete", "FormSwitch", "FormSelect"], a = X(), s = u(null);
    return ie("ax-form-material", e.material), ie("ax-form-uid", a), {
      form: s,
      classes: l,
      validate: () => ce.value.filter((c) => n.includes(c.type) && c.data.FormUid === a).map((c) => c.data.validate()).every((c) => c),
      resetValidation: () => ce.value.filter((c) => n.includes(c.type) && c.data.FormUid === a).map((c) => c.data.resetValidation()),
      reset: () => s.value.reset(),
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), xe = {};
var Pt = /* @__PURE__ */ M(
  Mt,
  Bt,
  Rt,
  !1,
  It,
  null,
  null,
  null
);
function It(e) {
  for (let t in xe)
    this[t] = xe[t];
}
const Ot = /* @__PURE__ */ function() {
  return Pt.exports;
}(), Ge = {}, zt = {
  default: !1
}, Ke = _e ? "value" : "modelValue", Ht = _e ? "input" : "update:modelValue";
Ge[Ke] = zt;
const G = R({
  props: Ge
}), K = () => Ke, q = () => Ht, ve = {
  props: {
    rules: {
      type: Array,
      default: () => []
    },
    errorColor: {
      type: String,
      default: "#DF2C29"
    }
  }
}, se = (e) => {
  e.notValidHelper = null, e.notValidColor = null;
}, ue = (e, t, l) => {
  if (e.rules.length === 0)
    return !0;
  let n;
  for (const a of e.rules) {
    const s = a(t.value);
    if (s !== !0) {
      n = s;
      break;
    }
  }
  return !n || !l ? (se(l), !0) : (typeof n == "string" && (l.notValidHelper = n), l.notValidColor = e.errorColor, !1);
};
var jt = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("label", {
    staticClass: "form-check"
  }, [e.type === "checkbox" ? l("input", e._b({
    directives: [{
      name: "model",
      rawName: "v-model",
      value: e.computedValue,
      expression: "computedValue"
    }],
    ref: "input",
    attrs: {
      type: "checkbox"
    },
    domProps: {
      value: e.nativeValue,
      checked: Array.isArray(e.computedValue) ? e._i(e.computedValue, e.nativeValue) > -1 : e.computedValue
    },
    on: {
      input: e.validate,
      change: [function(n) {
        var a = e.computedValue, s = n.target, i = !!s.checked;
        if (Array.isArray(a)) {
          var r = e.nativeValue, o = e._i(a, r);
          s.checked ? o < 0 && (e.computedValue = a.concat([r])) : o > -1 && (e.computedValue = a.slice(0, o).concat(a.slice(o + 1)));
        } else
          e.computedValue = i;
      }, e.validate],
      click: function(n) {
        n.stopPropagation();
      }
    }
  }, "input", e.$attrs, !1)) : e.type === "radio" ? l("input", e._b({
    directives: [{
      name: "model",
      rawName: "v-model",
      value: e.computedValue,
      expression: "computedValue"
    }],
    ref: "input",
    attrs: {
      type: "radio"
    },
    domProps: {
      value: e.nativeValue,
      checked: e._q(e.computedValue, e.nativeValue)
    },
    on: {
      input: e.validate,
      change: [function(n) {
        e.computedValue = e.nativeValue;
      }, e.validate],
      click: function(n) {
        n.stopPropagation();
      }
    }
  }, "input", e.$attrs, !1)) : l("input", e._b({
    directives: [{
      name: "model",
      rawName: "v-model",
      value: e.computedValue,
      expression: "computedValue"
    }],
    ref: "input",
    attrs: {
      type: e.type
    },
    domProps: {
      value: e.nativeValue,
      value: e.computedValue
    },
    on: {
      input: [function(n) {
        n.target.composing || (e.computedValue = n.target.value);
      }, e.validate],
      change: e.validate,
      click: function(n) {
        n.stopPropagation();
      }
    }
  }, "input", e.$attrs, !1)), l("span", {
    class: e.spanClasses
  }, [e._t("default")], 2)]);
}, Nt = [];
const Wt = R({
  name: "AxFormCheck",
  inheritAttrs: !1,
  mixins: [G, ve],
  props: {
    type: {
      type: String,
      default: "checkbox",
      validator: (e) => ["checkbox", "radio"].includes(e)
    },
    full: {
      type: Boolean,
      default: !1
    },
    nativeValue: [String, Number, Boolean, Function, Object, Array]
  },
  setup(e, t) {
    const l = N(e)[K()], n = u(null), a = u(l.value), s = q(), i = X();
    k(l, (f) => {
      a.value = f;
    });
    const r = $(() => ({
      full: e.full
    })), o = j("ax-form-uid"), c = j("ax-form-field"), y = $({
      get() {
        return a.value;
      },
      set(f) {
        a.value = f, t.emit(s, f);
      }
    }), m = () => ue(e, a, c), p = () => se(c);
    return W(() => {
      Q({ type: "FormCheck", uid: i, data: { FormUid: o, validate: m, resetValidation: p } });
    }), Z(() => {
      ee(i);
    }), {
      spanClasses: r,
      computedValue: y,
      validate: m,
      input: n,
      resetValidation: p
    };
  }
}), be = {};
var Ut = /* @__PURE__ */ M(
  Wt,
  jt,
  Nt,
  !1,
  Xt,
  null,
  null,
  null
);
function Xt(e) {
  for (let t in be)
    this[t] = be[t];
}
const Yt = /* @__PURE__ */ function() {
  return Ut.exports;
}(), we = (e, t) => {
  e.clickOutsideEvent = function(l) {
    e === l.target || e.contains(l.target) || l.composedPath().includes(e) || t.value();
  }, document.addEventListener("click", e.clickOutsideEvent);
}, $e = (e) => {
  document.removeEventListener("click", e.clickOutsideEvent);
}, me = _e ? { bind: we, unbind: $e } : { beforeMount: we, unmounted: $e };
var Gt = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return e.tag !== "textarea" ? l(e.tag, e._b({
    directives: [{
      name: "ax-click-outside",
      rawName: "v-ax-click-outside",
      value: function() {
        return e.handleDiv(!1);
      },
      expression: "() => handleDiv(false)"
    }],
    ref: "input",
    tag: "component",
    staticClass: "form-control",
    class: e.classes,
    attrs: {
      value: e.computedValue ? e.computedValue : ""
    },
    on: {
      focus: e.handle,
      blur: e.handle,
      click: e.handleDiv,
      change: e.onChange,
      input: e.onInput
    }
  }, "component", e.$attrs, !1), [e._t("default")], 2) : l("textarea", e._b({
    directives: [{
      name: "ax-click-outside",
      rawName: "v-ax-click-outside",
      value: function() {
        return e.handleDiv(!1);
      },
      expression: "() => handleDiv(false)"
    }],
    ref: "input",
    staticClass: "form-control",
    class: e.classes,
    domProps: {
      value: e.computedValue ? e.computedValue : ""
    },
    on: {
      focus: e.handle,
      blur: e.handle,
      click: e.handleDiv,
      change: e.onChange,
      input: e.onInput
    }
  }, "textarea", e.$attrs, !1), [e._v(" <slot></slot> ")]);
}, Kt = [];
const qt = R({
  name: "AxFormControl",
  directives: {
    axClickOutside: me
  },
  mixins: [G, ve],
  props: {
    tag: {
      type: String,
      default: "input"
    },
    customSelect: {
      type: Boolean,
      default: !1
    },
    autocomplete: {
      type: Number,
      default: -1
    },
    singleLine: {
      type: Boolean,
      default: !1
    },
    lazy: {
      type: Boolean,
      default: !1
    }
  },
  setup(e, t) {
    const l = u(null), n = N(e)[K()], a = u(n.value), s = u(!1), i = re({
      active: !1,
      "is-focused": !1,
      "is-textarea-focused": !1
    }), r = re({
      "--ax-form-material-position": 0,
      "--ax-form-material-left-offset": 0,
      "--ax-form-material-right-offset": 0,
      "--ax-form-material-width": 0
    }), o = u(null), c = q(), y = X(), m = j("ax-form-material", !1), p = j("ax-form-uid"), f = j("ax-form-field");
    k(
      () => ({ ...f }),
      () => {
        L();
      }
    ), k(i, () => {
      f.extraClasses = i;
    }), k(r, () => {
      f.extraStyle = r;
    }), k(n, (g) => {
      a.value = g;
    });
    const C = $({
      get() {
        return a.value;
      },
      set(g) {
        a.value = g, t.emit(c, g);
      }
    });
    k(C, () => {
      e.tag !== "div" && L();
    });
    const A = $(() => ({
      "custom-select": e.customSelect,
      "single-line": e.singleLine
    })), F = (g) => {
      C.value = g.target.value, e.lazy || I();
    }, T = (g) => {
      C.value = g.target.value;
    }, _ = () => {
      l.value || (l.value = L.bind(), window.addEventListener("resize", l.value));
    }, h = () => {
      l.value && (window.removeEventListener("resize", l.value), l.value = null);
    }, b = (g = !0, w) => {
      e.tag === "div" && (s.value = g, L(w));
    }, L = (g) => {
      if (g && (g.type === "click" || g.type === "blur") && I(), !m) {
        h();
        return;
      }
      if (!f || f.default) {
        h();
        return;
      }
      _();
      const w = i.active;
      let d;
      e.tag === "div" ? d = e.autocomplete !== -1 ? e.autocomplete > 0 : o.value.innerHTML.trim() !== "" : d = o.value.value.length > 0 || o.value.tagName !== "SELECT" && o.value.placeholder.length > 0 || o.value.tagName === "SELECT" || o.value.matches('[type="date"]') || o.value.matches('[type="month"]') || o.value.matches('[type="week"]') || o.value.matches('[type="time"]');
      const x = document.activeElement === o.value || e.tag === "div" && s.value;
      O(w, d, x);
    }, O = (g, w, d) => {
      const x = o.value.type === "textarea";
      !g && (w || d) ? i.active = !0 : g && !(w || d) && (i.active = !1), x || V(), d && !x ? i["is-focused"] = !0 : i["is-focused"] = !1, d && x ? i["is-textarea-focused"] = !0 : i["is-textarea-focused"] = !1;
    }, V = () => {
      const g = o.value.clientWidth, w = o.value.offsetLeft, d = o.value.clientHeight + o.value.offsetTop + "px";
      r["--ax-form-material-position"] = d;
      let x = w, P = "left", S = g + "px", H = "0";
      f.rtl && (P = "right", x = f.field.clientWidth - g - w), r[`--ax-form-material-${P}-offset`] = x + "px", x != 0 && (H = w), r["--ax-form-material-width"] = S;
      const U = f.labelRef;
      U && (U.style.left = H + "px");
    }, I = () => ue(e, a, f), v = () => se(f);
    return W(() => {
      Q({ type: "FormControl", uid: y, data: { FormUid: p, validate: I, resetValidation: v } }), L();
    }), pe(() => {
      L();
    }), Z(() => {
      h(), ee(y);
    }), {
      handle: L,
      handleDiv: b,
      input: o,
      classes: A,
      computedValue: C,
      onInput: F,
      onChange: T,
      validate: I,
      resetValidation: v
    };
  }
}), Ce = {};
var Zt = /* @__PURE__ */ M(
  qt,
  Gt,
  Kt,
  !1,
  Jt,
  "a54331d4",
  null,
  null
);
function Jt(e) {
  for (let t in Ce)
    this[t] = Ce[t];
}
const Qt = /* @__PURE__ */ function() {
  return Zt.exports;
}();
var el = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", e._g(e._b({
    ref: "field",
    staticClass: "form-field",
    class: [e.classes, e.extraClasses],
    style: [e.style, e.extraStyle]
  }, "div", e.$attrs, !1), e.listeners), [e.label ? l("label", {
    ref: "labelRef"
  }, [e._v(e._s(e.label))]) : e._e(), e._t("default"), e.helper && !e.notValidHelper ? l("span", {
    staticClass: "form-helper",
    class: e.helperClasses
  }, [e._v(e._s(e.helper))]) : e.notValidHelper ? l("span", {
    staticClass: "form-helper text-error",
    class: e.helperClasses
  }, [e._v(" " + e._s(e.notValidHelper) + " ")]) : e._e()], 2);
}, tl = [];
const ll = R({
  name: "AxFormField",
  props: {
    label: {
      type: String,
      default: ""
    },
    inline: {
      type: Boolean,
      default: !1
    },
    helper: {
      type: String,
      default: ""
    },
    helperClasses: {
      type: String,
      default: ""
    },
    default: {
      type: Boolean,
      default: !1
    },
    rtl: {
      type: Boolean,
      default: !1
    },
    materialColor: {
      type: String,
      default: "#4c9f85"
    }
  },
  setup(e, t) {
    const l = $(() => ({
      "form-inline": e.inline,
      "form-default": e.default,
      "form-rtl": e.rtl,
      "not-valid": !!n.value
    })), n = u(null), a = u(null), s = u(null), i = u(null), r = u(null), o = u(null);
    ie(
      "ax-form-field",
      re({
        notValidColor: n,
        notValidHelper: a,
        extraClasses: s,
        extraStyle: i,
        default: e.default,
        rtl: e.rtl,
        field: o,
        labelRef: r
      })
    );
    const c = $(() => ({
      "--ax-form-material-color": n.value ? n.value : e.materialColor
    }));
    return {
      classes: l,
      field: o,
      labelRef: r,
      style: c,
      notValidColor: n,
      notValidHelper: a,
      extraClasses: s,
      extraStyle: i,
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), ke = {};
var al = /* @__PURE__ */ M(
  ll,
  el,
  tl,
  !1,
  nl,
  null,
  null,
  null
);
function nl(e) {
  for (let t in ke)
    this[t] = ke[t];
}
const sl = /* @__PURE__ */ function() {
  return al.exports;
}();
var il = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", {
    staticClass: "form-file"
  }, [l("label", {
    class: e.labelClasses,
    attrs: {
      for: e.id
    }
  }, [e._v(e._s(e.label))]), l("input", e._g(e._b({
    ref: "input",
    attrs: {
      type: "file",
      id: e.id
    },
    on: {
      change: e.handleFileInput
    }
  }, "input", e.$attrs, !1), e.listeners)), l("div", {
    ref: "path",
    staticClass: "form-file-path"
  })]);
}, ul = [];
const ol = R({
  name: "AxFormFile",
  inheritAttrs: !1,
  props: {
    labelClasses: {
      type: String,
      default: ""
    },
    label: {
      type: String,
      default: ""
    },
    id: {
      type: String,
      default: "input"
    }
  },
  setup(e, t) {
    const l = u(null), n = u(null);
    return {
      handleFileInput: () => {
        const s = l.value.files;
        s.length > 1 ? n.value.innerHTML = Array.from(s).reduce((i, r) => (i.push(r.name), i), []).join(", ") : s[0] && (n.value.innerHTML = s[0].name);
      },
      input: l,
      path: n,
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), Ae = {};
var rl = /* @__PURE__ */ M(
  ol,
  il,
  ul,
  !1,
  cl,
  null,
  null,
  null
);
function cl(e) {
  for (let t in Ae)
    this[t] = Ae[t];
}
const vl = /* @__PURE__ */ function() {
  return rl.exports;
}();
var dl = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", e._g(e._b({
    staticClass: "form-group"
  }, "div", e.$attrs, !1), e.listeners), [e._t("default")], 2);
}, fl = [];
const ml = R({
  name: "AxFormGroup",
  setup(e, t) {
    return {
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), Se = {};
var _l = /* @__PURE__ */ M(
  ml,
  dl,
  fl,
  !1,
  pl,
  null,
  null,
  null
);
function pl(e) {
  for (let t in Se)
    this[t] = Se[t];
}
const gl = /* @__PURE__ */ function() {
  return _l.exports;
}();
var hl = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("label", {
    staticClass: "form-switch",
    class: e.labelClasses
  }, [e._t("false-value"), l("input", e._b({
    directives: [{
      name: "model",
      rawName: "v-model",
      value: e.computedValue,
      expression: "computedValue"
    }],
    ref: "input",
    attrs: {
      type: "checkbox"
    },
    domProps: {
      checked: Array.isArray(e.computedValue) ? e._i(e.computedValue, null) > -1 : e.computedValue
    },
    on: {
      input: e.validate,
      change: [function(n) {
        var a = e.computedValue, s = n.target, i = !!s.checked;
        if (Array.isArray(a)) {
          var r = null, o = e._i(a, r);
          s.checked ? o < 0 && (e.computedValue = a.concat([r])) : o > -1 && (e.computedValue = a.slice(0, o).concat(a.slice(o + 1)));
        } else
          e.computedValue = i;
      }, e.validate]
    }
  }, "input", e.$attrs, !1)), l("span", {
    ref: "slider",
    staticClass: "form-slider",
    class: e.classes,
    style: e.style
  }), e._t("default")], 2);
}, yl = [];
const xl = R({
  name: "AxFormSwitch",
  inheritAttrs: !1,
  mixins: [G, ve],
  props: {
    labelClasses: {
      type: String,
      default: ""
    },
    thin: {
      type: Boolean,
      default: !1
    },
    size: {
      type: String,
      default: "",
      validator: (e) => ["small", "large", ""].includes(e)
    },
    color: {
      type: String,
      default: "#4c9f85"
    }
  },
  setup(e, t) {
    const l = N(e)[K()], n = u(null), a = u(null), s = u(l.value), i = q(), r = X(), o = j("ax-form-uid"), c = j("ax-form-field");
    k(l, (A) => {
      s.value = A;
    });
    const y = $(() => ({
      "form-slider-thin": e.thin,
      "form-slider-small": e.size === "small",
      "form-slider-large": e.size === "large"
    })), m = $(() => ({
      "--ax-form-switch-active-color": e.color
    })), p = $({
      get() {
        return s.value;
      },
      set(A) {
        s.value = A, t.emit(i, A);
      }
    }), f = () => ue(e, s, c), C = () => se(c);
    return W(() => {
      Q({ type: "FormSwitch", uid: r, data: { FormUid: o, validate: f, resetValidation: C } });
    }), Z(() => {
      ee(r);
    }), {
      classes: y,
      input: n,
      slider: a,
      style: m,
      computedValue: p,
      validate: f,
      resetValidation: C
    };
  }
}), Le = {};
var bl = /* @__PURE__ */ M(
  xl,
  hl,
  yl,
  !1,
  wl,
  null,
  null,
  null
);
function wl(e) {
  for (let t in Le)
    this[t] = Le[t];
}
const $l = /* @__PURE__ */ function() {
  return bl.exports;
}(), qe = {
  directives: {
    axClickOutside: me
  },
  props: {
    multiple: {
      type: Boolean,
      default: !1
    },
    items: {
      type: Array,
      default: () => []
    },
    closeOnClick: {
      type: Boolean,
      default: !0
    },
    singleLine: {
      type: Boolean,
      default: !1
    },
    chips: {
      type: Boolean,
      default: !1
    },
    chipsClosable: {
      type: Boolean,
      default: !1
    }
  }
}, Ze = (e, t, l, n, a, s, i, r, o, c = "") => {
  e.value = [...new Set(t.value)].reduce((y, m, p) => {
    let f;
    const C = {
      index: p
    };
    typeof m != "object" ? f = Object.assign(
      {
        name: m,
        value: m
      },
      C
    ) : (f = Object.assign(m, C), typeof f.value > "u" && (f.value = f.name));
    const A = f.selected && !l.value || !n.multiple && l.value === f.value || n.multiple && l.value && l.value.includes(f.value) || n.multiple && l.value && l.value.length === 0 && f.selected;
    return f.selected = A, A && (n.multiple && !a.value.some((F) => f.value === F.value) ? a.value.push(f) : s.value = f, c && !n.multiple && (c.value = f.name), i.emit(r, o.value)), y.push(f), y;
  }, []);
}, Je = (e = !1, t, l, n, a) => {
  if (e) {
    t.value = !0, setTimeout(() => {
      a.value.getBoundingClientRect().bottom <= (window.innerHeight || document.documentElement.clientHeight) - 10 ? n.value = !1 : n.value = !0, l.value = 1;
    }, 50);
    return;
  }
  l.value = 0, setTimeout(() => {
    t.value = !1, n.value = !1;
  }, 300);
}, Qe = (e, t, l, n, a, s) => {
  if (l.value.length !== 0) {
    if (t.value && t.value.index >= 0) {
      if (t.value.index === e)
        return;
      const i = l.value[t.value.index];
      i.selected = !1, l.value.splice(t.value.index, 1, i);
    }
    if (e !== -1) {
      const i = l.value[e];
      i.selected = !0, t.value = i, l.value.splice(e, 1, i);
    } else
      t.value = {};
    n.emit(a, s.value);
  }
}, et = (e, t, l, n, a, s) => {
  if (e < 0 || t.value.length === 0)
    return;
  const i = t.value[e], r = l.value.findIndex((o) => o.value === i.value && i.selected);
  r !== -1 ? (i.selected = !1, l.value.splice(r, 1)) : (i.selected = !0, l.value.push(i)), t.value.splice(e, 1, i), n.emit(a, s.value);
}, Cl = (e, t, l) => {
  if (e < 0 || t.value.length === 0)
    return;
  const n = t.value[e];
  n.selected = !1, t.value.splice(e, 1, n);
  const a = l.value.findIndex((s) => s.value === n.value);
  l.value.splice(a, 1);
};
var kl = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", e._b({
    directives: [{
      name: "ax-click-outside",
      rawName: "v-ax-click-outside",
      value: function() {
        return e.toggle(!1);
      },
      expression: "() => toggle(false)"
    }]
  }, "div", e.$attrs, !1), [l("ax-form-control", {
    attrs: {
      "custom-select": "",
      tag: "div",
      "single-line": e.singleLine
    },
    nativeOn: {
      click: function(n) {
        return (function() {
          return e.toggle(!0);
        }).apply(null, arguments);
      }
    }
  }, [e.chips ? [e.multiple ? e._l(e.result, function(n, a) {
    return l("div", {
      key: "auto-val-" + a,
      staticClass: "form-chips"
    }, [e._v(" " + e._s(n.name) + " "), e.chipsClosable ? l("span", {
      staticClass: "form-chips-closable",
      on: {
        click: function(s) {
          return s.preventDefault(), s.stopPropagation(), e.select(n.value);
        }
      }
    }, [l("svg", {
      attrs: {
        version: "1.1",
        viewBox: "0 0 512 512",
        "xml:space": "preserve",
        xmlns: "http://www.w3.org/2000/svg",
        "xmlns:xlink": "http://www.w3.org/1999/xlink"
      }
    }, [l("path", {
      attrs: {
        d: "M437.5,386.6L306.9,256l130.6-130.6c14.1-14.1,14.1-36.8,0-50.9c-14.1-14.1-36.8-14.1-50.9,0L256,205.1L125.4,74.5  c-14.1-14.1-36.8-14.1-50.9,0c-14.1,14.1-14.1,36.8,0,50.9L205.1,256L74.5,386.6c-14.1,14.1-14.1,36.8,0,50.9  c14.1,14.1,36.8,14.1,50.9,0L256,306.9l130.6,130.6c14.1,14.1,36.8,14.1,50.9,0C451.5,423.4,451.5,400.6,437.5,386.6z"
      }
    })])]) : e._e()]);
  }) : [e._v(e._s(e.result.name))]] : [e._v(" " + e._s(e.result.name) + " ")]], 2), l("div", {
    ref: "container",
    staticClass: "form-select-content",
    style: e.style
  }, [e._t("prepend", null, {
    toggle: e.toggle
  }), e._l(e.computedItems, function(n, a) {
    return l("div", {
      key: "show-item-" + a,
      staticClass: "form-select-item",
      class: {
        selected: n.selected,
        disabled: n.disabled
      },
      on: {
        click: function(s) {
          s.preventDefault(), n.disabled || e.select(n.value);
        }
      }
    }, [e.multiple ? l("ax-form-check", {
      attrs: {
        disabled: n.disabled
      },
      model: {
        value: n.selected,
        callback: function(s) {
          e.$set(n, "selected", s);
        },
        expression: "item.selected"
      }
    }, [e._v(" " + e._s(n.name) + " ")]) : [e._v(e._s(n.name))]], 2);
  }), e._t("append", null, {
    toggle: e.toggle
  })], 2)], 1);
}, Al = [];
const Sl = R({
  name: "AxFormSelect",
  mixins: [G, qe, ve],
  setup(e, t) {
    const l = u([]), n = u(!1), a = u(!1), s = u(null), i = u({}), r = u([]), o = u(!0), c = u(0), y = N(e).items, m = N(e)[K()], p = q(), f = X(), C = j("ax-form-uid"), A = j("ax-form-field"), F = $(() => ({
      display: n.value ? "block" : "",
      opacity: c.value,
      bottom: a.value ? 0 : ""
    })), T = $(() => e.multiple ? r.value : i.value), _ = $(() => {
      let v = e.multiple ? r.value.map((g) => g.value) : i.value.value;
      return typeof v > "u" && (v = e.multiple ? [] : ""), v;
    });
    k(_, () => {
      V();
    }), k(m, (v) => {
      if (e.multiple) {
        if (!Array.isArray(v))
          return;
      } else {
        if (i.value && v === i.value.value)
          return;
        L(v);
        return;
      }
      const g = v.filter((d) => !_.value.includes(d)), w = _.value.filter((d) => !v.includes(d));
      [...g, ...w].map((d) => {
        const x = l.value.findIndex((P) => P.value === d || P.value === d.value);
        x >= 0 && O(x);
      });
    }), k(y, () => {
      h();
    });
    const h = () => Ze(
      l,
      y,
      m,
      e,
      r,
      i,
      t,
      p,
      _
    ), b = (v = !1) => {
      o.value && v && (o.value = !1), !v && !o.value ? V() : o.value || se(A), Je(v, n, c, a, s);
    }, L = (v) => {
      const g = l.value.findIndex((w) => w.value === v);
      if (!(v && g === -1)) {
        if (e.multiple)
          return O(g);
        Qe(g, i, l, t, p, _), e.closeOnClick && b();
      }
    }, O = (v) => {
      e.multiple && et(v, l, r, t, p, _);
    }, V = () => e.multiple ? ue(e, r, A) : ue(e, i, A), I = () => se(A);
    return W(() => {
      Q({ type: "FormSelect", uid: f, data: { FormUid: C, validate: V, resetValidation: I } }), h();
    }), Z(() => {
      ee(f);
    }), {
      style: F,
      toggle: b,
      select: L,
      result: T,
      container: s,
      computedItems: l,
      validate: V,
      resetValidation: I
    };
  }
}), Ee = {};
var Ll = /* @__PURE__ */ M(
  Sl,
  kl,
  Al,
  !1,
  El,
  null,
  null,
  null
);
function El(e) {
  for (let t in Ee)
    this[t] = Ee[t];
}
const Tl = /* @__PURE__ */ function() {
  return Ll.exports;
}();
var Dl = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", e._b({
    directives: [{
      name: "ax-click-outside",
      rawName: "v-ax-click-outside",
      value: function() {
        return e.toggle(!1);
      },
      expression: "() => toggle(false)"
    }]
  }, "div", e.$attrs, !1), [e.multiple ? l("ax-form-control", {
    attrs: {
      "custom-select": "",
      autocomplete: e.autocompleteActive,
      tag: "div",
      "single-line": e.singleLine
    },
    nativeOn: {
      click: function(n) {
        return (function() {
          return e.toggle(!0);
        }).apply(null, arguments);
      }
    }
  }, [e._l(e.result, function(n, a) {
    return l("div", {
      key: "auto-val-" + a,
      staticClass: "form-autocomplete-selected",
      class: {
        "form-autocomplete-focused": a === e.result.length - 1 && e.isFocused,
        "form-chips": e.chips
      }
    }, [e._v(" " + e._s(n.name)), a !== e.result.length - 1 && !e.chips ? [e._v(",")] : e._e(), e.chips && e.chipsClosable ? l("span", {
      staticClass: "form-chips-closable",
      on: {
        click: function(s) {
          return s.preventDefault(), s.stopPropagation(), e.select(n.value);
        }
      }
    }, [l("svg", {
      attrs: {
        version: "1.1",
        viewBox: "0 0 512 512",
        "xml:space": "preserve",
        xmlns: "http://www.w3.org/2000/svg",
        "xmlns:xlink": "http://www.w3.org/1999/xlink"
      }
    }, [l("path", {
      attrs: {
        d: "M437.5,386.6L306.9,256l130.6-130.6c14.1-14.1,14.1-36.8,0-50.9c-14.1-14.1-36.8-14.1-50.9,0L256,205.1L125.4,74.5  c-14.1-14.1-36.8-14.1-50.9,0c-14.1,14.1-14.1,36.8,0,50.9L205.1,256L74.5,386.6c-14.1,14.1-14.1,36.8,0,50.9  c14.1,14.1,36.8,14.1,50.9,0L256,306.9l130.6,130.6c14.1,14.1,36.8,14.1,50.9,0C451.5,423.4,451.5,400.6,437.5,386.6z"
      }
    })])]) : e._e()], 2);
  }), l("input", {
    directives: [{
      name: "model",
      rawName: "v-model",
      value: e.inputValue,
      expression: "inputValue"
    }],
    ref: "input",
    staticClass: "form-autocomplete-input",
    attrs: {
      type: "text"
    },
    domProps: {
      value: e.inputValue
    },
    on: {
      input: function(n) {
        n.target.composing || (e.inputValue = n.target.value);
      }
    }
  })], 2) : l("ax-form-control", {
    attrs: {
      "custom-select": "",
      autocomplete: e.autocompleteActive,
      tag: "input",
      type: "text",
      "single-line": e.singleLine
    },
    nativeOn: {
      click: function(n) {
        return (function() {
          return e.toggle(!0);
        }).apply(null, arguments);
      }
    },
    model: {
      value: e.inputValue,
      callback: function(n) {
        e.inputValue = n;
      },
      expression: "inputValue"
    }
  }), l("div", {
    ref: "container",
    staticClass: "form-select-content",
    style: e.style
  }, [e._t("prepend", null, {
    toggle: e.toggle
  }), e._l(e.filteredItems, function(n, a) {
    return l("div", {
      key: "show-item-" + a,
      staticClass: "form-select-item",
      class: {
        selected: n.selected,
        disabled: n.disabled
      },
      on: {
        click: function(s) {
          s.preventDefault(), n.disabled || e.select(n.value);
        }
      }
    }, [e.multiple ? l("ax-form-check", {
      attrs: {
        disabled: n.disabled
      },
      model: {
        value: n.selected,
        callback: function(s) {
          e.$set(n, "selected", s);
        },
        expression: "item.selected"
      }
    }, [e._v(" " + e._s(n.name) + " ")]) : [e._v(e._s(n.name))]], 2);
  }), e._t("append", null, {
    toggle: e.toggle
  })], 2)], 1);
}, Fl = [];
const Vl = R({
  name: "AxFormAutocomplete",
  mixins: [G, qe, ve],
  props: {
    filter: {
      type: Function,
      default: (e, t) => e.filter((l) => l.name.toLowerCase().indexOf(t.toLowerCase()) !== -1)
    }
  },
  setup(e, t) {
    const l = u([]), n = u(!1), a = u(!1), s = u(null), i = u(null), r = u(""), o = u({}), c = u([]), y = u(0), m = u(""), p = u(0), f = u(!1), C = u(!0), A = N(e).items, F = N(e)[K()], T = q(), _ = X(), h = j("ax-form-uid"), b = j("ax-form-field"), L = $(() => ({
      display: n.value ? "block" : "",
      opacity: p.value,
      bottom: a.value ? "100%" : ""
    })), O = $(() => e.multiple ? c.value : o.value), V = $(() => {
      let D = e.multiple ? c.value.map((z) => z.value) : o.value.value;
      return typeof D > "u" && (D = e.multiple ? [] : ""), D;
    }), I = $(() => e.filter(l.value, r.value)), v = $(() => V.value.length > 0 || p.value === 1 ? 1 : r.value.length);
    k(V, () => {
      te();
    }), k(r, (D, z) => {
      m.value = z, o.value.index >= 0 && D === "" && !e.multiple && (Cl(o.value.index, l, c), t.emit(T, D));
    }), k(F, (D) => {
      if (e.multiple) {
        if (!Array.isArray(D))
          return;
      } else {
        if (o.value && D === o.value.value)
          return;
        P(D);
        return;
      }
      const z = D.filter((J) => !V.value.includes(J)), ae = V.value.filter((J) => !D.includes(J));
      [...z, ...ae].map((J) => {
        const oe = l.value.findIndex((de) => de.value === J || de.value === J.value);
        oe >= 0 && S(oe);
      });
    }), k(A, () => {
      d();
    });
    const g = () => {
      window.addEventListener("keyup", H), document.addEventListener("click", U);
    }, w = () => {
      window.removeEventListener("keyup", H), document.removeEventListener("click", U);
    }, d = () => Ze(
      l,
      A,
      F,
      e,
      c,
      o,
      t,
      T,
      V,
      r
    ), x = (D = !1) => {
      C.value && D && (C.value = !1), !D && !C.value ? te() : C.value || se(b), Je(D, n, p, a, s);
    }, P = (D) => {
      var ae, J;
      const z = l.value.findIndex((oe) => oe.value === D);
      if (!(D && z === -1)) {
        if (e.multiple)
          return S(z);
        Qe(z, o, l, t, T, V), r.value = ((ae = l.value[z]) == null ? void 0 : ae.name) || "", e.closeOnClick && ((J = l.value[z]) != null && J.name) && x();
      }
    }, S = (D) => {
      e.multiple && (et(D, l, c, t, T, V), n.value && i.value.focus());
    }, H = (D) => {
      if (!(D.keyCode !== 8 || r.value !== "" || c.value.length === 0 || !n.value)) {
        if (m.value !== "") {
          if (y.value++, y.value !== 2)
            return;
          y.value = 0, m.value = "";
        }
        if (f.value) {
          const z = c.value[c.value.length - 1].index;
          S(z);
        } else
          f.value = !0;
        i.value.blur();
      }
    }, U = () => {
      f.value = !1;
    }, te = () => e.multiple ? ue(e, c, b) : ue(e, o, b), le = () => se(b);
    return W(() => {
      Q({ type: "FormAutocomplete", uid: _, data: { FormUid: h, validate: te, resetValidation: le } }), g(), d();
    }), Z(() => {
      w(), ee(_);
    }), {
      style: L,
      toggle: x,
      select: P,
      result: O,
      container: s,
      input: i,
      isFocused: f,
      inputValue: r,
      filteredItems: I,
      validate: te,
      autocompleteActive: v,
      resetValidation: le
    };
  }
}), Te = {};
var Bl = /* @__PURE__ */ M(
  Vl,
  Dl,
  Fl,
  !1,
  Rl,
  null,
  null,
  null
);
function Rl(e) {
  for (let t in Te)
    this[t] = Te[t];
}
const Ml = /* @__PURE__ */ function() {
  return Bl.exports;
}(), tt = {
  install(e) {
    B(e, Ot), B(e, Yt), B(e, Qt), B(e, sl), B(e, vl), B(e, gl), B(e, $l), B(e, Tl), B(e, Ml);
  }
};
Y(tt);
var Pl = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", {
    ref: "container"
  }, [l("img", e._g(e._b({
    ref: "lightbox",
    staticClass: "lightbox",
    class: e.classes,
    style: e.style,
    attrs: {
      alt: "lightbox"
    },
    on: {
      click: e.onClickTrigger,
      keyup: e.closeLightbox
    }
  }, "img", e.$attrs, !1), e.listeners))]);
}, Il = [];
const Ol = R({
  name: "AxLightbox",
  inheritAttrs: !1,
  mixins: [G],
  props: {
    responsive: {
      type: Boolean,
      default: !1
    },
    animationDuration: {
      type: Number,
      default: 400
    },
    overlayClass: {
      type: String,
      default: "grey dark-4"
    },
    offset: {
      type: Number,
      default: 150
    },
    mobileOffset: {
      type: Number,
      default: 80
    },
    caption: {
      type: String,
      default: ""
    }
  },
  setup(e, t) {
    const l = u(!1), n = N(e)[K()], a = u(""), s = u(null), i = u(null), r = u(null), o = u(null), c = u(null), y = u(0), m = u(0), p = u(null), f = u(null), C = u(null), A = u(null), F = u(null), T = u(null), _ = u(null), h = u(!1), b = u(!1), L = u([]), O = q(), V = X(), I = $(() => ({
      "responsive-media": e.responsive
    })), v = $(() => ({
      transitionDuration: e.animationDuration + "ms",
      position: a.value
    }));
    k(n, (E) => {
      if (E === null) {
        l.value ? z() : ae();
        return;
      }
      l.value = E, E && !b.value ? z() : !h.value && (!l.value || b.value) && ae();
    }), k(l, (E) => {
      t.emit(O, E);
    });
    const g = () => {
      Q({ type: "Lightbox", uid: V }), w(), n.value && z(), t.emit("setup");
    }, w = () => {
      F.value = x.bind(this), f.value = P.bind(this), C.value = S.bind(this), p.value = H.bind(this), T.value = le.bind(this), window.addEventListener("resize", p.value), window.addEventListener("keyup", f.value), window.addEventListener("scroll", C.value), s.value.addEventListener("transitionend", T.value);
    }, d = () => {
      window.removeEventListener("resize", p.value), ge();
    }, x = (E) => {
      E.preventDefault(), l.value = !l.value;
    }, P = (E) => {
      E.key === "Escape" && (b.value || l.value) && (l.value = !1);
    }, S = () => {
      (l.value || !h.value && b.value) && (l.value = !1);
    }, H = () => {
      l.value && (l.value = !1);
    }, U = () => {
      A.value = te.bind(this), r.value.addEventListener("click", A.value);
    }, te = (E) => {
      E.preventDefault(), r.value.removeEventListener("click", A.value), l.value = !1;
    }, le = (E) => {
      E.propertyName !== "width" && E.propertyName !== "height" || (h.value ? (J(), h.value = !1, t.emit("closed")) : b.value && (b.value = !1, l.value = !0, t.emit("opened")));
    }, D = () => {
      const E = window.innerWidth >= 960 ? e.offset : e.mobileOffset;
      window.innerWidth / window.innerHeight >= c.value.width / c.value.height ? (m.value = window.innerHeight - E, y.value = m.value * c.value.width / c.value.height) : (y.value = window.innerWidth - E, m.value = y.value * c.value.height / c.value.width);
    }, z = () => {
      if (b.value)
        return;
      clearTimeout(_.value), b.value = !0;
      let E, ne;
      h.value ? E = ne = i.value.getBoundingClientRect() : E = ne = s.value.getBoundingClientRect(), h.value = !1, vt(), dt();
      const mt = window.innerHeight / 2, _t = window.innerWidth / 2;
      c.value = E, s.value.style.width = c.value.width + "px", s.value.style.height = c.value.height + "px", s.value.style.top = "0", s.value.style.left = "0";
      const pt = mt + window.scrollY - (ne.top + window.scrollY), gt = _t + window.scrollX - (ne.left + window.scrollX);
      D(), i.value.style.position = "relative", _.value = setTimeout(() => {
        t.emit("open"), e.responsive && s.value.classList.remove("responsive-media"), s.value.classList.add("active"), i.value.style.width = c.value.width + "px", i.value.style.height = c.value.height + "px", s.value.style.width = y.value + "px", s.value.style.height = m.value + "px", s.value.style.top = pt - m.value / 2 + "px", s.value.style.left = gt - y.value / 2 + "px";
      }, 50);
    }, ae = () => {
      clearTimeout(_.value), h.value = !0, b.value = !1, setTimeout(() => {
        ft();
      }, 50), t.emit("close"), s.value.style.position = "absolute", s.value.style.top = "0px", s.value.style.left = "0px", s.value.style.width = c.value.width + "px", s.value.style.height = c.value.height + "px";
    }, J = () => {
      s.value.classList.remove("active"), ge(), e.responsive && s.value.classList.add("responsive-media"), i.value.removeAttribute("style"), s.value.style.position = "", s.value.style.left = "", s.value.style.top = "", s.value.style.width = "", s.value.style.height = "", s.value.style.transform = "", de();
    }, oe = () => {
      L.value = [];
      for (let E = s.value; E && E !== document; E = E.parentNode) {
        const ne = window.getComputedStyle(E);
        (ne.overflow === "hidden" || ne.overflowX === "hidden" || ne.overflowY === "hidden" || E === document.body) && (L.value.push(E), E.style.setProperty("overflow", "visible", "important"));
      }
    }, de = () => {
      L.value.forEach((E) => E.style.overflow = ""), document.body.style.overflowX = "";
    }, vt = () => {
      if (r.value) {
        U();
        return;
      }
      oe(), r.value = document.createElement("div"), r.value.style.transitionDuration = e.animationDuration + "ms", r.value.className = `lightbox-overlay ${e.overlayClass}`, i.value.appendChild(r.value), e.caption && (o.value = document.createElement("p"), o.value.className = "lightbox-caption", o.value.innerHTML = e.caption, r.value.appendChild(o.value)), U();
    }, ge = () => {
      r.value && (e.caption && o.value.remove(), r.value.removeEventListener("click", A.value), r.value.remove(), r.value = null);
    }, dt = () => {
      setTimeout(() => {
        r.value && (r.value.style.opacity = 1);
      }, 50);
    }, ft = () => {
      r.value && (r.value.style.opacity = 0);
    };
    return W(() => {
      g();
    }), Z(() => {
      d(), ee(V);
    }), {
      classes: I,
      lightbox: s,
      container: i,
      closeLightbox: ae,
      style: v,
      onClickTrigger: x,
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), De = {};
var zl = /* @__PURE__ */ M(
  Ol,
  Pl,
  Il,
  !1,
  Hl,
  null,
  null,
  null
);
function Hl(e) {
  for (let t in De)
    this[t] = De[t];
}
const jl = /* @__PURE__ */ function() {
  return zl.exports;
}(), lt = {
  install(e) {
    B(e, jl);
  }
};
Y(lt);
var Nl = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", e._g(e._b({
    ref: "collapsible",
    staticClass: "collapsible",
    class: e.classes,
    style: e.style
  }, "div", e.$attrs, !1), e.listeners), [e._t("default")], 2);
}, Wl = [];
const Ul = R({
  name: "AxCollapsible",
  mixins: [G],
  props: {
    animationDuration: {
      type: Number,
      default: 300
    },
    autoClose: {
      type: Boolean,
      default: !0
    }
  },
  setup(e, t) {
    const l = N(e)[K()], n = q(), a = u(!1), s = u(!1), i = u(null), r = u(null), o = u(null), c = u(null), y = X(), m = j("ax-sidenav", null), p = $(() => ({
      active: a.value
    })), f = $(() => ({
      transitionDuration: e.animationDuration + "ms",
      maxHeight: i.value,
      display: r.value,
      overflow: s.value ? "hidden" : "visible"
    }));
    k(l, (b) => {
      b !== null && (b ? _() : h(), t.emit(n, a.value));
    }), k(a, (b) => {
      t.emit(n, b);
    });
    const C = () => {
      Q({ type: "Collapsible", uid: y, data: { closeCollapsible: h } }), A(), l.value && _(), t.emit("setup");
    }, A = () => {
      c.value = T.bind(this), window.addEventListener("resize", c.value);
    }, F = () => {
      window.removeEventListener("resize", c.value);
    }, T = () => {
      a.value && !m && (f.value.maxHeight = o.value.scrollHeight + "px");
    }, _ = () => {
      s.value || a.value || (fe("Collapsible").map((b) => {
        b.data.closeCollapsible(o.value, m);
      }), t.emit("open"), a.value = !0, s.value = !0, r.value = "block", setTimeout(() => {
        i.value = o.value.scrollHeight + "px";
      }, 10), setTimeout(() => {
        s.value = !1;
      }, e.animationDuration + 10));
    }, h = (b, L) => {
      s.value && !b || b === o.value || !a.value || b && (!e.autoClose || !m || m && m !== L) || (t.emit("close"), a.value = !1, setTimeout(() => {
        s.value = !0, i.value = "0";
      }, 10), setTimeout(() => {
        r.value = "", s.value = !1;
      }, e.animationDuration + 10));
    };
    return W(() => {
      C();
    }), Z(() => {
      F(), ee(y);
    }), {
      classes: p,
      style: f,
      collapsible: o,
      closeCollapsible: h,
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), Fe = {};
var Xl = /* @__PURE__ */ M(
  Ul,
  Nl,
  Wl,
  !1,
  Yl,
  null,
  null,
  null
);
function Yl(e) {
  for (let t in Fe)
    this[t] = Fe[t];
}
const Gl = /* @__PURE__ */ function() {
  return Xl.exports;
}(), at = {
  install(e) {
    B(e, Gl);
  }
};
Y(at);
var Kl = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", e._g(e._b({
    directives: [{
      name: "ax-click-outside",
      rawName: "v-ax-click-outside",
      value: function() {
        return e.onDocumentClick();
      },
      expression: "() => onDocumentClick()"
    }],
    staticClass: "dropdown",
    class: [e.classes, e.animation],
    style: e.style
  }, "div", e.$attrs, !1), e.listeners), [e._t("trigger", null, {
    trigger: e.onTriggerClick
  }), l("div", {
    ref: "content",
    staticClass: "dropdown-content",
    class: [{
      "dropdown-constrain-width": e.constrainWidth
    }, e.contentClasses],
    style: e.contentStyle,
    on: {
      click: e.onTriggerClick
    }
  }, [e._t("default")], 2)], 2);
}, ql = [];
const Zl = R({
  name: "AxDropdown",
  mixins: [G],
  directives: {
    axClickOutside: me
  },
  props: {
    animationDuration: {
      type: Number,
      default: 300
    },
    animationType: {
      type: String,
      default: "none",
      validator: (e) => ["none", "fade"].includes(e)
    },
    constrainWidth: {
      type: Boolean,
      default: !1
    },
    contentClasses: {
      type: String,
      default: ""
    },
    autoClose: {
      type: Boolean,
      default: !0
    },
    preventViewport: {
      type: Boolean,
      default: !1
    }
  },
  setup(e, t) {
    const l = N(e)[K()], n = q(), a = u(!1), s = u(!1), i = u(0), r = u(""), o = u(null), c = X(), y = $(() => ({
      active: a.value,
      "dropdown-vp": e.preventViewport
    })), m = $(() => ({
      transitionDuration: e.animationType !== "none" ? e.animationDuration + "ms" : ""
    })), p = $(() => ({
      display: r.value,
      maxHeight: i.value ? i.value : "auto"
    }));
    k(l, (h) => {
      h !== null && (h ? T() : _(), t.emit(n, h));
    }), k(a, (h) => {
      t.emit(n, h);
    });
    const f = () => {
      Q({ type: "Dropdown", uid: c, data: { closeDropdown: _ } }), l.value && (T(), a.value = !0), t.emit("setup");
    }, C = () => {
      s.value || (a.value ? _() : T());
    }, A = () => {
      s.value || !a.value || _();
    }, F = () => {
      const h = o.value.getBoundingClientRect(), b = h.height - (h.bottom - (window.innerHeight || document.documentElement.clientHeight)) - 10;
      i.value = b + "px";
    }, T = () => {
      a.value || s.value || (e.autoClose && fe("Dropdown").map((h) => {
        h.data.closeDropdown();
      }), t.emit("open"), r.value = "flex", setTimeout(() => {
        a.value = !0, e.preventViewport && F();
      }, 10), e.animationType !== "none" ? (s.value = !0, setTimeout(() => {
        s.value = !1, t.emit("opened");
      }, e.animationDuration)) : t.emit("opened"));
    }, _ = () => {
      a.value && (t.emit("close"), a.value = !1, e.animationType !== "none" ? (s.value = !0, setTimeout(() => {
        r.value = "", s.value = !1, t.emit("closed");
      }, e.animationDuration)) : (r.value = "", s.value = !1, t.emit("closed")));
    };
    return W(() => {
      f();
    }), Z(() => {
      ee(c);
    }), {
      classes: y,
      style: m,
      content: o,
      contentStyle: p,
      onDocumentClick: A,
      onTriggerClick: C,
      animation: `dropdown-anim-${e.animationType}`,
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), Ve = {};
var Jl = /* @__PURE__ */ M(
  Zl,
  Kl,
  ql,
  !1,
  Ql,
  null,
  null,
  null
);
function Ql(e) {
  for (let t in Ve)
    this[t] = Ve[t];
}
const ea = /* @__PURE__ */ function() {
  return Jl.exports;
}(), nt = {
  install(e) {
    B(e, ea);
  }
};
Y(nt);
var ta = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", [l("div", {
    staticClass: "table-responsive"
  }, [l("table", {
    staticClass: "table",
    class: [e.classes, {
      "table-hover": e.hover
    }]
  }, [l("thead", [l("tr", {
    staticClass: "datatable-head"
  }, [e._l(e.localHeaders, function(n, a) {
    return l("th", {
      key: a,
      class: {
        "datatable-sortable": n.sortable !== !1
      },
      on: {
        click: function(s) {
          return e.sortBy(n);
        }
      }
    }, [e._v(" " + e._s(n.text) + " "), n.sortable !== !1 ? [e.sortedHeader === n && e.isAsc ? e._t("sort-asc", function() {
      return [l("span", {
        staticClass: "datatable-icon"
      }, [e._v("↑")])];
    }) : e._e(), e.sortedHeader === n && !e.isAsc ? e._t("sort-desc", function() {
      return [l("span", {
        staticClass: "datatable-icon"
      }, [e._v("↓")])];
    }) : e._e(), e.sortedHeader !== n ? e._t("sort-desc", function() {
      return [l("span", {
        staticClass: "datatable-icon"
      }, [e._v("↕")])];
    }) : e._e()] : e._e()], 2);
  }), e.expandable ? l("th", {
    attrs: {
      width: "20"
    }
  }) : e._e()], 2)]), l("tbody", [e.loading ? l("tr", {
    staticClass: "datatable-progress"
  }, [l("td", {
    attrs: {
      colspan: e.expandable ? e.localHeaders.length + 1 : e.localHeaders.length
    }
  }, [e._t("progress-bar", function() {
    return [e._m(0)];
  })], 2)]) : e._e(), e.computedItems.length === 0 ? l("tr", [l("td", {
    staticClass: "text-center",
    attrs: {
      colspan: e.expandable ? e.localHeaders.length + 1 : e.localHeaders.length
    }
  }, [e._v(" " + e._s(e.noDataText) + " ")])]) : e._e(), e._l(e.computedItems, function(n, a) {
    return [l("tr", {
      key: a
    }, [e._l(e.localHeaders, function(s, i) {
      return l("td", {
        key: i
      }, [e._t("item." + s.value, function() {
        return [e._v(" " + e._s(n[s.value]) + " ")];
      }, {
        item: n
      })], 2);
    }), e.expandable ? l("td", [e._t("expand-btn", function() {
      return [l("ax-btn", {
        staticClass: "shadow-0 d-flex vcenter fx-center",
        attrs: {
          circle: "",
          size: "small"
        },
        on: {
          click: function(s) {
            return e.expandItem(n);
          }
        }
      }, [l("svg", {
        staticClass: "datatable-expand-arrow",
        class: {
          "datatable-expanded": n.expanded
        },
        attrs: {
          xmlns: "http://www.w3.org/2000/svg",
          "xmlns:xlink": "http://www.w3.org/1999/xlink",
          "aria-hidden": "true",
          focusable: "false",
          width: "1.3rem",
          height: "1.3rem",
          preserveAspectRatio: "xMidYMid meet",
          viewBox: "0 0 24 24"
        }
      }, [l("path", {
        attrs: {
          d: "M8.12 9.29L12 13.17l3.88-3.88a.996.996 0 1 1 1.41 1.41l-4.59 4.59a.996.996 0 0 1-1.41 0L6.7 10.7a.996.996 0 0 1 0-1.41c.39-.38 1.03-.39 1.42 0z"
        }
      })])])];
    })], 2) : e._e()], 2), e.expandable ? l("tr", {
      key: "expand-" + a,
      staticClass: "datatable-expanded"
    }, [l("td", {
      style: {
        display: n.expanded ? "table-cell" : "none"
      },
      attrs: {
        colspan: e.localHeaders.length + 1
      }
    }, [e._t("expanded-item", null, {
      item: n
    })], 2)]) : e._e()];
  })], 2)])]), l("div", {
    staticClass: "datatable-footer"
  }, [e.pagination ? l("ax-pagination", {
    staticClass: "mr-auto",
    attrs: {
      total: e.localTotal,
      perPage: e.perPage,
      size: e.paginationSize
    },
    model: {
      value: e.page,
      callback: function(n) {
        e.page = n;
      },
      expression: "page"
    }
  }) : e._e(), e.computedItems.length === 0 ? [e._v(" - ")] : [e._v(" " + e._s(e.firstItemIndex + 1) + " - " + e._s(e.lastItemIndex > e.computedItems.length * e.page ? e.localTotal : e.computedItems.length * e.page) + " " + e._s(e.paginationText) + " " + e._s(e.localTotal) + " ")], e.pagination ? e._e() : [l("ax-btn", {
    staticClass: "ml-4 rounded-2 shadow-0",
    attrs: {
      disabled: e.page === 1
    },
    on: {
      click: function(n) {
        return n.preventDefault(), e.goto(e.page - 1);
      }
    }
  }, [e._v(" ‹ ")]), l("ax-btn", {
    staticClass: "ml-2 rounded-2 shadow-0",
    attrs: {
      disabled: e.page === e.totalPage || e.totalPage === 0
    },
    on: {
      click: function(n) {
        return n.preventDefault(), e.goto(e.page + 1);
      }
    }
  }, [e._v(" › ")])]], 2)]);
}, la = [function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", {
    staticClass: "progress progress-indeterminate progress-small"
  }, [l("div", {
    staticClass: "progress-bar primary"
  })]);
}];
const aa = R({
  name: "AxDataTable",
  mixins: [G],
  inheritAttrs: !1,
  props: {
    headers: {
      type: Array,
      default: () => []
    },
    items: {
      type: Array,
      default: () => []
    },
    classes: {
      type: String,
      default: ""
    },
    search: {
      type: String,
      default: ""
    },
    pagination: {
      type: Boolean,
      default: !1
    },
    paginationSize: {
      type: String,
      default: "",
      validator: (e) => ["", "small", "large"].includes(e)
    },
    perPage: {
      type: Number,
      default: 10,
      validator: (e) => e > 0
    },
    expandable: {
      type: Boolean,
      default: !1
    },
    singleExpand: {
      type: Boolean,
      default: !1
    },
    loading: {
      type: Boolean,
      default: !1
    },
    hover: {
      type: Boolean,
      default: !0
    },
    noDataText: {
      type: String,
      default: "No data available."
    },
    paginationText: {
      type: String,
      default: "of"
    },
    total: {
      type: Number
    },
    serverSide: {
      type: Boolean,
      default: !1
    }
  },
  setup(e, t) {
    const l = N(e)[K()], n = q(), a = "update:options", s = u([]), i = u([]), r = u(l.value || 1), o = u(1), c = u(10), y = u([]), m = u(null), p = u(!1), f = $(() => e.total ? e.total : !e.serverSide && e.search ? A.value.length : i.value.length), C = u(Math.ceil(e.perPage / f.value));
    k(
      () => e.headers,
      () => {
        b();
      }
    ), k(
      () => e.items,
      () => {
        L();
      }
    ), k(
      () => e.modelValue,
      (v) => {
        r.value !== v && (r.value = v);
      }
    ), k(r, (v) => {
      var g;
      t.emit(n, v), t.emit(a, {
        page: v,
        perPage: e.perPage,
        sortBy: (g = m.value) == null ? void 0 : g.value,
        sortAsc: p.value,
        search: e.search
      });
    }), k(
      () => e.search,
      () => {
        var v;
        T(1), t.emit(a, {
          page: r.value,
          perPage: e.perPage,
          sortBy: (v = m.value) == null ? void 0 : v.value,
          sortAsc: p.value,
          search: e.search
        });
      }
    );
    const A = $(() => i.value.filter((v) => Object.keys(v).some((w) => {
      const d = h(w);
      if (w === "expanded" || !d || d.filterable === !1)
        return !1;
      const x = v[w];
      if (!x)
        return !1;
      try {
        return x.toString().toLowerCase().includes(e.search.toLowerCase());
      } catch (P) {
        return console.error(P), !1;
      }
    }))), F = $(() => {
      let v = !e.serverSide && e.search ? A.value : i.value;
      return m.value && m.value.sortable !== !1 && (v = I([...v]), p.value || (v = v.reverse())), _(), e.serverSide ? v : v.slice(o.value, c.value);
    }), T = (v) => {
      if (v <= 1)
        return r.value = 1;
      if (v >= C.value)
        return r.value = C.value;
      r.value = v;
    }, _ = () => {
      o.value = (r.value - 1) * e.perPage, c.value = r.value * e.perPage, C.value = Math.ceil(f.value / e.perPage);
    }, h = (v) => s.value.find((g) => g.value === v), b = () => {
      if (e.headers.length === 0)
        return s.value = [];
      s.value = [...e.headers].reduce((v, g) => (typeof g == "object" ? v.push(g) : v.push({
        text: g,
        value: g
      }), v), []);
    }, L = () => {
      i.value = [...e.items];
    }, O = (v) => {
      const g = i.value.findIndex((w) => w === v);
      if (g !== -1) {
        if (e.singleExpand && (y.value.map((w) => {
          if (w === v)
            return;
          const d = i.value.findIndex((x) => x === w);
          w.expanded = !1, i.value.splice(d, 1, w);
        }), y.value = []), v.expanded) {
          const w = y.value.findIndex((d) => d === v);
          y.value.splice(w, 1), v.expanded = !1;
        } else
          v.expanded = !0, y.value.push(v);
        i.value.splice(g, 1, v);
      }
    }, V = (v) => {
      if (v.sortable !== !1) {
        if (m.value === v && !p.value) {
          m.value = null, p.value = !1, t.emit(a, {
            page: r.value,
            perPage: e.perPage,
            sortBy: m.value,
            sortAsc: p.value,
            search: e.search
          });
          return;
        }
        m.value = v, p.value = !p.value, t.emit(a, {
          page: r.value,
          perPage: e.perPage,
          sortBy: m.value.value,
          sortAsc: p.value,
          search: e.search
        });
      }
    }, I = (v) => v.sort((g, w) => {
      const d = g[m.value.value], x = w[m.value.value];
      return d == null || x === null || x === void 0 ? -1 : typeof d == "string" ? d.localeCompare(x) : Array.isArray(d) ? x.length - d.length : d - x;
    });
    return W(() => {
      b(), L(), t.emit("setup");
    }), {
      computedItems: F,
      localHeaders: s,
      localItems: i,
      sortedHeader: m,
      page: r,
      firstItemIndex: o,
      lastItemIndex: c,
      localTotal: f,
      isAsc: p,
      totalPage: C,
      goto: T,
      sortBy: V,
      expandItem: O,
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), Be = {};
var na = /* @__PURE__ */ M(
  aa,
  ta,
  la,
  !1,
  sa,
  "782aa13d",
  null,
  null
);
function sa(e) {
  for (let t in Be)
    this[t] = Be[t];
}
const ia = /* @__PURE__ */ function() {
  return na.exports;
}(), st = {
  install(e) {
    B(e, ia);
  }
};
Y(st);
var ua = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", e._g(e._b({
    ref: "modal",
    staticClass: "modal",
    class: e.classes,
    style: e.style
  }, "div", e.$attrs, !1), e.listeners), [e.$slots.header ? l("div", {
    staticClass: "modal-header"
  }, [e._t("header")], 2) : e._e(), l("div", {
    staticClass: "modal-content"
  }, [e._t("default")], 2), e.$slots.footer ? l("div", {
    staticClass: "modal-footer"
  }, [e._t("footer")], 2) : e._e()]);
}, oa = [];
const ra = R({
  name: "AxModal",
  mixins: [G],
  props: {
    overlay: {
      type: Boolean,
      default: !0
    },
    bodyScrolling: {
      type: Boolean,
      default: !1
    },
    animationDuration: {
      type: Number,
      default: 400
    },
    mode: {
      type: String,
      default: "",
      validator: (e) => ["", "falling", "bouncing"].includes(e)
    }
  },
  setup(e, t) {
    const l = u(!1), n = u(!1), a = u(null), s = u(!1), i = u(null), r = N(e)[K()], o = u(""), c = u(810), y = u(!1), m = u(null), p = q(), f = X(), C = $(() => ({
      active: y.value,
      "modal-falling": e.mode === "falling",
      "modal-bouncing": e.mode === "bouncing"
    })), A = $(() => ({
      transitionDuration: e.animationDuration + "ms",
      animationDuration: e.animationDuration + "ms",
      display: o.value,
      zIndex: c.value
    }));
    k(r, (d) => {
      d !== null && (l.value = d, d ? v() : g());
    }), k(l, (d) => {
      t.emit(p, d);
    }), k(
      () => e.overlay,
      (d) => {
        b(d);
      }
    );
    const F = () => {
      Q({ type: "Modal", uid: f, data: re({ activeClass: y }) }), T(), e.overlay && h(), r.value && v(), t.emit("setup");
    }, T = () => {
      i.value = O.bind(this);
    }, _ = () => {
      L(), i.value = null;
    }, h = () => {
      a.value = document.createElement("div"), a.value.classList.add("ax-overlay");
    }, b = (d) => {
      if (a.value) {
        d || L(), l.value && d && !s.value && w(!0);
        return;
      }
      d && (h(), l.value && w(!0));
    }, L = () => {
      e.overlay && s.value && (a.value.removeEventListener("click", i.value), a.value.remove(), a.value = "", s.value = !1);
    }, O = (d) => {
      d.preventDefault(), !n.value && (l.value = !l);
    }, V = (d) => {
      e.bodyScrolling || (d ? document.body.style.overflow = "" : document.body.style.overflow = "hidden");
    }, I = () => {
      if (!l.value)
        return;
      const d = fe("Modal").filter((x) => x.data.activeClass).length + 1;
      e.overlay && (a.value.style.zIndex = 800 + d * 10 - 2), c.value = 800 + d * 10;
    }, v = () => {
      n.value || (t.emit("open"), l.value = !0, n.value = !0, I(), o.value = "block", w(!0), V(!1), setTimeout(() => {
        y.value = !0;
      }, 50), setTimeout(() => {
        n.value = !1, t.emit("opened");
      }, e.animationDuration));
    }, g = () => {
      n.value || (t.emit("close"), n.value = !0, l.value = !1, w(!1), y.value = !1, setTimeout(() => {
        o.value = "", n.value = !1, V(!0), t.emit("closed");
      }, e.animationDuration));
    }, w = (d) => {
      e.overlay && (a.value.style.transitionDuration = e.animationDuration + "ms", d ? (s.value = !0, a.value.addEventListener("click", i.value), document.body.appendChild(a.value), setTimeout(() => {
        a.value.classList.add("active");
      }, 50)) : (a.value.classList.remove("active"), setTimeout(() => {
        a.value.removeEventListener("click", i.value), a.value.remove(), s.value = !1;
      }, e.animationDuration)));
    };
    return W(() => {
      F();
    }), pe(() => {
      b(e.overlay), I();
    }), Z(() => {
      _(), V(!0), ee(f);
    }), {
      classes: C,
      style: A,
      modal: m,
      activeClass: y,
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), Re = {};
var ca = /* @__PURE__ */ M(
  ra,
  ua,
  oa,
  !1,
  va,
  null,
  null,
  null
);
function va(e) {
  for (let t in Re)
    this[t] = Re[t];
}
const da = /* @__PURE__ */ function() {
  return ca.exports;
}(), it = {
  install(e) {
    B(e, da);
  }
};
Y(it);
var fa = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("ul", e._g(e._b({
    staticClass: "pagination",
    class: e.classes
  }, "ul", e.$attrs, !1), e.listeners), [e._t("first-arrow", function() {
    return [l("li", {
      staticClass: "pagination-arrow",
      class: {
        disabled: e.current === 1
      },
      on: {
        click: function(n) {
          return n.preventDefault(), e.goto(1);
        }
      }
    }, [l("a", [e._v("«")])])];
  }, {
    goto: e.goto,
    pageCount: e.pageCount,
    isDisabled: e.current === 1
  }), e._t("prev-arrow", function() {
    return [l("li", {
      staticClass: "pagination-arrow",
      class: {
        disabled: e.current === 1
      },
      on: {
        click: function(n) {
          return n.preventDefault(), e.prev.apply(null, arguments);
        }
      }
    }, [l("a", [e._v("‹")])])];
  }, {
    prev: e.prev,
    pageCount: e.pageCount,
    isDisabled: e.current === 1
  }), e._l(e.pageCount, function(n, a) {
    return l("div", {
      key: a,
      staticClass: "d-flex"
    }, [e.isShown(a) ? e._t("default", function() {
      return [l("li", {
        class: {
          active: e.current - 1 === a
        },
        on: {
          click: function(s) {
            return e.goto(a + 1);
          }
        }
      }, [l("a", [e._v(e._s(a + 1))])])];
    }, {
      pageNumber: a + 1,
      activePage: e.current - 1,
      isActive: e.current - 1 === a,
      goto: e.goto
    }) : a === 1 || a === e.pageCount - 2 ? l("li", {
      staticClass: "pagination-dots"
    }, [e._v("...")]) : e._e()], 2);
  }), e._t("next-arrow", function() {
    return [l("li", {
      staticClass: "pagination-arrow",
      class: {
        disabled: e.current === e.pageCount
      },
      on: {
        click: function(n) {
          return n.preventDefault(), e.next.apply(null, arguments);
        }
      }
    }, [l("a", [e._v("›")])])];
  }, {
    next: e.next,
    pageCount: e.pageCount,
    isDisabled: e.current === e.pageCount
  }), e._t("last-arrow", function() {
    return [l("li", {
      staticClass: "pagination-arrow",
      class: {
        disabled: e.current === e.pageCount
      },
      on: {
        click: function(n) {
          return n.preventDefault(), e.goto(e.pageCount);
        }
      }
    }, [l("a", [e._v("»")])])];
  }, {
    goto: e.goto,
    pageCount: e.pageCount,
    isDisabled: e.current === e.pageCount
  })], 2);
}, ma = [];
const _a = {
  name: "AxPagination",
  mixins: [G],
  props: {
    total: {
      type: Number,
      default: 0,
      required: !0,
      validator: (e) => e >= 0
    },
    perPage: {
      type: Number,
      default: 10,
      validator: (e) => e > 0
    },
    size: {
      type: String,
      defaut: "",
      validator: (e) => ["", "small", "large"].includes(e)
    },
    maxVisible: {
      type: Number,
      default: 7,
      validator: (e) => e > 2 || e === 0
    }
  },
  setup(e, t) {
    const l = u(Math.ceil(e.total / e.perPage)), n = N(e)[K()], a = u(n.value || 1);
    let s = 1, i = 0;
    const r = q(), o = $(() => ({
      "pagination-small": e.size === "small",
      "pagination-large": e.size === "large"
    }));
    k(n, (_) => {
      _ === null || a.value === _ || (a.value = _);
    }), k(a, (_) => {
      t.emit(r, _);
    }), k(
      () => e.total,
      () => {
        c();
      }
    ), k(
      () => e.perPage,
      () => {
        c();
      }
    );
    const c = () => {
      l.value = Math.ceil(e.total / e.perPage);
    }, y = () => {
      a.value !== 1 && (a.value -= 1, t.emit("prev", a.value));
    }, m = () => {
      a.value !== l.value && (a.value += 1, t.emit("next", a.value));
    }, p = (_) => {
      a.value !== _ && (a.value = _, t.emit("goto", _));
    }, f = (_) => {
      if (e.maxVisible < 3 || e.maxVisible > l.value)
        return !0;
      const h = a.value - 1;
      return _ === 0 || _ === l.value - 1 || h === _ ? (C(_), !0) : h <= Math.floor(e.maxVisible / 2) ? A(_, h) : l.value - h + 1 < e.maxVisible ? F(_, h) : s < e.maxVisible ? T(_, h) : !1;
    }, C = (_) => {
      s++, _ === l.value - 1 && (i = 0, s = 1);
    }, A = (_, h) => _ < h || s < e.maxVisible ? (s++, !0) : !1, F = (_, h) => _ < h && _ <= l.value - e.maxVisible ? !1 : (s++, !0), T = (_, h) => (i === 0 && (i = (e.maxVisible - s) / 2), h - _ < Math.ceil(i) || h - _ <= Math.floor(i) ? (s++, !0) : !1);
    return {
      pageCount: l,
      classes: o,
      current: a,
      prev: y,
      next: m,
      goto: p,
      isShown: f,
      listeners: t.listeners ? t.listeners : {}
    };
  }
}, Me = {};
var pa = /* @__PURE__ */ M(
  _a,
  fa,
  ma,
  !1,
  ga,
  null,
  null,
  null
);
function ga(e) {
  for (let t in Me)
    this[t] = Me[t];
}
const ha = /* @__PURE__ */ function() {
  return pa.exports;
}(), ut = {
  install(e) {
    B(e, ha);
  }
};
Y(ut);
var ya = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", e._g(e._b({
    ref: "sidenav",
    staticClass: "sidenav",
    class: e.classes,
    style: e.style
  }, "div", e.$attrs, !1), e.listeners), [e._t("default")], 2);
}, xa = [];
const ba = R({
  name: "AxSidenav",
  mixins: [G],
  props: {
    overlay: {
      type: Boolean,
      default: !0
    },
    bodyScrolling: {
      type: Boolean,
      default: !1
    },
    animationDuration: {
      type: Number,
      default: 300
    },
    fixed: {
      type: Boolean,
      default: !1
    },
    right: {
      type: Boolean,
      default: !1
    }
  },
  setup(e, t) {
    const l = u(null), n = N(e), a = u(!1), s = u(!1), i = u(null), r = u(!1), o = u(null), c = u(null), y = n[K()], m = u(null), p = q(), f = X();
    ie("ax-sidenav", f);
    const C = $(() => ({
      active: a.value,
      "sidenav-fixed": e.fixed,
      "sidenav-right": e.right
    })), A = $(() => ({
      transitionDuration: e.animationDuration + "ms"
    }));
    k(y, (S) => {
      if (S !== null) {
        if (e.fixed && window.innerWidth >= 960) {
          t.emit(p, !0);
          return;
        }
        a.value = S, S ? d() : x();
      }
    }), k(a, (S) => {
      t.emit(p, S);
    }), k(
      () => e.overlay,
      (S) => {
        I(S);
      }
    );
    const F = () => {
      Q({
        type: "Sidenav",
        uid: f,
        data: { fixed: n.fixed, right: n.right }
      }), l.value = m.value.closest(".layout"), e.overlay && V(), T(), L(), (y.value || e.fixed && window.innerWidth >= 960) && d(), t.emit("setup");
    }, T = () => {
      c.value = w.bind(this), o.value = b.bind(this), window.addEventListener("resize", o.value);
    }, _ = () => {
      window.removeEventListener("resize", o.value), v();
    }, h = () => {
      ["layout-sidenav-right", "layout-sidenav-both"].forEach((S) => l.value.classList.remove(S));
    }, b = () => {
      e.fixed && window.innerWidth >= 960 ? a.value = !0 : a.value = !1;
    }, L = () => {
      const S = fe("Sidenav").filter((U) => U.data.fixed.value), H = S[0] && S[0].uid === f;
      l.value && H && h(), l.value && e.fixed && H && O(S);
    }, O = (S) => {
      const { sidenavsRight: H, sidenavsLeft: U } = S.reduce(
        (le, D) => (D.data.right.value ? le.sidenavsRight.push(D) : le.sidenavsLeft.push(D), le),
        { sidenavsRight: [], sidenavsLeft: [] }
      ), te = U.length > 0 && H.length > 0;
      H.length > 0 && !te ? l.value.classList.add("layout-sidenav-right") : te && l.value.classList.add("layout-sidenav-both");
    }, V = () => {
      i.value = document.createElement("div"), i.value.classList.add("ax-overlay");
    }, I = (S) => {
      if (!e.fixed) {
        if (i.value) {
          S || v(), a.value && S && !r.value && P(!0);
          return;
        }
        S && (V(), a.value && P(!0));
      }
    }, v = () => {
      e.overlay && r.value && (i.value.removeEventListener("click", c.value), i.value.remove(), i.value = "", r.value = !1);
    }, g = (S) => {
      e.bodyScrolling || (document.body.style.overflow = S || window.innerWidth >= 960 ? "" : "hidden");
    }, w = (S) => {
      S.preventDefault(), !(e.fixed && window.innerWidth >= 960) && (a.value = !a);
    }, d = () => {
      s.value || (a.value = !0, t.emit("open"), s.value = !0, P(!0), g(!1), setTimeout(() => {
        s.value = !1, t.emit("opened");
      }, e.animationDuration));
    }, x = () => {
      s.value || (a.value = !1, s.value = !0, t.emit("close"), P(!1), setTimeout(() => {
        g(!0), s.value = !1, t.emit("closed");
      }, e.animationDuration));
    }, P = (S) => {
      !e.overlay || window.innerWidth >= 960 && e.fixed || (i.value.style.transitionDuration = e.animationDuration + "ms", S ? (r.value = !0, i.value.addEventListener("click", c.value), document.body.appendChild(i.value), setTimeout(() => {
        i.value.classList.add("active");
      }, 50)) : (i.value.classList.remove("active"), setTimeout(() => {
        i.value.removeEventListener("click", c.value), i.value.remove(), r.value = !1;
      }, e.animationDuration)));
    };
    return W(() => {
      F();
    }), pe(() => {
      I(e.overlay);
    }), Z(() => {
      _(), g(!0), ee(f);
    }), {
      classes: C,
      style: A,
      sidenav: m,
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), Pe = {};
var wa = /* @__PURE__ */ M(
  ba,
  ya,
  xa,
  !1,
  $a,
  null,
  null,
  null
);
function $a(e) {
  for (let t in Pe)
    this[t] = Pe[t];
}
const Ca = /* @__PURE__ */ function() {
  return wa.exports;
}();
var ka = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l(e.tag, e._g(e._b({
    tag: "component",
    staticClass: "sidenav-link",
    class: e.classes
  }, "component", e.$attrs, !1), e.listeners), [e._t("default")], 2);
}, Aa = [];
const Sa = R({
  name: "AxSidenavLink",
  props: {
    active: {
      type: Boolean,
      default: !1
    },
    tag: {
      type: String,
      default: "a"
    }
  },
  setup(e, t) {
    return {
      classes: $(() => ({
        active: e.active
      })),
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), Ie = {};
var La = /* @__PURE__ */ M(
  Sa,
  ka,
  Aa,
  !1,
  Ea,
  null,
  null,
  null
);
function Ea(e) {
  for (let t in Ie)
    this[t] = Ie[t];
}
const Ta = /* @__PURE__ */ function() {
  return La.exports;
}();
var Da = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", e._g(e._b({
    staticClass: "sidenav-header"
  }, "div", e.$attrs, !1), e.listeners), [e._t("default")], 2);
}, Fa = [];
const Va = R({
  name: "AxSidenavHeader",
  setup(e, t) {
    return {
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), Oe = {};
var Ba = /* @__PURE__ */ M(
  Va,
  Da,
  Fa,
  !1,
  Ra,
  null,
  null,
  null
);
function Ra(e) {
  for (let t in Oe)
    this[t] = Oe[t];
}
const Ma = /* @__PURE__ */ function() {
  return Ba.exports;
}();
var Pa = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", e._g(e._b({
    staticClass: "sidenav-footer"
  }, "div", e.$attrs, !1), e.listeners), [e._t("default")], 2);
}, Ia = [];
const Oa = R({
  name: "AxSidenavFooter",
  setup(e, t) {
    return {
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), ze = {};
var za = /* @__PURE__ */ M(
  Oa,
  Pa,
  Ia,
  !1,
  Ha,
  null,
  null,
  null
);
function Ha(e) {
  for (let t in ze)
    this[t] = ze[t];
}
const ja = /* @__PURE__ */ function() {
  return za.exports;
}(), ot = {
  install(e) {
    B(e, Ca), B(e, Ta), B(e, Ma), B(e, ja);
  }
};
Y(ot);
var Na = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", e._g(e._b({
    staticClass: "tab",
    class: e.classes,
    style: e.style
  }, "div", e.$attrs, !1), e.listeners), [e.arrow ? l("div", {
    ref: "arrowRef",
    staticClass: "tab-arrow",
    class: e.arrowClasses
  }, [l("div", {
    staticClass: "tab-prev",
    class: e.prevClasses,
    on: {
      click: e.scrollLeft
    }
  }, [e._t("left-arrow", function() {
    return [e._v(" ‹ ")];
  })], 2), l("ul", {
    ref: "menu",
    staticClass: "tab-menu",
    style: e.menuStyle
  }, [e._t("menu")], 2), l("div", {
    staticClass: "tab-next",
    class: e.nextClasses,
    on: {
      click: e.scrollRight
    }
  }, [e._t("right-arrow", function() {
    return [e._v(" › ")];
  })], 2)]) : l("ul", {
    ref: "menu",
    staticClass: "tab-menu",
    style: e.menuStyle
  }, [e._t("menu")], 2), e._t("default")], 2);
}, Wa = [];
const Ua = R({
  name: "AxTab",
  mixins: [G],
  props: {
    fullWidth: {
      type: Boolean,
      default: !1
    },
    mode: {
      type: String,
      default: "none",
      validator: (e) => ["none"].includes(e)
    },
    animationDuration: {
      type: Number,
      default: 300
    },
    disableActiveBar: {
      type: Boolean,
      default: !1
    },
    arrow: {
      type: Boolean,
      default: !1
    },
    prevClasses: {
      type: String,
      default: ""
    },
    nextClasses: {
      type: String,
      default: ""
    }
  },
  setup(e, t) {
    const l = N(e), n = l[K()], a = u({}), s = u({}), i = u([]), r = u([]), o = u(0), c = u(0), y = u(null), m = u(null), p = u(!1), f = u(null), C = q();
    ie("ax-tab-links", i), ie("ax-tab-current", s), ie("ax-tab-items", r);
    const A = $(() => ({
      "tab-full-width": e.fullWidth
    })), F = $(() => ({
      "tab-arrow-show": p.value
    })), T = $(() => ({
      transitionDuration: e.animationDuration + "ms"
    })), _ = $(() => ({
      "--ax-tab-bar-left-offset": o.value,
      "--ax-tab-bar-right-offset": c.value
    }));
    k(l.fullWidth, () => {
      setTimeout(() => {
        g();
      }, 100);
    }), k(n, (d) => {
      if (d === null)
        return;
      const x = i.value.findIndex((P) => P.itemId === d);
      x !== -1 && (a.value.selected = !1, s.value = i.value[x], s.value.selected = !0);
    }), k(s, () => {
      a.value.selected = !1, v(), a.value = s.value, t.emit(C, s.value.itemId);
    });
    const h = () => {
      window.addEventListener("resize", L);
    }, b = () => {
      window.removeEventListener("resize", L);
    }, L = () => {
      y.value && clearTimeout(y.value), y.value = setTimeout(g, 100), e.arrow && O();
    }, O = () => {
      if (!e.arrow)
        return;
      const d = i.value.reduce((P, S) => (P += S.el.clientWidth, P), 0), x = m.value.clientWidth;
      p.value = d > x;
    }, V = () => {
      e.arrow && (f.value.scrollLeft -= 40);
    }, I = () => {
      e.arrow && (f.value.scrollLeft += 40);
    }, v = () => {
      r.value.map((x) => {
        x.id !== s.value.itemId && (x.hide = !0);
      });
      const d = r.value.find((x) => x.id === s.value.itemId);
      d.hide = !1, t.emit("select", d), g();
    }, g = () => {
      if (e.disableActiveBar)
        return o.value = "unset", c.value = "unset";
      const d = s.value.el.getBoundingClientRect(), x = d.left, P = f.value.getBoundingClientRect().left, S = x - P + f.value.scrollLeft, H = d.width, U = f.value.clientWidth - S - H;
      o.value = Math.floor(S) + "px", c.value = Math.ceil(U) + "px";
    }, w = () => {
      let d = i.value.find((x) => x.selected);
      d || (d = n.value ? i.value.find((x) => x.itemId === n.value) : i.value[0]), s.value = d;
    };
    return W(() => {
      h(), e.arrow && O(), w(), t.emit("setup");
    }), Z(() => {
      b();
    }), {
      classes: A,
      style: T,
      menuStyle: _,
      menu: f,
      arrowRef: m,
      arrowClasses: F,
      scrollLeft: V,
      scrollRight: I,
      updateActiveElement: w,
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), He = {};
var Xa = /* @__PURE__ */ M(
  Ua,
  Na,
  Wa,
  !1,
  Ya,
  null,
  null,
  null
);
function Ya(e) {
  for (let t in He)
    this[t] = He[t];
}
const Ga = /* @__PURE__ */ function() {
  return Xa.exports;
}();
var Ka = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", e._g(e._b({
    style: e.style
  }, "div", e.$attrs, !1), e.listeners), [e._t("default")], 2);
}, qa = [];
const Za = R({
  name: "AxTabItem",
  props: {
    id: String
  },
  setup(e, t) {
    const l = u(!1), n = re({
      uid: X(),
      hide: !0,
      id: e.id
    }), a = j("ax-tab-items"), s = $(() => ({
      display: n.hide ? "none" : "block"
    }));
    k(a, () => {
      i();
    });
    const i = () => {
      !a.value || l.value || (a.value.push(n), l.value = !0);
    }, r = () => {
      if (!a.value || !l.value)
        return;
      const o = a.value.findIndex((c) => c.uid === n.uid);
      a.value.splice(o, 1);
    };
    return W(() => {
      i();
    }), yt(() => {
      r();
    }), {
      style: s,
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), je = {};
var Ja = /* @__PURE__ */ M(
  Za,
  Ka,
  qa,
  !1,
  Qa,
  null,
  null,
  null
);
function Qa(e) {
  for (let t in je)
    this[t] = je[t];
}
const en = /* @__PURE__ */ function() {
  return Ja.exports;
}();
var tn = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("li", e._g({
    ref: "el",
    staticClass: "tab-link",
    class: e.classes,
    on: {
      click: function(n) {
        return n.preventDefault(), n.stopPropagation(), e.linkSelected.apply(null, arguments);
      }
    }
  }, e.listeners), [l("a", e._b({
    attrs: {
      href: e.href
    }
  }, "a", e.$attrs, !1), [e._t("default")], 2)]);
}, ln = [];
const an = R({
  name: "AxTabLink",
  inheritAttrs: !1,
  props: {
    href: {
      type: String,
      default: ""
    },
    active: {
      type: Boolean,
      default: !1
    }
  },
  setup(e, t) {
    const l = u(!1), n = u(null), a = re({
      uid: X(),
      selected: e.active,
      el: n,
      itemId: e.href.split("#")[1]
    }), s = j("ax-tab-links"), i = j("ax-tab-current");
    k(s, () => {
      o();
    });
    const r = $(() => ({
      active: a.selected
    })), o = () => {
      !s.value || l.value || (s.value.push(a), l.value = !0);
    }, c = () => {
      if (!s.value || !l.value)
        return;
      const m = s.value.findIndex((p) => p.uid === a.uid);
      s.value.splice(m, 1);
    }, y = () => {
      a.selected || (a.selected = !0, i.value = a);
    };
    return W(() => {
      o();
    }), xt(() => {
      c();
    }), {
      linkSelected: y,
      classes: r,
      el: n,
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), Ne = {};
var nn = /* @__PURE__ */ M(
  an,
  tn,
  ln,
  !1,
  sn,
  null,
  null,
  null
);
function sn(e) {
  for (let t in Ne)
    this[t] = Ne[t];
}
const un = /* @__PURE__ */ function() {
  return nn.exports;
}(), rt = {
  install(e) {
    B(e, Ga), B(e, en), B(e, un);
  }
};
Y(rt);
var on = function() {
  var e = this, t = e.$createElement, l = e._self._c || t;
  return l("div", e._g({
    ref: "tooltiper",
    staticClass: "tooltiper",
    on: {
      mouseenter: e.show,
      mouseleave: e.hide
    }
  }, e.listeners), [e._t("default")], 2);
}, rn = [];
const cn = R({
  name: "AxTooltip",
  props: {
    content: {
      type: String,
      default: ""
    },
    classes: {
      type: String,
      default: "grey dark-4 light-shadow-2 p-2"
    },
    animationDuration: {
      type: Number,
      default: 200
    },
    animationDelay: {
      type: Number,
      default: 0
    },
    offset: {
      type: Number,
      default: 10
    },
    position: {
      type: String,
      default: "top",
      validator: (e) => ["top", "right", "bottom", "left"].includes(e)
    }
  },
  setup(e, t) {
    const l = u(null), n = u(!1), a = u(null), s = u(null), i = u(null), r = u(null), o = u(null), c = X();
    k(
      () => e.content,
      (L) => {
        a.value && (a.value.innerHTML = L, F());
      }
    );
    const y = () => {
      Q({ type: "Tooltip", uid: c }), m(), o.value = r.value.getBoundingClientRect(), f(), F(), a.value.style.display = "none", t.emit("setup");
    }, m = () => {
      s.value = F.bind(this), window.addEventListener("resize", s.value);
    }, p = () => {
      window.removeEventListener("resize", s.value), C();
    }, f = () => {
      a.value = document.createElement("div"), A(), document.body.appendChild(a.value);
    }, C = () => {
      a.value.remove();
    }, A = () => {
      a.value.style.transform = "translate(0)", a.value.style.opacity = 0, a.value.className = "tooltip " + e.classes, a.value.style.transitionDuration = e.animationDuration + "ms", a.value.innerHTML = e.content;
    }, F = () => {
      l.value = r.value.getBoundingClientRect(), T(), o.value = a.value.getBoundingClientRect(), _();
    }, T = () => {
      e.position == "top" || e.position == "bottom" ? e.position == "top" ? a.value.style.top = l.value.top + "px" : a.value.style.top = l.value.top + l.value.height + "px" : (e.position == "left" || e.position == "right") && e.position == "right" && (a.value.style.left = l.value.left + l.value.width + "px");
    }, _ = () => {
      e.position === "top" || e.position === "bottom" ? a.value.style.left = l.value.left + l.value.width / 2 - o.value.width / 2 + "px" : (e.position === "left" || e.position === "right") && (a.value.style.top = l.value.top + l.value.height / 2 - o.value.height / 2 + "px"), e.position === "top" ? a.value.style.top = o.value.top + (n.value ? e.offset : 0) - o.value.height + "px" : e.position === "left" && (a.value.style.left = l.value.left - o.value.width + "px");
      const L = window.scrollY, O = parseFloat(a.value.style.top);
      e.position === "top" ? a.value.style.top = L * 2 + O + "px" : a.value.style.top = L + O + "px";
    }, h = () => {
      clearTimeout(i.value), a.value.style.display = "block", A(), F(), n.value = !0, t.emit("show"), i.value = setTimeout(() => {
        e.position == "top" ? a.value.style.transform = `translateY(-${e.offset}px)` : e.position == "right" ? a.value.style.transform = `translateX(${e.offset}px)` : e.position == "bottom" ? a.value.style.transform = `translateY(${e.offset}px)` : e.position == "left" && (a.value.style.transform = `translateX(-${e.offset}px)`), a.value.style.opacity = 1;
      }, e.animationDelay);
    }, b = () => {
      t.emit("hide"), clearTimeout(i.value), n.value = !1, a.value.style.transform = "translate(0)", a.value.style.opacity = 0, i.value = setTimeout(() => {
        a.value.style.display = "none";
      }, e.animationDuration);
    };
    return W(() => {
      y();
    }), Z(() => {
      p(), ee(c);
    }), {
      show: h,
      hide: b,
      tooltiper: r,
      listeners: t.listeners ? t.listeners : {}
    };
  }
}), We = {};
var vn = /* @__PURE__ */ M(
  cn,
  on,
  rn,
  !1,
  dn,
  "47375e8f",
  null,
  null
);
function dn(e) {
  for (let t in We)
    this[t] = We[t];
}
const fn = /* @__PURE__ */ function() {
  return vn.exports;
}(), ct = {
  install(e) {
    B(e, fn);
  }
};
Y(ct);
const Ue = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  AxBtn: Xe,
  AxBtnGroup: Ye,
  AxCollapsible: at,
  AxDataTable: st,
  AxDropdown: nt,
  AxForms: tt,
  AxLightbox: lt,
  AxModal: it,
  AxPagination: ut,
  AxSidenav: ot,
  AxTab: rt,
  AxTooltip: ct
}, Symbol.toStringTag, { value: "Module" })), mn = {
  install(e) {
    bt(), e.directive("ax-click-outside", me);
    for (let t in Ue)
      e.use(Ue[t]);
  }
};
Y(mn);
export {
  Xe as AxBtn,
  Ye as AxBtnGroup,
  me as AxClickOutside,
  at as AxCollapsible,
  st as AxDataTable,
  nt as AxDropdown,
  tt as AxForms,
  lt as AxLightbox,
  it as AxModal,
  ut as AxPagination,
  ot as AxSidenav,
  rt as AxTab,
  ct as AxTooltip,
  mn as default
};