This commit is contained in:
TiclemFR
2024-01-25 09:06:03 +01:00
parent 031f7071e6
commit 468c2cd0e6
35 changed files with 27542 additions and 57 deletions

View File

@@ -37,7 +37,7 @@ class HandleInertiaRequests extends Middleware
public function share(Request $request): array
{
return array_merge(parent::share($request), [
//
'appName' => config('app.name'),
]);
}
}

View File

@@ -15,7 +15,7 @@
"require-dev": {
"fakerphp/faker": "^1.9.1",
"laravel/pint": "^1.0",
"laravel/sail": "^1.18",
"laravel/sail": "^1.27",
"mockery/mockery": "^1.4.4",
"nunomaduro/collision": "^7.0",
"phpunit/phpunit": "^10.1",

12
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "84dc38b6f7e91004d2193a25f294a080",
"content-hash": "0751fdc40b402fbae69a1881deadaaf9",
"packages": [
{
"name": "brick/math",
@@ -6037,16 +6037,16 @@
},
{
"name": "laravel/sail",
"version": "v1.27.1",
"version": "v1.27.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/sail.git",
"reference": "9dc648978e4276f2bfd37a076a52e3bd9394777f"
"reference": "2276a8d9d6cfdcaad98bf67a34331d100149d5b6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/sail/zipball/9dc648978e4276f2bfd37a076a52e3bd9394777f",
"reference": "9dc648978e4276f2bfd37a076a52e3bd9394777f",
"url": "https://api.github.com/repos/laravel/sail/zipball/2276a8d9d6cfdcaad98bf67a34331d100149d5b6",
"reference": "2276a8d9d6cfdcaad98bf67a34331d100149d5b6",
"shasum": ""
},
"require": {
@@ -6098,7 +6098,7 @@
"issues": "https://github.com/laravel/sail/issues",
"source": "https://github.com/laravel/sail"
},
"time": "2024-01-13T18:46:48+00:00"
"time": "2024-01-21T17:13:42+00:00"
},
{
"name": "mockery/mockery",

View File

@@ -1,11 +1,11 @@
services:
laravel.test:
build:
context: ./vendor/laravel/sail/runtimes/8.2
context: ./vendor/laravel/sail/runtimes/8.3
dockerfile: Dockerfile
args:
WWWGROUP: '${WWWGROUP}'
image: sail-8.2/app
image: sail-8.3/app
extra_hosts:
- 'host.docker.internal:host-gateway'
ports:

8453
node_modules/.vite/deps/@inertiajs_inertia-vue3.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

978
node_modules/.vite/deps/@inertiajs_vue3.js generated vendored Normal file
View File

@@ -0,0 +1,978 @@
import {
require_cjs,
require_lib,
require_lodash,
require_lodash2
} from "./chunk-ZTU3XIRI.js";
import {
axios_default
} from "./chunk-M3HBHQKD.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_lodash2());
var import_lodash2 = __toESM(require_lodash2());
var import_lodash3 = __toESM(require_lodash());
var import_lodash4 = __toESM(require_lodash2());
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

7
node_modules/.vite/deps/@inertiajs_vue3.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

55
node_modules/.vite/deps/_metadata.json generated vendored Normal file
View File

@@ -0,0 +1,55 @@
{
"hash": "dd10f536",
"configHash": "e4bd813e",
"lockfileHash": "8a7a161c",
"browserHash": "77730e0e",
"optimized": {
"@inertiajs/inertia-vue3": {
"src": "../../@inertiajs/inertia-vue3/dist/index.js",
"file": "@inertiajs_inertia-vue3.js",
"fileHash": "eb2f2b60",
"needsInterop": true
},
"@inertiajs/vue3": {
"src": "../../@inertiajs/vue3/dist/index.esm.js",
"file": "@inertiajs_vue3.js",
"fileHash": "61563244",
"needsInterop": false
},
"axios": {
"src": "../../axios/index.js",
"file": "axios.js",
"fileHash": "ae4e3c6c",
"needsInterop": false
},
"laravel-vite-plugin/inertia-helpers": {
"src": "../../laravel-vite-plugin/inertia-helpers/index.js",
"file": "laravel-vite-plugin_inertia-helpers.js",
"fileHash": "636758ef",
"needsInterop": false
},
"vue": {
"src": "../../vue/dist/vue.runtime.esm-bundler.js",
"file": "vue.js",
"fileHash": "abb01b81",
"needsInterop": false
}
},
"chunks": {
"chunk-ZTU3XIRI": {
"file": "chunk-ZTU3XIRI.js"
},
"chunk-M3HBHQKD": {
"file": "chunk-M3HBHQKD.js"
},
"chunk-SA4QXAJ3": {
"file": "chunk-SA4QXAJ3.js"
},
"chunk-XSQZ24V4": {
"file": "chunk-XSQZ24V4.js"
},
"chunk-CEQRFMJQ": {
"file": "chunk-CEQRFMJQ.js"
}
}
}

40
node_modules/.vite/deps/axios.js generated vendored Normal file
View File

@@ -0,0 +1,40 @@
import {
Axios,
AxiosError,
AxiosHeaders,
Cancel,
CancelToken,
CanceledError,
HttpStatusCode,
VERSION,
all,
axios_default,
formToJSON,
getAdapter,
isAxiosError,
isCancel,
mergeConfig,
spread,
toFormData
} from "./chunk-M3HBHQKD.js";
import "./chunk-CEQRFMJQ.js";
export {
Axios,
AxiosError,
AxiosHeaders,
Cancel,
CancelToken,
CanceledError,
HttpStatusCode,
VERSION,
all,
axios_default as default,
formToJSON,
getAdapter,
isAxiosError,
isCancel,
mergeConfig,
spread,
toFormData
};
//# sourceMappingURL=axios.js.map

7
node_modules/.vite/deps/axios.js.map generated vendored Normal file
View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

42
node_modules/.vite/deps/chunk-CEQRFMJQ.js generated vendored Normal file
View File

@@ -0,0 +1,42 @@
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __esm = (fn, res) => function __init() {
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
};
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
export {
__esm,
__commonJS,
__export,
__toESM,
__toCommonJS
};
//# sourceMappingURL=chunk-CEQRFMJQ.js.map

7
node_modules/.vite/deps/chunk-CEQRFMJQ.js.map generated vendored Normal file
View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

2147
node_modules/.vite/deps/chunk-M3HBHQKD.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

7
node_modules/.vite/deps/chunk-M3HBHQKD.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

38
node_modules/.vite/deps/chunk-SA4QXAJ3.js generated vendored Normal file
View File

@@ -0,0 +1,38 @@
import {
initCustomFormatter,
init_runtime_dom_esm_bundler,
warn
} from "./chunk-XSQZ24V4.js";
// node_modules/vue/dist/vue.runtime.esm-bundler.js
init_runtime_dom_esm_bundler();
init_runtime_dom_esm_bundler();
function initDev() {
{
initCustomFormatter();
}
}
if (true) {
initDev();
}
var compile = () => {
if (true) {
warn(
`Runtime compilation is not supported in this build of Vue. Configure your bundler to alias "vue" to "vue/dist/vue.esm-bundler.js".`
);
}
};
export {
compile
};
/*! Bundled license information:
vue/dist/vue.runtime.esm-bundler.js:
(**
* vue v3.4.15
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**)
*/
//# sourceMappingURL=chunk-SA4QXAJ3.js.map

7
node_modules/.vite/deps/chunk-SA4QXAJ3.js.map generated vendored Normal file
View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../vue/dist/vue.runtime.esm-bundler.js"],
"sourcesContent": ["/**\n* vue v3.4.15\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { initCustomFormatter, warn } from '@vue/runtime-dom';\nexport * from '@vue/runtime-dom';\n\nfunction initDev() {\n {\n initCustomFormatter();\n }\n}\n\nif (!!(process.env.NODE_ENV !== \"production\")) {\n initDev();\n}\nconst compile = () => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Runtime compilation is not supported in this build of Vue.` + (` Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".` )\n );\n }\n};\n\nexport { compile };\n"],
"mappings": ";;;;;;;AAKA;AACA;AAEA,SAAS,UAAU;AACjB;AACE,wBAAoB;AAAA,EACtB;AACF;AAEA,IAAI,MAA2C;AAC7C,UAAQ;AACV;AACA,IAAM,UAAU,MAAM;AACpB,MAAI,MAA2C;AAC7C;AAAA,MACE;AAAA,IACF;AAAA,EACF;AACF;",
"names": []
}

11805
node_modules/.vite/deps/chunk-XSQZ24V4.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

7
node_modules/.vite/deps/chunk-XSQZ24V4.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

3478
node_modules/.vite/deps/chunk-ZTU3XIRI.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

7
node_modules/.vite/deps/chunk-ZTU3XIRI.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,17 @@
import "./chunk-CEQRFMJQ.js";
// node_modules/laravel-vite-plugin/inertia-helpers/index.js
async function resolvePageComponent(path, pages) {
for (const p of Array.isArray(path) ? path : [path]) {
const page = pages[p];
if (typeof page === "undefined") {
continue;
}
return typeof page === "function" ? page() : page;
}
throw new Error(`Page not found: ${path}`);
}
export {
resolvePageComponent
};
//# sourceMappingURL=laravel-vite-plugin_inertia-helpers.js.map

View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../laravel-vite-plugin/inertia-helpers/index.js"],
"sourcesContent": ["export async function resolvePageComponent(path, pages) {\n for (const p of (Array.isArray(path) ? path : [path])) {\n const page = pages[p];\n if (typeof page === 'undefined') {\n continue;\n }\n return typeof page === 'function' ? page() : page;\n }\n throw new Error(`Page not found: ${path}`);\n}\n"],
"mappings": ";;;AAAA,eAAsB,qBAAqB,MAAM,OAAO;AACpD,aAAW,KAAM,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI,GAAI;AACnD,UAAM,OAAO,MAAM,CAAC;AACpB,QAAI,OAAO,SAAS,aAAa;AAC7B;AAAA,IACJ;AACA,WAAO,OAAO,SAAS,aAAa,KAAK,IAAI;AAAA,EACjD;AACA,QAAM,IAAI,MAAM,mBAAmB,IAAI,EAAE;AAC7C;",
"names": []
}

3
node_modules/.vite/deps/package.json generated vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"type": "module"
}

326
node_modules/.vite/deps/vue.js generated vendored Normal file
View File

@@ -0,0 +1,326 @@
import {
compile
} from "./chunk-SA4QXAJ3.js";
import {
BaseTransition,
BaseTransitionPropsValidators,
Comment,
DeprecationTypes,
EffectScope,
ErrorCodes,
ErrorTypeStrings,
Fragment,
KeepAlive,
ReactiveEffect,
Static,
Suspense,
Teleport,
Text,
TrackOpTypes,
Transition,
TransitionGroup,
TriggerOpTypes,
VueElement,
assertNumber,
callWithAsyncErrorHandling,
callWithErrorHandling,
camelize,
capitalize,
cloneVNode,
compatUtils,
computed,
createApp,
createBaseVNode,
createBlock,
createCommentVNode,
createElementBlock,
createHydrationRenderer,
createPropsRestProxy,
createRenderer,
createSSRApp,
createSlots,
createStaticVNode,
createTextVNode,
createVNode,
customRef,
defineAsyncComponent,
defineComponent,
defineCustomElement,
defineEmits,
defineExpose,
defineModel,
defineOptions,
defineProps,
defineSSRCustomElement,
defineSlots,
devtools,
effect,
effectScope,
getCurrentInstance,
getCurrentScope,
getTransitionRawChildren,
guardReactiveProps,
h,
handleError,
hasInjectionContext,
hydrate,
initCustomFormatter,
initDirectivesForSSR,
inject,
isMemoSame,
isProxy,
isReactive,
isReadonly,
isRef,
isRuntimeOnly,
isShallow,
isVNode,
markRaw,
mergeDefaults,
mergeModels,
mergeProps,
nextTick,
normalizeClass,
normalizeProps,
normalizeStyle,
onActivated,
onBeforeMount,
onBeforeUnmount,
onBeforeUpdate,
onDeactivated,
onErrorCaptured,
onMounted,
onRenderTracked,
onRenderTriggered,
onScopeDispose,
onServerPrefetch,
onUnmounted,
onUpdated,
openBlock,
popScopeId,
provide,
proxyRefs,
pushScopeId,
queuePostFlushCb,
reactive,
readonly,
ref,
registerRuntimeCompiler,
render,
renderList,
renderSlot,
resolveComponent,
resolveDirective,
resolveDynamicComponent,
resolveFilter,
resolveTransitionHooks,
setBlockTracking,
setDevtoolsHook,
setTransitionHooks,
shallowReactive,
shallowReadonly,
shallowRef,
ssrContextKey,
ssrUtils,
stop,
toDisplayString,
toHandlerKey,
toHandlers,
toRaw,
toRef,
toRefs,
toValue,
transformVNodeArgs,
triggerRef,
unref,
useAttrs,
useCssModule,
useCssVars,
useModel,
useSSRContext,
useSlots,
useTransitionState,
vModelCheckbox,
vModelDynamic,
vModelRadio,
vModelSelect,
vModelText,
vShow,
version,
warn,
watch,
watchEffect,
watchPostEffect,
watchSyncEffect,
withAsyncContext,
withCtx,
withDefaults,
withDirectives,
withKeys,
withMemo,
withModifiers,
withScopeId
} from "./chunk-XSQZ24V4.js";
import "./chunk-CEQRFMJQ.js";
export {
BaseTransition,
BaseTransitionPropsValidators,
Comment,
DeprecationTypes,
EffectScope,
ErrorCodes,
ErrorTypeStrings,
Fragment,
KeepAlive,
ReactiveEffect,
Static,
Suspense,
Teleport,
Text,
TrackOpTypes,
Transition,
TransitionGroup,
TriggerOpTypes,
VueElement,
assertNumber,
callWithAsyncErrorHandling,
callWithErrorHandling,
camelize,
capitalize,
cloneVNode,
compatUtils,
compile,
computed,
createApp,
createBlock,
createCommentVNode,
createElementBlock,
createBaseVNode as createElementVNode,
createHydrationRenderer,
createPropsRestProxy,
createRenderer,
createSSRApp,
createSlots,
createStaticVNode,
createTextVNode,
createVNode,
customRef,
defineAsyncComponent,
defineComponent,
defineCustomElement,
defineEmits,
defineExpose,
defineModel,
defineOptions,
defineProps,
defineSSRCustomElement,
defineSlots,
devtools,
effect,
effectScope,
getCurrentInstance,
getCurrentScope,
getTransitionRawChildren,
guardReactiveProps,
h,
handleError,
hasInjectionContext,
hydrate,
initCustomFormatter,
initDirectivesForSSR,
inject,
isMemoSame,
isProxy,
isReactive,
isReadonly,
isRef,
isRuntimeOnly,
isShallow,
isVNode,
markRaw,
mergeDefaults,
mergeModels,
mergeProps,
nextTick,
normalizeClass,
normalizeProps,
normalizeStyle,
onActivated,
onBeforeMount,
onBeforeUnmount,
onBeforeUpdate,
onDeactivated,
onErrorCaptured,
onMounted,
onRenderTracked,
onRenderTriggered,
onScopeDispose,
onServerPrefetch,
onUnmounted,
onUpdated,
openBlock,
popScopeId,
provide,
proxyRefs,
pushScopeId,
queuePostFlushCb,
reactive,
readonly,
ref,
registerRuntimeCompiler,
render,
renderList,
renderSlot,
resolveComponent,
resolveDirective,
resolveDynamicComponent,
resolveFilter,
resolveTransitionHooks,
setBlockTracking,
setDevtoolsHook,
setTransitionHooks,
shallowReactive,
shallowReadonly,
shallowRef,
ssrContextKey,
ssrUtils,
stop,
toDisplayString,
toHandlerKey,
toHandlers,
toRaw,
toRef,
toRefs,
toValue,
transformVNodeArgs,
triggerRef,
unref,
useAttrs,
useCssModule,
useCssVars,
useModel,
useSSRContext,
useSlots,
useTransitionState,
vModelCheckbox,
vModelDynamic,
vModelRadio,
vModelSelect,
vModelText,
vShow,
version,
warn,
watch,
watchEffect,
watchPostEffect,
watchSyncEffect,
withAsyncContext,
withCtx,
withDefaults,
withDirectives,
withKeys,
withMemo,
withModifiers,
withScopeId
};
//# sourceMappingURL=vue.js.map

7
node_modules/.vite/deps/vue.js.map generated vendored Normal file
View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}

View File

@@ -1,13 +1,17 @@
<script setup>
// import { Head } from "@inertiajs/vue3";
import { Head } from "@inertiajs/vue3";
const props = defineProps(["user"]);
</script>
<template>
<!-- <Head title="User Profile" /> -->
<Head>
<title>Login</title>
</Head>
<div class="container">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">Welcome to {{ $page.props.appName }}</h2>
<h3 class="font-semibold text-xl text-gray-800 leading-tight">Please, login in to begin</h3>
</div>
<h2 class="font-semibold text-xl text-gray-800 leading-tight">Profile</h2>
<div class="py-12">Hello, {{ user.name }}</div>
</template>

View File

@@ -9,27 +9,14 @@ createInertiaApp({
id: 'app',
title: (title) => `${title}`,
resolve: (name) =>{
// resolvePageComponent(
// `./Pages/${name}.vue`,
// import.meta.glob("./Pages/**/*.vue")
// ),
const pages = import.meta.glob('./Pages/**/*.vue', { eager: false })
return pages[`./Pages/${name}.vue`]},
// const pages = import.meta.glob('./Pages/**/*.vue', { eager: true })
// return pages[`./Pages/${name}.vue`]},
const pages = import.meta.glob('./Pages/**/*.vue')
return pages[`./Pages/${name}.vue`]()
},
setup({ el, app, props, plugin }) {
return createApp({ render: () => h(app, props) })
.use(plugin)
.mount(el);
},
});
// createInertiaApp({
// id: 'app',
// resolve: name => {
// const pages = import.meta.glob('./Pages/**/*.vue', { eager: false })
// return pages[`./Pages/${name}.vue`]
// },
// setup({ el, App, props, plugin }) {
// createApp({ render: () => h(App, props) })
// .use(plugin)
// .mount(el)
// },
// })

View File

@@ -18,5 +18,5 @@ Route::get('/', function () {
return view('welcome');
});
Route::get('/login', function () {
return Inertia::render('Auth/login', ["user" => "test"]);
return Inertia::render('Auth/login');
});

View File

@@ -1686,17 +1686,17 @@
},
{
"name": "laravel/sail",
"version": "v1.27.1",
"version_normalized": "1.27.1.0",
"version": "v1.27.2",
"version_normalized": "1.27.2.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/sail.git",
"reference": "9dc648978e4276f2bfd37a076a52e3bd9394777f"
"reference": "2276a8d9d6cfdcaad98bf67a34331d100149d5b6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/sail/zipball/9dc648978e4276f2bfd37a076a52e3bd9394777f",
"reference": "9dc648978e4276f2bfd37a076a52e3bd9394777f",
"url": "https://api.github.com/repos/laravel/sail/zipball/2276a8d9d6cfdcaad98bf67a34331d100149d5b6",
"reference": "2276a8d9d6cfdcaad98bf67a34331d100149d5b6",
"shasum": ""
},
"require": {
@@ -1710,7 +1710,7 @@
"orchestra/testbench": "^7.0|^8.0|^9.0",
"phpstan/phpstan": "^1.10"
},
"time": "2024-01-13T18:46:48+00:00",
"time": "2024-01-21T17:13:42+00:00",
"bin": [
"bin/sail"
],

View File

@@ -3,7 +3,7 @@
'name' => 'laravel/laravel',
'pretty_version' => 'dev-main',
'version' => 'dev-main',
'reference' => 'a068f5495757670b10fae352ef70c64b48109251',
'reference' => '031f7071e6d723126171aaae79112d82773417fe',
'type' => 'project',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
@@ -391,7 +391,7 @@
'laravel/laravel' => array(
'pretty_version' => 'dev-main',
'version' => 'dev-main',
'reference' => 'a068f5495757670b10fae352ef70c64b48109251',
'reference' => '031f7071e6d723126171aaae79112d82773417fe',
'type' => 'project',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
@@ -416,9 +416,9 @@
'dev_requirement' => false,
),
'laravel/sail' => array(
'pretty_version' => 'v1.27.1',
'version' => '1.27.1.0',
'reference' => '9dc648978e4276f2bfd37a076a52e3bd9394777f',
'pretty_version' => 'v1.27.2',
'version' => '1.27.2.0',
'reference' => '2276a8d9d6cfdcaad98bf67a34331d100149d5b6',
'type' => 'library',
'install_path' => __DIR__ . '/../laravel/sail',
'aliases' => array(),

View File

@@ -128,8 +128,9 @@ else
fi
# Source the ".env" file so Laravel's environment variables are available...
if [ ! -z "$APP_ENV" ] && [ -f ./.env.$APP_ENV ]; then
source ./.env.$APP_ENV;
# shellcheck source=/dev/null
if [ -n "$APP_ENV" ] && [ -f ./.env."$APP_ENV" ]; then
source ./.env."$APP_ENV";
elif [ -f ./.env ]; then
source ./.env;
fi
@@ -159,8 +160,7 @@ function sail_is_not_running {
}
# Define Docker Compose command prefix...
docker compose &> /dev/null
if [ $? == 0 ]; then
if docker compose &> /dev/null; then
DOCKER_COMPOSE=(docker compose)
else
DOCKER_COMPOSE=(docker-compose)
@@ -560,7 +560,7 @@ elif [ "$1" == "open" ]; then
shift 1
if [ "$EXEC" == "yes" ]; then
open $APP_URL
open "$APP_URL"
exit
else

View File

@@ -19,6 +19,7 @@ trait InteractsWithDockerComposeServices
'redis',
'memcached',
'meilisearch',
'typesense',
'minio',
'mailpit',
'selenium',
@@ -86,7 +87,7 @@ trait InteractsWithDockerComposeServices
// Merge volumes...
collect($services)
->filter(function ($service) {
return in_array($service, ['mysql', 'pgsql', 'mariadb', 'redis', 'meilisearch', 'minio']);
return in_array($service, ['mysql', 'pgsql', 'mariadb', 'redis', 'meilisearch', 'typesense', 'minio']);
})->filter(function ($service) use ($compose) {
return ! array_key_exists($service, $compose['volumes'] ?? []);
})->each(function ($service) use (&$compose) {
@@ -116,14 +117,31 @@ trait InteractsWithDockerComposeServices
{
$environment = file_get_contents($this->laravel->basePath('.env'));
if (in_array('pgsql', $services)) {
$environment = str_replace('DB_CONNECTION=mysql', "DB_CONNECTION=pgsql", $environment);
if (in_array('mysql', $services) ||
in_array('mariadb', $services) ||
in_array('pgsql', $services)) {
$defaults = [
'# DB_HOST=127.0.0.1',
'# DB_PORT=3306',
'# DB_DATABASE=laravel',
'# DB_USERNAME=root',
'# DB_PASSWORD=',
];
foreach ($defaults as $default) {
$environment = str_replace($default, substr($default, 2), $environment);
}
}
if (in_array('mysql', $services)) {
$environment = preg_replace('/DB_CONNECTION=.*/', 'DB_CONNECTION=mysql', $environment);
$environment = str_replace('DB_HOST=127.0.0.1', "DB_HOST=mysql", $environment);
}elseif (in_array('pgsql', $services)) {
$environment = preg_replace('/DB_CONNECTION=.*/', 'DB_CONNECTION=pgsql', $environment);
$environment = str_replace('DB_HOST=127.0.0.1', "DB_HOST=pgsql", $environment);
$environment = str_replace('DB_PORT=3306', "DB_PORT=5432", $environment);
} elseif (in_array('mariadb', $services)) {
$environment = str_replace('DB_HOST=127.0.0.1', "DB_HOST=mariadb", $environment);
} else {
$environment = str_replace('DB_HOST=127.0.0.1', "DB_HOST=mysql", $environment);
}
$environment = str_replace('DB_USERNAME=root', "DB_USERNAME=sail", $environment);
@@ -143,6 +161,14 @@ trait InteractsWithDockerComposeServices
$environment .= "\nMEILISEARCH_NO_ANALYTICS=false\n";
}
if (in_array('typesense', $services)) {
$environment .= "\nSCOUT_DRIVER=typesense";
$environment .= "\nTYPESENSE_HOST=typesense";
$environment .= "\nTYPESENSE_PORT=8108";
$environment .= "\nTYPESENSE_PROTOCOL=http";
$environment .= "\nTYPESENSE_API_KEY=xyz\n";
}
if (in_array('soketi', $services)) {
$environment = preg_replace("/^BROADCAST_DRIVER=(.*)/m", "BROADCAST_DRIVER=pusher", $environment);
$environment = preg_replace("/^PUSHER_APP_ID=(.*)/m", "PUSHER_APP_ID=app-id", $environment);

View File

@@ -0,0 +1,16 @@
typesense:
image: 'typesense/typesense:0.25.2'
ports:
- '${FORWARD_TYPESENSE_PORT:-8108}:8108'
environment:
TYPESENSE_DATA_DIR: '${TYPESENSE_DATA_DIR:-/typesense-data}'
TYPESENSE_API_KEY: '${TYPESENSE_API_KEY:-xyz}'
TYPESENSE_ENABLE_CORS: '${TYPESENSE_ENABLE_CORS:-true}'
volumes:
- 'sail-typesense:/typesense-data'
networks:
- sail
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--spider", "http://localhost:8108/health"]
retries: 5
timeout: 7s

View File

@@ -5,7 +5,7 @@ import vue from "@vitejs/plugin-vue";
export default defineConfig({
plugins: [
laravel({
input: ["resources/js/app.js"],
input: ["resources/js/app.js", 'resources/css/app.css'],
refresh: true,
}),
vue({