From 3562d55a12e3449cc587e861e6ac89a3bcf75ac9 Mon Sep 17 00:00:00 2001 From: florianfederspiel Date: Wed, 22 Apr 2026 19:21:32 +0200 Subject: [PATCH] Richte Nutzerdoku auf Bedienungsanleitung mit Frontend-Seitenkategorie aus --- .../frontend/alle-seiten-und-felder.md | 1051 +++ .../frontend/ausgangsbelege-editor.md | 62 + docs-site/content/bedienung/frontend/index.md | 9 + .../bedienung/frontend/serienrechnungen.md | 41 + docs-site/content/bedienung/index.md | 8 + docs-site/content/index.md | 75 +- .../content/wartung/dokumentationsprozess.md | 35 - docs-site/package-lock.json | 5952 +++++++++++++---- docs-site/package.json | 1 + docs/README.md | 92 +- docs/bedienung/README.md | 8 + docs/bedienung/frontend/README.md | 9 + .../frontend/alle-seiten-und-felder.md | 1051 +++ .../frontend/ausgangsbelege-editor.md | 62 + docs/bedienung/frontend/serienrechnungen.md | 41 + docs/scripts/generate-frontend-bedienung.mjs | 149 + docs/wartung/dokumentationsprozess.md | 35 - 17 files changed, 7384 insertions(+), 1297 deletions(-) create mode 100644 docs-site/content/bedienung/frontend/alle-seiten-und-felder.md create mode 100644 docs-site/content/bedienung/frontend/ausgangsbelege-editor.md create mode 100644 docs-site/content/bedienung/frontend/index.md create mode 100644 docs-site/content/bedienung/frontend/serienrechnungen.md create mode 100644 docs-site/content/bedienung/index.md delete mode 100644 docs-site/content/wartung/dokumentationsprozess.md create mode 100644 docs/bedienung/README.md create mode 100644 docs/bedienung/frontend/README.md create mode 100644 docs/bedienung/frontend/alle-seiten-und-felder.md create mode 100644 docs/bedienung/frontend/ausgangsbelege-editor.md create mode 100644 docs/bedienung/frontend/serienrechnungen.md create mode 100755 docs/scripts/generate-frontend-bedienung.mjs delete mode 100644 docs/wartung/dokumentationsprozess.md diff --git a/docs-site/content/bedienung/frontend/alle-seiten-und-felder.md b/docs-site/content/bedienung/frontend/alle-seiten-und-felder.md new file mode 100644 index 0000000..d4ec6c3 --- /dev/null +++ b/docs-site/content/bedienung/frontend/alle-seiten-und-felder.md @@ -0,0 +1,1051 @@ +# Frontend-Seiten und Eingabefelder + +Diese Übersicht dient als Nutzer-Bedienung für alle Seiten des Web-Frontends. +Die Felder wurden technisch aus den Seiten erkannt und nutzerorientiert beschrieben. + +## /accounting/bwa + +- Datei: `frontend/pages/accounting/bwa.vue` +- Seitenfunktion: Finanz- und Buchhaltungsfunktionen. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Jahr | UFormField | Eingabebereich für „Jahr“. | +| Monat | UFormField | Eingabebereich für „Monat“. | +| selectedYear | USelectMenu | Eingabefeld für den internen Wert „selectedYear“. | +| selectedMonth | USelectMenu | Eingabefeld für den internen Wert „selectedMonth“. | + +## /accounting/depreciation + +- Datei: `frontend/pages/accounting/depreciation.vue` +- Seitenfunktion: Finanz- und Buchhaltungsfunktionen. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Bezeichnung | UFormField | Eingabebereich für „Bezeichnung“. | +| Sammelposten | UFormField | Eingabebereich für „Sammelposten“. | +| Methode | UFormField | Eingabebereich für „Methode“. | +| Dauer (Monate) | UFormField | Eingabebereich für „Dauer (Monate)“. | +| Start Abschreibung | UFormField | Eingabebereich für „Start Abschreibung“. | +| Restwert | UFormField | Eingabebereich für „Restwert“. | +| periodStart | UInput | Eingabefeld für den internen Wert „periodStart“. | +| periodEnd | UInput | Eingabefeld für den internen Wert „periodEnd“. | +| editState.depreciationLabel | UInput | Eingabefeld für den internen Wert „editState.depreciationLabel“. | +| editState.depreciationGroup | UInput | Eingabefeld für den internen Wert „editState.depreciationGroup“. | +| editState.depreciationMethod | USelectMenu | Eingabefeld für den internen Wert „editState.depreciationMethod“. | +| editState.depreciationMonths | UInput | Eingabefeld für den internen Wert „editState.depreciationMonths“. | +| editState.depreciationStartDate | UInput | Eingabefeld für den internen Wert „editState.depreciationStartDate“. | +| editState.residualValue | UInput | Eingabefeld für den internen Wert „editState.residualValue“. | + +## /accounting/tax + +- Datei: `frontend/pages/accounting/tax.vue` +- Seitenfunktion: Finanz- und Buchhaltungsfunktionen. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /accounts + +- Datei: `frontend/pages/accounts/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | +| selectedColumns | USelectMenu | Eingabefeld für den internen Wert „selectedColumns“. | +| selectedFilters | USelectMenu | Eingabefeld für den internen Wert „selectedFilters“. | + +## /accounts/show/:id + +- Datei: `frontend/pages/accounts/show/[id].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /administration/tenants/:id + +- Datei: `frontend/pages/administration/tenants/[id].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Name | UFormField | Eingabebereich für „Name“. | +| Kürzel | UFormField | Eingabebereich für „Kürzel“. | +| Tenant | UFormField | Eingabebereich für „Tenant“. | +| E-Mail | UFormField | Eingabebereich für „E-Mail“. | +| Initialpasswort | UFormField | Eingabebereich für „Initialpasswort“. | +| Vorname für Profil | UFormField | Eingabebereich für „Vorname für Profil“. | +| Nachname für Profil | UFormField | Eingabebereich für „Nachname für Profil“. | +| Administrative Freigabe | UFormField | Eingabebereich für „Administrative Freigabe“. | +| Multi-Tenant | UFormField | Eingabebereich für „Multi-Tenant“. | +| tenantForm.name | UInput | Eingabefeld für den internen Wert „tenantForm.name“. | +| tenantForm.short | UInput | Eingabefeld für den internen Wert „tenantForm.short“. | +| (ohne Bezeichnung) | UInput | Eingabefeld in dieser Seite. | +| createUserForm.email | UInput | Eingabefeld für den internen Wert „createUserForm.email“. | +| Leer lassen für automatisches Passwort | UInput | Eingabefeld mit Platzhalter „Leer lassen für automatisches Passwort“. | +| createUserForm.first_name | UInput | Eingabefeld für den internen Wert „createUserForm.first_name“. | +| createUserForm.last_name | UInput | Eingabefeld für den internen Wert „createUserForm.last_name“. | +| createUserForm.is_admin | USwitch | Eingabefeld für den internen Wert „createUserForm.is_admin“. | +| createUserForm.multiTenant | USwitch | Eingabefeld für den internen Wert „createUserForm.multiTenant“. | + +## /administration/tenants + +- Datei: `frontend/pages/administration/tenants/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Name | UFormField | Eingabebereich für „Name“. | +| Kürzel | UFormField | Eingabebereich für „Kürzel“. | +| Tenants suchen | UInput | Eingabefeld mit Platzhalter „Tenants suchen“. | +| createTenantForm.name | UInput | Eingabefeld für den internen Wert „createTenantForm.name“. | +| createTenantForm.short | UInput | Eingabefeld für den internen Wert „createTenantForm.short“. | + +## /administration/users/:id + +- Datei: `frontend/pages/administration/users/[id].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| E-Mail | UFormField | Eingabebereich für „E-Mail“. | +| Profil Vorname | UFormField | Eingabebereich für „Profil Vorname“. | +| Profil Nachname | UFormField | Eingabebereich für „Profil Nachname“. | +| Tenants | UFormField | Eingabebereich für „Tenants“. | +| Administrative Freigabe | UFormField | Eingabebereich für „Administrative Freigabe“. | +| Multi-Tenant | UFormField | Eingabebereich für „Multi-Tenant“. | +| Passwortwechsel erzwingen | UFormField | Eingabebereich für „Passwortwechsel erzwingen“. | +| Rolle | UFormField | Eingabebereich für „Rolle“. | +| Freies Profil | UFormField | Eingabebereich für „Freies Profil“. | +| userForm.email | UInput | Eingabefeld für den internen Wert „userForm.email“. | +| userForm.profile_defaults.first_name | UInput | Eingabefeld für den internen Wert „userForm.profile_defaults.first_name“. | +| userForm.profile_defaults.last_name | UInput | Eingabefeld für den internen Wert „userForm.profile_defaults.last_name“. | +| (ohne Bezeichnung) | USelectMenu | Eingabefeld in dieser Seite. | +| userForm.is_admin | USwitch | Eingabefeld für den internen Wert „userForm.is_admin“. | +| userForm.multiTenant | USwitch | Eingabefeld für den internen Wert „userForm.multiTenant“. | +| userForm.must_change_password | USwitch | Eingabefeld für den internen Wert „userForm.must_change_password“. | +| Rolle auswählen | USelectMenu | Eingabefeld mit Platzhalter „Rolle auswählen“. | + +## /administration/users + +- Datei: `frontend/pages/administration/users/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| E-Mail | UFormField | Eingabebereich für „E-Mail“. | +| Initialpasswort | UFormField | Eingabebereich für „Initialpasswort“. | +| Vorname für neues Profil | UFormField | Eingabebereich für „Vorname für neues Profil“. | +| Nachname für neues Profil | UFormField | Eingabebereich für „Nachname für neues Profil“. | +| Administrative Freigabe | UFormField | Eingabebereich für „Administrative Freigabe“. | +| Multi-Tenant | UFormField | Eingabebereich für „Multi-Tenant“. | +| Benutzer suchen | UInput | Eingabefeld mit Platzhalter „Benutzer suchen“. | +| createUserForm.email | UInput | Eingabefeld für den internen Wert „createUserForm.email“. | +| Leer lassen für automatisches Passwort | UInput | Eingabefeld mit Platzhalter „Leer lassen für automatisches Passwort“. | +| createUserForm.first_name | UInput | Eingabefeld für den internen Wert „createUserForm.first_name“. | +| createUserForm.last_name | UInput | Eingabefeld für den internen Wert „createUserForm.last_name“. | +| createUserForm.is_admin | USwitch | Eingabefeld für den internen Wert „createUserForm.is_admin“. | +| createUserForm.multiTenant | USwitch | Eingabefeld für den internen Wert „createUserForm.multiTenant“. | + +## /banking + +- Datei: `frontend/pages/banking/index.vue` +- Seitenfunktion: Finanz- und Buchhaltungsfunktionen. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | +| Konten | USelectMenu | Eingabefeld mit Platzhalter „Konten“. | +| selectedPeriod | USelectMenu | Eingabefeld für den internen Wert „selectedPeriod“. | +| selectedFilters | USelectMenu | Eingabefeld für den internen Wert „selectedFilters“. | + +## /banking/statements/:mode/:id? + +- Datei: `frontend/pages/banking/statements/[mode]/[[id]].vue` +- Seitenfunktion: Finanz- und Buchhaltungsfunktionen. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Betrag | UFormField | Eingabebereich für „Betrag“. | +| Konto / Manuelle Buchung | UFormField | Eingabebereich für „Konto / Manuelle Buchung“. | +| Aufwandsart | UFormField | Eingabebereich für „Aufwandsart“. | +| Abschreibungsdauer (Monate) | UFormField | Eingabebereich für „Abschreibungsdauer (Monate)“. | +| Methode | UFormField | Eingabebereich für „Methode“. | +| Start Abschreibung | UFormField | Eingabebereich für „Start Abschreibung“. | +| Restwert | UFormField | Eingabebereich für „Restwert“. | +| Sammelposten | UFormField | Eingabebereich für „Sammelposten“. | +| Bezeichnung Abschreibung | UFormField | Eingabebereich für „Bezeichnung Abschreibung“. | +| manualAllocationSum | UInput | Eingabefeld für den internen Wert „manualAllocationSum“. | +| Konto suchen... | USelectMenu | Eingabefeld mit Platzhalter „Konto suchen...“. | +| allocationBookingMode | USelectMenu | Eingabefeld für den internen Wert „allocationBookingMode“. | +| allocationDepreciationMonths | UInput | Eingabefeld für den internen Wert „allocationDepreciationMonths“. | +| allocationDepreciationMethod | USelectMenu | Eingabefeld für den internen Wert „allocationDepreciationMethod“. | +| allocationDepreciationStartDate | UInput | Eingabefeld für den internen Wert „allocationDepreciationStartDate“. | +| allocationResidualValue | UInput | Eingabefeld für den internen Wert „allocationResidualValue“. | +| z. B. Betriebsausstattung 2026 | UInput | Eingabefeld mit Platzhalter „z. B. Betriebsausstattung 2026“. | +| z. B. Werkzeugkoffer | UInput | Eingabefeld mit Platzhalter „z. B. Werkzeugkoffer“. | +| Eigenes Konto | USelectMenu | Eingabefeld mit Platzhalter „Eigenes Konto“. | +| Kunde (Guthaben) | USelectMenu | Eingabefeld mit Platzhalter „Kunde (Guthaben)“. | +| Lieferant (Guthaben) | USelectMenu | Eingabefeld mit Platzhalter „Lieferant (Guthaben)“. | +| Beschreibung für Buchung... | UInput | Eingabefeld mit Platzhalter „Beschreibung für Buchung...“. | +| Belege suchen (Nr, Name, Referenz)... | UInput | Eingabefeld mit Platzhalter „Belege suchen (Nr, Name, Referenz)...“. | + +## /calendar/:mode + +- Datei: `frontend/pages/calendar/[mode].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /createDocument/edit/:id? + +- Datei: `frontend/pages/createDocument/edit/[[id]].vue` +- Seitenfunktion: Dokumentenerstellung und Verwaltung von Ausgangsbelegen. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Dokumenttyp: | UFormField | Eingabebereich für „Dokumenttyp:“. | +| Gesamtsumme: | UFormField | Eingabebereich für „Gesamtsumme:“. | +| Prozent: | UFormField | Eingabebereich für „Prozent:“. | +| Abzurechnender Anteil: | UFormField | Eingabebereich für „Abzurechnender Anteil:“. | +| Steuertyp: | UFormField | Eingabebereich für „Steuertyp:“. | +| Briefpapier: | UFormField | Eingabebereich für „Briefpapier:“. | +| Kunde: | UFormField | Eingabebereich für „Kunde:“. | +| Ansprechpartner: | UFormField | Eingabebereich für „Ansprechpartner:“. | +| Adresse: | UFormField | Eingabebereich für „Adresse:“. | +| itemInfo.documentNumberTitle + ':' | UFormField | Eingabebereich für „itemInfo.documentNumberTitle + ':'“. | +| Lieferdatumsart: | UFormField | Eingabebereich für „Lieferdatumsart:“. | +| `${itemInfo.deliveryDateType}${['Lieferzeitraum', 'Leistungszeitraum'].includes(itemInfo.deliveryDateType) ? ' Start' : ''}:` | UFormField | Eingabebereich für „`${itemInfo.deliveryDateType}${['Lieferzeitraum', 'Leistungszeitraum'].includes(itemInfo.deliveryDateType) ? ' Start' : ''}:`“. | +| itemInfo.deliveryDateType + ' Ende:' | UFormField | Eingabebereich für „itemInfo.deliveryDateType + ' Ende:'“. | +| Belegdatum: | UFormField | Eingabebereich für „Belegdatum:“. | +| Zahlungsziel in Tagen: | UFormField | Eingabebereich für „Zahlungsziel in Tagen:“. | +| Zahlungsart: | UFormField | Eingabebereich für „Zahlungsart:“. | +| Individueller Aufschlag: | UFormField | Eingabebereich für „Individueller Aufschlag:“. | +| Mitarbeiter: | UFormField | Eingabebereich für „Mitarbeiter:“. | +| Kontakt Telefon: | UFormField | Eingabebereich für „Kontakt Telefon:“. | +| Kontakt E-Mail: | UFormField | Eingabebereich für „Kontakt E-Mail:“. | +| Im Kundenportal anzeigen: | UFormField | Eingabebereich für „Im Kundenportal anzeigen:“. | +| Objekt: | UFormField | Eingabebereich für „Objekt:“. | +| Projekt: | UFormField | Eingabebereich für „Projekt:“. | +| Vertrag: | UFormField | Eingabebereich für „Vertrag:“. | +| Datum erste Ausführung: | UFormField | Eingabebereich für „Datum erste Ausführung:“. | +| Datum letzte Ausführung: | UFormField | Eingabebereich für „Datum letzte Ausführung:“. | +| Intervall: | UFormField | Eingabebereich für „Intervall:“. | +| Richtung: | UFormField | Eingabebereich für „Richtung:“. | +| Titel: | UFormField | Eingabebereich für „Titel:“. | +| Beschreibung: | UFormField | Eingabebereich für „Beschreibung:“. | +| Vorlage auswählen | UFormField | Eingabebereich für „Vorlage auswählen“. | +| Einleitung: | UFormField | Eingabebereich für „Einleitung:“. | +| Artikelkategorie: | UFormField | Eingabebereich für „Artikelkategorie:“. | +| Leistungskategorie: | UFormField | Eingabebereich für „Leistungskategorie:“. | +| Anzahl: | UFormField | Eingabebereich für „Anzahl:“. | +| Einheit: | UFormField | Eingabebereich für „Einheit:“. | +| Einzelpreis: | UFormField | Eingabebereich für „Einzelpreis:“. | +| Umsatzsteuer: | UFormField | Eingabebereich für „Umsatzsteuer:“. | +| Rabatt: | UFormField | Eingabebereich für „Rabatt:“. | +| Optional: | UFormField | Eingabebereich für „Optional:“. | +| Alternativ: | UFormField | Eingabebereich für „Alternativ:“. | +| Menge Diesel: | UFormField | Eingabebereich für „Menge Diesel:“. | +| Preis Diesel: | UFormField | Eingabebereich für „Preis Diesel:“. | +| Menge AdBlue: | UFormField | Eingabebereich für „Menge AdBlue:“. | +| Preis AdBlue: | UFormField | Eingabebereich für „Preis AdBlue:“. | +| Nachbemerkung: | UFormField | Eingabebereich für „Nachbemerkung:“. | +| itemInfo.type | USelectMenu | Eingabefeld für den internen Wert „itemInfo.type“. | +| advanceInvoiceData.totalSumNet | UInput | Eingabefeld für den internen Wert „advanceInvoiceData.totalSumNet“. | +| advanceInvoiceData.partPerPecentage | UInput | Eingabefeld für den internen Wert „advanceInvoiceData.partPerPecentage“. | +| advanceInvoiceData.part | UInput | Eingabefeld für den internen Wert „advanceInvoiceData.part“. | +| itemInfo.taxType | USelectMenu | Eingabefeld für den internen Wert „itemInfo.taxType“. | +| itemInfo.letterhead | USelectMenu | Eingabefeld für den internen Wert „itemInfo.letterhead“. | +| itemInfo.customer | USelectMenu | Eingabefeld für den internen Wert „itemInfo.customer“. | +| (ohne Bezeichnung) | USelectMenu | Eingabefeld in dieser Seite. | +| itemInfo.address.street | UInput | Eingabefeld für den internen Wert „itemInfo.address.street“. | +| itemInfo.address.special | UInput | Eingabefeld für den internen Wert „itemInfo.address.special“. | +| itemInfo.address.zip | UInput | Eingabefeld für den internen Wert „itemInfo.address.zip“. | +| itemInfo.address.city | UInput | Eingabefeld für den internen Wert „itemInfo.address.city“. | +| XXXX | UInput | Eingabefeld mit Platzhalter „XXXX“. | +| itemInfo.deliveryDateType | USelectMenu | Eingabefeld für den internen Wert „itemInfo.deliveryDateType“. | +| itemInfo.paymentDays | UInput | Eingabefeld für den internen Wert „itemInfo.paymentDays“. | +| itemInfo.payment_type | USelectMenu | Eingabefeld für den internen Wert „itemInfo.payment_type“. | +| itemInfo.customSurchargePercentage | UInput | Eingabefeld für den internen Wert „itemInfo.customSurchargePercentage“. | +| itemInfo.created_by | USelectMenu | Eingabefeld für den internen Wert „itemInfo.created_by“. | +| itemInfo.contactTel | UInput | Eingabefeld für den internen Wert „itemInfo.contactTel“. | +| itemInfo.contactEMail | UInput | Eingabefeld für den internen Wert „itemInfo.contactEMail“. | +| itemInfo.availableInPortal | USwitch | Eingabefeld für den internen Wert „itemInfo.availableInPortal“. | +| Aktiv | UCheckbox | Eingabefeld für „Aktiv“. | +| itemInfo.serialConfig.intervall | USelectMenu | Eingabefeld für den internen Wert „itemInfo.serialConfig.intervall“. | +| itemInfo.serialConfig.dateDirection | USelectMenu | Eingabefeld für den internen Wert „itemInfo.serialConfig.dateDirection“. | +| itemInfo.title | UInput | Eingabefeld für den internen Wert „itemInfo.title“. | +| itemInfo.description | UInput | Eingabefeld für den internen Wert „itemInfo.description“. | +| itemInfo.startText | USelectMenu | Eingabefeld für den internen Wert „itemInfo.startText“. | +| itemInfo.startText | UTextarea | Eingabefeld für den internen Wert „itemInfo.startText“. | +| Titel | UInput | Eingabefeld mit Platzhalter „Titel“. | +| Text | UTextarea | Eingabefeld mit Platzhalter „Text“. | +| Name | UInput | Eingabefeld mit Platzhalter „Name“. | +| row.product | USelectMenu | Eingabefeld für den internen Wert „row.product“. | +| row.service | USelectMenu | Eingabefeld für den internen Wert „row.service“. | +| row.quantity | UInput | Eingabefeld für den internen Wert „row.quantity“. | +| row.unit | USelectMenu | Eingabefeld für den internen Wert „row.unit“. | +| row.inputPrice | UInput | Eingabefeld für den internen Wert „row.inputPrice“. | +| row.taxPercent | USelectMenu | Eingabefeld für den internen Wert „row.taxPercent“. | +| 0 | UInput | Eingabefeld mit Platzhalter „0“. | +| row.optional | USwitch | Eingabefeld für den internen Wert „row.optional“. | +| row.alternative | USwitch | Eingabefeld für den internen Wert „row.alternative“. | +| row.description | UTextarea | Eingabefeld für den internen Wert „row.description“. | +| row.agriculture.dieselUsage | UInput | Eingabefeld für den internen Wert „row.agriculture.dieselUsage“. | +| row.agriculture.dieselPrice | UInput | Eingabefeld für den internen Wert „row.agriculture.dieselPrice“. | +| row.agriculture.adblueUsage | UInput | Eingabefeld für den internen Wert „row.agriculture.adblueUsage“. | +| row.agriculture.adbluePrice | UInput | Eingabefeld für den internen Wert „row.agriculture.adbluePrice“. | +| itemInfo.endText | USelectMenu | Eingabefeld für den internen Wert „itemInfo.endText“. | +| itemInfo.endText | UTextarea | Eingabefeld für den internen Wert „itemInfo.endText“. | + +## /createDocument + +- Datei: `frontend/pages/createDocument/index.vue` +- Seitenfunktion: Dokumentenerstellung und Verwaltung von Ausgangsbelegen. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | +| (ohne Bezeichnung) | USelectMenu | Eingabefeld in dieser Seite. | + +## /createDocument/serialInvoice + +- Datei: `frontend/pages/createDocument/serialInvoice.vue` +- Seitenfunktion: Dokumentenerstellung und Verwaltung von Ausgangsbelegen. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Ausführungsdatum (Belegdatum) | UFormField | Eingabebereich für „Ausführungsdatum (Belegdatum)“. | +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | +| selectedFilters | USelectMenu | Eingabefeld für den internen Wert „selectedFilters“. | +| executionDate | UInput | Eingabefeld für den internen Wert „executionDate“. | +| Kunde oder Vertrag suchen... | UInput | Eingabefeld mit Platzhalter „Kunde oder Vertrag suchen...“. | +| selectedExecutionIntervall | USelectMenu | Eingabefeld für den internen Wert „selectedExecutionIntervall“. | +| (ohne Bezeichnung) | UCheckbox | Eingabefeld in dieser Seite. | + +## /createDocument/show/:id + +- Datei: `frontend/pages/createDocument/show/[id].vue` +- Seitenfunktion: Dokumentenerstellung und Verwaltung von Ausgangsbelegen. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /createdletters/:mode/:id? + +- Datei: `frontend/pages/createdletters/[mode]/[[id]].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /customer-portal + +- Datei: `frontend/pages/customer-portal.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Name / Firma | UFormField | Eingabebereich für „Name / Firma“. | +| Firmenzusatz | UFormField | Eingabebereich für „Firmenzusatz“. | +| Anrede | UFormField | Eingabebereich für „Anrede“. | +| Titel | UFormField | Eingabebereich für „Titel“. | +| Vorname | UFormField | Eingabebereich für „Vorname“. | +| Nachname | UFormField | Eingabebereich für „Nachname“. | +| E-Mail | UFormField | Eingabebereich für „E-Mail“. | +| Rechnungs-E-Mail | UFormField | Eingabebereich für „Rechnungs-E-Mail“. | +| Telefon | UFormField | Eingabebereich für „Telefon“. | +| Mobil | UFormField | Eingabebereich für „Mobil“. | +| Webseite | UFormField | Eingabebereich für „Webseite“. | +| Land | UFormField | Eingabebereich für „Land“. | +| Strasse | UFormField | Eingabebereich für „Strasse“. | +| Adresszusatz | UFormField | Eingabebereich für „Adresszusatz“. | +| PLZ | UFormField | Eingabebereich für „PLZ“. | +| Ort | UFormField | Eingabebereich für „Ort“. | +| customerForm.name | UInput | Eingabefeld für den internen Wert „customerForm.name“. | +| customerForm.nameAddition | UInput | Eingabefeld für den internen Wert „customerForm.nameAddition“. | +| customerForm.salutation | UInput | Eingabefeld für den internen Wert „customerForm.salutation“. | +| customerForm.title | UInput | Eingabefeld für den internen Wert „customerForm.title“. | +| customerForm.firstname | UInput | Eingabefeld für den internen Wert „customerForm.firstname“. | +| customerForm.lastname | UInput | Eingabefeld für den internen Wert „customerForm.lastname“. | +| customerForm.email | UInput | Eingabefeld für den internen Wert „customerForm.email“. | +| customerForm.invoiceEmail | UInput | Eingabefeld für den internen Wert „customerForm.invoiceEmail“. | +| customerForm.phone | UInput | Eingabefeld für den internen Wert „customerForm.phone“. | +| customerForm.mobile | UInput | Eingabefeld für den internen Wert „customerForm.mobile“. | +| customerForm.website | UInput | Eingabefeld für den internen Wert „customerForm.website“. | +| customerForm.country | UInput | Eingabefeld für den internen Wert „customerForm.country“. | +| customerForm.street | UInput | Eingabefeld für den internen Wert „customerForm.street“. | +| customerForm.special | UInput | Eingabefeld für den internen Wert „customerForm.special“. | +| customerForm.zip | UInput | Eingabefeld für den internen Wert „customerForm.zip“. | +| customerForm.city | UInput | Eingabefeld für den internen Wert „customerForm.city“. | + +## /email/new + +- Datei: `frontend/pages/email/new.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Absender | UFormField | Eingabebereich für „Absender“. | +| Empfänger | UFormField | Eingabebereich für „Empfänger“. | +| Kopie | UFormField | Eingabebereich für „Kopie“. | +| Blindkopie | UFormField | Eingabebereich für „Blindkopie“. | +| Betreff | UFormField | Eingabebereich für „Betreff“. | +| emailData.account | USelectMenu | Eingabefeld für den internen Wert „emailData.account“. | +| emailData.to | UInput | Eingabefeld für den internen Wert „emailData.to“. | +| emailData.cc | UInput | Eingabefeld für den internen Wert „emailData.cc“. | +| emailData.bcc | UInput | Eingabefeld für den internen Wert „emailData.bcc“. | +| emailData.subject | UInput | Eingabefeld für den internen Wert „emailData.subject“. | +| (ohne Bezeichnung) | UInput | Eingabefeld in dieser Seite. | + +## /export/create/sepa + +- Datei: `frontend/pages/export/create/sepa.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /export + +- Datei: `frontend/pages/export/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Start: | UFormField | Eingabebereich für „Start:“. | +| Ende: | UFormField | Eingabebereich für „Ende:“. | + +## /files + +- Datei: `frontend/pages/files/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Name | UFormField | Eingabebereich für „Name“. | +| Standard Dateityp (Tag) | UFormField | Eingabebereich für „Standard Dateityp (Tag)“. | +| Neuer Name | UFormField | Eingabebereich für „Neuer Name“. | +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | +| displayMode | USelectMenu | Eingabefeld für den internen Wert „displayMode“. | +| createFolderData.name | UInput | Eingabefeld für den internen Wert „createFolderData.name“. | +| Kein Standardtyp | USelectMenu | Eingabefeld mit Platzhalter „Kein Standardtyp“. | +| Dateityp ist optional | UCheckbox | Eingabefeld für „Dateityp ist optional“. | +| renameData.name | UInput | Eingabefeld für den internen Wert „renameData.name“. | + +## /forms + +- Datei: `frontend/pages/forms.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /helpdesk/:id? + +- Datei: `frontend/pages/helpdesk/[[id]].vue` +- Seitenfunktion: Support- und Kommunikationsprozesse. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Status filtern | USelect | Eingabefeld mit Platzhalter „Status filtern“. | +| selectedConversation.status | USelect | Eingabefeld für den internen Wert „selectedConversation.status“. | +| Nachricht eingeben... | UInput | Eingabefeld mit Platzhalter „Nachricht eingeben...“. | + +## /historyitems + +- Datei: `frontend/pages/historyitems/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /incomingInvoices/:mode/:id + +- Datei: `frontend/pages/incomingInvoices/[mode]/[id].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Lieferant / Partner | UFormField | Eingabebereich für „Lieferant / Partner“. | +| Rechnungsnummer | UFormField | Eingabebereich für „Rechnungsnummer“. | +| Zahlart | UFormField | Eingabebereich für „Zahlart“. | +| Rechnungsdatum | UFormField | Eingabebereich für „Rechnungsdatum“. | +| Fälligkeitsdatum | UFormField | Eingabebereich für „Fälligkeitsdatum“. | +| Beschreibung / Notiz | UFormField | Eingabebereich für „Beschreibung / Notiz“. | +| Konto / Kategorie | UFormField | Eingabebereich für „Konto / Kategorie“. | +| Aufwandsart | UFormField | Eingabebereich für „Aufwandsart“. | +| Kostenstelle | UFormField | Eingabebereich für „Kostenstelle“. | +| Abschreibungsdauer (Monate) | UFormField | Eingabebereich für „Abschreibungsdauer (Monate)“. | +| Methode | UFormField | Eingabebereich für „Methode“. | +| Start Abschreibung | UFormField | Eingabebereich für „Start Abschreibung“. | +| item.bookingMode === 'depreciation_bundle' ? 'Sammelposten' : 'Bezeichnung Abschreibung' | UFormField | Eingabebereich für „item.bookingMode === 'depreciation_bundle' ? 'Sammelposten' : 'Bezeichnung Abschreibung'“. | +| Betrag (Netto) | UFormField | Eingabebereich für „Betrag (Netto)“. | +| Betrag (Brutto) | UFormField | Eingabebereich für „Betrag (Brutto)“. | +| Steuerschlüssel | UFormField | Eingabebereich für „Steuerschlüssel“. | +| Steuerbetrag | UFormField | Eingabebereich für „Steuerbetrag“. | +| itemInfo.vendor | USelectMenu | Eingabefeld für den internen Wert „itemInfo.vendor“. | +| itemInfo.reference | UInput | Eingabefeld für den internen Wert „itemInfo.reference“. | +| itemInfo.paymentType | USelectMenu | Eingabefeld für den internen Wert „itemInfo.paymentType“. | +| itemInfo.description | UTextarea | Eingabefeld für den internen Wert „itemInfo.description“. | +| useNetMode | USwitch | Eingabefeld für den internen Wert „useNetMode“. | +| item.account | USelectMenu | Eingabefeld für den internen Wert „item.account“. | +| item.bookingMode | USelectMenu | Eingabefeld für den internen Wert „item.bookingMode“. | +| item.costCentre | USelectMenu | Eingabefeld für den internen Wert „item.costCentre“. | +| item.depreciationMonths | UInput | Eingabefeld für den internen Wert „item.depreciationMonths“. | +| item.depreciationMethod | USelectMenu | Eingabefeld für den internen Wert „item.depreciationMethod“. | +| item.depreciationStartDate | UInput | Eingabefeld für den internen Wert „item.depreciationStartDate“. | +| item.bookingMode === 'depreciation_bundle' ? 'z. B. IT-Hardware 2026' : 'z. B. Notebook Fuhrpark' | UInput | Eingabefeld mit Platzhalter „item.bookingMode === 'depreciation_bundle' ? 'z. B. IT-Hardware 2026' : 'z. B. Notebook Fuhrpark' “. | +| (ohne Bezeichnung) | UInput | Eingabefeld in dieser Seite. | +| item.taxType | USelectMenu | Eingabefeld für den internen Wert „item.taxType“. | +| Positionstext (optional) | UInput | Eingabefeld mit Platzhalter „Positionstext (optional)“. | + +## /incomingInvoices + +- Datei: `frontend/pages/incomingInvoices/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | +| selectedColumns | USelectMenu | Eingabefeld für den internen Wert „selectedColumns“. | +| (ohne Bezeichnung) | USelectMenu | Eingabefeld in dieser Seite. | + +## / + +- Datei: `frontend/pages/index.client.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /login + +- Datei: `frontend/pages/login.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| E-Mail | UFormField | Eingabebereich für „E-Mail“. | +| Passwort | UFormField | Eingabebereich für „Passwort“. | +| Deine E-Mail Adresse | UInput | Eingabefeld mit Platzhalter „Deine E-Mail Adresse“. | +| Dein Passwort | UInput | Eingabefeld mit Platzhalter „Dein Passwort“. | + +## /organisation/plantafel + +- Datei: `frontend/pages/organisation/plantafel.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Name | UFormField | Eingabebereich für „Name“. | +| Farbe | UFormField | Eingabebereich für „Farbe“. | +| Profil | UFormField | Eingabebereich für „Profil“. | +| Typ | UFormField | Eingabebereich für „Typ“. | +| Start | UFormField | Eingabebereich für „Start“. | +| Ende | UFormField | Eingabebereich für „Ende“. | +| Notiz | UFormField | Eingabebereich für „Notiz“. | +| selectedType | USelectMenu | Eingabefeld für den internen Wert „selectedType“. | +| calendarView | USelectMenu | Eingabefeld für den internen Wert „calendarView“. | +| quickEntryConfig.name | UInput | Eingabefeld für den internen Wert „quickEntryConfig.name“. | +| quickEntryConfig.color | UInput | Eingabefeld für den internen Wert „quickEntryConfig.color“. | +| absenceForm.userId | USelectMenu | Eingabefeld für den internen Wert „absenceForm.userId“. | +| absenceForm.type | USelectMenu | Eingabefeld für den internen Wert „absenceForm.type“. | +| absenceForm.type === 'sick' ? 'z. B. Krankmeldung eingegangen' : 'z. B. Sommerurlaub' | UTextarea | Eingabefeld mit Platzhalter „absenceForm.type === 'sick' ? 'z. B. Krankmeldung eingegangen' : 'z. B. Sommerurlaub'“. | + +## /password-change + +- Datei: `frontend/pages/password-change.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Altes Passwort | UFormField | Eingabebereich für „Altes Passwort“. | +| Neues Passwort | UFormField | Eingabebereich für „Neues Passwort“. | +| Dein altes Passwort | UInput | Eingabefeld mit Platzhalter „Dein altes Passwort“. | +| Dein neues Passwort | UInput | Eingabefeld mit Platzhalter „Dein neues Passwort“. | + +## /password-reset + +- Datei: `frontend/pages/password-reset.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| E-Mail | UFormField | Eingabebereich für „E-Mail“. | +| Deine E-Mail Adresse | UInput | Eingabefeld mit Platzhalter „Deine E-Mail Adresse“. | + +## /projecttypes/:mode/:id? + +- Datei: `frontend/pages/projecttypes/[mode]/[[id]].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Name: | UFormField | Eingabebereich für „Name:“. | +| itemInfo.name | UInput | Eingabefeld für den internen Wert „itemInfo.name“. | +| Name | UInput | Eingabefeld mit Platzhalter „Name“. | +| Icon | UInput | Eingabefeld mit Platzhalter „Icon“. | +| phase.optional | UCheckbox | Eingabefeld für den internen Wert „phase.optional“. | +| Beschreibung | UInput | Eingabefeld mit Platzhalter „Beschreibung“. | + +## /projecttypes + +- Datei: `frontend/pages/projecttypes/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | + +## /roles/:mode/:id? + +- Datei: `frontend/pages/roles/[mode]/[[id]].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Name: | UFormField | Eingabebereich für „Name:“. | +| Rechte: | UFormField | Eingabebereich für „Rechte:“. | +| Beschreibung: | UFormField | Eingabebereich für „Beschreibung:“. | +| itemInfo.name | UInput | Eingabefeld für den internen Wert „itemInfo.name“. | +| itemInfo.rights | USelectMenu | Eingabefeld für den internen Wert „itemInfo.rights“. | +| itemInfo.description | UTextarea | Eingabefeld für den internen Wert „itemInfo.description“. | + +## /roles + +- Datei: `frontend/pages/roles/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /settings/admin + +- Datei: `frontend/pages/settings/admin.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /settings/banking + +- Datei: `frontend/pages/settings/banking/index.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| BIC: | UFormField | Eingabebereich für „BIC:“. | +| bicBankToAdd | UInput | Eingabefeld für den internen Wert „bicBankToAdd“. | + +## /settings/emailaccounts/:mode/:id? + +- Datei: `frontend/pages/settings/emailaccounts/[mode]/[[id]].vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| E-Mail Adresse | UFormField | Eingabebereich für „E-Mail Adresse“. | +| Passwort | UFormField | Eingabebereich für „Passwort“. | +| IMAP Host | UFormField | Eingabebereich für „IMAP Host“. | +| IMAP Port | UFormField | Eingabebereich für „IMAP Port“. | +| IMAP SSL | UFormField | Eingabebereich für „IMAP SSL“. | +| SMTP Host | UFormField | Eingabebereich für „SMTP Host“. | +| SMTP Port | UFormField | Eingabebereich für „SMTP Port“. | +| SMTP SSL | UFormField | Eingabebereich für „SMTP SSL“. | +| itemInfo.email | UInput | Eingabefeld für den internen Wert „itemInfo.email“. | +| ******** | UInput | Eingabefeld mit Platzhalter „********“. | +| itemInfo.imap_host | UInput | Eingabefeld für den internen Wert „itemInfo.imap_host“. | +| itemInfo.imap_port | UInput | Eingabefeld für den internen Wert „itemInfo.imap_port“. | +| itemInfo.imap_ssl | USwitch | Eingabefeld für den internen Wert „itemInfo.imap_ssl“. | +| itemInfo.smtp_host | UInput | Eingabefeld für den internen Wert „itemInfo.smtp_host“. | +| itemInfo.smtp_port | UInput | Eingabefeld für den internen Wert „itemInfo.smtp_port“. | +| itemInfo.smtp_ssl | USwitch | Eingabefeld für den internen Wert „itemInfo.smtp_ssl“. | + +## /settings/emailaccounts + +- Datei: `frontend/pages/settings/emailaccounts/index.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| E-Mail Adresse: | UFormField | Eingabebereich für „E-Mail Adresse:“. | +| Account Typ: | UFormField | Eingabebereich für „Account Typ:“. | +| createEMailAddress | UInput | Eingabefeld für den internen Wert „createEMailAddress“. | +| createEMailType | USelectMenu | Eingabefeld für den internen Wert „createEMailType“. | + +## /settings/externalDevices + +- Datei: `frontend/pages/settings/externalDevices.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| IP-Adresse: | UFormField | Eingabebereich für „IP-Adresse:“. | +| labelPrinterURI | UInput | Eingabefeld für den internen Wert „labelPrinterURI“. | + +## /settings + +- Datei: `frontend/pages/settings/index.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /settings/numberRanges + +- Datei: `frontend/pages/settings/numberRanges.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| numberRanges[key].prefix | UInput | Eingabefeld für den internen Wert „numberRanges[key].prefix“. | +| numberRanges[key].nextNumber | UInput | Eingabefeld für den internen Wert „numberRanges[key].nextNumber“. | +| numberRanges[key].suffix | UInput | Eingabefeld für den internen Wert „numberRanges[key].suffix“. | + +## /settings/ownfields + +- Datei: `frontend/pages/settings/ownfields.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /settings/tenant + +- Datei: `frontend/pages/settings/tenant.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Firmenname: | UFormField | Eingabebereich für „Firmenname:“. | +| Straße + Hausnummer: | UFormField | Eingabebereich für „Straße + Hausnummer:“. | +| PLZ + Ort | UFormField | Eingabebereich für „PLZ + Ort“. | +| Kontenrahmen: | UFormField | Eingabebereich für „Kontenrahmen:“. | +| USt-Auswertung: | UFormField | Eingabebereich für „USt-Auswertung:“. | +| businessInfo.name | UInput | Eingabefeld für den internen Wert „businessInfo.name“. | +| businessInfo.street | UInput | Eingabefeld für den internen Wert „businessInfo.street“. | +| businessInfo.zip | UInput | Eingabefeld für den internen Wert „businessInfo.zip“. | +| businessInfo.city | UInput | Eingabefeld für den internen Wert „businessInfo.city“. | +| accountChart | USelectMenu | Eingabefeld für den internen Wert „accountChart“. | +| taxEvaluationPeriod | USelectMenu | Eingabefeld für den internen Wert „taxEvaluationPeriod“. | +| option.label | UCheckbox | Eingabefeld für „option.label“. | + +## /settings/texttemplates + +- Datei: `frontend/pages/settings/texttemplates.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Bezeichnung | UFormField | Eingabebereich für „Bezeichnung“. | +| Dokumententyp | UFormField | Eingabebereich für „Dokumententyp“. | +| Position | UFormField | Eingabebereich für „Position“. | +| Text Inhalt | UFormField | Eingabebereich für „Text Inhalt“. | +| z.B. Standard Angebotstext | UInput | Eingabefeld mit Platzhalter „z.B. Standard Angebotstext“. | +| itemInfo.documentType | USelectMenu | Eingabefeld für den internen Wert „itemInfo.documentType“. | +| itemInfo.pos | USelectMenu | Eingabefeld für den internen Wert „itemInfo.pos“. | +| Sehr geehrte Damen und Herren... | UTextarea | Eingabefeld mit Platzhalter „Sehr geehrte Damen und Herren...“. | +| Als Standard für diesen Typ verwenden | UCheckbox | Eingabefeld für „Als Standard für diesen Typ verwenden“. | + +## /staff/profiles/:id + +- Datei: `frontend/pages/staff/profiles/[id].vue` +- Seitenfunktion: Mitarbeiterbezogene Verwaltung und Zeiterfassung. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Vorname | UFormField | Eingabebereich für „Vorname“. | +| Nachname | UFormField | Eingabebereich für „Nachname“. | +| E-Mail | UFormField | Eingabebereich für „E-Mail“. | +| Telefon (Mobil) | UFormField | Eingabebereich für „Telefon (Mobil)“. | +| Telefon (Festnetz) | UFormField | Eingabebereich für „Telefon (Festnetz)“. | +| Geburtstag | UFormField | Eingabebereich für „Geburtstag“. | +| Vertragsart | UFormField | Eingabebereich für „Vertragsart“. | +| Status | UFormField | Eingabebereich für „Status“. | +| Position | UFormField | Eingabebereich für „Position“. | +| Qualifikation | UFormField | Eingabebereich für „Qualifikation“. | +| Eintrittsdatum | UFormField | Eingabebereich für „Eintrittsdatum“. | +| Wöchentliche Arbeitszeit (Std) | UFormField | Eingabebereich für „Wöchentliche Arbeitszeit (Std)“. | +| Bezahlte Urlaubstage (Jahr) | UFormField | Eingabebereich für „Bezahlte Urlaubstage (Jahr)“. | +| Aktiv | UFormField | Eingabebereich für „Aktiv“. | +| Primäre Niederlassung | UFormField | Eingabebereich für „Primäre Niederlassung“. | +| Weitere Niederlassungen | UFormField | Eingabebereich für „Weitere Niederlassungen“. | +| Team-Zuordnung | UFormField | Eingabebereich für „Team-Zuordnung“. | +| Hinweis | UFormField | Eingabebereich für „Hinweis“. | +| Straße und Hausnummer | UFormField | Eingabebereich für „Straße und Hausnummer“. | +| PLZ | UFormField | Eingabebereich für „PLZ“. | +| Ort | UFormField | Eingabebereich für „Ort“. | +| Bundesland | UFormField | Eingabebereich für „Bundesland“. | +| Kleidergröße (Oberteil) | UFormField | Eingabebereich für „Kleidergröße (Oberteil)“. | +| Kleidergröße (Hose) | UFormField | Eingabebereich für „Kleidergröße (Hose)“. | +| Schuhgröße | UFormField | Eingabebereich für „Schuhgröße“. | +| Token-ID | UFormField | Eingabebereich für „Token-ID“. | +| profile.first_name | UInput | Eingabefeld für den internen Wert „profile.first_name“. | +| profile.last_name | UInput | Eingabefeld für den internen Wert „profile.last_name“. | +| profile.email | UInput | Eingabefeld für den internen Wert „profile.email“. | +| profile.mobile_tel | UInput | Eingabefeld für den internen Wert „profile.mobile_tel“. | +| profile.fixed_tel | UInput | Eingabefeld für den internen Wert „profile.fixed_tel“. | +| profile.birthday | UInput | Eingabefeld für den internen Wert „profile.birthday“. | +| profile.contract_type | UInput | Eingabefeld für den internen Wert „profile.contract_type“. | +| profile.status | UInput | Eingabefeld für den internen Wert „profile.status“. | +| profile.position | UInput | Eingabefeld für den internen Wert „profile.position“. | +| profile.qualification | UInput | Eingabefeld für den internen Wert „profile.qualification“. | +| profile.entry_date | UInput | Eingabefeld für den internen Wert „profile.entry_date“. | +| profile.weekly_working_hours | UInput | Eingabefeld für den internen Wert „profile.weekly_working_hours“. | +| profile.annual_paid_leave_days | UInput | Eingabefeld für den internen Wert „profile.annual_paid_leave_days“. | +| profile.active | USwitch | Eingabefeld für den internen Wert „profile.active“. | +| (ohne Bezeichnung) | USelectMenu | Eingabefeld in dieser Seite. | +| profile.address_street | UInput | Eingabefeld für den internen Wert „profile.address_street“. | +| profile.address_zip | UInput | Eingabefeld für den internen Wert „profile.address_zip“. | +| profile.address_city | UInput | Eingabefeld für den internen Wert „profile.address_city“. | +| Bundesland auswählen | USelectMenu | Eingabefeld mit Platzhalter „Bundesland auswählen“. | +| 0 | UInput | Eingabefeld mit Platzhalter „0“. | +| profile.clothing_size_top | UInput | Eingabefeld für den internen Wert „profile.clothing_size_top“. | +| profile.clothing_size_bottom | UInput | Eingabefeld für den internen Wert „profile.clothing_size_bottom“. | +| profile.clothing_size_shoe | UInput | Eingabefeld für den internen Wert „profile.clothing_size_shoe“. | +| profile.token_id | UInput | Eingabefeld für den internen Wert „profile.token_id“. | + +## /staff/profiles + +- Datei: `frontend/pages/staff/profiles/index.vue` +- Seitenfunktion: Mitarbeiterbezogene Verwaltung und Zeiterfassung. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /staff/time/:id/evaluate + +- Datei: `frontend/pages/staff/time/[id]/evaluate.vue` +- Seitenfunktion: Mitarbeiterbezogene Verwaltung und Zeiterfassung. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Zeitraum: | UFormField | Eingabebereich für „Zeitraum:“. | +| Start: | UFormField | Eingabebereich für „Start:“. | +| Ende: | UFormField | Eingabebereich für „Ende:“. | +| selectedPresetRange | USelectMenu | Eingabefeld für den internen Wert „selectedPresetRange“. | +| Zeitraum wählen | USelectMenu | Eingabefeld mit Platzhalter „Zeitraum wählen“. | + +## /staff/time + +- Datei: `frontend/pages/staff/time/index.vue` +- Seitenfunktion: Mitarbeiterbezogene Verwaltung und Zeiterfassung. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Grund (optional) | UFormField | Eingabebereich für „Grund (optional)“. | +| Benutzer auswählen | USelectMenu | Eingabefeld mit Platzhalter „Benutzer auswählen“. | +| Falsche Buchung, Doppelt, etc. | UTextarea | Eingabefeld mit Platzhalter „Falsche Buchung, Doppelt, etc.“. | + +## /standardEntity/:type/:mode/:id? + +- Datei: `frontend/pages/standardEntity/[type]/[mode]/[[id]].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /standardEntity/:type + +- Datei: `frontend/pages/standardEntity/[type]/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | +| pageLimit | USelectMenu | Eingabefeld für den internen Wert „pageLimit“. | +| selectedColumns | USelectMenu | Eingabefeld für den internen Wert „selectedColumns“. | +| columnsToFilter[column.key] | USelectMenu | Eingabefeld für den internen Wert „columnsToFilter[column.key]“. | +| Auswählen… | USelectMenu | Eingabefeld mit Platzhalter „Auswählen…“. | + +## /support/:id + +- Datei: `frontend/pages/support/[id].vue` +- Seitenfunktion: Support- und Kommunikationsprozesse. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Neue Nachricht senden | UTextarea | Eingabefeld mit Platzhalter „Neue Nachricht senden“. | + +## /support/create + +- Datei: `frontend/pages/support/create.vue` +- Seitenfunktion: Support- und Kommunikationsprozesse. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Titel: | UFormField | Eingabebereich für „Titel:“. | +| Nachricht: | UFormField | Eingabebereich für „Nachricht:“. | +| itemInfo.title | UInput | Eingabefeld für den internen Wert „itemInfo.title“. | +| itemInfo.content | UTextarea | Eingabefeld für den internen Wert „itemInfo.content“. | + +## /support + +- Datei: `frontend/pages/support/index.vue` +- Seitenfunktion: Support- und Kommunikationsprozesse. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Geschlossene Tickets anzeigen | UCheckbox | Eingabefeld für „Geschlossene Tickets anzeigen“. | +| selectedTenant | USelectMenu | Eingabefeld für den internen Wert „selectedTenant“. | + +## /tasks/:mode/:id? + +- Datei: `frontend/pages/tasks/[mode]/[[id]].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /tasks + +- Datei: `frontend/pages/tasks/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Aufgaben durchsuchen... | UInput | Eingabefeld mit Platzhalter „Aufgaben durchsuchen...“. | +| Nur meine Aufgaben | UCheckbox | Eingabefeld für „Nur meine Aufgaben“. | +| taskForm.name | UInput | Eingabefeld für den internen Wert „taskForm.name“. | +| taskForm.description | UTextarea | Eingabefeld für den internen Wert „taskForm.description“. | +| taskForm.categorie | USelectMenu | Eingabefeld für den internen Wert „taskForm.categorie“. | +| taskForm.userId | USelectMenu | Eingabefeld für den internen Wert „taskForm.userId“. | +| taskForm.project | USelectMenu | Eingabefeld für den internen Wert „taskForm.project“. | +| taskForm.customer | USelectMenu | Eingabefeld für den internen Wert „taskForm.customer“. | +| taskForm.plant | USelectMenu | Eingabefeld für den internen Wert „taskForm.plant“. | + +## /test + +- Datei: `frontend/pages/test.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /wiki/:id? + +- Datei: `frontend/pages/wiki/[[id]].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Titel | UFormField | Eingabebereich für „Titel“. | +| Suchen... | UInput | Eingabefeld mit Platzhalter „Suchen...“. | +| z.B. Meeting Notes | UInput | Eingabefeld mit Platzhalter „z.B. Meeting Notes“. | + +## /workflows/:token + +- Datei: `frontend/pages/workflows/[token].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| PIN | UInput | Eingabefeld mit Platzhalter „PIN“. | + diff --git a/docs-site/content/bedienung/frontend/ausgangsbelege-editor.md b/docs-site/content/bedienung/frontend/ausgangsbelege-editor.md new file mode 100644 index 0000000..2432742 --- /dev/null +++ b/docs-site/content/bedienung/frontend/ausgangsbelege-editor.md @@ -0,0 +1,62 @@ +# Ausgangsbeleg-Editor + +Seite: `/createDocument/edit/:id?` + +Diese Maske dient zum Erstellen und Bearbeiten von Ausgangsbelegen wie Rechnungen, Abschlagsrechnungen, Angebote, Lieferscheine, Packscheine und Serienrechnungen. + +## Bereich: Grunddaten + +- `Dokumenttyp`: Legt die Belegart fest und steuert verfügbare Felder sowie Nummernlogik. +- `Steuertyp`: Steuert Steuerberechnung und Steuertexte (z. B. Standard, 13b UStG, 19 UStG, 12.3 UStG). +- `Briefpapier`: Definiert das verwendete Layout/Letterhead für PDF und Druck. +- `Kunde`: Hauptempfänger des Belegs; beeinflusst Vorschlagswerte (Adresse, Zahlungsart, Zahlungsziel). +- `Ansprechpartner`: Kontaktperson beim Kunden für den Beleg. +- `Adresse`: + - `Straße + Hausnummer`: Liefer-/Rechnungsstraße. + - `Adresszusatz`: Zusätzliche Adressinformationen. + - `PLZ`: Postleitzahl. + - `Ort`: Ort der Adresse. +- `Belegnummer` (z. B. Rechnungsnummer): Eindeutige Referenz des Belegs. +- `Lieferdatumsart`: Definiert, ob Einzel- oder Zeitraumdatum angezeigt wird. +- `Liefer-/Leistungsdatum Start`: Startdatum für Leistung/Lieferung. +- `Liefer-/Leistungsdatum Ende`: Enddatum bei Zeitraum. +- `Belegdatum`: Offizielles Dokumentdatum. +- `Zahlungsziel in Tagen`: Frist bis zur Fälligkeit (für Rechnungsarten). +- `Zahlungsart`: Überweisung oder SEPA-Lastschrift. +- `Individueller Aufschlag`: Prozentualer Zuschlag auf Positionen laut Beleglogik. +- `Mitarbeiter`: Verantwortlicher Bearbeiter/Ersteller. +- `Kontakt Telefon`: Telefon des Ansprechpartners im Dokument. +- `Kontakt E-Mail`: E-Mail des Ansprechpartners im Dokument. +- `Im Kundenportal anzeigen`: Gibt den Beleg für das Portal frei. +- `Objekt`: Zugeordnetes Objekt/Standort. +- `Projekt`: Zugeordnetes Projekt. +- `Vertrag`: Zugeordneter Vertrag. + +## Bereich: Serienrechnung (nur Typ `serialInvoices`) + +- `Datum erste Ausführung`: Start der automatischen Ausführung. +- `Datum letzte Ausführung`: Enddatum der Serienausführung. +- `Aktiv`: Aktiviert/deaktiviert die Serienlogik. +- `Intervall`: Ausführungsrhythmus (z. B. monatlich, vierteljährlich). +- `Richtung`: Zeitliche Berechnung (rückwirkend oder im Voraus). + +## Bereich: Inhaltstexte + +- `Titel`: Belegtitel (abhängig von Belegart und Nummernlogik). +- `Beschreibung`: Kurzbeschreibung unterhalb des Titels. +- `Vorlage auswählen`: Übernimmt Textbausteine in den Einleitungstext. +- `Einleitung`: Freitext vor den Positionen. +- `Positionen`: Zeilen mit Mengen, Einheiten, Preisen, Steuern, Rabatten und Summen. + +## Bereich: Aktionen + +- `Speichern`: Persistiert Entwurf oder Änderungen. +- `Buchen`: Finalisiert den Beleg (abhängig von Belegart/Validierung). +- `PDF/Vorschau`: Erstellt Vorschau bzw. Ausgabe. +- `Kopier-/Übernahmefunktionen`: Übernimmt Inhalte aus verknüpften Dokumenten (z. B. Lieferschein zu Rechnung). + +## Typische Eingabefehler vermeiden + +- Vor dem Buchen immer `Briefpapier`, `Kunde`, `Belegdatum` und (bei Rechnungstypen) `Zahlungsziel` prüfen. +- Bei Zeiträumen Start und Ende vollständig setzen. +- Für Portalfreigabe prüfen, ob Belegstatus nicht mehr `Entwurf` ist. diff --git a/docs-site/content/bedienung/frontend/index.md b/docs-site/content/bedienung/frontend/index.md new file mode 100644 index 0000000..70fc884 --- /dev/null +++ b/docs-site/content/bedienung/frontend/index.md @@ -0,0 +1,9 @@ +# Frontend-Funktionen + +Diese Kategorie enthält die Bedienung der einzelnen Seiten im Web-Frontend. + +## Enthaltene Inhalte + +- Vollständige Seitenübersicht mit erkannten Eingabefeldern: `alle-seiten-und-felder.md` +- Detaillierte Anleitung Ausgangsbeleg-Editor: `ausgangsbelege-editor.md` +- Detaillierte Anleitung Serienrechnungen: `serienrechnungen.md` diff --git a/docs-site/content/bedienung/frontend/serienrechnungen.md b/docs-site/content/bedienung/frontend/serienrechnungen.md new file mode 100644 index 0000000..db23f46 --- /dev/null +++ b/docs-site/content/bedienung/frontend/serienrechnungen.md @@ -0,0 +1,41 @@ +# Serienrechnungen + +Seite: `/createDocument/serialInvoice` + +Diese Seite verwaltet Vorlagen für Serienrechnungen und erlaubt die manuelle Ausführung von Rechnungsläufen. + +## Oberer Bereich + +- `Suche`: Filtert die Vorlagenliste. +- `Ausführungen`: Öffnet die Übersicht bestehender Ausführungsläufe. +- `Ausführen`: Startet den Dialog zur manuellen Ausführung. +- `+ Serienrechnung`: Öffnet den Editor zur Anlage einer neuen Serienrechnungsvorlage. + +## Filterbereich + +- `Filter`: Mehrfachfilter für die Tabellenansicht (je nach verfügbarer Konfiguration). + +## Dialog: Serienrechnungen manuell ausführen + +- `Ausführungsdatum (Belegdatum)`: Dokumentdatum für den Lauf; beeinflusst Leistungszeitraum laut Konfiguration. +- `Heute`: Setzt das Ausführungsdatum auf den aktuellen Tag. +- `Kunde oder Vertrag suchen`: Freitextsuche innerhalb der Vorlagenliste. +- `Intervall`: Filtert Vorlagen nach Ausführungsrhythmus. +- `Alle auswählen`: Markiert alle sichtbaren Vorlagen. +- `Keine`: Entfernt die Auswahl. +- `Checkbox je Zeile`: Wählt einzelne Vorlagen aus. +- `Ausführen`: Startet den Lauf für die ausgewählten Vorlagen. + +## Tabellenspalten (typisch) + +- `Typ`: Belegtyp der Vorlage. +- `Partner`: Kunde der Vorlage. +- `Betrag`: Errechneter Vorlagenbetrag. +- `Intervall`: Ausführungsrhythmus. +- `Vertrag`: Zugeordneter Vertrag. +- `Objekt`: Zugeordnetes Objekt. + +## Laufende Ausführungen + +- `Fertigstellen`: Schließt einen laufenden Ausführungsvorgang ab. + diff --git a/docs-site/content/bedienung/index.md b/docs-site/content/bedienung/index.md new file mode 100644 index 0000000..526c9fe --- /dev/null +++ b/docs-site/content/bedienung/index.md @@ -0,0 +1,8 @@ +# Bedienung + +Diese Sektion beschreibt die Nutzung der Software aus Anwendersicht. + +## Bereiche + +- Frontend-Funktionen je Seite: `frontend/README.md` +- Detaillierte Feld-Erklärungen: z. B. `frontend/ausgangsbelege-editor.md` diff --git a/docs-site/content/index.md b/docs-site/content/index.md index f9db0b9..4a7f5d1 100644 --- a/docs-site/content/index.md +++ b/docs-site/content/index.md @@ -1,7 +1,7 @@ --- seo: - title: FEDEO Dokumentation - description: Zentrale, versionierte Funktionsdokumentation für FEDEO. + title: FEDEO Bedienungsanleitung + description: Nutzerorientierte Bedienungsanleitung für alle zentralen Funktionen in FEDEO. --- ::u-page-hero{class="dark:bg-gradient-to-b from-neutral-900 to-neutral-950"} @@ -9,99 +9,56 @@ seo: orientation: horizontal --- #title -FEDEO [Dokumentation]{.text-primary} +FEDEO [Bedienungsanleitung]{.text-primary} #description -Alle Funktionen von Backend, Web und Mobile an einem Ort. Versioniert, durchsuchbar und auf Basis von Nuxt UI + Nuxt Content aufgebaut. +Diese Dokumentation ist als praktische Anleitung für Anwenderinnen und Anwender der FEDEO-Software aufgebaut. #links :::u-button --- - to: /funktionen + to: /bedienung size: xl trailing-icon: i-lucide-arrow-right --- - Zu den Funktionen + Zur Bedienungsanleitung ::: :::u-button --- - icon: i-simple-icons-github + to: /bedienung/frontend + size: xl color: neutral variant: outline - size: xl - to: https://git.federspiel.tech/flfeders/FEDEO - target: _blank --- - Repository öffnen - ::: - -#default - :::prose-pre - --- - code: | - node docs/scripts/sync-funktionsdoku.mjs - filename: docs-sync.sh - --- - - ```bash [docs-sync.sh] - node docs/scripts/sync-funktionsdoku.mjs - ``` + Frontend-Funktionen ::: :: ::u-page-section{class="dark:bg-neutral-950"} #title -Struktur der Dokumentation +Inhalte #features :::u-page-feature --- - icon: i-lucide-layers + icon: i-lucide-layout-dashboard --- #title - Funktionskatalog + Frontend-Seiten #description - Technische Übersichten für Backend-API, Web-Frontend und Mobile-App. + Übersicht aller Seitenfunktionen inklusive Eingabefelder und deren Bedeutung. ::: :::u-page-feature --- - icon: i-lucide-shield-check + icon: i-lucide-file-text --- #title - Wartungsprozess + Praxisnahe Feld-Erklärungen #description - Klarer Ablauf, damit Funktionsänderungen immer dokumentiert bleiben. - ::: - - :::u-page-feature - --- - icon: i-lucide-git-branch - --- - #title - Versionierung - - #description - Änderungen an der Dokumentation sind nachvollziehbar versioniert. + Für zentrale Masken wie den Ausgangsbeleg-Editor werden die Felder konkret erläutert. ::: :: - -::u-page-section{class="dark:bg-gradient-to-b from-neutral-950 to-neutral-900"} - :::u-page-c-t-a - --- - links: - - label: Funktionsübersicht öffnen - to: '/funktionen/uebersicht' - trailingIcon: i-lucide-arrow-right - - label: Versionshistorie - to: '/versionen/docs-versionen' - variant: subtle - icon: i-lucide-history - title: Bereit für die tägliche Doku-Arbeit? - description: Nutze die technische Übersicht für Änderungen und halte die Dokumentation mit einem festen Sync-Workflow aktuell. - class: dark:bg-neutral-950 - --- -:: diff --git a/docs-site/content/wartung/dokumentationsprozess.md b/docs-site/content/wartung/dokumentationsprozess.md deleted file mode 100644 index 3f804b5..0000000 --- a/docs-site/content/wartung/dokumentationsprozess.md +++ /dev/null @@ -1,35 +0,0 @@ -# Dokumentationsprozess - -## Zweck - -Dieser Prozess stellt sicher, dass die Funktionsdokumentation bei jeder Änderung aktuell bleibt. - -## Verbindlicher Ablauf bei Funktionsänderungen - -1. Funktion implementieren oder ändern -2. Technische Doku synchronisieren: - -```bash -node docs/scripts/sync-funktionsdoku.mjs -``` - -3. Fachliche Beschreibung in `docs/funktionen/uebersicht.md` ergänzen, falls ein neuer Bereich entsteht -4. Neue Doku-Version in `docs/versionen/docs-versionen.md` eintragen -5. Code und Doku gemeinsam committen - -## Was als Funktionsänderung gilt - -- Neue API-Route oder geänderte API-Route -- Neue Web-Seite oder geänderte Seitenstruktur -- Neuer Mobile-Screen oder geänderte Navigationsstruktur -- Größere fachliche Änderung in bestehenden Modulen - -## Qualitätsregeln - -- Automatisch erzeugte Dateien nicht manuell pflegen -- Fachliche Begriffe konsistent halten -- Jede Doku-Version erhält Datum, Änderungszusammenfassung und Bezug zu Commits - -## CI-Empfehlung - -Optional kann in CI geprüft werden, ob die generierten Doku-Dateien aktuell sind (z. B. per Diff nach Skriptlauf), damit keine Funktionsänderung ohne Doku-Update gemerged wird. diff --git a/docs-site/package-lock.json b/docs-site/package-lock.json index 7f9a26c..2e339bf 100644 --- a/docs-site/package-lock.json +++ b/docs-site/package-lock.json @@ -6,15 +6,66 @@ "packages": { "": { "name": "fedeo-docs-site", - "version": "2.0.0", + "hasInstallScript": true, "dependencies": { - "@nuxt/content": "^2.13.4", - "nuxt": "^3.17.7" + "@iconify-json/lucide": "^1.2.102", + "@iconify-json/simple-icons": "^1.2.78", + "@nuxt/content": "^3.12.0", + "@nuxt/image": "^2.0.0", + "@nuxt/ui": "^4.6.1", + "better-sqlite3": "^12.9.0", + "nuxt": "^4.4.2" + }, + "devDependencies": { + "typescript": "^6.0.2" }, "engines": { "node": ">=20.0" } }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@antfu/install-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-1.1.0.tgz", + "integrity": "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==", + "license": "MIT", + "dependencies": { + "package-manager-detector": "^1.3.0", + "tinyexec": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@apidevtools/json-schema-ref-parser": { + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-14.2.1.tgz", + "integrity": "sha512-HmdFw9CDYqM6B25pqGBpNeLCKvGPlIx1EbLrVL0zPvj50CJQUHyBNBw45Muk0kEIkogo1VZvOKHajdMuAzSxRg==", + "license": "MIT", + "dependencies": { + "js-yaml": "^4.1.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "url": "https://github.com/sponsors/philsturgeon" + }, + "peerDependencies": { + "@types/json-schema": "^7.0.15" + } + }, "node_modules/@babel/code-frame": { "version": "7.29.0", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", @@ -437,6 +488,18 @@ } } }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.0.tgz", + "integrity": "sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@clack/core": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@clack/core/-/core-1.2.0.tgz", @@ -495,49 +558,6 @@ } } }, - "node_modules/@dxup/nuxt/node_modules/@nuxt/kit": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-4.4.2.tgz", - "integrity": "sha512-5+IPRNX2CjkBhuWUwz0hBuLqiaJPRoKzQ+SvcdrQDbAyE+VDeFt74VpSFr5/R0ujrK4b+XnSHUJWdS72w6hsog==", - "license": "MIT", - "dependencies": { - "c12": "^3.3.3", - "consola": "^3.4.2", - "defu": "^6.1.4", - "destr": "^2.0.5", - "errx": "^0.1.0", - "exsolve": "^1.0.8", - "ignore": "^7.0.5", - "jiti": "^2.6.1", - "klona": "^2.0.6", - "mlly": "^1.8.1", - "ohash": "^2.0.11", - "pathe": "^2.0.3", - "pkg-types": "^2.3.0", - "rc9": "^3.0.0", - "scule": "^1.3.0", - "semver": "^7.7.4", - "tinyglobby": "^0.2.15", - "ufo": "^1.6.3", - "unctx": "^2.5.0", - "untyped": "^2.0.0" - }, - "engines": { - "node": ">=18.12.0" - } - }, - "node_modules/@dxup/nuxt/node_modules/ohash": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", - "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", - "license": "MIT" - }, - "node_modules/@dxup/nuxt/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, "node_modules/@dxup/unimport": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/@dxup/unimport/-/unimport-0.1.2.tgz", @@ -550,7 +570,6 @@ "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" @@ -562,7 +581,6 @@ "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", "license": "MIT", "optional": true, - "peer": true, "dependencies": { "tslib": "^2.4.0" } @@ -573,7 +591,6 @@ "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", "license": "MIT", "optional": true, - "peer": true, "dependencies": { "tslib": "^2.4.0" } @@ -994,6 +1011,628 @@ "node": ">=18" } }, + "node_modules/@fastify/accept-negotiator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@fastify/accept-negotiator/-/accept-negotiator-2.0.1.tgz", + "integrity": "sha512-/c/TW2bO/v9JeEgoD/g1G5GxGeCF1Hafdf79WPmUlgYiBXummY0oX3VVq4yFkKKVBKDNlaDUYoab7g38RpPqCQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT", + "optional": true + }, + "node_modules/@floating-ui/core": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", + "license": "MIT" + }, + "node_modules/@floating-ui/vue": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.1.11.tgz", + "integrity": "sha512-HzHKCNVxnGS35r9fCHBc3+uCnjw9IWIlCPL683cGgM9Kgj2BiAl8x1mS7vtvP6F9S/e/q4O6MApwSHj8hNLGfw==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6", + "@floating-ui/utils": "^0.2.11", + "vue-demi": ">=0.13.0" + } + }, + "node_modules/@floating-ui/vue/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@iconify-json/lucide": { + "version": "1.2.102", + "resolved": "https://registry.npmjs.org/@iconify-json/lucide/-/lucide-1.2.102.tgz", + "integrity": "sha512-Dm3EEqu5NrmzyDMB2U1+8yroEj2/dB9V4KlH0m/szwwF/ofSf0cPaGTZqkd1aExXjCor+vU53ttRMCGuXf+/cg==", + "license": "ISC", + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify-json/simple-icons": { + "version": "1.2.79", + "resolved": "https://registry.npmjs.org/@iconify-json/simple-icons/-/simple-icons-1.2.79.tgz", + "integrity": "sha512-aNyO7Fd1qej9oQfIyohYFRv0lhQLaZ+6UkK1c1qwax0MDPUOZOdq65MlU500kow97pD/W+b2u1And3e25eE24Q==", + "license": "CC0-1.0", + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify/collections": { + "version": "1.0.675", + "resolved": "https://registry.npmjs.org/@iconify/collections/-/collections-1.0.675.tgz", + "integrity": "sha512-Tosk0Eeh84Tr7vEQbo3fcUTvb0ZGIz04+CJxiGj+Y78qe2CjZP5JnDoWmAowJJcm77NnLGqoN8oxsdukE+xtIw==", + "license": "MIT", + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "license": "MIT" + }, + "node_modules/@iconify/utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.1.0.tgz", + "integrity": "sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==", + "license": "MIT", + "dependencies": { + "@antfu/install-pkg": "^1.1.0", + "@iconify/types": "^2.0.0", + "mlly": "^1.8.0" + } + }, + "node_modules/@iconify/vue": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@iconify/vue/-/vue-5.0.0.tgz", + "integrity": "sha512-C+KuEWIF5nSBrobFJhT//JS87OZ++QDORB6f2q2Wm6fl2mueSTpFBeBsveK0KW9hWiZ4mNiPjsh6Zs4jjdROSg==", + "license": "MIT", + "dependencies": { + "@iconify/types": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/cyberalien" + }, + "peerDependencies": { + "vue": ">=3" + } + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@internationalized/date": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.12.1.tgz", + "integrity": "sha512-6IedsVWXyq4P9Tj+TxuU8WGWM70hYLl12nbYU8jkikVpa6WXapFazPUcHUMDMoWftIDE2ILDkFFte6W2nFCkRQ==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/number": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.6.tgz", + "integrity": "sha512-iFgmQaXHE0vytNfpLZWOC2mEJCBRzcUxt53Xf/yCXG93lRvqas237i3r7X4RKMwO3txiyZD4mQjKAByFv6UGSQ==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, "node_modules/@ioredis/commands": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.5.1.tgz", @@ -1266,16 +1905,10 @@ } } }, - "node_modules/@nuxt/cli/node_modules/ohash": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", - "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", - "license": "MIT" - }, - "node_modules/@nuxt/cli/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "node_modules/@nuxt/cli/node_modules/citty": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.2.2.tgz", + "integrity": "sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==", "license": "MIT" }, "node_modules/@nuxt/cli/node_modules/std-env": { @@ -1285,38 +1918,89 @@ "license": "MIT" }, "node_modules/@nuxt/content": { - "version": "2.13.4", - "resolved": "https://registry.npmjs.org/@nuxt/content/-/content-2.13.4.tgz", - "integrity": "sha512-NBaHL/SNYUK7+RLgOngSFmKqEPYc0dYdnwVFsxIdrOZUoUbD8ERJJDaoRwwtyYCMOgUeFA/zxAkuADytp+DKiQ==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@nuxt/content/-/content-3.13.0.tgz", + "integrity": "sha512-ZpZ1l0yGzK/Y9QjBT8uReJ62DnOKDMlw+vkzSnkc8YDyZ0ZNhFj1fviMwDhEkArwvQTRfxi12GqzB/wxu01vEw==", "license": "MIT", "dependencies": { - "@nuxt/kit": "^3.13.2", - "@nuxtjs/mdc": "^0.9.2", - "@vueuse/core": "^11.1.0", - "@vueuse/head": "^2.0.0", - "@vueuse/nuxt": "^11.1.0", - "consola": "^3.2.3", + "@nuxt/kit": "^4.4.2", + "@nuxtjs/mdc": "^0.21.0", + "@shikijs/langs": "^4.0.2", + "@sqlite.org/sqlite-wasm": "3.50.4-build1", + "@standard-schema/spec": "^1.1.0", + "@webcontainer/env": "^1.1.1", + "c12": "^3.3.3", + "chokidar": "^5.0.0", + "consola": "^3.4.2", + "db0": "^0.3.4", "defu": "^6.1.4", - "destr": "^2.0.3", - "json5": "^2.2.3", - "knitwork": "^1.1.0", - "listhen": "^1.9.0", + "destr": "^2.0.5", + "git-url-parse": "^16.1.0", + "hookable": "^5.5.3", + "isomorphic-git": "^1.37.4", + "jiti": "^2.6.1", + "json-schema-to-typescript-lite": "^15.0.0", + "mdast-util-to-hast": "^13.2.1", "mdast-util-to-string": "^4.0.0", - "mdurl": "^2.0.0", - "micromark": "^4.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-types": "^2.0.0", - "minisearch": "^7.1.0", - "ohash": "^1.1.4", - "pathe": "^1.1.2", + "micromark": "^4.0.2", + "micromark-util-character": "^2.1.1", + "micromark-util-chunked": "^2.0.1", + "micromark-util-resolve-all": "^2.0.1", + "micromark-util-sanitize-uri": "^2.0.1", + "micromatch": "^4.0.8", + "minimark": "^0.2.0", + "minimatch": "^10.2.4", + "nuxt-component-meta": "0.17.2", + "nypm": "^0.6.5", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "pkg-types": "^2.3.0", + "remark-mdc": "^3.10.0", "scule": "^1.3.0", - "shiki": "^1.22.0", - "slugify": "^1.6.6", - "socket.io-client": "^4.8.0", - "ufo": "^1.5.4", + "shiki": "^4.0.2", + "slugify": "^1.6.8", + "socket.io-client": "^4.8.3", + "std-env": "^4.0.0", + "tinyglobby": "^0.2.15", + "ufo": "^1.6.3", + "unctx": "^2.5.0", + "unified": "^11.0.5", "unist-util-stringify-position": "^4.0.0", - "unstorage": "^1.12.0", - "ws": "^8.18.0" + "unist-util-visit": "^5.1.0", + "unplugin": "^3.0.0", + "zod": "^3.25.76", + "zod-to-json-schema": "^3.25.2" + }, + "engines": { + "node": ">= 20.19.0" + }, + "peerDependencies": { + "@electric-sql/pglite": "*", + "@libsql/client": "*", + "@valibot/to-json-schema": "^1.5.0", + "better-sqlite3": "^12.5.0", + "sqlite3": "*", + "valibot": "^1.2.0" + }, + "peerDependenciesMeta": { + "@electric-sql/pglite": { + "optional": true + }, + "@libsql/client": { + "optional": true + }, + "@valibot/to-json-schema": { + "optional": true + }, + "better-sqlite3": { + "optional": true + }, + "sqlite3": { + "optional": true + }, + "valibot": { + "optional": true + } } }, "node_modules/@nuxt/devalue": { @@ -1390,49 +2074,6 @@ "vite": ">=6.0" } }, - "node_modules/@nuxt/devtools-kit/node_modules/@nuxt/kit": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-4.4.2.tgz", - "integrity": "sha512-5+IPRNX2CjkBhuWUwz0hBuLqiaJPRoKzQ+SvcdrQDbAyE+VDeFt74VpSFr5/R0ujrK4b+XnSHUJWdS72w6hsog==", - "license": "MIT", - "dependencies": { - "c12": "^3.3.3", - "consola": "^3.4.2", - "defu": "^6.1.4", - "destr": "^2.0.5", - "errx": "^0.1.0", - "exsolve": "^1.0.8", - "ignore": "^7.0.5", - "jiti": "^2.6.1", - "klona": "^2.0.6", - "mlly": "^1.8.1", - "ohash": "^2.0.11", - "pathe": "^2.0.3", - "pkg-types": "^2.3.0", - "rc9": "^3.0.0", - "scule": "^1.3.0", - "semver": "^7.7.4", - "tinyglobby": "^0.2.15", - "ufo": "^1.6.3", - "unctx": "^2.5.0", - "untyped": "^2.0.0" - }, - "engines": { - "node": ">=18.12.0" - } - }, - "node_modules/@nuxt/devtools-kit/node_modules/ohash": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", - "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", - "license": "MIT" - }, - "node_modules/@nuxt/devtools-kit/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, "node_modules/@nuxt/devtools-wizard": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/@nuxt/devtools-wizard/-/devtools-wizard-3.2.4.tgz", @@ -1452,13 +2093,118 @@ "devtools-wizard": "cli.mjs" } }, - "node_modules/@nuxt/devtools-wizard/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "node_modules/@nuxt/devtools/node_modules/hookable": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-6.1.1.tgz", + "integrity": "sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==", "license": "MIT" }, - "node_modules/@nuxt/devtools/node_modules/@nuxt/kit": { + "node_modules/@nuxt/devtools/node_modules/isexe": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/@nuxt/devtools/node_modules/which": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", + "license": "ISC", + "dependencies": { + "isexe": "^4.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@nuxt/fonts": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@nuxt/fonts/-/fonts-0.14.0.tgz", + "integrity": "sha512-4uXQl9fa5F4ibdgU8zomoOcyMdnwgdem+Pi8JEqeDYI5yPR32Kam6HnuRr47dTb97CstaepAvXPWQUUHMtjsFQ==", + "license": "MIT", + "dependencies": { + "@nuxt/devtools-kit": "^3.2.1", + "@nuxt/kit": "^4.2.2", + "consola": "^3.4.2", + "defu": "^6.1.4", + "fontless": "^0.2.1", + "h3": "^1.15.5", + "magic-regexp": "^0.10.0", + "ofetch": "^1.5.1", + "pathe": "^2.0.3", + "sirv": "^3.0.2", + "tinyglobby": "^0.2.15", + "ufo": "^1.6.3", + "unifont": "^0.7.4", + "unplugin": "^3.0.0", + "unstorage": "^1.17.4" + } + }, + "node_modules/@nuxt/icon": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@nuxt/icon/-/icon-2.2.1.tgz", + "integrity": "sha512-GI840yYGuvHI0BGDQ63d6rAxGzG96jQcWrnaWIQKlyQo/7sx9PjXkSHckXUXyX1MCr9zY6U25Td6OatfY6Hklw==", + "license": "MIT", + "dependencies": { + "@iconify/collections": "^1.0.641", + "@iconify/types": "^2.0.0", + "@iconify/utils": "^3.1.0", + "@iconify/vue": "^5.0.0", + "@nuxt/devtools-kit": "^3.1.1", + "@nuxt/kit": "^4.2.2", + "consola": "^3.4.2", + "local-pkg": "^1.1.2", + "mlly": "^1.8.0", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^3.10.0", + "tinyglobby": "^0.2.15" + } + }, + "node_modules/@nuxt/icon/node_modules/std-env": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "license": "MIT" + }, + "node_modules/@nuxt/image": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@nuxt/image/-/image-2.0.0.tgz", + "integrity": "sha512-otHi6gAoYXKLrp8m27ZjX1PjxOPaltQ4OiUs/BhkW995mF/vXf8SWQTw68fww+Uric0v+XgoVrP9icDi+yT6zw==", + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^4.2.0", + "consola": "^3.4.2", + "defu": "^6.1.4", + "h3": "^1.15.4", + "image-meta": "^0.2.2", + "knitwork": "^1.2.0", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "std-env": "^3.10.0", + "ufo": "^1.6.1" + }, + "engines": { + "node": ">=18.20.6" + }, + "optionalDependencies": { + "ipx": "^3.1.1" + } + }, + "node_modules/@nuxt/image/node_modules/std-env": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "license": "MIT" + }, + "node_modules/@nuxt/kit": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-4.4.2.tgz", "integrity": "sha512-5+IPRNX2CjkBhuWUwz0hBuLqiaJPRoKzQ+SvcdrQDbAyE+VDeFt74VpSFr5/R0ujrK4b+XnSHUJWdS72w6hsog==", @@ -1489,42 +2235,306 @@ "node": ">=18.12.0" } }, - "node_modules/@nuxt/devtools/node_modules/hookable": { + "node_modules/@nuxt/nitro-server": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@nuxt/nitro-server/-/nitro-server-4.4.2.tgz", + "integrity": "sha512-iMTfraWcpA0MuEnnEI8JFK/4DODY4ss1CfB8m3sBVOqW9jpY1Z6hikxzrtN+CadtepW2aOI5d8TdX5hab+Sb4Q==", + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-typescript": "^7.28.6", + "@nuxt/devalue": "^2.0.2", + "@nuxt/kit": "4.4.2", + "@unhead/vue": "^2.1.12", + "@vue/shared": "^3.5.30", + "consola": "^3.4.2", + "defu": "^6.1.4", + "destr": "^2.0.5", + "devalue": "^5.6.3", + "errx": "^0.1.0", + "escape-string-regexp": "^5.0.0", + "exsolve": "^1.0.8", + "h3": "^1.15.6", + "impound": "^1.1.5", + "klona": "^2.0.6", + "mocked-exports": "^0.1.1", + "nitropack": "^2.13.1", + "nypm": "^0.6.5", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "pkg-types": "^2.3.0", + "rou3": "^0.8.1", + "std-env": "^4.0.0", + "ufo": "^1.6.3", + "unctx": "^2.5.0", + "unstorage": "^1.17.4", + "vue": "^3.5.30", + "vue-bundle-renderer": "^2.2.0", + "vue-devtools-stub": "^0.1.0" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@babel/plugin-proposal-decorators": "^7.25.0", + "@rollup/plugin-babel": "^6.0.0 || ^7.0.0", + "nuxt": "^4.4.2" + }, + "peerDependenciesMeta": { + "@babel/plugin-proposal-decorators": { + "optional": true + }, + "@rollup/plugin-babel": { + "optional": true + } + } + }, + "node_modules/@nuxt/schema": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-4.4.2.tgz", + "integrity": "sha512-/q6C7Qhiricgi+PKR7ovBnJlKTL0memCbA1CzRT+itCW/oeYzUfeMdQ35mGntlBoyRPNrMXbzuSUhfDbSCU57w==", + "license": "MIT", + "dependencies": { + "@vue/shared": "^3.5.30", + "defu": "^6.1.4", + "pathe": "^2.0.3", + "pkg-types": "^2.3.0", + "std-env": "^4.0.0" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/@nuxt/telemetry": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@nuxt/telemetry/-/telemetry-2.8.0.tgz", + "integrity": "sha512-zAwXY24KYvpLTmiV+osagd2EHkfs5IF+7oDZYTQoit5r0kPlwaCNlzHp5I/wUAWT4LBw6lG8gZ6bWidAdv/erQ==", + "license": "MIT", + "dependencies": { + "citty": "^0.2.1", + "consola": "^3.4.2", + "ofetch": "^2.0.0-alpha.3", + "rc9": "^3.0.0", + "std-env": "^4.0.0" + }, + "bin": { + "nuxt-telemetry": "bin/nuxt-telemetry.mjs" + }, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "@nuxt/kit": ">=3.0.0" + } + }, + "node_modules/@nuxt/telemetry/node_modules/citty": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.2.2.tgz", + "integrity": "sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==", + "license": "MIT" + }, + "node_modules/@nuxt/telemetry/node_modules/ofetch": { + "version": "2.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-2.0.0-alpha.3.tgz", + "integrity": "sha512-zpYTCs2byOuft65vI3z43Dd6iSdFbOZZLb9/d21aCpx2rGastVU9dOCv0lu4ykc1Ur1anAYjDi3SUvR0vq50JA==", + "license": "MIT" + }, + "node_modules/@nuxt/ui": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@nuxt/ui/-/ui-4.6.1.tgz", + "integrity": "sha512-mBbBTaVDTR6ohOoAJUiV4T2RPXo2hyLewGPTiHjy1arzHPNFnmb/Tkl/2/JipF3Y8cahV4LhVUdkWKsdgI1OXw==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6", + "@iconify/vue": "^5.0.0", + "@internationalized/date": "^3.12.0", + "@internationalized/number": "^3.6.5", + "@nuxt/fonts": "^0.14.0", + "@nuxt/icon": "^2.2.1", + "@nuxt/kit": "^4.4.2", + "@nuxt/schema": "^4.4.2", + "@nuxtjs/color-mode": "^3.5.2", + "@standard-schema/spec": "^1.1.0", + "@tailwindcss/postcss": "^4.2.2", + "@tailwindcss/vite": "^4.2.2", + "@tanstack/vue-table": "^8.21.3", + "@tanstack/vue-virtual": "^3.13.23", + "@tiptap/core": "^3.21.0", + "@tiptap/extension-bubble-menu": "^3.21.0", + "@tiptap/extension-code": "^3.21.0", + "@tiptap/extension-collaboration": "^3.21.0", + "@tiptap/extension-drag-handle": "^3.21.0", + "@tiptap/extension-drag-handle-vue-3": "^3.21.0", + "@tiptap/extension-floating-menu": "^3.21.0", + "@tiptap/extension-horizontal-rule": "^3.21.0", + "@tiptap/extension-image": "^3.21.0", + "@tiptap/extension-mention": "^3.21.0", + "@tiptap/extension-node-range": "^3.21.0", + "@tiptap/extension-placeholder": "^3.21.0", + "@tiptap/markdown": "^3.21.0", + "@tiptap/pm": "^3.21.0", + "@tiptap/starter-kit": "^3.21.0", + "@tiptap/suggestion": "^3.21.0", + "@tiptap/vue-3": "^3.21.0", + "@unhead/vue": "^2.1.12", + "@vueuse/core": "^14.2.1", + "@vueuse/integrations": "^14.2.1", + "@vueuse/shared": "^14.2.1", + "colortranslator": "^5.0.0", + "consola": "^3.4.2", + "defu": "^6.1.4", + "embla-carousel-auto-height": "^8.6.0", + "embla-carousel-auto-scroll": "^8.6.0", + "embla-carousel-autoplay": "^8.6.0", + "embla-carousel-class-names": "^8.6.0", + "embla-carousel-fade": "^8.6.0", + "embla-carousel-vue": "^8.6.0", + "embla-carousel-wheel-gestures": "^8.1.0", + "fuse.js": "^7.1.0", + "hookable": "^6.1.0", + "knitwork": "^1.3.0", + "magic-string": "^0.30.21", + "mlly": "^1.8.2", + "motion-v": "^2.2.0", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "reka-ui": "2.9.3", + "scule": "^1.3.0", + "tailwind-merge": "^3.5.0", + "tailwind-variants": "^3.2.2", + "tailwindcss": "^4.2.2", + "tinyglobby": "^0.2.15", + "ufo": "^1.6.3", + "unplugin": "^3.0.0", + "unplugin-auto-import": "^21.0.0", + "unplugin-vue-components": "^32.0.0", + "vaul-vue": "0.4.1", + "vue-component-type-helpers": "^3.2.6" + }, + "bin": { + "nuxt-ui": "cli/index.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@inertiajs/vue3": "^2.0.7 || ^3.0.0", + "@nuxt/content": "^3.0.0", + "joi": "^18.0.0", + "superstruct": "^2.0.0", + "tailwindcss": "^4.0.0", + "typescript": "^5.6.3 || ^6.0.0", + "valibot": "^1.0.0", + "vue-router": "^4.5.0 || ^5.0.0", + "yup": "^1.7.0", + "zod": "^3.24.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "@inertiajs/vue3": { + "optional": true + }, + "@nuxt/content": { + "optional": true + }, + "joi": { + "optional": true + }, + "superstruct": { + "optional": true + }, + "valibot": { + "optional": true + }, + "vue-router": { + "optional": true + }, + "yup": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/@nuxt/ui/node_modules/hookable": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/hookable/-/hookable-6.1.1.tgz", "integrity": "sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==", "license": "MIT" }, - "node_modules/@nuxt/devtools/node_modules/local-pkg": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz", - "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==", + "node_modules/@nuxt/vite-builder": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@nuxt/vite-builder/-/vite-builder-4.4.2.tgz", + "integrity": "sha512-fJaIwMA8ID6BU5EqmoDvnhq4qYDJeWjdHk4jfqy8D3Nm7CoUW0BvX7Ee92XoO05rtUiClGlk/NQ1Ii8hs3ZIbw==", "license": "MIT", "dependencies": { - "mlly": "^1.7.4", + "@nuxt/kit": "4.4.2", + "@rollup/plugin-replace": "^6.0.3", + "@vitejs/plugin-vue": "^6.0.4", + "@vitejs/plugin-vue-jsx": "^5.1.4", + "autoprefixer": "^10.4.27", + "consola": "^3.4.2", + "cssnano": "^7.1.3", + "defu": "^6.1.4", + "escape-string-regexp": "^5.0.0", + "exsolve": "^1.0.8", + "get-port-please": "^3.2.0", + "jiti": "^2.6.1", + "knitwork": "^1.3.0", + "magic-string": "^0.30.21", + "mlly": "^1.8.1", + "mocked-exports": "^0.1.1", + "nypm": "^0.6.5", + "pathe": "^2.0.3", "pkg-types": "^2.3.0", - "quansync": "^0.2.11" + "postcss": "^8.5.8", + "seroval": "^1.5.1", + "std-env": "^4.0.0", + "ufo": "^1.6.3", + "unenv": "^2.0.0-rc.24", + "vite": "^7.3.1", + "vite-node": "^5.3.0", + "vite-plugin-checker": "^0.12.0", + "vue-bundle-renderer": "^2.2.0" }, "engines": { - "node": ">=14" + "node": "^20.19.0 || >=22.12.0" }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "peerDependencies": { + "@babel/plugin-proposal-decorators": "^7.25.0", + "@babel/plugin-syntax-jsx": "^7.25.0", + "nuxt": "4.4.2", + "rolldown": "^1.0.0-beta.38", + "rollup-plugin-visualizer": "^6.0.0 || ^7.0.1", + "vue": "^3.3.4" + }, + "peerDependenciesMeta": { + "@babel/plugin-proposal-decorators": { + "optional": true + }, + "@babel/plugin-syntax-jsx": { + "optional": true + }, + "rolldown": { + "optional": true + }, + "rollup-plugin-visualizer": { + "optional": true + } } }, - "node_modules/@nuxt/devtools/node_modules/ohash": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", - "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", - "license": "MIT" + "node_modules/@nuxtjs/color-mode": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@nuxtjs/color-mode/-/color-mode-3.5.2.tgz", + "integrity": "sha512-cC6RfgZh3guHBMLLjrBB2Uti5eUoGM9KyauOaYS9ETmxNWBMTvpgjvSiSJp1OFljIXPIqVTJ3xtJpSNZiO3ZaA==", + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.13.2", + "pathe": "^1.1.2", + "pkg-types": "^1.2.1", + "semver": "^7.6.3" + } }, - "node_modules/@nuxt/devtools/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, - "node_modules/@nuxt/kit": { + "node_modules/@nuxtjs/color-mode/node_modules/@nuxt/kit": { "version": "3.21.2", "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.21.2.tgz", "integrity": "sha512-Bd6m6mrDrqpBEbX+g0rc66/ALd1sxlgdx5nfK9MAYO0yKLTOSK7McSYz1KcOYn3LQFCXOWfvXwaqih/b+REI1g==", @@ -1556,268 +2566,101 @@ "node": ">=18.12.0" } }, - "node_modules/@nuxt/kit/node_modules/ohash": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", - "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", - "license": "MIT" - }, - "node_modules/@nuxt/kit/node_modules/pathe": { + "node_modules/@nuxtjs/color-mode/node_modules/@nuxt/kit/node_modules/pathe": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "license": "MIT" }, - "node_modules/@nuxt/nitro-server": { - "version": "3.21.2", - "resolved": "https://registry.npmjs.org/@nuxt/nitro-server/-/nitro-server-3.21.2.tgz", - "integrity": "sha512-tJiyrG+chze1JP1JNDFR2Ib+EhnMzmZXW7AmW7Wbxz2LLTSapLzJCLgHcy4OBcBK22bs06bI/ivn95JNvvxWbQ==", + "node_modules/@nuxtjs/color-mode/node_modules/@nuxt/kit/node_modules/pkg-types": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz", + "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==", "license": "MIT", "dependencies": { - "@nuxt/devalue": "^2.0.2", - "@nuxt/kit": "3.21.2", - "@unhead/vue": "^2.1.12", - "@vue/shared": "^3.5.30", - "consola": "^3.4.2", - "defu": "^6.1.4", - "destr": "^2.0.5", - "devalue": "^5.6.3", - "errx": "^0.1.0", - "escape-string-regexp": "^5.0.0", - "exsolve": "^1.0.8", - "h3": "^1.15.6", - "impound": "^1.1.5", - "klona": "^2.0.6", - "mocked-exports": "^0.1.1", - "nitropack": "^2.13.1", - "ohash": "^2.0.11", - "pathe": "^2.0.3", - "pkg-types": "^2.3.0", - "rou3": "^0.8.1", - "std-env": "^4.0.0", - "ufo": "^1.6.3", - "unctx": "^2.5.0", - "unstorage": "^1.17.4", - "vue": "^3.5.30", - "vue-bundle-renderer": "^2.2.0", - "vue-devtools-stub": "^0.1.0" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "peerDependencies": { - "nuxt": "^3.21.2" + "confbox": "^0.2.2", + "exsolve": "^1.0.7", + "pathe": "^2.0.3" } }, - "node_modules/@nuxt/nitro-server/node_modules/@unhead/vue": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-2.1.13.tgz", - "integrity": "sha512-HYy0shaHRnLNW9r85gppO8IiGz0ONWVV3zGdlT8CQ0tbTwixznJCIiyqV4BSV1aIF1jJIye0pd1p/k6Eab8Z/A==", - "license": "MIT", - "dependencies": { - "hookable": "^6.0.1", - "unhead": "2.1.13" - }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - }, - "peerDependencies": { - "vue": ">=3.5.18" - } - }, - "node_modules/@nuxt/nitro-server/node_modules/hookable": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/hookable/-/hookable-6.1.1.tgz", - "integrity": "sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==", + "node_modules/@nuxtjs/color-mode/node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "license": "MIT" }, - "node_modules/@nuxt/nitro-server/node_modules/ohash": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", - "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", - "license": "MIT" - }, - "node_modules/@nuxt/nitro-server/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, - "node_modules/@nuxt/nitro-server/node_modules/unhead": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/unhead/-/unhead-2.1.13.tgz", - "integrity": "sha512-jO9M1sI6b2h/1KpIu4Jeu+ptumLmUKboRRLxys5pYHFeT+lqTzfNHbYUX9bxVDhC1FBszAGuWcUVlmvIPsah8Q==", + "node_modules/@nuxtjs/color-mode/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", "license": "MIT", "dependencies": { - "hookable": "^6.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" } }, - "node_modules/@nuxt/schema": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-4.4.2.tgz", - "integrity": "sha512-/q6C7Qhiricgi+PKR7ovBnJlKTL0memCbA1CzRT+itCW/oeYzUfeMdQ35mGntlBoyRPNrMXbzuSUhfDbSCU57w==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@vue/shared": "^3.5.30", - "defu": "^6.1.4", - "pathe": "^2.0.3", - "pkg-types": "^2.3.0", - "std-env": "^4.0.0" - }, - "engines": { - "node": "^14.18.0 || >=16.10.0" - } - }, - "node_modules/@nuxt/schema/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/@nuxt/telemetry": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@nuxt/telemetry/-/telemetry-2.8.0.tgz", - "integrity": "sha512-zAwXY24KYvpLTmiV+osagd2EHkfs5IF+7oDZYTQoit5r0kPlwaCNlzHp5I/wUAWT4LBw6lG8gZ6bWidAdv/erQ==", - "license": "MIT", - "dependencies": { - "citty": "^0.2.1", - "consola": "^3.4.2", - "ofetch": "^2.0.0-alpha.3", - "rc9": "^3.0.0", - "std-env": "^4.0.0" - }, - "bin": { - "nuxt-telemetry": "bin/nuxt-telemetry.mjs" - }, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "@nuxt/kit": ">=3.0.0" - } - }, - "node_modules/@nuxt/telemetry/node_modules/ofetch": { - "version": "2.0.0-alpha.3", - "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-2.0.0-alpha.3.tgz", - "integrity": "sha512-zpYTCs2byOuft65vI3z43Dd6iSdFbOZZLb9/d21aCpx2rGastVU9dOCv0lu4ykc1Ur1anAYjDi3SUvR0vq50JA==", + "node_modules/@nuxtjs/color-mode/node_modules/pkg-types/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", "license": "MIT" }, - "node_modules/@nuxt/vite-builder": { - "version": "3.21.2", - "resolved": "https://registry.npmjs.org/@nuxt/vite-builder/-/vite-builder-3.21.2.tgz", - "integrity": "sha512-AwfvmogMzBmX8oS8QPjh9uZiUtnWmOV8w4Ei4DMukVELemkRugDOqWzCzuFneOFQ8khhOOMZ/lRcoTiPryZS5A==", - "license": "MIT", - "dependencies": { - "@nuxt/kit": "3.21.2", - "@rollup/plugin-replace": "^6.0.3", - "@vitejs/plugin-vue": "^6.0.4", - "@vitejs/plugin-vue-jsx": "^5.1.4", - "autoprefixer": "^10.4.27", - "consola": "^3.4.2", - "cssnano": "^7.1.3", - "defu": "^6.1.4", - "escape-string-regexp": "^5.0.0", - "exsolve": "^1.0.8", - "externality": "^1.0.2", - "get-port-please": "^3.2.0", - "jiti": "^2.6.1", - "knitwork": "^1.3.0", - "magic-string": "^0.30.21", - "mlly": "^1.8.1", - "mocked-exports": "^0.1.1", - "nypm": "^0.6.5", - "ohash": "^2.0.11", - "pathe": "^2.0.3", - "perfect-debounce": "^2.1.0", - "pkg-types": "^2.3.0", - "postcss": "^8.5.8", - "seroval": "^1.5.1", - "std-env": "^4.0.0", - "ufo": "^1.6.3", - "unenv": "^2.0.0-rc.24", - "vite": "^7.3.1", - "vite-node": "^5.3.0", - "vite-plugin-checker": "^0.12.0", - "vue-bundle-renderer": "^2.2.0" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "peerDependencies": { - "nuxt": "3.21.2", - "rolldown": "^1.0.0-beta.38", - "rollup-plugin-visualizer": "^6.0.0 || ^7.0.1", - "vue": "^3.3.4" - }, - "peerDependenciesMeta": { - "rolldown": { - "optional": true - }, - "rollup-plugin-visualizer": { - "optional": true - } - } - }, - "node_modules/@nuxt/vite-builder/node_modules/ohash": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", - "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", - "license": "MIT" - }, - "node_modules/@nuxt/vite-builder/node_modules/pathe": { + "node_modules/@nuxtjs/color-mode/node_modules/pkg-types/node_modules/pathe": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "license": "MIT" }, "node_modules/@nuxtjs/mdc": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@nuxtjs/mdc/-/mdc-0.9.5.tgz", - "integrity": "sha512-bTnlY+oiW8QsmrLoiYN+rkSYxl7asELlwYeU9QPSkun5BVx7Yd8RajH8I+0QJZiMZzIHaO3LEgf3lzp5Lg6E0A==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@nuxtjs/mdc/-/mdc-0.21.1.tgz", + "integrity": "sha512-DIeUD7IahWVUSoZExysxH9dX51Io6hcQYgGJODq0cMTGqaoDD32lRfHBJxYUmy+sUCV1+1hfa2ixspgJgEd2GA==", "license": "MIT", "dependencies": { - "@nuxt/kit": "^3.14.1592", - "@shikijs/transformers": "^1.23.1", + "@nuxt/kit": "^4.4.2", + "@shikijs/core": "^4.0.2", + "@shikijs/engine-javascript": "^4.0.2", + "@shikijs/langs": "^4.0.2", + "@shikijs/themes": "^4.0.2", + "@shikijs/transformers": "^4.0.2", "@types/hast": "^3.0.4", "@types/mdast": "^4.0.4", - "@vue/compiler-core": "^3.5.13", - "consola": "^3.2.3", - "debug": "^4.3.7", + "@vue/compiler-core": "^3.5.31", + "consola": "^3.4.2", + "debug": "^4.4.3", "defu": "^6.1.4", - "destr": "^2.0.3", + "destr": "^2.0.5", "detab": "^3.0.2", "github-slugger": "^2.0.0", + "hast-util-format": "^1.1.0", + "hast-util-to-mdast": "^10.1.2", "hast-util-to-string": "^3.0.1", - "mdast-util-to-hast": "^13.2.0", + "mdast-util-to-hast": "^13.2.1", "micromark-util-sanitize-uri": "^2.0.1", - "ohash": "^1.1.4", - "parse5": "^7.2.1", - "pathe": "^1.1.2", - "property-information": "^6.5.0", + "parse5": "^8.0.0", + "pathe": "^2.0.3", + "property-information": "^7.1.0", "rehype-external-links": "^3.0.0", + "rehype-minify-whitespace": "^6.0.2", "rehype-raw": "^7.0.0", + "rehype-remark": "^10.0.1", "rehype-slug": "^6.0.0", "rehype-sort-attribute-values": "^5.0.1", "rehype-sort-attributes": "^5.0.1", - "remark-emoji": "^5.0.1", - "remark-gfm": "^4.0.0", - "remark-mdc": "^3.4.0", + "remark-emoji": "^5.0.2", + "remark-gfm": "^4.0.1", + "remark-mdc": "^3.10.0", "remark-parse": "^11.0.0", - "remark-rehype": "^11.1.1", + "remark-rehype": "^11.1.2", + "remark-stringify": "^11.0.0", "scule": "^1.3.0", - "shiki": "^1.23.1", - "ufo": "^1.5.4", + "shiki": "^4.0.2", + "ufo": "^1.6.3", "unified": "^11.0.5", "unist-builder": "^4.0.0", - "unist-util-visit": "^5.0.0", - "unwasm": "^0.3.9", + "unist-util-visit": "^5.1.0", + "unwasm": "^0.5.3", "vfile": "^6.0.3" } }, @@ -3671,76 +4514,110 @@ ] }, "node_modules/@shikijs/core": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.29.2.tgz", - "integrity": "sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.0.2.tgz", + "integrity": "sha512-hxT0YF4ExEqB8G/qFdtJvpmHXBYJ2lWW7qTHDarVkIudPFE6iCIrqdgWxGn5s+ppkGXI0aEGlibI0PAyzP3zlw==", "license": "MIT", "dependencies": { - "@shikijs/engine-javascript": "1.29.2", - "@shikijs/engine-oniguruma": "1.29.2", - "@shikijs/types": "1.29.2", - "@shikijs/vscode-textmate": "^10.0.1", + "@shikijs/primitive": "4.0.2", + "@shikijs/types": "4.0.2", + "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", - "hast-util-to-html": "^9.0.4" + "hast-util-to-html": "^9.0.5" + }, + "engines": { + "node": ">=20" } }, "node_modules/@shikijs/engine-javascript": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.29.2.tgz", - "integrity": "sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.0.2.tgz", + "integrity": "sha512-7PW0Nm49DcoUIQEXlJhNNBHyoGMjalRETTCcjMqEaMoJRLljy1Bi/EGV3/qLBgLKQejdspiiYuHGQW6dX94Nag==", "license": "MIT", "dependencies": { - "@shikijs/types": "1.29.2", - "@shikijs/vscode-textmate": "^10.0.1", - "oniguruma-to-es": "^2.2.0" + "@shikijs/types": "4.0.2", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.4" + }, + "engines": { + "node": ">=20" } }, "node_modules/@shikijs/engine-oniguruma": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.29.2.tgz", - "integrity": "sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.0.2.tgz", + "integrity": "sha512-UpCB9Y2sUKlS9z8juFSKz7ZtysmeXCgnRF0dlhXBkmQnek7lAToPte8DkxmEYGNTMii72zU/lyXiCB6StuZeJg==", "license": "MIT", "dependencies": { - "@shikijs/types": "1.29.2", - "@shikijs/vscode-textmate": "^10.0.1" + "@shikijs/types": "4.0.2", + "@shikijs/vscode-textmate": "^10.0.2" + }, + "engines": { + "node": ">=20" } }, "node_modules/@shikijs/langs": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-1.29.2.tgz", - "integrity": "sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.0.2.tgz", + "integrity": "sha512-KaXby5dvoeuZzN0rYQiPMjFoUrz4hgwIE+D6Du9owcHcl6/g16/yT5BQxSW5cGt2MZBz6Hl0YuRqf12omRfUUg==", "license": "MIT", "dependencies": { - "@shikijs/types": "1.29.2" + "@shikijs/types": "4.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/primitive": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.0.2.tgz", + "integrity": "sha512-M6UMPrSa3fN5ayeJwFVl9qWofl273wtK1VG8ySDZ1mQBfhCpdd8nEx7nPZ/tk7k+TYcpqBZzj/AnwxT9lO+HJw==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.0.2", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" } }, "node_modules/@shikijs/themes": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-1.29.2.tgz", - "integrity": "sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.0.2.tgz", + "integrity": "sha512-mjCafwt8lJJaVSsQvNVrJumbnnj1RI8jbUKrPKgE6E3OvQKxnuRoBaYC51H4IGHePsGN/QtALglWBU7DoKDFnA==", "license": "MIT", "dependencies": { - "@shikijs/types": "1.29.2" + "@shikijs/types": "4.0.2" + }, + "engines": { + "node": ">=20" } }, "node_modules/@shikijs/transformers": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.29.2.tgz", - "integrity": "sha512-NHQuA+gM7zGuxGWP9/Ub4vpbwrYCrho9nQCLcCPfOe3Yc7LOYwmSuhElI688oiqIXk9dlZwDiyAG9vPBTuPJMA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-4.0.2.tgz", + "integrity": "sha512-1+L0gf9v+SdDXs08vjaLb3mBFa8U7u37cwcBQIv/HCocLwX69Tt6LpUCjtB+UUTvQxI7BnjZKhN/wMjhHBcJGg==", "license": "MIT", "dependencies": { - "@shikijs/core": "1.29.2", - "@shikijs/types": "1.29.2" + "@shikijs/core": "4.0.2", + "@shikijs/types": "4.0.2" + }, + "engines": { + "node": ">=20" } }, "node_modules/@shikijs/types": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.29.2.tgz", - "integrity": "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.0.2.tgz", + "integrity": "sha512-qzbeRooUTPnLE+sHD/Z8DStmaDgnbbc/pMrU203950aRqjX/6AFHeDYT+j00y2lPdz0ywJKx7o/7qnqTivtlXg==", "license": "MIT", "dependencies": { - "@shikijs/vscode-textmate": "^10.0.1", + "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" } }, "node_modules/@shikijs/vscode-textmate": { @@ -3800,6 +4677,936 @@ "integrity": "sha512-BMq1K3DsElxDWawkX6eLg9+CKJrTVGCBAWVuHXVUV2u0s2711qiChLSId6ikYPfxhdYocLNt3wWwSvDiTvFabw==", "license": "CC0-1.0" }, + "node_modules/@sqlite.org/sqlite-wasm": { + "version": "3.50.4-build1", + "resolved": "https://registry.npmjs.org/@sqlite.org/sqlite-wasm/-/sqlite-wasm-3.50.4-build1.tgz", + "integrity": "sha512-Qig2Wso7gPkU1PtXwFzndh+CTRzrIFxVGqv6eCetjU7YqxlHItj+GvQYwYTppCRgAPawtRN/4AJcEgB9xDHGug==", + "license": "Apache-2.0", + "bin": { + "sqlite-wasm": "bin/index.js" + } + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.21.tgz", + "integrity": "sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.4.tgz", + "integrity": "sha512-Ai7+yQPxz3ddrDQzFfBKdHEVBg0w3Zl83jnjuwxnZOsnH9pGn93QHQtpU0p/8rYWxvbFZHneni6p1BSLK4DkGA==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.19.0", + "jiti": "^2.6.1", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.2.4" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.4.tgz", + "integrity": "sha512-9El/iI069DKDSXwTvB9J4BwdO5JhRrOweGaK25taBAvBXyXqJAX+Jqdvs8r8gKpsI/1m0LeJLyQYTf/WLrBT1Q==", + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.2.4", + "@tailwindcss/oxide-darwin-arm64": "4.2.4", + "@tailwindcss/oxide-darwin-x64": "4.2.4", + "@tailwindcss/oxide-freebsd-x64": "4.2.4", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.4", + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.4", + "@tailwindcss/oxide-linux-arm64-musl": "4.2.4", + "@tailwindcss/oxide-linux-x64-gnu": "4.2.4", + "@tailwindcss/oxide-linux-x64-musl": "4.2.4", + "@tailwindcss/oxide-wasm32-wasi": "4.2.4", + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.4", + "@tailwindcss/oxide-win32-x64-msvc": "4.2.4" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.4.tgz", + "integrity": "sha512-e7MOr1SAn9U8KlZzPi1ZXGZHeC5anY36qjNwmZv9pOJ8E4Q6jmD1vyEHkQFmNOIN7twGPEMXRHmitN4zCMN03g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.4.tgz", + "integrity": "sha512-tSC/Kbqpz/5/o/C2sG7QvOxAKqyd10bq+ypZNf+9Fi2TvbVbv1zNpcEptcsU7DPROaSbVgUXmrzKhurFvo5eDg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.4.tgz", + "integrity": "sha512-yPyUXn3yO/ufR6+Kzv0t4fCg2qNr90jxXc5QqBpjlPNd0NqyDXcmQb/6weunH/MEDXW5dhyEi+agTDiqa3WsGg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.4.tgz", + "integrity": "sha512-BoMIB4vMQtZsXdGLVc2z+P9DbETkiopogfWZKbWwM8b/1Vinbs4YcUwo+kM/KeLkX3Ygrf4/PsRndKaYhS8Eiw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.4.tgz", + "integrity": "sha512-7pIHBLTHYRAlS7V22JNuTh33yLH4VElwKtB3bwchK/UaKUPpQ0lPQiOWcbm4V3WP2I6fNIJ23vABIvoy2izdwA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.4.tgz", + "integrity": "sha512-+E4wxJ0ZGOzSH325reXTWB48l42i93kQqMvDyz5gqfRzRZ7faNhnmvlV4EPGJU3QJM/3Ab5jhJ5pCRUsKn6OQw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.4.tgz", + "integrity": "sha512-bBADEGAbo4ASnppIziaQJelekCxdMaxisrk+fB7Thit72IBnALp9K6ffA2G4ruj90G9XRS2VQ6q2bCKbfFV82g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.4.tgz", + "integrity": "sha512-7Mx25E4WTfnht0TVRTyC00j3i0M+EeFe7wguMDTlX4mRxafznw0CA8WJkFjWYH5BlgELd1kSjuU2JiPnNZbJDA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.4.tgz", + "integrity": "sha512-2wwJRF7nyhOR0hhHoChc04xngV3iS+akccHTGtz965FwF0up4b2lOdo6kI1EbDaEXKgvcrFBYcYQQ/rrnWFVfA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.4.tgz", + "integrity": "sha512-FQsqApeor8Fo6gUEklzmaa9994orJZZDBAlQpK2Mq+DslRKFJeD6AjHpBQ0kZFQohVr8o85PPh8eOy86VlSCmw==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.8.1", + "@emnapi/runtime": "^1.8.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.1", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.4.tgz", + "integrity": "sha512-L9BXqxC4ToVgwMFqj3pmZRqyHEztulpUJzCxUtLjobMCzTPsGt1Fa9enKbOpY2iIyVtaHNeNvAK8ERP/64sqGQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.4.tgz", + "integrity": "sha512-ESlKG0EpVJQwRjXDDa9rLvhEAh0mhP1sF7sap9dNZT0yyl9SAG6T7gdP09EH0vIv0UNTlo6jPWyujD6559fZvw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/postcss": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.2.4.tgz", + "integrity": "sha512-wgAVj6nUWAolAu8YFvzT2cTBIElWHkjZwFYovF+xsqKsW2ADxM/X2opxj5NsF/qVccAOjRNe8X2IdPzMsWyHTg==", + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "@tailwindcss/node": "4.2.4", + "@tailwindcss/oxide": "4.2.4", + "postcss": "^8.5.6", + "tailwindcss": "4.2.4" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.2.4.tgz", + "integrity": "sha512-pCvohwOCspk3ZFn6eJzrrX3g4n2JY73H6MmYC87XfGPyTty4YsCjYTMArRZm/zOI8dIt3+EcrLHAFPe5A4bgtw==", + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.2.4", + "@tailwindcss/oxide": "4.2.4", + "tailwindcss": "4.2.4" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7 || ^8" + } + }, + "node_modules/@tanstack/table-core": { + "version": "8.21.3", + "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.21.3.tgz", + "integrity": "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/virtual-core": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.14.0.tgz", + "integrity": "sha512-JLANqGy/D6k4Ujmh8Tr25lGimuOXNiaVyXaCAZS0W+1390sADdGnyUdSWNIfd49gebtIxGMij4IktRVzrdr12Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/vue-table": { + "version": "8.21.3", + "resolved": "https://registry.npmjs.org/@tanstack/vue-table/-/vue-table-8.21.3.tgz", + "integrity": "sha512-rusRyd77c5tDPloPskctMyPLFEQUeBzxdQ+2Eow4F7gDPlPOB1UnnhzfpdvqZ8ZyX2rRNGmqNnQWm87OI2OQPw==", + "license": "MIT", + "dependencies": { + "@tanstack/table-core": "8.21.3" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "vue": ">=3.2" + } + }, + "node_modules/@tanstack/vue-virtual": { + "version": "3.13.24", + "resolved": "https://registry.npmjs.org/@tanstack/vue-virtual/-/vue-virtual-3.13.24.tgz", + "integrity": "sha512-A0k2qF0zFSUStXSZkGXABouXr2Tw2Ztl/cVIYG9qy84uR8W7UNjAcX3DvzBS3YnDcwvLxab8v7dbmYBZ39itDA==", + "license": "MIT", + "dependencies": { + "@tanstack/virtual-core": "3.14.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.0.0" + } + }, + "node_modules/@tiptap/core": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-3.22.4.tgz", + "integrity": "sha512-vGIGm/HpqLg8EAAQXQ+koV+/S828OEpzocfWcPOwo1u2QUVf9dQG47Yy6JJ8zFFaJwfv4dBcOXli+7BrJwsxDQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/pm": "3.22.4" + } + }, + "node_modules/@tiptap/extension-blockquote": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-3.22.4.tgz", + "integrity": "sha512-7/61kNPbGFhMgM//zMknD0pSb69rGdRIkpulXOWS1JBrFHkH6hjZDfrOETNzgKkO+NlmzVl9rXSTv0xauS3lzA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4" + } + }, + "node_modules/@tiptap/extension-bold": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-3.22.4.tgz", + "integrity": "sha512-jIaPKfNOQu2lhpbLDvtwlQqM+mjF+Kk+auHpzYjBnsuwUli1Cl5ZOau7RH+rru/SQvZe1DtpQlANujDywugZAA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4" + } + }, + "node_modules/@tiptap/extension-bubble-menu": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-3.22.4.tgz", + "integrity": "sha512-v4pux5Ql3THAEjaLMY4ldtdy/Xy2qU7PJLBkq8ugLp8qicaKC+tpqxp6sGif4vLIjz7Ap5hurRbTNbXzszyyHA==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4", + "@tiptap/pm": "3.22.4" + } + }, + "node_modules/@tiptap/extension-bullet-list": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-3.22.4.tgz", + "integrity": "sha512-TB+d3fGcTixYjO7coKqTr1mGTJuqr8hjDCPUFgzuvKyJnBhqWITmBzQ/8CLq4rr6mihgGURbD3N+xkQuPAKFiw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/extension-list": "3.22.4" + } + }, + "node_modules/@tiptap/extension-code": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-3.22.4.tgz", + "integrity": "sha512-cnbxmVhAcc7X3G81QUYEmKP0ve2hRmvAiFXBuuv9RUtQlBiRnzmhHoJOMgkX0CsMR7+8kMRpTfeDUYq2xp5s5w==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4" + } + }, + "node_modules/@tiptap/extension-code-block": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-3.22.4.tgz", + "integrity": "sha512-MEurzNXfMET3rhjpoPJYUgMfxTdTqbzT9+ToFrqNGAHocdXVm6m1hhO2frVC7fEtHPnxXKsn0Z3NUbCRkRTLuA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4", + "@tiptap/pm": "3.22.4" + } + }, + "node_modules/@tiptap/extension-collaboration": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration/-/extension-collaboration-3.22.4.tgz", + "integrity": "sha512-4g4DdpvXZyYYCcWs3cO4DwtzhukqI13waYUKfwOcNnQwZ4YOCR83ET/kgqMk/xMAfbymKghbyAZRCc33zD5xvw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4", + "@tiptap/pm": "3.22.4", + "@tiptap/y-tiptap": "^3.0.2", + "yjs": "^13" + } + }, + "node_modules/@tiptap/extension-document": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-3.22.4.tgz", + "integrity": "sha512-XQKla1+703FqQJC48tPDVgt9ucGiFbIEmQdOg5L5o07z9a6/NzuaZAc+1zJ7NxcUZzy+z6wBn1PrVMTiqiSXlw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4" + } + }, + "node_modules/@tiptap/extension-drag-handle": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-drag-handle/-/extension-drag-handle-3.22.4.tgz", + "integrity": "sha512-VCheiqy0OGrcrxOYt7Kp7MXWMZoEaZp517HnRrdrvcCCO0j2hcrT5mbo1mMPzP/WvTUHkXCmqcLv+uIk3Bdo/g==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.6.13" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4", + "@tiptap/extension-collaboration": "3.22.4", + "@tiptap/extension-node-range": "3.22.4", + "@tiptap/pm": "3.22.4", + "@tiptap/y-tiptap": "^3.0.2" + } + }, + "node_modules/@tiptap/extension-drag-handle-vue-3": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-drag-handle-vue-3/-/extension-drag-handle-vue-3-3.22.4.tgz", + "integrity": "sha512-ySedk/4Szd8M3t2yE+5tjfXyTIwanmQ51jIGxro23D383upDxD0c/lrTk+9+KUWJfsUTqOrJDrzogpRF+F30dQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/extension-drag-handle": "3.22.4", + "@tiptap/pm": "3.22.4", + "@tiptap/vue-3": "3.22.4", + "vue": "^3.0.0" + } + }, + "node_modules/@tiptap/extension-dropcursor": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-3.22.4.tgz", + "integrity": "sha512-N9/yMDC35jJp0V/naL0+6gi4gUDUIcPpWEzFdCDWUSYBA8mt41c1kI1ZU7UTKYIBzTClenhYHRc2XKZxxx0+LQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/extensions": "3.22.4" + } + }, + "node_modules/@tiptap/extension-floating-menu": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-3.22.4.tgz", + "integrity": "sha512-DFuyYxgaZPgxum5z1yvJPbfYCvDdO8geXsdyqt0qYYdiat3aGE4ncJhiLRIFDhSHBhaZg5eCgu/YPYAN6jZnrA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@floating-ui/dom": "^1.0.0", + "@tiptap/core": "3.22.4", + "@tiptap/pm": "3.22.4" + } + }, + "node_modules/@tiptap/extension-gapcursor": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-3.22.4.tgz", + "integrity": "sha512-UYBEUj3SFpKINIE7AdzcyeS3xICK+ee+YLBbuqNXyHStYChjJOohzJehqiqhjR16A88KQQ+ZjgyDcItKGygSog==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/extensions": "3.22.4" + } + }, + "node_modules/@tiptap/extension-hard-break": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-3.22.4.tgz", + "integrity": "sha512-xq+a4dE7T6VwApCkh/yU3p30gn3F8g8Arb9CyEZm58/WIJUIGvHSTjDdHmvU16+kiWSBg+wOOsaFHhYjJjxcKA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4" + } + }, + "node_modules/@tiptap/extension-heading": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-3.22.4.tgz", + "integrity": "sha512-TUaj5f0Ir5qy9HKKt2ocnwfXKpZDYeHgbbP9gshKFzdq5PLe1RbIgkjfy6bnoI865cYjmPYWRjcT7XsKyIcb9Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4" + } + }, + "node_modules/@tiptap/extension-horizontal-rule": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-3.22.4.tgz", + "integrity": "sha512-cCI1HekGQwhY/MbgaKQ0R/7HcH5ZM1oFAyI/J72QGLC0XnF403S/OXoHMuBWr1mCu8hNiQWCzeNRJUty0iytNw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4", + "@tiptap/pm": "3.22.4" + } + }, + "node_modules/@tiptap/extension-image": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-3.22.4.tgz", + "integrity": "sha512-ZDc+fLaratTQ4IgnKcJJwfUgUgpcHjbZSBi6UQAILJwkflMy1Zxj8mpbma5P934nLSI+uDnR5ret6ZZLNITKhA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4" + } + }, + "node_modules/@tiptap/extension-italic": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-3.22.4.tgz", + "integrity": "sha512-fVSDx5AYXgDI3v2zZIqb7V8EewthwM2NJ/ZCX+XaxRsqNEpnjVhgHs7UlvDqK1wj2OJ6zmUNjPtVlAFRxwT+HQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4" + } + }, + "node_modules/@tiptap/extension-link": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-3.22.4.tgz", + "integrity": "sha512-uoP3yus02uwGPVzW2QaEPJWVIrUb/r5nKm6c8DiJv9fNSX1+gykZZMg42c6GwRFLZ/vyfWjVCbAE03VMUqafgA==", + "license": "MIT", + "dependencies": { + "linkifyjs": "^4.3.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4", + "@tiptap/pm": "3.22.4" + } + }, + "node_modules/@tiptap/extension-list": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list/-/extension-list-3.22.4.tgz", + "integrity": "sha512-Xe8UFvvHmyp/c/TJsFwlwU9CWACYbBirNsluJ3U1+H8BTu1wqdrT/AXR5uIXeyCl5kiWKgX5q71eHWbYFOrqrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4", + "@tiptap/pm": "3.22.4" + } + }, + "node_modules/@tiptap/extension-list-item": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-3.22.4.tgz", + "integrity": "sha512-H659KXTvggSypIDWSOJBZ37jh9pKjQriDDvYPYvOZCdfij0D0hsDXN/wXoypArneUkoBdgruHfTtMkFOaQlgkw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/extension-list": "3.22.4" + } + }, + "node_modules/@tiptap/extension-list-keymap": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-keymap/-/extension-list-keymap-3.22.4.tgz", + "integrity": "sha512-t/zhker4oIS78AIGYDdFFfZC6zSBlszfD7z/zqFLGCg5PHNNgkZK5hKj6Vyix6D2SapRn/ajnx+8mhbKIUH5eA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/extension-list": "3.22.4" + } + }, + "node_modules/@tiptap/extension-mention": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-mention/-/extension-mention-3.22.4.tgz", + "integrity": "sha512-ZUJ1gCZlH+JGTAT7lVpZjcMAzvIi9hXIyBjOmjL+737NlF+Cfgo+fjHqFQgOSsiO9LEyc3ZMSclmbzII1Jy6IQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4", + "@tiptap/pm": "3.22.4", + "@tiptap/suggestion": "3.22.4" + } + }, + "node_modules/@tiptap/extension-node-range": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-node-range/-/extension-node-range-3.22.4.tgz", + "integrity": "sha512-AJgZPX9DLDjN1nE4WLQBPHRChxrV3JuWHF6OakZIdO23cuBcg233FCQTqHQ/eNS/tD3J+Kw9gBc4ZUDhBes9gg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4", + "@tiptap/pm": "3.22.4" + } + }, + "node_modules/@tiptap/extension-ordered-list": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-3.22.4.tgz", + "integrity": "sha512-w77hPVf7pcHt97vfrybg/l0t5CimCd4y75OJKuHuo3CfgM5xbUP/gaPNMDyLLe7MYole/UHi/XvG3XjgzqTzAw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/extension-list": "3.22.4" + } + }, + "node_modules/@tiptap/extension-paragraph": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-3.22.4.tgz", + "integrity": "sha512-de6dFkIhigiENESY6rNJ3yTVS/337ybfP30dNPudTwGe9oAu9ZCS+04j6QCvXSjhlI3ULiv7wiSHqrP26Gd+Hw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4" + } + }, + "node_modules/@tiptap/extension-placeholder": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-3.22.4.tgz", + "integrity": "sha512-Z3wtWL+KufwkC7CkJge5enAxx4q8C3oOYixme02snY9zfjX3V/1pjAmEfP4wxScgM5GIuTEJ83B9Yz3wRzPA6Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/extensions": "3.22.4" + } + }, + "node_modules/@tiptap/extension-strike": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-3.22.4.tgz", + "integrity": "sha512-aRHWQj42HiailXSC9LkKYM3jWMcSeGwOjbqM4PiuxQZmHVDRFmeHkfJItOdn2cSHaO0vuEVK+TvrWUWsBFi3pg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4" + } + }, + "node_modules/@tiptap/extension-text": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-3.22.4.tgz", + "integrity": "sha512-mM69uUW5cSxIhyEpWXi/YcfyupcJMDLCPEfYi62awH0iOP/LRoCv/nHjJq4Hyj/KxRJbe8HKwIUnqaCUf7m5Pg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4" + } + }, + "node_modules/@tiptap/extension-underline": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-3.22.4.tgz", + "integrity": "sha512-08kGdbhIrA6h10GWXqOkqIveaBj5tmxclK208/nUIAlonI9hPd739vu7fmVtpnmqCnSSNpoRtU4u6Gj5at0ZpA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4" + } + }, + "node_modules/@tiptap/extensions": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/extensions/-/extensions-3.22.4.tgz", + "integrity": "sha512-fOe8VptJvLPs32bNdUYo8SRyljwqKNQVXWW056VoXIc5en/59OdJlJQVeHI0jRRciH3MtrqODi/gfJR0VHNZ8A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4", + "@tiptap/pm": "3.22.4" + } + }, + "node_modules/@tiptap/markdown": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/markdown/-/markdown-3.22.4.tgz", + "integrity": "sha512-gcoLOq5TBntw13QdeWMy7yc2X+b9yTplcFb5kpMQNgNoxlu0+jlX4LiBR+E6lOV+m+AtkprHHltTYyKG23bdOw==", + "license": "MIT", + "dependencies": { + "marked": "^17.0.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4", + "@tiptap/pm": "3.22.4" + } + }, + "node_modules/@tiptap/pm": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-3.22.4.tgz", + "integrity": "sha512-hj8Qka6WcHRllHUdeSjDnq2XaisUo4KsoGJc1WcFpoa1Yd+OeD861zUMnV7DFVGdZRy45Obht0CUYJpXQ4yA4w==", + "license": "MIT", + "dependencies": { + "prosemirror-changeset": "^2.3.0", + "prosemirror-commands": "^1.6.2", + "prosemirror-dropcursor": "^1.8.1", + "prosemirror-gapcursor": "^1.3.2", + "prosemirror-history": "^1.4.1", + "prosemirror-keymap": "^1.2.2", + "prosemirror-model": "^1.24.1", + "prosemirror-schema-list": "^1.5.0", + "prosemirror-state": "^1.4.3", + "prosemirror-tables": "^1.6.4", + "prosemirror-transform": "^1.10.2", + "prosemirror-view": "^1.38.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + } + }, + "node_modules/@tiptap/starter-kit": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-3.22.4.tgz", + "integrity": "sha512-qWjw+vfdin1rzMRpRU4cC5tLTwMJtUpXeQukv+6mOqqvhptuwuZBjUHImVEJaSPoHXS7+1ut+nTnrLyWyEuE5Q==", + "license": "MIT", + "dependencies": { + "@tiptap/core": "^3.22.4", + "@tiptap/extension-blockquote": "^3.22.4", + "@tiptap/extension-bold": "^3.22.4", + "@tiptap/extension-bullet-list": "^3.22.4", + "@tiptap/extension-code": "^3.22.4", + "@tiptap/extension-code-block": "^3.22.4", + "@tiptap/extension-document": "^3.22.4", + "@tiptap/extension-dropcursor": "^3.22.4", + "@tiptap/extension-gapcursor": "^3.22.4", + "@tiptap/extension-hard-break": "^3.22.4", + "@tiptap/extension-heading": "^3.22.4", + "@tiptap/extension-horizontal-rule": "^3.22.4", + "@tiptap/extension-italic": "^3.22.4", + "@tiptap/extension-link": "^3.22.4", + "@tiptap/extension-list": "^3.22.4", + "@tiptap/extension-list-item": "^3.22.4", + "@tiptap/extension-list-keymap": "^3.22.4", + "@tiptap/extension-ordered-list": "^3.22.4", + "@tiptap/extension-paragraph": "^3.22.4", + "@tiptap/extension-strike": "^3.22.4", + "@tiptap/extension-text": "^3.22.4", + "@tiptap/extension-underline": "^3.22.4", + "@tiptap/extensions": "^3.22.4", + "@tiptap/pm": "^3.22.4" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + } + }, + "node_modules/@tiptap/suggestion": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/suggestion/-/suggestion-3.22.4.tgz", + "integrity": "sha512-1buvLZemITTeKmPf2wGFWvvhRFKjdQ+JgMqc67xBraOKeDd8wQi1e2XlhCYAtlVMm5f6j+qlLC/MvwuHI2jHeQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "3.22.4", + "@tiptap/pm": "3.22.4" + } + }, + "node_modules/@tiptap/vue-3": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@tiptap/vue-3/-/vue-3-3.22.4.tgz", + "integrity": "sha512-fcqUWt6LlA5PbcFaDXyV1apWwAs8j80m0kWwoL5+DgKdkGxsB5LgDZU1pTWle0zvR5zmGvJ7LmB6EGAYIBjdmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "optionalDependencies": { + "@tiptap/extension-bubble-menu": "^3.22.4", + "@tiptap/extension-floating-menu": "^3.22.4" + }, + "peerDependencies": { + "@floating-ui/dom": "^1.0.0", + "@tiptap/core": "3.22.4", + "@tiptap/pm": "3.22.4", + "vue": "^3.0.0" + } + }, + "node_modules/@tiptap/y-tiptap": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/y-tiptap/-/y-tiptap-3.0.3.tgz", + "integrity": "sha512-8UvuV4lTisCE9cMTc/X8kRyTn9edUO7Kball0I6wb17VwZSjNDfh/YKtP4O5vcPawEzFHQIvZGq/k1h37kAf0w==", + "license": "MIT", + "peer": true, + "dependencies": { + "lib0": "^0.2.100" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8.0.0" + }, + "peerDependencies": { + "prosemirror-model": "^1.7.1", + "prosemirror-state": "^1.2.3", + "prosemirror-view": "^1.9.10", + "y-protocols": "^1.0.1", + "yjs": "^13.5.38" + } + }, "node_modules/@tybys/wasm-util": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", @@ -3834,6 +5641,12 @@ "@types/unist": "*" } }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" + }, "node_modules/@types/mdast": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", @@ -3849,6 +5662,12 @@ "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", "license": "MIT" }, + "node_modules/@types/parse-path": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/parse-path/-/parse-path-7.0.3.tgz", + "integrity": "sha512-LriObC2+KYZD3FzCrgWGv/qufdUy4eXrxcLgQMfYXgPbLIecKIsVBaQgUPmxSSLcjmYbDTQbMgr6qr6l/eb7Bg==", + "license": "MIT" + }, "node_modules/@types/resolve": { "version": "1.20.2", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", @@ -3862,9 +5681,9 @@ "license": "MIT" }, "node_modules/@types/web-bluetooth": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", - "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "version": "0.0.21", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", "license": "MIT" }, "node_modules/@ungap/structured-clone": { @@ -3873,76 +5692,28 @@ "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", "license": "ISC" }, - "node_modules/@unhead/dom": { - "version": "1.11.20", - "resolved": "https://registry.npmjs.org/@unhead/dom/-/dom-1.11.20.tgz", - "integrity": "sha512-jgfGYdOH+xHJF/j8gudjsYu3oIjFyXhCWcgKaw3vQnT616gSqyqnGQGOItL+BQtQZACKNISwIfx5PuOtztMKLA==", - "license": "MIT", - "dependencies": { - "@unhead/schema": "1.11.20", - "@unhead/shared": "1.11.20" - }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - } - }, - "node_modules/@unhead/schema": { - "version": "1.11.20", - "resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.11.20.tgz", - "integrity": "sha512-0zWykKAaJdm+/Y7yi/Yds20PrUK7XabLe9c3IRcjnwYmSWY6z0Cr19VIs3ozCj8P+GhR+/TI2mwtGlueCEYouA==", - "license": "MIT", - "dependencies": { - "hookable": "^5.5.3", - "zhead": "^2.2.4" - }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - } - }, - "node_modules/@unhead/shared": { - "version": "1.11.20", - "resolved": "https://registry.npmjs.org/@unhead/shared/-/shared-1.11.20.tgz", - "integrity": "sha512-1MOrBkGgkUXS+sOKz/DBh4U20DNoITlJwpmvSInxEUNhghSNb56S0RnaHRq0iHkhrO/cDgz2zvfdlRpoPLGI3w==", - "license": "MIT", - "dependencies": { - "@unhead/schema": "1.11.20", - "packrup": "^0.1.2" - }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - } - }, - "node_modules/@unhead/ssr": { - "version": "1.11.20", - "resolved": "https://registry.npmjs.org/@unhead/ssr/-/ssr-1.11.20.tgz", - "integrity": "sha512-j6ehzmdWGAvv0TEZyLE3WBnG1ULnsbKQcLqBDh3fvKS6b3xutcVZB7mjvrVE7ckSZt6WwOtG0ED3NJDS7IjzBA==", - "license": "MIT", - "dependencies": { - "@unhead/schema": "1.11.20", - "@unhead/shared": "1.11.20" - }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - } - }, "node_modules/@unhead/vue": { - "version": "1.11.20", - "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-1.11.20.tgz", - "integrity": "sha512-sqQaLbwqY9TvLEGeq8Fd7+F2TIuV3nZ5ihVISHjWpAM3y7DwNWRU7NmT9+yYT+2/jw1Vjwdkv5/HvDnvCLrgmg==", + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-2.1.13.tgz", + "integrity": "sha512-HYy0shaHRnLNW9r85gppO8IiGz0ONWVV3zGdlT8CQ0tbTwixznJCIiyqV4BSV1aIF1jJIye0pd1p/k6Eab8Z/A==", "license": "MIT", "dependencies": { - "@unhead/schema": "1.11.20", - "@unhead/shared": "1.11.20", - "hookable": "^5.5.3", - "unhead": "1.11.20" + "hookable": "^6.0.1", + "unhead": "2.1.13" }, "funding": { "url": "https://github.com/sponsors/harlan-zw" }, "peerDependencies": { - "vue": ">=2.7 || >=3" + "vue": ">=3.5.18" } }, + "node_modules/@unhead/vue/node_modules/hookable": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-6.1.1.tgz", + "integrity": "sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==", + "license": "MIT" + }, "node_modules/@vercel/nft": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-1.5.0.tgz", @@ -4020,6 +5791,17 @@ "integrity": "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==", "license": "MIT" }, + "node_modules/@volar/typescript": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.28.tgz", + "integrity": "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==", + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, "node_modules/@vue-macros/common": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@vue-macros/common/-/common-3.1.2.tgz", @@ -4047,23 +5829,6 @@ } } }, - "node_modules/@vue-macros/common/node_modules/local-pkg": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz", - "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==", - "license": "MIT", - "dependencies": { - "mlly": "^1.7.4", - "pkg-types": "^2.3.0", - "quansync": "^0.2.11" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, "node_modules/@vue/babel-helper-vue-transform-on": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-2.0.1.tgz", @@ -4165,10 +5930,13 @@ } }, "node_modules/@vue/devtools-api": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", - "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", - "license": "MIT" + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-8.1.1.tgz", + "integrity": "sha512-bsDMJ07b3GN1puVwJb/fyFnj/U2imyswK5UQVLZwVl7O05jDrt6BHxeG5XffmOOdasOj/bOmIjxJvGPxU7pcqw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^8.1.1" + } }, "node_modules/@vue/devtools-core": { "version": "8.1.1", @@ -4276,153 +6044,115 @@ "license": "MIT" }, "node_modules/@vueuse/core": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-11.3.0.tgz", - "integrity": "sha512-7OC4Rl1f9G8IT6rUfi9JrKiXy4bfmHhZ5x2Ceojy0jnd3mHNEvV4JaRygH362ror6/NZ+Nl+n13LPzGiPN8cKA==", + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-14.2.1.tgz", + "integrity": "sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ==", "license": "MIT", "dependencies": { - "@types/web-bluetooth": "^0.0.20", - "@vueuse/metadata": "11.3.0", - "@vueuse/shared": "11.3.0", - "vue-demi": ">=0.14.10" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/core/node_modules/vue-demi": { - "version": "0.14.10", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", - "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "14.2.1", + "@vueuse/shared": "14.2.1" }, "funding": { "url": "https://github.com/sponsors/antfu" }, "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" + "vue": "^3.5.0" + } + }, + "node_modules/@vueuse/integrations": { + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-14.2.1.tgz", + "integrity": "sha512-2LIUpBi/67PoXJGqSDQUF0pgQWpNHh7beiA+KG2AbybcNm+pTGWT6oPGlBgUoDWmYwfeQqM/uzOHqcILpKL7nA==", + "license": "MIT", + "dependencies": { + "@vueuse/core": "14.2.1", + "@vueuse/shared": "14.2.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "async-validator": "^4", + "axios": "^1", + "change-case": "^5", + "drauu": "^0.4", + "focus-trap": "^7 || ^8", + "fuse.js": "^7", + "idb-keyval": "^6", + "jwt-decode": "^4", + "nprogress": "^0.2", + "qrcode": "^1.5", + "sortablejs": "^1", + "universal-cookie": "^7 || ^8", + "vue": "^3.5.0" }, "peerDependenciesMeta": { - "@vue/composition-api": { + "async-validator": { + "optional": true + }, + "axios": { + "optional": true + }, + "change-case": { + "optional": true + }, + "drauu": { + "optional": true + }, + "focus-trap": { + "optional": true + }, + "fuse.js": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "jwt-decode": { + "optional": true + }, + "nprogress": { + "optional": true + }, + "qrcode": { + "optional": true + }, + "sortablejs": { + "optional": true + }, + "universal-cookie": { "optional": true } } }, - "node_modules/@vueuse/head": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@vueuse/head/-/head-2.0.0.tgz", - "integrity": "sha512-ykdOxTGs95xjD4WXE4na/umxZea2Itl0GWBILas+O4oqS7eXIods38INvk3XkJKjqMdWPcpCyLX/DioLQxU1KA==", - "license": "MIT", - "dependencies": { - "@unhead/dom": "^1.7.0", - "@unhead/schema": "^1.7.0", - "@unhead/ssr": "^1.7.0", - "@unhead/vue": "^1.7.0" - }, - "peerDependencies": { - "vue": ">=2.7 || >=3" - } - }, "node_modules/@vueuse/metadata": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-11.3.0.tgz", - "integrity": "sha512-pwDnDspTqtTo2HwfLw4Rp6yywuuBdYnPYDq+mO38ZYKGebCUQC/nVj/PXSiK9HX5otxLz8Fn7ECPbjiRz2CC3g==", + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-14.2.1.tgz", + "integrity": "sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@vueuse/nuxt": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@vueuse/nuxt/-/nuxt-11.3.0.tgz", - "integrity": "sha512-FxtRTgFmsoASamR3lOftv/r11o1BojF9zir8obbTnKamVZdlQ5rgJ0hHgVbrgA6dlMuEx/PzwqAmiKNFdU4oCQ==", - "license": "MIT", - "dependencies": { - "@nuxt/kit": "^3.14.1592", - "@vueuse/core": "11.3.0", - "@vueuse/metadata": "11.3.0", - "local-pkg": "^0.5.1", - "vue-demi": ">=0.14.10" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "nuxt": "^3.0.0" - } - }, - "node_modules/@vueuse/nuxt/node_modules/vue-demi": { - "version": "0.14.10", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", - "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, "node_modules/@vueuse/shared": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-11.3.0.tgz", - "integrity": "sha512-P8gSSWQeucH5821ek2mn/ciCk+MS/zoRKqdQIM3bHq6p7GXDAJLmnRRKmF5F65sAVJIfzQlwR3aDzwCn10s8hA==", + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-14.2.1.tgz", + "integrity": "sha512-shTJncjV9JTI4oVNyF1FQonetYAiTBd+Qj7cY89SWbXSkx7gyhrgtEdF2ZAVWS1S3SHlaROO6F2IesJxQEkZBw==", "license": "MIT", - "dependencies": { - "vue-demi": ">=0.14.10" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/shared/node_modules/vue-demi": { - "version": "0.14.10", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", - "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, "funding": { "url": "https://github.com/sponsors/antfu" }, "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } + "vue": "^3.5.0" } }, + "node_modules/@webcontainer/env": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@webcontainer/env/-/env-1.1.1.tgz", + "integrity": "sha512-6aN99yL695Hi9SuIk1oC88l9o0gmxL1nGWWQ/kNy81HigJ0FoaoTXpytCj6ItzgyCEwA9kF1wixsTuv5cjsgng==", + "license": "MIT" + }, "node_modules/abbrev": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", @@ -4659,6 +6389,24 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/ast-kit": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-2.2.0.tgz", @@ -4675,12 +6423,6 @@ "url": "https://github.com/sponsors/sxzz" } }, - "node_modules/ast-kit/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, "node_modules/ast-walker-scope": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/ast-walker-scope/-/ast-walker-scope-0.8.3.tgz", @@ -4703,6 +6445,12 @@ "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "license": "MIT" }, + "node_modules/async-lock": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.4.1.tgz", + "integrity": "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==", + "license": "MIT" + }, "node_modules/async-sema": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz", @@ -4745,6 +6493,21 @@ "postcss": "^8.1.0" } }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/b4a": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.0.tgz", @@ -4901,6 +6664,20 @@ "node": ">=6.0.0" } }, + "node_modules/better-sqlite3": { + "version": "12.9.0", + "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-12.9.0.tgz", + "integrity": "sha512-wqUv4Gm3toFpHDQmaKD4QhZm3g1DjUBI0yzS4UBl6lElUmXFYdTQmmEDpAFa5o8FiFiymURypEnfVHzILKaxqQ==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "bindings": "^1.5.0", + "prebuild-install": "^7.1.1" + }, + "engines": { + "node": "20.x || 22.x || 23.x || 24.x || 25.x" + } + }, "node_modules/bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", @@ -4919,6 +6696,55 @@ "url": "https://github.com/sponsors/antfu" } }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -5064,18 +6890,6 @@ } } }, - "node_modules/c12/node_modules/ohash": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", - "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", - "license": "MIT" - }, - "node_modules/c12/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, "node_modules/cac": { "version": "6.7.14", "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", @@ -5085,6 +6899,53 @@ "node": ">=8" } }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -5201,10 +7062,19 @@ } }, "node_modules/citty": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/citty/-/citty-0.2.2.tgz", - "integrity": "sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==", - "license": "MIT" + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "license": "MIT", + "dependencies": { + "consola": "^3.2.3" + } + }, + "node_modules/clean-git-ref": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-2.0.1.tgz", + "integrity": "sha512-bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw==", + "license": "Apache-2.0" }, "node_modules/cliui": { "version": "9.0.1", @@ -5247,6 +7117,12 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, + "node_modules/colortranslator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/colortranslator/-/colortranslator-5.0.0.tgz", + "integrity": "sha512-Z3UPUKasUVDFCDYAjP2fmlVRf1jFHJv1izAmPjiOa0OCIw1W7iC8PZ2GsoDa8uZv+mKyWopxxStT9q05+27h7w==", + "license": "Apache-2.0" + }, "node_modules/comma-separated-tokens": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", @@ -5258,12 +7134,14 @@ } }, "node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", "license": "MIT", + "optional": true, + "peer": true, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/commondir": { @@ -5397,39 +7275,13 @@ "node": ">= 8" } }, - "node_modules/cross-spawn/node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/crossws": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.4.5.tgz", - "integrity": "sha512-wUR89x/Rw7/8t+vn0CmGDYM9TD6VtARGb0LD5jq2wjtMy1vCP4M+sm6N6TigWeTYvnA8MoW29NqqXD0ep0rfBA==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", "license": "MIT", - "peerDependencies": { - "srvx": ">=0.11.5" - }, - "peerDependenciesMeta": { - "srvx": { - "optional": true - } + "dependencies": { + "uncrypto": "^0.1.3" } }, "node_modules/css-declaration-sorter": { @@ -5497,6 +7349,13 @@ "node": ">=4" } }, + "node_modules/cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", + "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==", + "license": "MIT", + "optional": true + }, "node_modules/cssnano": { "version": "7.1.7", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.1.7.tgz", @@ -5676,6 +7535,30 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", @@ -5713,6 +7596,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/define-lazy-prop": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", @@ -5811,6 +7711,12 @@ "node": ">=0.3.1" } }, + "node_modules/diff3": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/diff3/-/diff3-0.0.3.tgz", + "integrity": "sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g==", + "license": "MIT" + }, "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -5905,6 +7811,20 @@ "url": "https://dotenvx.com" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -5929,18 +7849,100 @@ "integrity": "sha512-YHnQ3MXI08icvL9ZKnEBy05F2EQ8ob01UaMOuMbM8l+4UcAq6MPPbBTJBbsBUg3H8JeZNt+O4fjsoWth3p6IFg==", "license": "ISC" }, + "node_modules/embla-carousel": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.6.0.tgz", + "integrity": "sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==", + "license": "MIT" + }, + "node_modules/embla-carousel-auto-height": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/embla-carousel-auto-height/-/embla-carousel-auto-height-8.6.0.tgz", + "integrity": "sha512-/HrJQOEM6aol/oF33gd2QlINcXy3e19fJWvHDuHWp2bpyTa+2dm9tVVJak30m2Qy6QyQ6Fc8DkImtv7pxWOJUQ==", + "license": "MIT", + "peerDependencies": { + "embla-carousel": "8.6.0" + } + }, + "node_modules/embla-carousel-auto-scroll": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/embla-carousel-auto-scroll/-/embla-carousel-auto-scroll-8.6.0.tgz", + "integrity": "sha512-WT9fWhNXFpbQ6kP+aS07oF5IHYLZ1Dx4DkwgCY8Hv2ZyYd2KMCPfMV1q/cA3wFGuLO7GMgKiySLX90/pQkcOdQ==", + "license": "MIT", + "peerDependencies": { + "embla-carousel": "8.6.0" + } + }, + "node_modules/embla-carousel-autoplay": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/embla-carousel-autoplay/-/embla-carousel-autoplay-8.6.0.tgz", + "integrity": "sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA==", + "license": "MIT", + "peerDependencies": { + "embla-carousel": "8.6.0" + } + }, + "node_modules/embla-carousel-class-names": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/embla-carousel-class-names/-/embla-carousel-class-names-8.6.0.tgz", + "integrity": "sha512-l1hm1+7GxQ+zwdU2sea/LhD946on7XO2qk3Xq2XWSwBaWfdgchXdK567yzLtYSHn4sWYdiX+x4nnaj+saKnJkw==", + "license": "MIT", + "peerDependencies": { + "embla-carousel": "8.6.0" + } + }, + "node_modules/embla-carousel-fade": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/embla-carousel-fade/-/embla-carousel-fade-8.6.0.tgz", + "integrity": "sha512-qaYsx5mwCz72ZrjlsXgs1nKejSrW+UhkbOMwLgfRT7w2LtdEB03nPRI06GHuHv5ac2USvbEiX2/nAHctcDwvpg==", + "license": "MIT", + "peerDependencies": { + "embla-carousel": "8.6.0" + } + }, + "node_modules/embla-carousel-reactive-utils": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/embla-carousel-reactive-utils/-/embla-carousel-reactive-utils-8.6.0.tgz", + "integrity": "sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==", + "license": "MIT", + "peerDependencies": { + "embla-carousel": "8.6.0" + } + }, + "node_modules/embla-carousel-vue": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/embla-carousel-vue/-/embla-carousel-vue-8.6.0.tgz", + "integrity": "sha512-v8UO5UsyLocZnu/LbfQA7Dn2QHuZKurJY93VUmZYP//QRWoCWOsionmvLLAlibkET3pGPs7++03VhJKbWD7vhQ==", + "license": "MIT", + "dependencies": { + "embla-carousel": "8.6.0", + "embla-carousel-reactive-utils": "8.6.0" + }, + "peerDependencies": { + "vue": "^3.2.37" + } + }, + "node_modules/embla-carousel-wheel-gestures": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/embla-carousel-wheel-gestures/-/embla-carousel-wheel-gestures-8.1.0.tgz", + "integrity": "sha512-J68jkYrxbWDmXOm2n2YHl+uMEXzkGSKjWmjaEgL9xVvPb3HqVmg6rJSKfI3sqIDVvm7mkeTy87wtG/5263XqHQ==", + "license": "MIT", + "dependencies": { + "wheel-gestures": "^2.2.5" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "embla-carousel": "^8.0.0 || ~8.0.0-rc03" + } + }, "node_modules/emoji-regex": { "version": "10.6.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", "license": "MIT" }, - "node_modules/emoji-regex-xs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", - "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==", - "license": "MIT" - }, "node_modules/emojilib": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", @@ -5966,6 +7968,15 @@ "node": ">= 0.8" } }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/engine.io-client": { "version": "6.6.4", "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.4.tgz", @@ -6049,6 +8060,15 @@ "integrity": "sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q==", "license": "MIT" }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-errors": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", @@ -6064,6 +8084,18 @@ "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", "license": "MIT" }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/esbuild": { "version": "0.27.7", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", @@ -6197,6 +8229,15 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, "node_modules/exsolve": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz", @@ -6209,18 +8250,6 @@ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "license": "MIT" }, - "node_modules/externality": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/externality/-/externality-1.0.2.tgz", - "integrity": "sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==", - "license": "MIT", - "dependencies": { - "enhanced-resolve": "^5.14.1", - "mlly": "^1.3.0", - "pathe": "^1.1.1", - "ufo": "^1.1.2" - } - }, "node_modules/fast-fifo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", @@ -6335,6 +8364,98 @@ "node": ">=18" } }, + "node_modules/fontaine": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/fontaine/-/fontaine-0.8.0.tgz", + "integrity": "sha512-eek1GbzOdWIj9FyQH/emqW1aEdfC3lYRCHepzwlFCm5T77fBSRSyNRKE6/antF1/B1M+SfJXVRQTY9GAr7lnDg==", + "license": "MIT", + "dependencies": { + "@capsizecss/unpack": "^4.0.0", + "css-tree": "^3.1.0", + "magic-regexp": "^0.10.0", + "magic-string": "^0.30.21", + "pathe": "^2.0.3", + "ufo": "^1.6.1", + "unplugin": "^2.3.10" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/fontaine/node_modules/unplugin": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.11.tgz", + "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "acorn": "^8.15.0", + "picomatch": "^4.0.3", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/fontkitten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.3.tgz", + "integrity": "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/fontless": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fontless/-/fontless-0.2.1.tgz", + "integrity": "sha512-mUWZ8w91/mw2KEcZ6gHNoNNmsAq9Wiw2IypIux5lM03nhXm+WSloXGUNuRETNTLqZexMgpt7Aj/v63qqrsWraQ==", + "license": "MIT", + "dependencies": { + "consola": "^3.4.2", + "css-tree": "^3.1.0", + "defu": "^6.1.4", + "esbuild": "^0.27.0", + "fontaine": "0.8.0", + "jiti": "^2.6.1", + "lightningcss": "^1.30.2", + "magic-string": "^0.30.21", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "ufo": "^1.6.1", + "unifont": "^0.7.4", + "unstorage": "^1.17.1" + }, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "vite": "*" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -6364,6 +8485,33 @@ "url": "https://github.com/sponsors/rawify" } }, + "node_modules/framer-motion": { + "version": "12.38.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.38.0.tgz", + "integrity": "sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==", + "license": "MIT", + "dependencies": { + "motion-dom": "^12.38.0", + "motion-utils": "^12.36.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, "node_modules/fresh": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", @@ -6373,6 +8521,12 @@ "node": ">= 0.8" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -6445,12 +8599,49 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-port-please": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.2.0.tgz", "integrity": "sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==", "license": "MIT" }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", @@ -6472,6 +8663,31 @@ "giget": "dist/cli.mjs" } }, + "node_modules/git-up": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-8.1.1.tgz", + "integrity": "sha512-FDenSF3fVqBYSaJoYy1KSc2wosx0gCvKP+c+PRBht7cAaiCeQlBtfBDX9vgnNOHmdePlSFITVcn4pFfcgNvx3g==", + "license": "MIT", + "dependencies": { + "is-ssh": "^1.4.0", + "parse-url": "^9.2.0" + } + }, + "node_modules/git-url-parse": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-16.1.0.tgz", + "integrity": "sha512-cPLz4HuK86wClEW7iDdeAKcCVlWXmrLpb2L+G9goW0Z1dtpNS6BXXSOckUTlJT/LDQViE1QZKstNORzHsLnobw==", + "license": "MIT", + "dependencies": { + "git-up": "^8.1.0" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT" + }, "node_modules/github-slugger": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", @@ -6542,6 +8758,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -6580,13 +8808,43 @@ "uncrypto": "^0.1.3" } }, - "node_modules/h3/node_modules/crossws": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", - "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "license": "MIT", "dependencies": { - "uncrypto": "^0.1.3" + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/hasown": { @@ -6601,6 +8859,39 @@ "node": ">= 0.4" } }, + "node_modules/hast-util-embedded": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", + "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-format": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hast-util-format/-/hast-util-format-1.1.0.tgz", + "integrity": "sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-minify-whitespace": "^1.0.0", + "hast-util-phrasing": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "html-whitespace-sensitive-tag-names": "^3.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-from-parse5": { "version": "8.0.3", "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", @@ -6621,14 +8912,17 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-from-parse5/node_modules/property-information": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", - "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "node_modules/hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, "node_modules/hast-util-heading-rank": { @@ -6644,6 +8938,19 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-is-body-ok-link": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz", + "integrity": "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-is-element": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", @@ -6657,6 +8964,23 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-minify-whitespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz", + "integrity": "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-parse-selector": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", @@ -6670,6 +8994,23 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-is-body-ok-link": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-raw": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", @@ -6695,6 +9036,30 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-raw/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/hast-util-raw/node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/hast-util-to-html": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", @@ -6718,14 +9083,30 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-to-html/node_modules/property-information": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", - "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "node_modules/hast-util-to-mdast": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-10.1.2.tgz", + "integrity": "sha512-FiCRI7NmOvM4y+f5w32jPRzcxDIz+PUqDwEqn1A+1q2cdp3B8Gx7aVrXORdOKjMNDQsD1ogOr896+0jJHW1EFQ==", "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-phrasing": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "hast-util-to-text": "^4.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "mdast-util-to-string": "^4.0.0", + "rehype-minify-whitespace": "^6.0.0", + "trim-trailing-lines": "^2.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, "node_modules/hast-util-to-parse5": { @@ -6747,16 +9128,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-to-parse5/node_modules/property-information": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", - "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/hast-util-to-string": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", @@ -6770,6 +9141,22 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-whitespace": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", @@ -6800,15 +9187,11 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/hastscript/node_modules/property-information": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", - "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "node_modules/hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==", + "license": "MIT" }, "node_modules/hookable": { "version": "5.5.3", @@ -6826,6 +9209,16 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/html-whitespace-sensitive-tag-names": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-whitespace-sensitive-tag-names/-/html-whitespace-sensitive-tag-names-3.0.1.tgz", + "integrity": "sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/http-errors": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", @@ -6932,12 +9325,6 @@ "unplugin-utils": "^0.3.1" } }, - "node_modules/impound/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -6977,6 +9364,34 @@ "url": "https://opencollective.com/ioredis" } }, + "node_modules/ipx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/ipx/-/ipx-3.1.1.tgz", + "integrity": "sha512-7Xnt54Dco7uYkfdAw0r2vCly3z0rSaVhEXMzPvl3FndsTVm5p26j+PO+gyinkYmcsEUvX2Rh7OGK7KzYWRu6BA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@fastify/accept-negotiator": "^2.0.1", + "citty": "^0.1.6", + "consola": "^3.4.2", + "defu": "^6.1.4", + "destr": "^2.0.5", + "etag": "^1.8.1", + "h3": "^1.15.3", + "image-meta": "^0.2.1", + "listhen": "^1.9.0", + "ofetch": "^1.4.1", + "pathe": "^2.0.3", + "sharp": "^0.34.3", + "svgo": "^4.0.0", + "ufo": "^1.6.1", + "unstorage": "^1.16.1", + "xss": "^1.0.15" + }, + "bin": { + "ipx": "bin/ipx.mjs" + } + }, "node_modules/iron-webcrypto": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", @@ -7022,6 +9437,18 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-core-module": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", @@ -7196,6 +9623,15 @@ "@types/estree": "*" } }, + "node_modules/is-ssh": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.1.tgz", + "integrity": "sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg==", + "license": "MIT", + "dependencies": { + "protocols": "^2.0.1" + } + }, "node_modules/is-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", @@ -7208,6 +9644,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-wsl": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", @@ -7224,18 +9675,60 @@ } }, "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "license": "MIT" }, "node_modules/isexe": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", - "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", - "license": "BlueOak-1.0.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/isomorphic-git": { + "version": "1.37.5", + "resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.37.5.tgz", + "integrity": "sha512-wek54c5uFvd3WsxewLWt6h0GXKWQh0P8rRXns9bN1rHNjcgCb3+0lmyAsP594NeTtQFeCJQVS9b0kjbkD1l5qg==", + "license": "MIT", + "dependencies": { + "async-lock": "^1.4.1", + "clean-git-ref": "^2.0.1", + "crc-32": "^1.2.0", + "diff3": "0.0.3", + "ignore": "^5.1.4", + "minimisted": "^2.0.0", + "pako": "^1.0.10", + "pify": "^4.0.1", + "readable-stream": "^4.0.0", + "sha.js": "^2.4.12", + "simple-get": "^4.0.1" + }, + "bin": { + "isogit": "cli.cjs" + }, "engines": { - "node": ">=20" + "node": ">=14.17" + } + }, + "node_modules/isomorphic-git/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/isomorphic.js": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/isomorphic.js/-/isomorphic.js-0.2.5.tgz", + "integrity": "sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==", + "license": "MIT", + "peer": true, + "funding": { + "type": "GitHub Sponsors ❤", + "url": "https://github.com/sponsors/dmonad" } }, "node_modules/jackspeak": { @@ -7268,6 +9761,18 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "license": "MIT" }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -7280,6 +9785,16 @@ "node": ">=6" } }, + "node_modules/json-schema-to-typescript-lite": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/json-schema-to-typescript-lite/-/json-schema-to-typescript-lite-15.0.0.tgz", + "integrity": "sha512-5mMORSQm9oTLyjM4mWnyNBi2T042Fhg1/0gCIB6X8U/LVpM2A+Nmj2yEyArqVouDmFThDxpEXcnTgSrjkGJRFA==", + "license": "MIT", + "dependencies": { + "@apidevtools/json-schema-ref-parser": "^14.1.1", + "@types/json-schema": "^7.0.15" + } + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -7338,6 +9853,12 @@ "node": ">= 0.6.3" } }, + "node_modules/lazystream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, "node_modules/lazystream/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", @@ -7368,6 +9889,277 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/lib0": { + "version": "0.2.117", + "resolved": "https://registry.npmjs.org/lib0/-/lib0-0.2.117.tgz", + "integrity": "sha512-DeXj9X5xDCjgKLU/7RR+/HQEVzuuEUiwldwOGsHK/sfAfELGWEyTcf0x+uOvCvK3O2zPmZePXWL85vtia6GyZw==", + "license": "MIT", + "peer": true, + "dependencies": { + "isomorphic.js": "^0.2.4" + }, + "bin": { + "0ecdsa-generate-keypair": "bin/0ecdsa-generate-keypair.js", + "0gentesthtml": "bin/gentesthtml.js", + "0serve": "bin/0serve.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "GitHub Sponsors ❤", + "url": "https://github.com/sponsors/dmonad" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/lilconfig": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", @@ -7380,6 +10172,12 @@ "url": "https://github.com/sponsors/antonk52" } }, + "node_modules/linkifyjs": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.3.2.tgz", + "integrity": "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA==", + "license": "MIT" + }, "node_modules/listhen": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.9.1.tgz", @@ -7410,20 +10208,21 @@ "listhen": "bin/listhen.mjs" } }, - "node_modules/listhen/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "node_modules/listhen/node_modules/citty": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.2.2.tgz", + "integrity": "sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==", "license": "MIT" }, "node_modules/local-pkg": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.1.tgz", - "integrity": "sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz", + "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==", "license": "MIT", "dependencies": { - "mlly": "^1.7.3", - "pkg-types": "^1.2.1" + "mlly": "^1.7.4", + "pkg-types": "^2.3.0", + "quansync": "^0.2.11" }, "engines": { "node": ">=14" @@ -7432,29 +10231,6 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/local-pkg/node_modules/confbox": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", - "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", - "license": "MIT" - }, - "node_modules/local-pkg/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, - "node_modules/local-pkg/node_modules/pkg-types": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", - "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", - "license": "MIT", - "dependencies": { - "confbox": "^0.1.8", - "mlly": "^1.7.4", - "pathe": "^2.0.1" - } - }, "node_modules/lodash": { "version": "4.18.1", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", @@ -7588,6 +10364,27 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/marked": { + "version": "17.0.6", + "resolved": "https://registry.npmjs.org/marked/-/marked-17.0.6.tgz", + "integrity": "sha512-gB0gkNafnonOw0obSTEGZTT86IuhILt2Wfx0mWH/1Au83kybTayroZ/V6nS25mN7u8ASy+5fMhgB3XPNrOZdmA==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/mdast-util-find-and-replace": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", @@ -7804,12 +10601,6 @@ "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", "license": "CC0-1.0" }, - "node_modules/mdurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", - "license": "MIT" - }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -8465,6 +11256,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimark": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/minimark/-/minimark-0.2.0.tgz", + "integrity": "sha512-AmtWU9pO0C2/3AM2pikaVhJ//8E5rOpJ7+ioFQfjIq+wCsBeuZoxPd97hBFZ9qrI7DMHZudwGH3r8A7BMnsIew==", + "license": "MIT" + }, "node_modules/minimatch": { "version": "10.2.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", @@ -8480,6 +11289,24 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimisted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minimisted/-/minimisted-2.0.1.tgz", + "integrity": "sha512-1oPjfuLQa2caorJUM8HV8lGgWCc0qqAO1MNv/k05G4qslmsndV/5WdNZrqCiyqiz3wohia2Ij2B7w2Dr7/IyrA==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5" + } + }, "node_modules/minipass": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", @@ -8489,12 +11316,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/minisearch": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-7.2.0.tgz", - "integrity": "sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==", - "license": "MIT" - }, "node_modules/minizlib": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", @@ -8507,6 +11328,12 @@ "node": ">= 18" } }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT" + }, "node_modules/mlly": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.2.tgz", @@ -8525,12 +11352,6 @@ "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", "license": "MIT" }, - "node_modules/mlly/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, "node_modules/mlly/node_modules/pkg-types": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", @@ -8548,6 +11369,37 @@ "integrity": "sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA==", "license": "MIT" }, + "node_modules/motion-dom": { + "version": "12.38.0", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.38.0.tgz", + "integrity": "sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA==", + "license": "MIT", + "dependencies": { + "motion-utils": "^12.36.0" + } + }, + "node_modules/motion-utils": { + "version": "12.36.0", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.36.0.tgz", + "integrity": "sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg==", + "license": "MIT" + }, + "node_modules/motion-v": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/motion-v/-/motion-v-2.2.1.tgz", + "integrity": "sha512-BYbABe1Ep/u33dHOrK+8SoVU2MuiQqT94JOYsgrge8QbrwkKf2lS6rHW2QyzP6t89wcyBvzZeLQQwfrx76dj9A==", + "license": "MIT", + "dependencies": { + "framer-motion": "^12.38.0", + "hey-listen": "^1.0.8", + "motion-dom": "^12.38.0", + "motion-utils": "^12.36.0" + }, + "peerDependencies": { + "@vueuse/core": ">=10.0.0", + "vue": ">=3.0.0" + } + }, "node_modules/mrmime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", @@ -8593,6 +11445,12 @@ "integrity": "sha512-Kv2JYYiCzt16Kt5QwAc9BFG89xfPNBx+oQL4GQXD9nLqPkZBiNaqaCWtwnbk/q7UVsTYevvM1b0UF8zmEI4pCg==", "license": "MIT" }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" + }, "node_modules/nitropack": { "version": "2.13.3", "resolved": "https://registry.npmjs.org/nitropack/-/nitropack-2.13.3.tgz", @@ -8686,45 +11544,28 @@ } } }, + "node_modules/nitropack/node_modules/citty": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.2.2.tgz", + "integrity": "sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==", + "license": "MIT" + }, "node_modules/nitropack/node_modules/cookie-es": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-2.0.1.tgz", "integrity": "sha512-aVf4A4hI2w70LnF7GG+7xDQUkliwiXWXFvTjkip4+b64ygDQ2sJPRSKFDHbxn8o0xu9QzPkMuuiWIXyFSE2slA==", "license": "MIT" }, - "node_modules/nitropack/node_modules/crossws": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", - "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "node_modules/node-abi": { + "version": "3.89.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.89.0.tgz", + "integrity": "sha512-6u9UwL0HlAl21+agMN3YAMXcKByMqwGx+pq+P76vii5f7hTPtKDp08/H9py6DY+cfDw7kQNTGEj/rly3IgbNQA==", "license": "MIT", "dependencies": { - "uncrypto": "^0.1.3" - } - }, - "node_modules/nitropack/node_modules/ohash": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", - "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", - "license": "MIT" - }, - "node_modules/nitropack/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, - "node_modules/nitropack/node_modules/unwasm": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/unwasm/-/unwasm-0.5.3.tgz", - "integrity": "sha512-keBgTSfp3r6+s9ZcSma+0chwxQdmLbB5+dAD9vjtB21UTMYuKAxHXCU1K2CbCtnP09EaWeRvACnXk0EJtUx+hw==", - "license": "MIT", - "dependencies": { - "exsolve": "^1.0.8", - "knitwork": "^1.3.0", - "magic-string": "^0.30.21", - "mlly": "^1.8.0", - "pathe": "^2.0.3", - "pkg-types": "^2.3.0" + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" } }, "node_modules/node-addon-api": { @@ -8870,19 +11711,19 @@ } }, "node_modules/nuxt": { - "version": "3.21.2", - "resolved": "https://registry.npmjs.org/nuxt/-/nuxt-3.21.2.tgz", - "integrity": "sha512-XzZFj2KMK16zE0TfrGpjvgc378wZWvDzIpunHOHOT0Jj8zbV5qT1uQKaJb+fAHv6lf1A4nOMMWHrTmjAK4u0Zg==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/nuxt/-/nuxt-4.4.2.tgz", + "integrity": "sha512-iWVFpr/YEqVU/CenqIHMnIkvb2HE/9f+q8oxZ+pj2et+60NljGRClCgnmbvGPdmNFE0F1bEhoBCYfqbDOCim3Q==", "license": "MIT", "dependencies": { "@dxup/nuxt": "^0.4.0", "@nuxt/cli": "^3.34.0", "@nuxt/devtools": "^3.2.3", - "@nuxt/kit": "3.21.2", - "@nuxt/nitro-server": "3.21.2", - "@nuxt/schema": "3.21.2", + "@nuxt/kit": "4.4.2", + "@nuxt/nitro-server": "4.4.2", + "@nuxt/schema": "4.4.2", "@nuxt/telemetry": "^2.7.0", - "@nuxt/vite-builder": "3.21.2", + "@nuxt/vite-builder": "4.4.2", "@unhead/vue": "^2.1.12", "@vue/shared": "^3.5.30", "c12": "^3.3.3", @@ -8891,13 +11732,11 @@ "consola": "^3.4.2", "cookie-es": "^2.0.0", "defu": "^6.1.4", - "destr": "^2.0.5", "devalue": "^5.6.3", "errx": "^0.1.0", "escape-string-regexp": "^5.0.0", "exsolve": "^1.0.8", - "h3": "^1.15.6", - "hookable": "^5.5.3", + "hookable": "^6.0.1", "ignore": "^7.0.5", "impound": "^1.1.5", "jiti": "^2.6.1", @@ -8916,6 +11755,7 @@ "oxc-walker": "^0.7.0", "pathe": "^2.0.3", "perfect-debounce": "^2.1.0", + "picomatch": "^4.0.3", "pkg-types": "^2.3.0", "rou3": "^0.8.1", "scule": "^1.3.0", @@ -8928,10 +11768,10 @@ "unctx": "^2.5.0", "unimport": "^6.0.1", "unplugin": "^3.0.0", - "unplugin-vue-router": "^0.19.2", + "unrouting": "^0.1.5", "untyped": "^2.0.0", "vue": "^3.5.30", - "vue-router": "^4.6.4" + "vue-router": "^5.0.3" }, "bin": { "nuxi": "bin/nuxt.mjs", @@ -8942,7 +11782,7 @@ }, "peerDependencies": { "@parcel/watcher": "^2.1.0", - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "@types/node": ">=18.12.0" }, "peerDependenciesMeta": { "@parcel/watcher": { @@ -8953,75 +11793,45 @@ } } }, - "node_modules/nuxt/node_modules/@nuxt/schema": { - "version": "3.21.2", - "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-3.21.2.tgz", - "integrity": "sha512-yZaJrZizRP4OQVCM7qRG3xIJ1xZ59npgg9jd3ng+BDs5ZvLqYP9rXnFikShc8EPUtR6+zhSPgKgy6L8wWcBKzQ==", + "node_modules/nuxt-component-meta": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/nuxt-component-meta/-/nuxt-component-meta-0.17.2.tgz", + "integrity": "sha512-2/mSSqutOX8t+r8cAX1yUYwAPBqicPO5Rfum3XaHVszxKCF4tXEXBiPGfJY9Zn69x/CIeOdw+aM9wmHzQ5Q+lA==", "license": "MIT", "dependencies": { - "@vue/shared": "^3.5.30", - "defu": "^6.1.4", - "pathe": "^2.0.3", - "pkg-types": "^2.3.0", - "std-env": "^4.0.0" + "@nuxt/kit": "^4.2.2", + "citty": "^0.1.6", + "mlly": "^1.8.0", + "ohash": "^2.0.11", + "scule": "^1.3.0", + "typescript": "^5.9.3", + "ufo": "^1.6.2", + "vue-component-meta": "^3.2.2" + }, + "bin": { + "nuxt-component-meta": "bin/nuxt-component-meta.mjs" + } + }, + "node_modules/nuxt-component-meta/node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": "^14.18.0 || >=16.10.0" + "node": ">=14.17" } }, - "node_modules/nuxt/node_modules/@unhead/vue": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-2.1.13.tgz", - "integrity": "sha512-HYy0shaHRnLNW9r85gppO8IiGz0ONWVV3zGdlT8CQ0tbTwixznJCIiyqV4BSV1aIF1jJIye0pd1p/k6Eab8Z/A==", - "license": "MIT", - "dependencies": { - "hookable": "^6.0.1", - "unhead": "2.1.13" - }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - }, - "peerDependencies": { - "vue": ">=3.5.18" - } - }, - "node_modules/nuxt/node_modules/@unhead/vue/node_modules/hookable": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/hookable/-/hookable-6.1.1.tgz", - "integrity": "sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==", - "license": "MIT" - }, "node_modules/nuxt/node_modules/cookie-es": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-2.0.1.tgz", "integrity": "sha512-aVf4A4hI2w70LnF7GG+7xDQUkliwiXWXFvTjkip4+b64ygDQ2sJPRSKFDHbxn8o0xu9QzPkMuuiWIXyFSE2slA==", "license": "MIT" }, - "node_modules/nuxt/node_modules/ohash": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", - "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", - "license": "MIT" - }, - "node_modules/nuxt/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, - "node_modules/nuxt/node_modules/unhead": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/unhead/-/unhead-2.1.13.tgz", - "integrity": "sha512-jO9M1sI6b2h/1KpIu4Jeu+ptumLmUKboRRLxys5pYHFeT+lqTzfNHbYUX9bxVDhC1FBszAGuWcUVlmvIPsah8Q==", - "license": "MIT", - "dependencies": { - "hookable": "^6.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - } - }, - "node_modules/nuxt/node_modules/unhead/node_modules/hookable": { + "node_modules/nuxt/node_modules/hookable": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/hookable/-/hookable-6.1.1.tgz", "integrity": "sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==", @@ -9044,10 +11854,10 @@ "node": ">=18" } }, - "node_modules/nypm/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "node_modules/nypm/node_modules/citty": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.2.2.tgz", + "integrity": "sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==", "license": "MIT" }, "node_modules/obug": { @@ -9072,9 +11882,9 @@ } }, "node_modules/ohash": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.6.tgz", - "integrity": "sha512-TBu7PtV8YkAZn0tSxobKY2n2aAQva936lhRrj6957aDaCf9IEtqsKbgMzXE/F/sjqYOwmrukeORHNLe5glk7Cg==", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", "license": "MIT" }, "node_modules/on-change": { @@ -9101,6 +11911,15 @@ "node": ">= 0.8" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, "node_modules/onetime": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", @@ -9116,15 +11935,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/oniguruma-parser": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", + "license": "MIT" + }, "node_modules/oniguruma-to-es": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-2.3.0.tgz", - "integrity": "sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", "license": "MIT", "dependencies": { - "emoji-regex-xs": "^1.0.0", - "regex": "^5.1.1", - "regex-recursion": "^5.1.1" + "oniguruma-parser": "^0.12.2", + "regex": "^6.1.0", + "regex-recursion": "^6.0.2" } }, "node_modules/open": { @@ -9147,6 +11972,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/orderedmap": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz", + "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==", + "license": "MIT" + }, "node_modules/oxc-minify": { "version": "0.117.0", "resolved": "https://registry.npmjs.org/oxc-minify/-/oxc-minify-0.117.0.tgz", @@ -9270,14 +12101,17 @@ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "license": "BlueOak-1.0.0" }, - "node_modules/packrup": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/packrup/-/packrup-0.1.2.tgz", - "integrity": "sha512-ZcKU7zrr5GlonoS9cxxrb5HVswGnyj6jQvwFBa6p5VFw7G71VAHcUKL5wyZSU/ECtPM/9gacWxy2KFQKt1gMNA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - } + "node_modules/package-manager-detector": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "license": "MIT" + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" }, "node_modules/parse-entities": { "version": "4.0.2", @@ -9304,25 +12138,47 @@ "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", "license": "MIT" }, - "node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "node_modules/parse-path": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.1.0.tgz", + "integrity": "sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw==", "license": "MIT", "dependencies": { - "entities": "^6.0.0" + "protocols": "^2.0.0" + } + }, + "node_modules/parse-url": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-9.2.0.tgz", + "integrity": "sha512-bCgsFI+GeGWPAvAiUv63ZorMeif3/U0zaXABGJbOWt5OH2KCaPHF6S+0ok4aqM9RuIPGyZdx9tR9l13PsW4AYQ==", + "license": "MIT", + "dependencies": { + "@types/parse-path": "^7.0.0", + "parse-path": "^7.0.0" + }, + "engines": { + "node": ">=14.13.0" + } + }, + "node_modules/parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", + "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", + "license": "MIT", + "dependencies": { + "entities": "^8.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" } }, "node_modules/parse5/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", + "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", "license": "BSD-2-Clause", "engines": { - "node": ">=0.12" + "node": ">=20.19.0" }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" @@ -9384,9 +12240,9 @@ } }, "node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "license": "MIT" }, "node_modules/perfect-debounce": { @@ -9413,6 +12269,15 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/pkg-types": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz", @@ -9424,11 +12289,14 @@ "pathe": "^2.0.3" } }, - "node_modules/pkg-types/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } }, "node_modules/postcss": { "version": "8.5.10", @@ -9902,6 +12770,33 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "deprecated": "No longer maintained. Please contact the author of the relevant native addon; alternatives are available.", + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/pretty-bytes": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-7.1.0.tgz", @@ -9930,15 +12825,160 @@ "license": "MIT" }, "node_modules/property-information": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", - "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/prosemirror-changeset": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.4.1.tgz", + "integrity": "sha512-96WBLhOaYhJ+kPhLg3uW359Tz6I/MfcrQfL4EGv4SrcqKEMC1gmoGrXHecPE8eOwTVCJ4IwgfzM8fFad25wNfw==", + "license": "MIT", + "dependencies": { + "prosemirror-transform": "^1.0.0" + } + }, + "node_modules/prosemirror-commands": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.7.1.tgz", + "integrity": "sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==", + "license": "MIT", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.10.2" + } + }, + "node_modules/prosemirror-dropcursor": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/prosemirror-dropcursor/-/prosemirror-dropcursor-1.8.2.tgz", + "integrity": "sha512-CCk6Gyx9+Tt2sbYk5NK0nB1ukHi2ryaRgadV/LvyNuO3ena1payM2z6Cg0vO1ebK8cxbzo41ku2DE5Axj1Zuiw==", + "license": "MIT", + "dependencies": { + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0", + "prosemirror-view": "^1.1.0" + } + }, + "node_modules/prosemirror-gapcursor": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.4.1.tgz", + "integrity": "sha512-pMdYaEnjNMSwl11yjEGtgTmLkR08m/Vl+Jj443167p9eB3HVQKhYCc4gmHVDsLPODfZfjr/MmirsdyZziXbQKw==", + "license": "MIT", + "dependencies": { + "prosemirror-keymap": "^1.0.0", + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-view": "^1.0.0" + } + }, + "node_modules/prosemirror-history": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.5.0.tgz", + "integrity": "sha512-zlzTiH01eKA55UAf1MEjtssJeHnGxO0j4K4Dpx+gnmX9n+SHNlDqI2oO1Kv1iPN5B1dm5fsljCfqKF9nFL6HRg==", + "license": "MIT", + "dependencies": { + "prosemirror-state": "^1.2.2", + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.31.0", + "rope-sequence": "^1.3.0" + } + }, + "node_modules/prosemirror-keymap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.3.tgz", + "integrity": "sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==", + "license": "MIT", + "dependencies": { + "prosemirror-state": "^1.0.0", + "w3c-keyname": "^2.2.0" + } + }, + "node_modules/prosemirror-model": { + "version": "1.25.4", + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.4.tgz", + "integrity": "sha512-PIM7E43PBxKce8OQeezAs9j4TP+5yDpZVbuurd1h5phUxEKIu+G2a+EUZzIC5nS1mJktDJWzbqS23n1tsAf5QA==", + "license": "MIT", + "dependencies": { + "orderedmap": "^2.0.0" + } + }, + "node_modules/prosemirror-schema-list": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.5.1.tgz", + "integrity": "sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==", + "license": "MIT", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.7.3" + } + }, + "node_modules/prosemirror-state": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.4.tgz", + "integrity": "sha512-6jiYHH2CIGbCfnxdHbXZ12gySFY/fz/ulZE333G6bPqIZ4F+TXo9ifiR86nAHpWnfoNjOb3o5ESi7J8Uz1jXHw==", + "license": "MIT", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.27.0" + } + }, + "node_modules/prosemirror-tables": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.8.5.tgz", + "integrity": "sha512-V/0cDCsHKHe/tfWkeCmthNUcEp1IVO3p6vwN8XtwE9PZQLAZJigbw3QoraAdfJPir4NKJtNvOB8oYGKRl+t0Dw==", + "license": "MIT", + "dependencies": { + "prosemirror-keymap": "^1.2.3", + "prosemirror-model": "^1.25.4", + "prosemirror-state": "^1.4.4", + "prosemirror-transform": "^1.10.5", + "prosemirror-view": "^1.41.4" + } + }, + "node_modules/prosemirror-transform": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.12.0.tgz", + "integrity": "sha512-GxboyN4AMIsoHNtz5uf2r2Ru551i5hWeCMD6E2Ib4Eogqoub0NflniaBPVQ4MrGE5yZ8JV9tUHg9qcZTTrcN4w==", + "license": "MIT", + "dependencies": { + "prosemirror-model": "^1.21.0" + } + }, + "node_modules/prosemirror-view": { + "version": "1.41.8", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.41.8.tgz", + "integrity": "sha512-TnKDdohEatgyZNGCDWIdccOHXhYloJwbwU+phw/a23KBvJIR9lWQWW7WHHK3vBdOLDNuF7TaX98GObUZOWkOnA==", + "license": "MIT", + "dependencies": { + "prosemirror-model": "^1.20.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0" + } + }, + "node_modules/protocols": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.2.tgz", + "integrity": "sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ==", + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/quansync": { "version": "0.2.11", "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz", @@ -9990,6 +13030,27 @@ "node": ">= 0.6" } }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, "node_modules/rc9": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/rc9/-/rc9-3.0.1.tgz", @@ -10087,21 +13148,20 @@ } }, "node_modules/regex": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/regex/-/regex-5.1.1.tgz", - "integrity": "sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", "license": "MIT", "dependencies": { "regex-utilities": "^2.3.0" } }, "node_modules/regex-recursion": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-5.1.1.tgz", - "integrity": "sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", "license": "MIT", "dependencies": { - "regex": "^5.1.1", "regex-utilities": "^2.3.0" } }, @@ -10138,6 +13198,20 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/rehype-minify-whitespace": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-6.0.2.tgz", + "integrity": "sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-minify-whitespace": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/rehype-raw": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", @@ -10153,6 +13227,23 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/rehype-remark": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-remark/-/rehype-remark-10.0.1.tgz", + "integrity": "sha512-EmDndlb5NVwXGfUa4c9GPK+lXeItTilLhE6ADSaQuHr4JUlKw9MidzGzx4HpqZrNCt6vnHmEifXQiiA+CEnjYQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "hast-util-to-mdast": "^10.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/rehype-slug": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", @@ -10199,6 +13290,31 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/reka-ui": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/reka-ui/-/reka-ui-2.9.3.tgz", + "integrity": "sha512-C9lCVxsSC7uYD0Nbgik1+14FNndHNprZmf0zGQt0ZDYIt5KxXV3zD0hEqNcfRUsEEJvVmoRsUkJnASBVBeaaUw==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.6.13", + "@floating-ui/vue": "^1.1.6", + "@internationalized/date": "^3.5.0", + "@internationalized/number": "^3.5.0", + "@tanstack/vue-virtual": "^3.12.0", + "@vueuse/core": "^14.1.0", + "@vueuse/shared": "^14.1.0", + "aria-hidden": "^1.2.4", + "defu": "^6.1.4", + "ohash": "^2.0.11" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/zernonia" + }, + "peerDependencies": { + "vue": ">= 3.4.0" + } + }, "node_modules/remark-emoji": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-5.0.2.tgz", @@ -10421,6 +13537,12 @@ } } }, + "node_modules/rope-sequence": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz", + "integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==", + "license": "MIT" + }, "node_modules/rou3": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/rou3/-/rou3-0.8.1.tgz", @@ -10581,12 +13703,94 @@ "url": "https://opencollective.com/express" } }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "license": "ISC" }, + "node_modules/sha.js": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", + "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", + "license": "(MIT AND BSD-3-Clause)", + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.0" + }, + "bin": { + "sha.js": "bin.js" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -10621,19 +13825,22 @@ } }, "node_modules/shiki": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.29.2.tgz", - "integrity": "sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.0.2.tgz", + "integrity": "sha512-eAVKTMedR5ckPo4xne/PjYQYrU3qx78gtJZ+sHlXEg5IHhhoQhMfZVzetTYuaJS0L2Ef3AcCRzCHV8T0WI6nIQ==", "license": "MIT", "dependencies": { - "@shikijs/core": "1.29.2", - "@shikijs/engine-javascript": "1.29.2", - "@shikijs/engine-oniguruma": "1.29.2", - "@shikijs/langs": "1.29.2", - "@shikijs/themes": "1.29.2", - "@shikijs/types": "1.29.2", - "@shikijs/vscode-textmate": "^10.0.1", + "@shikijs/core": "4.0.2", + "@shikijs/engine-javascript": "4.0.2", + "@shikijs/engine-oniguruma": "4.0.2", + "@shikijs/langs": "4.0.2", + "@shikijs/themes": "4.0.2", + "@shikijs/types": "4.0.2", + "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" } }, "node_modules/signal-exit": { @@ -10648,6 +13855,51 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, "node_modules/simple-git": { "version": "3.36.0", "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.36.0.tgz", @@ -10977,6 +14229,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/strip-literal": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz", @@ -11066,6 +14327,15 @@ "url": "https://opencollective.com/svgo" } }, + "node_modules/svgo/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, "node_modules/tagged-tag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz", @@ -11078,6 +14348,41 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/tailwind-merge": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.5.0.tgz", + "integrity": "sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwind-variants": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/tailwind-variants/-/tailwind-variants-3.2.2.tgz", + "integrity": "sha512-Mi4kHeMTLvKlM98XPnK+7HoBPmf4gygdFmqQPaDivc3DpYS6aIY6KiG/PgThrGvii5YZJqRsPz0aPyhoFzmZgg==", + "license": "MIT", + "engines": { + "node": ">=16.x", + "pnpm": ">=7.x" + }, + "peerDependencies": { + "tailwind-merge": ">=3.0.0", + "tailwindcss": "*" + }, + "peerDependenciesMeta": { + "tailwind-merge": { + "optional": true + } + } + }, + "node_modules/tailwindcss": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.4.tgz", + "integrity": "sha512-HhKppgO81FQof5m6TEnuBWCZGgfRAWbaeOaGT00KOy/Pf/j6oUihdvBpA7ltCeAvZpFhW3j0PTclkxsd4IXYDA==", + "license": "MIT" + }, "node_modules/tapable": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", @@ -11107,6 +14412,54 @@ "node": ">=18" } }, + "node_modules/tar-fs": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC" + }, + "node_modules/tar-fs/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tar-fs/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/tar-stream": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.8.tgz", @@ -11170,6 +14523,12 @@ "b4a": "^1.6.4" } }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", @@ -11210,6 +14569,20 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/to-buffer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz", + "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==", + "license": "MIT", + "dependencies": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -11256,6 +14629,16 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/trim-trailing-lines": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz", + "integrity": "sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/trough": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", @@ -11270,8 +14653,19 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD", - "optional": true + "license": "0BSD" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } }, "node_modules/type-fest": { "version": "5.6.0", @@ -11294,6 +14688,33 @@ "integrity": "sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg==", "license": "MIT" }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, "node_modules/ufo": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", @@ -11357,27 +14778,24 @@ "pathe": "^2.0.3" } }, - "node_modules/unenv/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, "node_modules/unhead": { - "version": "1.11.20", - "resolved": "https://registry.npmjs.org/unhead/-/unhead-1.11.20.tgz", - "integrity": "sha512-3AsNQC0pjwlLqEYHLjtichGWankK8yqmocReITecmpB1H0aOabeESueyy+8X1gyJx4ftZVwo9hqQ4O3fPWffCA==", + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/unhead/-/unhead-2.1.13.tgz", + "integrity": "sha512-jO9M1sI6b2h/1KpIu4Jeu+ptumLmUKboRRLxys5pYHFeT+lqTzfNHbYUX9bxVDhC1FBszAGuWcUVlmvIPsah8Q==", "license": "MIT", "dependencies": { - "@unhead/dom": "1.11.20", - "@unhead/schema": "1.11.20", - "@unhead/shared": "1.11.20", - "hookable": "^5.5.3" + "hookable": "^6.0.1" }, "funding": { "url": "https://github.com/sponsors/harlan-zw" } }, + "node_modules/unhead/node_modules/hookable": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-6.1.1.tgz", + "integrity": "sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==", + "license": "MIT" + }, "node_modules/unicode-emoji-modifier-base": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", @@ -11418,6 +14836,17 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unifont": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.4.tgz", + "integrity": "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.1.0", + "ofetch": "^1.5.1", + "ohash": "^2.0.11" + } + }, "node_modules/unimport": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/unimport/-/unimport-6.1.1.tgz", @@ -11452,29 +14881,6 @@ "@types/estree": "^1.0.0" } }, - "node_modules/unimport/node_modules/local-pkg": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz", - "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==", - "license": "MIT", - "dependencies": { - "mlly": "^1.7.4", - "pkg-types": "^2.3.0", - "quansync": "^0.2.11" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/unimport/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, "node_modules/unist-builder": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-4.0.0.tgz", @@ -11488,6 +14894,20 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unist-util-is": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", @@ -11570,6 +14990,87 @@ "node": "^20.19.0 || >=22.12.0" } }, + "node_modules/unplugin-auto-import": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-21.0.0.tgz", + "integrity": "sha512-vWuC8SwqJmxZFYwPojhOhOXDb5xFhNNcEVb9K/RFkyk/3VnfaOjzitWN7v+8DEKpMjSsY2AEGXNgt6I0yQrhRQ==", + "license": "MIT", + "dependencies": { + "local-pkg": "^1.1.2", + "magic-string": "^0.30.21", + "picomatch": "^4.0.3", + "unimport": "^5.6.0", + "unplugin": "^2.3.11", + "unplugin-utils": "^0.3.1" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@nuxt/kit": "^4.0.0", + "@vueuse/core": "*" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + }, + "@vueuse/core": { + "optional": true + } + } + }, + "node_modules/unplugin-auto-import/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/unplugin-auto-import/node_modules/unimport": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-5.7.0.tgz", + "integrity": "sha512-njnL6sp8lEA8QQbZrt+52p/g4X0rw3bnGGmUcJnt1jeG8+iiqO779aGz0PirCtydAIVcuTBRlJ52F0u46z309Q==", + "license": "MIT", + "dependencies": { + "acorn": "^8.16.0", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "local-pkg": "^1.1.2", + "magic-string": "^0.30.21", + "mlly": "^1.8.0", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "pkg-types": "^2.3.0", + "scule": "^1.3.0", + "strip-literal": "^3.1.0", + "tinyglobby": "^0.2.15", + "unplugin": "^2.3.11", + "unplugin-utils": "^0.3.1" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unplugin-auto-import/node_modules/unplugin": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.11.tgz", + "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "acorn": "^8.15.0", + "picomatch": "^4.0.3", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": ">=18.12.0" + } + }, "node_modules/unplugin-utils": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.1.tgz", @@ -11586,83 +15087,46 @@ "url": "https://github.com/sponsors/sxzz" } }, - "node_modules/unplugin-utils/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, - "node_modules/unplugin-vue-router": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/unplugin-vue-router/-/unplugin-vue-router-0.19.2.tgz", - "integrity": "sha512-u5dgLBarxE5cyDK/hzJGfpCTLIAyiTXGlo85COuD4Nssj6G7NxS+i9mhCWz/1p/ud1eMwdcUbTXehQe41jYZUA==", - "deprecated": "Merged into vuejs/router. Migrate: https://router.vuejs.org/guide/migration/v4-to-v5.html", + "node_modules/unplugin-vue-components": { + "version": "32.0.0", + "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-32.0.0.tgz", + "integrity": "sha512-uLdccgS7mf3pv1bCCP20y/hm+u1eOjAmygVkh+Oa70MPkzgl1eQv1L0CwdHNM3gscO8/GDMGIET98Ja47CBbZg==", "license": "MIT", "dependencies": { - "@babel/generator": "^7.28.5", - "@vue-macros/common": "^3.1.1", - "@vue/language-core": "^3.2.1", - "ast-walker-scope": "^0.8.3", "chokidar": "^5.0.0", - "json5": "^2.2.3", "local-pkg": "^1.1.2", "magic-string": "^0.30.21", - "mlly": "^1.8.0", - "muggle-string": "^0.4.1", - "pathe": "^2.0.3", + "mlly": "^1.8.2", + "obug": "^2.1.1", "picomatch": "^4.0.3", - "scule": "^1.3.0", "tinyglobby": "^0.2.15", - "unplugin": "^2.3.11", - "unplugin-utils": "^0.3.1", - "yaml": "^2.8.2" + "unplugin": "^3.0.0", + "unplugin-utils": "^0.3.1" + }, + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" }, "peerDependencies": { - "@vue/compiler-sfc": "^3.5.17", - "vue-router": "^4.6.0" + "@nuxt/kit": "^3.2.2 || ^4.0.0", + "vue": "^3.0.0" }, "peerDependenciesMeta": { - "vue-router": { + "@nuxt/kit": { "optional": true } } }, - "node_modules/unplugin-vue-router/node_modules/local-pkg": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz", - "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==", + "node_modules/unrouting": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/unrouting/-/unrouting-0.1.7.tgz", + "integrity": "sha512-+0hfD+CVWtD636rc5Fn9VEjjTEDhdqgMpbwAuVoUmydSHDaMNiFW93SJG4LV++RoGSEAyvQN5uABAscYpDphpQ==", "license": "MIT", "dependencies": { - "mlly": "^1.7.4", - "pkg-types": "^2.3.0", - "quansync": "^0.2.11" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/unplugin-vue-router/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, - "node_modules/unplugin-vue-router/node_modules/unplugin": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.11.tgz", - "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==", - "license": "MIT", - "dependencies": { - "@jridgewell/remapping": "^2.3.5", - "acorn": "^8.15.0", - "picomatch": "^4.0.3", - "webpack-virtual-modules": "^0.6.2" - }, - "engines": { - "node": ">=18.12.0" + "escape-string-regexp": "^5.0.0", + "ufo": "^1.6.3" } }, "node_modules/unstorage": { @@ -11784,14 +15248,11 @@ "untun": "bin/untun.mjs" } }, - "node_modules/untun/node_modules/citty": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", - "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", - "license": "MIT", - "dependencies": { - "consola": "^3.2.3" - } + "node_modules/untun/node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "license": "MIT" }, "node_modules/untyped": { "version": "2.0.0", @@ -11809,48 +15270,18 @@ "untyped": "dist/cli.mjs" } }, - "node_modules/untyped/node_modules/citty": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", - "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", - "license": "MIT", - "dependencies": { - "consola": "^3.2.3" - } - }, "node_modules/unwasm": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/unwasm/-/unwasm-0.3.11.tgz", - "integrity": "sha512-Vhp5gb1tusSQw5of/g3Q697srYgMXvwMgXMjcG4ZNga02fDX9coxJ9fAb0Ci38hM2Hv/U1FXRPGgjP2BYqhNoQ==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/unwasm/-/unwasm-0.5.3.tgz", + "integrity": "sha512-keBgTSfp3r6+s9ZcSma+0chwxQdmLbB5+dAD9vjtB21UTMYuKAxHXCU1K2CbCtnP09EaWeRvACnXk0EJtUx+hw==", "license": "MIT", "dependencies": { - "knitwork": "^1.2.0", - "magic-string": "^0.30.17", - "mlly": "^1.7.4", + "exsolve": "^1.0.8", + "knitwork": "^1.3.0", + "magic-string": "^0.30.21", + "mlly": "^1.8.0", "pathe": "^2.0.3", - "pkg-types": "^2.2.0", - "unplugin": "^2.3.6" - } - }, - "node_modules/unwasm/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, - "node_modules/unwasm/node_modules/unplugin": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.11.tgz", - "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==", - "license": "MIT", - "dependencies": { - "@jridgewell/remapping": "^2.3.5", - "acorn": "^8.15.0", - "picomatch": "^4.0.3", - "webpack-virtual-modules": "^0.6.2" - }, - "engines": { - "node": ">=18.12.0" + "pkg-types": "^2.3.0" } }, "node_modules/update-browserslist-db": { @@ -11895,6 +15326,114 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "license": "MIT" }, + "node_modules/vaul-vue": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/vaul-vue/-/vaul-vue-0.4.1.tgz", + "integrity": "sha512-A6jOWOZX5yvyo1qMn7IveoWN91mJI5L3BUKsIwkg6qrTGgHs1Sb1JF/vyLJgnbN1rH4OOOxFbtqL9A46bOyGUQ==", + "dependencies": { + "@vueuse/core": "^10.8.0", + "reka-ui": "^2.0.0", + "vue": "^3.4.5" + }, + "peerDependencies": { + "reka-ui": "^2.0.0", + "vue": "^3.3.0" + } + }, + "node_modules/vaul-vue/node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "license": "MIT" + }, + "node_modules/vaul-vue/node_modules/@vueuse/core": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.11.1.tgz", + "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.11.1", + "@vueuse/shared": "10.11.1", + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/vaul-vue/node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/vaul-vue/node_modules/@vueuse/metadata": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.11.1.tgz", + "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/vaul-vue/node_modules/@vueuse/shared": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.11.1.tgz", + "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", + "license": "MIT", + "dependencies": { + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/vaul-vue/node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/vfile": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", @@ -12070,12 +15609,6 @@ "url": "https://opencollective.com/antfu" } }, - "node_modules/vite-node/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, "node_modules/vite-plugin-checker": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/vite-plugin-checker/-/vite-plugin-checker-0.12.0.tgz", @@ -12239,12 +15772,6 @@ } } }, - "node_modules/vite-plugin-inspect/node_modules/ohash": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", - "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", - "license": "MIT" - }, "node_modules/vite-plugin-inspect/node_modules/open": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", @@ -12307,12 +15834,6 @@ "@types/estree": "^1.0.0" } }, - "node_modules/vite-plugin-vue-tracer/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, "node_modules/vscode-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", @@ -12349,6 +15870,31 @@ "ufo": "^1.6.1" } }, + "node_modules/vue-component-meta": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/vue-component-meta/-/vue-component-meta-3.2.7.tgz", + "integrity": "sha512-dxcDX+Qyhn0alsmjNBHO6/Irz7q1tv8uZnT+0gNkqMuTkL5bP/7XxsI8tOukq3jwkdFZAGO4bEqLl9rkPDF3uQ==", + "license": "MIT", + "dependencies": { + "@volar/typescript": "2.4.28", + "@vue/language-core": "3.2.7", + "path-browserify": "^1.0.1" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-component-type-helpers": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-3.2.7.tgz", + "integrity": "sha512-+gPp5YGmhfsj1IN+xUo7y0fb4clfnOiiUA39y07yW1VzCRjzVgwLbtmdWlghh7mXrPsEaYc7rrIir/HT6C8vYQ==", + "license": "MIT" + }, "node_modules/vue-devtools-stub": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/vue-devtools-stub/-/vue-devtools-stub-0.1.0.tgz", @@ -12356,20 +15902,56 @@ "license": "MIT" }, "node_modules/vue-router": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.6.4.tgz", - "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-5.0.6.tgz", + "integrity": "sha512-9+kmUTGbKMyW9Asoy98IXXYIzrTMT7JDAdpDDeEkorHvybpUvBI2wsrSM5jFOXrFydpzRFJ9vAh+80DN2PGu9w==", "license": "MIT", "dependencies": { - "@vue/devtools-api": "^6.6.4" + "@babel/generator": "^7.28.6", + "@vue-macros/common": "^3.1.1", + "@vue/devtools-api": "^8.0.6", + "ast-walker-scope": "^0.8.3", + "chokidar": "^5.0.0", + "json5": "^2.2.3", + "local-pkg": "^1.1.2", + "magic-string": "^0.30.21", + "mlly": "^1.8.0", + "muggle-string": "^0.4.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "scule": "^1.3.0", + "tinyglobby": "^0.2.15", + "unplugin": "^3.0.0", + "unplugin-utils": "^0.3.1", + "yaml": "^2.8.2" }, "funding": { "url": "https://github.com/sponsors/posva" }, "peerDependencies": { + "@pinia/colada": ">=0.21.2", + "@vue/compiler-sfc": "^3.5.17", + "pinia": "^3.0.4", "vue": "^3.5.0" + }, + "peerDependenciesMeta": { + "@pinia/colada": { + "optional": true + }, + "@vue/compiler-sfc": { + "optional": true + }, + "pinia": { + "optional": true + } } }, + "node_modules/w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", + "license": "MIT" + }, "node_modules/web-namespaces": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", @@ -12402,19 +15984,49 @@ "webidl-conversions": "^3.0.0" } }, + "node_modules/wheel-gestures": { + "version": "2.2.48", + "resolved": "https://registry.npmjs.org/wheel-gestures/-/wheel-gestures-2.2.48.tgz", + "integrity": "sha512-f+Gy33Oa5Z14XY9679Zze+7VFhbsQfBFXodnU2x589l4kxGM9L5Y8zETTmcMR5pWOPQyRv4Z0lNax6xCO0NSlA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/which": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", - "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "license": "ISC", "dependencies": { - "isexe": "^4.0.0" + "isexe": "^2.0.0" }, "bin": { - "node-which": "bin/which.js" + "node-which": "bin/node-which" }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">= 8" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/wrap-ansi": { @@ -12508,6 +16120,12 @@ "node": ">=8" } }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, "node_modules/ws": { "version": "8.20.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", @@ -12553,6 +16171,51 @@ "node": ">=0.4.0" } }, + "node_modules/xss": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.15.tgz", + "integrity": "sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==", + "license": "MIT", + "optional": true, + "dependencies": { + "commander": "^2.20.3", + "cssfilter": "0.0.10" + }, + "bin": { + "xss": "bin/xss" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/xss/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT", + "optional": true + }, + "node_modules/y-protocols": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/y-protocols/-/y-protocols-1.0.7.tgz", + "integrity": "sha512-YSVsLoXxO67J6eE/nV4AtFtT3QEotZf5sK5BHxFBXso7VDUT3Tx07IfA6hsu5Q5OmBdMkQVmFZ9QOA7fikWvnw==", + "license": "MIT", + "peer": true, + "dependencies": { + "lib0": "^0.2.85" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8.0.0" + }, + "funding": { + "type": "GitHub Sponsors ❤", + "url": "https://github.com/sponsors/dmonad" + }, + "peerDependencies": { + "yjs": "^13.0.0" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -12609,6 +16272,24 @@ "node": "^20.19.0 || ^22.12.0 || >=23" } }, + "node_modules/yjs": { + "version": "13.6.30", + "resolved": "https://registry.npmjs.org/yjs/-/yjs-13.6.30.tgz", + "integrity": "sha512-vv/9h42eCMC81ZHDFswuu/MKzkl/vyq1BhaNGfHyOonwlG4CJbQF4oiBBJPvfdeCt/PlVDWh7Nov9D34YY09uQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "lib0": "^0.2.99" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=8.0.0" + }, + "funding": { + "type": "GitHub Sponsors ❤", + "url": "https://github.com/sponsors/dmonad" + } + }, "node_modules/youch": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/youch/-/youch-4.1.1.tgz", @@ -12638,15 +16319,6 @@ "integrity": "sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==", "license": "MIT" }, - "node_modules/zhead": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/zhead/-/zhead-2.2.4.tgz", - "integrity": "sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - } - }, "node_modules/zip-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", @@ -12661,6 +16333,24 @@ "node": ">= 14" } }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.25.28 || ^4" + } + }, "node_modules/zwitch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", diff --git a/docs-site/package.json b/docs-site/package.json index cb7fbde..19ab20e 100644 --- a/docs-site/package.json +++ b/docs-site/package.json @@ -14,6 +14,7 @@ "@nuxt/content": "^3.12.0", "@nuxt/image": "^2.0.0", "@nuxt/ui": "^4.6.1", + "better-sqlite3": "^12.9.0", "nuxt": "^4.4.2" }, "devDependencies": { diff --git a/docs/README.md b/docs/README.md index e3a802b..4a7f5d1 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,46 +1,64 @@ -# FEDEO Funktionsdokumentation +--- +seo: + title: FEDEO Bedienungsanleitung + description: Nutzerorientierte Bedienungsanleitung für alle zentralen Funktionen in FEDEO. +--- -Diese Dokumentation bildet alle Funktionen der Software zentral ab und ist für die Nutzung in der Nuxt-Content-Docs-Homepage vorbereitet. +::u-page-hero{class="dark:bg-gradient-to-b from-neutral-900 to-neutral-950"} +--- +orientation: horizontal +--- +#title +FEDEO [Bedienungsanleitung]{.text-primary} -## Ziel +#description +Diese Dokumentation ist als praktische Anleitung für Anwenderinnen und Anwender der FEDEO-Software aufgebaut. -- Vollständige Übersicht über Funktionen in Backend, Web-Frontend und Mobile-App -- Nachvollziehbare Versionierung der Doku -- Einfache Aktualisierung bei Funktionsänderungen +#links + :::u-button + --- + to: /bedienung + size: xl + trailing-icon: i-lucide-arrow-right + --- + Zur Bedienungsanleitung + ::: -## Struktur + :::u-button + --- + to: /bedienung/frontend + size: xl + color: neutral + variant: outline + --- + Frontend-Funktionen + ::: +:: -- `docs/funktionen/uebersicht.md`: Fachliche Gesamtübersicht der Bereiche -- `docs/funktionen/backend-api.md`: Automatisch erzeugte API-Funktionsliste -- `docs/funktionen/frontend-web.md`: Automatisch erzeugte Seiten-/Funktionsliste des Web-Frontends -- `docs/funktionen/mobile-app.md`: Automatisch erzeugte Screens-/Funktionsliste der Mobile-App -- `docs/versionen/docs-versionen.md`: Versionierung der Dokumentation -- `docs/wartung/dokumentationsprozess.md`: Prozess, damit die Doku dauerhaft aktuell bleibt -- `docs/scripts/sync-funktionsdoku.mjs`: Skript zur automatischen Aktualisierung +::u-page-section{class="dark:bg-neutral-950"} +#title +Inhalte -## Aktualisierung bei Funktionsänderungen +#features + :::u-page-feature + --- + icon: i-lucide-layout-dashboard + --- + #title + Frontend-Seiten -Bei jeder Funktionsänderung bitte ausführen: + #description + Übersicht aller Seitenfunktionen inklusive Eingabefelder und deren Bedeutung. + ::: -```bash -node docs/scripts/sync-funktionsdoku.mjs -``` + :::u-page-feature + --- + icon: i-lucide-file-text + --- + #title + Praxisnahe Feld-Erklärungen -Danach: - -1. Änderungen in `docs/funktionen/*.md` prüfen -2. Falls nötig fachliche Texte in `docs/funktionen/uebersicht.md` ergänzen -3. Eintrag in `docs/versionen/docs-versionen.md` ergänzen -4. Alles gemeinsam committen - -## Verwendung mit Nuxt Content - -Empfohlene Vorgehensweise: - -1. `docs/` in das Content-Verzeichnis übernehmen (oder per Sync einbinden) -2. Navigation anhand der Ordner `funktionen`, `wartung`, `versionen` aufbauen -3. `backend-api.md`, `frontend-web.md`, `mobile-app.md` als referenzierende Funktionskataloge einbinden - -## Hinweis - -Die Dateien `backend-api.md`, `frontend-web.md` und `mobile-app.md` werden automatisch generiert. Manuelle Änderungen in diesen Dateien werden bei der nächsten Synchronisation überschrieben. + #description + Für zentrale Masken wie den Ausgangsbeleg-Editor werden die Felder konkret erläutert. + ::: +:: diff --git a/docs/bedienung/README.md b/docs/bedienung/README.md new file mode 100644 index 0000000..526c9fe --- /dev/null +++ b/docs/bedienung/README.md @@ -0,0 +1,8 @@ +# Bedienung + +Diese Sektion beschreibt die Nutzung der Software aus Anwendersicht. + +## Bereiche + +- Frontend-Funktionen je Seite: `frontend/README.md` +- Detaillierte Feld-Erklärungen: z. B. `frontend/ausgangsbelege-editor.md` diff --git a/docs/bedienung/frontend/README.md b/docs/bedienung/frontend/README.md new file mode 100644 index 0000000..70fc884 --- /dev/null +++ b/docs/bedienung/frontend/README.md @@ -0,0 +1,9 @@ +# Frontend-Funktionen + +Diese Kategorie enthält die Bedienung der einzelnen Seiten im Web-Frontend. + +## Enthaltene Inhalte + +- Vollständige Seitenübersicht mit erkannten Eingabefeldern: `alle-seiten-und-felder.md` +- Detaillierte Anleitung Ausgangsbeleg-Editor: `ausgangsbelege-editor.md` +- Detaillierte Anleitung Serienrechnungen: `serienrechnungen.md` diff --git a/docs/bedienung/frontend/alle-seiten-und-felder.md b/docs/bedienung/frontend/alle-seiten-und-felder.md new file mode 100644 index 0000000..d4ec6c3 --- /dev/null +++ b/docs/bedienung/frontend/alle-seiten-und-felder.md @@ -0,0 +1,1051 @@ +# Frontend-Seiten und Eingabefelder + +Diese Übersicht dient als Nutzer-Bedienung für alle Seiten des Web-Frontends. +Die Felder wurden technisch aus den Seiten erkannt und nutzerorientiert beschrieben. + +## /accounting/bwa + +- Datei: `frontend/pages/accounting/bwa.vue` +- Seitenfunktion: Finanz- und Buchhaltungsfunktionen. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Jahr | UFormField | Eingabebereich für „Jahr“. | +| Monat | UFormField | Eingabebereich für „Monat“. | +| selectedYear | USelectMenu | Eingabefeld für den internen Wert „selectedYear“. | +| selectedMonth | USelectMenu | Eingabefeld für den internen Wert „selectedMonth“. | + +## /accounting/depreciation + +- Datei: `frontend/pages/accounting/depreciation.vue` +- Seitenfunktion: Finanz- und Buchhaltungsfunktionen. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Bezeichnung | UFormField | Eingabebereich für „Bezeichnung“. | +| Sammelposten | UFormField | Eingabebereich für „Sammelposten“. | +| Methode | UFormField | Eingabebereich für „Methode“. | +| Dauer (Monate) | UFormField | Eingabebereich für „Dauer (Monate)“. | +| Start Abschreibung | UFormField | Eingabebereich für „Start Abschreibung“. | +| Restwert | UFormField | Eingabebereich für „Restwert“. | +| periodStart | UInput | Eingabefeld für den internen Wert „periodStart“. | +| periodEnd | UInput | Eingabefeld für den internen Wert „periodEnd“. | +| editState.depreciationLabel | UInput | Eingabefeld für den internen Wert „editState.depreciationLabel“. | +| editState.depreciationGroup | UInput | Eingabefeld für den internen Wert „editState.depreciationGroup“. | +| editState.depreciationMethod | USelectMenu | Eingabefeld für den internen Wert „editState.depreciationMethod“. | +| editState.depreciationMonths | UInput | Eingabefeld für den internen Wert „editState.depreciationMonths“. | +| editState.depreciationStartDate | UInput | Eingabefeld für den internen Wert „editState.depreciationStartDate“. | +| editState.residualValue | UInput | Eingabefeld für den internen Wert „editState.residualValue“. | + +## /accounting/tax + +- Datei: `frontend/pages/accounting/tax.vue` +- Seitenfunktion: Finanz- und Buchhaltungsfunktionen. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /accounts + +- Datei: `frontend/pages/accounts/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | +| selectedColumns | USelectMenu | Eingabefeld für den internen Wert „selectedColumns“. | +| selectedFilters | USelectMenu | Eingabefeld für den internen Wert „selectedFilters“. | + +## /accounts/show/:id + +- Datei: `frontend/pages/accounts/show/[id].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /administration/tenants/:id + +- Datei: `frontend/pages/administration/tenants/[id].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Name | UFormField | Eingabebereich für „Name“. | +| Kürzel | UFormField | Eingabebereich für „Kürzel“. | +| Tenant | UFormField | Eingabebereich für „Tenant“. | +| E-Mail | UFormField | Eingabebereich für „E-Mail“. | +| Initialpasswort | UFormField | Eingabebereich für „Initialpasswort“. | +| Vorname für Profil | UFormField | Eingabebereich für „Vorname für Profil“. | +| Nachname für Profil | UFormField | Eingabebereich für „Nachname für Profil“. | +| Administrative Freigabe | UFormField | Eingabebereich für „Administrative Freigabe“. | +| Multi-Tenant | UFormField | Eingabebereich für „Multi-Tenant“. | +| tenantForm.name | UInput | Eingabefeld für den internen Wert „tenantForm.name“. | +| tenantForm.short | UInput | Eingabefeld für den internen Wert „tenantForm.short“. | +| (ohne Bezeichnung) | UInput | Eingabefeld in dieser Seite. | +| createUserForm.email | UInput | Eingabefeld für den internen Wert „createUserForm.email“. | +| Leer lassen für automatisches Passwort | UInput | Eingabefeld mit Platzhalter „Leer lassen für automatisches Passwort“. | +| createUserForm.first_name | UInput | Eingabefeld für den internen Wert „createUserForm.first_name“. | +| createUserForm.last_name | UInput | Eingabefeld für den internen Wert „createUserForm.last_name“. | +| createUserForm.is_admin | USwitch | Eingabefeld für den internen Wert „createUserForm.is_admin“. | +| createUserForm.multiTenant | USwitch | Eingabefeld für den internen Wert „createUserForm.multiTenant“. | + +## /administration/tenants + +- Datei: `frontend/pages/administration/tenants/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Name | UFormField | Eingabebereich für „Name“. | +| Kürzel | UFormField | Eingabebereich für „Kürzel“. | +| Tenants suchen | UInput | Eingabefeld mit Platzhalter „Tenants suchen“. | +| createTenantForm.name | UInput | Eingabefeld für den internen Wert „createTenantForm.name“. | +| createTenantForm.short | UInput | Eingabefeld für den internen Wert „createTenantForm.short“. | + +## /administration/users/:id + +- Datei: `frontend/pages/administration/users/[id].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| E-Mail | UFormField | Eingabebereich für „E-Mail“. | +| Profil Vorname | UFormField | Eingabebereich für „Profil Vorname“. | +| Profil Nachname | UFormField | Eingabebereich für „Profil Nachname“. | +| Tenants | UFormField | Eingabebereich für „Tenants“. | +| Administrative Freigabe | UFormField | Eingabebereich für „Administrative Freigabe“. | +| Multi-Tenant | UFormField | Eingabebereich für „Multi-Tenant“. | +| Passwortwechsel erzwingen | UFormField | Eingabebereich für „Passwortwechsel erzwingen“. | +| Rolle | UFormField | Eingabebereich für „Rolle“. | +| Freies Profil | UFormField | Eingabebereich für „Freies Profil“. | +| userForm.email | UInput | Eingabefeld für den internen Wert „userForm.email“. | +| userForm.profile_defaults.first_name | UInput | Eingabefeld für den internen Wert „userForm.profile_defaults.first_name“. | +| userForm.profile_defaults.last_name | UInput | Eingabefeld für den internen Wert „userForm.profile_defaults.last_name“. | +| (ohne Bezeichnung) | USelectMenu | Eingabefeld in dieser Seite. | +| userForm.is_admin | USwitch | Eingabefeld für den internen Wert „userForm.is_admin“. | +| userForm.multiTenant | USwitch | Eingabefeld für den internen Wert „userForm.multiTenant“. | +| userForm.must_change_password | USwitch | Eingabefeld für den internen Wert „userForm.must_change_password“. | +| Rolle auswählen | USelectMenu | Eingabefeld mit Platzhalter „Rolle auswählen“. | + +## /administration/users + +- Datei: `frontend/pages/administration/users/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| E-Mail | UFormField | Eingabebereich für „E-Mail“. | +| Initialpasswort | UFormField | Eingabebereich für „Initialpasswort“. | +| Vorname für neues Profil | UFormField | Eingabebereich für „Vorname für neues Profil“. | +| Nachname für neues Profil | UFormField | Eingabebereich für „Nachname für neues Profil“. | +| Administrative Freigabe | UFormField | Eingabebereich für „Administrative Freigabe“. | +| Multi-Tenant | UFormField | Eingabebereich für „Multi-Tenant“. | +| Benutzer suchen | UInput | Eingabefeld mit Platzhalter „Benutzer suchen“. | +| createUserForm.email | UInput | Eingabefeld für den internen Wert „createUserForm.email“. | +| Leer lassen für automatisches Passwort | UInput | Eingabefeld mit Platzhalter „Leer lassen für automatisches Passwort“. | +| createUserForm.first_name | UInput | Eingabefeld für den internen Wert „createUserForm.first_name“. | +| createUserForm.last_name | UInput | Eingabefeld für den internen Wert „createUserForm.last_name“. | +| createUserForm.is_admin | USwitch | Eingabefeld für den internen Wert „createUserForm.is_admin“. | +| createUserForm.multiTenant | USwitch | Eingabefeld für den internen Wert „createUserForm.multiTenant“. | + +## /banking + +- Datei: `frontend/pages/banking/index.vue` +- Seitenfunktion: Finanz- und Buchhaltungsfunktionen. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | +| Konten | USelectMenu | Eingabefeld mit Platzhalter „Konten“. | +| selectedPeriod | USelectMenu | Eingabefeld für den internen Wert „selectedPeriod“. | +| selectedFilters | USelectMenu | Eingabefeld für den internen Wert „selectedFilters“. | + +## /banking/statements/:mode/:id? + +- Datei: `frontend/pages/banking/statements/[mode]/[[id]].vue` +- Seitenfunktion: Finanz- und Buchhaltungsfunktionen. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Betrag | UFormField | Eingabebereich für „Betrag“. | +| Konto / Manuelle Buchung | UFormField | Eingabebereich für „Konto / Manuelle Buchung“. | +| Aufwandsart | UFormField | Eingabebereich für „Aufwandsart“. | +| Abschreibungsdauer (Monate) | UFormField | Eingabebereich für „Abschreibungsdauer (Monate)“. | +| Methode | UFormField | Eingabebereich für „Methode“. | +| Start Abschreibung | UFormField | Eingabebereich für „Start Abschreibung“. | +| Restwert | UFormField | Eingabebereich für „Restwert“. | +| Sammelposten | UFormField | Eingabebereich für „Sammelposten“. | +| Bezeichnung Abschreibung | UFormField | Eingabebereich für „Bezeichnung Abschreibung“. | +| manualAllocationSum | UInput | Eingabefeld für den internen Wert „manualAllocationSum“. | +| Konto suchen... | USelectMenu | Eingabefeld mit Platzhalter „Konto suchen...“. | +| allocationBookingMode | USelectMenu | Eingabefeld für den internen Wert „allocationBookingMode“. | +| allocationDepreciationMonths | UInput | Eingabefeld für den internen Wert „allocationDepreciationMonths“. | +| allocationDepreciationMethod | USelectMenu | Eingabefeld für den internen Wert „allocationDepreciationMethod“. | +| allocationDepreciationStartDate | UInput | Eingabefeld für den internen Wert „allocationDepreciationStartDate“. | +| allocationResidualValue | UInput | Eingabefeld für den internen Wert „allocationResidualValue“. | +| z. B. Betriebsausstattung 2026 | UInput | Eingabefeld mit Platzhalter „z. B. Betriebsausstattung 2026“. | +| z. B. Werkzeugkoffer | UInput | Eingabefeld mit Platzhalter „z. B. Werkzeugkoffer“. | +| Eigenes Konto | USelectMenu | Eingabefeld mit Platzhalter „Eigenes Konto“. | +| Kunde (Guthaben) | USelectMenu | Eingabefeld mit Platzhalter „Kunde (Guthaben)“. | +| Lieferant (Guthaben) | USelectMenu | Eingabefeld mit Platzhalter „Lieferant (Guthaben)“. | +| Beschreibung für Buchung... | UInput | Eingabefeld mit Platzhalter „Beschreibung für Buchung...“. | +| Belege suchen (Nr, Name, Referenz)... | UInput | Eingabefeld mit Platzhalter „Belege suchen (Nr, Name, Referenz)...“. | + +## /calendar/:mode + +- Datei: `frontend/pages/calendar/[mode].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /createDocument/edit/:id? + +- Datei: `frontend/pages/createDocument/edit/[[id]].vue` +- Seitenfunktion: Dokumentenerstellung und Verwaltung von Ausgangsbelegen. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Dokumenttyp: | UFormField | Eingabebereich für „Dokumenttyp:“. | +| Gesamtsumme: | UFormField | Eingabebereich für „Gesamtsumme:“. | +| Prozent: | UFormField | Eingabebereich für „Prozent:“. | +| Abzurechnender Anteil: | UFormField | Eingabebereich für „Abzurechnender Anteil:“. | +| Steuertyp: | UFormField | Eingabebereich für „Steuertyp:“. | +| Briefpapier: | UFormField | Eingabebereich für „Briefpapier:“. | +| Kunde: | UFormField | Eingabebereich für „Kunde:“. | +| Ansprechpartner: | UFormField | Eingabebereich für „Ansprechpartner:“. | +| Adresse: | UFormField | Eingabebereich für „Adresse:“. | +| itemInfo.documentNumberTitle + ':' | UFormField | Eingabebereich für „itemInfo.documentNumberTitle + ':'“. | +| Lieferdatumsart: | UFormField | Eingabebereich für „Lieferdatumsart:“. | +| `${itemInfo.deliveryDateType}${['Lieferzeitraum', 'Leistungszeitraum'].includes(itemInfo.deliveryDateType) ? ' Start' : ''}:` | UFormField | Eingabebereich für „`${itemInfo.deliveryDateType}${['Lieferzeitraum', 'Leistungszeitraum'].includes(itemInfo.deliveryDateType) ? ' Start' : ''}:`“. | +| itemInfo.deliveryDateType + ' Ende:' | UFormField | Eingabebereich für „itemInfo.deliveryDateType + ' Ende:'“. | +| Belegdatum: | UFormField | Eingabebereich für „Belegdatum:“. | +| Zahlungsziel in Tagen: | UFormField | Eingabebereich für „Zahlungsziel in Tagen:“. | +| Zahlungsart: | UFormField | Eingabebereich für „Zahlungsart:“. | +| Individueller Aufschlag: | UFormField | Eingabebereich für „Individueller Aufschlag:“. | +| Mitarbeiter: | UFormField | Eingabebereich für „Mitarbeiter:“. | +| Kontakt Telefon: | UFormField | Eingabebereich für „Kontakt Telefon:“. | +| Kontakt E-Mail: | UFormField | Eingabebereich für „Kontakt E-Mail:“. | +| Im Kundenportal anzeigen: | UFormField | Eingabebereich für „Im Kundenportal anzeigen:“. | +| Objekt: | UFormField | Eingabebereich für „Objekt:“. | +| Projekt: | UFormField | Eingabebereich für „Projekt:“. | +| Vertrag: | UFormField | Eingabebereich für „Vertrag:“. | +| Datum erste Ausführung: | UFormField | Eingabebereich für „Datum erste Ausführung:“. | +| Datum letzte Ausführung: | UFormField | Eingabebereich für „Datum letzte Ausführung:“. | +| Intervall: | UFormField | Eingabebereich für „Intervall:“. | +| Richtung: | UFormField | Eingabebereich für „Richtung:“. | +| Titel: | UFormField | Eingabebereich für „Titel:“. | +| Beschreibung: | UFormField | Eingabebereich für „Beschreibung:“. | +| Vorlage auswählen | UFormField | Eingabebereich für „Vorlage auswählen“. | +| Einleitung: | UFormField | Eingabebereich für „Einleitung:“. | +| Artikelkategorie: | UFormField | Eingabebereich für „Artikelkategorie:“. | +| Leistungskategorie: | UFormField | Eingabebereich für „Leistungskategorie:“. | +| Anzahl: | UFormField | Eingabebereich für „Anzahl:“. | +| Einheit: | UFormField | Eingabebereich für „Einheit:“. | +| Einzelpreis: | UFormField | Eingabebereich für „Einzelpreis:“. | +| Umsatzsteuer: | UFormField | Eingabebereich für „Umsatzsteuer:“. | +| Rabatt: | UFormField | Eingabebereich für „Rabatt:“. | +| Optional: | UFormField | Eingabebereich für „Optional:“. | +| Alternativ: | UFormField | Eingabebereich für „Alternativ:“. | +| Menge Diesel: | UFormField | Eingabebereich für „Menge Diesel:“. | +| Preis Diesel: | UFormField | Eingabebereich für „Preis Diesel:“. | +| Menge AdBlue: | UFormField | Eingabebereich für „Menge AdBlue:“. | +| Preis AdBlue: | UFormField | Eingabebereich für „Preis AdBlue:“. | +| Nachbemerkung: | UFormField | Eingabebereich für „Nachbemerkung:“. | +| itemInfo.type | USelectMenu | Eingabefeld für den internen Wert „itemInfo.type“. | +| advanceInvoiceData.totalSumNet | UInput | Eingabefeld für den internen Wert „advanceInvoiceData.totalSumNet“. | +| advanceInvoiceData.partPerPecentage | UInput | Eingabefeld für den internen Wert „advanceInvoiceData.partPerPecentage“. | +| advanceInvoiceData.part | UInput | Eingabefeld für den internen Wert „advanceInvoiceData.part“. | +| itemInfo.taxType | USelectMenu | Eingabefeld für den internen Wert „itemInfo.taxType“. | +| itemInfo.letterhead | USelectMenu | Eingabefeld für den internen Wert „itemInfo.letterhead“. | +| itemInfo.customer | USelectMenu | Eingabefeld für den internen Wert „itemInfo.customer“. | +| (ohne Bezeichnung) | USelectMenu | Eingabefeld in dieser Seite. | +| itemInfo.address.street | UInput | Eingabefeld für den internen Wert „itemInfo.address.street“. | +| itemInfo.address.special | UInput | Eingabefeld für den internen Wert „itemInfo.address.special“. | +| itemInfo.address.zip | UInput | Eingabefeld für den internen Wert „itemInfo.address.zip“. | +| itemInfo.address.city | UInput | Eingabefeld für den internen Wert „itemInfo.address.city“. | +| XXXX | UInput | Eingabefeld mit Platzhalter „XXXX“. | +| itemInfo.deliveryDateType | USelectMenu | Eingabefeld für den internen Wert „itemInfo.deliveryDateType“. | +| itemInfo.paymentDays | UInput | Eingabefeld für den internen Wert „itemInfo.paymentDays“. | +| itemInfo.payment_type | USelectMenu | Eingabefeld für den internen Wert „itemInfo.payment_type“. | +| itemInfo.customSurchargePercentage | UInput | Eingabefeld für den internen Wert „itemInfo.customSurchargePercentage“. | +| itemInfo.created_by | USelectMenu | Eingabefeld für den internen Wert „itemInfo.created_by“. | +| itemInfo.contactTel | UInput | Eingabefeld für den internen Wert „itemInfo.contactTel“. | +| itemInfo.contactEMail | UInput | Eingabefeld für den internen Wert „itemInfo.contactEMail“. | +| itemInfo.availableInPortal | USwitch | Eingabefeld für den internen Wert „itemInfo.availableInPortal“. | +| Aktiv | UCheckbox | Eingabefeld für „Aktiv“. | +| itemInfo.serialConfig.intervall | USelectMenu | Eingabefeld für den internen Wert „itemInfo.serialConfig.intervall“. | +| itemInfo.serialConfig.dateDirection | USelectMenu | Eingabefeld für den internen Wert „itemInfo.serialConfig.dateDirection“. | +| itemInfo.title | UInput | Eingabefeld für den internen Wert „itemInfo.title“. | +| itemInfo.description | UInput | Eingabefeld für den internen Wert „itemInfo.description“. | +| itemInfo.startText | USelectMenu | Eingabefeld für den internen Wert „itemInfo.startText“. | +| itemInfo.startText | UTextarea | Eingabefeld für den internen Wert „itemInfo.startText“. | +| Titel | UInput | Eingabefeld mit Platzhalter „Titel“. | +| Text | UTextarea | Eingabefeld mit Platzhalter „Text“. | +| Name | UInput | Eingabefeld mit Platzhalter „Name“. | +| row.product | USelectMenu | Eingabefeld für den internen Wert „row.product“. | +| row.service | USelectMenu | Eingabefeld für den internen Wert „row.service“. | +| row.quantity | UInput | Eingabefeld für den internen Wert „row.quantity“. | +| row.unit | USelectMenu | Eingabefeld für den internen Wert „row.unit“. | +| row.inputPrice | UInput | Eingabefeld für den internen Wert „row.inputPrice“. | +| row.taxPercent | USelectMenu | Eingabefeld für den internen Wert „row.taxPercent“. | +| 0 | UInput | Eingabefeld mit Platzhalter „0“. | +| row.optional | USwitch | Eingabefeld für den internen Wert „row.optional“. | +| row.alternative | USwitch | Eingabefeld für den internen Wert „row.alternative“. | +| row.description | UTextarea | Eingabefeld für den internen Wert „row.description“. | +| row.agriculture.dieselUsage | UInput | Eingabefeld für den internen Wert „row.agriculture.dieselUsage“. | +| row.agriculture.dieselPrice | UInput | Eingabefeld für den internen Wert „row.agriculture.dieselPrice“. | +| row.agriculture.adblueUsage | UInput | Eingabefeld für den internen Wert „row.agriculture.adblueUsage“. | +| row.agriculture.adbluePrice | UInput | Eingabefeld für den internen Wert „row.agriculture.adbluePrice“. | +| itemInfo.endText | USelectMenu | Eingabefeld für den internen Wert „itemInfo.endText“. | +| itemInfo.endText | UTextarea | Eingabefeld für den internen Wert „itemInfo.endText“. | + +## /createDocument + +- Datei: `frontend/pages/createDocument/index.vue` +- Seitenfunktion: Dokumentenerstellung und Verwaltung von Ausgangsbelegen. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | +| (ohne Bezeichnung) | USelectMenu | Eingabefeld in dieser Seite. | + +## /createDocument/serialInvoice + +- Datei: `frontend/pages/createDocument/serialInvoice.vue` +- Seitenfunktion: Dokumentenerstellung und Verwaltung von Ausgangsbelegen. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Ausführungsdatum (Belegdatum) | UFormField | Eingabebereich für „Ausführungsdatum (Belegdatum)“. | +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | +| selectedFilters | USelectMenu | Eingabefeld für den internen Wert „selectedFilters“. | +| executionDate | UInput | Eingabefeld für den internen Wert „executionDate“. | +| Kunde oder Vertrag suchen... | UInput | Eingabefeld mit Platzhalter „Kunde oder Vertrag suchen...“. | +| selectedExecutionIntervall | USelectMenu | Eingabefeld für den internen Wert „selectedExecutionIntervall“. | +| (ohne Bezeichnung) | UCheckbox | Eingabefeld in dieser Seite. | + +## /createDocument/show/:id + +- Datei: `frontend/pages/createDocument/show/[id].vue` +- Seitenfunktion: Dokumentenerstellung und Verwaltung von Ausgangsbelegen. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /createdletters/:mode/:id? + +- Datei: `frontend/pages/createdletters/[mode]/[[id]].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /customer-portal + +- Datei: `frontend/pages/customer-portal.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Name / Firma | UFormField | Eingabebereich für „Name / Firma“. | +| Firmenzusatz | UFormField | Eingabebereich für „Firmenzusatz“. | +| Anrede | UFormField | Eingabebereich für „Anrede“. | +| Titel | UFormField | Eingabebereich für „Titel“. | +| Vorname | UFormField | Eingabebereich für „Vorname“. | +| Nachname | UFormField | Eingabebereich für „Nachname“. | +| E-Mail | UFormField | Eingabebereich für „E-Mail“. | +| Rechnungs-E-Mail | UFormField | Eingabebereich für „Rechnungs-E-Mail“. | +| Telefon | UFormField | Eingabebereich für „Telefon“. | +| Mobil | UFormField | Eingabebereich für „Mobil“. | +| Webseite | UFormField | Eingabebereich für „Webseite“. | +| Land | UFormField | Eingabebereich für „Land“. | +| Strasse | UFormField | Eingabebereich für „Strasse“. | +| Adresszusatz | UFormField | Eingabebereich für „Adresszusatz“. | +| PLZ | UFormField | Eingabebereich für „PLZ“. | +| Ort | UFormField | Eingabebereich für „Ort“. | +| customerForm.name | UInput | Eingabefeld für den internen Wert „customerForm.name“. | +| customerForm.nameAddition | UInput | Eingabefeld für den internen Wert „customerForm.nameAddition“. | +| customerForm.salutation | UInput | Eingabefeld für den internen Wert „customerForm.salutation“. | +| customerForm.title | UInput | Eingabefeld für den internen Wert „customerForm.title“. | +| customerForm.firstname | UInput | Eingabefeld für den internen Wert „customerForm.firstname“. | +| customerForm.lastname | UInput | Eingabefeld für den internen Wert „customerForm.lastname“. | +| customerForm.email | UInput | Eingabefeld für den internen Wert „customerForm.email“. | +| customerForm.invoiceEmail | UInput | Eingabefeld für den internen Wert „customerForm.invoiceEmail“. | +| customerForm.phone | UInput | Eingabefeld für den internen Wert „customerForm.phone“. | +| customerForm.mobile | UInput | Eingabefeld für den internen Wert „customerForm.mobile“. | +| customerForm.website | UInput | Eingabefeld für den internen Wert „customerForm.website“. | +| customerForm.country | UInput | Eingabefeld für den internen Wert „customerForm.country“. | +| customerForm.street | UInput | Eingabefeld für den internen Wert „customerForm.street“. | +| customerForm.special | UInput | Eingabefeld für den internen Wert „customerForm.special“. | +| customerForm.zip | UInput | Eingabefeld für den internen Wert „customerForm.zip“. | +| customerForm.city | UInput | Eingabefeld für den internen Wert „customerForm.city“. | + +## /email/new + +- Datei: `frontend/pages/email/new.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Absender | UFormField | Eingabebereich für „Absender“. | +| Empfänger | UFormField | Eingabebereich für „Empfänger“. | +| Kopie | UFormField | Eingabebereich für „Kopie“. | +| Blindkopie | UFormField | Eingabebereich für „Blindkopie“. | +| Betreff | UFormField | Eingabebereich für „Betreff“. | +| emailData.account | USelectMenu | Eingabefeld für den internen Wert „emailData.account“. | +| emailData.to | UInput | Eingabefeld für den internen Wert „emailData.to“. | +| emailData.cc | UInput | Eingabefeld für den internen Wert „emailData.cc“. | +| emailData.bcc | UInput | Eingabefeld für den internen Wert „emailData.bcc“. | +| emailData.subject | UInput | Eingabefeld für den internen Wert „emailData.subject“. | +| (ohne Bezeichnung) | UInput | Eingabefeld in dieser Seite. | + +## /export/create/sepa + +- Datei: `frontend/pages/export/create/sepa.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /export + +- Datei: `frontend/pages/export/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Start: | UFormField | Eingabebereich für „Start:“. | +| Ende: | UFormField | Eingabebereich für „Ende:“. | + +## /files + +- Datei: `frontend/pages/files/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Name | UFormField | Eingabebereich für „Name“. | +| Standard Dateityp (Tag) | UFormField | Eingabebereich für „Standard Dateityp (Tag)“. | +| Neuer Name | UFormField | Eingabebereich für „Neuer Name“. | +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | +| displayMode | USelectMenu | Eingabefeld für den internen Wert „displayMode“. | +| createFolderData.name | UInput | Eingabefeld für den internen Wert „createFolderData.name“. | +| Kein Standardtyp | USelectMenu | Eingabefeld mit Platzhalter „Kein Standardtyp“. | +| Dateityp ist optional | UCheckbox | Eingabefeld für „Dateityp ist optional“. | +| renameData.name | UInput | Eingabefeld für den internen Wert „renameData.name“. | + +## /forms + +- Datei: `frontend/pages/forms.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /helpdesk/:id? + +- Datei: `frontend/pages/helpdesk/[[id]].vue` +- Seitenfunktion: Support- und Kommunikationsprozesse. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Status filtern | USelect | Eingabefeld mit Platzhalter „Status filtern“. | +| selectedConversation.status | USelect | Eingabefeld für den internen Wert „selectedConversation.status“. | +| Nachricht eingeben... | UInput | Eingabefeld mit Platzhalter „Nachricht eingeben...“. | + +## /historyitems + +- Datei: `frontend/pages/historyitems/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /incomingInvoices/:mode/:id + +- Datei: `frontend/pages/incomingInvoices/[mode]/[id].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Lieferant / Partner | UFormField | Eingabebereich für „Lieferant / Partner“. | +| Rechnungsnummer | UFormField | Eingabebereich für „Rechnungsnummer“. | +| Zahlart | UFormField | Eingabebereich für „Zahlart“. | +| Rechnungsdatum | UFormField | Eingabebereich für „Rechnungsdatum“. | +| Fälligkeitsdatum | UFormField | Eingabebereich für „Fälligkeitsdatum“. | +| Beschreibung / Notiz | UFormField | Eingabebereich für „Beschreibung / Notiz“. | +| Konto / Kategorie | UFormField | Eingabebereich für „Konto / Kategorie“. | +| Aufwandsart | UFormField | Eingabebereich für „Aufwandsart“. | +| Kostenstelle | UFormField | Eingabebereich für „Kostenstelle“. | +| Abschreibungsdauer (Monate) | UFormField | Eingabebereich für „Abschreibungsdauer (Monate)“. | +| Methode | UFormField | Eingabebereich für „Methode“. | +| Start Abschreibung | UFormField | Eingabebereich für „Start Abschreibung“. | +| item.bookingMode === 'depreciation_bundle' ? 'Sammelposten' : 'Bezeichnung Abschreibung' | UFormField | Eingabebereich für „item.bookingMode === 'depreciation_bundle' ? 'Sammelposten' : 'Bezeichnung Abschreibung'“. | +| Betrag (Netto) | UFormField | Eingabebereich für „Betrag (Netto)“. | +| Betrag (Brutto) | UFormField | Eingabebereich für „Betrag (Brutto)“. | +| Steuerschlüssel | UFormField | Eingabebereich für „Steuerschlüssel“. | +| Steuerbetrag | UFormField | Eingabebereich für „Steuerbetrag“. | +| itemInfo.vendor | USelectMenu | Eingabefeld für den internen Wert „itemInfo.vendor“. | +| itemInfo.reference | UInput | Eingabefeld für den internen Wert „itemInfo.reference“. | +| itemInfo.paymentType | USelectMenu | Eingabefeld für den internen Wert „itemInfo.paymentType“. | +| itemInfo.description | UTextarea | Eingabefeld für den internen Wert „itemInfo.description“. | +| useNetMode | USwitch | Eingabefeld für den internen Wert „useNetMode“. | +| item.account | USelectMenu | Eingabefeld für den internen Wert „item.account“. | +| item.bookingMode | USelectMenu | Eingabefeld für den internen Wert „item.bookingMode“. | +| item.costCentre | USelectMenu | Eingabefeld für den internen Wert „item.costCentre“. | +| item.depreciationMonths | UInput | Eingabefeld für den internen Wert „item.depreciationMonths“. | +| item.depreciationMethod | USelectMenu | Eingabefeld für den internen Wert „item.depreciationMethod“. | +| item.depreciationStartDate | UInput | Eingabefeld für den internen Wert „item.depreciationStartDate“. | +| item.bookingMode === 'depreciation_bundle' ? 'z. B. IT-Hardware 2026' : 'z. B. Notebook Fuhrpark' | UInput | Eingabefeld mit Platzhalter „item.bookingMode === 'depreciation_bundle' ? 'z. B. IT-Hardware 2026' : 'z. B. Notebook Fuhrpark' “. | +| (ohne Bezeichnung) | UInput | Eingabefeld in dieser Seite. | +| item.taxType | USelectMenu | Eingabefeld für den internen Wert „item.taxType“. | +| Positionstext (optional) | UInput | Eingabefeld mit Platzhalter „Positionstext (optional)“. | + +## /incomingInvoices + +- Datei: `frontend/pages/incomingInvoices/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | +| selectedColumns | USelectMenu | Eingabefeld für den internen Wert „selectedColumns“. | +| (ohne Bezeichnung) | USelectMenu | Eingabefeld in dieser Seite. | + +## / + +- Datei: `frontend/pages/index.client.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /login + +- Datei: `frontend/pages/login.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| E-Mail | UFormField | Eingabebereich für „E-Mail“. | +| Passwort | UFormField | Eingabebereich für „Passwort“. | +| Deine E-Mail Adresse | UInput | Eingabefeld mit Platzhalter „Deine E-Mail Adresse“. | +| Dein Passwort | UInput | Eingabefeld mit Platzhalter „Dein Passwort“. | + +## /organisation/plantafel + +- Datei: `frontend/pages/organisation/plantafel.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Name | UFormField | Eingabebereich für „Name“. | +| Farbe | UFormField | Eingabebereich für „Farbe“. | +| Profil | UFormField | Eingabebereich für „Profil“. | +| Typ | UFormField | Eingabebereich für „Typ“. | +| Start | UFormField | Eingabebereich für „Start“. | +| Ende | UFormField | Eingabebereich für „Ende“. | +| Notiz | UFormField | Eingabebereich für „Notiz“. | +| selectedType | USelectMenu | Eingabefeld für den internen Wert „selectedType“. | +| calendarView | USelectMenu | Eingabefeld für den internen Wert „calendarView“. | +| quickEntryConfig.name | UInput | Eingabefeld für den internen Wert „quickEntryConfig.name“. | +| quickEntryConfig.color | UInput | Eingabefeld für den internen Wert „quickEntryConfig.color“. | +| absenceForm.userId | USelectMenu | Eingabefeld für den internen Wert „absenceForm.userId“. | +| absenceForm.type | USelectMenu | Eingabefeld für den internen Wert „absenceForm.type“. | +| absenceForm.type === 'sick' ? 'z. B. Krankmeldung eingegangen' : 'z. B. Sommerurlaub' | UTextarea | Eingabefeld mit Platzhalter „absenceForm.type === 'sick' ? 'z. B. Krankmeldung eingegangen' : 'z. B. Sommerurlaub'“. | + +## /password-change + +- Datei: `frontend/pages/password-change.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Altes Passwort | UFormField | Eingabebereich für „Altes Passwort“. | +| Neues Passwort | UFormField | Eingabebereich für „Neues Passwort“. | +| Dein altes Passwort | UInput | Eingabefeld mit Platzhalter „Dein altes Passwort“. | +| Dein neues Passwort | UInput | Eingabefeld mit Platzhalter „Dein neues Passwort“. | + +## /password-reset + +- Datei: `frontend/pages/password-reset.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| E-Mail | UFormField | Eingabebereich für „E-Mail“. | +| Deine E-Mail Adresse | UInput | Eingabefeld mit Platzhalter „Deine E-Mail Adresse“. | + +## /projecttypes/:mode/:id? + +- Datei: `frontend/pages/projecttypes/[mode]/[[id]].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Name: | UFormField | Eingabebereich für „Name:“. | +| itemInfo.name | UInput | Eingabefeld für den internen Wert „itemInfo.name“. | +| Name | UInput | Eingabefeld mit Platzhalter „Name“. | +| Icon | UInput | Eingabefeld mit Platzhalter „Icon“. | +| phase.optional | UCheckbox | Eingabefeld für den internen Wert „phase.optional“. | +| Beschreibung | UInput | Eingabefeld mit Platzhalter „Beschreibung“. | + +## /projecttypes + +- Datei: `frontend/pages/projecttypes/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | + +## /roles/:mode/:id? + +- Datei: `frontend/pages/roles/[mode]/[[id]].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Name: | UFormField | Eingabebereich für „Name:“. | +| Rechte: | UFormField | Eingabebereich für „Rechte:“. | +| Beschreibung: | UFormField | Eingabebereich für „Beschreibung:“. | +| itemInfo.name | UInput | Eingabefeld für den internen Wert „itemInfo.name“. | +| itemInfo.rights | USelectMenu | Eingabefeld für den internen Wert „itemInfo.rights“. | +| itemInfo.description | UTextarea | Eingabefeld für den internen Wert „itemInfo.description“. | + +## /roles + +- Datei: `frontend/pages/roles/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /settings/admin + +- Datei: `frontend/pages/settings/admin.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /settings/banking + +- Datei: `frontend/pages/settings/banking/index.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| BIC: | UFormField | Eingabebereich für „BIC:“. | +| bicBankToAdd | UInput | Eingabefeld für den internen Wert „bicBankToAdd“. | + +## /settings/emailaccounts/:mode/:id? + +- Datei: `frontend/pages/settings/emailaccounts/[mode]/[[id]].vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| E-Mail Adresse | UFormField | Eingabebereich für „E-Mail Adresse“. | +| Passwort | UFormField | Eingabebereich für „Passwort“. | +| IMAP Host | UFormField | Eingabebereich für „IMAP Host“. | +| IMAP Port | UFormField | Eingabebereich für „IMAP Port“. | +| IMAP SSL | UFormField | Eingabebereich für „IMAP SSL“. | +| SMTP Host | UFormField | Eingabebereich für „SMTP Host“. | +| SMTP Port | UFormField | Eingabebereich für „SMTP Port“. | +| SMTP SSL | UFormField | Eingabebereich für „SMTP SSL“. | +| itemInfo.email | UInput | Eingabefeld für den internen Wert „itemInfo.email“. | +| ******** | UInput | Eingabefeld mit Platzhalter „********“. | +| itemInfo.imap_host | UInput | Eingabefeld für den internen Wert „itemInfo.imap_host“. | +| itemInfo.imap_port | UInput | Eingabefeld für den internen Wert „itemInfo.imap_port“. | +| itemInfo.imap_ssl | USwitch | Eingabefeld für den internen Wert „itemInfo.imap_ssl“. | +| itemInfo.smtp_host | UInput | Eingabefeld für den internen Wert „itemInfo.smtp_host“. | +| itemInfo.smtp_port | UInput | Eingabefeld für den internen Wert „itemInfo.smtp_port“. | +| itemInfo.smtp_ssl | USwitch | Eingabefeld für den internen Wert „itemInfo.smtp_ssl“. | + +## /settings/emailaccounts + +- Datei: `frontend/pages/settings/emailaccounts/index.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| E-Mail Adresse: | UFormField | Eingabebereich für „E-Mail Adresse:“. | +| Account Typ: | UFormField | Eingabebereich für „Account Typ:“. | +| createEMailAddress | UInput | Eingabefeld für den internen Wert „createEMailAddress“. | +| createEMailType | USelectMenu | Eingabefeld für den internen Wert „createEMailType“. | + +## /settings/externalDevices + +- Datei: `frontend/pages/settings/externalDevices.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| IP-Adresse: | UFormField | Eingabebereich für „IP-Adresse:“. | +| labelPrinterURI | UInput | Eingabefeld für den internen Wert „labelPrinterURI“. | + +## /settings + +- Datei: `frontend/pages/settings/index.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /settings/numberRanges + +- Datei: `frontend/pages/settings/numberRanges.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| numberRanges[key].prefix | UInput | Eingabefeld für den internen Wert „numberRanges[key].prefix“. | +| numberRanges[key].nextNumber | UInput | Eingabefeld für den internen Wert „numberRanges[key].nextNumber“. | +| numberRanges[key].suffix | UInput | Eingabefeld für den internen Wert „numberRanges[key].suffix“. | + +## /settings/ownfields + +- Datei: `frontend/pages/settings/ownfields.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /settings/tenant + +- Datei: `frontend/pages/settings/tenant.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Firmenname: | UFormField | Eingabebereich für „Firmenname:“. | +| Straße + Hausnummer: | UFormField | Eingabebereich für „Straße + Hausnummer:“. | +| PLZ + Ort | UFormField | Eingabebereich für „PLZ + Ort“. | +| Kontenrahmen: | UFormField | Eingabebereich für „Kontenrahmen:“. | +| USt-Auswertung: | UFormField | Eingabebereich für „USt-Auswertung:“. | +| businessInfo.name | UInput | Eingabefeld für den internen Wert „businessInfo.name“. | +| businessInfo.street | UInput | Eingabefeld für den internen Wert „businessInfo.street“. | +| businessInfo.zip | UInput | Eingabefeld für den internen Wert „businessInfo.zip“. | +| businessInfo.city | UInput | Eingabefeld für den internen Wert „businessInfo.city“. | +| accountChart | USelectMenu | Eingabefeld für den internen Wert „accountChart“. | +| taxEvaluationPeriod | USelectMenu | Eingabefeld für den internen Wert „taxEvaluationPeriod“. | +| option.label | UCheckbox | Eingabefeld für „option.label“. | + +## /settings/texttemplates + +- Datei: `frontend/pages/settings/texttemplates.vue` +- Seitenfunktion: Konfiguration und Stammdatenpflege. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Bezeichnung | UFormField | Eingabebereich für „Bezeichnung“. | +| Dokumententyp | UFormField | Eingabebereich für „Dokumententyp“. | +| Position | UFormField | Eingabebereich für „Position“. | +| Text Inhalt | UFormField | Eingabebereich für „Text Inhalt“. | +| z.B. Standard Angebotstext | UInput | Eingabefeld mit Platzhalter „z.B. Standard Angebotstext“. | +| itemInfo.documentType | USelectMenu | Eingabefeld für den internen Wert „itemInfo.documentType“. | +| itemInfo.pos | USelectMenu | Eingabefeld für den internen Wert „itemInfo.pos“. | +| Sehr geehrte Damen und Herren... | UTextarea | Eingabefeld mit Platzhalter „Sehr geehrte Damen und Herren...“. | +| Als Standard für diesen Typ verwenden | UCheckbox | Eingabefeld für „Als Standard für diesen Typ verwenden“. | + +## /staff/profiles/:id + +- Datei: `frontend/pages/staff/profiles/[id].vue` +- Seitenfunktion: Mitarbeiterbezogene Verwaltung und Zeiterfassung. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Vorname | UFormField | Eingabebereich für „Vorname“. | +| Nachname | UFormField | Eingabebereich für „Nachname“. | +| E-Mail | UFormField | Eingabebereich für „E-Mail“. | +| Telefon (Mobil) | UFormField | Eingabebereich für „Telefon (Mobil)“. | +| Telefon (Festnetz) | UFormField | Eingabebereich für „Telefon (Festnetz)“. | +| Geburtstag | UFormField | Eingabebereich für „Geburtstag“. | +| Vertragsart | UFormField | Eingabebereich für „Vertragsart“. | +| Status | UFormField | Eingabebereich für „Status“. | +| Position | UFormField | Eingabebereich für „Position“. | +| Qualifikation | UFormField | Eingabebereich für „Qualifikation“. | +| Eintrittsdatum | UFormField | Eingabebereich für „Eintrittsdatum“. | +| Wöchentliche Arbeitszeit (Std) | UFormField | Eingabebereich für „Wöchentliche Arbeitszeit (Std)“. | +| Bezahlte Urlaubstage (Jahr) | UFormField | Eingabebereich für „Bezahlte Urlaubstage (Jahr)“. | +| Aktiv | UFormField | Eingabebereich für „Aktiv“. | +| Primäre Niederlassung | UFormField | Eingabebereich für „Primäre Niederlassung“. | +| Weitere Niederlassungen | UFormField | Eingabebereich für „Weitere Niederlassungen“. | +| Team-Zuordnung | UFormField | Eingabebereich für „Team-Zuordnung“. | +| Hinweis | UFormField | Eingabebereich für „Hinweis“. | +| Straße und Hausnummer | UFormField | Eingabebereich für „Straße und Hausnummer“. | +| PLZ | UFormField | Eingabebereich für „PLZ“. | +| Ort | UFormField | Eingabebereich für „Ort“. | +| Bundesland | UFormField | Eingabebereich für „Bundesland“. | +| Kleidergröße (Oberteil) | UFormField | Eingabebereich für „Kleidergröße (Oberteil)“. | +| Kleidergröße (Hose) | UFormField | Eingabebereich für „Kleidergröße (Hose)“. | +| Schuhgröße | UFormField | Eingabebereich für „Schuhgröße“. | +| Token-ID | UFormField | Eingabebereich für „Token-ID“. | +| profile.first_name | UInput | Eingabefeld für den internen Wert „profile.first_name“. | +| profile.last_name | UInput | Eingabefeld für den internen Wert „profile.last_name“. | +| profile.email | UInput | Eingabefeld für den internen Wert „profile.email“. | +| profile.mobile_tel | UInput | Eingabefeld für den internen Wert „profile.mobile_tel“. | +| profile.fixed_tel | UInput | Eingabefeld für den internen Wert „profile.fixed_tel“. | +| profile.birthday | UInput | Eingabefeld für den internen Wert „profile.birthday“. | +| profile.contract_type | UInput | Eingabefeld für den internen Wert „profile.contract_type“. | +| profile.status | UInput | Eingabefeld für den internen Wert „profile.status“. | +| profile.position | UInput | Eingabefeld für den internen Wert „profile.position“. | +| profile.qualification | UInput | Eingabefeld für den internen Wert „profile.qualification“. | +| profile.entry_date | UInput | Eingabefeld für den internen Wert „profile.entry_date“. | +| profile.weekly_working_hours | UInput | Eingabefeld für den internen Wert „profile.weekly_working_hours“. | +| profile.annual_paid_leave_days | UInput | Eingabefeld für den internen Wert „profile.annual_paid_leave_days“. | +| profile.active | USwitch | Eingabefeld für den internen Wert „profile.active“. | +| (ohne Bezeichnung) | USelectMenu | Eingabefeld in dieser Seite. | +| profile.address_street | UInput | Eingabefeld für den internen Wert „profile.address_street“. | +| profile.address_zip | UInput | Eingabefeld für den internen Wert „profile.address_zip“. | +| profile.address_city | UInput | Eingabefeld für den internen Wert „profile.address_city“. | +| Bundesland auswählen | USelectMenu | Eingabefeld mit Platzhalter „Bundesland auswählen“. | +| 0 | UInput | Eingabefeld mit Platzhalter „0“. | +| profile.clothing_size_top | UInput | Eingabefeld für den internen Wert „profile.clothing_size_top“. | +| profile.clothing_size_bottom | UInput | Eingabefeld für den internen Wert „profile.clothing_size_bottom“. | +| profile.clothing_size_shoe | UInput | Eingabefeld für den internen Wert „profile.clothing_size_shoe“. | +| profile.token_id | UInput | Eingabefeld für den internen Wert „profile.token_id“. | + +## /staff/profiles + +- Datei: `frontend/pages/staff/profiles/index.vue` +- Seitenfunktion: Mitarbeiterbezogene Verwaltung und Zeiterfassung. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /staff/time/:id/evaluate + +- Datei: `frontend/pages/staff/time/[id]/evaluate.vue` +- Seitenfunktion: Mitarbeiterbezogene Verwaltung und Zeiterfassung. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Zeitraum: | UFormField | Eingabebereich für „Zeitraum:“. | +| Start: | UFormField | Eingabebereich für „Start:“. | +| Ende: | UFormField | Eingabebereich für „Ende:“. | +| selectedPresetRange | USelectMenu | Eingabefeld für den internen Wert „selectedPresetRange“. | +| Zeitraum wählen | USelectMenu | Eingabefeld mit Platzhalter „Zeitraum wählen“. | + +## /staff/time + +- Datei: `frontend/pages/staff/time/index.vue` +- Seitenfunktion: Mitarbeiterbezogene Verwaltung und Zeiterfassung. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Grund (optional) | UFormField | Eingabebereich für „Grund (optional)“. | +| Benutzer auswählen | USelectMenu | Eingabefeld mit Platzhalter „Benutzer auswählen“. | +| Falsche Buchung, Doppelt, etc. | UTextarea | Eingabefeld mit Platzhalter „Falsche Buchung, Doppelt, etc.“. | + +## /standardEntity/:type/:mode/:id? + +- Datei: `frontend/pages/standardEntity/[type]/[mode]/[[id]].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /standardEntity/:type + +- Datei: `frontend/pages/standardEntity/[type]/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Suche... | UInput | Eingabefeld mit Platzhalter „Suche...“. | +| pageLimit | USelectMenu | Eingabefeld für den internen Wert „pageLimit“. | +| selectedColumns | USelectMenu | Eingabefeld für den internen Wert „selectedColumns“. | +| columnsToFilter[column.key] | USelectMenu | Eingabefeld für den internen Wert „columnsToFilter[column.key]“. | +| Auswählen… | USelectMenu | Eingabefeld mit Platzhalter „Auswählen…“. | + +## /support/:id + +- Datei: `frontend/pages/support/[id].vue` +- Seitenfunktion: Support- und Kommunikationsprozesse. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Neue Nachricht senden | UTextarea | Eingabefeld mit Platzhalter „Neue Nachricht senden“. | + +## /support/create + +- Datei: `frontend/pages/support/create.vue` +- Seitenfunktion: Support- und Kommunikationsprozesse. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Titel: | UFormField | Eingabebereich für „Titel:“. | +| Nachricht: | UFormField | Eingabebereich für „Nachricht:“. | +| itemInfo.title | UInput | Eingabefeld für den internen Wert „itemInfo.title“. | +| itemInfo.content | UTextarea | Eingabefeld für den internen Wert „itemInfo.content“. | + +## /support + +- Datei: `frontend/pages/support/index.vue` +- Seitenfunktion: Support- und Kommunikationsprozesse. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Geschlossene Tickets anzeigen | UCheckbox | Eingabefeld für „Geschlossene Tickets anzeigen“. | +| selectedTenant | USelectMenu | Eingabefeld für den internen Wert „selectedTenant“. | + +## /tasks/:mode/:id? + +- Datei: `frontend/pages/tasks/[mode]/[[id]].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /tasks + +- Datei: `frontend/pages/tasks/index.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Aufgaben durchsuchen... | UInput | Eingabefeld mit Platzhalter „Aufgaben durchsuchen...“. | +| Nur meine Aufgaben | UCheckbox | Eingabefeld für „Nur meine Aufgaben“. | +| taskForm.name | UInput | Eingabefeld für den internen Wert „taskForm.name“. | +| taskForm.description | UTextarea | Eingabefeld für den internen Wert „taskForm.description“. | +| taskForm.categorie | USelectMenu | Eingabefeld für den internen Wert „taskForm.categorie“. | +| taskForm.userId | USelectMenu | Eingabefeld für den internen Wert „taskForm.userId“. | +| taskForm.project | USelectMenu | Eingabefeld für den internen Wert „taskForm.project“. | +| taskForm.customer | USelectMenu | Eingabefeld für den internen Wert „taskForm.customer“. | +| taskForm.plant | USelectMenu | Eingabefeld für den internen Wert „taskForm.plant“. | + +## /test + +- Datei: `frontend/pages/test.vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +Auf dieser Seite wurden keine direkten Eingabefelder erkannt. + +## /wiki/:id? + +- Datei: `frontend/pages/wiki/[[id]].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| Titel | UFormField | Eingabebereich für „Titel“. | +| Suchen... | UInput | Eingabefeld mit Platzhalter „Suchen...“. | +| z.B. Meeting Notes | UInput | Eingabefeld mit Platzhalter „z.B. Meeting Notes“. | + +## /workflows/:token + +- Datei: `frontend/pages/workflows/[token].vue` +- Seitenfunktion: Funktionsseite im FEDEO-Frontend. + +### Felder + +| Feld | Komponente | Erklärung | +|---|---|---| +| PIN | UInput | Eingabefeld mit Platzhalter „PIN“. | + diff --git a/docs/bedienung/frontend/ausgangsbelege-editor.md b/docs/bedienung/frontend/ausgangsbelege-editor.md new file mode 100644 index 0000000..2432742 --- /dev/null +++ b/docs/bedienung/frontend/ausgangsbelege-editor.md @@ -0,0 +1,62 @@ +# Ausgangsbeleg-Editor + +Seite: `/createDocument/edit/:id?` + +Diese Maske dient zum Erstellen und Bearbeiten von Ausgangsbelegen wie Rechnungen, Abschlagsrechnungen, Angebote, Lieferscheine, Packscheine und Serienrechnungen. + +## Bereich: Grunddaten + +- `Dokumenttyp`: Legt die Belegart fest und steuert verfügbare Felder sowie Nummernlogik. +- `Steuertyp`: Steuert Steuerberechnung und Steuertexte (z. B. Standard, 13b UStG, 19 UStG, 12.3 UStG). +- `Briefpapier`: Definiert das verwendete Layout/Letterhead für PDF und Druck. +- `Kunde`: Hauptempfänger des Belegs; beeinflusst Vorschlagswerte (Adresse, Zahlungsart, Zahlungsziel). +- `Ansprechpartner`: Kontaktperson beim Kunden für den Beleg. +- `Adresse`: + - `Straße + Hausnummer`: Liefer-/Rechnungsstraße. + - `Adresszusatz`: Zusätzliche Adressinformationen. + - `PLZ`: Postleitzahl. + - `Ort`: Ort der Adresse. +- `Belegnummer` (z. B. Rechnungsnummer): Eindeutige Referenz des Belegs. +- `Lieferdatumsart`: Definiert, ob Einzel- oder Zeitraumdatum angezeigt wird. +- `Liefer-/Leistungsdatum Start`: Startdatum für Leistung/Lieferung. +- `Liefer-/Leistungsdatum Ende`: Enddatum bei Zeitraum. +- `Belegdatum`: Offizielles Dokumentdatum. +- `Zahlungsziel in Tagen`: Frist bis zur Fälligkeit (für Rechnungsarten). +- `Zahlungsart`: Überweisung oder SEPA-Lastschrift. +- `Individueller Aufschlag`: Prozentualer Zuschlag auf Positionen laut Beleglogik. +- `Mitarbeiter`: Verantwortlicher Bearbeiter/Ersteller. +- `Kontakt Telefon`: Telefon des Ansprechpartners im Dokument. +- `Kontakt E-Mail`: E-Mail des Ansprechpartners im Dokument. +- `Im Kundenportal anzeigen`: Gibt den Beleg für das Portal frei. +- `Objekt`: Zugeordnetes Objekt/Standort. +- `Projekt`: Zugeordnetes Projekt. +- `Vertrag`: Zugeordneter Vertrag. + +## Bereich: Serienrechnung (nur Typ `serialInvoices`) + +- `Datum erste Ausführung`: Start der automatischen Ausführung. +- `Datum letzte Ausführung`: Enddatum der Serienausführung. +- `Aktiv`: Aktiviert/deaktiviert die Serienlogik. +- `Intervall`: Ausführungsrhythmus (z. B. monatlich, vierteljährlich). +- `Richtung`: Zeitliche Berechnung (rückwirkend oder im Voraus). + +## Bereich: Inhaltstexte + +- `Titel`: Belegtitel (abhängig von Belegart und Nummernlogik). +- `Beschreibung`: Kurzbeschreibung unterhalb des Titels. +- `Vorlage auswählen`: Übernimmt Textbausteine in den Einleitungstext. +- `Einleitung`: Freitext vor den Positionen. +- `Positionen`: Zeilen mit Mengen, Einheiten, Preisen, Steuern, Rabatten und Summen. + +## Bereich: Aktionen + +- `Speichern`: Persistiert Entwurf oder Änderungen. +- `Buchen`: Finalisiert den Beleg (abhängig von Belegart/Validierung). +- `PDF/Vorschau`: Erstellt Vorschau bzw. Ausgabe. +- `Kopier-/Übernahmefunktionen`: Übernimmt Inhalte aus verknüpften Dokumenten (z. B. Lieferschein zu Rechnung). + +## Typische Eingabefehler vermeiden + +- Vor dem Buchen immer `Briefpapier`, `Kunde`, `Belegdatum` und (bei Rechnungstypen) `Zahlungsziel` prüfen. +- Bei Zeiträumen Start und Ende vollständig setzen. +- Für Portalfreigabe prüfen, ob Belegstatus nicht mehr `Entwurf` ist. diff --git a/docs/bedienung/frontend/serienrechnungen.md b/docs/bedienung/frontend/serienrechnungen.md new file mode 100644 index 0000000..db23f46 --- /dev/null +++ b/docs/bedienung/frontend/serienrechnungen.md @@ -0,0 +1,41 @@ +# Serienrechnungen + +Seite: `/createDocument/serialInvoice` + +Diese Seite verwaltet Vorlagen für Serienrechnungen und erlaubt die manuelle Ausführung von Rechnungsläufen. + +## Oberer Bereich + +- `Suche`: Filtert die Vorlagenliste. +- `Ausführungen`: Öffnet die Übersicht bestehender Ausführungsläufe. +- `Ausführen`: Startet den Dialog zur manuellen Ausführung. +- `+ Serienrechnung`: Öffnet den Editor zur Anlage einer neuen Serienrechnungsvorlage. + +## Filterbereich + +- `Filter`: Mehrfachfilter für die Tabellenansicht (je nach verfügbarer Konfiguration). + +## Dialog: Serienrechnungen manuell ausführen + +- `Ausführungsdatum (Belegdatum)`: Dokumentdatum für den Lauf; beeinflusst Leistungszeitraum laut Konfiguration. +- `Heute`: Setzt das Ausführungsdatum auf den aktuellen Tag. +- `Kunde oder Vertrag suchen`: Freitextsuche innerhalb der Vorlagenliste. +- `Intervall`: Filtert Vorlagen nach Ausführungsrhythmus. +- `Alle auswählen`: Markiert alle sichtbaren Vorlagen. +- `Keine`: Entfernt die Auswahl. +- `Checkbox je Zeile`: Wählt einzelne Vorlagen aus. +- `Ausführen`: Startet den Lauf für die ausgewählten Vorlagen. + +## Tabellenspalten (typisch) + +- `Typ`: Belegtyp der Vorlage. +- `Partner`: Kunde der Vorlage. +- `Betrag`: Errechneter Vorlagenbetrag. +- `Intervall`: Ausführungsrhythmus. +- `Vertrag`: Zugeordneter Vertrag. +- `Objekt`: Zugeordnetes Objekt. + +## Laufende Ausführungen + +- `Fertigstellen`: Schließt einen laufenden Ausführungsvorgang ab. + diff --git a/docs/scripts/generate-frontend-bedienung.mjs b/docs/scripts/generate-frontend-bedienung.mjs new file mode 100755 index 0000000..7e31f88 --- /dev/null +++ b/docs/scripts/generate-frontend-bedienung.mjs @@ -0,0 +1,149 @@ +#!/usr/bin/env node + +import { promises as fs } from 'node:fs' +import path from 'node:path' + +const ROOT = process.cwd() +const FRONTEND_PAGES_DIR = path.join(ROOT, 'frontend', 'pages') +const OUT_FILE = path.join(ROOT, 'docs', 'bedienung', 'frontend', 'alle-seiten-und-felder.md') + +function normalizePosix(p) { + return p.split(path.sep).join('/') +} + +async function walkFiles(dir, extension) { + const result = [] + + async function walk(current) { + const entries = await fs.readdir(current, { withFileTypes: true }) + for (const entry of entries) { + const full = path.join(current, entry.name) + if (entry.isDirectory()) { + await walk(full) + } else if (entry.isFile() && full.endsWith(extension)) { + result.push(full) + } + } + } + + await walk(dir) + return result.sort() +} + +function filePathToNuxtRoute(filePath, baseDir) { + const relative = normalizePosix(path.relative(baseDir, filePath)) + let route = relative.replace(/\.vue$/, '') + + route = route + .replace(/\.client$/, '') + .replace(/\.server$/, '') + .replace(/\[\[\.\.\.(.+?)\]\]/g, ':$1*?') + .replace(/\[\.\.\.(.+?)\]/g, ':$1*') + .replace(/\[\[(.+?)\]\]/g, ':$1?') + .replace(/\[(.+?)\]/g, ':$1') + + route = route.replace(/\/index$/g, '') + if (route === 'index') route = '' + if (!route.startsWith('/')) route = `/${route}` + return route || '/' +} + +function pickAttr(tag, attr) { + const doubleQuoted = new RegExp(`${attr}\\s*=\\s*"([^"]+)"`) + const singleQuoted = new RegExp(`${attr}\\s*=\\s*'([^']+)'`) + return tag.match(doubleQuoted)?.[1] || tag.match(singleQuoted)?.[1] || null +} + +function detectFields(source) { + const fields = [] + const seen = new Set() + + const formFieldRegex = //g + let match + while ((match = formFieldRegex.exec(source)) !== null) { + const attrs = match[1] || '' + const label = pickAttr(attrs, 'label') + const key = `form:${label || ''}` + if (label && !seen.has(key)) { + seen.add(key) + fields.push({ + name: label, + component: 'UFormField', + description: `Eingabebereich für „${label}“.` + }) + } + } + + const inputRegex = /<(UInput|UTextarea|USelectMenu|USelect|USwitch|UCheckbox|URadioGroup|UInputNumber|UDatePicker)\b([\s\S]*?)>/g + while ((match = inputRegex.exec(source)) !== null) { + const component = match[1] + const attrs = match[2] || '' + + const label = pickAttr(attrs, 'label') + const placeholder = pickAttr(attrs, 'placeholder') + const model = pickAttr(attrs, 'v-model') || pickAttr(attrs, 'v-model:model-value') + + const name = label || placeholder || model || '(ohne Bezeichnung)' + const key = `${component}:${name}` + if (seen.has(key)) continue + seen.add(key) + + let description = 'Eingabefeld in dieser Seite.' + if (label) description = `Eingabefeld für „${label}“.` + else if (placeholder) description = `Eingabefeld mit Platzhalter „${placeholder}“.` + else if (model) description = `Eingabefeld für den internen Wert „${model}“.` + + fields.push({ name, component, description }) + } + + return fields +} + +function getPagePurpose(route) { + if (route.startsWith('/createDocument')) return 'Dokumentenerstellung und Verwaltung von Ausgangsbelegen.' + if (route.startsWith('/support') || route.startsWith('/helpdesk')) return 'Support- und Kommunikationsprozesse.' + if (route.startsWith('/staff')) return 'Mitarbeiterbezogene Verwaltung und Zeiterfassung.' + if (route.startsWith('/settings')) return 'Konfiguration und Stammdatenpflege.' + if (route.startsWith('/accounting') || route.startsWith('/banking')) return 'Finanz- und Buchhaltungsfunktionen.' + return 'Funktionsseite im FEDEO-Frontend.' +} + +async function main() { + const files = await walkFiles(FRONTEND_PAGES_DIR, '.vue') + + let output = '# Frontend-Seiten und Eingabefelder\n\n' + output += 'Diese Übersicht dient als Nutzer-Bedienung für alle Seiten des Web-Frontends.\n' + output += 'Die Felder wurden technisch aus den Seiten erkannt und nutzerorientiert beschrieben.\n\n' + + for (const file of files) { + const source = await fs.readFile(file, 'utf-8') + const route = filePathToNuxtRoute(file, FRONTEND_PAGES_DIR) + const fields = detectFields(source) + const relativeFile = normalizePosix(path.relative(ROOT, file)) + + output += `## ${route}\n\n` + output += `- Datei: \`${relativeFile}\`\n` + output += `- Seitenfunktion: ${getPagePurpose(route)}\n\n` + + output += '### Felder\n\n' + if (fields.length === 0) { + output += 'Auf dieser Seite wurden keine direkten Eingabefelder erkannt.\n\n' + continue + } + + output += '| Feld | Komponente | Erklärung |\n' + output += '|---|---|---|\n' + for (const field of fields) { + output += `| ${field.name.replace(/\|/g, '\\|')} | ${field.component} | ${field.description.replace(/\|/g, '\\|')} |\n` + } + output += '\n' + } + + await fs.writeFile(OUT_FILE, output, 'utf-8') + console.log(`Frontend-Bedienungsübersicht erzeugt: ${OUT_FILE}`) +} + +main().catch((err) => { + console.error('Fehler beim Erzeugen der Frontend-Bedienungsübersicht', err) + process.exit(1) +}) diff --git a/docs/wartung/dokumentationsprozess.md b/docs/wartung/dokumentationsprozess.md deleted file mode 100644 index 3f804b5..0000000 --- a/docs/wartung/dokumentationsprozess.md +++ /dev/null @@ -1,35 +0,0 @@ -# Dokumentationsprozess - -## Zweck - -Dieser Prozess stellt sicher, dass die Funktionsdokumentation bei jeder Änderung aktuell bleibt. - -## Verbindlicher Ablauf bei Funktionsänderungen - -1. Funktion implementieren oder ändern -2. Technische Doku synchronisieren: - -```bash -node docs/scripts/sync-funktionsdoku.mjs -``` - -3. Fachliche Beschreibung in `docs/funktionen/uebersicht.md` ergänzen, falls ein neuer Bereich entsteht -4. Neue Doku-Version in `docs/versionen/docs-versionen.md` eintragen -5. Code und Doku gemeinsam committen - -## Was als Funktionsänderung gilt - -- Neue API-Route oder geänderte API-Route -- Neue Web-Seite oder geänderte Seitenstruktur -- Neuer Mobile-Screen oder geänderte Navigationsstruktur -- Größere fachliche Änderung in bestehenden Modulen - -## Qualitätsregeln - -- Automatisch erzeugte Dateien nicht manuell pflegen -- Fachliche Begriffe konsistent halten -- Jede Doku-Version erhält Datum, Änderungszusammenfassung und Bezug zu Commits - -## CI-Empfehlung - -Optional kann in CI geprüft werden, ob die generierten Doku-Dateien aktuell sind (z. B. per Diff nach Skriptlauf), damit keine Funktionsänderung ohne Doku-Update gemerged wird.