import {
  axios_default
} from "./chunk-MJN6PGBK.js";
import {
  require_cjs,
  require_lib,
  require_lodash,
  require_lodash2
} from "./chunk-Y3GWUAMM.js";
import "./chunk-SA4QXAJ3.js";
import {
  computed,
  createSSRApp,
  defineComponent,
  h,
  isReactive,
  markRaw,
  reactive,
  ref,
  shallowRef,
  watch
} from "./chunk-XSQZ24V4.js";
import {
  __commonJS,
  __toESM
} from "./chunk-CEQRFMJQ.js";

// node_modules/nprogress/nprogress.js
var require_nprogress = __commonJS({
  "node_modules/nprogress/nprogress.js"(exports, module) {
    (function(root, factory) {
      if (typeof define === "function" && define.amd) {
        define(factory);
      } else if (typeof exports === "object") {
        module.exports = factory();
      } else {
        root.NProgress = factory();
      }
    })(exports, function() {
      var NProgress = {};
      NProgress.version = "0.2.0";
      var Settings = NProgress.settings = {
        minimum: 0.08,
        easing: "ease",
        positionUsing: "",
        speed: 200,
        trickle: true,
        trickleRate: 0.02,
        trickleSpeed: 800,
        showSpinner: true,
        barSelector: '[role="bar"]',
        spinnerSelector: '[role="spinner"]',
        parent: "body",
        template: '<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'
      };
      NProgress.configure = function(options) {
        var key, value;
        for (key in options) {
          value = options[key];
          if (value !== void 0 && options.hasOwnProperty(key))
            Settings[key] = value;
        }
        return this;
      };
      NProgress.status = null;
      NProgress.set = function(n) {
        var started = NProgress.isStarted();
        n = clamp(n, Settings.minimum, 1);
        NProgress.status = n === 1 ? null : n;
        var progress = NProgress.render(!started), bar = progress.querySelector(Settings.barSelector), speed = Settings.speed, ease = Settings.easing;
        progress.offsetWidth;
        queue(function(next) {
          if (Settings.positionUsing === "")
            Settings.positionUsing = NProgress.getPositioningCSS();
          css(bar, barPositionCSS(n, speed, ease));
          if (n === 1) {
            css(progress, {
              transition: "none",
              opacity: 1
            });
            progress.offsetWidth;
            setTimeout(function() {
              css(progress, {
                transition: "all " + speed + "ms linear",
                opacity: 0
              });
              setTimeout(function() {
                NProgress.remove();
                next();
              }, speed);
            }, speed);
          } else {
            setTimeout(next, speed);
          }
        });
        return this;
      };
      NProgress.isStarted = function() {
        return typeof NProgress.status === "number";
      };
      NProgress.start = function() {
        if (!NProgress.status)
          NProgress.set(0);
        var work = function() {
          setTimeout(function() {
            if (!NProgress.status)
              return;
            NProgress.trickle();
            work();
          }, Settings.trickleSpeed);
        };
        if (Settings.trickle)
          work();
        return this;
      };
      NProgress.done = function(force) {
        if (!force && !NProgress.status)
          return this;
        return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);
      };
      NProgress.inc = function(amount) {
        var n = NProgress.status;
        if (!n) {
          return NProgress.start();
        } else {
          if (typeof amount !== "number") {
            amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);
          }
          n = clamp(n + amount, 0, 0.994);
          return NProgress.set(n);
        }
      };
      NProgress.trickle = function() {
        return NProgress.inc(Math.random() * Settings.trickleRate);
      };
      (function() {
        var initial = 0, current = 0;
        NProgress.promise = function($promise) {
          if (!$promise || $promise.state() === "resolved") {
            return this;
          }
          if (current === 0) {
            NProgress.start();
          }
          initial++;
          current++;
          $promise.always(function() {
            current--;
            if (current === 0) {
              initial = 0;
              NProgress.done();
            } else {
              NProgress.set((initial - current) / initial);
            }
          });
          return this;
        };
      })();
      NProgress.render = function(fromStart) {
        if (NProgress.isRendered())
          return document.getElementById("nprogress");
        addClass(document.documentElement, "nprogress-busy");
        var progress = document.createElement("div");
        progress.id = "nprogress";
        progress.innerHTML = Settings.template;
        var bar = progress.querySelector(Settings.barSelector), perc = fromStart ? "-100" : toBarPerc(NProgress.status || 0), parent = document.querySelector(Settings.parent), spinner;
        css(bar, {
          transition: "all 0 linear",
          transform: "translate3d(" + perc + "%,0,0)"
        });
        if (!Settings.showSpinner) {
          spinner = progress.querySelector(Settings.spinnerSelector);
          spinner && removeElement(spinner);
        }
        if (parent != document.body) {
          addClass(parent, "nprogress-custom-parent");
        }
        parent.appendChild(progress);
        return progress;
      };
      NProgress.remove = function() {
        removeClass(document.documentElement, "nprogress-busy");
        removeClass(document.querySelector(Settings.parent), "nprogress-custom-parent");
        var progress = document.getElementById("nprogress");
        progress && removeElement(progress);
      };
      NProgress.isRendered = function() {
        return !!document.getElementById("nprogress");
      };
      NProgress.getPositioningCSS = function() {
        var bodyStyle = document.body.style;
        var vendorPrefix = "WebkitTransform" in bodyStyle ? "Webkit" : "MozTransform" in bodyStyle ? "Moz" : "msTransform" in bodyStyle ? "ms" : "OTransform" in bodyStyle ? "O" : "";
        if (vendorPrefix + "Perspective" in bodyStyle) {
          return "translate3d";
        } else if (vendorPrefix + "Transform" in bodyStyle) {
          return "translate";
        } else {
          return "margin";
        }
      };
      function clamp(n, min, max) {
        if (n < min)
          return min;
        if (n > max)
          return max;
        return n;
      }
      function toBarPerc(n) {
        return (-1 + n) * 100;
      }
      function barPositionCSS(n, speed, ease) {
        var barCSS;
        if (Settings.positionUsing === "translate3d") {
          barCSS = { transform: "translate3d(" + toBarPerc(n) + "%,0,0)" };
        } else if (Settings.positionUsing === "translate") {
          barCSS = { transform: "translate(" + toBarPerc(n) + "%,0)" };
        } else {
          barCSS = { "margin-left": toBarPerc(n) + "%" };
        }
        barCSS.transition = "all " + speed + "ms " + ease;
        return barCSS;
      }
      var queue = /* @__PURE__ */ function() {
        var pending = [];
        function next() {
          var fn = pending.shift();
          if (fn) {
            fn(next);
          }
        }
        return function(fn) {
          pending.push(fn);
          if (pending.length == 1)
            next();
        };
      }();
      var css = /* @__PURE__ */ function() {
        var cssPrefixes = ["Webkit", "O", "Moz", "ms"], cssProps = {};
        function camelCase(string) {
          return string.replace(/^-ms-/, "ms-").replace(/-([\da-z])/gi, function(match, letter) {
            return letter.toUpperCase();
          });
        }
        function getVendorProp(name) {
          var style = document.body.style;
          if (name in style)
            return name;
          var i = cssPrefixes.length, capName = name.charAt(0).toUpperCase() + name.slice(1), vendorName;
          while (i--) {
            vendorName = cssPrefixes[i] + capName;
            if (vendorName in style)
              return vendorName;
          }
          return name;
        }
        function getStyleProp(name) {
          name = camelCase(name);
          return cssProps[name] || (cssProps[name] = getVendorProp(name));
        }
        function applyCss(element, prop, value) {
          prop = getStyleProp(prop);
          element.style[prop] = value;
        }
        return function(element, properties) {
          var args = arguments, prop, value;
          if (args.length == 2) {
            for (prop in properties) {
              value = properties[prop];
              if (value !== void 0 && properties.hasOwnProperty(prop))
                applyCss(element, prop, value);
            }
          } else {
            applyCss(element, args[1], args[2]);
          }
        };
      }();
      function hasClass(element, name) {
        var list = typeof element == "string" ? element : classList(element);
        return list.indexOf(" " + name + " ") >= 0;
      }
      function addClass(element, name) {
        var oldList = classList(element), newList = oldList + name;
        if (hasClass(oldList, name))
          return;
        element.className = newList.substring(1);
      }
      function removeClass(element, name) {
        var oldList = classList(element), newList;
        if (!hasClass(element, name))
          return;
        newList = oldList.replace(" " + name + " ", " ");
        element.className = newList.substring(1, newList.length - 1);
      }
      function classList(element) {
        return (" " + (element.className || "") + " ").replace(/\s+/gi, " ");
      }
      function removeElement(element) {
        element && element.parentNode && element.parentNode.removeChild(element);
      }
      return NProgress;
    });
  }
});

// node_modules/@inertiajs/core/dist/index.esm.js
var import_deepmerge = __toESM(require_cjs());
var O = __toESM(require_lib());
var import_nprogress = __toESM(require_nprogress());
function R(t, e) {
  let i;
  return function(...n) {
    clearTimeout(i), i = setTimeout(() => t.apply(this, n), e);
  };
}
function f(t, e) {
  return document.dispatchEvent(new CustomEvent(`inertia:${t}`, e));
}
var M = (t) => f("before", { cancelable: true, detail: { visit: t } });
var j = (t) => f("error", { detail: { errors: t } });
var H = (t) => f("exception", { cancelable: true, detail: { exception: t } });
var N = (t) => f("finish", { detail: { visit: t } });
var $ = (t) => f("invalid", { cancelable: true, detail: { response: t } });
var S = (t) => f("navigate", { detail: { page: t } });
var q = (t) => f("progress", { detail: { progress: t } });
var W = (t) => f("start", { detail: { visit: t } });
var K = (t) => f("success", { detail: { page: t } });
function I(t) {
  return t instanceof File || t instanceof Blob || t instanceof FileList && t.length > 0 || t instanceof FormData && Array.from(t.values()).some((e) => I(e)) || typeof t == "object" && t !== null && Object.values(t).some((e) => I(e));
}
function A(t, e = new FormData(), i = null) {
  t = t || {};
  for (let n in t)
    Object.prototype.hasOwnProperty.call(t, n) && J(e, X(i, n), t[n]);
  return e;
}
function X(t, e) {
  return t ? t + "[" + e + "]" : e;
}
function J(t, e, i) {
  if (Array.isArray(i))
    return Array.from(i.keys()).forEach((n) => J(t, X(e, n.toString()), i[n]));
  if (i instanceof Date)
    return t.append(e, i.toISOString());
  if (i instanceof File)
    return t.append(e, i, i.name);
  if (i instanceof Blob)
    return t.append(e, i);
  if (typeof i == "boolean")
    return t.append(e, i ? "1" : "0");
  if (typeof i == "string")
    return t.append(e, i);
  if (typeof i == "number")
    return t.append(e, `${i}`);
  if (i == null)
    return t.append(e, "");
  A(i, t, e);
}
var z = { modal: null, listener: null, show(t) {
  typeof t == "object" && (t = `All Inertia requests must receive a valid Inertia response, however a plain JSON response was received.<hr>${JSON.stringify(t)}`);
  let e = document.createElement("html");
  e.innerHTML = t, e.querySelectorAll("a").forEach((n) => n.setAttribute("target", "_top")), this.modal = document.createElement("div"), this.modal.style.position = "fixed", this.modal.style.width = "100vw", this.modal.style.height = "100vh", this.modal.style.padding = "50px", this.modal.style.boxSizing = "border-box", this.modal.style.backgroundColor = "rgba(0, 0, 0, .6)", this.modal.style.zIndex = 2e5, this.modal.addEventListener("click", () => this.hide());
  let i = document.createElement("iframe");
  if (i.style.backgroundColor = "white", i.style.borderRadius = "5px", i.style.width = "100%", i.style.height = "100%", this.modal.appendChild(i), document.body.prepend(this.modal), document.body.style.overflow = "hidden", !i.contentWindow)
    throw new Error("iframe not yet ready.");
  i.contentWindow.document.open(), i.contentWindow.document.write(e.outerHTML), i.contentWindow.document.close(), this.listener = this.hideOnEscape.bind(this), document.addEventListener("keydown", this.listener);
}, hide() {
  this.modal.outerHTML = "", this.modal = null, document.body.style.overflow = "visible", document.removeEventListener("keydown", this.listener);
}, hideOnEscape(t) {
  t.keyCode === 27 && this.hide();
} };
function v(t) {
  return new URL(t.toString(), window.location.toString());
}
function k(t, e, i, n = "brackets") {
  let o = /^https?:\/\//.test(e.toString()), c2 = o || e.toString().startsWith("/"), h2 = !c2 && !e.toString().startsWith("#") && !e.toString().startsWith("?"), m = e.toString().includes("?") || t === "get" && Object.keys(i).length, b = e.toString().includes("#"), a = new URL(e.toString(), "http://localhost");
  return t === "get" && Object.keys(i).length && (a.search = O.stringify((0, import_deepmerge.default)(O.parse(a.search, { ignoreQueryPrefix: true }), i), { encodeValuesOnly: true, arrayFormat: n }), i = {}), [[o ? `${a.protocol}//${a.host}` : "", c2 ? a.pathname : "", h2 ? a.pathname.substring(1) : "", m ? a.search : "", b ? a.hash : ""].join(""), i];
}
function w(t) {
  return t = new URL(t.href), t.hash = "", t;
}
var _ = typeof window > "u";
var C = class {
  constructor() {
    this.visitId = null;
  }
  init({ initialPage: e, resolveComponent: i, swapComponent: n }) {
    this.page = e, this.resolveComponent = i, this.swapComponent = n, this.setNavigationType(), this.clearRememberedStateOnReload(), this.isBackForwardVisit() ? this.handleBackForwardVisit(this.page) : this.isLocationVisit() ? this.handleLocationVisit(this.page) : this.handleInitialPageVisit(this.page), this.setupEventListeners();
  }
  setNavigationType() {
    this.navigationType = window.performance && window.performance.getEntriesByType("navigation").length > 0 ? window.performance.getEntriesByType("navigation")[0].type : "navigate";
  }
  clearRememberedStateOnReload() {
    var _a;
    this.navigationType === "reload" && ((_a = window.history.state) == null ? void 0 : _a.rememberedState) && delete window.history.state.rememberedState;
  }
  handleInitialPageVisit(e) {
    this.page.url += window.location.hash, this.setPage(e, { preserveState: true }).then(() => S(e));
  }
  setupEventListeners() {
    window.addEventListener("popstate", this.handlePopstateEvent.bind(this)), document.addEventListener("scroll", R(this.handleScrollEvent.bind(this), 100), true);
  }
  scrollRegions() {
    return document.querySelectorAll("[scroll-region]");
  }
  handleScrollEvent(e) {
    typeof e.target.hasAttribute == "function" && e.target.hasAttribute("scroll-region") && this.saveScrollPositions();
  }
  saveScrollPositions() {
    this.replaceState({ ...this.page, scrollRegions: Array.from(this.scrollRegions()).map((e) => ({ top: e.scrollTop, left: e.scrollLeft })) });
  }
  resetScrollPositions() {
    window.scrollTo(0, 0), this.scrollRegions().forEach((e) => {
      typeof e.scrollTo == "function" ? e.scrollTo(0, 0) : (e.scrollTop = 0, e.scrollLeft = 0);
    }), this.saveScrollPositions(), window.location.hash && setTimeout(() => {
      var _a;
      return (_a = document.getElementById(window.location.hash.slice(1))) == null ? void 0 : _a.scrollIntoView();
    });
  }
  restoreScrollPositions() {
    this.page.scrollRegions && this.scrollRegions().forEach((e, i) => {
      let n = this.page.scrollRegions[i];
      if (n)
        typeof e.scrollTo == "function" ? e.scrollTo(n.left, n.top) : (e.scrollTop = n.top, e.scrollLeft = n.left);
      else
        return;
    });
  }
  isBackForwardVisit() {
    return window.history.state && this.navigationType === "back_forward";
  }
  handleBackForwardVisit(e) {
    window.history.state.version = e.version, this.setPage(window.history.state, { preserveScroll: true, preserveState: true }).then(() => {
      this.restoreScrollPositions(), S(e);
    });
  }
  locationVisit(e, i) {
    try {
      let n = { preserveScroll: i };
      window.sessionStorage.setItem("inertiaLocationVisit", JSON.stringify(n)), window.location.href = e.href, w(window.location).href === w(e).href && window.location.reload();
    } catch {
      return false;
    }
  }
  isLocationVisit() {
    try {
      return window.sessionStorage.getItem("inertiaLocationVisit") !== null;
    } catch {
      return false;
    }
  }
  handleLocationVisit(e) {
    var _a, _b;
    let i = JSON.parse(window.sessionStorage.getItem("inertiaLocationVisit") || "");
    window.sessionStorage.removeItem("inertiaLocationVisit"), e.url += window.location.hash, e.rememberedState = ((_a = window.history.state) == null ? void 0 : _a.rememberedState) ?? {}, e.scrollRegions = ((_b = window.history.state) == null ? void 0 : _b.scrollRegions) ?? [], this.setPage(e, { preserveScroll: i.preserveScroll, preserveState: true }).then(() => {
      i.preserveScroll && this.restoreScrollPositions(), S(e);
    });
  }
  isLocationVisitResponse(e) {
    return !!(e && e.status === 409 && e.headers["x-inertia-location"]);
  }
  isInertiaResponse(e) {
    return !!(e == null ? void 0 : e.headers["x-inertia"]);
  }
  createVisitId() {
    return this.visitId = {}, this.visitId;
  }
  cancelVisit(e, { cancelled: i = false, interrupted: n = false }) {
    e && !e.completed && !e.cancelled && !e.interrupted && (e.cancelToken.abort(), e.onCancel(), e.completed = false, e.cancelled = i, e.interrupted = n, N(e), e.onFinish(e));
  }
  finishVisit(e) {
    !e.cancelled && !e.interrupted && (e.completed = true, e.cancelled = false, e.interrupted = false, N(e), e.onFinish(e));
  }
  resolvePreserveOption(e, i) {
    return typeof e == "function" ? e(i) : e === "errors" ? Object.keys(i.props.errors || {}).length > 0 : e;
  }
  cancel() {
    this.activeVisit && this.cancelVisit(this.activeVisit, { cancelled: true });
  }
  visit(e, { method: i = "get", data: n = {}, replace: o = false, preserveScroll: c2 = false, preserveState: h2 = false, only: m = [], headers: b = {}, errorBag: a = "", forceFormData: l = false, onCancelToken: g2 = () => {
  }, onBefore: L2 = () => {
  }, onStart: d2 = () => {
  }, onProgress: p = () => {
  }, onFinish: T2 = () => {
  }, onCancel: y = () => {
  }, onSuccess: D2 = () => {
  }, onError: U = () => {
  }, queryStringArrayFormat: F2 = "brackets" } = {}) {
    let x2 = typeof e == "string" ? v(e) : e;
    if ((I(n) || l) && !(n instanceof FormData) && (n = A(n)), !(n instanceof FormData)) {
      let [r, s] = k(i, x2, n, F2);
      x2 = v(r), n = s;
    }
    let P = { url: x2, method: i, data: n, replace: o, preserveScroll: c2, preserveState: h2, only: m, headers: b, errorBag: a, forceFormData: l, queryStringArrayFormat: F2, cancelled: false, completed: false, interrupted: false };
    if (L2(P) === false || !M(P))
      return;
    this.activeVisit && this.cancelVisit(this.activeVisit, { interrupted: true }), this.saveScrollPositions();
    let G = this.createVisitId();
    this.activeVisit = { ...P, onCancelToken: g2, onBefore: L2, onStart: d2, onProgress: p, onFinish: T2, onCancel: y, onSuccess: D2, onError: U, queryStringArrayFormat: F2, cancelToken: new AbortController() }, g2({ cancel: () => {
      this.activeVisit && this.cancelVisit(this.activeVisit, { cancelled: true });
    } }), W(P), d2(P), axios_default({ method: i, url: w(x2).href, data: i === "get" ? {} : n, params: i === "get" ? n : {}, signal: this.activeVisit.cancelToken.signal, headers: { ...b, Accept: "text/html, application/xhtml+xml", "X-Requested-With": "XMLHttpRequest", "X-Inertia": true, ...m.length ? { "X-Inertia-Partial-Component": this.page.component, "X-Inertia-Partial-Data": m.join(",") } : {}, ...a && a.length ? { "X-Inertia-Error-Bag": a } : {}, ...this.page.version ? { "X-Inertia-Version": this.page.version } : {} }, onUploadProgress: (r) => {
      n instanceof FormData && (r.percentage = r.progress ? Math.round(r.progress * 100) : 0, q(r), p(r));
    } }).then((r) => {
      var _a;
      if (!this.isInertiaResponse(r))
        return Promise.reject({ response: r });
      let s = r.data;
      m.length && s.component === this.page.component && (s.props = { ...this.page.props, ...s.props }), c2 = this.resolvePreserveOption(c2, s), h2 = this.resolvePreserveOption(h2, s), h2 && ((_a = window.history.state) == null ? void 0 : _a.rememberedState) && s.component === this.page.component && (s.rememberedState = window.history.state.rememberedState);
      let E2 = x2, V = v(s.url);
      return E2.hash && !V.hash && w(E2).href === V.href && (V.hash = E2.hash, s.url = V.href), this.setPage(s, { visitId: G, replace: o, preserveScroll: c2, preserveState: h2 });
    }).then(() => {
      let r = this.page.props.errors || {};
      if (Object.keys(r).length > 0) {
        let s = a ? r[a] ? r[a] : {} : r;
        return j(s), U(s);
      }
      return K(this.page), D2(this.page);
    }).catch((r) => {
      if (this.isInertiaResponse(r.response))
        return this.setPage(r.response.data, { visitId: G });
      if (this.isLocationVisitResponse(r.response)) {
        let s = v(r.response.headers["x-inertia-location"]), E2 = x2;
        E2.hash && !s.hash && w(E2).href === s.href && (s.hash = E2.hash), this.locationVisit(s, c2 === true);
      } else if (r.response)
        $(r.response) && z.show(r.response.data);
      else
        return Promise.reject(r);
    }).then(() => {
      this.activeVisit && this.finishVisit(this.activeVisit);
    }).catch((r) => {
      if (!axios_default.isCancel(r)) {
        let s = H(r);
        if (this.activeVisit && this.finishVisit(this.activeVisit), s)
          return Promise.reject(r);
      }
    });
  }
  setPage(e, { visitId: i = this.createVisitId(), replace: n = false, preserveScroll: o = false, preserveState: c2 = false } = {}) {
    return Promise.resolve(this.resolveComponent(e.component)).then((h2) => {
      i === this.visitId && (e.scrollRegions = e.scrollRegions || [], e.rememberedState = e.rememberedState || {}, n = n || v(e.url).href === window.location.href, n ? this.replaceState(e) : this.pushState(e), this.swapComponent({ component: h2, page: e, preserveState: c2 }).then(() => {
        o || this.resetScrollPositions(), n || S(e);
      }));
    });
  }
  pushState(e) {
    this.page = e, window.history.pushState(e, "", e.url);
  }
  replaceState(e) {
    this.page = e, window.history.replaceState(e, "", e.url);
  }
  handlePopstateEvent(e) {
    if (e.state !== null) {
      let i = e.state, n = this.createVisitId();
      Promise.resolve(this.resolveComponent(i.component)).then((o) => {
        n === this.visitId && (this.page = i, this.swapComponent({ component: o, page: i, preserveState: false }).then(() => {
          this.restoreScrollPositions(), S(i);
        }));
      });
    } else {
      let i = v(this.page.url);
      i.hash = window.location.hash, this.replaceState({ ...this.page, url: i.href }), this.resetScrollPositions();
    }
  }
  get(e, i = {}, n = {}) {
    return this.visit(e, { ...n, method: "get", data: i });
  }
  reload(e = {}) {
    return this.visit(window.location.href, { ...e, preserveScroll: true, preserveState: true });
  }
  replace(e, i = {}) {
    return console.warn(`Inertia.replace() has been deprecated and will be removed in a future release. Please use Inertia.${i.method ?? "get"}() instead.`), this.visit(e, { preserveState: true, ...i, replace: true });
  }
  post(e, i = {}, n = {}) {
    return this.visit(e, { preserveState: true, ...n, method: "post", data: i });
  }
  put(e, i = {}, n = {}) {
    return this.visit(e, { preserveState: true, ...n, method: "put", data: i });
  }
  patch(e, i = {}, n = {}) {
    return this.visit(e, { preserveState: true, ...n, method: "patch", data: i });
  }
  delete(e, i = {}) {
    return this.visit(e, { preserveState: true, ...i, method: "delete" });
  }
  remember(e, i = "default") {
    var _a;
    _ || this.replaceState({ ...this.page, rememberedState: { ...(_a = this.page) == null ? void 0 : _a.rememberedState, [i]: e } });
  }
  restore(e = "default") {
    var _a, _b;
    if (!_)
      return (_b = (_a = window.history.state) == null ? void 0 : _a.rememberedState) == null ? void 0 : _b[e];
  }
  on(e, i) {
    let n = (o) => {
      let c2 = i(o);
      o.cancelable && !o.defaultPrevented && c2 === false && o.preventDefault();
    };
    return document.addEventListener(`inertia:${e}`, n), () => document.removeEventListener(`inertia:${e}`, n);
  }
};
var ie = { buildDOMElement(t) {
  let e = document.createElement("template");
  e.innerHTML = t;
  let i = e.content.firstChild;
  if (!t.startsWith("<script "))
    return i;
  let n = document.createElement("script");
  return n.innerHTML = i.innerHTML, i.getAttributeNames().forEach((o) => {
    n.setAttribute(o, i.getAttribute(o) || "");
  }), n;
}, isInertiaManagedElement(t) {
  return t.nodeType === Node.ELEMENT_NODE && t.getAttribute("inertia") !== null;
}, findMatchingElementIndex(t, e) {
  let i = t.getAttribute("inertia");
  return i !== null ? e.findIndex((n) => n.getAttribute("inertia") === i) : -1;
}, update: R(function(t) {
  let e = t.map((n) => this.buildDOMElement(n));
  Array.from(document.head.childNodes).filter((n) => this.isInertiaManagedElement(n)).forEach((n) => {
    var _a, _b;
    let o = this.findMatchingElementIndex(n, e);
    if (o === -1) {
      (_a = n == null ? void 0 : n.parentNode) == null ? void 0 : _a.removeChild(n);
      return;
    }
    let c2 = e.splice(o, 1)[0];
    c2 && !n.isEqualNode(c2) && ((_b = n == null ? void 0 : n.parentNode) == null ? void 0 : _b.replaceChild(c2, n));
  }), e.forEach((n) => document.head.appendChild(n));
}, 1) };
function Q(t, e, i) {
  let n = {}, o = 0;
  function c2() {
    let l = o += 1;
    return n[l] = [], l.toString();
  }
  function h2(l) {
    l === null || Object.keys(n).indexOf(l) === -1 || (delete n[l], a());
  }
  function m(l, g2 = []) {
    l !== null && Object.keys(n).indexOf(l) > -1 && (n[l] = g2), a();
  }
  function b() {
    let l = e(""), g2 = { ...l ? { title: `<title inertia="">${l}</title>` } : {} }, L2 = Object.values(n).reduce((d2, p) => d2.concat(p), []).reduce((d2, p) => {
      if (p.indexOf("<") === -1)
        return d2;
      if (p.indexOf("<title ") === 0) {
        let y = p.match(/(<title [^>]+>)(.*?)(<\/title>)/);
        return d2.title = y ? `${y[1]}${e(y[2])}${y[3]}` : p, d2;
      }
      let T2 = p.match(/ inertia="[^"]+"/);
      return T2 ? d2[T2[0]] = p : d2[Object.keys(d2).length] = p, d2;
    }, g2);
    return Object.values(L2);
  }
  function a() {
    t ? i(b()) : ie.update(b());
  }
  return a(), { forceUpdate: a, createProvider: function() {
    let l = c2();
    return { update: (g2) => m(l, g2), disconnect: () => h2(l) };
  } };
}
var Y = null;
function ne(t) {
  document.addEventListener("inertia:start", re.bind(null, t)), document.addEventListener("inertia:progress", oe), document.addEventListener("inertia:finish", se);
}
function re(t) {
  Y = setTimeout(() => import_nprogress.default.start(), t);
}
function oe(t) {
  var _a;
  import_nprogress.default.isStarted() && ((_a = t.detail.progress) == null ? void 0 : _a.percentage) && import_nprogress.default.set(Math.max(import_nprogress.default.status, t.detail.progress.percentage / 100 * 0.9));
}
function se(t) {
  if (clearTimeout(Y), import_nprogress.default.isStarted())
    t.detail.visit.completed ? import_nprogress.default.done() : t.detail.visit.interrupted ? import_nprogress.default.set(0) : t.detail.visit.cancelled && (import_nprogress.default.done(), import_nprogress.default.remove());
  else
    return;
}
function ae(t) {
  let e = document.createElement("style");
  e.type = "text/css", e.textContent = `
    #nprogress {
      pointer-events: none;
    }

    #nprogress .bar {
      background: ${t};

      position: fixed;
      z-index: 1031;
      top: 0;
      left: 0;

      width: 100%;
      height: 2px;
    }

    #nprogress .peg {
      display: block;
      position: absolute;
      right: 0px;
      width: 100px;
      height: 100%;
      box-shadow: 0 0 10px ${t}, 0 0 5px ${t};
      opacity: 1.0;

      -webkit-transform: rotate(3deg) translate(0px, -4px);
          -ms-transform: rotate(3deg) translate(0px, -4px);
              transform: rotate(3deg) translate(0px, -4px);
    }

    #nprogress .spinner {
      display: block;
      position: fixed;
      z-index: 1031;
      top: 15px;
      right: 15px;
    }

    #nprogress .spinner-icon {
      width: 18px;
      height: 18px;
      box-sizing: border-box;

      border: solid 2px transparent;
      border-top-color: ${t};
      border-left-color: ${t};
      border-radius: 50%;

      -webkit-animation: nprogress-spinner 400ms linear infinite;
              animation: nprogress-spinner 400ms linear infinite;
    }

    .nprogress-custom-parent {
      overflow: hidden;
      position: relative;
    }

    .nprogress-custom-parent #nprogress .spinner,
    .nprogress-custom-parent #nprogress .bar {
      position: absolute;
    }

    @-webkit-keyframes nprogress-spinner {
      0%   { -webkit-transform: rotate(0deg); }
      100% { -webkit-transform: rotate(360deg); }
    }
    @keyframes nprogress-spinner {
      0%   { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }
  `, document.head.appendChild(e);
}
function Z({ delay: t = 250, color: e = "#29d", includeCSS: i = true, showSpinner: n = false } = {}) {
  ne(t), import_nprogress.default.configure({ showSpinner: n }), i && ae(e);
}
function ee(t) {
  let e = t.currentTarget.tagName.toLowerCase() === "a";
  return !(t.target && (t == null ? void 0 : t.target).isContentEditable || t.defaultPrevented || e && t.which > 1 || e && t.altKey || e && t.ctrlKey || e && t.metaKey || e && t.shiftKey);
}
var Oe = new C();

// node_modules/@inertiajs/vue3/dist/index.esm.js
var import_lodash = __toESM(require_lodash());
var import_lodash2 = __toESM(require_lodash());
var import_lodash3 = __toESM(require_lodash2());
var import_lodash4 = __toESM(require_lodash());
var M2 = { created() {
  if (!this.$options.remember)
    return;
  Array.isArray(this.$options.remember) && (this.$options.remember = { data: this.$options.remember }), typeof this.$options.remember == "string" && (this.$options.remember = { data: [this.$options.remember] }), typeof this.$options.remember.data == "string" && (this.$options.remember = { data: [this.$options.remember.data] });
  let e = this.$options.remember.key instanceof Function ? this.$options.remember.key.call(this) : this.$options.remember.key, o = Oe.restore(e), n = this.$options.remember.data.filter((t) => !(this[t] !== null && typeof this[t] == "object" && this[t].__rememberable === false)), p = (t) => this[t] !== null && typeof this[t] == "object" && typeof this[t].__remember == "function" && typeof this[t].__restore == "function";
  n.forEach((t) => {
    this[t] !== void 0 && o !== void 0 && o[t] !== void 0 && (p(t) ? this[t].__restore(o[t]) : this[t] = o[t]), this.$watch(t, () => {
      Oe.remember(n.reduce((a, l) => ({ ...a, [l]: (0, import_lodash.default)(p(l) ? this[l].__remember() : this[l]) }), {}), e);
    }, { immediate: true, deep: true });
  });
} };
var D = M2;
function T(e, o) {
  let n = typeof e == "string" ? e : null, p = typeof e == "string" ? o : e, t = n ? Oe.restore(n) : null, a = typeof p == "object" ? (0, import_lodash2.default)(p) : (0, import_lodash2.default)(p()), l = null, f2 = null, h2 = (r) => r, y = reactive({ ...t ? t.data : (0, import_lodash2.default)(a), isDirty: false, errors: t ? t.errors : {}, hasErrors: false, processing: false, progress: null, wasSuccessful: false, recentlySuccessful: false, data() {
    return Object.keys(a).reduce((r, s) => (r[s] = this[s], r), {});
  }, transform(r) {
    return h2 = r, this;
  }, defaults(r, s) {
    if (typeof p == "function")
      throw new Error("You cannot call `defaults()` when using a function to define your form data.");
    return typeof r > "u" ? a = this.data() : a = Object.assign({}, (0, import_lodash2.default)(a), typeof r == "string" ? { [r]: s } : r), this;
  }, reset(...r) {
    let s = typeof p == "object" ? (0, import_lodash2.default)(a) : (0, import_lodash2.default)(p()), i = (0, import_lodash2.default)(s);
    return r.length === 0 ? (a = i, Object.assign(this, s)) : Object.keys(s).filter((m) => r.includes(m)).forEach((m) => {
      a[m] = i[m], this[m] = s[m];
    }), this;
  }, setError(r, s) {
    return Object.assign(this.errors, typeof r == "string" ? { [r]: s } : r), this.hasErrors = Object.keys(this.errors).length > 0, this;
  }, clearErrors(...r) {
    return this.errors = Object.keys(this.errors).reduce((s, i) => ({ ...s, ...r.length > 0 && !r.includes(i) ? { [i]: this.errors[i] } : {} }), {}), this.hasErrors = Object.keys(this.errors).length > 0, this;
  }, submit(r, s, i = {}) {
    let m = h2(this.data()), b = { ...i, onCancelToken: (u2) => {
      if (l = u2, i.onCancelToken)
        return i.onCancelToken(u2);
    }, onBefore: (u2) => {
      if (this.wasSuccessful = false, this.recentlySuccessful = false, clearTimeout(f2), i.onBefore)
        return i.onBefore(u2);
    }, onStart: (u2) => {
      if (this.processing = true, i.onStart)
        return i.onStart(u2);
    }, onProgress: (u2) => {
      if (this.progress = u2, i.onProgress)
        return i.onProgress(u2);
    }, onSuccess: async (u2) => {
      this.processing = false, this.progress = null, this.clearErrors(), this.wasSuccessful = true, this.recentlySuccessful = true, f2 = setTimeout(() => this.recentlySuccessful = false, 2e3);
      let N2 = i.onSuccess ? await i.onSuccess(u2) : null;
      return a = (0, import_lodash2.default)(this.data()), this.isDirty = false, N2;
    }, onError: (u2) => {
      if (this.processing = false, this.progress = null, this.clearErrors().setError(u2), i.onError)
        return i.onError(u2);
    }, onCancel: () => {
      if (this.processing = false, this.progress = null, i.onCancel)
        return i.onCancel();
    }, onFinish: (u2) => {
      if (this.processing = false, this.progress = null, l = null, i.onFinish)
        return i.onFinish(u2);
    } };
    r === "delete" ? Oe.delete(s, { ...b, data: m }) : Oe[r](s, m, b);
  }, get(r, s) {
    this.submit("get", r, s);
  }, post(r, s) {
    this.submit("post", r, s);
  }, put(r, s) {
    this.submit("put", r, s);
  }, patch(r, s) {
    this.submit("patch", r, s);
  }, delete(r, s) {
    this.submit("delete", r, s);
  }, cancel() {
    l && l.cancel();
  }, __rememberable: n === null, __remember() {
    return { data: this.data(), errors: this.errors };
  }, __restore(r) {
    Object.assign(this, r.data), this.setError(r.errors);
  } });
  return watch(y, (r) => {
    y.isDirty = !(0, import_lodash3.default)(y.data(), a), n && Oe.remember((0, import_lodash2.default)(r.__remember()), n);
  }, { immediate: true, deep: true }), y;
}
var c = ref(null);
var d = ref(null);
var k2 = shallowRef(null);
var F = ref(null);
var x = null;
var W2 = defineComponent({ name: "Inertia", props: { initialPage: { type: Object, required: true }, initialComponent: { type: Object, required: false }, resolveComponent: { type: Function, required: false }, titleCallback: { type: Function, required: false, default: (e) => e }, onHeadUpdate: { type: Function, required: false, default: () => () => {
} } }, setup({ initialPage: e, initialComponent: o, resolveComponent: n, titleCallback: p, onHeadUpdate: t }) {
  c.value = o ? markRaw(o) : null, d.value = e, F.value = null;
  let a = typeof window > "u";
  return x = Q(a, p, t), a || (Oe.init({ initialPage: e, resolveComponent: n, swapComponent: async (l) => {
    c.value = markRaw(l.component), d.value = l.page, F.value = l.preserveState ? F.value : Date.now();
  } }), Oe.on("navigate", () => x.forceUpdate())), () => {
    if (c.value) {
      c.value.inheritAttrs = !!c.value.inheritAttrs;
      let l = h(c.value, { ...d.value.props, key: F.value });
      return k2.value && (c.value.layout = k2.value, k2.value = null), c.value.layout ? typeof c.value.layout == "function" ? c.value.layout(h, l) : (Array.isArray(c.value.layout) ? c.value.layout : [c.value.layout]).concat(l).reverse().reduce((f2, h2) => (h2.inheritAttrs = !!h2.inheritAttrs, h(h2, { ...d.value.props }, () => f2))) : l;
    }
  };
} });
var E = W2;
var $2 = { install(e) {
  Oe.form = T, Object.defineProperty(e.config.globalProperties, "$inertia", { get: () => Oe }), Object.defineProperty(e.config.globalProperties, "$page", { get: () => d.value }), Object.defineProperty(e.config.globalProperties, "$headManager", { get: () => x }), e.mixin(D);
} };
function Q2() {
  return reactive({ props: computed(() => {
    var _a;
    return (_a = d.value) == null ? void 0 : _a.props;
  }), url: computed(() => {
    var _a;
    return (_a = d.value) == null ? void 0 : _a.url;
  }), component: computed(() => {
    var _a;
    return (_a = d.value) == null ? void 0 : _a.component;
  }), version: computed(() => {
    var _a;
    return (_a = d.value) == null ? void 0 : _a.version;
  }), scrollRegions: computed(() => {
    var _a;
    return (_a = d.value) == null ? void 0 : _a.scrollRegions;
  }), rememberedState: computed(() => {
    var _a;
    return (_a = d.value) == null ? void 0 : _a.rememberedState;
  }) });
}
async function j2({ id: e = "app", resolve: o, setup: n, title: p, progress: t = {}, page: a, render: l }) {
  let f2 = typeof window > "u", h2 = f2 ? null : document.getElementById(e), y = a || JSON.parse(h2.dataset.page), r = (m) => Promise.resolve(o(m)).then((b) => b.default || b), s = [], i = await r(y.component).then((m) => n({ el: h2, App: E, props: { initialPage: y, initialComponent: m, resolveComponent: r, titleCallback: p, onHeadUpdate: f2 ? (b) => s = b : null }, plugin: $2 }));
  if (!f2 && t && Z(t), f2) {
    let m = await l(createSSRApp({ render: () => h("div", { id: e, "data-page": JSON.stringify(y), innerHTML: i ? l(i) : "" }) }));
    return { head: s, body: m };
  }
}
var X2 = defineComponent({ props: { title: { type: String, required: false } }, data() {
  return { provider: this.$headManager.createProvider() };
}, beforeUnmount() {
  this.provider.disconnect();
}, methods: { isUnaryTag(e) {
  return ["area", "base", "br", "col", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"].indexOf(e.type) > -1;
}, renderTagStart(e) {
  e.props = e.props || {}, e.props.inertia = e.props["head-key"] !== void 0 ? e.props["head-key"] : "";
  let o = Object.keys(e.props).reduce((n, p) => {
    let t = e.props[p];
    return ["key", "head-key"].includes(p) ? n : t === "" ? n + ` ${p}` : n + ` ${p}="${t}"`;
  }, "");
  return `<${e.type}${o}>`;
}, renderTagChildren(e) {
  return typeof e.children == "string" ? e.children : e.children.reduce((o, n) => o + this.renderTag(n), "");
}, isFunctionNode(e) {
  return typeof e.type == "function";
}, isComponentNode(e) {
  return typeof e.type == "object";
}, isCommentNode(e) {
  return /(comment|cmt)/i.test(e.type.toString());
}, isFragmentNode(e) {
  return /(fragment|fgt|symbol\(\))/i.test(e.type.toString());
}, isTextNode(e) {
  return /(text|txt)/i.test(e.type.toString());
}, renderTag(e) {
  if (this.isTextNode(e))
    return e.children;
  if (this.isFragmentNode(e))
    return "";
  if (this.isCommentNode(e))
    return "";
  let o = this.renderTagStart(e);
  return e.children && (o += this.renderTagChildren(e)), this.isUnaryTag(e) || (o += `</${e.type}>`), o;
}, addTitleElement(e) {
  return this.title && !e.find((o) => o.startsWith("<title")) && e.push(`<title inertia>${this.title}</title>`), e;
}, renderNodes(e) {
  return this.addTitleElement(e.flatMap((o) => this.resolveNode(o)).map((o) => this.renderTag(o)).filter((o) => o));
}, resolveNode(e) {
  return this.isFunctionNode(e) ? this.resolveNode(e.type()) : this.isComponentNode(e) ? (console.warn("Using components in the <Head> component is not supported."), []) : this.isTextNode(e) && e.children ? e : this.isFragmentNode(e) && e.children ? e.children.flatMap((o) => this.resolveNode(o)) : this.isCommentNode(e) ? [] : e;
} }, render() {
  this.provider.update(this.renderNodes(this.$slots.default ? this.$slots.default() : []));
} });
var Z2 = X2;
var se2 = defineComponent({ name: "Link", props: { as: { type: String, default: "a" }, data: { type: Object, default: () => ({}) }, href: { type: String, required: true }, method: { type: String, default: "get" }, replace: { type: Boolean, default: false }, preserveScroll: { type: Boolean, default: false }, preserveState: { type: Boolean, default: null }, only: { type: Array, default: () => [] }, headers: { type: Object, default: () => ({}) }, queryStringArrayFormat: { type: String, default: "brackets" } }, setup(e, { slots: o, attrs: n }) {
  return () => {
    let p = e.as.toLowerCase(), t = e.method.toLowerCase(), [a, l] = k(t, e.href || "", e.data, e.queryStringArrayFormat);
    return p === "a" && t !== "get" && console.warn(`Creating POST/PUT/PATCH/DELETE <a> links is discouraged as it causes "Open Link in New Tab/Window" accessibility issues.

Please specify a more appropriate element using the "as" attribute. For example:

<Link href="${a}" method="${t}" as="button">...</Link>`), h(e.as, { ...n, ...p === "a" ? { href: a } : {}, onClick: (f2) => {
      ee(f2) && (f2.preventDefault(), Oe.visit(a, { data: l, method: t, replace: e.replace, preserveScroll: e.preserveScroll, preserveState: e.preserveState ?? t !== "get", only: e.only, headers: e.headers, onCancelToken: n.onCancelToken || (() => ({})), onBefore: n.onBefore || (() => ({})), onStart: n.onStart || (() => ({})), onProgress: n.onProgress || (() => ({})), onFinish: n.onFinish || (() => ({})), onCancel: n.onCancel || (() => ({})), onSuccess: n.onSuccess || (() => ({})), onError: n.onError || (() => ({})) }));
    } }, o);
  };
} });
var ie2 = se2;
function O2(e, o) {
  if (typeof e == "object" && e !== null && e.__rememberable === false)
    return e;
  let n = Oe.restore(o), p = isReactive(e) ? reactive : ref, t = typeof e.__remember == "function" && typeof e.__restore == "function", a = p(n === void 0 ? e : t ? e.__restore(n) : n);
  return watch(a, (l) => {
    Oe.remember((0, import_lodash4.default)(t ? e.__remember() : l), o);
  }, { immediate: true, deep: true }), a;
}
export {
  Z2 as Head,
  ie2 as Link,
  j2 as createInertiaApp,
  Oe as router,
  T as useForm,
  Q2 as usePage,
  O2 as useRemember
};
/*! Bundled license information:

nprogress/nprogress.js:
  (* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
   * @license MIT *)
*/
//# sourceMappingURL=@inertiajs_vue3.js.map
