From 3c52d8869e85c2d3af8f4dfc163288dae458c5f4 Mon Sep 17 00:00:00 2001 From: chahinebrini Date: Fri, 8 May 2026 19:32:27 +0200 Subject: [PATCH] =?UTF-8?q?feat(native):=20WIP=20checkpoint=20=E2=80=94=20?= =?UTF-8?q?Profile/Settings/Demographics=20+=20WheelPicker=20+=20Maestro?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rollback-Punkt vor Expo SDK 54 / RN 0.81 Upgrade. UI/UX: - Profile: ProfileHeader redesign (sign-in chip + member-since), StatsBar 3 pill cards, Demographics accordion completed (Geburtsjahr, Geschlecht, Familienstand, Beruf-split, Wohnort), Pro-Trial-Banner, Approved-Domains list, DigaMissionBanner - Settings: section-based layout, neutral icons (matched Header dropdown style) - Header dropdown: extended with logout + games-page link - Notifications page: skeleton dummy data - Locales: i18n keys for new screens New components: - WheelPickerModal: native iOS UIPickerView wheel for long lists (Geburtsjahr 91 items, Bundesland 16, Stadt 30+/Bundesland) - OptionsBottomSheet: iOS-style options sheet (used briefly for Geschlecht, currently unused — kept for potential future use) - germanCities.ts: Top-cities per Bundesland (DSGVO-clean static data) New libs (NewArch-codegen verified): - @react-native-menu/menu 2.0.0 (UIMenu wrapper, Apple HIG-konform) - @lodev09/react-native-true-sheet 3.10.1 (UISheetPresentationController wrapper — ABER incompatible mit RN 0.79.6, Build-Error → Trigger für SDK-54-Upgrade) Maestro E2E: - Initial setup mit auth/community/profile/urge flows Scripts: - build-ios-clean.sh: Xcode DerivedData + ios/build cleanup vor expo run:ios Co-Authored-By: Claude Opus 4.7 (1M context) --- apps/rebreak-native/.maestro/SETUP.md | 217 + apps/rebreak-native/.maestro/auth/signin.yaml | 49 + .../.maestro/community/post.yaml | 67 + .../.maestro/profile/view-profile.yaml | 69 + .../.maestro/urge/start-session.yaml | 76 + .../app/(app)/notifications.tsx | 2 +- apps/rebreak-native/app/_layout.tsx | 9 +- apps/rebreak-native/app/debug.tsx | 11 +- apps/rebreak-native/app/games.tsx | 28 +- apps/rebreak-native/app/profile/[userId].tsx | 37 +- apps/rebreak-native/app/profile/index.tsx | 31 +- apps/rebreak-native/app/settings.tsx | 361 +- .../rebreak-native/components/ComposeCard.tsx | 4 +- .../components/NotificationsDropdown.tsx | 2 +- .../components/OptionsBottomSheet.tsx | 244 + .../components/PostCommentsSheet.tsx | 9 +- .../components/WheelPickerModal.tsx | 145 + .../components/blocker/AddDomainSheet.tsx | 25 +- .../components/blocker/CooldownBanner.tsx | 9 +- .../blocker/DeactivationExplainerSheet.tsx | 19 +- .../components/blocker/DomainGrid.tsx | 25 +- .../components/blocker/ProtectionCard.tsx | 13 +- .../blocker/ProtectionDetailsSheet.tsx | 64 +- .../blocker/ProtectionLockedCard.tsx | 13 +- .../components/games/GameCard.tsx | 66 +- .../components/header/HeaderDropdownMenu.tsx | 8 +- .../components/mail/ConnectMailSheet.tsx | 34 +- .../components/mail/EditMailAccountSheet.tsx | 23 +- .../components/mail/MailEmptyState.tsx | 17 +- .../profile/ApprovedDomainsList.tsx | 56 +- .../profile/DemographicsAccordion.tsx | 833 ++- .../components/profile/DigaMissionBanner.tsx | 32 +- .../components/profile/ProfileHeader.tsx | 232 +- .../components/profile/StatsBar.tsx | 102 +- .../components/urge/UrgeGames.tsx | 10 +- apps/rebreak-native/lib/germanCities.ts | 89 + .../lib/useNativeActionSheet.ts | 48 + apps/rebreak-native/locales/de.json | 40 + apps/rebreak-native/locales/en.json | 40 + apps/rebreak-native/package.json | 4 + .../rebreak-native/scripts/build-ios-clean.sh | 78 + package.json | 2 + pnpm-lock.yaml | 6374 ++++++++++++++++- 43 files changed, 8596 insertions(+), 1021 deletions(-) create mode 100644 apps/rebreak-native/.maestro/SETUP.md create mode 100644 apps/rebreak-native/.maestro/auth/signin.yaml create mode 100644 apps/rebreak-native/.maestro/community/post.yaml create mode 100644 apps/rebreak-native/.maestro/profile/view-profile.yaml create mode 100644 apps/rebreak-native/.maestro/urge/start-session.yaml create mode 100644 apps/rebreak-native/components/OptionsBottomSheet.tsx create mode 100644 apps/rebreak-native/components/WheelPickerModal.tsx create mode 100644 apps/rebreak-native/lib/germanCities.ts create mode 100644 apps/rebreak-native/lib/useNativeActionSheet.ts create mode 100755 apps/rebreak-native/scripts/build-ios-clean.sh diff --git a/apps/rebreak-native/.maestro/SETUP.md b/apps/rebreak-native/.maestro/SETUP.md new file mode 100644 index 0000000..0eb17bc --- /dev/null +++ b/apps/rebreak-native/.maestro/SETUP.md @@ -0,0 +1,217 @@ +# Maestro E2E — Local Setup (Phase A) + +Phase A: lokales CLI, 0 Cost, kein Cloud-Account. +Phase B (post-TestFlight): Maestro Cloud fuer CI-Reports + Multi-Device-Parallel — Entscheidung steht aus. + +--- + +## 1. Maestro CLI installieren + +```bash +curl -Ls "https://get.maestro.mobile.dev" | bash +``` + +Danach Shell neu starten oder: + +```bash +export PATH="$PATH:$HOME/.maestro/bin" +``` + +Verify: + +```bash +maestro --version +# Erwarteter Output: Maestro CLI 1.x.x +``` + +--- + +## 2. App auf Device / Simulator bauen + +Maestro benoetigt eine laufende App-Installation. Expo Dev-Client oder Production-Build. + +### iOS Simulator + +```bash +# Im rebreak-native Verzeichnis: +cd apps/rebreak-native + +# Dev-Build auf Standard-Simulator (erster verfuegbarer): +pnpm exec expo run:ios + +# Spezifischer Simulator (Name aus "xcrun simctl list devices"): +pnpm exec expo run:ios --device "iPhone 15" +``` + +Alternativ (wenn dev-iphone.sh vorhanden): + +```bash +bash apps/rebreak-native/dev-iphone.sh +``` + +### Android Emulator + +Emulator muss vorher gestartet sein (`Android Studio -> Device Manager`). + +```bash +bash apps/rebreak-native/install-android.sh +``` + +Oder direkt: + +```bash +pnpm exec expo run:android +``` + +### Bundle-ID + +`org.rebreak.app` (iOS + Android identisch) — steht so in `app.config.ts` und in den +Flow-Headern als `appId: org.rebreak.app`. + +--- + +## 3. Env-Vars setzen + +Flows benoetigen Test-User-Credentials. **Nie** hardcoden — immer als Env-Vars uebergeben. + +```bash +export E2E_TEST_USER=claude-android-test +export E2E_TEST_PASSWORD= +``` + +Oder via Infisical: + +```bash +infisical run -- maestro test apps/rebreak-native/.maestro/auth/signin.yaml +``` + +Variablen die Flows erwarten: + +| Var | Beschreibung | +|----------------------|-----------------------------------------------| +| `E2E_TEST_USER` | Username ohne @rebreak.internal | +| `E2E_TEST_PASSWORD` | Passwort des Test-Users auf Staging | + +Wichtig: Der Backend-Server haengt `@rebreak.internal` automatisch an den Username. +In den Flows steht deshalb `${E2E_TEST_USER}@rebreak.internal` als E-Mail-Input. + +--- + +## 4. Flows ausfuehren + +### Einen einzelnen Flow + +```bash +maestro test apps/rebreak-native/.maestro/auth/signin.yaml \ + --env=E2E_TEST_USER=claude-android-test \ + --env=E2E_TEST_PASSWORD= +``` + +### Alle Flows (sequenziell) + +```bash +maestro test apps/rebreak-native/.maestro/ +``` + +Mit ENV-Datei-Uebergabe: + +```bash +maestro test \ + --env=E2E_TEST_USER=claude-android-test \ + --env=E2E_TEST_PASSWORD= \ + apps/rebreak-native/.maestro/ +``` + +### Spezifische Subdirectory + +```bash +maestro test apps/rebreak-native/.maestro/auth/ +``` + +--- + +## 5. Flow-Entwicklung: Maestro Studio + +Visual Flow-Builder im Browser — zeigt Screen-Snapshot + verfuegbare Elemente. + +```bash +# App muss laufen auf Device/Simulator: +maestro studio +``` + +Browser oeffnet auf `http://localhost:9999`. Elemente anklicken, YAML auto-generieren, +dann in `.maestro//.yaml` speichern. + +--- + +## 6. Tipps fuer stabile Flows + +**Warte auf Animationen:** +```yaml +- waitForAnimationToEnd: + timeout: 4000 +``` +Splash-Screen, Screen-Transitions und API-Calls brauchen Zeit. +Faustregel: nach `launchApp` min. 5000ms, nach Navigation 2000-4000ms. + +**Flaky Tests debuggen:** +```bash +# Output-Logs waehrend Run: +maestro test --format junit --output report.xml apps/rebreak-native/.maestro/auth/signin.yaml + +# Screenshot bei Fehler: Maestro macht automatisch einen Screenshot im Fehlerfall. +# Findet sich unter ~/.maestro/tests// +``` + +**Selektoren — Prioritaet:** +1. `id: ""` — stabielste Option. RN-Prop: `testID="mein-btn"`. +2. `text: "..."` — nur fuer statische, locale-unabhaengige Strings. +3. `point: "x%, y%"` — letzter Ausweg, bricht bei Screen-Size-Aenderungen. +4. Niemals `text:` fuer i18n-Strings (`t('...')`-Output) wenn Locale-Wechsel moeglich. + +**Device angeben (Multi-Device):** +```bash +maestro test --device= apps/rebreak-native/.maestro/ +# Device-IDs: `adb devices` (Android) / `xcrun simctl list` (iOS) +``` + +--- + +## 7. App-State vor Test-Lauf + +`clearState: true` in jedem Flow-Header stellt sicher dass: +- Auth-Session geleert ist +- Kein persistierter State (MMKV / AsyncStorage) den Flow stoert +- Jeder Flow von einem definierten Ausgangspunkt startet (Login-Screen) + +Test-User muss **vorab** auf dem Staging-Backend existieren: +- Username: `claude-android-test` +- E-Mail: `claude-android-test@rebreak.internal` +- Account: email-confirmed, kein Admin-Flag +- Erstellung: nur per Service-Role-Key + `auth.admin.createUser({ email_confirm: true })` + (nicht im Flow selbst — Test-User ist persistent) + +--- + +## 8. Flow-Uebersicht + +| Flow | Was wird geprueft | +|-----------------------------------|----------------------------------------------------------| +| `auth/signin.yaml` | App startet, Login funktioniert, Home-Feed sichtbar | +| `urge/start-session.yaml` | SOS-Button im Dropdown erreichbar, Lyra-Screen laedt | +| `community/post.yaml` | ComposeCard oeffnet, Text-Input funktioniert, Post sendet| +| `profile/view-profile.yaml` | Profil-Navigation via Dropdown, ProfileScreen laedt | + +--- + +## 9. Phase B — Maestro Cloud (Zukunft, post-TestFlight) + +Was bei Cloud-Wechsel geaendert werden muss: + +1. Maestro-Cloud-Account anlegen: `maestro cloud login` +2. CI-Run-Befehl aendern: `maestro cloud apps/rebreak-native/.maestro/` +3. ENV-Vars in CI-Secret-Store hinterlegen (GitHub Actions Secrets / Infisical CI-Integration) +4. Multi-Device-Matrix: `--device ios` / `--device android` separat schedulen +5. Report-URL aus Cloud-Output in PR-Kommentare posten (GitHub Actions Step) + +Bis dahin: lokaler CLI reicht fuer Pre-Release-Smoke-Tests. diff --git a/apps/rebreak-native/.maestro/auth/signin.yaml b/apps/rebreak-native/.maestro/auth/signin.yaml new file mode 100644 index 0000000..ce512df --- /dev/null +++ b/apps/rebreak-native/.maestro/auth/signin.yaml @@ -0,0 +1,49 @@ +# auth/signin.yaml +# Smoke-test: App startet, Sign-in-Screen ist erreichbar, Login mit Test-User funktioniert. +# Selektor-Strategie: text: fuer statische Platzhalter (de.json-Werte, die sich +# nicht via Locale-Wechsel aendern sollten im Test-Setup). Falls i18n-Locale +# in CI auf 'en' steht, MUSS dieser Flow mit E2E_LOCALE=de laufen. +# +# Pre-requisite: App installiert, kein aktiver Auth-State (clearState loesche den). +# Env-Vars: E2E_TEST_USER (username ohne @rebreak.internal), E2E_TEST_PASSWORD + +appId: org.rebreak.app +--- +- launchApp: + clearState: true + +# Warten bis die Auth-Screens geladen sind (Splash kann kurz blockieren) +- waitForAnimationToEnd: + timeout: 5000 + +# Sign-in-Screen sollte direkt erscheinen (kein Auth-State nach clearState). +# Fallback: falls Onboarding/Landing dazwischenkommt, muessen wir erst weiterklicken. +# Aktuell zeigt _layout.tsx direkt (auth)-Group wenn kein User. +- assertVisible: + text: "E-Mail" + +# E-Mail-Feld benutzt placeholder-Text "E-Mail" (auth.emailPlaceholder in de.json). +# Kein testID gesetzt -> text-Selektor auf Placeholder ist stabiler als Index. +- tapOn: + text: "E-Mail" +- inputText: ${E2E_TEST_USER}@rebreak.internal + +- tapOn: + text: "Passwort" +- inputText: ${E2E_TEST_PASSWORD} + +# Submit-Button: Text "Anmelden" (auth.signin). Keine testID vorhanden. +- tapOn: + text: "Anmelden" + +# Nach erfolgreichem Login landet der User auf dem Home-Feed ((app)-Group). +# ComposeCard ist das erste sichtbare Element nach AppHeader. +# Wir pruefen auf den App-Header (AppName via t('appHeader.appName')). +# Alternativ koennte hier auf einen Post-Feed-Element gewartet werden. +- waitForAnimationToEnd: + timeout: 8000 + +# Sanity: Dropdown-Menu-Trigger (Avatar im Header) muss sichtbar sein. +# Kein testID -> assertVisible auf AppName-Text (de.json: appHeader.appName = "ReBreak") +- assertVisible: + text: "ReBreak" diff --git a/apps/rebreak-native/.maestro/community/post.yaml b/apps/rebreak-native/.maestro/community/post.yaml new file mode 100644 index 0000000..85ba537 --- /dev/null +++ b/apps/rebreak-native/.maestro/community/post.yaml @@ -0,0 +1,67 @@ +# community/post.yaml +# User-Journey: Login -> Home-Feed -> ComposeCard tippen -> Text eingeben -> Submit. +# Prueft: ComposeCard sichtbar, Text-Input akzeptiert Input, Submit-Button aktiv wird, +# Post-Erstellung loest keine Crash aus. +# +# HINWEIS: Post-Erstellung sendet echten API-Call an Staging-Backend. +# Test-Posts landen in der DB. Clean-up manuell oder via Service-Role-Delete noetig. +# +# Pre-requisite: App installiert, E2E_TEST_USER hat einen gueltigen Account auf Staging. +# Env-Vars: E2E_TEST_USER, E2E_TEST_PASSWORD + +appId: org.rebreak.app +--- +- launchApp: + clearState: true + +- waitForAnimationToEnd: + timeout: 5000 + +# --- Auth --- +- assertVisible: + text: "E-Mail" +- tapOn: + text: "E-Mail" +- inputText: ${E2E_TEST_USER}@rebreak.internal +- tapOn: + text: "Passwort" +- inputText: ${E2E_TEST_PASSWORD} +- tapOn: + text: "Anmelden" +- waitForAnimationToEnd: + timeout: 8000 + +# --- Home-Feed --- +- assertVisible: + text: "ReBreak" + +# ComposeCard: TextInput mit placeholder t('community.compose_placeholder') = "Was bewegt dich gerade?" +# (de.json Z.602). Tippen auf den Placeholder-Bereich oeffnet den Compose-Modus. +- assertVisible: + text: "Was bewegt dich gerade?" +- tapOn: + text: "Was bewegt dich gerade?" + +- waitForAnimationToEnd: + timeout: 1000 + +# Text eingeben +- inputText: "E2E Test-Post vom automatisierten Maestro-Flow. Bitte ignorieren." + +# Nach Text-Eingabe erscheinen Actions (showActions = focused || content.length > 0). +# Submit-Button zeigt t('community.share') = "Teilen" (de.json). +- assertVisible: + text: "Teilen" + +# Submit ausfuehren +- tapOn: + text: "Teilen" + +# Nach erfolgreichem Post: ComposeCard resettet (content leer, Actions weg). +# Community-Query wird invalidiert, Feed refreshed. +# Wir pruefen dass der Compose-Input wieder im Idle-Zustand ist (Placeholder sichtbar). +- waitForAnimationToEnd: + timeout: 6000 + +- assertVisible: + text: "Was bewegt dich gerade?" diff --git a/apps/rebreak-native/.maestro/profile/view-profile.yaml b/apps/rebreak-native/.maestro/profile/view-profile.yaml new file mode 100644 index 0000000..ea8dfc4 --- /dev/null +++ b/apps/rebreak-native/.maestro/profile/view-profile.yaml @@ -0,0 +1,69 @@ +# profile/view-profile.yaml +# User-Journey: Login -> Home -> Header-Dropdown -> Profil antippen -> ProfileScreen sichtbar. +# Prueft: Profil-Navigation funktioniert, ProfileHeader mit Nickname + Plan-Badge sichtbar, +# StatsBar geladen (Posts/Followers/Domains-Zahlen sichtbar). +# +# Pre-requisite: App installiert, E2E_TEST_USER hat einen gueltigen Account auf Staging. +# Env-Vars: E2E_TEST_USER, E2E_TEST_PASSWORD + +appId: org.rebreak.app +--- +- launchApp: + clearState: true + +- waitForAnimationToEnd: + timeout: 5000 + +# --- Auth --- +- assertVisible: + text: "E-Mail" +- tapOn: + text: "E-Mail" +- inputText: ${E2E_TEST_USER}@rebreak.internal +- tapOn: + text: "Passwort" +- inputText: ${E2E_TEST_PASSWORD} +- tapOn: + text: "Anmelden" +- waitForAnimationToEnd: + timeout: 8000 + +# --- Home-Screen --- +- assertVisible: + text: "ReBreak" + +# Header-Dropdown oeffnen via Avatar-Tap (obere rechte Ecke). +# TODO: testID="header-avatar-btn" in AppHeader ergaenzen fuer stabilen Selektor. +- tapOn: + point: "93%, 6%" + +- waitForAnimationToEnd: + timeout: 2000 + +# Dropdown offen: "Profil"-Item (headerMenu.profile = "Profil", de.json Z.102) +- assertVisible: + text: "Profil" +- tapOn: + text: "Profil" + +- waitForAnimationToEnd: + timeout: 4000 + +# ProfileScreen: AppHeader zeigt title="Profil" (hardcoded in ProfileScreen, Z.159). +# Achtung: "Profil" erscheint sowohl im AppHeader-Title als auch im Dropdown. +# Nach Navigation ist das Dropdown weg -> "Profil" im Header eindeutig. +- assertVisible: + text: "Profil" + +# ProfileHeader zeigt Nickname des Test-Users. +# Test-User: claude-android-test -> Nickname = erste 2 Buchstaben als Initialen ODER +# Nickname-Text aus DB. Wir pruefen auf einen der Plan-Labels (free/pro/legend). +# Plan-Labels sind locale-unabhaengig (hartcodierte Strings in planLabel-Record): +# free -> "Free", pro -> "Pro", legend -> "Legend". +- assertVisible: + text: "Free" + +# StatsBar: Zeigt hardcoded Labels "Posts" und "Follower" (StatsBar.tsx Z.105-107). +# Locale-unabhaengig — kein i18n. "Posts" erscheint nur im ProfileScreen-StatsBar-Kontext. +- assertVisible: + text: "Posts" diff --git a/apps/rebreak-native/.maestro/urge/start-session.yaml b/apps/rebreak-native/.maestro/urge/start-session.yaml new file mode 100644 index 0000000..5f39eac --- /dev/null +++ b/apps/rebreak-native/.maestro/urge/start-session.yaml @@ -0,0 +1,76 @@ +# urge/start-session.yaml +# User-Journey: Login -> Home -> Header-Dropdown oeffnen -> SOS tippen -> Urge/Lyra-Screen laden. +# Prueft: SOS-Einstiegspunkt im HeaderDropdownMenu ist sichtbar und navigiert korrekt. +# +# Pre-requisite: App installiert, E2E_TEST_USER eingeloggt (oder clearState + frischer Login). +# Env-Vars: E2E_TEST_USER, E2E_TEST_PASSWORD + +appId: org.rebreak.app +--- +- launchApp: + clearState: true + +- waitForAnimationToEnd: + timeout: 5000 + +# --- Auth --- +- assertVisible: + text: "E-Mail" +- tapOn: + text: "E-Mail" +- inputText: ${E2E_TEST_USER}@rebreak.internal +- tapOn: + text: "Passwort" +- inputText: ${E2E_TEST_PASSWORD} +- tapOn: + text: "Anmelden" +- waitForAnimationToEnd: + timeout: 8000 + +# --- Home-Screen erreicht --- +- assertVisible: + text: "ReBreak" + +# Avatar-Button (Header rechts) oeffnet das HeaderDropdownMenu (Modal). +# Der Avatar hat keinen testID -> tippen auf den Initials-Text oder Avatar-Bereich. +# Maestro kann auf accessibilityLabel matchen, falls gesetzt. Aktuell nicht gesetzt. +# Robustester Weg: tapOn text des SOS-Labels direkt wenn sichtbar, sonst Avatar-Tap first. +# Avatar ist ein Pressable ohne Text -> swipeRight oder koordinaten-basierter Tap waere +# fragil. Wir tippen stattdessen auf den bekannten Notifikationen-Button (links vom Avatar) +# um sicherzugehen dass wir im richtigen Header sind, dann auf den SOS-Button. +# Seit HeaderDropdownMenu kein accessibilityLabel hat: tapOn text "SOS" direkt nach Modal-Open. + +# Schritt 1: Avatar-Pressable. Kein Label -> tippen auf "ReBreak" Text-Bereich funktioniert +# nicht (Text != Button). Wir nutzen einen direkten tapOn auf "SOS" welcher nur im +# geoffneten Dropdown erscheint. Dafuer muss das Dropdown erst offen sein. +# Da kein testID/label: Nutze point-tap am oberen-rechten Rand wo Avatar sitzt. +# HINWEIS fuer den User: Avatar-Button braucht accessibilityLabel="open-menu" damit +# dieser Tap stabiler wird. TODO: testID="header-avatar-btn" in AppHeader ergaenzen. +- tapOn: + point: "93%, 6%" + +- waitForAnimationToEnd: + timeout: 2000 + +# Dropdown ist jetzt offen. SOS-Label ist "SOS" (appHeader.sosLabel, de.json Z.94). +- assertVisible: + text: "SOS" +- tapOn: + text: "SOS" + +- waitForAnimationToEnd: + timeout: 6000 + +# Urge/SOS-Screen: Die RiveAvatar + initial Lyra-Nachricht werden geladen. +# Wir pruefen auf den Text-Input am unteren Rand (Urge-Screen hat einen Chat-Input). +# Kein testID -> assertVisible auf etwas das nur im SOS-Screen existiert. +# Der SOS-Screen hat keine eindeutige Headline. Wir pruefen den Input (placeholder). +# urge.tsx: placeholder aus t('urge.inputPlaceholder') oder aehnlich. +# Sicherer Fallback: waitForAnimationToEnd und dann kein Crash = Screen geladen. +- waitForAnimationToEnd: + timeout: 4000 + +# Urge-Screen: Chat-Input hat Placeholder t('coach.placeholder') = "Was beschaeftigt dich?" +# (de.json Z.145). Dieser Text existiert nur auf dem SOS/Urge-Screen. +- assertVisible: + text: "Was beschäftigt dich?" diff --git a/apps/rebreak-native/app/(app)/notifications.tsx b/apps/rebreak-native/app/(app)/notifications.tsx index 0a6b153..4c2aa8c 100644 --- a/apps/rebreak-native/app/(app)/notifications.tsx +++ b/apps/rebreak-native/app/(app)/notifications.tsx @@ -94,7 +94,6 @@ function NotificationRow({ onPress={onPress} style={({ pressed }) => ({ opacity: pressed ? 0.7 : 1, - backgroundColor: isUnread ? '#fff7ed' : '#fff', })} > {/* Pure-Icon — KEIN bg-Circle (User-Wunsch: kein extra Rand). */} diff --git a/apps/rebreak-native/app/_layout.tsx b/apps/rebreak-native/app/_layout.tsx index 67c83ed..26c7968 100644 --- a/apps/rebreak-native/app/_layout.tsx +++ b/apps/rebreak-native/app/_layout.tsx @@ -5,6 +5,7 @@ import * as Notifications from 'expo-notifications'; import { GestureHandlerRootView } from 'react-native-gesture-handler'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { SafeAreaProvider } from 'react-native-safe-area-context'; +import { ActionSheetProvider } from '@expo/react-native-action-sheet'; import * as SplashScreen from 'expo-splash-screen'; import { useFonts, @@ -153,9 +154,11 @@ export default function RootLayout() { return ( - - - + + + + + ); diff --git a/apps/rebreak-native/app/debug.tsx b/apps/rebreak-native/app/debug.tsx index 63469bf..0fa313b 100644 --- a/apps/rebreak-native/app/debug.tsx +++ b/apps/rebreak-native/app/debug.tsx @@ -36,14 +36,17 @@ export default function DebugScreen() { onPress={() => router.back()} hitSlop={8} style={({ pressed }) => ({ + opacity: pressed ? 0.6 : 1, + })} + > + - + }}> + + Debug diff --git a/apps/rebreak-native/app/games.tsx b/apps/rebreak-native/app/games.tsx index 7e4b450..ba985af 100644 --- a/apps/rebreak-native/app/games.tsx +++ b/apps/rebreak-native/app/games.tsx @@ -86,18 +86,21 @@ export default function GamesScreen() { onPress={() => exit()} hitSlop={10} style={({ pressed }) => ({ + opacity: pressed ? 0.6 : 1, + })} + > + - - - {t('games.back_to_picker')} - + }}> + + + {t('games.back_to_picker')} + + {t(GAME_META.find((g) => g.id === active)!.titleKey)} @@ -141,14 +144,17 @@ export default function GamesScreen() { onPress={() => router.back()} hitSlop={8} style={({ pressed }) => ({ + opacity: pressed ? 0.6 : 1, + })} + > + - + }}> + + {t('games.title')} diff --git a/apps/rebreak-native/app/profile/[userId].tsx b/apps/rebreak-native/app/profile/[userId].tsx index d99af55..6e446bf 100644 --- a/apps/rebreak-native/app/profile/[userId].tsx +++ b/apps/rebreak-native/app/profile/[userId].tsx @@ -120,10 +120,7 @@ export default function ForeignProfileScreen() { router.back()} hitSlop={8} - style={({ pressed }) => ({ - opacity: pressed ? 0.5 : 1, - padding: 8, - })} + style={({ pressed }) => ({ opacity: pressed ? 0.5 : 1, padding: 8 })} > @@ -213,23 +210,26 @@ export default function ForeignProfileScreen() { style={({ pressed }) => ({ flex: 1, opacity: pressed ? 0.7 : 1, + })} + > + - - {isFollowing ? 'Folge ich' : 'Folgen'} - + }}> + + {isFollowing ? 'Folge ich' : 'Folgen'} + + { @@ -239,14 +239,16 @@ export default function ForeignProfileScreen() { style={({ pressed }) => ({ flex: 1, opacity: pressed ? 0.7 : 1, + })} + > + + }}> Nachricht + diff --git a/apps/rebreak-native/app/profile/index.tsx b/apps/rebreak-native/app/profile/index.tsx index a70cd10..369b278 100644 --- a/apps/rebreak-native/app/profile/index.tsx +++ b/apps/rebreak-native/app/profile/index.tsx @@ -87,20 +87,31 @@ const DUMMY_DEMOGRAPHICS: Demographics = { birthYear: 1989, gender: 'diverse', maritalStatus: null, - profession: null, + employmentStatus: null, + shiftWork: null, + industry: null, + jobTenure: null, bundesland: 'BY', city: null, }; function isDemographicsComplete(d: Demographics): boolean { - return ( + const base = d.birthYear !== null && !!d.gender && !!d.maritalStatus && - !!d.profession && + !!d.employmentStatus && !!d.bundesland && - !!d.city - ); + !!d.city; + if (!base) return false; + const status = d.employmentStatus!; + const needsShift = ['employed', 'self_employed'].includes(status); + const needsIndustry = ['employed', 'self_employed', 'in_training'].includes(status); + const needsTenure = ['employed', 'self_employed'].includes(status); + if (needsShift && d.shiftWork === null) return false; + if (needsIndustry && !d.industry) return false; + if (needsTenure && !d.jobTenure) return false; + return true; } export default function ProfileScreen() { @@ -155,7 +166,7 @@ export default function ProfileScreen() { } return ( - + { - // TODO Phase C: AvatarPickerSheet (preset-grid + custom-upload via expo-image-picker) Alert.alert( 'Avatar bearbeiten', 'Hero-Auswahl + Foto-Upload kommt in der nächsten Iteration.', ); }} onEditNickname={() => { - // TODO Phase C: NicknameEditSheet → PATCH /api/auth/me Alert.alert( 'Nickname bearbeiten', 'Inline-Edit + Save kommt in der nächsten Iteration.', @@ -213,8 +223,6 @@ export default function ProfileScreen() { /> - - {showDigaBanner ? ( { @@ -261,6 +269,9 @@ export default function ProfileScreen() { /> + {/* ApprovedDomains ans Ende — User-Direktive 2026-05-08 */} + + = { value: T; label: string }; -function PickerSheet({ - visible, - title, - options, - selected, - onSelect, - onClose, -}: { - visible: boolean; - title: string; - options: PickerOption[]; - selected: T; - onSelect: (v: T) => void; - onClose: () => void; -}) { - const translateY = useRef(new Animated.Value(300)).current; - - useEffect(() => { - if (visible) { - Animated.spring(translateY, { - toValue: 0, - useNativeDriver: true, - damping: 22, - stiffness: 280, - }).start(); - } else { - Animated.timing(translateY, { - toValue: 300, - duration: 180, - useNativeDriver: true, - }).start(); - } - }, [visible]); - - return ( - - - true} - style={{ - backgroundColor: '#fff', - borderTopLeftRadius: 22, - borderTopRightRadius: 22, - paddingBottom: 34, - transform: [{ translateY }], - }} - > - - - {title} - - {options.map((opt) => ( - { - onSelect(opt.value); - onClose(); - }} - style={({ pressed }) => ({ - flexDirection: 'row', - alignItems: 'center', - justifyContent: 'space-between', - paddingHorizontal: 20, - paddingVertical: 14, - backgroundColor: pressed ? '#f5f5f5' : 'transparent', - })} - > - - {opt.label} - - {opt.value === selected && ( - - )} - - ))} - - - - ); -} - -// ─── Settings Screen ─────────────────────────────────────────────────────── - type SectionRow = { icon: React.ComponentProps['name']; - iconColor: string; label: string; sublabel: string; soon?: boolean; @@ -159,10 +47,7 @@ export default function SettingsScreen() { const { mode: themeMode, setMode: setThemeMode } = useThemeStore(); const { language, setLanguage } = useLanguageStore(); const { plan } = useUserPlan(); - - const [themePickerOpen, setThemePickerOpen] = useState(false); - const [langPickerOpen, setLangPickerOpen] = useState(false); - const [voicePickerOpen, setVoicePickerOpen] = useState(false); + const { showActionSheetWithOptions } = useNativeActionSheet(); // Lyra Voice: hardcoded ElevenLabs voice IDs (expandable by user later) // Backend endpoint PATCH /api/profile/me/demographics does NOT accept lyraVoiceId. @@ -170,6 +55,25 @@ export default function SettingsScreen() { // For now: picker is wired to local state only, changes are NOT persisted. const [selectedVoice, setSelectedVoice] = useState('EXAVITQu4vr4xnSDxMaL'); + function pickFromOptions( + title: string, + options: PickerOption[], + onPick: (value: T) => void, + ) { + const labels = options.map((o) => o.label); + showActionSheetWithOptions( + { + title, + options: [...labels, t('common.cancel')], + cancelButtonIndex: labels.length, + }, + (idx) => { + if (idx === undefined || idx === labels.length) return; + onPick(options[idx].value); + }, + ); + } + async function handleSignOut() { Alert.alert(t('auth.signOut'), '', [ { text: t('common.cancel'), style: 'cancel' }, @@ -214,45 +118,30 @@ export default function SettingsScreen() { voiceOptions.find((v) => v.value === selectedVoice)?.label ?? t('settings.lyra_voice_sarah'); const sections: Section[] = [ - { - key: 'profile', - title: t('settings.section_profile'), - rows: [ - { - icon: 'person-outline', - iconColor: '#6366f1', - label: t('settings.profile_edit'), - sublabel: t('settings.profile_edit_desc'), - soon: true, - }, - { - icon: 'image-outline', - iconColor: '#6366f1', - label: t('settings.profile_avatar'), - sublabel: t('settings.profile_avatar_desc'), - soon: true, - }, - ], - }, + // Profile-Section entfernt — Profile-Edits sind in /profile-Page direkt { key: 'theme', title: t('settings.section_theme'), rows: [ { icon: 'color-palette-outline', - iconColor: '#a78bfa', label: t('settings.theme'), sublabel: t('settings.theme_desc'), value: themeLabel, - onPress: () => setThemePickerOpen(true), + onPress: () => + pickFromOptions(t('settings.theme'), themeOptions, (v) => + setThemeMode(v), + ), }, { icon: 'language-outline', - iconColor: '#a78bfa', label: t('settings.language'), sublabel: t('settings.language_desc'), value: language === 'de' ? t('settings.language_de') : t('settings.language_en'), - onPress: () => setLangPickerOpen(true), + onPress: () => + pickFromOptions(t('settings.language'), langOptions, (v) => + setLanguage(v), + ), }, ], }, @@ -262,14 +151,12 @@ export default function SettingsScreen() { rows: [ { icon: 'notifications-outline', - iconColor: '#2563eb', label: t('settings.notifications_push'), sublabel: t('settings.notifications_push_desc'), soon: true, }, { icon: 'flame-outline', - iconColor: '#f97316', label: t('settings.notifications_streak'), sublabel: t('settings.notifications_streak_desc'), soon: true, @@ -282,14 +169,12 @@ export default function SettingsScreen() { rows: [ { icon: 'phone-portrait-outline', - iconColor: '#16a34a', label: t('settings.devices'), sublabel: t('settings.devices_desc'), soon: true, }, { icon: 'star-outline', - iconColor: colors.brandOrange, label: t('settings.subscription'), sublabel: t('settings.subscription_desc'), soon: true, @@ -302,7 +187,6 @@ export default function SettingsScreen() { rows: [ { icon: 'mic-outline', - iconColor: '#ec4899', label: t('settings.lyra_voice'), sublabel: plan === 'legend' @@ -311,7 +195,15 @@ export default function SettingsScreen() { value: plan === 'legend' ? selectedVoiceName : undefined, // Voice picker is wired but changes are local-only until // PATCH /api/profile/me/lyra-voice endpoint is added by backend-agent. - onPress: plan === 'legend' ? () => setVoicePickerOpen(true) : undefined, + onPress: + plan === 'legend' + ? () => + pickFromOptions( + t('settings.lyra_voice'), + voiceOptions, + (v) => setSelectedVoice(v), + ) + : undefined, soon: plan !== 'legend', }, ], @@ -322,14 +214,12 @@ export default function SettingsScreen() { rows: [ { icon: 'log-out-outline', - iconColor: colors.textMuted, label: t('settings.sign_out'), sublabel: '', onPress: handleSignOut, }, { icon: 'trash-outline', - iconColor: colors.error, label: t('settings.delete_account'), sublabel: t('settings.delete_desc'), destructive: true, @@ -346,14 +236,12 @@ export default function SettingsScreen() { rows: [ { icon: 'bug-outline', - iconColor: '#737373', label: t('settings.debug_llm'), sublabel: t('settings.debug_llm_desc'), soon: true, }, { icon: 'volume-high-outline', - iconColor: '#737373', label: t('settings.debug_tts'), sublabel: t('settings.debug_tts_desc'), soon: true, @@ -363,7 +251,7 @@ export default function SettingsScreen() { } return ( - + {section.rows.map((row, i) => ( @@ -405,96 +296,83 @@ export default function SettingsScreen() { onPress={row.soon ? undefined : row.onPress} disabled={row.soon} style={({ pressed }) => ({ - width: '100%', - flexDirection: 'row', - alignItems: 'center', - gap: 12, - paddingHorizontal: 14, - paddingVertical: 12, - minHeight: 56, - borderBottomWidth: i < section.rows.length - 1 ? 1 : 0, - borderBottomColor: 'rgba(0,0,0,0.04)', opacity: row.soon ? 0.5 : pressed ? 0.7 : 1, - backgroundColor: pressed && !row.soon ? '#f5f5f5' : 'transparent', })} > - - - - {row.label} - - {row.sublabel ? ( + - {row.sublabel} + {row.label} - ) : null} + {row.sublabel ? ( + + {row.sublabel} + + ) : null} + + {row.soon ? ( + + {t('settings.soon_badge')} + + ) : row.value ? ( + + {row.value} + + ) : ( + + )} - {row.soon ? ( - - {t('settings.soon_badge')} - - ) : row.value ? ( - - {row.value} - - ) : ( - - )} ))} @@ -526,33 +404,6 @@ export default function SettingsScreen() { {Platform.OS} - - setThemePickerOpen(false)} - /> - - setLangPickerOpen(false)} - /> - - setVoicePickerOpen(false)} - /> ); } diff --git a/apps/rebreak-native/components/ComposeCard.tsx b/apps/rebreak-native/components/ComposeCard.tsx index d269085..e79fcca 100644 --- a/apps/rebreak-native/components/ComposeCard.tsx +++ b/apps/rebreak-native/components/ComposeCard.tsx @@ -146,7 +146,7 @@ export function ComposeCard({ onPosted }: Props) { onPress={pickImage} android_ripple={{ color: 'rgba(0,0,0,0.08)', borderless: true, radius: 22 }} className="flex-row items-center gap-1.5 px-2" - style={({ pressed }) => ({ opacity: pressed ? 0.6 : 1, height: 44, alignItems: 'center', justifyContent: 'center' })} + style={({ pressed }) => ({ opacity: pressed ? 0.6 : 1, height: 44 })} > {t('community.image')} @@ -163,7 +163,7 @@ export function ComposeCard({ onPosted }: Props) { { if (!content.trim() || posting) return; submit(); }} disabled={!content.trim() || posting} - className="bg-rebreak-500 items-center justify-center rounded-full px-5 h-11" + className="bg-rebreak-500 items-center justify-center rounded-full px-5 h-8" style={({ pressed }) => ({ opacity: pressed || !content.trim() || posting ? 0.5 : 1, })} diff --git a/apps/rebreak-native/components/NotificationsDropdown.tsx b/apps/rebreak-native/components/NotificationsDropdown.tsx index aa79605..781129b 100644 --- a/apps/rebreak-native/components/NotificationsDropdown.tsx +++ b/apps/rebreak-native/components/NotificationsDropdown.tsx @@ -240,7 +240,6 @@ function NotificationRow({ onPress={onPress} style={({ pressed }) => ({ opacity: pressed ? 0.65 : 1, - backgroundColor: isUnread ? '#fff7ed' : '#ffffff', })} > {/* Avatar-Logik: diff --git a/apps/rebreak-native/components/OptionsBottomSheet.tsx b/apps/rebreak-native/components/OptionsBottomSheet.tsx new file mode 100644 index 0000000..5dc3750 --- /dev/null +++ b/apps/rebreak-native/components/OptionsBottomSheet.tsx @@ -0,0 +1,244 @@ +/** + * OptionsBottomSheet — Pixel-perfect iOS UIAlertController.actionSheet replication. + * + * Pattern: 2 separate Cards (Options + Cancel) mit Gap dazwischen, horizontal margin, + * native iOS-Typografie + Spacing. Auf iOS 26 funktioniert das native ActionSheetIOS + * nicht mehr klassisch (centered popover) → eigene Implementation für konsistenten + * bottom-up sheet-look auf jeder iOS-Version. + * + * Use für: + * - Geschlecht (3), kurze Auswahl-Listen, Confirm-Dialogs mit destructive-Action + * Use NICHT für: + * - Lange Listen (>7) → WheelPickerModal + * - Free-text input → eigene Sheet (z.B. AddDomainSheet) + */ +import { useEffect, useRef } from 'react'; +import { + Modal, + View, + Text, + Pressable, + Animated, + Easing, +} from 'react-native'; +import { useSafeAreaInsets } from 'react-native-safe-area-context'; +import { colors } from '../lib/theme'; + +type Option = { + value: T; + label: string; + /** Rendert in roter Farbe (für „Löschen", „Reset" etc) */ + destructive?: boolean; +}; + +type Props = { + visible: boolean; + title?: string; + message?: string; + options: Option[]; + value?: T | null; + onSelect: (value: T) => void; + onClose: () => void; +}; + +export function OptionsBottomSheet({ + visible, + title, + message, + options, + value, + onSelect, + onClose, +}: Props) { + const insets = useSafeAreaInsets(); + const translateY = useRef(new Animated.Value(400)).current; + const backdropOpacity = useRef(new Animated.Value(0)).current; + + useEffect(() => { + if (visible) { + translateY.setValue(400); + backdropOpacity.setValue(0); + Animated.parallel([ + Animated.timing(translateY, { + toValue: 0, + duration: 280, + easing: Easing.out(Easing.cubic), + useNativeDriver: true, + }), + Animated.timing(backdropOpacity, { + toValue: 1, + duration: 200, + useNativeDriver: true, + }), + ]).start(); + } + }, [visible, translateY, backdropOpacity]); + + function close() { + Animated.parallel([ + Animated.timing(translateY, { + toValue: 400, + duration: 220, + easing: Easing.in(Easing.cubic), + useNativeDriver: true, + }), + Animated.timing(backdropOpacity, { + toValue: 0, + duration: 180, + useNativeDriver: true, + }), + ]).start(() => { + onClose(); + }); + } + + const hasHeader = !!(title || message); + + return ( + + {/* Backdrop */} + + + + + {/* Sheet — bottom-aligned, horizontal margin, 2 separate cards */} + + {/* Options-Card */} + + {hasHeader ? ( + + {title ? ( + + {title} + + ) : null} + {message ? ( + + {message} + + ) : null} + + ) : null} + + {options.map((opt, idx) => { + const isLast = idx === options.length - 1; + const isSelected = + value !== null && value !== undefined && opt.value === value; + return ( + { + onSelect(opt.value); + close(); + }} + style={({ pressed }) => ({ + backgroundColor: pressed ? 'rgba(0,0,0,0.06)' : 'transparent', + })} + > + + + {opt.label} + + + + ); + })} + + + {/* Cancel-Card — separat, bold */} + + {({ pressed }) => ( + + + Abbrechen + + + )} + + + + ); +} diff --git a/apps/rebreak-native/components/PostCommentsSheet.tsx b/apps/rebreak-native/components/PostCommentsSheet.tsx index fb5bcb0..4a32b6b 100644 --- a/apps/rebreak-native/components/PostCommentsSheet.tsx +++ b/apps/rebreak-native/components/PostCommentsSheet.tsx @@ -396,20 +396,23 @@ export function PostCommentsSheet({ postId, visible, onClose }: Props) { onPress={submit} disabled={!text.trim() || submitting} style={({ pressed }) => ({ + opacity: pressed || !text.trim() || submitting ? 0.5 : 1, + })} + > + + }}> {submitting ? ( ) : ( )} + diff --git a/apps/rebreak-native/components/WheelPickerModal.tsx b/apps/rebreak-native/components/WheelPickerModal.tsx new file mode 100644 index 0000000..e365b23 --- /dev/null +++ b/apps/rebreak-native/components/WheelPickerModal.tsx @@ -0,0 +1,145 @@ +/** + * WheelPickerModal — iOS-native UIPickerView style wheel via @react-native-picker/picker. + * + * Pattern: + * 1. User taps a row → setVisible(true) + * 2. Modal slides up bottom-sheet with native iOS wheel + Done/Cancel + * 3. Wheel scrolls through options, current selection highlighted + * 4. User taps "Fertig" → onSelect(value), modal closes + * 5. User taps "Abbrechen" or outside → modal closes without change + * + * Use für: lange Listen (Geburtsjahr 91 items, Bundesland 16, Stadt 30-50/Bundesland). + * Für kurze Listen (3-7 items) bleibt ActionSheet besser (siehe useNativeActionSheet). + */ +import { useEffect, useState } from 'react'; +import { Modal, View, Text, Pressable } from 'react-native'; +import { Picker } from '@react-native-picker/picker'; +import { colors } from '../lib/theme'; + +type Option = { value: T; label: string }; + +type Props = { + visible: boolean; + title: string; + options: Option[]; + value: T | null; + onSelect: (value: T) => void; + onClose: () => void; +}; + +export function WheelPickerModal({ + visible, + title, + options, + value, + onSelect, + onClose, +}: Props) { + // Tracks the wheel's current selection (separate from confirmed value). + // Initialized from `value` prop on each open. + const [tempValue, setTempValue] = useState(value); + + useEffect(() => { + if (visible) { + // First-open default: if no current value, pick first option. + setTempValue(value ?? options[0]?.value ?? null); + } + }, [visible, value, options]); + + function handleConfirm() { + if (tempValue !== null && tempValue !== undefined) { + onSelect(tempValue); + } + onClose(); + } + + return ( + + + {}}> + + {/* Header: Cancel / Title / Done */} + + + + Abbrechen + + + + {title} + + + + Fertig + + + + + {/* Wheel — native iOS UIPickerView */} + setTempValue(v as T)} + style={{ width: '100%' }} + itemStyle={{ fontSize: 18, color: colors.text }} + > + {options.map((opt) => ( + + ))} + + + + + + ); +} diff --git a/apps/rebreak-native/components/blocker/AddDomainSheet.tsx b/apps/rebreak-native/components/blocker/AddDomainSheet.tsx index 92f6582..0b42d96 100644 --- a/apps/rebreak-native/components/blocker/AddDomainSheet.tsx +++ b/apps/rebreak-native/components/blocker/AddDomainSheet.tsx @@ -328,21 +328,24 @@ export function AddDomainSheet({ visible, tier, onClose, onAdd }: Props) { onPress={handleAdd} disabled={!valid || !confirmPermanent || adding} style={({ pressed }) => ({ - backgroundColor: !valid || !confirmPermanent ? '#d4d4d4' : '#dc2626', - borderRadius: 14, - paddingVertical: 14, - alignItems: 'center', opacity: pressed ? 0.85 : 1, marginBottom: insets.bottom > 0 ? 8 : 12, })} > - {adding ? ( - - ) : ( - - {t('blocker.add_sheet_title')} - - )} + + {adding ? ( + + ) : ( + + {t('blocker.add_sheet_title')} + + )} + diff --git a/apps/rebreak-native/components/blocker/CooldownBanner.tsx b/apps/rebreak-native/components/blocker/CooldownBanner.tsx index 161cc4a..15391d4 100644 --- a/apps/rebreak-native/components/blocker/CooldownBanner.tsx +++ b/apps/rebreak-native/components/blocker/CooldownBanner.tsx @@ -55,13 +55,15 @@ export function CooldownBanner({ remainingFormatted, onCancel }: Props) { disabled={cancelling} hitSlop={8} style={({ pressed }) => ({ + opacity: pressed || cancelling ? 0.7 : 1, + })} + > + + }}> {cancelling ? ( ) : ( @@ -69,6 +71,7 @@ export function CooldownBanner({ remainingFormatted, onCancel }: Props) { {t('common.cancel')} )} + ); diff --git a/apps/rebreak-native/components/blocker/DeactivationExplainerSheet.tsx b/apps/rebreak-native/components/blocker/DeactivationExplainerSheet.tsx index dea1390..97f77c0 100644 --- a/apps/rebreak-native/components/blocker/DeactivationExplainerSheet.tsx +++ b/apps/rebreak-native/components/blocker/DeactivationExplainerSheet.tsx @@ -139,6 +139,10 @@ export function DeactivationExplainerSheet({ ({ + opacity: pressed ? 0.85 : 1, + })} + > + - - - {t('blocker.deactivation_breathe_cta')} - + }}> + + + {t('blocker.deactivation_breathe_cta')} + + {/* Destructive secondary */} @@ -162,9 +165,9 @@ export function DeactivationExplainerSheet({ disabled={submitting} hitSlop={8} style={({ pressed }) => ({ + opacity: pressed || submitting ? 0.5 : 1, alignSelf: 'center', paddingVertical: 12, - opacity: pressed || submitting ? 0.5 : 1, })} > ({ + opacity: pressed ? 0.85 : 1, + })} + > + - - - - {t('blocker.domain_limit_title')} - - - {t('blocker.domain_limit_desc')} - + }}> + + + + {t('blocker.domain_limit_title')} + + + {t('blocker.domain_limit_desc')} + + )} diff --git a/apps/rebreak-native/components/blocker/ProtectionCard.tsx b/apps/rebreak-native/components/blocker/ProtectionCard.tsx index f5a9a06..babaadd 100644 --- a/apps/rebreak-native/components/blocker/ProtectionCard.tsx +++ b/apps/rebreak-native/components/blocker/ProtectionCard.tsx @@ -92,21 +92,24 @@ export function ProtectionCard({ state, loading, onActivate, onPressSettings }: onPress={onPressSettings} hitSlop={10} style={({ pressed }) => ({ + opacity: pressed ? 0.6 : 1, + })} + accessibilityLabel={t('blocker.protection_settings_a11y')} + > + - + }}> + + ) : ( - {/* MEHR INFO – outline button, Icon + Label nebeneinander (flex-row, NICHT col) */} + {/* MEHR INFO – outline button: Pressable=card, inner View=flex-row */} ({ - alignSelf: 'stretch', marginTop: 4, + opacity: pressed ? 0.75 : 1, + })} + > + - - - {t('blocker.more_info_title')} - + }}> + + + {t('blocker.more_info_title')} + + @@ -670,30 +673,29 @@ function FaqItem({ question, answer }: { question: string; answer: string }) { setOpen((v) => !v)} style={({ pressed }) => ({ - alignSelf: 'stretch', - flexDirection: 'row', - alignItems: 'center', - paddingHorizontal: 14, - paddingVertical: 14, - backgroundColor: pressed ? '#fafafa' : '#fff', + opacity: pressed ? 0.75 : 1, })} > - - {question} - - - - + + + + {question} + + + + + + {open && ( diff --git a/apps/rebreak-native/components/blocker/ProtectionLockedCard.tsx b/apps/rebreak-native/components/blocker/ProtectionLockedCard.tsx index 5d1f88c..4d4ad5e 100644 --- a/apps/rebreak-native/components/blocker/ProtectionLockedCard.tsx +++ b/apps/rebreak-native/components/blocker/ProtectionLockedCard.tsx @@ -76,21 +76,24 @@ export function ProtectionLockedCard({ state, onPressSettings }: Props) { onPress={onPressSettings} hitSlop={10} style={({ pressed }) => ({ + opacity: pressed ? 0.6 : 1, + })} + accessibilityLabel={t('blocker.protection_settings_a11y')} + > + - + }}> + + diff --git a/apps/rebreak-native/components/games/GameCard.tsx b/apps/rebreak-native/components/games/GameCard.tsx index f26504d..6b4c1f7 100644 --- a/apps/rebreak-native/components/games/GameCard.tsx +++ b/apps/rebreak-native/components/games/GameCard.tsx @@ -31,45 +31,49 @@ export function GameCard({ onPress={() => onPress(id)} style={({ pressed }) => ({ width: '100%', + transform: [{ scale: pressed ? 0.97 : 1 }], + opacity: pressed ? 0.85 : 1, + })} + > + - - - - {t(titleKey)} - - - {t(descKey)} - - - + }}> + + + + {t(titleKey)} + + + {t(descKey)} + + + + diff --git a/apps/rebreak-native/components/header/HeaderDropdownMenu.tsx b/apps/rebreak-native/components/header/HeaderDropdownMenu.tsx index 643feff..ac5441e 100644 --- a/apps/rebreak-native/components/header/HeaderDropdownMenu.tsx +++ b/apps/rebreak-native/components/header/HeaderDropdownMenu.tsx @@ -171,9 +171,7 @@ export function HeaderDropdownMenu({ visible, onClose, topOffset = 80 }: Props) void item.onSelect(); }} android_ripple={{ color: '#e5e7eb' }} - style={({ pressed }) => ({ - backgroundColor: pressed ? '#f5f5f5' : 'transparent', - })} + style={({ pressed }) => ({ opacity: pressed ? 0.7 : 1 })} > ({ - backgroundColor: pressed ? '#f5f5f5' : 'transparent', - })} + style={({ pressed }) => ({ opacity: pressed ? 0.7 : 1 })} > onSelect(p)} style={({ pressed }) => ({ width: '47%', + opacity: pressed ? 0.7 : 1, + })} + > + + }}> + ))} @@ -583,22 +586,25 @@ function FormView({ onPress={onConnect} disabled={!canConnect} style={({ pressed }) => ({ - backgroundColor: canConnect ? '#007AFF' : '#d4d4d4', - borderRadius: 14, - paddingVertical: 14, - alignItems: 'center', opacity: pressed ? 0.85 : 1, marginTop: 4, marginBottom: insets.bottom > 0 ? 8 : 12, })} > - {connecting ? ( - - ) : ( - - {t('mail.form_connect_btn')} - - )} + + {connecting ? ( + + ) : ( + + {t('mail.form_connect_btn')} + + )} + ); diff --git a/apps/rebreak-native/components/mail/EditMailAccountSheet.tsx b/apps/rebreak-native/components/mail/EditMailAccountSheet.tsx index b0e6974..e620afa 100644 --- a/apps/rebreak-native/components/mail/EditMailAccountSheet.tsx +++ b/apps/rebreak-native/components/mail/EditMailAccountSheet.tsx @@ -224,20 +224,23 @@ export function EditMailAccountSheet({ visible, email, onClose, onSuccess }: Pro disabled={!password.trim() || connecting} style={({ pressed }) => ({ marginTop: 4, + opacity: pressed ? 0.85 : 1, + })} + > + - {connecting ? ( - - ) : ( - - {t('mail.edit_account_save')} - - )} + }}> + {connecting ? ( + + ) : ( + + {t('mail.edit_account_save')} + + )} + diff --git a/apps/rebreak-native/components/mail/MailEmptyState.tsx b/apps/rebreak-native/components/mail/MailEmptyState.tsx index ee64e0c..36fb6f7 100644 --- a/apps/rebreak-native/components/mail/MailEmptyState.tsx +++ b/apps/rebreak-native/components/mail/MailEmptyState.tsx @@ -82,18 +82,21 @@ export function MailEmptyState({ onConnectPress }: Props) { ({ + opacity: pressed ? 0.85 : 1, + alignSelf: 'stretch', + })} + > + - - {t('mail.empty_state_cta')} - + }}> + + {t('mail.empty_state_cta')} + + ); diff --git a/apps/rebreak-native/components/profile/ApprovedDomainsList.tsx b/apps/rebreak-native/components/profile/ApprovedDomainsList.tsx index d642c16..141ae0b 100644 --- a/apps/rebreak-native/components/profile/ApprovedDomainsList.tsx +++ b/apps/rebreak-native/components/profile/ApprovedDomainsList.tsx @@ -29,36 +29,34 @@ export function ApprovedDomainsList({ domains, loading }: Props) { ({ - alignSelf: 'stretch', - flexDirection: 'row', - alignItems: 'center', - paddingVertical: 12, - paddingHorizontal: 14, - backgroundColor: '#ffffff', - borderWidth: 1, - borderColor: '#e5e5e5', - borderRadius: 12, - opacity: pressed ? 0.7 : 1, - })} + style={({ pressed }) => ({ opacity: pressed ? 0.7 : 1 })} > - - - Approved Domains{' '} - - ({domains.length}) - - - + + + + Approved Domains{' '} + + ({domains.length}) + + + + + {expanded ? ( diff --git a/apps/rebreak-native/components/profile/DemographicsAccordion.tsx b/apps/rebreak-native/components/profile/DemographicsAccordion.tsx index d636e25..dbcea8c 100644 --- a/apps/rebreak-native/components/profile/DemographicsAccordion.tsx +++ b/apps/rebreak-native/components/profile/DemographicsAccordion.tsx @@ -1,19 +1,25 @@ -import { useEffect, useMemo, useRef, useState } from 'react'; +import { useEffect, useRef, useState } from 'react'; import { View, Text, Pressable, - TextInput, - Modal, + Switch, LayoutAnimation, Platform, UIManager, - ScrollView, } from 'react-native'; import { Ionicons } from '@expo/vector-icons'; +import { getCitiesForBundesland } from '../../lib/germanCities'; +import { WheelPickerModal } from '../WheelPickerModal'; import { colors } from '../../lib/theme'; import type { Plan } from '../../hooks/useUserPlan'; +// Geburtsjahr-Optionen: 2010 (oldest 13y) → 1920, descending (neueste oben) +const BIRTH_YEAR_OPTIONS = Array.from({ length: 91 }, (_, i) => 2010 - i).map((y) => ({ + value: y, + label: String(y), +})); + if (Platform.OS === 'android' && UIManager.setLayoutAnimationEnabledExperimental) { UIManager.setLayoutAnimationEnabledExperimental(true); } @@ -22,7 +28,10 @@ export type Demographics = { birthYear: number | null; gender: string | null; maritalStatus: string | null; - profession: string | null; + employmentStatus: string | null; + shiftWork: boolean | null; + industry: string | null; + jobTenure: string | null; bundesland: string | null; city: string | null; }; @@ -36,12 +45,10 @@ type Props = { onRevokeConsent?: () => void; }; -// Select-Optionen — Display-Label DE, value für DB-Persistenz const GENDER_OPTIONS: Array<{ label: string; value: string }> = [ { label: 'männlich', value: 'male' }, { label: 'weiblich', value: 'female' }, { label: 'divers', value: 'diverse' }, - { label: 'keine Angabe', value: 'none' }, ]; const MARITAL_OPTIONS: Array<{ label: string; value: string }> = [ @@ -53,7 +60,38 @@ const MARITAL_OPTIONS: Array<{ label: string; value: string }> = [ { label: 'keine Angabe', value: 'none' }, ]; -// ISO-3166-2:DE — value=ISO, label=DE-Display +const EMPLOYMENT_STATUS_OPTIONS: Array<{ label: string; value: string }> = [ + { label: 'angestellt', value: 'employed' }, + { label: 'selbständig', value: 'self_employed' }, + { label: 'in Ausbildung / Studium', value: 'in_training' }, + { label: 'arbeitslos / arbeitssuchend', value: 'unemployed' }, + { label: 'pensioniert / im Ruhestand', value: 'retired' }, + { label: 'Hausarbeit / Care-Arbeit', value: 'homemaking' }, + { label: 'andere', value: 'other' }, +]; + +const INDUSTRY_OPTIONS: Array<{ label: string; value: string }> = [ + { label: 'IT / Software', value: 'it_software' }, + { label: 'Pflege / Medizin', value: 'healthcare' }, + { label: 'Bildung / Lehre', value: 'education' }, + { label: 'Gastronomie / Hotellerie', value: 'hospitality' }, + { label: 'Bau / Handwerk', value: 'construction' }, + { label: 'Banking / Finance', value: 'banking_finance' }, + { label: 'Verkauf / Marketing', value: 'sales_marketing' }, + { label: 'Verwaltung / Behörde', value: 'public_admin' }, + { label: 'Logistik / Transport', value: 'logistics' }, + { label: 'Kreativ / Medien', value: 'creative_media' }, + { label: 'andere', value: 'other' }, +]; + +const JOB_TENURE_OPTIONS: Array<{ label: string; value: string }> = [ + { label: 'weniger als 1 Jahr', value: 'less_1y' }, + { label: '1-3 Jahre', value: '1_3y' }, + { label: '3-5 Jahre', value: '3_5y' }, + { label: '5-10 Jahre', value: '5_10y' }, + { label: 'mehr als 10 Jahre', value: 'more_10y' }, +]; + const BUNDESLAND_OPTIONS: Array<{ label: string; value: string }> = [ { label: 'Baden-Württemberg', value: 'BW' }, { label: 'Bayern', value: 'BY' }, @@ -73,39 +111,38 @@ const BUNDESLAND_OPTIONS: Array<{ label: string; value: string }> = [ { label: 'Thüringen', value: 'TH' }, ]; -const FIELD_WHY: Record = { - birthYear: - 'Lyra spricht dich altersgerecht an, DiGA-Berichte erkennen Risiko nach Altersgruppe.', - gender: 'Glücksspiel-Muster unterscheiden sich; Lyra coacht gendersensibel.', - profession: - 'Schichtarbeit, Banking-Stress, Selbstständigkeit haben verschiedene Trigger — Lyra kennt deinen Kontext.', - maritalStatus: - 'Trennung/Beziehungs-Konflikte sind klassische Trigger — Lyra erkennt sie früher in dir.', - bundesland: 'Lokale Beratungsstellen + anonyme DiGA-Studien.', - city: 'Lokale Beratungsstellen + anonyme DiGA-Studien.', -}; +const STATUS_WITH_SHIFT: Array = ['employed', 'self_employed']; +const STATUS_WITH_INDUSTRY: Array = ['employed', 'self_employed', 'in_training']; +const STATUS_WITH_TENURE: Array = ['employed', 'self_employed']; + +function relevantFieldCount(d: Demographics): { filled: number; total: number } { + const base = [d.birthYear !== null, !!d.gender, !!d.maritalStatus, !!d.employmentStatus, !!d.bundesland, !!d.city]; + let filled = base.filter(Boolean).length; + let total = base.length; + + const status = d.employmentStatus; + if (status && STATUS_WITH_SHIFT.includes(status)) { + total += 1; + if (d.shiftWork !== null) filled += 1; + } + if (status && STATUS_WITH_INDUSTRY.includes(status)) { + total += 1; + if (!!d.industry) filled += 1; + } + if (status && STATUS_WITH_TENURE.includes(status)) { + total += 1; + if (!!d.jobTenure) filled += 1; + } + + return { filled, total }; +} function lookupLabel(options: Array<{ label: string; value: string }>, v: string | null) { if (!v) return null; return options.find((o) => o.value === v)?.label ?? v; } -function isComplete(d: Demographics) { - return ( - d.birthYear !== null && - !!d.gender && - !!d.maritalStatus && - !!d.profession && - !!d.bundesland && - !!d.city - ); -} - -// TODO Phase C: PATCH /api/profile/me/demographics — debounced auto-save (~500ms idle). -// Bis Endpoint live: lokaler State + onChange-Callback Richtung Parent. -function mockPersist(_next: Demographics) { - // no-op placeholder — Parent ruft echten Endpoint -} +function mockPersist(_next: Demographics) {} export function DemographicsAccordion({ demographics, @@ -127,10 +164,16 @@ export function DemographicsAccordion({ const expanded = expandedLocal; const [local, setLocal] = useState(demographics); - // Select-Sheet-State - const [pickerField, setPickerField] = useState(null); + // Generic wheel-picker state — alle Demographics-Auswahlfelder rendern via Wheel + // (iOS 26 hat ActionSheetIOS rendering geändert → wheel ist konsistenter UX-Pattern) + type WheelConfig = { + title: string; + options: Array<{ value: string | number; label: string }>; + value: string | number | null; + onSelect: (v: any) => void; + }; + const [wheelConfig, setWheelConfig] = useState(null); - // Debounce-Save Ref const saveTimer = useRef | null>(null); useEffect(() => { @@ -158,57 +201,112 @@ export function DemographicsAccordion({ setLocal(next); } - const completed = isComplete(local); - const showProTrialBanner = plan === 'free' && completed; + const { filled, total } = relevantFieldCount(local); + const completed = filled === total; + const showProTrialBanner = plan === 'free'; + const progressRatio = total > 0 ? filled / total : 0; + + const showShiftWork = !!local.employmentStatus && STATUS_WITH_SHIFT.includes(local.employmentStatus); + const showIndustry = !!local.employmentStatus && STATUS_WITH_INDUSTRY.includes(local.employmentStatus); + const showJobTenure = !!local.employmentStatus && STATUS_WITH_TENURE.includes(local.employmentStatus); return ( - {/* Privacy-Header */} ({ - opacity: pressed ? 0.7 : 1, - backgroundColor: '#ffffff', - borderWidth: 1, - borderColor: '#e5e5e5', - borderRadius: 14, - padding: 16, - })} + style={({ pressed }) => ({ opacity: pressed ? 0.7 : 1 })} > - - - ANONYMER BEITRAG ZUR FORSCHUNG - - - Optional. Niemals mit Name oder Email verknüpft. Jederzeit löschbar. - + + + + ANONYMER BEITRAG ZUR FORSCHUNG + + + Optional. Niemals mit Name oder Email verknüpft. Jederzeit löschbar. + + + - + + {completed ? ( + + + + Danke dass du ReBreak vertraust + + + ) : ( + + + + + + {filled}/{total} + + + )} @@ -223,10 +321,7 @@ export function DemographicsAccordion({ paddingVertical: 4, }} > - {/* Pro-Trial-Reward-Banner — nur free + (idealerweise) nicht-vollständig. - Wir zeigen ihn aber auch im "completed"-State als sanfte Bestätigung, - tatsächliche Trial-Vergabe ist Backend-Sache (Phase C). */} - {plan === 'free' ? ( + {showProTrialBanner ? ( - {showProTrialBanner + {completed ? 'Du bekommst 1 Woche Pro geschenkt' : 'Vervollständige dein Profil — 1 Woche Pro geschenkt'} @@ -270,153 +365,281 @@ export function DemographicsAccordion({ ) : null} - {/* Birth Year — Number-Input */} - { - const cleaned = raw.replace(/[^0-9]/g, '').slice(0, 4); - if (cleaned === '') { - persist({ ...local, birthYear: null }); - return; - } - const n = parseInt(cleaned, 10); - // Erlaube tippen — Validierung beim Blur - persist({ ...local, birthYear: Number.isNaN(n) ? null : n }); - }} - onBlur={() => { - const n = local.birthYear; - if (n !== null && (n < 1920 || n > 2010)) { - // ungültig — auf null zurücksetzen - flushSave({ ...local, birthYear: null }); - } - }} - keyboardType="number-pad" - maxLength={4} - placeholder="z.B. 1989" - placeholderTextColor={colors.textMuted} - style={inputStyle} + + setWheelConfig({ + title: 'Geburtsjahr', + options: BIRTH_YEAR_OPTIONS, + value: local.birthYear, + onSelect: (v) => flushSave({ ...local, birthYear: v as number }), + }) + } /> - {/* Gender — Select */} - + setPickerField('gender')} + onPress={() => + setWheelConfig({ + title: 'Geschlecht', + options: GENDER_OPTIONS, + value: local.gender, + onSelect: (v) => flushSave({ ...local, gender: v as string }), + }) + } /> - {/* Profession — TextInput */} - - persist({ ...local, profession: t })} - onBlur={() => { - const trimmed = (local.profession ?? '').trim(); - flushSave({ ...local, profession: trimmed === '' ? null : trimmed }); - }} - maxLength={80} - placeholder="z.B. Pflege, IT, Schichtarbeit" - placeholderTextColor={colors.textMuted} - style={inputStyle} - /> - - - {/* Marital — Select */} - + setPickerField('maritalStatus')} + onPress={() => + setWheelConfig({ + title: 'Familienstand', + options: MARITAL_OPTIONS, + value: local.maritalStatus, + onSelect: (v) => flushSave({ ...local, maritalStatus: v as string }), + }) + } /> - {/* Bundesland — Select */} - - setPickerField('bundesland')} - /> - - - {/* City — TextInput */} - - persist({ ...local, city: t })} - onBlur={() => { - const trimmed = (local.city ?? '').trim(); - flushSave({ ...local, city: trimmed === '' ? null : trimmed }); + {/* Beruf-Section */} + + + BERUF + + + + + + setWheelConfig({ + title: 'Berufs-Status', + options: EMPLOYMENT_STATUS_OPTIONS, + value: local.employmentStatus, + onSelect: (raw) => { + const v = raw as string; + const next = { + ...local, + employmentStatus: v, + shiftWork: STATUS_WITH_SHIFT.includes(v) ? local.shiftWork : null, + industry: STATUS_WITH_INDUSTRY.includes(v) ? local.industry : null, + jobTenure: STATUS_WITH_TENURE.includes(v) ? local.jobTenure : null, + }; + flushSave(next); + }, + }) + } /> - {/* Revoke Consent */} - ({ - opacity: pressed ? 0.7 : 1, - marginTop: 4, + {showShiftWork ? ( + + + + {local.shiftWork === null ? 'k.A.' : local.shiftWork ? 'Ja' : 'Nein'} + + flushSave({ ...local, shiftWork: v })} + trackColor={{ false: '#e5e5e5', true: colors.brandOrange }} + thumbColor="#ffffff" + /> + + + ) : null} + + {showIndustry ? ( + + + setWheelConfig({ + title: 'Branche', + options: INDUSTRY_OPTIONS, + value: local.industry, + onSelect: (v) => flushSave({ ...local, industry: v as string }), + }) + } + /> + + ) : null} + + {showJobTenure ? ( + + + setWheelConfig({ + title: 'Im aktuellen Job seit', + options: JOB_TENURE_OPTIONS, + value: local.jobTenure, + onSelect: (v) => flushSave({ ...local, jobTenure: v as string }), + }) + } + /> + + ) : null} + + {/* Wohnort-Section */} + - Einwilligung widerrufen + WOHNORT + + + + + setWheelConfig({ + title: 'Bundesland', + options: BUNDESLAND_OPTIONS, + value: local.bundesland, + onSelect: (raw) => { + const v = raw as string; + flushSave({ ...local, bundesland: v, city: local.bundesland !== v ? null : local.city }); + }, + }) + } + /> + + + {/* Stadt nur sichtbar wenn Bundesland gewählt */} + {local.bundesland ? ( + + + setWheelConfig({ + title: 'Stadt', + options: getCitiesForBundesland(local.bundesland).map((c) => ({ value: c, label: c })), + value: local.city, + onSelect: (v) => flushSave({ ...local, city: v as string }), + }) + } + /> + + ) : null} + + ({ opacity: pressed ? 0.7 : 1 })} + > + + + Einwilligung widerrufen + + ) : null} - setPickerField(null)} - onSelect={(v) => { - flushSave({ ...local, gender: v }); - setPickerField(null); - }} - /> - setPickerField(null)} - onSelect={(v) => { - flushSave({ ...local, maritalStatus: v }); - setPickerField(null); - }} - /> - setPickerField(null)} - onSelect={(v) => { - flushSave({ ...local, bundesland: v }); - setPickerField(null); - }} + } + value={wheelConfig?.value ?? null} + onSelect={(v) => wheelConfig?.onSelect(v)} + onClose={() => setWheelConfig(null)} /> + ); } @@ -439,17 +662,23 @@ function FieldRow({ label, why, isLast, + indent, + hideWhy, + filled, children, }: { label: string; why: string; isLast?: boolean; + indent?: boolean; + hideWhy?: boolean; + filled: boolean; children: React.ReactNode; }) { return ( - - {label} - + + + + {label} + + {children} - - {why} - + {!hideWhy && why ? ( + + {why} + + ) : null} ); } @@ -494,140 +732,33 @@ function SelectButton({ value, onPress }: { value: string | null; onPress: () => return ( ({ - opacity: pressed ? 0.6 : 1, - flexDirection: 'row', - alignItems: 'center', - gap: 6, - paddingVertical: 8, - paddingHorizontal: 10, - backgroundColor: '#fafafa', - borderRadius: 8, - borderWidth: 1, - borderColor: '#ececec', - minWidth: 140, - justifyContent: 'flex-end', - })} + style={({ pressed }) => ({ opacity: pressed ? 0.6 : 1 })} > - - {value ?? 'auswählen'} - - + + {/* Value als Chip */} + + + {value ?? 'auswählen'} + + + {/* Chevron-right am Ende, separat vom Chip */} + + ); } - -function SelectSheet({ - visible, - title, - options, - selectedValue, - onClose, - onSelect, -}: { - visible: boolean; - title: string; - options: Array<{ label: string; value: string }>; - selectedValue: string | null; - onClose: () => void; - onSelect: (v: string) => void; -}) { - const sortedOptions = useMemo(() => options, [options]); - - return ( - - - { - /* swallow */ - }} - style={{ - backgroundColor: '#ffffff', - borderTopLeftRadius: 18, - borderTopRightRadius: 18, - paddingHorizontal: 8, - paddingTop: 12, - paddingBottom: 24, - maxHeight: '70%', - }} - > - - - {title} - - - - - - - {sortedOptions.map((opt) => { - const isSelected = opt.value === selectedValue; - return ( - onSelect(opt.value)} - style={({ pressed }) => ({ - opacity: pressed ? 0.6 : 1, - flexDirection: 'row', - alignItems: 'center', - justifyContent: 'space-between', - paddingHorizontal: 14, - paddingVertical: 14, - borderRadius: 10, - backgroundColor: isSelected ? '#f5f8ff' : 'transparent', - })} - > - - {opt.label} - - {isSelected ? ( - - ) : null} - - ); - })} - - - - - ); -} diff --git a/apps/rebreak-native/components/profile/DigaMissionBanner.tsx b/apps/rebreak-native/components/profile/DigaMissionBanner.tsx index 4c457f4..b31f9cd 100644 --- a/apps/rebreak-native/components/profile/DigaMissionBanner.tsx +++ b/apps/rebreak-native/components/profile/DigaMissionBanner.tsx @@ -63,31 +63,36 @@ export function DigaMissionBanner({ onDismiss, onContribute }: Props) { onPress={onContribute} style={({ pressed }) => ({ opacity: pressed ? 0.7 : 1, + })} + > + - - Beitragen - + }}> + + Beitragen + + ({ opacity: pressed ? 0.7 : 1, + })} + > + + }}> Später + diff --git a/apps/rebreak-native/components/profile/ProfileHeader.tsx b/apps/rebreak-native/components/profile/ProfileHeader.tsx index c875cde..49c00b3 100644 --- a/apps/rebreak-native/components/profile/ProfileHeader.tsx +++ b/apps/rebreak-native/components/profile/ProfileHeader.tsx @@ -1,10 +1,30 @@ import { useState } from 'react'; import { View, Text, Pressable, Image } from 'react-native'; import { Ionicons } from '@expo/vector-icons'; +import Svg, { Path } from 'react-native-svg'; import { colors } from '../../lib/theme'; import { resolveAvatar } from '../../lib/resolveAvatar'; import type { Plan } from '../../hooks/useUserPlan'; +function GoogleIcon() { + return ( + + + + + + + ); +} + +function AppleIcon() { + return ( + + + + ); +} + export type AuthProvider = 'apple' | 'google' | 'email'; type Props = { @@ -14,6 +34,7 @@ type Props = { plan: Plan; memberSince: string; provider: AuthProvider; + demographicsComplete?: boolean; showDemographicsHint?: boolean; onEditAvatar?: () => void; onEditNickname?: () => void; @@ -26,10 +47,11 @@ const planLabel: Record = { legend: 'Legend', }; -const planColors: Record = { +const planColors: Record = { free: { bg: '#f5f5f5', text: '#525252', border: '#e5e5e5' }, pro: { bg: '#fff7ed', text: '#c2410c', border: '#fed7aa' }, - legend: { bg: '#fef9c3', text: '#854d0e', border: '#fde68a' }, + // Legend: vivid gold, white text, premium-look mit sparkles-icon + legend: { bg: '#f59e0b', text: '#ffffff', border: '#d97706', icon: 'sparkles' }, }; export function ProfileHeader({ @@ -39,6 +61,7 @@ export function ProfileHeader({ plan, memberSince, provider, + demographicsComplete, showDemographicsHint, onEditAvatar, onEditNickname, @@ -57,8 +80,9 @@ export function ProfileHeader({ : null; return ( - - {/* Avatar — Pressable; Camera-Badge ist eigene Pressable (vorher nur dekoratives View) */} + + {/* Avatar — Pressable in alignSelf:center-Wrapper (Pressable+style-fn ignoriert alignSelf manchmal in RN) */} + ({ @@ -92,7 +116,7 @@ export function ProfileHeader({ )} - {/* Camera-Badge — iOS-Photos-Pattern: blauer Kreis, weißes Icon */} + {/* Camera-Badge — iOS-Photos-Pattern: schwarzer Kreis, weißes Icon */} + - {/* Nickname — ganze Zeile Pressable (iOS-Settings-Pattern), kein hässliches Pencil */} + {/* Nickname — ganze Zeile Pressable in alignSelf:center-Wrapper */} + {nickname} - + - {providerPillLabel ? ( - - - - {providerPillLabel} - - - ) : ( + {/* Plan-Tier-Badge direkt unter Nickname — Legend mit sparkles-icon */} + + {planStyle.icon ? ( + + ) : null} + + {planLabel[plan].toUpperCase()} + + + + + {providerPillLabel ? ( + + {provider === 'google' ? : } + + {providerPillLabel} + + + ) : ( + + {email} + + )} - {email} - - )} - - - - - {planLabel[plan].toUpperCase()} - - - Mitglied seit {memberSince} - {/* Freundlicher Hint statt Progress-Bar — nur sichtbar wenn Demographics unvollständig */} + {/* Freundlicher Hint — nur sichtbar wenn Demographics unvollständig. + Parent ist KEIN alignItems:center mehr — Hint nimmt natürlich volle Breite (default flex-stretch). + KEIN width:'100%' (Konflikt mit alignSelf:stretch in alignItems:center-Kontext war der Bug). */} {showDemographicsHint ? ( ({ - alignSelf: 'stretch', - width: '100%', - marginTop: 14, - paddingHorizontal: 14, - paddingVertical: 12, - borderRadius: 12, - backgroundColor: '#f5f8ff', - borderWidth: 1, - borderColor: '#dbe5ff', - flexDirection: 'row', - alignItems: 'center', - gap: 10, + alignSelf: 'center', + marginTop: 16, opacity: pressed ? 0.7 : 1, })} > - - - Hilf uns rebreak besser zu machen — fülle deine anonymen Daten aus. - - + + + + Hilf uns rebreak besser zu machen + + + Fülle deine anonymen Daten aus. + + + ) : null} diff --git a/apps/rebreak-native/components/profile/StatsBar.tsx b/apps/rebreak-native/components/profile/StatsBar.tsx index 0ae5c1b..27f808c 100644 --- a/apps/rebreak-native/components/profile/StatsBar.tsx +++ b/apps/rebreak-native/components/profile/StatsBar.tsx @@ -1,5 +1,4 @@ import { View, Text, Pressable } from 'react-native'; -import { Ionicons } from '@expo/vector-icons'; import { colors } from '../../lib/theme'; type Props = { @@ -14,70 +13,59 @@ type Props = { type CardProps = { value: string; label: string; - icon?: React.ComponentProps['name']; onPress?: () => void; }; -function StatCard({ value, label, icon, onPress }: CardProps) { +function StatPill({ value, label, onPress }: CardProps) { return ( ({ - flex: 1, - opacity: pressed ? 0.6 : 1, - alignItems: 'center', - justifyContent: 'center', - paddingVertical: 16, - paddingHorizontal: 8, - })} + style={({ pressed }) => ({ opacity: pressed ? 0.6 : 1 })} > - + {value} - {icon ? ( - - ) : null} + + {label} + - - {label} - ); } -function Divider() { - return ( - - ); -} - -/** - * Community-Stats: 3 prominente Cards in einer zentrierten Reihe. - * - Posts / Follower / Approved Domains - * - Approved Domains: PLAIN INTEGER (kein Cap), Trophy-Icon als Community-Beitrag-Hint - */ export function StatsBar({ postsCount, followersCount, @@ -87,27 +75,21 @@ export function StatsBar({ onApprovedDomainsPress, }: Props) { return ( - + - - - - - + + diff --git a/apps/rebreak-native/components/urge/UrgeGames.tsx b/apps/rebreak-native/components/urge/UrgeGames.tsx index 633f9dd..1deaf6e 100644 --- a/apps/rebreak-native/components/urge/UrgeGames.tsx +++ b/apps/rebreak-native/components/urge/UrgeGames.tsx @@ -39,16 +39,19 @@ export function GamePickerGrid({ onSelect }: { onSelect: (game: GameType) => voi onPress={() => onSelect(game.id)} style={({ pressed }) => ({ width: '47%', + opacity: pressed ? 0.75 : 1, + })} + > + + }}> {t(game.titleKey)} @@ -67,6 +70,7 @@ export function GamePickerGrid({ onSelect }: { onSelect: (game: GameType) => voi > {t(game.descKey)} + ))} diff --git a/apps/rebreak-native/lib/germanCities.ts b/apps/rebreak-native/lib/germanCities.ts new file mode 100644 index 0000000..38c5ddc --- /dev/null +++ b/apps/rebreak-native/lib/germanCities.ts @@ -0,0 +1,89 @@ +/** + * Top-Städte pro Bundesland (anonymized DiGA-Demographics). + * Curated by population — covers ~85% of population. + * Bundesland-Code = ISO 3166-2:DE (BW, BY, BE, ...). + * + * Falls User-Stadt nicht in Liste: Fallback "Andere" → free-text TextInput + * (separate UX-Path, in Phase C wenn relevant). + */ + +export const GERMAN_CITIES_BY_BUNDESLAND: Record = { + BW: [ + 'Stuttgart', 'Mannheim', 'Karlsruhe', 'Freiburg', 'Heidelberg', 'Heilbronn', + 'Ulm', 'Pforzheim', 'Reutlingen', 'Esslingen', 'Tübingen', 'Ludwigsburg', + 'Konstanz', 'Aalen', 'Sindelfingen', 'Villingen-Schwenningen', 'Friedrichshafen', + 'Offenburg', 'Schwäbisch Gmünd', 'Göppingen', 'Rastatt', 'Baden-Baden', + 'Ravensburg', 'Tuttlingen', 'Lörrach', 'Bietigheim-Bissingen', + ], + BY: [ + 'München', 'Nürnberg', 'Augsburg', 'Regensburg', 'Würzburg', 'Ingolstadt', + 'Fürth', 'Erlangen', 'Bayreuth', 'Bamberg', 'Aschaffenburg', 'Landshut', + 'Kempten', 'Rosenheim', 'Neu-Ulm', 'Schweinfurt', 'Passau', 'Freising', + 'Straubing', 'Dachau', 'Memmingen', 'Hof', 'Coburg', 'Ansbach', + 'Erding', 'Weiden', 'Kaufbeuren', 'Garmisch-Partenkirchen', + ], + BE: ['Berlin'], + BB: [ + 'Potsdam', 'Cottbus', 'Brandenburg an der Havel', 'Frankfurt (Oder)', + 'Oranienburg', 'Eberswalde', 'Falkensee', 'Bernau', 'Königs Wusterhausen', + 'Hennigsdorf', 'Werder', 'Strausberg', 'Fürstenwalde', 'Schwedt', 'Senftenberg', + ], + HB: ['Bremen', 'Bremerhaven'], + HH: ['Hamburg'], + HE: [ + 'Frankfurt am Main', 'Wiesbaden', 'Kassel', 'Darmstadt', 'Offenbach', + 'Hanau', 'Gießen', 'Marburg', 'Fulda', 'Rüsselsheim', 'Wetzlar', 'Bad Homburg', + 'Oberursel', 'Rodgau', 'Dreieich', 'Limburg', 'Bensheim', 'Neu-Isenburg', + 'Maintal', 'Langen', 'Hofheim', 'Bad Vilbel', + ], + MV: [ + 'Rostock', 'Schwerin', 'Neubrandenburg', 'Stralsund', 'Greifswald', 'Wismar', + 'Güstrow', 'Waren', 'Anklam', 'Bergen auf Rügen', 'Parchim', 'Neustrelitz', + ], + NI: [ + 'Hannover', 'Braunschweig', 'Oldenburg', 'Osnabrück', 'Wolfsburg', 'Göttingen', + 'Hildesheim', 'Salzgitter', 'Delmenhorst', 'Lüneburg', 'Wilhelmshaven', + 'Celle', 'Hameln', 'Lingen', 'Cuxhaven', 'Emden', 'Goslar', 'Stade', + 'Nordhorn', 'Peine', 'Melle', 'Garbsen', 'Langenhagen', + ], + NW: [ + 'Köln', 'Düsseldorf', 'Dortmund', 'Essen', 'Duisburg', 'Bochum', 'Wuppertal', + 'Bielefeld', 'Bonn', 'Münster', 'Mönchengladbach', 'Gelsenkirchen', 'Aachen', + 'Krefeld', 'Oberhausen', 'Hagen', 'Hamm', 'Mülheim', 'Leverkusen', 'Solingen', + 'Herne', 'Neuss', 'Paderborn', 'Bottrop', 'Recklinghausen', 'Bergisch Gladbach', + 'Remscheid', 'Moers', 'Siegen', 'Witten', 'Iserlohn', 'Gütersloh', + 'Marl', 'Lünen', 'Velbert', 'Minden', 'Dorsten', 'Detmold', 'Castrop-Rauxel', + 'Arnsberg', 'Lüdenscheid', 'Bocholt', 'Dinslaken', 'Lippstadt', + ], + RP: [ + 'Mainz', 'Ludwigshafen', 'Koblenz', 'Trier', 'Kaiserslautern', 'Worms', + 'Neuwied', 'Neustadt', 'Speyer', 'Frankenthal', 'Bad Kreuznach', 'Pirmasens', + 'Idar-Oberstein', 'Zweibrücken', 'Andernach', 'Ingelheim', 'Mayen', 'Landau', + ], + SL: ['Saarbrücken', 'Neunkirchen', 'Homburg', 'Völklingen', 'Sankt Ingbert', 'Saarlouis', 'Merzig', 'Dillingen'], + SN: [ + 'Leipzig', 'Dresden', 'Chemnitz', 'Zwickau', 'Plauen', 'Görlitz', 'Freiberg', + 'Bautzen', 'Pirna', 'Riesa', 'Hoyerswerda', 'Meißen', 'Radebeul', 'Freital', + 'Glauchau', 'Annaberg-Buchholz', 'Markkleeberg', 'Limbach-Oberfrohna', + ], + ST: [ + 'Magdeburg', 'Halle', 'Dessau-Roßlau', 'Wittenberg', 'Stendal', 'Halberstadt', + 'Bernburg', 'Naumburg', 'Weißenfels', 'Aschersleben', 'Merseburg', 'Schönebeck', + 'Bitterfeld-Wolfen', 'Sangerhausen', 'Köthen', 'Zeitz', + ], + SH: [ + 'Kiel', 'Lübeck', 'Flensburg', 'Neumünster', 'Norderstedt', 'Elmshorn', + 'Pinneberg', 'Itzehoe', 'Wedel', 'Ahrensburg', 'Geesthacht', 'Bad Oldesloe', + 'Rendsburg', 'Reinbek', 'Heide', 'Husum', + ], + TH: [ + 'Erfurt', 'Jena', 'Gera', 'Weimar', 'Nordhausen', 'Eisenach', 'Gotha', + 'Suhl', 'Mühlhausen', 'Altenburg', 'Sondershausen', 'Bad Salzungen', + 'Sonneberg', 'Saalfeld', 'Greiz', 'Apolda', 'Arnstadt', 'Pößneck', + ], +}; + +export function getCitiesForBundesland(bundeslandCode: string | null | undefined): string[] { + if (!bundeslandCode) return []; + return GERMAN_CITIES_BY_BUNDESLAND[bundeslandCode] ?? []; +} diff --git a/apps/rebreak-native/lib/useNativeActionSheet.ts b/apps/rebreak-native/lib/useNativeActionSheet.ts new file mode 100644 index 0000000..3b47628 --- /dev/null +++ b/apps/rebreak-native/lib/useNativeActionSheet.ts @@ -0,0 +1,48 @@ +/** + * useNativeActionSheet — Cross-Platform Action-Sheet mit garantiert nativem iOS-Bottom-Sheet. + * + * Problem: `@expo/react-native-action-sheet`'s Auto-Detection bricht in pnpm-Monorepo wegen + * `unstable_enablePackageExports: true` in metro.config — Metro resolved auf JS-Fallback + * (centered pills) statt iOS-native bottom-sheet. + * + * Fix: Platform.OS === 'ios' → ActionSheetIOS direkt aus react-native core (immer native). + * Android → @expo/react-native-action-sheet's Material-Style Custom-Sheet. + */ +import { Platform, ActionSheetIOS } from 'react-native'; +import { useActionSheet as usePackageActionSheet } from '@expo/react-native-action-sheet'; +import type { ActionSheetIOSOptions } from 'react-native'; + +type Options = { + title?: string; + message?: string; + options: string[]; + cancelButtonIndex?: number; + destructiveButtonIndex?: number; + tintColor?: string; +}; + +type Callback = (idx: number | undefined) => void; + +export function useNativeActionSheet(): { + showActionSheetWithOptions: (options: Options, callback: Callback) => void; +} { + const { showActionSheetWithOptions: showPackageSheet } = usePackageActionSheet(); + + return { + showActionSheetWithOptions: (options, callback) => { + if (Platform.OS === 'ios') { + const iosOptions: ActionSheetIOSOptions = { + options: options.options, + cancelButtonIndex: options.cancelButtonIndex, + destructiveButtonIndex: options.destructiveButtonIndex, + title: options.title, + message: options.message, + tintColor: options.tintColor, + }; + ActionSheetIOS.showActionSheetWithOptions(iosOptions, callback); + } else { + showPackageSheet(options, callback); + } + }, + }; +} diff --git a/apps/rebreak-native/locales/de.json b/apps/rebreak-native/locales/de.json index 75a7ad0..6dc074e 100644 --- a/apps/rebreak-native/locales/de.json +++ b/apps/rebreak-native/locales/de.json @@ -645,5 +645,45 @@ "label_one": "Tag", "label_other": "Tage", "label_suffix": "clean" + }, + "demographics": { + "employment_status_employed": "angestellt", + "employment_status_self_employed": "selbständig", + "employment_status_in_training": "in Ausbildung / Studium", + "employment_status_unemployed": "arbeitslos / arbeitssuchend", + "employment_status_retired": "pensioniert / im Ruhestand", + "employment_status_homemaking": "Hausarbeit / Care-Arbeit", + "employment_status_other": "andere", + "industry_it_software": "IT / Software", + "industry_healthcare": "Pflege / Medizin", + "industry_education": "Bildung / Lehre", + "industry_hospitality": "Gastronomie / Hotellerie", + "industry_construction": "Bau / Handwerk", + "industry_banking_finance": "Banking / Finance", + "industry_sales_marketing": "Verkauf / Marketing", + "industry_public_admin": "Verwaltung / Behörde", + "industry_logistics": "Logistik / Transport", + "industry_creative_media": "Kreativ / Medien", + "industry_other": "andere", + "tenure_less_1y": "weniger als 1 Jahr", + "tenure_1_3y": "1-3 Jahre", + "tenure_3_5y": "3-5 Jahre", + "tenure_5_10y": "5-10 Jahre", + "tenure_more_10y": "mehr als 10 Jahre", + "shift_work_yes": "Ja", + "shift_work_no": "Nein", + "shift_work_unknown": "k.A.", + "section_beruf": "BERUF", + "section_wohnort": "WOHNORT", + "field_status": "Status", + "field_shift_work": "Schichtarbeit", + "field_industry": "Branche", + "field_job_tenure": "Im Job seit", + "field_bundesland": "Bundesland", + "field_city": "Stadt", + "picker_employment_status": "Berufs-Status", + "picker_industry": "Branche", + "picker_job_tenure": "Im aktuellen Job seit", + "picker_bundesland": "Bundesland" } } diff --git a/apps/rebreak-native/locales/en.json b/apps/rebreak-native/locales/en.json index 513c111..8e58eac 100644 --- a/apps/rebreak-native/locales/en.json +++ b/apps/rebreak-native/locales/en.json @@ -645,5 +645,45 @@ "label_one": "day", "label_other": "days", "label_suffix": "clean" + }, + "demographics": { + "employment_status_employed": "employed", + "employment_status_self_employed": "self-employed", + "employment_status_in_training": "in education / training", + "employment_status_unemployed": "unemployed / job-seeking", + "employment_status_retired": "retired / pensioned", + "employment_status_homemaking": "homemaking / care work", + "employment_status_other": "other", + "industry_it_software": "IT / Software", + "industry_healthcare": "Healthcare / Medicine", + "industry_education": "Education / Teaching", + "industry_hospitality": "Hospitality / Hotels", + "industry_construction": "Construction / Trades", + "industry_banking_finance": "Banking / Finance", + "industry_sales_marketing": "Sales / Marketing", + "industry_public_admin": "Public administration", + "industry_logistics": "Logistics / Transport", + "industry_creative_media": "Creative / Media", + "industry_other": "other", + "tenure_less_1y": "less than 1 year", + "tenure_1_3y": "1-3 years", + "tenure_3_5y": "3-5 years", + "tenure_5_10y": "5-10 years", + "tenure_more_10y": "more than 10 years", + "shift_work_yes": "Yes", + "shift_work_no": "No", + "shift_work_unknown": "n/a", + "section_beruf": "EMPLOYMENT", + "section_wohnort": "LOCATION", + "field_status": "Status", + "field_shift_work": "Shift work", + "field_industry": "Industry", + "field_job_tenure": "In job since", + "field_bundesland": "State", + "field_city": "City", + "picker_employment_status": "Employment status", + "picker_industry": "Industry", + "picker_job_tenure": "Time in current job", + "picker_bundesland": "State" } } diff --git a/apps/rebreak-native/package.json b/apps/rebreak-native/package.json index 34c0d01..633927b 100644 --- a/apps/rebreak-native/package.json +++ b/apps/rebreak-native/package.json @@ -13,9 +13,13 @@ }, "dependencies": { "@expo-google-fonts/nunito": "^0.2.3", + "@expo/react-native-action-sheet": "^4.1.1", "@expo/vector-icons": "^14.0.0", + "@lodev09/react-native-true-sheet": "^3.10.1", "@react-native-async-storage/async-storage": "^2.1.2", "@react-native-community/slider": "^5.2.0", + "@react-native-menu/menu": "^2.0.0", + "@react-native-picker/picker": "2.11.1", "@react-navigation/native": "^7.0.0", "@supabase/supabase-js": "^2.46.0", "@tanstack/react-query": "^5.59.0", diff --git a/apps/rebreak-native/scripts/build-ios-clean.sh b/apps/rebreak-native/scripts/build-ios-clean.sh new file mode 100755 index 0000000..0ae7b7f --- /dev/null +++ b/apps/rebreak-native/scripts/build-ios-clean.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash +# build-ios-clean.sh — iOS clean rebuild ohne Festplatten-bloat +# +# Cleart vor jedem Build: +# - Rebreak DerivedData (NICHT alle Projects, nur Rebreak-*) +# - ios/build/ (Xcode workspace build output) +# +# Optional via env: +# CLEAN_PODS=1 → auch ios/Pods nukern + pod install (langsamer, ~3min extra) +# SKIP_BUILD=1 → nur cleanup, kein expo run:ios +# +# Usage: +# ./scripts/build-ios-clean.sh # cleanup + simulator-build +# ./scripts/build-ios-clean.sh --device # cleanup + device-build +# CLEAN_PODS=1 ./scripts/build-ios-clean.sh # full reset +# SKIP_BUILD=1 ./scripts/build-ios-clean.sh # nur disk freigeben + +set -euo pipefail + +cd "$(dirname "$0")/.." + +echo "===================================" +echo " iOS Clean-Build" +echo "===================================" + +free_before=$(df -h / | tail -1 | awk '{print $4}') +echo "Free disk (before): $free_before" +echo "" + +# 1. Sicherheits-check: läuft gerade ein Xcode/expo-build? +if pgrep -f "xcodebuild|expo run:ios" >/dev/null 2>&1; then + echo "WARNUNG: xcodebuild oder expo run:ios läuft gerade." + echo " Cleanup würde laufenden Build kaputt machen. Abbruch." + exit 1 +fi + +# 2. Rebreak DerivedData nukern (gezielt, nicht alle Projects) +DD_DIR="$HOME/Library/Developer/Xcode/DerivedData" +REBREAK_DDS=$(find "$DD_DIR" -maxdepth 1 -name "Rebreak-*" -type d 2>/dev/null || true) +if [ -n "$REBREAK_DDS" ]; then + echo "==> Removing Rebreak DerivedData:" + echo "$REBREAK_DDS" | sed 's/^/ /' + echo "$REBREAK_DDS" | xargs rm -rf +else + echo "==> No Rebreak DerivedData found (already clean)" +fi + +# 3. ios/build/ (workspace build output, falls vorhanden) +if [ -d "ios/build" ]; then + size=$(du -sh ios/build 2>/dev/null | awk '{print $1}') + echo "==> Removing ios/build/ ($size)" + rm -rf ios/build +fi + +# 4. Optional: Pods komplett zurücksetzen +if [ "${CLEAN_PODS:-0}" = "1" ]; then + if [ -d "ios/Pods" ]; then + size=$(du -sh ios/Pods 2>/dev/null | awk '{print $1}') + echo "==> CLEAN_PODS=1 → Removing ios/Pods/ ($size)" + rm -rf ios/Pods ios/Podfile.lock + fi + echo "==> Running pod install" + (cd ios && pod install) +fi + +free_after=$(df -h / | tail -1 | awk '{print $4}') +echo "" +echo "Free disk (after): $free_after" +echo "" + +# 5. Build (außer SKIP_BUILD=1) +if [ "${SKIP_BUILD:-0}" = "1" ]; then + echo "SKIP_BUILD=1 → cleanup-only, kein expo run:ios" + exit 0 +fi + +echo "==> Starting expo run:ios $*" +exec npx expo run:ios "$@" diff --git a/package.json b/package.json index 3fac15d..fc04759 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,9 @@ "scripts": { "dev:backend": "pnpm --filter rebreak-backend dev", "dev:native": "pnpm --filter rebreak-native start", + "dev:admin": "pnpm --filter rebreak-admin dev", "build:backend": "pnpm --filter rebreak-backend build", + "build:admin": "pnpm --filter rebreak-admin build", "android": "pnpm --filter rebreak-native android", "ios": "pnpm --filter rebreak-native ios" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 85be43f..ab95f64 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,20 +8,72 @@ importers: .: {} + apps/admin: + dependencies: + '@nuxt/icon': + specifier: ^1.10.0 + version: 1.15.0(magicast@0.5.2)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3)) + '@nuxt/ui': + specifier: ^4.5.1 + version: 4.7.1(@internationalized/date@3.12.1)(@internationalized/number@3.6.6)(@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(embla-carousel@8.6.0)(ioredis@5.10.1)(magicast@0.5.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.2.4)(typescript@5.9.3)(valibot@1.4.0(typescript@5.9.3))(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue-router@4.6.4(vue@3.5.34(typescript@5.9.3)))(vue@3.5.34(typescript@5.9.3))(yjs@13.6.30)(zod@3.25.76) + '@nuxtjs/supabase': + specifier: ^2.0.4 + version: 2.0.6 + '@vueuse/core': + specifier: ^14.2.1 + version: 14.3.0(vue@3.5.34(typescript@5.9.3)) + '@vueuse/nuxt': + specifier: ^14.2.1 + version: 14.3.0(magicast@0.5.2)(nuxt@4.1.3(@electric-sql/pglite@0.4.1)(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.34)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.2)(mysql2@3.15.3)(rollup@4.60.3)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3)) + nuxt: + specifier: 4.1.3 + version: 4.1.3(@electric-sql/pglite@0.4.1)(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.34)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.2)(mysql2@3.15.3)(rollup@4.60.3)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(yaml@2.8.4) + tailwindcss: + specifier: ^4.1.18 + version: 4.2.4 + vue: + specifier: ^3.5.22 + version: 3.5.34(typescript@5.9.3) + vue-router: + specifier: ^4.5.1 + version: 4.6.4(vue@3.5.34(typescript@5.9.3)) + devDependencies: + '@iconify-json/heroicons': + specifier: ^1.2.3 + version: 1.2.3 + '@nuxt/devtools': + specifier: latest + version: 4.0.0-alpha.4(@pnpm/logger@1001.0.1)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3)) + typescript: + specifier: ^5.9.3 + version: 5.9.3 + apps/rebreak-native: dependencies: '@expo-google-fonts/nunito': specifier: ^0.2.3 version: 0.2.3 + '@expo/react-native-action-sheet': + specifier: ^4.1.1 + version: 4.1.1(@types/react@19.0.14)(react@19.0.0) '@expo/vector-icons': specifier: ^14.0.0 version: 14.1.0(expo-font@13.0.4(expo@53.0.27(@babel/core@7.29.0)(@expo/metro-runtime@5.0.5(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + '@lodev09/react-native-true-sheet': + specifier: ^3.10.1 + version: 3.10.1(@react-navigation/native@7.2.2(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-reanimated@4.0.3(@babel/core@7.29.0)(react-native-worklets@0.4.2(@babel/core@7.29.0)(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-worklets@0.4.2(@babel/core@7.29.0)(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) '@react-native-async-storage/async-storage': specifier: ^2.1.2 version: 2.2.0(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0)) '@react-native-community/slider': specifier: ^5.2.0 version: 5.2.0 + '@react-native-menu/menu': + specifier: ^2.0.0 + version: 2.0.0(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + '@react-native-picker/picker': + specifier: 2.11.1 + version: 2.11.1(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) '@react-navigation/native': specifier: ^7.0.0 version: 7.2.2(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) @@ -102,7 +154,7 @@ importers: version: 7.2.2(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) nativewind: specifier: ^4.1.0 - version: 4.2.3(react-native-reanimated@4.0.3(@babel/core@7.29.0)(react-native-worklets@0.4.2(@babel/core@7.29.0)(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-svg@15.11.2(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.19) + version: 4.2.3(react-native-reanimated@4.0.3(@babel/core@7.29.0)(react-native-worklets@0.4.2(@babel/core@7.29.0)(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-svg@15.11.2(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.19(yaml@2.8.4)) react: specifier: 19.0.0 version: 19.0.0 @@ -153,13 +205,13 @@ importers: version: 9.8.3(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) tailwindcss: specifier: ^3.4.14 - version: 3.4.19 + version: 3.4.19(yaml@2.8.4) valibot: specifier: ^1.2.0 version: 1.4.0(typescript@5.8.3) zustand: specifier: ^5.0.0 - version: 5.0.13(@types/react@19.0.14)(react@19.0.0)(use-sync-external-store@1.6.0(react@19.0.0)) + version: 5.0.13(@types/react@19.0.14)(immer@11.1.7)(react@19.0.0)(use-sync-external-store@1.6.0(react@19.0.0)) devDependencies: '@babel/core': specifier: ^7.25.0 @@ -215,13 +267,13 @@ importers: version: 8.20.0 '@vitest/coverage-v8': specifier: ^2.1.0 - version: 2.1.9(vitest@2.1.9(@types/node@22.19.17)(lightningcss@1.27.0)(terser@5.46.2)) + version: 2.1.9(vitest@2.1.9(@types/node@22.19.17)(lightningcss@1.32.0)(terser@5.46.2)) h3: specifier: ^1.15.4 version: 1.15.11 nitropack: specifier: ^2.12.4 - version: 2.13.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3) + version: 2.13.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3)(oxc-parser@0.126.0) prisma: specifier: ^7.2.0 version: 7.8.0(@types/react@19.0.14)(magicast@0.5.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.9.3) @@ -230,7 +282,7 @@ importers: version: 5.9.3 vitest: specifier: ^2.1.0 - version: 2.1.9(@types/node@22.19.17)(lightningcss@1.27.0)(terser@5.46.2) + version: 2.1.9(@types/node@22.19.17)(lightningcss@1.32.0)(terser@5.46.2) packages: @@ -250,6 +302,12 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + + '@antfu/utils@8.1.1': + resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} + '@babel/code-frame@7.10.4': resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==} @@ -750,10 +808,40 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@bomb.sh/tab@0.0.14': + resolution: {integrity: sha512-cHMk2LI430MVoX1unTt9oK1iZzQS4CYDz97MSxKLNErW69T43Z2QLFTpdS/3jVOIKrIADWfuxQ+nQNJkNV7E4w==} + hasBin: true + peerDependencies: + cac: ^6.7.14 + citty: ^0.1.6 || ^0.2.0 + commander: ^13.1.0 + peerDependenciesMeta: + cac: + optional: true + citty: + optional: true + commander: + optional: true + + '@capsizecss/unpack@4.0.0': + resolution: {integrity: sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==} + engines: {node: '>=18'} + + '@clack/core@1.3.0': + resolution: {integrity: sha512-xJPHpAmEQUBrXSLx0gF+q5K/IyihXpsHZcha+jB+tyahsKRK3Dxo4D0coZDewHo12NhiuzC3dTtMPbm53GEAAA==} + engines: {node: '>= 20.12.0'} + + '@clack/prompts@1.3.0': + resolution: {integrity: sha512-GgcWwRCs/xPtaqlMy8qRhPnZf9vlWcWZNHAitnVQ3yk7JmSralSiq5q07yaffYE8SogtDm7zFeKccx1QNVARpw==} + engines: {node: '>= 20.12.0'} + '@cloudflare/kv-asset-handler@0.4.2': resolution: {integrity: sha512-SIOD2DxrRRwQ+jgzlXCqoEFiKOFqaPjhnNTGKXSRLvp1HiOvapLaFG2kEr9dYQTYe8rKrd9uvDUzmAITeNyaHQ==} engines: {node: '>=18.0.0'} + '@colordx/core@5.4.3': + resolution: {integrity: sha512-kIxYSfA5T8HXjav55UaaH/o/cKivF6jCCGIb8eqtcsfI46wsvlSiT8jMDyrl779qLec3c2c2oHBZo4oAhvbjrQ==} + '@egjs/hammerjs@2.0.17': resolution: {integrity: sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==} engines: {node: '>=0.8.0'} @@ -772,12 +860,33 @@ packages: '@electric-sql/pglite@0.4.1': resolution: {integrity: sha512-mZ9NzzUSYPOCnxHH1oAHPRzoMFJHY472raDKwXl/+6oPbpdJ7g8LsCN4FSaIIfkiCKHhb3iF/Zqo3NYxaIhU7Q==} + '@emnapi/core@1.9.2': + resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==} + + '@emnapi/runtime@1.9.2': + resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==} + + '@emnapi/wasi-threads@1.2.1': + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.27.7': + resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/aix-ppc64@0.28.0': resolution: {integrity: sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==} engines: {node: '>=18'} @@ -790,6 +899,18 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.27.7': + resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.28.0': resolution: {integrity: sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==} engines: {node: '>=18'} @@ -802,6 +923,18 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.27.7': + resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.28.0': resolution: {integrity: sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==} engines: {node: '>=18'} @@ -814,6 +947,18 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.27.7': + resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.28.0': resolution: {integrity: sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==} engines: {node: '>=18'} @@ -826,6 +971,18 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.27.7': + resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.28.0': resolution: {integrity: sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==} engines: {node: '>=18'} @@ -838,6 +995,18 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.27.7': + resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.28.0': resolution: {integrity: sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==} engines: {node: '>=18'} @@ -850,6 +1019,18 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.27.7': + resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.28.0': resolution: {integrity: sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==} engines: {node: '>=18'} @@ -862,6 +1043,18 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.7': + resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.28.0': resolution: {integrity: sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==} engines: {node: '>=18'} @@ -874,6 +1067,18 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.27.7': + resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.28.0': resolution: {integrity: sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==} engines: {node: '>=18'} @@ -886,6 +1091,18 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.27.7': + resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.28.0': resolution: {integrity: sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==} engines: {node: '>=18'} @@ -898,6 +1115,18 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.27.7': + resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.28.0': resolution: {integrity: sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==} engines: {node: '>=18'} @@ -910,6 +1139,18 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.27.7': + resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.28.0': resolution: {integrity: sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==} engines: {node: '>=18'} @@ -922,6 +1163,18 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.27.7': + resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.28.0': resolution: {integrity: sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==} engines: {node: '>=18'} @@ -934,6 +1187,18 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.27.7': + resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.28.0': resolution: {integrity: sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==} engines: {node: '>=18'} @@ -946,6 +1211,18 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.27.7': + resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.28.0': resolution: {integrity: sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==} engines: {node: '>=18'} @@ -958,6 +1235,18 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.27.7': + resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.28.0': resolution: {integrity: sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==} engines: {node: '>=18'} @@ -970,12 +1259,36 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.27.7': + resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.28.0': resolution: {integrity: sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==} engines: {node: '>=18'} cpu: [x64] os: [linux] + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-arm64@0.27.7': + resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-arm64@0.28.0': resolution: {integrity: sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==} engines: {node: '>=18'} @@ -988,12 +1301,36 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.27.7': + resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.28.0': resolution: {integrity: sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-arm64@0.27.7': + resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-arm64@0.28.0': resolution: {integrity: sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==} engines: {node: '>=18'} @@ -1006,12 +1343,36 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.27.7': + resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.28.0': resolution: {integrity: sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/openharmony-arm64@0.27.7': + resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/openharmony-arm64@0.28.0': resolution: {integrity: sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==} engines: {node: '>=18'} @@ -1024,6 +1385,18 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.27.7': + resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.28.0': resolution: {integrity: sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==} engines: {node: '>=18'} @@ -1036,6 +1409,18 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.27.7': + resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.28.0': resolution: {integrity: sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==} engines: {node: '>=18'} @@ -1048,6 +1433,18 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.27.7': + resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.28.0': resolution: {integrity: sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==} engines: {node: '>=18'} @@ -1060,6 +1457,18 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.27.7': + resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.28.0': resolution: {integrity: sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==} engines: {node: '>=18'} @@ -1125,6 +1534,11 @@ packages: '@expo/prebuild-config@9.0.12': resolution: {integrity: sha512-AKH5Scf+gEMgGxZZaimrJI2wlUJlRoqzDNn7/rkhZa5gUTnO4l6slKak2YdaH+nXlOWCNfAQWa76NnpQIfmv6Q==} + '@expo/react-native-action-sheet@4.1.1': + resolution: {integrity: sha512-4KRaba2vhqDRR7ObBj6nrD5uJw8ePoNHdIOMETTpgGTX7StUbrF4j/sfrP1YUyaPEa1P8FXdwG6pB+2WtrJd1A==} + peerDependencies: + react: '>=18.0.0' + '@expo/schema-utils@0.1.8': resolution: {integrity: sha512-9I6ZqvnAvKKDiO+ZF8BpQQFYWXOJvTAL5L/227RUbWG1OVZDInFifzCBiqAZ3b67NRfeAgpgvbA7rejsqhY62A==} @@ -1155,15 +1569,57 @@ packages: resolution: {integrity: sha512-wC562eD3gS6vO2tWHToFhlFnmHKfKHgF1oyvojeSkLK/ZYop1bMU+7cOMiF9Sq70CzcsLy/EMRy/uRc76QmNRw==} hasBin: true + '@floating-ui/core@1.7.5': + resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==} + + '@floating-ui/dom@1.7.6': + resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==} + + '@floating-ui/utils@0.2.11': + resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==} + + '@floating-ui/vue@1.1.11': + resolution: {integrity: sha512-HzHKCNVxnGS35r9fCHBc3+uCnjw9IWIlCPL683cGgM9Kgj2BiAl8x1mS7vtvP6F9S/e/q4O6MApwSHj8hNLGfw==} + + '@gwhitney/detect-indent@7.0.1': + resolution: {integrity: sha512-7bQW+gkKa2kKZPeJf6+c6gFK9ARxQfn+FKy9ScTBppyKRWH2KzsmweXUoklqeEiHiNVWaeP5csIdsNq6w7QhzA==} + engines: {node: '>=12.20'} + '@hono/node-server@1.19.11': resolution: {integrity: sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g==} engines: {node: '>=18.14.1'} peerDependencies: hono: ^4 + '@iconify-json/heroicons@1.2.3': + resolution: {integrity: sha512-n+vmCEgTesRsOpp5AB5ILB6srsgsYK+bieoQBNlafvoEhjVXLq8nIGN4B0v/s4DUfa0dOrjwE/cKJgIKdJXOEg==} + + '@iconify/collections@1.0.680': + resolution: {integrity: sha512-zALf9JfXAKxExpb8bYA5Ds0cHgZceRMR1pkUiwLPa0Ctl8sfXw6Honrc/APpcLbTSyBaH1ZMnS4Y/2SdSPa4Pg==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@2.3.0': + resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} + + '@iconify/utils@3.1.3': + resolution: {integrity: sha512-LPKOXPn/zV+zis1oOfGWogaXVpqUybF3ZS6SCZIsz8vg0ivVp9+fVqyYB7xq0aiST/VhUQYGO1qo6uoYSiEJqw==} + + '@iconify/vue@5.0.1': + resolution: {integrity: sha512-aumwwooJlFJ5H5qYWB6ZTAyM0C8hpfcSVLB9/a3qnH1GGvIJ+FEbpEs4s/HfErYe/M5qZeLjwmESR5fFm3lXEw==} + peerDependencies: + vue: '>=3.0.0' + '@ide/backoff@1.0.0': resolution: {integrity: sha512-F0YfUDjvT+Mtt/R4xdl2X0EYCHMMiJqNLdxHD++jDT5ydEFIyqbCHh51Qx2E211dgZprPKhV7sHmnXKpLuvc5g==} + '@internationalized/date@3.12.1': + resolution: {integrity: sha512-6IedsVWXyq4P9Tj+TxuU8WGWM70hYLl12nbYU8jkikVpa6WXapFazPUcHUMDMoWftIDE2ILDkFFte6W2nFCkRQ==} + + '@internationalized/number@3.6.6': + resolution: {integrity: sha512-iFgmQaXHE0vytNfpLZWOC2mEJCBRzcUxt53Xf/yCXG93lRvqas237i3r7X4RKMwO3txiyZD4mQjKAByFv6UGSQ==} + '@ioredis/commands@1.5.1': resolution: {integrity: sha512-JH8ZL/ywcJyR9MmJ5BNqZllXNZQqQbnVZOqpPQqE1vHiFgAw4NHbvE0FOduNU8IX9babitBT46571OnPTT0Zcw==} @@ -1233,11 +1689,42 @@ packages: '@kurkle/color@0.3.4': resolution: {integrity: sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==} + '@kwsites/file-exists@1.1.1': + resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} + + '@kwsites/promise-deferred@1.1.1': + resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} + + '@lodev09/react-native-true-sheet@3.10.1': + resolution: {integrity: sha512-cF5AlYElBIaPyKWuu8WfDFZUm40Wbo5VC1fI6uF5N9mTxQ4w10PYc+msKUxuS6Kqhhl5pZrXRu186wfCPPdDLg==} + peerDependencies: + '@gorhom/bottom-sheet': '>=5' + '@react-navigation/native': '>=7' + react: '*' + react-native: '*' + react-native-reanimated: '>=4' + react-native-worklets: '*' + peerDependenciesMeta: + '@gorhom/bottom-sheet': + optional: true + '@react-navigation/native': + optional: true + react-native-reanimated: + optional: true + react-native-worklets: + optional: true + '@mapbox/node-pre-gyp@2.0.3': resolution: {integrity: sha512-uwPAhccfFJlsfCxMYTwOdVfOz3xqyj8xYL3zJj8f0pb30tLohnnFPhLuqp4/qoEz8sNxe4SESZedcBojRefIzg==} engines: {node: '>=18'} hasBin: true + '@napi-rs/wasm-runtime@1.1.4': + resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} + peerDependencies: + '@emnapi/core': ^1.7.1 + '@emnapi/runtime': ^1.7.1 + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1250,6 +1737,532 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@nuxt/cli@3.35.1': + resolution: {integrity: sha512-nX9XO+e3l9pnhHL2zsbnBmQb/nsOQYhGz2XiqE8X962QN9ufc1ZSuDZoTmQVv/ymkbYNR6hpNWW8RZQhuhzadw==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + peerDependencies: + '@nuxt/schema': ^4.4.2 + peerDependenciesMeta: + '@nuxt/schema': + optional: true + + '@nuxt/devalue@2.0.2': + resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} + + '@nuxt/devtools-kit@2.7.0': + resolution: {integrity: sha512-MIJdah6CF6YOW2GhfKnb8Sivu6HpcQheqdjOlZqShBr+1DyjtKQbAKSCAyKPaoIzZP4QOo2SmTFV6aN8jBeEIQ==} + peerDependencies: + vite: '>=6.0' + + '@nuxt/devtools-kit@3.2.4': + resolution: {integrity: sha512-Yxy2Xgmq5hf3dQy983V0xh0OJV2mYwRZz9eVIGc3EaribdFGPDNGMMbYqX9qCty3Pbxn/bCF3J0UyPaNlHVayQ==} + peerDependencies: + vite: '>=6.0' + + '@nuxt/devtools-kit@4.0.0-alpha.4': + resolution: {integrity: sha512-y8IJJZMFf9igUUSVUt7zQTQHhc1rVKGRQUN9VfVHPWpYGOB+w2Owgy6mU6tv63zbz6RxyEJ1ZMKhQQaqFOzAWQ==} + peerDependencies: + vite: '>=6.0' + + '@nuxt/devtools-wizard@2.7.0': + resolution: {integrity: sha512-iWuWR0U6BRpF7D6xrgq9ZkQ6ajsw2EA/gVmbU9V5JPKRUtV6DVpCPi+h34VFNeQ104Sf531XgvT0sl3h93AjXA==} + hasBin: true + + '@nuxt/devtools@2.7.0': + resolution: {integrity: sha512-BtIklVYny14Ykek4SHeexAHoa28MEV9kz223ZzvoNYqE0f+YVV+cJP69ovZHf+HUVpxaAMJfWKLHXinWXiCZ4Q==} + hasBin: true + peerDependencies: + vite: '>=6.0' + + '@nuxt/devtools@4.0.0-alpha.4': + resolution: {integrity: sha512-RHxJ7hk4RZazvwvgnT88QmZd2Li8NNWRi68p3Ocj9nCoYEkHZrbgWTfyEvilBW0PpPzvneDfKzOAZBx5wEuAyw==} + peerDependencies: + vite: '>=6.0' + + '@nuxt/fonts@0.14.0': + resolution: {integrity: sha512-4uXQl9fa5F4ibdgU8zomoOcyMdnwgdem+Pi8JEqeDYI5yPR32Kam6HnuRr47dTb97CstaepAvXPWQUUHMtjsFQ==} + + '@nuxt/icon@1.15.0': + resolution: {integrity: sha512-kA0rxqr1B601zNJNcOXera8CyYcxUCEcT7dXEC7rwAz71PRCN5emf7G656eKEQgtqrD4JSj6NQqWDgrmFcf/GQ==} + + '@nuxt/icon@2.2.2': + resolution: {integrity: sha512-K9wINW21M9x5GcKF5JEXzPKAT/Kfxl/vdnEyppw54hh5qoLcdi5HmsYoTfDP9gbJ6Z1T6IdH5JxBWk72HMe1Zg==} + + '@nuxt/kit@3.21.4': + resolution: {integrity: sha512-XDWhQJsA5hpdFpVSmImQIVXcsANJI07TjT1LZC/AUKJxl/dcM52Rq4uU+b3uqyVl4LZR1fODSDEzLxcdXq4Rmg==} + engines: {node: '>=18.12.0'} + + '@nuxt/kit@4.1.3': + resolution: {integrity: sha512-WK0yPIqcb3GQ8r4GutF6p/2fsyXnmmmkuwVLzN4YaJHrpA2tjEagjbxdjkWYeHW8o4XIKJ4micah4wPOVK49Mg==} + engines: {node: '>=18.12.0'} + + '@nuxt/kit@4.4.4': + resolution: {integrity: sha512-oy4fAeMkyz7gelnalDQLPm8QZRN+c5c/Eh/M6oFgPx86jnA8m6xeOlONpJN2dk0GhcJwJYuN/kmzBffZ93WXPQ==} + engines: {node: '>=18.12.0'} + + '@nuxt/schema@4.1.3': + resolution: {integrity: sha512-ZLkIfleKHQF0PqTDEwuVVnnE/hyMdfY4m2zX8vRC0XMSbFS1I0MFcKkzWnJaMC13NYmGPnT3sX0o3lznweKHJQ==} + engines: {node: ^14.18.0 || >=16.10.0} + + '@nuxt/schema@4.4.4': + resolution: {integrity: sha512-X70+lDZ4Wtp38l18/zFlKOZO5fd0uWQ60nrr1gxTNua8sqOxqVeZpLWTBmor7lFfJsXPPclsaFjcstyXYqXgpg==} + engines: {node: ^14.18.0 || >=16.10.0} + + '@nuxt/telemetry@2.8.0': + resolution: {integrity: sha512-zAwXY24KYvpLTmiV+osagd2EHkfs5IF+7oDZYTQoit5r0kPlwaCNlzHp5I/wUAWT4LBw6lG8gZ6bWidAdv/erQ==} + engines: {node: '>=18.12.0'} + hasBin: true + peerDependencies: + '@nuxt/kit': '>=3.0.0' + + '@nuxt/ui@4.7.1': + resolution: {integrity: sha512-s3Ix89RkJTeNDlLg7EflckkFxQgzm2W9bt4CBsudi7wNdmhbb3nzYG6rcns2R2Wos0gZlYkSfDKaX1o3zMC+Aw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@inertiajs/vue3': ^2.0.7 || ^3.0.0 + '@internationalized/date': ^3.0.0 + '@internationalized/number': ^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 + '@internationalized/date': + optional: true + '@internationalized/number': + 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 + + '@nuxt/vite-builder@4.1.3': + resolution: {integrity: sha512-yrblLSpGW6h9k+sDZa+vtevQz/6JLrPAj3n97HrEmVa6qB+4sE4HWtkMNUtWsOPe60sAm9usRsjDUkkiHZ0DpA==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + rolldown: ^1.0.0-beta.38 + vue: ^3.3.4 + peerDependenciesMeta: + rolldown: + optional: true + + '@nuxtjs/color-mode@3.5.2': + resolution: {integrity: sha512-cC6RfgZh3guHBMLLjrBB2Uti5eUoGM9KyauOaYS9ETmxNWBMTvpgjvSiSJp1OFljIXPIqVTJ3xtJpSNZiO3ZaA==} + + '@nuxtjs/supabase@2.0.6': + resolution: {integrity: sha512-w0KSh4OKOxAkX5Dg6RfwyrG71HbCqXMfELHSKgOcl1MdO1Okwv+SItWD3mezc6q4J0tKtb0pw2KZDQ0F3FPIdA==} + + '@oxc-minify/binding-android-arm64@0.94.0': + resolution: {integrity: sha512-7VEBFFFAi4cYqlW/ziVs5XmNM/0IqAp7duBuTM/zus/EOc3Q2zhS9ApJo0zIwbRUZMlIm1RHe8Hths//xE7K1A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxc-minify/binding-darwin-arm64@0.94.0': + resolution: {integrity: sha512-T0k3pG/izIutpl8cQl9Xeb0TikBILGd3rglCgRhhG5G5xsk/AAAp/qsSdzBm/8yMXksfRWqE0teh7XDWKmzOXw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxc-minify/binding-darwin-x64@0.94.0': + resolution: {integrity: sha512-1gJeYcQf0Mmnu9Gxld2dLJGXTm9EzOQKRAjCVT2xGciKrNeekkJntDb+NdzxcSNPTjchkvbDwY6lCGZbcJx2lg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxc-minify/binding-freebsd-x64@0.94.0': + resolution: {integrity: sha512-LvaxVkEVLgBNQO2RUYwbmRC0cLpq5WHPsM7B4xsojwqpJNsK5l2VnTAuExvPthC1gKWlsoQsVoT03Ex/SZ4FOw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxc-minify/binding-linux-arm-gnueabihf@0.94.0': + resolution: {integrity: sha512-o/IEdJKl7Y78fIvIRPeA4ccgmOAzeMS8tsjpO7XlENWPzS3cA/6Iy4BqMqYyqUZewgt0a2ggw0zAioIwKPiDmw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-minify/binding-linux-arm-musleabihf@0.94.0': + resolution: {integrity: sha512-hFCeIV/eCASCW/F2t/DR4JUKUNxn2pr4hAIBEBYDaGPvdOVMlMh+eMbg401ZiaQLwM26Dj53b5XWALwit0mGAw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-minify/binding-linux-arm64-gnu@0.94.0': + resolution: {integrity: sha512-so/XF1XdJdpWVUkyz45F3iNJgzoXgeNBoYfmDTuLFIXE2U7vAtE8DHkA87LlbC6Ry7KIM4Ehw7hP4Z4h7M51fA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-minify/binding-linux-arm64-musl@0.94.0': + resolution: {integrity: sha512-IMi2Sq3Z3xvA06Otit/D6Vo2BATZJcDHu6dHcaznBwnpO0z0+N9i3TKprIVizBHW77wq8QBLIbQaWQn4go1WwQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-minify/binding-linux-riscv64-gnu@0.94.0': + resolution: {integrity: sha512-1QWSK1CcmGwlJZBWCF+NpzpQ5c3WybtgVqeQX8FRIhlApBtvMsifZe4tz1FIoBoQeCKwCQzyvpIA71cpCpY/xg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxc-minify/binding-linux-s390x-gnu@0.94.0': + resolution: {integrity: sha512-UfIuYWcs1tb/vwGwZPPVaO38OubKfi+MkySl2ZP/3Vk4InxtQ+BxxgNqiQbhyvx14GZtkFphH3I2FZaDUsvfYg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + + '@oxc-minify/binding-linux-x64-gnu@0.94.0': + resolution: {integrity: sha512-Iokd1dfneOcNHBJH8o5cMgDkII8R7dzOFSaMrZiSZkLr+woT3Ed7uLqTKwleNKq52z5+XwmgcvO00c6ywStCpA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-minify/binding-linux-x64-musl@0.94.0': + resolution: {integrity: sha512-W4hFq/e21o2cOKx9xltJuVo/xgXnn4SsUioo/86pk5vCmUXg++J0PMML/oOZTSbevlklg/Vxo8slRUSU4/0PzA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-minify/binding-wasm32-wasi@0.94.0': + resolution: {integrity: sha512-0bOaEuh7QX8MfqyrRjNPOWhcsYl0IGoHX1nPtFIFGm0f/AJsJ+3wbyI9WvkAOXZmRgI9DMKGbDJdU6J59JxA7w==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-minify/binding-win32-arm64-msvc@0.94.0': + resolution: {integrity: sha512-qXuSuUmLn7v79R0noaRlJES7m0BLfBWwPAmPjzu553eJObvKS15TfHH4uxr0h31Bmy4jqWX2r+oirz/Pg+hSEg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxc-minify/binding-win32-x64-msvc@0.94.0': + resolution: {integrity: sha512-DtnN623PGZlNLRyyWtUQPEATeiGVnv9l8TMV9wCdd3AFNA9bmeFzmojcpwBFj/a5DOY5mds7cwC+Z+rjTPn+OQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@oxc-parser/binding-android-arm-eabi@0.126.0': + resolution: {integrity: sha512-svyoHt25J4741QJ5aa4R+h0iiBeSRt63Lr3aAZcxy2c/NeSE1IfDeMnSij6rIg7EjxkdlXzz613wUjeCeilBNA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxc-parser/binding-android-arm64@0.126.0': + resolution: {integrity: sha512-hPEBRKgplp1mG9GkINFsr4JVMDNrGJLOqfDaadTWpAoTnzYR5Rmv8RMvB3hJZpiNvbk1aacopdHUP1pggMQ/cw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxc-parser/binding-android-arm64@0.94.0': + resolution: {integrity: sha512-Ficqj6MggRGFkemU4pVFTyth3jWVL/zpIWjGMTXaPU81l46ZDcYVFWp9ia6nfE5mm8UdVSI2trvmK+BpNUim7g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxc-parser/binding-darwin-arm64@0.126.0': + resolution: {integrity: sha512-ccRpu9sdYmznePJQG5halhs0FW5tw5a8zRSoZXOzM1OjoeZ4jiRRruFiPclsD59edoVAK1l83dvfjWz1nQi6lg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxc-parser/binding-darwin-arm64@0.94.0': + resolution: {integrity: sha512-uYyeMH9vMfb0JAdm6ZwHTgcTv53030elQKMnUbux9K5rxOCWbHUyeVACEv86V+E/Ft6RtkvWDIqUY4sYZRmcuQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxc-parser/binding-darwin-x64@0.126.0': + resolution: {integrity: sha512-CHB4zVjNSKqx8Fw9pHowzQQnjjuq04i4Ng0Avj+DixlwhwAoMYqlFbocYIlbg+q3zOLGlm7vEHm83jqEMitnyg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxc-parser/binding-darwin-x64@0.94.0': + resolution: {integrity: sha512-Ek1fh8dw6b+/hzLo5jjPuxkshRxekjtTfhfWZ4RehMYiApT8Rj4k+7kcQ+zV1ZaF+1+yLgNqNja2RMRqx3MHzQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxc-parser/binding-freebsd-x64@0.126.0': + resolution: {integrity: sha512-RQ3nEJdcDKBfBjmLJ3Vl1d0KQERPV1P8eUrnBm7+VTYyoaJSPLVFuPg1mlD1hk3n0/879VLFMfusFkBal4ssWQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxc-parser/binding-freebsd-x64@0.94.0': + resolution: {integrity: sha512-81bE/8F252Ew179uVo9FU67dmRc+n8QSMhj6mmMxisdI3ao5MjCI5jDL19mH3UeQ9uRUBSPFILmHBDQYNZ9oKw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxc-parser/binding-linux-arm-gnueabihf@0.126.0': + resolution: {integrity: sha512-onipc2wCDA7Bauzb4KK1mab0GsEDf4ujiIfWECdnmY/2LlzAoX3xdQRLAUyEDB1kn3yilHBrkmXDdHluyHXxiw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-parser/binding-linux-arm-gnueabihf@0.94.0': + resolution: {integrity: sha512-aGOU8IYXVYGN2aRrvcU5+UdM7BzIVlm4m0REQzjpblQKRdZfWFtDBRJez+fK/F10g0H1AU5DQVgbW5aeko49Jw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-parser/binding-linux-arm-musleabihf@0.126.0': + resolution: {integrity: sha512-5BuJJPohrV5NJ8lmcYOMbfRCUGoYH5J9HZHeuqOLwkHXWAuPMN3X1h8bC/2mWjmosdbfTtmyIdX3spS/TkqKNg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-parser/binding-linux-arm-musleabihf@0.94.0': + resolution: {integrity: sha512-69/ZuYSZ4dd7UWoEOyf+pXYPtvUZguDQqjhxMx8fI0J30sEEqs1d/DBLLnog/afHmaapPEIEr6rp9jF6bYcgNw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-parser/binding-linux-arm64-gnu@0.126.0': + resolution: {integrity: sha512-r2KApRgm2pOJaduRm6GOT8x0whcr67AyejNkSdzPt34GJ+Y3axcXN2mwlTs+8lfO/SSmpO5ZJGYiHYnxEE0jkw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-parser/binding-linux-arm64-gnu@0.94.0': + resolution: {integrity: sha512-u55PGVVfZF/frpEcv/vowfuqsCd5VKz3wta8KZ3MBxboat7XxgRIMS8VQEBiJ3aYE80taACu5EfPN1y9DhiU0Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-parser/binding-linux-arm64-musl@0.126.0': + resolution: {integrity: sha512-FQ+MMh7MT0Dr/u8+RWmWKlfoeWPQyHDbhhxJShJlYtROXXPHsRs9EvmQOZZ3sx4Nn7JU8NX+oyw2YzQ7anBJcA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-parser/binding-linux-arm64-musl@0.94.0': + resolution: {integrity: sha512-Qm2SEU7/f2b2Rg76Pj49BdMFF7Vv7+2qLPxaae4aH1515kzVv6nZW0bqCo4fPDDyiE4bryF7Jr+WKhllBxvXPw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-parser/binding-linux-ppc64-gnu@0.126.0': + resolution: {integrity: sha512-Wv/T8C98hRQhGTlx2XFyLn5raRMp9U1lOQD+YnXNgAr7wHbJJpZ8mDBU7Rw+M3WytGcGTFcr6kqgfyQeHVtLbQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + + '@oxc-parser/binding-linux-riscv64-gnu@0.126.0': + resolution: {integrity: sha512-DHx1rT1zauW0ZbLHOiQh5AC9Xs3UkWx2XmfZHs+7nnWYr3sagrufoUQC+/XPwwjMIlCFXiFGM0sFh3TyOCZwqA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxc-parser/binding-linux-riscv64-gnu@0.94.0': + resolution: {integrity: sha512-bZO3QAt0lsZjk351mVM85obMivbXG+tDiah5XmmOaGO8k4vEYmoiKr2YHJoA2eNpKhPJF8dNyIS7U+XAvirr9g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxc-parser/binding-linux-riscv64-musl@0.126.0': + resolution: {integrity: sha512-umDc2mTShH0U2zcEYf8mIJ163seLJNn54ZUZYeI5jD4qlg9izPwoLrC2aNPKlMJTu6u/ysmQWiEvIiaAG+INkw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxc-parser/binding-linux-s390x-gnu@0.126.0': + resolution: {integrity: sha512-PXXeWayclRtO1pxQEeCpiqIglQdhK2mAI2VX5xnsWdImzSB5GpoQ8TNw7vTCKk2k+GZuxl+q1knncidjCyUP9w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + + '@oxc-parser/binding-linux-s390x-gnu@0.94.0': + resolution: {integrity: sha512-IdbJ/rwsaEPQx11mQwGoClqhAmVaAF9+3VmDRYVmfsYsrhX1Ue1HvBdVHDvtHzJDuumC/X/codkVId9Ss+7fVg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + + '@oxc-parser/binding-linux-x64-gnu@0.126.0': + resolution: {integrity: sha512-wzocjxm34TbB3bFlqG65JiLtvf6ZDg2ZxRkLLbgXwDQUNU+0MPjQN8zy/0jBKNA5fnPLk3XeVdZ7Uin+7+CVkg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-parser/binding-linux-x64-gnu@0.94.0': + resolution: {integrity: sha512-TbtpRdViF3aPCQBKuEo+TcucwW3KFa6bMHVakgaJu12RZrFpO4h1IWppBbuuBQ9X7SfvpgC1YgCDGve9q6fpEA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-parser/binding-linux-x64-musl@0.126.0': + resolution: {integrity: sha512-e83uftP60jmkPs2+CW6T6A1GYzN2H6IumDAiTntv9WyHR73PI3ImHNBkYqnA3ukeKI3xjcCbhSh9QeJWmufxGQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-parser/binding-linux-x64-musl@0.94.0': + resolution: {integrity: sha512-hlfoDmWvgSbexoJ9u3KwAJwpeu91FfJR6++fQjeYXD2InK4gZow9o3DRoTpN/kslZwzUNpiRURqxey/RvWh8JQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-parser/binding-openharmony-arm64@0.126.0': + resolution: {integrity: sha512-4WiOILHnPrTDY2/L4mE6PZCYwLN1d3ghma6BuTJ452CCgzRMt3uFplCtR+o3r9zdUWJYb370UizpI9CUcWXr1A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxc-parser/binding-wasm32-wasi@0.126.0': + resolution: {integrity: sha512-Y17hhnrQTrxgAxAyAq401vnN9URsAL4s5AjqpG1NDsXSlhe1yBNnns+rC2P6xcMoitgX5nKH2ryYt9oiFRlzLw==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-parser/binding-wasm32-wasi@0.94.0': + resolution: {integrity: sha512-VoCtQZIsRZN8mszbdizh+5MwzbgbMxsPgT2hOzzILQLNY2o2OXG3xSiFNFakVhbWc9qSTaZ/MRDsqR+IM3fLFw==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-parser/binding-win32-arm64-msvc@0.126.0': + resolution: {integrity: sha512-Znug1u1iRvT4VC3jANz6nhGBHsFwEFMxuimYpJFwMtsB6H5FcEoZRMmH26tHkSTD03JvDmG+gB65W3ajLjPcSw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxc-parser/binding-win32-arm64-msvc@0.94.0': + resolution: {integrity: sha512-3wsbMqV8V7WaLdiQ2oawdgKkCgMHXJ7VDuo6uIcXauU3wK6CG0QyDXRV9bPWzorGLRBUHndu/2VB1+9dgT9fvg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxc-parser/binding-win32-ia32-msvc@0.126.0': + resolution: {integrity: sha512-qrw7mx5hFFTxVSXToOA40hpnjgNB/DJprZchtB4rDKNLKqkD3F26HbzaQeH1nxAKej0efSZfJd5Sw3qdtOLGhw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxc-parser/binding-win32-x64-msvc@0.126.0': + resolution: {integrity: sha512-ibB1s+mPUFXvS7MFJO2jpw/aCNs/P6ifnWlRyTYB+WYBpniOiCcHQQskZneJtwcjQMDRol3RGG3ihoYnzXSY4w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@oxc-parser/binding-win32-x64-msvc@0.94.0': + resolution: {integrity: sha512-UTQQ1576Nzhh4jr/YmvzqnuwTPOauB/TPzsnWzT+w8InHxL5JA1fmy01wB1F2BWT9AD6YV4BTB1ozRICYdAgjw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@oxc-project/types@0.126.0': + resolution: {integrity: sha512-oGfVtjAgwQVVpfBrbtk4e1XDyWHRFta6BS3GWVzrF8xYBT2VGQAk39yJS/wFSMrZqoiCU4oghT3Ch0HaHGIHcQ==} + + '@oxc-project/types@0.94.0': + resolution: {integrity: sha512-+UgQT/4o59cZfH6Cp7G0hwmqEQ0wE+AdIwhikdwnhWI9Dp8CgSY081+Q3O67/wq3VJu8mgUEB93J9EHHn70fOw==} + + '@oxc-transform/binding-android-arm64@0.94.0': + resolution: {integrity: sha512-abxgEoomc5HNbDQaGhBWguR+W4cdrcEIwV8xIQ2qpUuhEUoHy6nQLfN/gREAZMdkyIaKwk12FckB9aNxVTte2w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxc-transform/binding-darwin-arm64@0.94.0': + resolution: {integrity: sha512-HbnmwC1pZ9M/nXqA36TpwF7vcXk+PgLMxDvvza5C9CCivfi3MUfqCvFMvRI0snlVm2PK2GAwWJjBtng1fR8LJw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxc-transform/binding-darwin-x64@0.94.0': + resolution: {integrity: sha512-GADv5xcClQpYj5d6GLdPF6Qz/3OSn0d/LKhDklpW/5S42RQsGxI+83iXF1e61KITd4yp4VAvjEiuDM52zb4xYQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxc-transform/binding-freebsd-x64@0.94.0': + resolution: {integrity: sha512-5H5V+H1CZoRQwbgAt/wLrN8oZwuYGP6xdXTuGUW2C2ON1DynMyxC4Padf8vjPcKbQph5GnLAuoaTafxokE2Z/Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxc-transform/binding-linux-arm-gnueabihf@0.94.0': + resolution: {integrity: sha512-BoWVkKUqgmUs4hDvGPgCSUkIeEMBVvHU/mO348Dhp7XT9ijdnSBmRzY6hFaqRSq768Hn6KblM0NM1QV7jEvKOw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-transform/binding-linux-arm-musleabihf@0.94.0': + resolution: {integrity: sha512-XUAyt2EtSDycljMKfgDVg/T5C3aF5dR1mfMJAZUCPQkfJjXZwA/C0DTTC/xPlPm68WA4uRtVNLqExTHJ3JOPwg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-transform/binding-linux-arm64-gnu@0.94.0': + resolution: {integrity: sha512-5Y7FI2FgawingojBEo3df4sI/Sq73UhVZy3DlT9o94Pgu8o+ujlKPD20kFmOJ1jQNEJ4ScKr5vh6pemHSZjUgA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-transform/binding-linux-arm64-musl@0.94.0': + resolution: {integrity: sha512-QiyHubpKo7upYPfwB+8bjaTczd60PJdL2zJrMKgL+CDlmP6HZlnWXZkeVTA3S6QXnbulRlrtERmqS2DePszG0g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-transform/binding-linux-riscv64-gnu@0.94.0': + resolution: {integrity: sha512-vh3PZGmoUCbfkqVGuB7fweuqthYxzAAGqhiAJAn8x4V+R86W5esCtxbm+PTyVawBT/eoq1cU8HhNVqE0rQlChg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxc-transform/binding-linux-s390x-gnu@0.94.0': + resolution: {integrity: sha512-DT3m7cF612RdHBmYK3Ave6OVT1iSvlbKo8T+81n6ZcFXO+L8vDJHzwMwMOXfeOLQ15zr0WmSHqBOZ14tHKNidw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + + '@oxc-transform/binding-linux-x64-gnu@0.94.0': + resolution: {integrity: sha512-kK5dt8wfxUD3MGXnLHWxv57oYinIwoRFcjw2oJD5DCoGTeXCmrFk4D0eGPAlZKOm7uvWMs9yNI8rg1KY5nEs1w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-transform/binding-linux-x64-musl@0.94.0': + resolution: {integrity: sha512-+zfNBO2qEPcSPTHVUxsiG3Hm0vxWzuL+DZX0wbbtjKwwhH2Jr1Eo26R+Dwc1SfbvoWen36NitKkd2arkpMW8KQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-transform/binding-wasm32-wasi@0.94.0': + resolution: {integrity: sha512-rn3c2wGT3ha6j0VLykYOkXU5YyQYIeGXRsDPP7xyiZHVTVssoM0X1BuheFlgxmC1POXMT+dAAcVOFG5MdW1bnQ==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-transform/binding-win32-arm64-msvc@0.94.0': + resolution: {integrity: sha512-An/Dd+I8dH0b+VLEdfTrZP53S4Fha3w/aD71d1uZB14aU02hBt3ZwU8IE3RGZIJPxub9OZmCmJN66uTqkT6oXg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxc-transform/binding-win32-x64-msvc@0.94.0': + resolution: {integrity: sha512-HEE/8x6H67jPlkCDDB3xl74eR86zY6nLAql6onmidF5JPNXt9v2XGB6xEwr4brUIaMLPkl90plbdCy9jWhEjdQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@parcel/watcher-android-arm64@2.5.6': resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} engines: {node: '>= 10.0.0'} @@ -1345,6 +2358,59 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@pnpm/constants@1001.3.1': + resolution: {integrity: sha512-2hf0s4pVrVEH8RvdJJ7YRKjQdiG8m0iAT26TTqXnCbK30kKwJW69VLmP5tED5zstmDRXcOeH5eRcrpkdwczQ9g==} + engines: {node: '>=18.12'} + + '@pnpm/core-loggers@1001.0.9': + resolution: {integrity: sha512-pW58m3ssrwVjwhlmTXDW1dh1sv2y6R2Gl5YvQInjM2d01/5mre/sYAY4MK3XfgEShZJQxv6wVXDUvyHHJ0oizg==} + engines: {node: '>=18.12'} + peerDependencies: + '@pnpm/logger': '>=1001.0.0 <1002.0.0' + + '@pnpm/error@1000.1.0': + resolution: {integrity: sha512-Dqc2IJJPjUatwc9Letw+vG29rnaMrDGi5g6WCx1HiZYm0obXbTmLygeRafMbgf+sLKXrWE1shOeiayQuczBdoA==} + engines: {node: '>=18.12'} + + '@pnpm/graceful-fs@1000.1.0': + resolution: {integrity: sha512-EsMX4slK0qJN2AR0/AYohY5m0HQNYGMNe+jhN74O994zp22/WbX+PbkIKyw3UQn39yQm2+z6SgwklDxbeapsmQ==} + engines: {node: '>=18.12'} + + '@pnpm/logger@1001.0.1': + resolution: {integrity: sha512-gdwlAMXC4Wc0s7Dmg/4wNybMEd/4lSd9LsXQxeg/piWY0PPXjgz1IXJWnVScx6dZRaaodWP3c1ornrw8mZdFZw==} + engines: {node: '>=18.12'} + + '@pnpm/manifest-utils@1002.0.5': + resolution: {integrity: sha512-2DSwQ6pP73IuJS5mCCtPd5fibJwuAdufXKuSL/Oq1n6AggCqy8616Xea1X3RH3z5dL4mn7Z4EZ+vnX8jX3Wrfw==} + engines: {node: '>=18.12'} + peerDependencies: + '@pnpm/logger': ^1001.0.1 + + '@pnpm/read-project-manifest@1001.2.6': + resolution: {integrity: sha512-BcNO50lAkE4m9JaJ0WmG3m/DH/qLSvMgZywtmb/dfyyLVu5nDZfDqmOd8U+f1NhLcLMbBK6AnS3hyUqZYvw9Vg==} + engines: {node: '>=18.12'} + peerDependencies: + '@pnpm/logger': ^1001.0.1 + + '@pnpm/semver.peer-range@1000.0.0': + resolution: {integrity: sha512-r6VzkrdH7ZKjPmAogTNvxuV/UyS/xwHNme+ZuEFiG0UthZgqudDftYtKmG20fcfrjG1lgJbbWICA8KvZy7mmbw==} + engines: {node: '>=18.12'} + + '@pnpm/text.comments-parser@1000.0.0': + resolution: {integrity: sha512-ivv/esrETOq9uMiKOC0ddVZ1BktEGsfsMQ9RWmrDpwPiqFSqWsIspnquxTBmm5GflC5N06fbqjGOpulZVYo3vQ==} + engines: {node: '>=18.12'} + + '@pnpm/types@1001.3.0': + resolution: {integrity: sha512-NLTXheat/u7OEGg5M5vF6Z85zx8uKUZE0+whtX/sbFV2XL48RdnOWGPTKYuVVkv8M+launaLUTgGEXNs/ess2w==} + engines: {node: '>=18.12'} + + '@pnpm/write-project-manifest@1000.0.16': + resolution: {integrity: sha512-zG68fk03ryot7TWUl9S/ShQ91uHWzIL9sVr2aQCuNHJo8G9kjsG6S0p58Zj/voahdDQeakZYYBSJ0mjNZeiJnw==} + engines: {node: '>=18.12'} + + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + '@poppinss/colors@4.1.6': resolution: {integrity: sha512-H9xkIdFswbS8n1d6vmRd8+c10t2Qe+rZITbbDHHkQixH5+2x1FDGmi/0K+WgWiqQFKPSlIYB7jlH6Kpfn6Fleg==} @@ -1417,6 +2483,13 @@ packages: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 + '@publint/pack@0.1.4': + resolution: {integrity: sha512-HDVTWq3H0uTXiU0eeSQntcVUTPP3GamzeXI41+x7uU9J65JgWQh3qWZHblR1i0npXfFtF+mxBiU2nJH8znxWnQ==} + engines: {node: '>=18'} + + '@quansync/fs@1.0.0': + resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} + '@radix-ui/primitive@1.1.3': resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==} @@ -1515,6 +2588,18 @@ packages: '@react-native-community/slider@5.2.0': resolution: {integrity: sha512-484sH8aWEaSjxaZ7HT3YZ8CKDcNes2synko1vdEz5DFEdvKAduxKJTj22L/qBMD7rtIkfbX69DMzWDAGbOAV6w==} + '@react-native-menu/menu@2.0.0': + resolution: {integrity: sha512-hb8Mirw6aKPGONhgo52IiNpwHtISVrgCT3rMdFX1qS7eOFNzOcQh8d2UDnaH5zVpxN+QuvWtaaiRMGFpIjzdtA==} + peerDependencies: + react: '*' + react-native: '*' + + '@react-native-picker/picker@2.11.1': + resolution: {integrity: sha512-ThklnkK4fV3yynnIIRBkxxjxR4IFbdMNJVF6tlLdOJ/zEFUEFUEdXY0KmH0iYzMwY8W4/InWsLiA7AkpAbnexA==} + peerDependencies: + react: '*' + react-native: '*' + '@react-native/assets-registry@0.79.6': resolution: {integrity: sha512-UVSP1224PWg0X+mRlZNftV5xQwZGfawhivuW8fGgxNK9MS/U84xZ+16lkqcPh1ank6MOt239lIWHQ1S33CHgqA==} engines: {node: '>=18'} @@ -1618,6 +2703,15 @@ packages: '@react-navigation/routers@7.5.3': resolution: {integrity: sha512-1tJHg4KKRJuQ1/EvJxatrMef3NZXEPzwUIUZ3n1yJ2t7Q97siwRtbynRpQG9/69ebbtiZ8W3ScOZF/OmhvM4Rg==} + '@rolldown/debug@1.0.0': + resolution: {integrity: sha512-u29og41IXsrW3Ky2wM0WSp7toxztv2xoDxtHl0I4Ek6YADQV0CAjUEM+/zRTzHo+o9gy/FhiOS54NukuEHPkgg==} + + '@rolldown/pluginutils@1.0.0': + resolution: {integrity: sha512-aKs/3GSWyV0mrhNmt/96/Z3yczC3yvrzYATCiCXQebBsGyYzjNdUphRVLeJQ67ySKVXRfMxt2lm12pmXvbPFQQ==} + + '@rolldown/pluginutils@1.0.0-rc.13': + resolution: {integrity: sha512-3ngTAv6F/Py35BsYbeeLeecvhMKdsKm4AoOETVhAA+Qc8nrA2I0kF7oa93mE9qnIurngOSpMnQ0x2nQY2FPviA==} + '@rollup/plugin-alias@6.0.0': resolution: {integrity: sha512-tPCzJOtS7uuVZd+xPhoy5W4vThe6KWXNmsFCNktaAh5RTqcLiSfT4huPQIXkgJ6YCOjJHvecOAzQxLFhPxKr+g==} engines: {node: '>=20.19.0'} @@ -1818,6 +2912,12 @@ packages: '@selderee/plugin-htmlparser2@0.11.0': resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} + '@simple-git/args-pathspec@1.0.3': + resolution: {integrity: sha512-ngJMaHlsWDTfjyq9F3VIQ8b7NXbBLq5j9i5bJ6XLYtD6qlDXT7fdKY2KscWWUF8t18xx052Y/PUO1K1TRc9yKA==} + + '@simple-git/argv-parser@1.1.1': + resolution: {integrity: sha512-Q9lBcfQ+VQCpQqGJFHe5yooOS5hGdLFFbJ5R+R5aDsnkPCahtn1hSkMcORX65J2Z5lxSkD0lQorMsncuBQxYUw==} + '@sinclair/typebox@0.27.10': resolution: {integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==} @@ -1860,6 +2960,11 @@ packages: resolution: {integrity: sha512-L+qPiJlq1RKh3QD2fORGCFo2RKDKlvG9mjvPtUEQJ2tMixrx70VIV6j8BdWzQkbc1Nao6mvTWajyDhX3TFgljw==} engines: {node: '>=20.0.0'} + '@supabase/ssr@0.10.3': + resolution: {integrity: sha512-ux2CJgX89h0Fz2lY7ZNafNG2SkXpyRc5dz77K9eKeBLPdtywQixKwIuetDeIViAJBp/buOUVmgj8PVesOklNpw==} + peerDependencies: + '@supabase/supabase-js': ^2.105.3 + '@supabase/storage-js@2.105.3': resolution: {integrity: sha512-M7oPCCcHim/FsR6rKIs10Nd9mW051N2SQvA27jiVLa7oQMFFb7faX5dCQRV4GS5QeFsBcV5J/fWl4Ppoaw8cBQ==} engines: {node: '>=20.0.0'} @@ -1868,6 +2973,102 @@ packages: resolution: {integrity: sha512-5Dm9+I61LAWwjw+0zcqXhSmTxUJaYHBPyHwMCIBH4TBUNwDn2pYUIsi6oUu0I5r9HtLtaFl7w4wa+DV9gRsbDg==} engines: {node: '>=20.0.0'} + '@swc/helpers@0.5.21': + resolution: {integrity: sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==} + + '@tailwindcss/node@4.2.4': + resolution: {integrity: sha512-Ai7+yQPxz3ddrDQzFfBKdHEVBg0w3Zl83jnjuwxnZOsnH9pGn93QHQtpU0p/8rYWxvbFZHneni6p1BSLK4DkGA==} + + '@tailwindcss/oxide-android-arm64@4.2.4': + resolution: {integrity: sha512-e7MOr1SAn9U8KlZzPi1ZXGZHeC5anY36qjNwmZv9pOJ8E4Q6jmD1vyEHkQFmNOIN7twGPEMXRHmitN4zCMN03g==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.2.4': + resolution: {integrity: sha512-tSC/Kbqpz/5/o/C2sG7QvOxAKqyd10bq+ypZNf+9Fi2TvbVbv1zNpcEptcsU7DPROaSbVgUXmrzKhurFvo5eDg==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.2.4': + resolution: {integrity: sha512-yPyUXn3yO/ufR6+Kzv0t4fCg2qNr90jxXc5QqBpjlPNd0NqyDXcmQb/6weunH/MEDXW5dhyEi+agTDiqa3WsGg==} + engines: {node: '>= 20'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.2.4': + resolution: {integrity: sha512-BoMIB4vMQtZsXdGLVc2z+P9DbETkiopogfWZKbWwM8b/1Vinbs4YcUwo+kM/KeLkX3Ygrf4/PsRndKaYhS8Eiw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.2.4': + resolution: {integrity: sha512-7pIHBLTHYRAlS7V22JNuTh33yLH4VElwKtB3bwchK/UaKUPpQ0lPQiOWcbm4V3WP2I6fNIJ23vABIvoy2izdwA==} + engines: {node: '>= 20'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.2.4': + resolution: {integrity: sha512-+E4wxJ0ZGOzSH325reXTWB48l42i93kQqMvDyz5gqfRzRZ7faNhnmvlV4EPGJU3QJM/3Ab5jhJ5pCRUsKn6OQw==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.2.4': + resolution: {integrity: sha512-bBADEGAbo4ASnppIziaQJelekCxdMaxisrk+fB7Thit72IBnALp9K6ffA2G4ruj90G9XRS2VQ6q2bCKbfFV82g==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.2.4': + resolution: {integrity: sha512-7Mx25E4WTfnht0TVRTyC00j3i0M+EeFe7wguMDTlX4mRxafznw0CA8WJkFjWYH5BlgELd1kSjuU2JiPnNZbJDA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.2.4': + resolution: {integrity: sha512-2wwJRF7nyhOR0hhHoChc04xngV3iS+akccHTGtz965FwF0up4b2lOdo6kI1EbDaEXKgvcrFBYcYQQ/rrnWFVfA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-wasm32-wasi@4.2.4': + resolution: {integrity: sha512-FQsqApeor8Fo6gUEklzmaa9994orJZZDBAlQpK2Mq+DslRKFJeD6AjHpBQ0kZFQohVr8o85PPh8eOy86VlSCmw==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.2.4': + resolution: {integrity: sha512-L9BXqxC4ToVgwMFqj3pmZRqyHEztulpUJzCxUtLjobMCzTPsGt1Fa9enKbOpY2iIyVtaHNeNvAK8ERP/64sqGQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.2.4': + resolution: {integrity: sha512-ESlKG0EpVJQwRjXDDa9rLvhEAh0mhP1sF7sap9dNZT0yyl9SAG6T7gdP09EH0vIv0UNTlo6jPWyujD6559fZvw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.2.4': + resolution: {integrity: sha512-9El/iI069DKDSXwTvB9J4BwdO5JhRrOweGaK25taBAvBXyXqJAX+Jqdvs8r8gKpsI/1m0LeJLyQYTf/WLrBT1Q==} + engines: {node: '>= 20'} + + '@tailwindcss/postcss@4.2.4': + resolution: {integrity: sha512-wgAVj6nUWAolAu8YFvzT2cTBIElWHkjZwFYovF+xsqKsW2ADxM/X2opxj5NsF/qVccAOjRNe8X2IdPzMsWyHTg==} + + '@tailwindcss/vite@4.2.4': + resolution: {integrity: sha512-pCvohwOCspk3ZFn6eJzrrX3g4n2JY73H6MmYC87XfGPyTty4YsCjYTMArRZm/zOI8dIt3+EcrLHAFPe5A4bgtw==} + peerDependencies: + vite: ^5.2.0 || ^6 || ^7 || ^8 + '@tanstack/query-core@5.100.9': resolution: {integrity: sha512-SJSFw1S8+kQ0+knv/XGfrbocWoAlT7vDKsSImtLx3ZPQmEcR46hkDjLSvynSy25N8Ms4tIEini1FuBd5k7IscQ==} @@ -1876,6 +3077,244 @@ packages: peerDependencies: react: ^18 || ^19 + '@tanstack/table-core@8.21.3': + resolution: {integrity: sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==} + engines: {node: '>=12'} + + '@tanstack/virtual-core@3.14.0': + resolution: {integrity: sha512-JLANqGy/D6k4Ujmh8Tr25lGimuOXNiaVyXaCAZS0W+1390sADdGnyUdSWNIfd49gebtIxGMij4IktRVzrdr12Q==} + + '@tanstack/vue-table@8.21.3': + resolution: {integrity: sha512-rusRyd77c5tDPloPskctMyPLFEQUeBzxdQ+2Eow4F7gDPlPOB1UnnhzfpdvqZ8ZyX2rRNGmqNnQWm87OI2OQPw==} + engines: {node: '>=12'} + peerDependencies: + vue: '>=3.2' + + '@tanstack/vue-virtual@3.13.24': + resolution: {integrity: sha512-A0k2qF0zFSUStXSZkGXABouXr2Tw2Ztl/cVIYG9qy84uR8W7UNjAcX3DvzBS3YnDcwvLxab8v7dbmYBZ39itDA==} + peerDependencies: + vue: ^2.7.0 || ^3.0.0 + + '@tiptap/core@3.23.1': + resolution: {integrity: sha512-8YvSGiJTeU5wPuGiYIIYgyiyaaT1CAx+kJL0bju0w871OvbJJj0T/ywhcmxGXW6pOal2T8X2xt9ZqE+vib0VJw==} + peerDependencies: + '@tiptap/pm': 3.23.1 + + '@tiptap/extension-blockquote@3.23.1': + resolution: {integrity: sha512-FdVZLZOkL06j3WLXOC2UeX7++Cj3qI2vfohruMJiz4vk1Q5UUH7G4+AykFzjzBJHrdEpkiRUkRpU1KZIWdbluw==} + peerDependencies: + '@tiptap/core': 3.23.1 + + '@tiptap/extension-bold@3.23.1': + resolution: {integrity: sha512-EAYdNzyOjlQh2VBY1EhdxtiTjVMaOAD6P0ezms60dKRjd4oj/8grfXfUqwgo4NVdFb11Ks85vXoHuXJSylfR4A==} + peerDependencies: + '@tiptap/core': 3.23.1 + + '@tiptap/extension-bubble-menu@3.23.1': + resolution: {integrity: sha512-1advMCpPkHD/3ucZhYmNau8B4tF0L6iRAFhUOglp5bBZDuq13+rYujh3cm4vFmjH9KqThzpcUDn+ZU2c+mTMyw==} + peerDependencies: + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 + + '@tiptap/extension-bullet-list@3.23.1': + resolution: {integrity: sha512-owWnBBI4t+jqVDY0naDjhsAmrNGldh4czouef2K+mEf032B7uGsDVCwKp1qaX1JZesyYDfvXOaIwT22hNID2mw==} + peerDependencies: + '@tiptap/extension-list': 3.23.1 + + '@tiptap/extension-code-block@3.23.1': + resolution: {integrity: sha512-BdJGqM57CsKgYrQUZz78vIG8Yn7EpsE2pA7iKn5tYoSXpYtt0IaU4qB1heH7lwWD/vVCAm0YQVD7/0F+0++yhA==} + peerDependencies: + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 + + '@tiptap/extension-code@3.23.1': + resolution: {integrity: sha512-nGuhb4YghgTfkejwWHrD9GSpwcC5kkVmm2sN/UY4yceDw+PkyysYKJWZehRLTOC8GNgSAhq/EeQeq14Xwk6dyg==} + peerDependencies: + '@tiptap/core': 3.23.1 + + '@tiptap/extension-collaboration@3.23.1': + resolution: {integrity: sha512-NPryjbjq7GBUJSv2c67N3adGIUy7dHJbg6dqirOXcMb26TT4WkyqWy4FpH4XN4LosZemABzTKUYajuy5Lvxwaw==} + peerDependencies: + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 + '@tiptap/y-tiptap': ^3.0.2 + yjs: ^13 + + '@tiptap/extension-document@3.23.1': + resolution: {integrity: sha512-NA5Rx59HRwG6Hb6LwLpC5lE7z6vCj6f90S7RNNsnE+CyiXNR/OhY2BcjuxiGnascHvsnsAbvxGU3ymKMDgvDVg==} + peerDependencies: + '@tiptap/core': 3.23.1 + + '@tiptap/extension-drag-handle-vue-3@3.23.1': + resolution: {integrity: sha512-1wOQ0f0rsHaNF9F0Rf6c2vNVQE6Z6keLx8WCc1ayyQso504BSA/JIfJ5sbrwVHFYQEvxYi4bVj8X1G+HTBPoJw==} + peerDependencies: + '@tiptap/extension-drag-handle': 3.23.1 + '@tiptap/pm': 3.23.1 + '@tiptap/vue-3': 3.23.1 + vue: ^3.0.0 + + '@tiptap/extension-drag-handle@3.23.1': + resolution: {integrity: sha512-jMa3W1FJ5d/fHx9vlLb0gRpAr0LtpSyd2oL6maEgKyIuFfj7ZfgvAnz6DR/+K7ncOscyhpICG8HrDT92nJ2nDw==} + peerDependencies: + '@tiptap/core': 3.23.1 + '@tiptap/extension-collaboration': 3.23.1 + '@tiptap/extension-node-range': 3.23.1 + '@tiptap/pm': 3.23.1 + '@tiptap/y-tiptap': ^3.0.2 + + '@tiptap/extension-dropcursor@3.23.1': + resolution: {integrity: sha512-WRN7e/h9m3uI5j9/+L6jcPhHbTL6aKxfFfQWZHNf5M8TqSL1P+/2h034td0XMj3n48i4fWyzjVUV9+sz6t2fDw==} + peerDependencies: + '@tiptap/extensions': 3.23.1 + + '@tiptap/extension-floating-menu@3.23.1': + resolution: {integrity: sha512-XrYHpLn1DpLFSGTko9F9xgbNamL6fGpWkK4wqgwPVbg/SJwQCDO/9p5D3DtJTwD+xgw4sQ9as4O6rt6jx8JT+Q==} + peerDependencies: + '@floating-ui/dom': ^1.0.0 + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 + + '@tiptap/extension-gapcursor@3.23.1': + resolution: {integrity: sha512-E4hB0xquUpEXy7kboLBazrFyRCsN0j0fsTFR8udgQf5xetAVPhOexSTKuzOcU/n0kxsKJin7laYYEag/Fd2KNw==} + peerDependencies: + '@tiptap/extensions': 3.23.1 + + '@tiptap/extension-hard-break@3.23.1': + resolution: {integrity: sha512-XYkCKC5RVqMmmBk+nd22/6IDDx1OC54sdStH5VEHtfOrarriO0JztK8Mr0TijPPk9N4rKXsmndYZM2xyWZZytQ==} + peerDependencies: + '@tiptap/core': 3.23.1 + + '@tiptap/extension-heading@3.23.1': + resolution: {integrity: sha512-1z9yCSp8fevgX3r/4kWXO3of0WFCQWfYjWfHANvoJ4JQTYBkARjXlj1tbk5rrAJBFDDfKRkUpZOurXKgGo+h+g==} + peerDependencies: + '@tiptap/core': 3.23.1 + + '@tiptap/extension-horizontal-rule@3.23.1': + resolution: {integrity: sha512-30XUHXdEZxcz1FCWjz9HW2EEq06NQcAye6rXGnvHo6Y60iJ6MRsrX5byvceFNF9DTVtOIcUFBQ/psIiRcoi0KA==} + peerDependencies: + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 + + '@tiptap/extension-image@3.23.1': + resolution: {integrity: sha512-rAyfh8HS0PfXS8PKl1VQUiDFzXtF5SlrILpOPmz+4Oc4pmI+/vN+ain4z8k6HRxWM03YVpvLvyeQ0OFwi/fq3A==} + peerDependencies: + '@tiptap/core': 3.23.1 + + '@tiptap/extension-italic@3.23.1': + resolution: {integrity: sha512-lZB9YCjoVNDoPMguya66nBvaS/2YpGN5iAcjAGx/JQkCAZeOAtl9+ALMzbWPKH6tQP6m98YtkY1T7RXr++T0bA==} + peerDependencies: + '@tiptap/core': 3.23.1 + + '@tiptap/extension-link@3.23.1': + resolution: {integrity: sha512-uOeyLqYQI0WG62agpFG24kVHSn3Z48gD8Y0uLLJbtzh/nDFC3d9So2sQGWlSVyMzsgkJ4k/9jNnxxsVO8qgJOg==} + peerDependencies: + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 + + '@tiptap/extension-list-item@3.23.1': + resolution: {integrity: sha512-Fk/884un5OSLCFxe2TbOmfp3sLMB5b76CnMjaSrvgfiaZnsV2WlJZGPXxCAPbxNIATTykNlSBsVuMBO7we64Vg==} + peerDependencies: + '@tiptap/extension-list': 3.23.1 + + '@tiptap/extension-list-keymap@3.23.1': + resolution: {integrity: sha512-sHbE5sxiJzhgGn94GUAzD4qKM9SyImBrOlAGS/EIe+pausjqQE7xi+YW0gRo2jG+gXhSYl4/oAGXQXzmSInSUQ==} + peerDependencies: + '@tiptap/extension-list': 3.23.1 + + '@tiptap/extension-list@3.23.1': + resolution: {integrity: sha512-v1AeXPpagslgRZdOp7WdjCoO4TjjNP8RM2R6Gqx0/inGaNXnM8zCMshOxZlAb03Ad7kq/4RGJmkpM/Jjsi6dEQ==} + peerDependencies: + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 + + '@tiptap/extension-mention@3.23.1': + resolution: {integrity: sha512-3cILIjLzupt9sn5CbXYTV1K9NdJDsaKuGbvA99Zk9twAmuzw6vZ2DAr56KJ8LVeTyrUZqPCiDRge7rUkmSsoHQ==} + peerDependencies: + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 + '@tiptap/suggestion': 3.23.1 + + '@tiptap/extension-node-range@3.23.1': + resolution: {integrity: sha512-oTqHMP3cmTxYOlviX4VEVtdiJ/pyLk0ZM79jCXud/DehL/zFtLiT+5dVYChttjWglZbk8LzYsJEmOF4jh4dgKw==} + peerDependencies: + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 + + '@tiptap/extension-ordered-list@3.23.1': + resolution: {integrity: sha512-3GG7YFhVJWw/HWmRxvMMUC296x7TPBQRLsH4ryEC1SMAmVJnbTIvetyvIcLqLEXGW7Rj41S7SO8qjOXVceSOTA==} + peerDependencies: + '@tiptap/extension-list': 3.23.1 + + '@tiptap/extension-paragraph@3.23.1': + resolution: {integrity: sha512-GC7b6yAjASl1q9sNkPmukZmVYMfxx03EEhpMMrLYJY9GBz82Ald927yYQsOqf2aKA/Rjo/aZMYCGtjXkGk6aBA==} + peerDependencies: + '@tiptap/core': 3.23.1 + + '@tiptap/extension-placeholder@3.23.1': + resolution: {integrity: sha512-eKmQhDt+51GIPxcFXoT8wmS+ejt6evIiHtXBgsLaABG6wg9GHnpGEndPcXsDGVR1s5ZLawVB52PFCX5GqKoWlQ==} + peerDependencies: + '@tiptap/extensions': 3.23.1 + + '@tiptap/extension-strike@3.23.1': + resolution: {integrity: sha512-+R5LG0ZW9SDZc4weA79uq6uUduVsCEph9tRcoQCRA82IVIiPYSTxTLew9odalmk/Mc7vdZvOK5jjtO5jUVw/rg==} + peerDependencies: + '@tiptap/core': 3.23.1 + + '@tiptap/extension-text@3.23.1': + resolution: {integrity: sha512-k1Ki9bBV6mLz1mFP+Laqh1YHJ2MY0P8XzaMqpkgMndEBIJQ3XcpWQc5bfAlRnYcOI9ZXDbAgQ8CwgArxHmQWCQ==} + peerDependencies: + '@tiptap/core': 3.23.1 + + '@tiptap/extension-underline@3.23.1': + resolution: {integrity: sha512-+PvHyVozHyxJ9oWCIQx5JHBZ7LAa/sFJUOFaKyfmel4gL9AbP52MmvrciXARlZHd1WCULJtdbLan0+x5/D/9hQ==} + peerDependencies: + '@tiptap/core': 3.23.1 + + '@tiptap/extensions@3.23.1': + resolution: {integrity: sha512-7UIn+idaVTVhdlP0KmgzBh8Csmwck357Dq4te5DuAxhSkN1gsXHlq39mpx907UYKJdSOgd+GMFeyOziPwSmbOQ==} + peerDependencies: + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 + + '@tiptap/markdown@3.23.1': + resolution: {integrity: sha512-xJNP8HPJhq5spCnr5I+TY7cnU4bdsKkxc28KxGHkFar054TsakBesii0XiahD+c7zODQ8gIlfr3EGzw41Hcz1g==} + peerDependencies: + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 + + '@tiptap/pm@3.23.1': + resolution: {integrity: sha512-8G+TkNsUHHAAJYREpA6fw+Dw/m2Y3Go4/QMQM8RYepid+wTeE1wSv7sBA/CBrphhYmJSWeTyCPtgQIxnTJXMCA==} + + '@tiptap/starter-kit@3.23.1': + resolution: {integrity: sha512-CURePHQagBaZIDJrHH3of4Nmi0VYGpZ6yBlkdFxFHBxY9aeG2/h5kn+oHo8GbzkSFsRV+9olzRgDTOULVgs8pQ==} + + '@tiptap/suggestion@3.23.1': + resolution: {integrity: sha512-4YlkTPo3+tO1WV5t2PvQ2f/ltx7+7qFTNvBskrgv2Yid7HQ8UI/U8rAsuBhAVvSQz+gUOXwKx3m99Y8EcbbacQ==} + peerDependencies: + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 + + '@tiptap/vue-3@3.23.1': + resolution: {integrity: sha512-wTNAQxHGVZpeLsDLTuPIBN/lj22/EoYiSiGYw9VW+V+7HCQ1LTDjbW4QenEJrpyOlS4DwF1lXWATciOvg0ihXQ==} + peerDependencies: + '@floating-ui/dom': ^1.0.0 + '@tiptap/core': 3.23.1 + '@tiptap/pm': 3.23.1 + vue: ^3.0.0 + + '@tiptap/y-tiptap@3.0.3': + resolution: {integrity: sha512-8UvuV4lTisCE9cMTc/X8kRyTn9edUO7Kball0I6wb17VwZSjNDfh/YKtP4O5vcPawEzFHQIvZGq/k1h37kAf0w==} + 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 + + '@tybys/wasm-util@0.10.2': + resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} + '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -1897,6 +3336,11 @@ packages: '@types/hammerjs@2.0.46': resolution: {integrity: sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw==} + '@types/hoist-non-react-statics@3.3.7': + resolution: {integrity: sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==} + peerDependencies: + '@types/react': '*' + '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -1927,6 +3371,12 @@ packages: '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + '@types/web-bluetooth@0.0.20': + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + + '@types/web-bluetooth@0.0.21': + resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} + '@types/ws@8.18.1': resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} @@ -1936,6 +3386,11 @@ packages: '@types/yargs@17.0.35': resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} + '@unhead/vue@2.1.13': + resolution: {integrity: sha512-HYy0shaHRnLNW9r85gppO8IiGz0ONWVV3zGdlT8CQ0tbTwixznJCIiyqV4BSV1aIF1jJIye0pd1p/k6Eab8Z/A==} + peerDependencies: + vue: '>=3.5.18' + '@urql/core@5.2.0': resolution: {integrity: sha512-/n0ieD0mvvDnVAXEQgX/7qJiVcvYvNkOHeBvkwtylfjydar123caCXcl58PXFY11oU1oquJocVXHxLAbtv4x1A==} @@ -1944,11 +3399,44 @@ packages: peerDependencies: '@urql/core': ^5.0.0 + '@valibot/to-json-schema@1.7.0': + resolution: {integrity: sha512-Y3pPVibbIOHzohrlxSINvO7w/bvXkoYS3BQHoImV9ynE+bXKf171bdMucPurV2zp7gdmt0L1HCcNAsbo7cFRQw==} + peerDependencies: + valibot: ^1.4.0 + '@vercel/nft@1.5.0': resolution: {integrity: sha512-IWTDeIoWhQ7ZtRO/JRKH+jhmeQvZYhtGPmzw/QGDY+wDCQqfm25P9yIdoAFagu4fWsK4IwZXDFIjrmp5rRm/sA==} engines: {node: '>=20'} hasBin: true + '@vitejs/devtools-kit@0.1.21': + resolution: {integrity: sha512-u9d45h1GhcbY4O6a2TZxNTJnw6lySqSoEZM2i26caxVkbKEPuW6qSQMkVVr4ZfciNVfae2R3Trgn6DLxaq9BZQ==} + peerDependencies: + vite: '*' + + '@vitejs/devtools-rolldown@0.1.21': + resolution: {integrity: sha512-jsZa2YPSADZ87SJuGXV/UXPvRcPKPi7KUUB5jmPcrxoMlC3HQK5C2lpCc96QlvJ97KDz88djZsMoHfkOmeuNFQ==} + + '@vitejs/devtools@0.1.21': + resolution: {integrity: sha512-0xcEjoYkUuuPANU2dAdeKs2g5PKuzwP+mtUZpeoeAUDMZ5HsyU4aVOxzcVouoBJsQ5MeXWLpJBGpx7jh4OhU4g==} + hasBin: true + peerDependencies: + vite: '*' + + '@vitejs/plugin-vue-jsx@5.1.5': + resolution: {integrity: sha512-jIAsvHOEtWpslLOI2MeElGFxH7M8pM83BU/Tor4RLyiwH0FM4nUW3xdvbw20EeU9wc5IspQwMq225K3CMnJEpA==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + vue: ^3.0.0 + + '@vitejs/plugin-vue@6.0.6': + resolution: {integrity: sha512-u9HHgfrq3AjXlysn0eINFnWQOJQLO9WN6VprZ8FXl7A2bYisv3Hui9Ij+7QZ41F/WYWarHjwBbXtD7dKg3uxbg==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + vue: ^3.2.25 + '@vitest/coverage-v8@2.1.9': resolution: {integrity: sha512-Z2cOr0ksM00MpEfyVE8KXIYPEcBFxdbLSs56L8PO0QQMxt/6bDj45uQfxoc96v05KW3clk7vvgP0qfDit9DmfQ==} peerDependencies: @@ -1987,6 +3475,164 @@ packages: '@vitest/utils@2.1.9': resolution: {integrity: sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==} + '@volar/language-core@2.4.28': + resolution: {integrity: sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==} + + '@volar/source-map@2.4.28': + resolution: {integrity: sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==} + + '@vue-macros/common@3.0.0-beta.16': + resolution: {integrity: sha512-8O2gWxWFiaoNkk7PGi0+p7NPGe/f8xJ3/INUufvje/RZOs7sJvlI1jnR4lydtRFa/mU0ylMXUXXjSK0fHDEYTA==} + engines: {node: '>=20.18.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + peerDependenciesMeta: + vue: + optional: true + + '@vue/babel-helper-vue-transform-on@2.0.1': + resolution: {integrity: sha512-uZ66EaFbnnZSYqYEyplWvn46GhZ1KuYSThdT68p+am7MgBNbQ3hphTL9L+xSIsWkdktwhPYLwPgVWqo96jDdRA==} + + '@vue/babel-plugin-jsx@2.0.1': + resolution: {integrity: sha512-a8CaLQjD/s4PVdhrLD/zT574ZNPnZBOY+IhdtKWRB4HRZ0I2tXBi5ne7d9eCfaYwp5gU5+4KIyFTV1W1YL9xZA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + + '@vue/babel-plugin-resolve-type@2.0.1': + resolution: {integrity: sha512-ybwgIuRGRRBhOU37GImDoWQoz+TlSqap65qVI6iwg/J7FfLTLmMf97TS7xQH9I7Qtr/gp161kYVdhr1ZMraSYQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/compiler-core@3.5.34': + resolution: {integrity: sha512-s9cLyK5mLcvZ4Agva5QgRsQyLKvts9WbU9DB6NqiZkkGEdwmcEiylj5Jbwkp680drF/NNCV8OlAJSe+yMLxaJw==} + + '@vue/compiler-dom@3.5.34': + resolution: {integrity: sha512-EbF/T++k0e2MMZlJsBhzK8Sgwt0HcIPOhzn1CTB/lv6sQcyk+OWf8YeiLxZp3ro7MbbLcAfAJ6sEvjFWuNgUCw==} + + '@vue/compiler-sfc@3.5.34': + resolution: {integrity: sha512-D/ihr6uZeIt6r+pVZf46RWT1fAsLFMbUP7k8G1VkiiWexriED9GrX3echHd4Abbt17zjlfiFJ8z7a3BxZOPNjg==} + + '@vue/compiler-ssr@3.5.34': + resolution: {integrity: sha512-cDtTHKibkThKGHH1SP+WdccquNRYQDFH6rRjQCqT9G2ltFAfoR5pUftpab/z+aM5mW9HLLVQW7hfKKQe/1GBeQ==} + + '@vue/devtools-api@6.6.4': + resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + + '@vue/devtools-core@7.7.9': + resolution: {integrity: sha512-48jrBSwG4GVQRvVeeXn9p9+dlx+ISgasM7SxZZKczseohB0cBz+ITKr4YbLWjmJdy45UHL7UMPlR4Y0CWTRcSQ==} + peerDependencies: + vue: ^3.0.0 + + '@vue/devtools-core@8.1.2': + resolution: {integrity: sha512-ZGGyaSBP4/+bN2Nd9ZHNYAVDRIzMw1rv2RyXWtyZlo6mQal+IDmTvKY4V+DjAEBhaXt30mHmsgYp1yXJ/2tIWg==} + peerDependencies: + vue: ^3.0.0 + + '@vue/devtools-kit@7.7.9': + resolution: {integrity: sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==} + + '@vue/devtools-kit@8.1.2': + resolution: {integrity: sha512-f75/upc+GCyjXErpgPGz4582ujS0L/adAltGy+tqXMGUJpgAcfGr6CxnnhpZY8BHuMYt6KpbF8uaFrrQG66rGQ==} + + '@vue/devtools-shared@7.7.9': + resolution: {integrity: sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==} + + '@vue/devtools-shared@8.1.2': + resolution: {integrity: sha512-X9RyVFYAdkBe4IUf5v48TxBF/6QPmF8CmWrDAjXzfUHrgQ/HGfTC1A6TqgXqZ03ye66l3AD51BAGD69IvKM9sw==} + + '@vue/language-core@3.2.8': + resolution: {integrity: sha512-9OiSPQFiAAWNVnXb0d2dcTmcKnFQamhuNES6ayyISrb/mwPWVgoGdAqSfCWqKhQpa3D5gDTcYD+w7ObiheZ81g==} + + '@vue/reactivity@3.5.34': + resolution: {integrity: sha512-y9XDjCEuBp+98k+UL5dbYkh57AHU4o6cxZedOPXw3bmrZZYLQsVHguGurq7hVrPCSrQtrnz1f9dssyFr+dMXfQ==} + + '@vue/runtime-core@3.5.34': + resolution: {integrity: sha512-mKeBYvu8tcMSLhypAHBmriUFfWXKTCF/23Z4jiCoYK3UtWepkliViNLuR90V9XOyD62mUxs9p1jsrpK3CCGIzw==} + + '@vue/runtime-dom@3.5.34': + resolution: {integrity: sha512-e8kZzERmCwUnBRVsgSQlAfrfU2rGoy0FFKPBXSlfEjc/O3KfA7QP0t1/2ZylrbchjmIKB4dPTd07A6WPr0eOrg==} + + '@vue/server-renderer@3.5.34': + resolution: {integrity: sha512-nHxmJoTrKsmrkbILRhkC9gY1G3moZbJTqCzDd7DOOzG5KH9oeJ0Unqrff5f9v0pW//jES05ZkJcNtfE8JjOIew==} + peerDependencies: + vue: 3.5.34 + + '@vue/shared@3.5.34': + resolution: {integrity: sha512-24uqU4OIiX29ryC3MeWid/Xf2fa2EFRUVLb77nRhk+UrTVrh/XiGtFAFmJBAtBRbjwNdsPRP+jj/OL27Eg1NDA==} + + '@vueuse/core@10.11.1': + resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==} + + '@vueuse/core@14.3.0': + resolution: {integrity: sha512-aHfz47g0ZhMtTVHmIzMVpJy8ePhhOy68GY5bv110+5DVtZ+W7BsOx+m61UNQqfrWyPztIHIanWa3E2tib3NFIw==} + peerDependencies: + vue: ^3.5.0 + + '@vueuse/integrations@14.3.0': + resolution: {integrity: sha512-76I5FT2ESvCmCaSwapI+a/u/CFtNXmzl9f9lNp1hRtx8vKB8hfiokJr8IvQqcQG5ckGXElyXK516b54ozV3MvA==} + 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: + 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 + + '@vueuse/metadata@10.11.1': + resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==} + + '@vueuse/metadata@14.3.0': + resolution: {integrity: sha512-BwxmbAzwAVF50+MW57GXOUEV61nFBGnlBvrTqj49PqWJu3uw7hdu72ztXeZ33RdZtDY6kO+bfCAE1PCn88Tktw==} + + '@vueuse/nuxt@14.3.0': + resolution: {integrity: sha512-Uxaz/DsNa3i7vHTSjZin5R17R5pt+MtpAifsfqhV1qiBZti1wYv+/S3xysCMHuuiWyLIbbignKxIsgG9ul5kEA==} + peerDependencies: + nuxt: ^3.0.0 || ^4.0.0-0 + vue: ^3.5.0 + + '@vueuse/shared@10.11.1': + resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==} + + '@vueuse/shared@14.3.0': + resolution: {integrity: sha512-bZpge9eSXwa4ToSiqJ7j6KRwhAsneMFoSz3LMWKQDkqimm3D/tbFlrklrs/IOqC8tEcYmXQZJ6N0UrjhBirVCg==} + peerDependencies: + vue: ^3.5.0 + '@xmldom/xmldom@0.8.13': resolution: {integrity: sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==} engines: {node: '>=10.0.0'} @@ -2034,6 +3680,9 @@ packages: ajv@8.20.0: resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + alien-signals@3.1.2: + resolution: {integrity: sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==} + anser@1.4.10: resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} @@ -2069,6 +3718,10 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} + ansis@4.2.0: + resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} + engines: {node: '>=14'} + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -2093,6 +3746,10 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + aria-hidden@1.2.6: + resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} + engines: {node: '>=10'} + array-timsort@1.0.3: resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} @@ -2106,6 +3763,14 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} + ast-kit@2.2.0: + resolution: {integrity: sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==} + engines: {node: '>=20.19.0'} + + ast-walker-scope@0.8.3: + resolution: {integrity: sha512-cbdCP0PGOBq0ASG+sjnKIoYkWMKhhz+F/h9pRexUdX2Hd38+WOlBkRKlqkGOSm0YQpcFMQBJeK4WspUAkwsEdg==} + engines: {node: '>=20.19.0'} + async-limiter@1.0.1: resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} @@ -2122,6 +3787,13 @@ packages: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} engines: {node: '>=8.0.0'} + autoprefixer@10.5.0: + resolution: {integrity: sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -2272,6 +3944,15 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + birpc@2.9.0: + resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==} + + birpc@4.0.0: + resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==} + + bole@5.0.29: + resolution: {integrity: sha512-eYR9i2ubLv5/4TFGyZsQ1cVH4jF9+qLJA72Aow+E7ZZQfqHqQNUZeX3w+pVWF76PQyjl5eDKf2xylyOOX76ozA==} + boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -2341,6 +4022,10 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + cac@7.0.0: + resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==} + engines: {node: '>=20.19.0'} + call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -2377,6 +4062,9 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} + caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + caniuse-lite@1.0.30001791: resolution: {integrity: sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==} @@ -2404,6 +4092,10 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + chokidar@5.0.0: resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} engines: {node: '>= 20.19.0'} @@ -2480,10 +4172,17 @@ packages: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} + colortranslator@5.0.0: + resolution: {integrity: sha512-Z3UPUKasUVDFCDYAjP2fmlVRf1jFHJv1izAmPjiOa0OCIw1W7iC8PZ2GsoDa8uZv+mKyWopxxStT9q05+27h7w==} + combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} + commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} + commander@12.1.0: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} @@ -2550,6 +4249,14 @@ packages: cookie-es@3.1.1: resolution: {integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==} + cookie@1.1.1: + resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} + engines: {node: '>=18'} + + copy-anything@4.0.5: + resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==} + engines: {node: '>=18'} + core-js-compat@3.49.0: resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} @@ -2584,6 +4291,12 @@ packages: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} + css-declaration-sorter@7.4.0: + resolution: {integrity: sha512-LTuzjPoyA2vMGKKcaOqKSp7Ub2eGrNfKiZH4LpezxpNrsICGCSFvsQOI29psISxNZtaXibkC2CXzrQ5enMeGGw==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.0.9 + css-select@5.2.2: resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} @@ -2591,6 +4304,14 @@ packages: resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} engines: {node: '>=8.0.0'} + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@3.2.1: + resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + css-what@6.2.2: resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} @@ -2600,9 +4321,39 @@ packages: engines: {node: '>=4'} hasBin: true + cssnano-preset-default@7.0.17: + resolution: {integrity: sha512-11qO63A+czwguQFJCaTdICvbaxn0pJzz/XghLlv+OT7WyToDxAMR0Xb3/26/l0y0hQJywwNbj/SLSQlGBHE1OA==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + cssnano-utils@5.0.3: + resolution: {integrity: sha512-ynIREMICLxkxm7e9bCR9sh75s4Q5drICi0ua1yxo5jH2XPBqSKkl4dOh4EbFqtUmnTMhRffHgYL0EKKkMjtJTg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + cssnano@7.1.9: + resolution: {integrity: sha512-uPR75+5Dk/WJ/YSPR1/YDHdwMM9c5FsaARljfKWgeCKLKOtJ0we21xy/RcCjn53fZnD/f6yYEIZ8pu18+GnbNQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + db0@0.3.4: resolution: {integrity: sha512-RiXXi4WaNzPTHEOu8UPQKMooIbqOEyqA1t7Z6MsdxSCeb8iUC9ko3LcmsLmeUt2SM5bctfArZKkRQggKZz7JNw==} peerDependencies: @@ -2729,9 +4480,28 @@ packages: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} + devalue@5.8.0: + resolution: {integrity: sha512-2zA9pFEsnp7vWBZbXF5JAgAq0fsUIt/1XPbRiAmRV3lp/2C3upzH+sADiyy66aFCihoLEsrQHxNM5w1gIDfsBg==} + + devframe@0.1.21: + resolution: {integrity: sha512-tOCbGyJKYyYatfk1E7I96KVZQRTyFwewF1c5BVsm92EN6ezuUkAmJqNu6/kR6sAA8lUSnRG4iTUrk+bOtutJjQ==} + peerDependencies: + '@modelcontextprotocol/sdk': ^1.0.0 + peerDependenciesMeta: + '@modelcontextprotocol/sdk': + optional: true + didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + diff@8.0.4: + resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==} + engines: {node: '>=0.3.1'} + + diff@9.0.0: + resolution: {integrity: sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw==} + engines: {node: '>=0.3.1'} + dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} @@ -2783,6 +4553,50 @@ packages: electron-to-chromium@1.5.351: resolution: {integrity: sha512-9D7Iqx8RImSvCnOsj86rCH6eQjZFQoM04Jn6HnZVM0Nu/G58/gmKYQ1d12MZTbjQbQSTGI8nwEy07ErsA2slLA==} + embla-carousel-auto-height@8.6.0: + resolution: {integrity: sha512-/HrJQOEM6aol/oF33gd2QlINcXy3e19fJWvHDuHWp2bpyTa+2dm9tVVJak30m2Qy6QyQ6Fc8DkImtv7pxWOJUQ==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel-auto-scroll@8.6.0: + resolution: {integrity: sha512-WT9fWhNXFpbQ6kP+aS07oF5IHYLZ1Dx4DkwgCY8Hv2ZyYd2KMCPfMV1q/cA3wFGuLO7GMgKiySLX90/pQkcOdQ==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel-autoplay@8.6.0: + resolution: {integrity: sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel-class-names@8.6.0: + resolution: {integrity: sha512-l1hm1+7GxQ+zwdU2sea/LhD946on7XO2qk3Xq2XWSwBaWfdgchXdK567yzLtYSHn4sWYdiX+x4nnaj+saKnJkw==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel-fade@8.6.0: + resolution: {integrity: sha512-qaYsx5mwCz72ZrjlsXgs1nKejSrW+UhkbOMwLgfRT7w2LtdEB03nPRI06GHuHv5ac2USvbEiX2/nAHctcDwvpg==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel-reactive-utils@8.6.0: + resolution: {integrity: sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==} + peerDependencies: + embla-carousel: 8.6.0 + + embla-carousel-vue@8.6.0: + resolution: {integrity: sha512-v8UO5UsyLocZnu/LbfQA7Dn2QHuZKurJY93VUmZYP//QRWoCWOsionmvLLAlibkET3pGPs7++03VhJKbWD7vhQ==} + peerDependencies: + vue: ^3.2.37 + + embla-carousel-wheel-gestures@8.1.0: + resolution: {integrity: sha512-J68jkYrxbWDmXOm2n2YHl+uMEXzkGSKjWmjaEgL9xVvPb3HqVmg6rJSKfI3sqIDVvm7mkeTy87wtG/5263XqHQ==} + engines: {node: '>=10'} + peerDependencies: + embla-carousel: ^8.0.0 || ~8.0.0-rc03 + + embla-carousel@8.6.0: + resolution: {integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==} + emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -2808,10 +4622,18 @@ packages: resolution: {integrity: sha512-EuJWwlHPZ1LbADuKTClvHtwbaFn4rOD+dRAbWysqEOXRc2Uui0hJInNJrsdH0c+OhJA4nrCBdSkW4DD5YxAo6A==} engines: {node: '>=8.10.0'} + enhanced-resolve@5.21.2: + resolution: {integrity: sha512-xe9vQb5kReirPUxgQrXA3ihgbCqssmTiM7cOZ+Gzu+VeGWgpV98lLZvp0dl4yriyAePcewxGUs9UpKD8PET9KQ==} + engines: {node: '>=10.13.0'} + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} + env-editor@0.4.2: resolution: {integrity: sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==} engines: {node: '>=8'} @@ -2829,6 +4651,9 @@ packages: error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + errx@0.1.0: + resolution: {integrity: sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q==} + es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -2840,6 +4665,9 @@ packages: es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + es-module-lexer@2.1.0: + resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} + es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} @@ -2853,6 +4681,16 @@ packages: engines: {node: '>=12'} hasBin: true + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.27.7: + resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} + engines: {node: '>=18'} + hasBin: true + esbuild@0.28.0: resolution: {integrity: sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==} engines: {node: '>=18'} @@ -2907,6 +4745,10 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + expect-type@1.3.0: resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} engines: {node: '>=12.0.0'} @@ -3143,9 +4985,28 @@ packages: fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + fast-npm-meta@0.4.8: + resolution: {integrity: sha512-ybZVlDZ2PkO79dosM+6CLZfKWRH8MF0PiWlw8M4mVWJl8IEJrPfxYc7Tsu830Dwj/R96LKXfePGTSzKWbPJ08w==} + + fast-npm-meta@1.5.1: + resolution: {integrity: sha512-tWhw7z4jFuQgZB9tbQyUh5BY9nNd/wimM+fBLfmmJjakkJDNvbJKm0nQ5ruPKC0us1HGg7L6iBk1fxpSzcgSaA==} + hasBin: true + + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + fast-string-truncated-width@3.0.3: + resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} + + fast-string-width@3.0.2: + resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} + fast-uri@3.1.2: resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} + fast-wrap-ansi@0.2.0: + resolution: {integrity: sha512-rLV8JHxTyhVmFYhBJuMujcrHqOT2cnO5Zxj37qROj23CP39GXubJRBUFF0z8KFK77Uc0SukZUf7JZhsVEQ6n8w==} + fastq@1.20.1: resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} @@ -3187,9 +5048,26 @@ packages: flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} + fontaine@0.8.0: + resolution: {integrity: sha512-eek1GbzOdWIj9FyQH/emqW1aEdfC3lYRCHepzwlFCm5T77fBSRSyNRKE6/antF1/B1M+SfJXVRQTY9GAr7lnDg==} + engines: {node: '>=18.12.0'} + fontfaceobserver@2.3.0: resolution: {integrity: sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==} + fontkitten@1.0.3: + resolution: {integrity: sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==} + engines: {node: '>=20'} + + fontless@0.2.1: + resolution: {integrity: sha512-mUWZ8w91/mw2KEcZ6gHNoNNmsAq9Wiw2IypIux5lM03nhXm+WSloXGUNuRETNTLqZexMgpt7Aj/v63qqrsWraQ==} + engines: {node: '>=18.12.0'} + peerDependencies: + vite: '*' + peerDependenciesMeta: + vite: + optional: true + for-each@0.3.5: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} @@ -3209,6 +5087,23 @@ packages: resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} engines: {node: '>= 12.20'} + fraction.js@5.3.4: + resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} + + framer-motion@12.38.0: + resolution: {integrity: sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==} + 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 + freeport-async@2.0.0: resolution: {integrity: sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==} engines: {node: '>=8'} @@ -3232,6 +5127,13 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + fuse.js@7.3.0: + resolution: {integrity: sha512-plz8RVjfcDedTGfVngWH1jmJvBvAwi1v2jecfDerbEnMcmOYUEEwKFTHbNoCiYyzaK2Ws8lABkTCcRSqCY1q4w==} + engines: {node: '>=10'} + + fzf@0.5.2: + resolution: {integrity: sha512-Tt4kuxLXFKHy8KT40zwsUPUkg1CrsgY25FxA2U/j/0WgEDCk3ddc/zLTCCcbSHX9FcKtLuVaDGtGE/STWC+j3Q==} + generate-function@2.3.1: resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} @@ -3266,6 +5168,10 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + getenv@2.0.0: resolution: {integrity: sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ==} engines: {node: '>=6'} @@ -3295,6 +5201,14 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} + + globals@15.15.0: + resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} + engines: {node: '>=18'} + globby@16.2.0: resolution: {integrity: sha512-QrJia2qDf5BB/V6HYlDTs0I0lBahyjLzpGQg3KT7FnCdTonAyPy2RtY802m2k4ALx6Dp752f82WsOczEVr3l6Q==} engines: {node: '>=20'} @@ -3357,6 +5271,9 @@ packages: hermes-parser@0.29.1: resolution: {integrity: sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==} + hey-listen@1.0.8: + resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==} + hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} @@ -3367,6 +5284,9 @@ packages: hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + hookable@6.1.1: + resolution: {integrity: sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==} + hosted-git-info@7.0.2: resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} engines: {node: ^16.14.0 || >=18.0.0} @@ -3402,6 +5322,10 @@ packages: httpxy@0.5.1: resolution: {integrity: sha512-JPhqYiixe1A1I+MXDewWDZqeudBGU8Q9jCHYN8ML+779RQzLjTi78HBvWz4jMxUD6h2/vUL12g4q/mFM0OUw1A==} + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} @@ -3427,6 +5351,9 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} + image-meta@0.2.2: + resolution: {integrity: sha512-3MOLanc3sb3LNGWQl1RlQlNWURE5g32aUphrDyFeCsxBTk08iE3VNe4CwsUZ0Qs1X+EfX0+r29Sxdpza4B+yRA==} + image-size@1.2.1: resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==} engines: {node: '>=16.x'} @@ -3435,14 +5362,26 @@ packages: imapflow@1.3.3: resolution: {integrity: sha512-lx7nWcUDfNgITEKYYfunUDqJ3LT6ImuiA1ReqJepVEA2nqBQNUqa3ppF7Yz5CNjuDYG95pmzsCcNqRjMrwh/Vg==} + immer@11.1.7: + resolution: {integrity: sha512-LFVFtAROHcDy1er5UI6nodRFnZ2SgdCXhfNSI+DpObO8N7Pur/muBGsjzH5wpnFHCYhYVQxZskCkV4koQ//3/Q==} + import-fresh@2.0.0: resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} engines: {node: '>=4'} + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + + impound@1.1.5: + resolution: {integrity: sha512-5AUn+QE0UofqNHu5f2Skf6Svukdg4ehOIq8O0EtqIx4jta0CDZYBPqpIHt0zrlUTiFVYlLpeH39DoikXBjPKpA==} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + individual@3.0.0: + resolution: {integrity: sha512-rUY5vtT748NMRbEMrTNiFfy29BgGZwGXUi2NFUVMWQrogSLzlJvQV9eeMWi+g1aVaQ53tpyLAQtd5x/JH0Nh1g==} + inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -3453,6 +5392,10 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} @@ -3528,6 +5471,10 @@ packages: engines: {node: '>=14.16'} hasBin: true + is-installed-globally@1.0.0: + resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==} + engines: {node: '>=18'} + is-module@1.0.0: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} @@ -3561,10 +5508,22 @@ packages: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-typed-array@1.1.15: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} + is-what@5.5.0: + resolution: {integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==} + engines: {node: '>=18'} + + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -3579,6 +5538,17 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isexe@3.1.5: + resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==} + engines: {node: '>=18'} + + isexe@4.0.0: + resolution: {integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==} + engines: {node: '>=20'} + + isomorphic.js@0.2.5: + resolution: {integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==} + istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -3677,6 +5647,9 @@ packages: json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} @@ -3700,10 +5673,16 @@ packages: knitwork@1.3.0: resolution: {integrity: sha512-4LqMNoONzR43B1W0ek0fhXMsDNW/zxa1NdFAVMY+k28pgZLovR4G3PB5MrpTxCy1QaZCqNoiaKPr5w5qZHfSNw==} + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + lan-network@0.1.7: resolution: {integrity: sha512-mnIlAEMu4OyEvUNdzco9xpuB9YVcPkQec+QsgycBCtPZvEqWPCDPfbAE4OJMdBBWpZWtpCn1xw9jJYlwjWI5zQ==} hasBin: true + launch-editor@2.13.2: + resolution: {integrity: sha512-4VVDnbOpLXy/s8rdRCSXb+zfMeFR0WlJWpET1iA9CQdlZDfwyLjUuGQzXU4VeOoey6AicSAluWan7Etga6Kcmg==} + lazystream@1.0.1: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} @@ -3715,6 +5694,11 @@ packages: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} + lib0@0.2.117: + resolution: {integrity: sha512-DeXj9X5xDCjgKLU/7RR+/HQEVzuuEUiwldwOGsHK/sfAfELGWEyTcf0x+uOvCvK3O2zPmZePXWL85vtia6GyZw==} + engines: {node: '>=16'} + hasBin: true + libbase64@1.3.0: resolution: {integrity: sha512-GgOXd0Eo6phYgh0DJtjQ2tO8dc0IVINtZJeARPeiIJqge+HdsWSuaDTe8ztQ7j/cONByDZ3zeB325AHiv5O0dg==} @@ -3727,70 +5711,140 @@ packages: lighthouse-logger@1.4.2: resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + lightningcss-darwin-arm64@1.27.0: resolution: {integrity: sha512-Gl/lqIXY+d+ySmMbgDf0pgaWSqrWYxVHoc88q+Vhf2YNzZ8DwoRzGt5NZDVqqIW5ScpSnmmjcgXP87Dn2ylSSQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + lightningcss-darwin-x64@1.27.0: resolution: {integrity: sha512-0+mZa54IlcNAoQS9E0+niovhyjjQWEMrwW0p2sSdLRhLDc8LMQ/b67z7+B5q4VmjYCMSfnFi3djAAQFIDuj/Tg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + lightningcss-freebsd-x64@1.27.0: resolution: {integrity: sha512-n1sEf85fePoU2aDN2PzYjoI8gbBqnmLGEhKq7q0DKLj0UTVmOTwDC7PtLcy/zFxzASTSBlVQYJUhwIStQMIpRA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + lightningcss-linux-arm-gnueabihf@1.27.0: resolution: {integrity: sha512-MUMRmtdRkOkd5z3h986HOuNBD1c2lq2BSQA1Jg88d9I7bmPGx08bwGcnB75dvr17CwxjxD6XPi3Qh8ArmKFqCA==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + lightningcss-linux-arm64-gnu@1.27.0: resolution: {integrity: sha512-cPsxo1QEWq2sfKkSq2Bq5feQDHdUEwgtA9KaB27J5AX22+l4l0ptgjMZZtYtUnteBofjee+0oW1wQ1guv04a7A==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + lightningcss-linux-arm64-musl@1.27.0: resolution: {integrity: sha512-rCGBm2ax7kQ9pBSeITfCW9XSVF69VX+fm5DIpvDZQl4NnQoMQyRwhZQm9pd59m8leZ1IesRqWk2v/DntMo26lg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + lightningcss-linux-x64-gnu@1.27.0: resolution: {integrity: sha512-Dk/jovSI7qqhJDiUibvaikNKI2x6kWPN79AQiD/E/KeQWMjdGe9kw51RAgoWFDi0coP4jinaH14Nrt/J8z3U4A==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + lightningcss-linux-x64-musl@1.27.0: resolution: {integrity: sha512-QKjTxXm8A9s6v9Tg3Fk0gscCQA1t/HMoF7Woy1u68wCk5kS4fR+q3vXa1p3++REW784cRAtkYKrPy6JKibrEZA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + lightningcss-win32-arm64-msvc@1.27.0: resolution: {integrity: sha512-/wXegPS1hnhkeG4OXQKEMQeJd48RDC3qdh+OA8pCuOPCyvnm/yEayrJdJVqzBsqpy1aJklRCVxscpFur80o6iQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + lightningcss-win32-x64-msvc@1.27.0: resolution: {integrity: sha512-/OJLj94Zm/waZShL8nB5jsNj3CfNATLCTyFxZyouilfTmSoLDX7VlVAmhPHoZWVFp4vdmoiEbPEYC8HID3m6yw==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + lightningcss@1.27.0: resolution: {integrity: sha512-8f7aNmS1+etYSLHht0fQApPc2kNO8qGRutifN5rVIc6Xo6ABsEbqOr758UwI7ALVbTt4x1fllKt0PYgzD9S3yQ==} engines: {node: '>= 12.0.0'} + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -3798,6 +5852,9 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + linkifyjs@4.3.2: + resolution: {integrity: sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA==} + listhen@1.10.0: resolution: {integrity: sha512-kfz4C0OrC6IpaVMtYDJtf6PFjurxe9NBBoDAh/o2p587INryFOO4DQ9OetbCdDrWFt1m1CJKvYrzkGsuPHw8nQ==} hasBin: true @@ -3823,9 +5880,15 @@ packages: lodash.isarguments@3.1.0: resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + lodash.throttle@4.1.1: resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + lodash@4.18.1: resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} @@ -3833,6 +5896,9 @@ packages: resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} engines: {node: '>=4'} + logs-sdk@0.0.6: + resolution: {integrity: sha512-G4M1C9aLLBOIWpmw/Lqk4zrap/T2IJsoUOuUDjRcVSLy6lHQqxr3wCqIT1FvvpYTUYpEwvu4utsMY42jTNvx8Q==} + long@5.3.2: resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} @@ -3870,6 +5936,13 @@ packages: resolution: {integrity: sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA==} engines: {bun: '>=1.0.0', deno: '>=1.30.0', node: '>=8.0.0'} + magic-regexp@0.10.0: + resolution: {integrity: sha512-Uly1Bu4lO1hwHUW0CQeSWuRtzCMNO00CmXtS8N6fyvB3B979GOEEeAkiTUDsmbYLAbvpUS/Kt5c4ibosAzVyVg==} + + magic-string-ast@1.0.3: + resolution: {integrity: sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA==} + engines: {node: '>=20.19.0'} + magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} @@ -3886,6 +5959,11 @@ packages: makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + marked@17.0.6: + resolution: {integrity: sha512-gB0gkNafnonOw0obSTEGZTT86IuhILt2Wfx0mWH/1Au83kybTayroZ/V6nS25mN7u8ASy+5fMhgB3XPNrOZdmA==} + engines: {node: '>= 20'} + hasBin: true + marky@1.3.0: resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==} @@ -3896,6 +5974,12 @@ packages: mdn-data@2.0.14: resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.27.1: + resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} + memoize-one@5.2.1: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} @@ -4002,6 +6086,10 @@ packages: resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} engines: {node: '>=4'} + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + minimatch@10.2.5: resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} @@ -4028,6 +6116,9 @@ packages: resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} engines: {node: '>= 18'} + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -4036,12 +6127,38 @@ packages: mlly@1.8.2: resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==} + mocked-exports@0.1.1: + resolution: {integrity: sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA==} + + motion-dom@12.38.0: + resolution: {integrity: sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA==} + + motion-utils@12.36.0: + resolution: {integrity: sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg==} + + motion-v@2.2.1: + resolution: {integrity: sha512-BYbABe1Ep/u33dHOrK+8SoVU2MuiQqT94JOYsgrge8QbrwkKf2lS6rHW2QyzP6t89wcyBvzZeLQQwfrx76dj9A==} + peerDependencies: + '@vueuse/core': '>=10.0.0' + vue: '>=3.0.0' + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + mysql2@3.15.3: resolution: {integrity: sha512-FBrGau0IXmuqg4haEZRBfHNWB5mUARw6hNwPDXXGg0XzVJ50mr/9hb267lvpVMnhZ1FON3qNd4Xfcez1rbFwSg==} engines: {node: '>= 8.0'} @@ -4058,6 +6175,14 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@5.1.11: + resolution: {integrity: sha512-v+KEsUv2ps74PaSKv0gHTxTCgMXOIfBEbaqa6w6ISIGC7ZsvHN4N9oJ8d4cmf0n5oTzQz2SLmThbQWhjd/8eKg==} + engines: {node: ^18 || >=20} + hasBin: true + + nanotar@0.2.1: + resolution: {integrity: sha512-MUrzzDUcIOPbv7ubhDV/L4CIfVTATd9XhDE2ixFeCrM5yp9AlzUpn91JrnN0HD6hksdxvz9IW9aKANz0Bta0GA==} + nativewind@4.2.3: resolution: {integrity: sha512-HglF1v6A8CqBFpXWs0d3yf4qQGurrreLuyE8FTRI/VDH8b0npZa2SDG5tviTkLiBg0s5j09mQALZOjxuocgMLA==} engines: {node: '>=16'} @@ -4139,12 +6264,38 @@ packages: resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} engines: {node: ^16.14.0 || >=18.0.0} + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} nullthrows@1.1.1: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} + nuxt@4.1.3: + resolution: {integrity: sha512-FPl+4HNIOTRYWQXtsZe5KJAr/eddFesuXABvcSTnFLYckIfnxcistwmbtPlkJhkW6vr/Jdhef5QqqYYkBsowGg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@parcel/watcher': ^2.1.0 + '@types/node': '>=18.12.0' + peerDependenciesMeta: + '@parcel/watcher': + optional: true + '@types/node': + optional: true + + nypm@0.6.6: + resolution: {integrity: sha512-vRyr0r4cbBapw07Xw8xrj9Teq3o7MUD35rSaTcanDbW+aK2XHDgJFiU6ZTj2GBw7Q12ysdsyFss+Vdz4hQ0Y6Q==} + engines: {node: '>=18'} + hasBin: true + ob1@0.82.5: resolution: {integrity: sha512-QyQQ6e66f+Ut/qUVjEce0E/wux5nAGLXYZDn1jr15JWstHsCH3l6VVrg8NKDptW9NEiBXKOJeGF/ydxeSDF3IQ==} engines: {node: '>=18.18'} @@ -4173,12 +6324,22 @@ packages: resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} + obug@2.1.1: + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + ofetch@1.5.1: resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==} + ofetch@2.0.0-alpha.3: + resolution: {integrity: sha512-zpYTCs2byOuft65vI3z43Dd6iSdFbOZZLb9/d21aCpx2rGastVU9dOCv0lu4ykc1Ur1anAYjDi3SUvR0vq50JA==} + ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + on-change@6.0.2: + resolution: {integrity: sha512-08+12qcOVEA0fS9g/VxKS27HaT94nRutUT77J2dr8zv/unzXopvhBuF8tNLWsoLQ5IgrQ6eptGeGqUYat82U1w==} + engines: {node: '>=20'} + on-exit-leak-free@2.1.2: resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} engines: {node: '>=14.0.0'} @@ -4202,6 +6363,14 @@ packages: resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} engines: {node: '>=4'} + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + open@10.2.0: + resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} + engines: {node: '>=18'} + open@11.0.0: resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==} engines: {node: '>=20'} @@ -4230,6 +6399,30 @@ packages: resolution: {integrity: sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==} engines: {node: '>=6'} + orderedmap@2.1.1: + resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==} + + oxc-minify@0.94.0: + resolution: {integrity: sha512-7+9iyxwpzfjuiEnSqNJYzTsC1Oud742PPkr/4S1bGY930U4tApdLEK8zmgbT57c1/56cfNOndqZaeQZiAfnJ5A==} + engines: {node: ^20.19.0 || >=22.12.0} + + oxc-parser@0.126.0: + resolution: {integrity: sha512-FktCvLby/mOHyuijZt22+nOt10dS24gGUZE3XwIbUg7Kf4+rer3/5T7RgwzazlNuVsCjPloZ3p8E+4ONT3A8Kw==} + engines: {node: ^20.19.0 || >=22.12.0} + + oxc-parser@0.94.0: + resolution: {integrity: sha512-refms9HQoAlTYIazONYkuX5A3rFGPddbD6Otyc+A0/pj1WTttR8TsZRlMzQxCfhexxfrbinqd7ebkEoYNuCmLQ==} + engines: {node: ^20.19.0 || >=22.12.0} + + oxc-transform@0.94.0: + resolution: {integrity: sha512-nHFFyPVWNNe7WLsAiQ6iwfsuTW/1esT+BJg+9rlvcSa0mfcZTpNo3TlBfj9IerLdDmYHJnSYsx8jjFZhoGfZ1w==} + engines: {node: ^20.19.0 || >=22.12.0} + + oxc-walker@0.5.2: + resolution: {integrity: sha512-XYoZqWwApSKUmSDEFeOKdy3Cdh95cOcSU8f7yskFWE4Rl3cfL5uwyY+EV7Brk9mdNLy+t5SseJajd6g7KncvlA==} + peerDependencies: + oxc-parser: '>=0.72.0' + p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -4238,6 +6431,10 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} + p-limit@7.3.0: + resolution: {integrity: sha512-7cIXg/Z0M5WZRblrsOla88S4wAK+zOQQWeBYfV3qJuJXMr+LnbYjaadrFaS0JILfEDPVqHyKnZ1Z/1d6J9VVUw==} + engines: {node: '>=20'} + p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -4253,10 +6450,17 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + package-manager-detector@1.6.0: + resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} + parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + parse-png@2.1.0: resolution: {integrity: sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==} engines: {node: '>=10'} @@ -4268,6 +6472,9 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -4280,6 +6487,10 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -4304,6 +6515,9 @@ packages: peberminta@0.9.0: resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + perfect-debounce@2.1.0: resolution: {integrity: sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==} @@ -4392,6 +6606,48 @@ packages: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} + postcss-calc@10.1.1: + resolution: {integrity: sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==} + engines: {node: ^18.12 || ^20.9 || >=22.0} + peerDependencies: + postcss: ^8.4.38 + + postcss-colormin@7.0.10: + resolution: {integrity: sha512-yFr6JezOolHLta/buLE71VKPh2mXursp4saVe98/ol8ZnEWhL+racShqPKlvd/DKWLre/39B6HhcMXf7RZ3hxg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-convert-values@7.0.12: + resolution: {integrity: sha512-xurKu5qqk4viR3Cp3p4xBR4KfnZm4w4ys6+UBwBmeuBSNkH7+DtLnYOYnOffgtE4yx8sH9S1VZ6RAAvROXzP2Q==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-discard-comments@7.0.8: + resolution: {integrity: sha512-CvvS5S9WrXblFXCEJ9nVo+4z+eA7zSC7Z88V1HEJuwlQhlFnYTIjg1xJY+BCUiG2bvICap2tXii4mP22BD108Q==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-discard-duplicates@7.0.4: + resolution: {integrity: sha512-VBNn1+EuMZkeGVVtz0gRfbNGtx9IFgAsAV+E2pHtXPrp4qfGBkhTIiAuE/wrb+Y6Pakg9NewAlfTpYIFAWODtw==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-discard-empty@7.0.3: + resolution: {integrity: sha512-M2pyjQCU+/7cMHVtL6bKTHjv0lZnPLMpicgr67Dlth7AbuV9gjVTtUqaRwn6Pp6BwSDspUzhz8SaUrRykJU5Dw==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-discard-overridden@7.0.3: + resolution: {integrity: sha512-aNovXo9UsZuRNLzHJtp13lHIvinDPfiXBPePpXkSjCbgp++iU2FqE+YxvjIsg6EdyPZsASFbfu+JcBFVsErXIQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + postcss-import@15.1.0: resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -4422,16 +6678,140 @@ packages: yaml: optional: true + postcss-merge-longhand@7.0.7: + resolution: {integrity: sha512-b3mfYUxR388u5Pt0HPcVIUtUDn/k15UfTY9M+ORW+meCR6JLNxoZffiYvXyOYQoRYQNZyX/UFkMCM/mNHxe1qA==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-merge-rules@7.0.11: + resolution: {integrity: sha512-SJUPM18g2BmPhf8BVlbwqWz4aK3pLu6u6xjfwEzra7xL6IBR10sUaiB++EzqcVfadPHrKBSMlNdP+XieykhI+Q==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-minify-font-values@7.0.3: + resolution: {integrity: sha512-yilG/VOaNI74IylQvAQQxm3/wZVBkXyYUqNUAdxqwtbWUXPsbK1q8Ms0mL83v+f8YicgcyfYCRZtWACUdYajpA==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-minify-gradients@7.0.5: + resolution: {integrity: sha512-YraROyQRg3BI1+Hg8E05B/JPdnTm8EDSVu4P2BxdM+CRiOyfmou809+chGIqo6fQqwjPGQ947nbGncSjmTU1WQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-minify-params@7.0.9: + resolution: {integrity: sha512-R8itbB8BhlpoYyBm1ou0dD+vJnQ3F6adQipR4UnkCHUwlo+S9WXJaDRg1RHjC8YVAtIdrQzSWvJl40HnGDTKjA==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-minify-selectors@7.1.2: + resolution: {integrity: sha512-aQtrEWKwqafNlExcKHQvPGsXR2+vlUqqJtf5XsCQcgsSb5PL4wlujWBYDJuWsP4UnQX1YHDHU8qRlD+1PzTQ+Q==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + postcss-nested@6.2.0: resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 + postcss-normalize-charset@7.0.3: + resolution: {integrity: sha512-NoBfZu8PR4c2NlmjvrqQTzCzLY79hwcSRgNQ3ZiNK0ABzf9kYKloE/jNj+/8GQY1wsm8pRRgANk6ydLH8cwo0Q==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-normalize-display-values@7.0.3: + resolution: {integrity: sha512-ldsCX0QIt05pKIOobZtVQ48wXJecr+czw4+e1/YjVhLMqslShgpVxgPtI2CefURR8oyVoYaU/l829MMwExDMLw==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-normalize-positions@7.0.4: + resolution: {integrity: sha512-VEvlpeGd3Ju1Hqa/oN4jaP3+ms4laYwkEL9N9u+B6k54PZjXbW1n6wI+aVprf1BQXlCYpS5+1pl/7/vHiKgARg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-normalize-repeat-style@7.0.4: + resolution: {integrity: sha512-6mPKlY/8cSaDHxX502wERADarJsccwlky6yIrOapHH2ZgfoKAV94SbiTKfKEs4EEpdazuc3J72WsqeYk7hp9+Q==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-normalize-string@7.0.3: + resolution: {integrity: sha512-HnEQPUchi1eznmDKEYrKUTqrprEq97SrpUYClgUkv7V2zRODD9DFoUsYU+m9ZOetmD5ku7fEMZB/lwy8IT6xVQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-normalize-timing-functions@7.0.3: + resolution: {integrity: sha512-zmEzHdvpZBZu0OKlbJSfgASQvaayyAoVuWtvyr34IJ/LyS+DaOKvvR3EvFJ9RWWtNIx+CMvO125OVophaxNYew==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-normalize-unicode@7.0.9: + resolution: {integrity: sha512-DRAdWfeh/TjmhLJsw91vdiWCnUod9iwvM7xyS02/nF/sLsCR3A8l3pztrSUrWG8DSBqfX7yEk9FM0USaVJ2mSg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-normalize-url@7.0.3: + resolution: {integrity: sha512-CL93wmloq5qsffmFv+bw24MIRbmhHrp53qoh1LDAb/5TtjWEXI/np4xcP/Gw9oWCb2XyWnqHYLDUwiKRoJBA1Q==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-normalize-whitespace@7.0.3: + resolution: {integrity: sha512-FdHjjn+Ht5Z2ZRjNOmeCbNq6lq09sUYKpmlF/Aq0XjVNSLTL6fmHlA/3swN2wP2caY9GV/tjSDcIIyS7aN7W0A==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-ordered-values@7.0.4: + resolution: {integrity: sha512-nubSi49hDHQk4E8KIj+IbLY8Bg+8OcSUEhgyolgM+atnOvXjV7EjaR6bac4YGZoFyPa9mWoAF3EaYbWdFkKqVg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-reduce-initial@7.0.9: + resolution: {integrity: sha512-ztTNPdIxXTxtBcG03E9u8v44M4ElXbMIRT7pf2onlquGula0Y83nKKxqM22FA/hMgkfCjN7ohevkVlaNwI8iOQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + + postcss-reduce-transforms@7.0.3: + resolution: {integrity: sha512-FXsnN9ZwcZTT8Yf8cAHA8qIGUXcX6WfLd9JoYhrdDfmvsVhhfqkkv7m4AC3rwFOfz+GzkUa87OCKF9dUcicd+g==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + postcss-selector-parser@6.1.2: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} + postcss-selector-parser@7.1.1: + resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} + engines: {node: '>=4'} + + postcss-svgo@7.1.3: + resolution: {integrity: sha512-2QfoFOYMcj8lwcVEf9WeTlkVIAm7u2QvOEhMzkQU3KUhhGX/l8hVV9EtjMv4iq3E9iI3OeeMN0YoMLbGusuigw==} + engines: {node: ^18.12.0 || ^20.9.0 || >= 18} + peerDependencies: + postcss: ^8.5.13 + + postcss-unique-selectors@7.0.7: + resolution: {integrity: sha512-d+sCkaRnSefghOUdH8CMJZV9yUQhj2ojpe8Nw/lA+LV1UOfeleGkLTl6XdCFFSai9UJ+DJPb69FFuqthXYsY8w==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} @@ -4529,6 +6909,47 @@ packages: proper-lockfile@4.1.2: resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} + prosemirror-changeset@2.4.1: + resolution: {integrity: sha512-96WBLhOaYhJ+kPhLg3uW359Tz6I/MfcrQfL4EGv4SrcqKEMC1gmoGrXHecPE8eOwTVCJ4IwgfzM8fFad25wNfw==} + + prosemirror-commands@1.7.1: + resolution: {integrity: sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==} + + prosemirror-dropcursor@1.8.2: + resolution: {integrity: sha512-CCk6Gyx9+Tt2sbYk5NK0nB1ukHi2ryaRgadV/LvyNuO3ena1payM2z6Cg0vO1ebK8cxbzo41ku2DE5Axj1Zuiw==} + + prosemirror-gapcursor@1.4.1: + resolution: {integrity: sha512-pMdYaEnjNMSwl11yjEGtgTmLkR08m/Vl+Jj443167p9eB3HVQKhYCc4gmHVDsLPODfZfjr/MmirsdyZziXbQKw==} + + prosemirror-history@1.5.0: + resolution: {integrity: sha512-zlzTiH01eKA55UAf1MEjtssJeHnGxO0j4K4Dpx+gnmX9n+SHNlDqI2oO1Kv1iPN5B1dm5fsljCfqKF9nFL6HRg==} + + prosemirror-keymap@1.2.3: + resolution: {integrity: sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==} + + prosemirror-model@1.25.4: + resolution: {integrity: sha512-PIM7E43PBxKce8OQeezAs9j4TP+5yDpZVbuurd1h5phUxEKIu+G2a+EUZzIC5nS1mJktDJWzbqS23n1tsAf5QA==} + + prosemirror-schema-list@1.5.1: + resolution: {integrity: sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==} + + prosemirror-state@1.4.4: + resolution: {integrity: sha512-6jiYHH2CIGbCfnxdHbXZ12gySFY/fz/ulZE333G6bPqIZ4F+TXo9ifiR86nAHpWnfoNjOb3o5ESi7J8Uz1jXHw==} + + prosemirror-tables@1.8.5: + resolution: {integrity: sha512-V/0cDCsHKHe/tfWkeCmthNUcEp1IVO3p6vwN8XtwE9PZQLAZJigbw3QoraAdfJPir4NKJtNvOB8oYGKRl+t0Dw==} + + prosemirror-transform@1.12.0: + resolution: {integrity: sha512-GxboyN4AMIsoHNtz5uf2r2Ru551i5hWeCMD6E2Ib4Eogqoub0NflniaBPVQ4MrGE5yZ8JV9tUHg9qcZTTrcN4w==} + + prosemirror-view@1.41.8: + resolution: {integrity: sha512-TnKDdohEatgyZNGCDWIdccOHXhYloJwbwU+phw/a23KBvJIR9lWQWW7WHHK3vBdOLDNuF7TaX98GObUZOWkOnA==} + + publint@0.3.20: + resolution: {integrity: sha512-UWqFYP7VBVCe9l/leEEGJrDs6Am4K4KapLmLi5qbt+9fA+Ny38ghdW+bw1nYfVqCK8/3kgsxjjhFjTYqYYRpyw==} + engines: {node: '>=18'} + hasBin: true + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -4547,6 +6968,9 @@ packages: quansync@0.2.11: resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + quansync@1.0.0: + resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} + query-string@7.1.3: resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} engines: {node: '>=6'} @@ -4567,6 +6991,9 @@ packages: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} + rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + rc9@3.0.1: resolution: {integrity: sha512-gMDyleLWVE+i6Sgtc0QbbY6pEKqYs97NGi6isHQPqYlLemPoO8dxQ3uGi0f4NiP98c+jMW6cG1Kx9dDwfvqARQ==} @@ -4734,6 +7161,10 @@ packages: read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + read-yaml-file@2.1.0: + resolution: {integrity: sha512-UkRNRIwnhG+y7hpqnycCL/xbTk7+ia9VuVTC0S+zVbwd65DI9eUpRMfsWIGrCWxTU/mi+JW8cHQCrv+zfCbEPQ==} + engines: {node: '>=10.13'} + readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -4748,6 +7179,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + readdirp@5.0.0: resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} engines: {node: '>= 20.19.0'} @@ -4774,6 +7209,10 @@ packages: regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + regexpu-core@6.4.0: resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} engines: {node: '>=4'} @@ -4785,6 +7224,11 @@ packages: resolution: {integrity: sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==} hasBin: true + reka-ui@2.9.6: + resolution: {integrity: sha512-K6bL457owpvWONc7hsjFxo3HDC9s6IzhRqShW0w9JSKelPGfRbkHD558UQTn/NH1cvrXVHygKyC7fExFmRketg==} + peerDependencies: + vue: '>= 3.4.0' + remeda@2.33.4: resolution: {integrity: sha512-ygHswjlc/opg2VrtiYvUOPLjxjtdKvjGz1/plDhkG66hjNjFr1xmfrs2ClNFo/E6TyUFiwYNh53bKV26oBoMGQ==} @@ -4839,6 +7283,9 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -4851,6 +7298,19 @@ packages: react: '*' react-native: '*' + rollup-plugin-visualizer@6.0.11: + resolution: {integrity: sha512-TBwVHVY7buHjIKVLqr9scTVFwqZqMXINcCphPwIWKPDCOBIa+jCQfafvbjRJDZgXdq/A996Dy6yGJ/+/NtAXDQ==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + rolldown: 1.x || ^1.0.0-beta + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rolldown: + optional: true + rollup: + optional: true + rollup-plugin-visualizer@7.0.1: resolution: {integrity: sha512-UJUT4+1Ho4OcWmPYU3sYXgUqI8B8Ayfe06MX7y0qCJ1K8aGoKtR/NDd/2nZqM7ADkrzny+I99Ul7GgyoiVNAgg==} engines: {node: '>=22'} @@ -4869,6 +7329,9 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rope-sequence@1.3.4: + resolution: {integrity: sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==} + rtl-detect@1.1.2: resolution: {integrity: sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==} @@ -4879,6 +7342,10 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -5013,12 +7480,19 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + simple-git@3.36.0: + resolution: {integrity: sha512-cGQjLjK8bxJw4QuYT7gxHw3/IouVESbhahSsHrX97MzCL1gu2u7oy38W6L2ZIGECEfIBG4BabsWDPjBxJENv9Q==} + simple-plist@1.3.1: resolution: {integrity: sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==} simple-swizzle@0.2.4: resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} + sirv@3.0.2: + resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} + engines: {node: '>=18'} + sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -5068,6 +7542,10 @@ packages: resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} engines: {node: '>= 12'} + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + split-on-first@1.1.0: resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} engines: {node: '>=6'} @@ -5083,6 +7561,11 @@ packages: resolution: {integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==} engines: {node: '>= 0.6'} + srvx@0.11.15: + resolution: {integrity: sha512-iXsux0UcOjdvs0LCMa2Ws3WwcDUozA3JN3BquNXkaFPP7TpRqgunKdEgoZ/uwb1J6xaYHfxtz9Twlh6yzwM6Tg==} + engines: {node: '>=20.16.0'} + hasBin: true + stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -5155,6 +7638,17 @@ packages: resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} engines: {node: '>=12'} + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-comments-strings@1.2.0: + resolution: {integrity: sha512-zwF4bmnyEjZwRhaak9jUWNxc0DoeKBJ7lwSN/LEc8dQXZcUFG6auaaTQJokQWXopLdM3iTx01nQT8E4aL29DAQ==} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} @@ -5166,9 +7660,21 @@ packages: resolution: {integrity: sha512-aT2BU9KkizY9SATf14WhhYVv2uOapBWX0OFWF4xvcj1mPaNotlSc2CsxpS4DS46ZueSppmCF5BX1sNYBtwBvfw==} engines: {node: '>=12.*'} + structured-clone-es@1.0.0: + resolution: {integrity: sha512-FL8EeKFFyNQv5cMnXI31CIMCsFarSVI2bF0U0ImeNE3g/F1IvJQyqzOXxPBRXiwQfyBTlbNe88jh1jFW0O/jiQ==} + + structured-clone-es@2.0.0: + resolution: {integrity: sha512-5UuAHmBLXYPCl22xWJrFuGmIhBKQzxISPVz6E7nmTmTcAOpUzlbjKJsRrCE4vADmMQ0dzeCnlWn9XufnAGf76Q==} + structured-headers@0.4.1: resolution: {integrity: sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==} + stylehacks@7.0.11: + resolution: {integrity: sha512-iODNfhXVLqc5LADs+Y6Oh5wJuK5ZcHbVng8aiK3y9pjMQdc5hLrBW0eFU6FtnpNrE6PoEg/MmFTU4waotj5WNg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.5.13 + sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} @@ -5179,6 +7685,10 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true + superjson@2.2.6: + resolution: {integrity: sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==} + engines: {node: '>=16'} + supports-color@10.2.2: resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} engines: {node: '>=18'} @@ -5203,15 +7713,40 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + svgo@4.0.1: + resolution: {integrity: sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==} + engines: {node: '>=16'} + hasBin: true + tagged-tag@1.0.0: resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} engines: {node: '>=20'} + tailwind-merge@3.5.0: + resolution: {integrity: sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==} + + tailwind-variants@3.2.2: + resolution: {integrity: sha512-Mi4kHeMTLvKlM98XPnK+7HoBPmf4gygdFmqQPaDivc3DpYS6aIY6KiG/PgThrGvii5YZJqRsPz0aPyhoFzmZgg==} + engines: {node: '>=16.x', pnpm: '>=7.x'} + peerDependencies: + tailwind-merge: '>=3.0.0' + tailwindcss: '*' + peerDependenciesMeta: + tailwind-merge: + optional: true + tailwindcss@3.4.19: resolution: {integrity: sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==} engines: {node: '>=14.0.0'} hasBin: true + tailwindcss@4.2.4: + resolution: {integrity: sha512-HhKppgO81FQof5m6TEnuBWCZGgfRAWbaeOaGT00KOy/Pf/j6oUihdvBpA7ltCeAvZpFhW3j0PTclkxsd4IXYDA==} + + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + tar-stream@3.2.0: resolution: {integrity: sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==} @@ -5260,6 +7795,12 @@ packages: throat@5.0.0: resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} + tiny-inflate@1.0.3: + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -5270,6 +7811,10 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + tinyexec@1.1.2: + resolution: {integrity: sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==} + engines: {node: '>=18'} + tinyglobby@0.2.16: resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} engines: {node: '>=12.0.0'} @@ -5297,6 +7842,10 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -5322,6 +7871,9 @@ packages: resolution: {integrity: sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA==} engines: {node: '>=20'} + type-level-regexp@0.1.17: + resolution: {integrity: sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg==} + typescript@5.8.3: resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} engines: {node: '>=14.17'} @@ -5332,12 +7884,21 @@ packages: engines: {node: '>=14.17'} hasBin: true + ufo@1.6.1: + resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + ufo@1.6.4: resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} ultrahtml@1.6.0: resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} + unconfig-core@7.5.0: + resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==} + + unconfig@7.5.0: + resolution: {integrity: sha512-oi8Qy2JV4D3UQ0PsopR28CzdQ3S/5A1zwsUwp/rosSbfhJ5z7b90bIyTwi/F7hCLD4SGcZVjDzd4XoUQcEanvA==} + uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} @@ -5361,6 +7922,9 @@ packages: unenv@2.0.0-rc.24: resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} + unhead@2.1.13: + resolution: {integrity: sha512-jO9M1sI6b2h/1KpIu4Jeu+ptumLmUKboRRLxys5pYHFeT+lqTzfNHbYUX9bxVDhC1FBszAGuWcUVlmvIPsah8Q==} + unicode-canonical-property-names-ecmascript@2.0.1: resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} @@ -5377,10 +7941,21 @@ packages: resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} engines: {node: '>=4'} + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + unicorn-magic@0.4.0: resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} engines: {node: '>=20'} + unifont@0.7.4: + resolution: {integrity: sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==} + + unimport@5.7.0: + resolution: {integrity: sha512-njnL6sp8lEA8QQbZrt+52p/g4X0rw3bnGGmUcJnt1jeG8+iiqO779aGz0PirCtydAIVcuTBRlJ52F0u46z309Q==} + engines: {node: '>=18.12.0'} + unimport@6.2.0: resolution: {integrity: sha512-4NcqaphAHQff4eBWQ3pjVOCYNLlmVGGMoLDmboobh8+OQe9yP7UyeoMP043M1bG0YNc3CqtukD2VuINxOqm4rQ==} engines: {node: '>=18.12.0'} @@ -5398,10 +7973,46 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} + unplugin-auto-import@21.0.0: + resolution: {integrity: sha512-vWuC8SwqJmxZFYwPojhOhOXDb5xFhNNcEVb9K/RFkyk/3VnfaOjzitWN7v+8DEKpMjSsY2AEGXNgt6I0yQrhRQ==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@nuxt/kit': ^4.0.0 + '@vueuse/core': '*' + peerDependenciesMeta: + '@nuxt/kit': + optional: true + '@vueuse/core': + optional: true + + unplugin-utils@0.2.5: + resolution: {integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==} + engines: {node: '>=18.12.0'} + unplugin-utils@0.3.1: resolution: {integrity: sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==} engines: {node: '>=20.19.0'} + unplugin-vue-components@32.0.0: + resolution: {integrity: sha512-uLdccgS7mf3pv1bCCP20y/hm+u1eOjAmygVkh+Oa70MPkzgl1eQv1L0CwdHNM3gscO8/GDMGIET98Ja47CBbZg==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@nuxt/kit': ^3.2.2 || ^4.0.0 + vue: ^3.0.0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + + unplugin-vue-router@0.15.0: + resolution: {integrity: sha512-PyGehCjd9Ny9h+Uer4McbBjjib3lHihcyUEILa7pHKl6+rh8N7sFyw4ZkV+N30Oq2zmIUG7iKs3qpL0r+gXAaQ==} + deprecated: 'Merged into vuejs/router. Migrate: https://router.vuejs.org/guide/migration/v4-to-v5.html' + peerDependencies: + '@vue/compiler-sfc': ^3.5.17 + vue-router: ^4.5.1 + peerDependenciesMeta: + vue-router: + optional: true + unplugin@2.3.11: resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==} engines: {node: '>=18.12.0'} @@ -5544,11 +8155,95 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} + vaul-vue@0.4.1: + resolution: {integrity: sha512-A6jOWOZX5yvyo1qMn7IveoWN91mJI5L3BUKsIwkg6qrTGgHs1Sb1JF/vyLJgnbN1rH4OOOxFbtqL9A46bOyGUQ==} + peerDependencies: + reka-ui: ^2.0.0 + vue: ^3.3.0 + + vite-dev-rpc@1.1.0: + resolution: {integrity: sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0 + + vite-hot-client@2.2.0: + resolution: {integrity: sha512-76Zs9zrHbH7M7wqeyooGQKdX+yg0pQ0xuQ1PbFp4z5a0Lzn2e5IPFoCswnmqZ4GiwqB4Jo3WcDAMO9jARTJl8w==} + peerDependencies: + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 || ^8.0.0 + vite-node@2.1.9: resolution: {integrity: sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true + vite-node@3.2.4: + resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + + vite-plugin-checker@0.11.0: + resolution: {integrity: sha512-iUdO9Pl9UIBRPAragwi3as/BXXTtRu4G12L3CMrjx+WVTd9g/MsqNakreib9M/2YRVkhZYiTEwdH2j4Dm0w7lw==} + engines: {node: '>=16.11'} + peerDependencies: + '@biomejs/biome': '>=1.7' + eslint: '>=7' + meow: ^13.2.0 + optionator: ^0.9.4 + oxlint: '>=1' + stylelint: '>=16' + typescript: '*' + vite: '>=5.4.20' + vls: '*' + vti: '*' + vue-tsc: ~2.2.10 || ^3.0.0 + peerDependenciesMeta: + '@biomejs/biome': + optional: true + eslint: + optional: true + meow: + optional: true + optionator: + optional: true + oxlint: + optional: true + stylelint: + optional: true + typescript: + optional: true + vls: + optional: true + vti: + optional: true + vue-tsc: + optional: true + + vite-plugin-inspect@11.3.3: + resolution: {integrity: sha512-u2eV5La99oHoYPHE6UvbwgEqKKOQGz86wMg40CCosP6q8BkB6e5xPneZfYagK4ojPJSj5anHCrnvC20DpwVdRA==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^6.0.0 || ^7.0.0-0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + + vite-plugin-inspect@12.0.0-beta.1: + resolution: {integrity: sha512-ang8DMcQxr2MJRjdvwabkD0uOPFB5/fP4hldZvAqCl82SABXK1zYLyZKGrauCblR61cvDUavxyiHbtD4zTdw0A==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^8.0.0-0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + + vite-plugin-vue-tracer@1.3.0: + resolution: {integrity: sha512-Cgfce6VikzOw5MUJTpeg50s5rRjzU1Vr61ZjuHunVVHLjZZ5AUlgyExHthZ3r59vtoz9W2rDt23FYG81avYBKw==} + peerDependencies: + vite: ^6.0.0 || ^7.0.0 + vue: ^3.5.0 + vite@5.4.21: resolution: {integrity: sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -5580,6 +8275,46 @@ packages: terser: optional: true + vite@7.3.3: + resolution: {integrity: sha512-/4XH147Ui7OGTjg3HbdWe5arnZQSbfuRzdr9Ec7TQi5I7R+ir0Rlc9GIvD4v0XZurELqA035KVXJXpR61xhiTA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + vitest@2.1.9: resolution: {integrity: sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==} engines: {node: ^18.0.0 || >=20.0.0} @@ -5612,6 +8347,50 @@ packages: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} + vscode-uri@3.1.0: + resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} + + vue-bundle-renderer@2.2.0: + resolution: {integrity: sha512-sz/0WEdYH1KfaOm0XaBmRZOWgYTEvUDt6yPYaUzl4E52qzgWLlknaPPTTZmp6benaPTlQAI/hN1x3tAzZygycg==} + + vue-component-type-helpers@3.2.8: + resolution: {integrity: sha512-9689efAXhN/EV86plgkL/XFiJSXhGtWPG6JDboZ+QnjlUWUUQrQ0ILKQtw4iQsuwIwu5k6Aw+JnehDe7161e7A==} + + vue-demi@0.14.10: + resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + vue-devtools-stub@0.1.0: + resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} + + vue-router@4.6.4: + resolution: {integrity: sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==} + peerDependencies: + vue: ^3.5.0 + + vue-virtual-scroller@3.0.3: + resolution: {integrity: sha512-nLWjtpPf/GyvIEEIWAuzevmTlC/aVf0yOcNkXDTUxZWyshsK6B6vc8R8wo9Nb8bpjy7wbi1zPMhzTKwUvWHQmg==} + peerDependencies: + vue: ^3.3.0 + + vue@3.5.34: + resolution: {integrity: sha512-WdLBG9gm02OgJIG9axd5Hpx0TFLdzVgfG2evFFu8Rur5O/IoGc5cMjnjh3tPL6GnRGsYvUhBSKVPYVcxRKpMCA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + w3c-keyname@2.2.8: + resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} @@ -5645,6 +8424,10 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + wheel-gestures@2.2.48: + resolution: {integrity: sha512-f+Gy33Oa5Z14XY9679Zze+7VFhbsQfBFXodnU2x589l4kxGM9L5Y8zETTmcMR5pWOPQyRv4Z0lNax6xCO0NSlA==} + engines: {node: '>=18'} + which-typed-array@1.1.20: resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} engines: {node: '>= 0.4'} @@ -5654,6 +8437,16 @@ packages: engines: {node: '>= 8'} hasBin: true + which@5.0.0: + resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==} + engines: {node: ^18.17.0 || >=20.5.0} + hasBin: true + + which@6.0.1: + resolution: {integrity: sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + why-is-node-running@2.3.0: resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} @@ -5681,6 +8474,14 @@ packages: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + write-yaml-file@5.0.0: + resolution: {integrity: sha512-FdNA4RyH1L43TlvGG8qOMIfcEczwA5ij+zLXUy3Z83CjxhLvcV7/Q/8pk22wnCgYw7PJhtK+7lhO+qqyT4NdvQ==} + engines: {node: '>=16.14'} + ws@6.2.3: resolution: {integrity: sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==} peerDependencies: @@ -5716,6 +8517,10 @@ packages: utf-8-validate: optional: true + wsl-utils@0.1.0: + resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} + engines: {node: '>=18'} + wsl-utils@0.3.1: resolution: {integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==} engines: {node: '>=20'} @@ -5740,6 +8545,12 @@ packages: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} + y-protocols@1.0.7: + resolution: {integrity: sha512-YSVsLoXxO67J6eE/nV4AtFtT3QEotZf5sK5BHxFBXso7VDUT3Tx07IfA6hsu5Q5OmBdMkQVmFZ9QOA7fikWvnw==} + engines: {node: '>=16.0.0', npm: '>=8.0.0'} + peerDependencies: + yjs: ^13.0.0 + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -5751,6 +8562,11 @@ packages: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} + yaml@2.8.4: + resolution: {integrity: sha512-ml/JPOj9fOQK8RNnWojA67GbZ0ApXAUlN2UQclwv2eVgTgn7O9gg9o7paZWKMp4g0H3nTLtS9LVzhkpOFIKzog==} + engines: {node: '>= 14.6'} + hasBin: true + yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -5767,10 +8583,18 @@ packages: resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} engines: {node: ^20.19.0 || ^22.12.0 || >=23} + yjs@13.6.30: + resolution: {integrity: sha512-vv/9h42eCMC81ZHDFswuu/MKzkl/vyq1BhaNGfHyOonwlG4CJbQF4oiBBJPvfdeCt/PlVDWh7Nov9D34YY09uQ==} + engines: {node: '>=16.0.0', npm: '>=8.0.0'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + yocto-queue@1.2.2: + resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} + engines: {node: '>=12.20'} + youch-core@0.3.3: resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} @@ -5816,6 +8640,13 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.6.0 + tinyexec: 1.1.2 + + '@antfu/utils@8.1.1': {} + '@babel/code-frame@7.10.4': dependencies: '@babel/highlight': 7.25.9 @@ -6420,8 +9251,31 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} + '@bomb.sh/tab@0.0.14(cac@6.7.14)(citty@0.2.2)': + optionalDependencies: + cac: 6.7.14 + citty: 0.2.2 + + '@capsizecss/unpack@4.0.0': + dependencies: + fontkitten: 1.0.3 + + '@clack/core@1.3.0': + dependencies: + fast-wrap-ansi: 0.2.0 + sisteransi: 1.0.5 + + '@clack/prompts@1.3.0': + dependencies: + '@clack/core': 1.3.0 + fast-string-width: 3.0.2 + fast-wrap-ansi: 0.2.0 + sisteransi: 1.0.5 + '@cloudflare/kv-asset-handler@0.4.2': {} + '@colordx/core@5.4.3': {} + '@egjs/hammerjs@2.0.17': dependencies: '@types/hammerjs': 2.0.46 @@ -6436,150 +9290,322 @@ snapshots: '@electric-sql/pglite@0.4.1': {} + '@emnapi/core@1.9.2': + dependencies: + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.9.2': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.2.1': + dependencies: + tslib: 2.8.1 + optional: true + '@esbuild/aix-ppc64@0.21.5': optional: true + '@esbuild/aix-ppc64@0.25.12': + optional: true + + '@esbuild/aix-ppc64@0.27.7': + optional: true + '@esbuild/aix-ppc64@0.28.0': optional: true '@esbuild/android-arm64@0.21.5': optional: true + '@esbuild/android-arm64@0.25.12': + optional: true + + '@esbuild/android-arm64@0.27.7': + optional: true + '@esbuild/android-arm64@0.28.0': optional: true '@esbuild/android-arm@0.21.5': optional: true + '@esbuild/android-arm@0.25.12': + optional: true + + '@esbuild/android-arm@0.27.7': + optional: true + '@esbuild/android-arm@0.28.0': optional: true '@esbuild/android-x64@0.21.5': optional: true + '@esbuild/android-x64@0.25.12': + optional: true + + '@esbuild/android-x64@0.27.7': + optional: true + '@esbuild/android-x64@0.28.0': optional: true '@esbuild/darwin-arm64@0.21.5': optional: true + '@esbuild/darwin-arm64@0.25.12': + optional: true + + '@esbuild/darwin-arm64@0.27.7': + optional: true + '@esbuild/darwin-arm64@0.28.0': optional: true '@esbuild/darwin-x64@0.21.5': optional: true + '@esbuild/darwin-x64@0.25.12': + optional: true + + '@esbuild/darwin-x64@0.27.7': + optional: true + '@esbuild/darwin-x64@0.28.0': optional: true '@esbuild/freebsd-arm64@0.21.5': optional: true + '@esbuild/freebsd-arm64@0.25.12': + optional: true + + '@esbuild/freebsd-arm64@0.27.7': + optional: true + '@esbuild/freebsd-arm64@0.28.0': optional: true '@esbuild/freebsd-x64@0.21.5': optional: true + '@esbuild/freebsd-x64@0.25.12': + optional: true + + '@esbuild/freebsd-x64@0.27.7': + optional: true + '@esbuild/freebsd-x64@0.28.0': optional: true '@esbuild/linux-arm64@0.21.5': optional: true + '@esbuild/linux-arm64@0.25.12': + optional: true + + '@esbuild/linux-arm64@0.27.7': + optional: true + '@esbuild/linux-arm64@0.28.0': optional: true '@esbuild/linux-arm@0.21.5': optional: true + '@esbuild/linux-arm@0.25.12': + optional: true + + '@esbuild/linux-arm@0.27.7': + optional: true + '@esbuild/linux-arm@0.28.0': optional: true '@esbuild/linux-ia32@0.21.5': optional: true + '@esbuild/linux-ia32@0.25.12': + optional: true + + '@esbuild/linux-ia32@0.27.7': + optional: true + '@esbuild/linux-ia32@0.28.0': optional: true '@esbuild/linux-loong64@0.21.5': optional: true + '@esbuild/linux-loong64@0.25.12': + optional: true + + '@esbuild/linux-loong64@0.27.7': + optional: true + '@esbuild/linux-loong64@0.28.0': optional: true '@esbuild/linux-mips64el@0.21.5': optional: true + '@esbuild/linux-mips64el@0.25.12': + optional: true + + '@esbuild/linux-mips64el@0.27.7': + optional: true + '@esbuild/linux-mips64el@0.28.0': optional: true '@esbuild/linux-ppc64@0.21.5': optional: true + '@esbuild/linux-ppc64@0.25.12': + optional: true + + '@esbuild/linux-ppc64@0.27.7': + optional: true + '@esbuild/linux-ppc64@0.28.0': optional: true '@esbuild/linux-riscv64@0.21.5': optional: true + '@esbuild/linux-riscv64@0.25.12': + optional: true + + '@esbuild/linux-riscv64@0.27.7': + optional: true + '@esbuild/linux-riscv64@0.28.0': optional: true '@esbuild/linux-s390x@0.21.5': optional: true + '@esbuild/linux-s390x@0.25.12': + optional: true + + '@esbuild/linux-s390x@0.27.7': + optional: true + '@esbuild/linux-s390x@0.28.0': optional: true '@esbuild/linux-x64@0.21.5': optional: true + '@esbuild/linux-x64@0.25.12': + optional: true + + '@esbuild/linux-x64@0.27.7': + optional: true + '@esbuild/linux-x64@0.28.0': optional: true + '@esbuild/netbsd-arm64@0.25.12': + optional: true + + '@esbuild/netbsd-arm64@0.27.7': + optional: true + '@esbuild/netbsd-arm64@0.28.0': optional: true '@esbuild/netbsd-x64@0.21.5': optional: true + '@esbuild/netbsd-x64@0.25.12': + optional: true + + '@esbuild/netbsd-x64@0.27.7': + optional: true + '@esbuild/netbsd-x64@0.28.0': optional: true + '@esbuild/openbsd-arm64@0.25.12': + optional: true + + '@esbuild/openbsd-arm64@0.27.7': + optional: true + '@esbuild/openbsd-arm64@0.28.0': optional: true '@esbuild/openbsd-x64@0.21.5': optional: true + '@esbuild/openbsd-x64@0.25.12': + optional: true + + '@esbuild/openbsd-x64@0.27.7': + optional: true + '@esbuild/openbsd-x64@0.28.0': optional: true + '@esbuild/openharmony-arm64@0.25.12': + optional: true + + '@esbuild/openharmony-arm64@0.27.7': + optional: true + '@esbuild/openharmony-arm64@0.28.0': optional: true '@esbuild/sunos-x64@0.21.5': optional: true + '@esbuild/sunos-x64@0.25.12': + optional: true + + '@esbuild/sunos-x64@0.27.7': + optional: true + '@esbuild/sunos-x64@0.28.0': optional: true '@esbuild/win32-arm64@0.21.5': optional: true + '@esbuild/win32-arm64@0.25.12': + optional: true + + '@esbuild/win32-arm64@0.27.7': + optional: true + '@esbuild/win32-arm64@0.28.0': optional: true '@esbuild/win32-ia32@0.21.5': optional: true + '@esbuild/win32-ia32@0.25.12': + optional: true + + '@esbuild/win32-ia32@0.27.7': + optional: true + '@esbuild/win32-ia32@0.28.0': optional: true '@esbuild/win32-x64@0.21.5': optional: true + '@esbuild/win32-x64@0.25.12': + optional: true + + '@esbuild/win32-x64@0.27.7': + optional: true + '@esbuild/win32-x64@0.28.0': optional: true @@ -6816,6 +9842,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@expo/react-native-action-sheet@4.1.1(@types/react@19.0.14)(react@19.0.0)': + dependencies: + '@types/hoist-non-react-statics': 3.3.7(@types/react@19.0.14) + hoist-non-react-statics: 3.3.2 + react: 19.0.0 + transitivePeerDependencies: + - '@types/react' + '@expo/schema-utils@0.1.8': {} '@expo/sdk-runtime-versions@1.0.0': {} @@ -6855,12 +9889,76 @@ snapshots: chalk: 4.1.2 js-yaml: 4.1.1 + '@floating-ui/core@1.7.5': + dependencies: + '@floating-ui/utils': 0.2.11 + + '@floating-ui/dom@1.7.6': + dependencies: + '@floating-ui/core': 1.7.5 + '@floating-ui/utils': 0.2.11 + + '@floating-ui/utils@0.2.11': {} + + '@floating-ui/vue@1.1.11(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@floating-ui/dom': 1.7.6 + '@floating-ui/utils': 0.2.11 + vue-demi: 0.14.10(vue@3.5.34(typescript@5.9.3)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@gwhitney/detect-indent@7.0.1': {} + '@hono/node-server@1.19.11(hono@4.12.17)': dependencies: hono: 4.12.17 + '@iconify-json/heroicons@1.2.3': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/collections@1.0.680': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/types@2.0.0': {} + + '@iconify/utils@2.3.0': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@antfu/utils': 8.1.1 + '@iconify/types': 2.0.0 + debug: 4.4.3 + globals: 15.15.0 + kolorist: 1.8.0 + local-pkg: 1.1.2 + mlly: 1.8.2 + transitivePeerDependencies: + - supports-color + + '@iconify/utils@3.1.3': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@iconify/types': 2.0.0 + import-meta-resolve: 4.2.0 + + '@iconify/vue@5.0.1(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@iconify/types': 2.0.0 + vue: 3.5.34(typescript@5.9.3) + '@ide/backoff@1.0.0': {} + '@internationalized/date@3.12.1': + dependencies: + '@swc/helpers': 0.5.21 + + '@internationalized/number@3.6.6': + dependencies: + '@swc/helpers': 0.5.21 + '@ioredis/commands@1.5.1': {} '@isaacs/cliui@8.0.2': @@ -6967,6 +10065,23 @@ snapshots: '@kurkle/color@0.3.4': {} + '@kwsites/file-exists@1.1.1': + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@kwsites/promise-deferred@1.1.1': {} + + '@lodev09/react-native-true-sheet@3.10.1(@react-navigation/native@7.2.2(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-reanimated@4.0.3(@babel/core@7.29.0)(react-native-worklets@0.4.2(@babel/core@7.29.0)(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-worklets@0.4.2(@babel/core@7.29.0)(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': + dependencies: + react: 19.0.0 + react-native: 0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0) + optionalDependencies: + '@react-navigation/native': 7.2.2(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native-reanimated: 4.0.3(@babel/core@7.29.0)(react-native-worklets@0.4.2(@babel/core@7.29.0)(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + react-native-worklets: 0.4.2(@babel/core@7.29.0)(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) + '@mapbox/node-pre-gyp@2.0.3': dependencies: consola: 3.4.2 @@ -6980,6 +10095,13 @@ snapshots: - encoding - supports-color + '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + dependencies: + '@emnapi/core': 1.9.2 + '@emnapi/runtime': 1.9.2 + '@tybys/wasm-util': 0.10.2 + optional: true + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -6992,6 +10114,812 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 + '@nuxt/cli@3.35.1(@nuxt/schema@4.1.3)(cac@6.7.14)(magicast@0.5.2)': + dependencies: + '@bomb.sh/tab': 0.0.14(cac@6.7.14)(citty@0.2.2) + '@clack/prompts': 1.3.0 + c12: 3.3.4(magicast@0.5.2) + citty: 0.2.2 + confbox: 0.2.4 + consola: 3.4.2 + debug: 4.4.3 + defu: 6.1.7 + exsolve: 1.0.8 + fuse.js: 7.3.0 + fzf: 0.5.2 + giget: 3.2.0 + jiti: 2.7.0 + listhen: 1.10.0 + nypm: 0.6.6 + ofetch: 1.5.1 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.1 + scule: 1.3.0 + semver: 7.7.4 + srvx: 0.11.15 + std-env: 4.1.0 + tinyclip: 0.1.12 + tinyexec: 1.1.2 + ufo: 1.6.4 + youch: 4.1.1 + optionalDependencies: + '@nuxt/schema': 4.1.3 + transitivePeerDependencies: + - cac + - commander + - magicast + - supports-color + + '@nuxt/devalue@2.0.2': {} + + '@nuxt/devtools-kit@2.7.0(magicast@0.3.5)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))': + dependencies: + '@nuxt/kit': 3.21.4(magicast@0.3.5) + execa: 8.0.1 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + transitivePeerDependencies: + - magicast + + '@nuxt/devtools-kit@2.7.0(magicast@0.5.2)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))': + dependencies: + '@nuxt/kit': 3.21.4(magicast@0.5.2) + execa: 8.0.1 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + transitivePeerDependencies: + - magicast + + '@nuxt/devtools-kit@3.2.4(magicast@0.5.2)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))': + dependencies: + '@nuxt/kit': 4.4.4(magicast@0.5.2) + execa: 8.0.1 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + transitivePeerDependencies: + - magicast + + '@nuxt/devtools-kit@4.0.0-alpha.4(magicast@0.5.2)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))': + dependencies: + '@nuxt/kit': 4.4.4(magicast@0.5.2) + tinyexec: 1.1.2 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + transitivePeerDependencies: + - magicast + + '@nuxt/devtools-wizard@2.7.0': + dependencies: + consola: 3.4.2 + diff: 8.0.4 + execa: 8.0.1 + magicast: 0.3.5 + pathe: 2.0.3 + pkg-types: 2.3.1 + prompts: 2.4.2 + semver: 7.7.4 + + '@nuxt/devtools@2.7.0(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@nuxt/devtools-kit': 2.7.0(magicast@0.3.5)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + '@nuxt/devtools-wizard': 2.7.0 + '@nuxt/kit': 3.21.4(magicast@0.3.5) + '@vue/devtools-core': 7.7.9(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3)) + '@vue/devtools-kit': 7.7.9 + birpc: 2.9.0 + consola: 3.4.2 + destr: 2.0.5 + error-stack-parser-es: 1.0.5 + execa: 8.0.1 + fast-npm-meta: 0.4.8 + get-port-please: 3.2.0 + hookable: 5.5.3 + image-meta: 0.2.2 + is-installed-globally: 1.0.0 + launch-editor: 2.13.2 + local-pkg: 1.1.2 + magicast: 0.3.5 + nypm: 0.6.6 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 1.0.0 + pkg-types: 2.3.1 + semver: 7.7.4 + simple-git: 3.36.0 + sirv: 3.0.2 + structured-clone-es: 1.0.0 + tinyglobby: 0.2.16 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + vite-plugin-inspect: 11.3.3(@nuxt/kit@3.21.4(magicast@0.3.5))(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + vite-plugin-vue-tracer: 1.3.0(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3)) + which: 5.0.0 + ws: 8.20.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + - vue + + '@nuxt/devtools@4.0.0-alpha.4(@pnpm/logger@1001.0.1)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@nuxt/devtools-kit': 4.0.0-alpha.4(magicast@0.5.2)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@vitejs/devtools': 0.1.21(@pnpm/logger@1001.0.1)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + '@vitejs/devtools-kit': 0.1.21(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + '@vue/devtools-core': 8.1.2(vue@3.5.34(typescript@5.9.3)) + '@vue/devtools-kit': 8.1.2 + birpc: 4.0.0 + consola: 3.4.2 + destr: 2.0.5 + error-stack-parser-es: 1.0.5 + fast-npm-meta: 1.5.1 + get-port-please: 3.2.0 + hookable: 6.1.1 + image-meta: 0.2.2 + launch-editor: 2.13.2 + local-pkg: 1.1.2 + magicast: 0.5.2 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.1 + semver: 7.7.4 + sirv: 3.0.2 + structured-clone-es: 2.0.0 + tinyexec: 1.1.2 + tinyglobby: 0.2.16 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + vite-plugin-inspect: 12.0.0-beta.1(@nuxt/kit@4.4.4(magicast@0.5.2))(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + vite-plugin-vue-tracer: 1.3.0(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3)) + which: 6.0.1 + ws: 8.20.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@modelcontextprotocol/sdk' + - '@netlify/blobs' + - '@planetscale/database' + - '@pnpm/logger' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - idb-keyval + - ioredis + - typescript + - uploadthing + - utf-8-validate + - vue + + '@nuxt/fonts@0.14.0(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(magicast@0.5.2)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))': + dependencies: + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + '@nuxt/kit': 4.4.4(magicast@0.5.2) + consola: 3.4.2 + defu: 6.1.7 + fontless: 0.2.1(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + h3: 1.15.11 + magic-regexp: 0.10.0 + ofetch: 1.5.1 + pathe: 2.0.3 + sirv: 3.0.2 + tinyglobby: 0.2.16 + ufo: 1.6.4 + unifont: 0.7.4 + unplugin: 3.0.0 + unstorage: 1.17.5(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - db0 + - idb-keyval + - ioredis + - magicast + - uploadthing + - vite + + '@nuxt/icon@1.15.0(magicast@0.5.2)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@iconify/collections': 1.0.680 + '@iconify/types': 2.0.0 + '@iconify/utils': 2.3.0 + '@iconify/vue': 5.0.1(vue@3.5.34(typescript@5.9.3)) + '@nuxt/devtools-kit': 2.7.0(magicast@0.5.2)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + '@nuxt/kit': 3.21.4(magicast@0.5.2) + consola: 3.4.2 + local-pkg: 1.1.2 + mlly: 1.8.2 + ohash: 2.0.11 + pathe: 2.0.3 + picomatch: 4.0.4 + std-env: 3.10.0 + tinyglobby: 0.2.16 + transitivePeerDependencies: + - magicast + - supports-color + - vite + - vue + + '@nuxt/icon@2.2.2(magicast@0.5.2)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@iconify/collections': 1.0.680 + '@iconify/types': 2.0.0 + '@iconify/utils': 3.1.3 + '@iconify/vue': 5.0.1(vue@3.5.34(typescript@5.9.3)) + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + '@nuxt/kit': 4.4.4(magicast@0.5.2) + consola: 3.4.2 + local-pkg: 1.1.2 + mlly: 1.8.2 + ohash: 2.0.11 + pathe: 2.0.3 + picomatch: 4.0.4 + std-env: 4.1.0 + tinyglobby: 0.2.16 + transitivePeerDependencies: + - magicast + - vite + - vue + + '@nuxt/kit@3.21.4(magicast@0.3.5)': + dependencies: + c12: 3.3.4(magicast@0.3.5) + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + errx: 0.1.0 + exsolve: 1.0.8 + ignore: 7.0.5 + jiti: 2.7.0 + klona: 2.0.6 + knitwork: 1.3.0 + mlly: 1.8.2 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.1 + rc9: 3.0.1 + scule: 1.3.0 + semver: 7.7.4 + tinyglobby: 0.2.16 + ufo: 1.6.4 + unctx: 2.5.0 + untyped: 2.0.0 + transitivePeerDependencies: + - magicast + + '@nuxt/kit@3.21.4(magicast@0.5.2)': + dependencies: + c12: 3.3.4(magicast@0.5.2) + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + errx: 0.1.0 + exsolve: 1.0.8 + ignore: 7.0.5 + jiti: 2.7.0 + klona: 2.0.6 + knitwork: 1.3.0 + mlly: 1.8.2 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.1 + rc9: 3.0.1 + scule: 1.3.0 + semver: 7.7.4 + tinyglobby: 0.2.16 + ufo: 1.6.4 + unctx: 2.5.0 + untyped: 2.0.0 + transitivePeerDependencies: + - magicast + + '@nuxt/kit@4.1.3(magicast@0.5.2)': + dependencies: + c12: 3.3.4(magicast@0.5.2) + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + errx: 0.1.0 + exsolve: 1.0.8 + ignore: 7.0.5 + jiti: 2.7.0 + klona: 2.0.6 + mlly: 1.8.2 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.1 + rc9: 2.1.2 + scule: 1.3.0 + semver: 7.7.4 + std-env: 3.10.0 + tinyglobby: 0.2.16 + ufo: 1.6.4 + unctx: 2.5.0 + unimport: 5.7.0 + untyped: 2.0.0 + transitivePeerDependencies: + - magicast + + '@nuxt/kit@4.4.4(magicast@0.5.2)': + dependencies: + c12: 3.3.4(magicast@0.5.2) + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + errx: 0.1.0 + exsolve: 1.0.8 + ignore: 7.0.5 + jiti: 2.7.0 + klona: 2.0.6 + mlly: 1.8.2 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.1 + rc9: 3.0.1 + scule: 1.3.0 + semver: 7.7.4 + tinyglobby: 0.2.16 + ufo: 1.6.4 + unctx: 2.5.0 + untyped: 2.0.0 + transitivePeerDependencies: + - magicast + + '@nuxt/schema@4.1.3': + dependencies: + '@vue/shared': 3.5.34 + consola: 3.4.2 + defu: 6.1.7 + pathe: 2.0.3 + pkg-types: 2.3.1 + std-env: 3.10.0 + ufo: 1.6.1 + + '@nuxt/schema@4.4.4': + dependencies: + '@vue/shared': 3.5.34 + defu: 6.1.7 + pathe: 2.0.3 + pkg-types: 2.3.1 + std-env: 4.1.0 + + '@nuxt/telemetry@2.8.0(@nuxt/kit@4.1.3(magicast@0.5.2))': + dependencies: + '@nuxt/kit': 4.1.3(magicast@0.5.2) + citty: 0.2.2 + consola: 3.4.2 + ofetch: 2.0.0-alpha.3 + rc9: 3.0.1 + std-env: 4.1.0 + + '@nuxt/ui@4.7.1(@internationalized/date@3.12.1)(@internationalized/number@3.6.6)(@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(embla-carousel@8.6.0)(ioredis@5.10.1)(magicast@0.5.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.2.4)(typescript@5.9.3)(valibot@1.4.0(typescript@5.9.3))(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue-router@4.6.4(vue@3.5.34(typescript@5.9.3)))(vue@3.5.34(typescript@5.9.3))(yjs@13.6.30)(zod@3.25.76)': + dependencies: + '@floating-ui/dom': 1.7.6 + '@iconify/vue': 5.0.1(vue@3.5.34(typescript@5.9.3)) + '@nuxt/fonts': 0.14.0(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(magicast@0.5.2)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + '@nuxt/icon': 2.2.2(magicast@0.5.2)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3)) + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@nuxt/schema': 4.4.4 + '@nuxtjs/color-mode': 3.5.2(magicast@0.5.2) + '@standard-schema/spec': 1.1.0 + '@tailwindcss/postcss': 4.2.4 + '@tailwindcss/vite': 4.2.4(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + '@tanstack/vue-table': 8.21.3(vue@3.5.34(typescript@5.9.3)) + '@tanstack/vue-virtual': 3.13.24(vue@3.5.34(typescript@5.9.3)) + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/extension-bubble-menu': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/extension-code': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-collaboration': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30) + '@tiptap/extension-drag-handle': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/extension-collaboration@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30))(@tiptap/extension-node-range@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30)) + '@tiptap/extension-drag-handle-vue-3': 3.23.1(@tiptap/extension-drag-handle@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/extension-collaboration@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30))(@tiptap/extension-node-range@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30)))(@tiptap/pm@3.23.1)(@tiptap/vue-3@3.23.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(vue@3.5.34(typescript@5.9.3)))(vue@3.5.34(typescript@5.9.3)) + '@tiptap/extension-floating-menu': 3.23.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/extension-horizontal-rule': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/extension-image': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-mention': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@tiptap/suggestion@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) + '@tiptap/extension-node-range': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/extension-placeholder': 3.23.1(@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) + '@tiptap/markdown': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + '@tiptap/starter-kit': 3.23.1 + '@tiptap/suggestion': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/vue-3': 3.23.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(vue@3.5.34(typescript@5.9.3)) + '@unhead/vue': 2.1.13(vue@3.5.34(typescript@5.9.3)) + '@vueuse/core': 14.3.0(vue@3.5.34(typescript@5.9.3)) + '@vueuse/integrations': 14.3.0(fuse.js@7.3.0)(vue@3.5.34(typescript@5.9.3)) + '@vueuse/shared': 14.3.0(vue@3.5.34(typescript@5.9.3)) + colortranslator: 5.0.0 + consola: 3.4.2 + defu: 6.1.7 + embla-carousel-auto-height: 8.6.0(embla-carousel@8.6.0) + embla-carousel-auto-scroll: 8.6.0(embla-carousel@8.6.0) + embla-carousel-autoplay: 8.6.0(embla-carousel@8.6.0) + embla-carousel-class-names: 8.6.0(embla-carousel@8.6.0) + embla-carousel-fade: 8.6.0(embla-carousel@8.6.0) + embla-carousel-vue: 8.6.0(vue@3.5.34(typescript@5.9.3)) + embla-carousel-wheel-gestures: 8.1.0(embla-carousel@8.6.0) + fuse.js: 7.3.0 + hookable: 6.1.1 + knitwork: 1.3.0 + magic-string: 0.30.21 + mlly: 1.8.2 + motion-v: 2.2.1(@vueuse/core@14.3.0(vue@3.5.34(typescript@5.9.3)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(vue@3.5.34(typescript@5.9.3)) + ohash: 2.0.11 + pathe: 2.0.3 + reka-ui: 2.9.6(vue@3.5.34(typescript@5.9.3)) + scule: 1.3.0 + tailwind-merge: 3.5.0 + tailwind-variants: 3.2.2(tailwind-merge@3.5.0)(tailwindcss@4.2.4) + tailwindcss: 4.2.4 + tinyglobby: 0.2.16 + typescript: 5.9.3 + ufo: 1.6.4 + unplugin: 3.0.0 + unplugin-auto-import: 21.0.0(@nuxt/kit@4.4.4(magicast@0.5.2))(@vueuse/core@14.3.0(vue@3.5.34(typescript@5.9.3))) + unplugin-vue-components: 32.0.0(@nuxt/kit@4.4.4(magicast@0.5.2))(vue@3.5.34(typescript@5.9.3)) + vaul-vue: 0.4.1(reka-ui@2.9.6(vue@3.5.34(typescript@5.9.3)))(vue@3.5.34(typescript@5.9.3)) + vue-component-type-helpers: 3.2.8 + optionalDependencies: + '@internationalized/date': 3.12.1 + '@internationalized/number': 3.6.6 + valibot: 1.4.0(typescript@5.9.3) + vue-router: 4.6.4(vue@3.5.34(typescript@5.9.3)) + zod: 3.25.76 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@emotion/is-prop-valid' + - '@netlify/blobs' + - '@planetscale/database' + - '@tiptap/extensions' + - '@tiptap/y-tiptap' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - '@vue/composition-api' + - async-validator + - aws4fetch + - axios + - change-case + - db0 + - drauu + - embla-carousel + - focus-trap + - idb-keyval + - ioredis + - jwt-decode + - magicast + - nprogress + - qrcode + - react + - react-dom + - sortablejs + - universal-cookie + - uploadthing + - vite + - vue + - yjs + + '@nuxt/vite-builder@4.1.3(@types/node@22.19.17)(lightningcss@1.32.0)(magicast@0.5.2)(rollup@4.60.3)(terser@5.46.2)(typescript@5.9.3)(vue@3.5.34(typescript@5.9.3))(yaml@2.8.4)': + dependencies: + '@nuxt/kit': 4.1.3(magicast@0.5.2) + '@rollup/plugin-replace': 6.0.3(rollup@4.60.3) + '@vitejs/plugin-vue': 6.0.6(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3)) + '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3)) + autoprefixer: 10.5.0(postcss@8.5.14) + consola: 3.4.2 + cssnano: 7.1.9(postcss@8.5.14) + defu: 6.1.7 + esbuild: 0.25.12 + escape-string-regexp: 5.0.0 + exsolve: 1.0.8 + get-port-please: 3.2.0 + h3: 1.15.11 + jiti: 2.7.0 + knitwork: 1.3.0 + magic-string: 0.30.21 + mlly: 1.8.2 + mocked-exports: 0.1.1 + pathe: 2.0.3 + pkg-types: 2.3.1 + postcss: 8.5.14 + rollup-plugin-visualizer: 6.0.11(rollup@4.60.3) + std-env: 3.10.0 + ufo: 1.6.4 + unenv: 2.0.0-rc.24 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + vite-node: 3.2.4(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + vite-plugin-checker: 0.11.0(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + vue: 3.5.34(typescript@5.9.3) + vue-bundle-renderer: 2.2.0 + transitivePeerDependencies: + - '@biomejs/biome' + - '@types/node' + - eslint + - less + - lightningcss + - magicast + - meow + - optionator + - oxlint + - rollup + - sass + - sass-embedded + - stylelint + - stylus + - sugarss + - supports-color + - terser + - tsx + - typescript + - vls + - vti + - vue-tsc + - yaml + + '@nuxtjs/color-mode@3.5.2(magicast@0.5.2)': + dependencies: + '@nuxt/kit': 3.21.4(magicast@0.5.2) + pathe: 1.1.2 + pkg-types: 1.3.1 + semver: 7.7.4 + transitivePeerDependencies: + - magicast + + '@nuxtjs/supabase@2.0.6': + dependencies: + '@supabase/ssr': 0.10.3(@supabase/supabase-js@2.105.3) + '@supabase/supabase-js': 2.105.3 + defu: 6.1.7 + pathe: 2.0.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@oxc-minify/binding-android-arm64@0.94.0': + optional: true + + '@oxc-minify/binding-darwin-arm64@0.94.0': + optional: true + + '@oxc-minify/binding-darwin-x64@0.94.0': + optional: true + + '@oxc-minify/binding-freebsd-x64@0.94.0': + optional: true + + '@oxc-minify/binding-linux-arm-gnueabihf@0.94.0': + optional: true + + '@oxc-minify/binding-linux-arm-musleabihf@0.94.0': + optional: true + + '@oxc-minify/binding-linux-arm64-gnu@0.94.0': + optional: true + + '@oxc-minify/binding-linux-arm64-musl@0.94.0': + optional: true + + '@oxc-minify/binding-linux-riscv64-gnu@0.94.0': + optional: true + + '@oxc-minify/binding-linux-s390x-gnu@0.94.0': + optional: true + + '@oxc-minify/binding-linux-x64-gnu@0.94.0': + optional: true + + '@oxc-minify/binding-linux-x64-musl@0.94.0': + optional: true + + '@oxc-minify/binding-wasm32-wasi@0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + dependencies: + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + optional: true + + '@oxc-minify/binding-win32-arm64-msvc@0.94.0': + optional: true + + '@oxc-minify/binding-win32-x64-msvc@0.94.0': + optional: true + + '@oxc-parser/binding-android-arm-eabi@0.126.0': + optional: true + + '@oxc-parser/binding-android-arm64@0.126.0': + optional: true + + '@oxc-parser/binding-android-arm64@0.94.0': + optional: true + + '@oxc-parser/binding-darwin-arm64@0.126.0': + optional: true + + '@oxc-parser/binding-darwin-arm64@0.94.0': + optional: true + + '@oxc-parser/binding-darwin-x64@0.126.0': + optional: true + + '@oxc-parser/binding-darwin-x64@0.94.0': + optional: true + + '@oxc-parser/binding-freebsd-x64@0.126.0': + optional: true + + '@oxc-parser/binding-freebsd-x64@0.94.0': + optional: true + + '@oxc-parser/binding-linux-arm-gnueabihf@0.126.0': + optional: true + + '@oxc-parser/binding-linux-arm-gnueabihf@0.94.0': + optional: true + + '@oxc-parser/binding-linux-arm-musleabihf@0.126.0': + optional: true + + '@oxc-parser/binding-linux-arm-musleabihf@0.94.0': + optional: true + + '@oxc-parser/binding-linux-arm64-gnu@0.126.0': + optional: true + + '@oxc-parser/binding-linux-arm64-gnu@0.94.0': + optional: true + + '@oxc-parser/binding-linux-arm64-musl@0.126.0': + optional: true + + '@oxc-parser/binding-linux-arm64-musl@0.94.0': + optional: true + + '@oxc-parser/binding-linux-ppc64-gnu@0.126.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-gnu@0.126.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-gnu@0.94.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-musl@0.126.0': + optional: true + + '@oxc-parser/binding-linux-s390x-gnu@0.126.0': + optional: true + + '@oxc-parser/binding-linux-s390x-gnu@0.94.0': + optional: true + + '@oxc-parser/binding-linux-x64-gnu@0.126.0': + optional: true + + '@oxc-parser/binding-linux-x64-gnu@0.94.0': + optional: true + + '@oxc-parser/binding-linux-x64-musl@0.126.0': + optional: true + + '@oxc-parser/binding-linux-x64-musl@0.94.0': + optional: true + + '@oxc-parser/binding-openharmony-arm64@0.126.0': + optional: true + + '@oxc-parser/binding-wasm32-wasi@0.126.0': + dependencies: + '@emnapi/core': 1.9.2 + '@emnapi/runtime': 1.9.2 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + optional: true + + '@oxc-parser/binding-wasm32-wasi@0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + dependencies: + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + optional: true + + '@oxc-parser/binding-win32-arm64-msvc@0.126.0': + optional: true + + '@oxc-parser/binding-win32-arm64-msvc@0.94.0': + optional: true + + '@oxc-parser/binding-win32-ia32-msvc@0.126.0': + optional: true + + '@oxc-parser/binding-win32-x64-msvc@0.126.0': + optional: true + + '@oxc-parser/binding-win32-x64-msvc@0.94.0': + optional: true + + '@oxc-project/types@0.126.0': {} + + '@oxc-project/types@0.94.0': {} + + '@oxc-transform/binding-android-arm64@0.94.0': + optional: true + + '@oxc-transform/binding-darwin-arm64@0.94.0': + optional: true + + '@oxc-transform/binding-darwin-x64@0.94.0': + optional: true + + '@oxc-transform/binding-freebsd-x64@0.94.0': + optional: true + + '@oxc-transform/binding-linux-arm-gnueabihf@0.94.0': + optional: true + + '@oxc-transform/binding-linux-arm-musleabihf@0.94.0': + optional: true + + '@oxc-transform/binding-linux-arm64-gnu@0.94.0': + optional: true + + '@oxc-transform/binding-linux-arm64-musl@0.94.0': + optional: true + + '@oxc-transform/binding-linux-riscv64-gnu@0.94.0': + optional: true + + '@oxc-transform/binding-linux-s390x-gnu@0.94.0': + optional: true + + '@oxc-transform/binding-linux-x64-gnu@0.94.0': + optional: true + + '@oxc-transform/binding-linux-x64-musl@0.94.0': + optional: true + + '@oxc-transform/binding-wasm32-wasi@0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + dependencies: + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + optional: true + + '@oxc-transform/binding-win32-arm64-msvc@0.94.0': + optional: true + + '@oxc-transform/binding-win32-x64-msvc@0.94.0': + optional: true + '@parcel/watcher-android-arm64@2.5.6': optional: true @@ -7062,6 +10990,72 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@pnpm/constants@1001.3.1': {} + + '@pnpm/core-loggers@1001.0.9(@pnpm/logger@1001.0.1)': + dependencies: + '@pnpm/logger': 1001.0.1 + '@pnpm/types': 1001.3.0 + + '@pnpm/error@1000.1.0': + dependencies: + '@pnpm/constants': 1001.3.1 + + '@pnpm/graceful-fs@1000.1.0': + dependencies: + graceful-fs: 4.2.11 + + '@pnpm/logger@1001.0.1': + dependencies: + bole: 5.0.29 + split2: 4.2.0 + + '@pnpm/manifest-utils@1002.0.5(@pnpm/logger@1001.0.1)': + dependencies: + '@pnpm/core-loggers': 1001.0.9(@pnpm/logger@1001.0.1) + '@pnpm/error': 1000.1.0 + '@pnpm/logger': 1001.0.1 + '@pnpm/semver.peer-range': 1000.0.0 + '@pnpm/types': 1001.3.0 + semver: 7.7.4 + + '@pnpm/read-project-manifest@1001.2.6(@pnpm/logger@1001.0.1)': + dependencies: + '@gwhitney/detect-indent': 7.0.1 + '@pnpm/error': 1000.1.0 + '@pnpm/graceful-fs': 1000.1.0 + '@pnpm/logger': 1001.0.1 + '@pnpm/manifest-utils': 1002.0.5(@pnpm/logger@1001.0.1) + '@pnpm/text.comments-parser': 1000.0.0 + '@pnpm/types': 1001.3.0 + '@pnpm/write-project-manifest': 1000.0.16 + fast-deep-equal: 3.1.3 + is-windows: 1.0.2 + json5: 2.2.3 + parse-json: 5.2.0 + read-yaml-file: 2.1.0 + strip-bom: 4.0.0 + + '@pnpm/semver.peer-range@1000.0.0': + dependencies: + semver: 7.7.4 + + '@pnpm/text.comments-parser@1000.0.0': + dependencies: + strip-comments-strings: 1.2.0 + + '@pnpm/types@1001.3.0': {} + + '@pnpm/write-project-manifest@1000.0.16': + dependencies: + '@pnpm/text.comments-parser': 1000.0.0 + '@pnpm/types': 1001.3.0 + json5: 2.2.3 + write-file-atomic: 5.0.1 + write-yaml-file: 5.0.0 + + '@polka/url@1.0.0-next.29': {} + '@poppinss/colors@4.1.6': dependencies: kleur: 4.1.5 @@ -7173,6 +11167,12 @@ snapshots: transitivePeerDependencies: - '@types/react-dom' + '@publint/pack@0.1.4': {} + + '@quansync/fs@1.0.0': + dependencies: + quansync: 1.0.0 + '@radix-ui/primitive@1.1.3': {} '@radix-ui/react-compose-refs@1.1.2(@types/react@19.0.14)(react@19.0.0)': @@ -7249,6 +11249,16 @@ snapshots: '@react-native-community/slider@5.2.0': {} + '@react-native-menu/menu@2.0.0(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': + dependencies: + react: 19.0.0 + react-native: 0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0) + + '@react-native-picker/picker@2.11.1(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': + dependencies: + react: 19.0.0 + react-native: 0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0) + '@react-native/assets-registry@0.79.6': {} '@react-native/babel-plugin-codegen@0.79.6(@babel/core@7.29.0)': @@ -7432,6 +11442,12 @@ snapshots: dependencies: nanoid: 3.3.12 + '@rolldown/debug@1.0.0': {} + + '@rolldown/pluginutils@1.0.0': {} + + '@rolldown/pluginutils@1.0.0-rc.13': {} + '@rollup/plugin-alias@6.0.0(rollup@4.60.3)': optionalDependencies: rollup: 4.60.3 @@ -7575,6 +11591,12 @@ snapshots: domhandler: 5.0.3 selderee: 0.11.0 + '@simple-git/args-pathspec@1.0.3': {} + + '@simple-git/argv-parser@1.1.1': + dependencies: + '@simple-git/args-pathspec': 1.0.3 + '@sinclair/typebox@0.27.10': {} '@sindresorhus/is@7.2.0': {} @@ -7617,6 +11639,11 @@ snapshots: - bufferutil - utf-8-validate + '@supabase/ssr@0.10.3(@supabase/supabase-js@2.105.3)': + dependencies: + '@supabase/supabase-js': 2.105.3 + cookie: 1.1.1 + '@supabase/storage-js@2.105.3': dependencies: iceberg-js: 0.8.1 @@ -7633,6 +11660,86 @@ snapshots: - bufferutil - utf-8-validate + '@swc/helpers@0.5.21': + dependencies: + tslib: 2.8.1 + + '@tailwindcss/node@4.2.4': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.21.2 + jiti: 2.7.0 + lightningcss: 1.32.0 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.2.4 + + '@tailwindcss/oxide-android-arm64@4.2.4': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.2.4': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.2.4': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.2.4': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.2.4': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.2.4': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.2.4': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.2.4': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.2.4': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.2.4': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.2.4': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.2.4': + optional: true + + '@tailwindcss/oxide@4.2.4': + 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 + + '@tailwindcss/postcss@4.2.4': + dependencies: + '@alloc/quick-lru': 5.2.0 + '@tailwindcss/node': 4.2.4 + '@tailwindcss/oxide': 4.2.4 + postcss: 8.5.14 + tailwindcss: 4.2.4 + + '@tailwindcss/vite@4.2.4(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))': + dependencies: + '@tailwindcss/node': 4.2.4 + '@tailwindcss/oxide': 4.2.4 + tailwindcss: 4.2.4 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + '@tanstack/query-core@5.100.9': {} '@tanstack/react-query@5.100.9(react@19.0.0)': @@ -7640,6 +11747,249 @@ snapshots: '@tanstack/query-core': 5.100.9 react: 19.0.0 + '@tanstack/table-core@8.21.3': {} + + '@tanstack/virtual-core@3.14.0': {} + + '@tanstack/vue-table@8.21.3(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@tanstack/table-core': 8.21.3 + vue: 3.5.34(typescript@5.9.3) + + '@tanstack/vue-virtual@3.13.24(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@tanstack/virtual-core': 3.14.0 + vue: 3.5.34(typescript@5.9.3) + + '@tiptap/core@3.23.1(@tiptap/pm@3.23.1)': + dependencies: + '@tiptap/pm': 3.23.1 + + '@tiptap/extension-blockquote@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + + '@tiptap/extension-bold@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + + '@tiptap/extension-bubble-menu@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': + dependencies: + '@floating-ui/dom': 1.7.6 + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + + '@tiptap/extension-bullet-list@3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/extension-list': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + + '@tiptap/extension-code-block@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + + '@tiptap/extension-code@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + + '@tiptap/extension-collaboration@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30)': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + '@tiptap/y-tiptap': 3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30) + yjs: 13.6.30 + + '@tiptap/extension-document@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + + '@tiptap/extension-drag-handle-vue-3@3.23.1(@tiptap/extension-drag-handle@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/extension-collaboration@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30))(@tiptap/extension-node-range@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30)))(@tiptap/pm@3.23.1)(@tiptap/vue-3@3.23.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(vue@3.5.34(typescript@5.9.3)))(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@tiptap/extension-drag-handle': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/extension-collaboration@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30))(@tiptap/extension-node-range@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30)) + '@tiptap/pm': 3.23.1 + '@tiptap/vue-3': 3.23.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(vue@3.5.34(typescript@5.9.3)) + vue: 3.5.34(typescript@5.9.3) + + '@tiptap/extension-drag-handle@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/extension-collaboration@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30))(@tiptap/extension-node-range@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))': + dependencies: + '@floating-ui/dom': 1.7.6 + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/extension-collaboration': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30) + '@tiptap/extension-node-range': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + '@tiptap/y-tiptap': 3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30) + + '@tiptap/extension-dropcursor@3.23.1(@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/extensions': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + + '@tiptap/extension-floating-menu@3.23.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': + dependencies: + '@floating-ui/dom': 1.7.6 + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + + '@tiptap/extension-gapcursor@3.23.1(@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/extensions': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + + '@tiptap/extension-hard-break@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + + '@tiptap/extension-heading@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + + '@tiptap/extension-horizontal-rule@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + + '@tiptap/extension-image@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + + '@tiptap/extension-italic@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + + '@tiptap/extension-link@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + linkifyjs: 4.3.2 + + '@tiptap/extension-list-item@3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/extension-list': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + + '@tiptap/extension-list-keymap@3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/extension-list': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + + '@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + + '@tiptap/extension-mention@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@tiptap/suggestion@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + '@tiptap/suggestion': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + + '@tiptap/extension-node-range@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + + '@tiptap/extension-ordered-list@3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/extension-list': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + + '@tiptap/extension-paragraph@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + + '@tiptap/extension-placeholder@3.23.1(@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/extensions': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + + '@tiptap/extension-strike@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + + '@tiptap/extension-text@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + + '@tiptap/extension-underline@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + + '@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + + '@tiptap/markdown@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + marked: 17.0.6 + + '@tiptap/pm@3.23.1': + dependencies: + prosemirror-changeset: 2.4.1 + prosemirror-commands: 1.7.1 + prosemirror-dropcursor: 1.8.2 + prosemirror-gapcursor: 1.4.1 + prosemirror-history: 1.5.0 + prosemirror-keymap: 1.2.3 + prosemirror-model: 1.25.4 + prosemirror-schema-list: 1.5.1 + prosemirror-state: 1.4.4 + prosemirror-tables: 1.8.5 + prosemirror-transform: 1.12.0 + prosemirror-view: 1.41.8 + + '@tiptap/starter-kit@3.23.1': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/extension-blockquote': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-bold': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-bullet-list': 3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) + '@tiptap/extension-code': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-code-block': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/extension-document': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-dropcursor': 3.23.1(@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) + '@tiptap/extension-gapcursor': 3.23.1(@tiptap/extensions@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) + '@tiptap/extension-hard-break': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-heading': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-horizontal-rule': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/extension-italic': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-link': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/extension-list': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/extension-list-item': 3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) + '@tiptap/extension-list-keymap': 3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) + '@tiptap/extension-ordered-list': 3.23.1(@tiptap/extension-list@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)) + '@tiptap/extension-paragraph': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-strike': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-text': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extension-underline': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)) + '@tiptap/extensions': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + + '@tiptap/suggestion@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)': + dependencies: + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + + '@tiptap/vue-3@3.23.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@floating-ui/dom': 1.7.6 + '@tiptap/core': 3.23.1(@tiptap/pm@3.23.1) + '@tiptap/pm': 3.23.1 + vue: 3.5.34(typescript@5.9.3) + optionalDependencies: + '@tiptap/extension-bubble-menu': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + '@tiptap/extension-floating-menu': 3.23.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1) + + '@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30)': + dependencies: + lib0: 0.2.117 + prosemirror-model: 1.25.4 + prosemirror-state: 1.4.4 + prosemirror-view: 1.41.8 + y-protocols: 1.0.7(yjs@13.6.30) + yjs: 13.6.30 + + '@tybys/wasm-util@0.10.2': + dependencies: + tslib: 2.8.1 + optional: true + '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.29.3 @@ -7669,6 +12019,11 @@ snapshots: '@types/hammerjs@2.0.46': {} + '@types/hoist-non-react-statics@3.3.7(@types/react@19.0.14)': + dependencies: + '@types/react': 19.0.14 + hoist-non-react-statics: 3.3.2 + '@types/istanbul-lib-coverage@2.0.6': {} '@types/istanbul-lib-report@3.0.3': @@ -7706,6 +12061,10 @@ snapshots: '@types/stack-utils@2.0.3': {} + '@types/web-bluetooth@0.0.20': {} + + '@types/web-bluetooth@0.0.21': {} + '@types/ws@8.18.1': dependencies: '@types/node': 22.19.17 @@ -7716,6 +12075,12 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 + '@unhead/vue@2.1.13(vue@3.5.34(typescript@5.9.3))': + dependencies: + hookable: 6.1.1 + unhead: 2.1.13 + vue: 3.5.34(typescript@5.9.3) + '@urql/core@5.2.0': dependencies: '@0no-co/graphql.web': 1.2.0 @@ -7728,6 +12093,10 @@ snapshots: '@urql/core': 5.2.0 wonka: 6.3.6 + '@valibot/to-json-schema@1.7.0(valibot@1.4.0(typescript@5.9.3))': + dependencies: + valibot: 1.4.0(typescript@5.9.3) + '@vercel/nft@1.5.0(rollup@4.60.3)': dependencies: '@mapbox/node-pre-gyp': 2.0.3 @@ -7747,7 +12116,148 @@ snapshots: - rollup - supports-color - '@vitest/coverage-v8@2.1.9(vitest@2.1.9(@types/node@22.19.17)(lightningcss@1.27.0)(terser@5.46.2))': + '@vitejs/devtools-kit@0.1.21(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))': + dependencies: + ansis: 4.2.0 + birpc: 4.0.0 + devframe: 0.1.21(typescript@5.9.3) + logs-sdk: 0.0.6 + mlly: 1.8.2 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + sirv: 3.0.2 + tinyexec: 1.1.2 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + transitivePeerDependencies: + - '@modelcontextprotocol/sdk' + - bufferutil + - typescript + - utf-8-validate + + '@vitejs/devtools-rolldown@0.1.21(@pnpm/logger@1001.0.1)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@floating-ui/dom': 1.7.6 + '@pnpm/read-project-manifest': 1001.2.6(@pnpm/logger@1001.0.1) + '@rolldown/debug': 1.0.0 + '@vitejs/devtools-kit': 0.1.21(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + ansis: 4.2.0 + birpc: 4.0.0 + cac: 7.0.0 + d3-shape: 3.2.0 + devframe: 0.1.21(typescript@5.9.3) + diff: 9.0.0 + get-port-please: 3.2.0 + h3: 1.15.11 + logs-sdk: 0.0.6 + mlly: 1.8.2 + mrmime: 2.0.1 + ohash: 2.0.11 + p-limit: 7.3.0 + pathe: 2.0.3 + publint: 0.3.20 + sirv: 3.0.2 + split2: 4.2.0 + structured-clone-es: 2.0.0 + tinyglobby: 0.2.16 + unconfig: 7.5.0 + unstorage: 1.17.5(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1) + vue-virtual-scroller: 3.0.3(vue@3.5.34(typescript@5.9.3)) + ws: 8.20.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@modelcontextprotocol/sdk' + - '@netlify/blobs' + - '@planetscale/database' + - '@pnpm/logger' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - idb-keyval + - ioredis + - typescript + - uploadthing + - utf-8-validate + - vite + - vue + + '@vitejs/devtools@0.1.21(@pnpm/logger@1001.0.1)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))': + dependencies: + '@vitejs/devtools-kit': 0.1.21(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + '@vitejs/devtools-rolldown': 0.1.21(@pnpm/logger@1001.0.1)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3)) + birpc: 4.0.0 + cac: 7.0.0 + devframe: 0.1.21(typescript@5.9.3) + h3: 1.15.11 + immer: 11.1.7 + launch-editor: 2.13.2 + logs-sdk: 0.0.6 + mlly: 1.8.2 + obug: 2.1.1 + open: 11.0.0 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + sirv: 3.0.2 + tinyexec: 1.1.2 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + vue: 3.5.34(typescript@5.9.3) + ws: 8.20.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@modelcontextprotocol/sdk' + - '@netlify/blobs' + - '@planetscale/database' + - '@pnpm/logger' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - idb-keyval + - ioredis + - typescript + - uploadthing + - utf-8-validate + + '@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@babel/core': 7.29.0 + '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) + '@rolldown/pluginutils': 1.0.0 + '@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.0) + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + vue: 3.5.34(typescript@5.9.3) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue@6.0.6(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@rolldown/pluginutils': 1.0.0-rc.13 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + vue: 3.5.34(typescript@5.9.3) + + '@vitest/coverage-v8@2.1.9(vitest@2.1.9(@types/node@22.19.17)(lightningcss@1.32.0)(terser@5.46.2))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -7761,7 +12271,7 @@ snapshots: std-env: 3.10.0 test-exclude: 7.0.2 tinyrainbow: 1.2.0 - vitest: 2.1.9(@types/node@22.19.17)(lightningcss@1.27.0)(terser@5.46.2) + vitest: 2.1.9(@types/node@22.19.17)(lightningcss@1.32.0)(terser@5.46.2) transitivePeerDependencies: - supports-color @@ -7772,13 +12282,13 @@ snapshots: chai: 5.3.3 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.9(vite@5.4.21(@types/node@22.19.17)(lightningcss@1.27.0)(terser@5.46.2))': + '@vitest/mocker@2.1.9(vite@5.4.21(@types/node@22.19.17)(lightningcss@1.32.0)(terser@5.46.2))': dependencies: '@vitest/spy': 2.1.9 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 5.4.21(@types/node@22.19.17)(lightningcss@1.27.0)(terser@5.46.2) + vite: 5.4.21(@types/node@22.19.17)(lightningcss@1.32.0)(terser@5.46.2) '@vitest/pretty-format@2.1.9': dependencies: @@ -7805,6 +12315,209 @@ snapshots: loupe: 3.2.1 tinyrainbow: 1.2.0 + '@volar/language-core@2.4.28': + dependencies: + '@volar/source-map': 2.4.28 + + '@volar/source-map@2.4.28': {} + + '@vue-macros/common@3.0.0-beta.16(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@vue/compiler-sfc': 3.5.34 + ast-kit: 2.2.0 + local-pkg: 1.1.2 + magic-string-ast: 1.0.3 + unplugin-utils: 0.2.5 + optionalDependencies: + vue: 3.5.34(typescript@5.9.3) + + '@vue/babel-helper-vue-transform-on@2.0.1': {} + + '@vue/babel-plugin-jsx@2.0.1(@babel/core@7.29.0)': + dependencies: + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) + '@babel/template': 7.28.6 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + '@vue/babel-helper-vue-transform-on': 2.0.1 + '@vue/babel-plugin-resolve-type': 2.0.1(@babel/core@7.29.0) + '@vue/shared': 3.5.34 + optionalDependencies: + '@babel/core': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@vue/babel-plugin-resolve-type@2.0.1(@babel/core@7.29.0)': + dependencies: + '@babel/code-frame': 7.29.0 + '@babel/core': 7.29.0 + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/parser': 7.29.3 + '@vue/compiler-sfc': 3.5.34 + transitivePeerDependencies: + - supports-color + + '@vue/compiler-core@3.5.34': + dependencies: + '@babel/parser': 7.29.3 + '@vue/shared': 3.5.34 + entities: 7.0.1 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.34': + dependencies: + '@vue/compiler-core': 3.5.34 + '@vue/shared': 3.5.34 + + '@vue/compiler-sfc@3.5.34': + dependencies: + '@babel/parser': 7.29.3 + '@vue/compiler-core': 3.5.34 + '@vue/compiler-dom': 3.5.34 + '@vue/compiler-ssr': 3.5.34 + '@vue/shared': 3.5.34 + estree-walker: 2.0.2 + magic-string: 0.30.21 + postcss: 8.5.14 + source-map-js: 1.2.1 + + '@vue/compiler-ssr@3.5.34': + dependencies: + '@vue/compiler-dom': 3.5.34 + '@vue/shared': 3.5.34 + + '@vue/devtools-api@6.6.4': {} + + '@vue/devtools-core@7.7.9(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@vue/devtools-kit': 7.7.9 + '@vue/devtools-shared': 7.7.9 + mitt: 3.0.1 + nanoid: 5.1.11 + pathe: 2.0.3 + vite-hot-client: 2.2.0(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + vue: 3.5.34(typescript@5.9.3) + transitivePeerDependencies: + - vite + + '@vue/devtools-core@8.1.2(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@vue/devtools-kit': 8.1.2 + '@vue/devtools-shared': 8.1.2 + vue: 3.5.34(typescript@5.9.3) + + '@vue/devtools-kit@7.7.9': + dependencies: + '@vue/devtools-shared': 7.7.9 + birpc: 2.9.0 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + superjson: 2.2.6 + + '@vue/devtools-kit@8.1.2': + dependencies: + '@vue/devtools-shared': 8.1.2 + birpc: 2.9.0 + hookable: 5.5.3 + perfect-debounce: 2.1.0 + + '@vue/devtools-shared@7.7.9': + dependencies: + rfdc: 1.4.1 + + '@vue/devtools-shared@8.1.2': {} + + '@vue/language-core@3.2.8': + dependencies: + '@volar/language-core': 2.4.28 + '@vue/compiler-dom': 3.5.34 + '@vue/shared': 3.5.34 + alien-signals: 3.1.2 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + picomatch: 4.0.4 + + '@vue/reactivity@3.5.34': + dependencies: + '@vue/shared': 3.5.34 + + '@vue/runtime-core@3.5.34': + dependencies: + '@vue/reactivity': 3.5.34 + '@vue/shared': 3.5.34 + + '@vue/runtime-dom@3.5.34': + dependencies: + '@vue/reactivity': 3.5.34 + '@vue/runtime-core': 3.5.34 + '@vue/shared': 3.5.34 + csstype: 3.2.3 + + '@vue/server-renderer@3.5.34(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@vue/compiler-ssr': 3.5.34 + '@vue/shared': 3.5.34 + vue: 3.5.34(typescript@5.9.3) + + '@vue/shared@3.5.34': {} + + '@vueuse/core@10.11.1(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.11.1 + '@vueuse/shared': 10.11.1(vue@3.5.34(typescript@5.9.3)) + vue-demi: 0.14.10(vue@3.5.34(typescript@5.9.3)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/core@14.3.0(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@types/web-bluetooth': 0.0.21 + '@vueuse/metadata': 14.3.0 + '@vueuse/shared': 14.3.0(vue@3.5.34(typescript@5.9.3)) + vue: 3.5.34(typescript@5.9.3) + + '@vueuse/integrations@14.3.0(fuse.js@7.3.0)(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@vueuse/core': 14.3.0(vue@3.5.34(typescript@5.9.3)) + '@vueuse/shared': 14.3.0(vue@3.5.34(typescript@5.9.3)) + vue: 3.5.34(typescript@5.9.3) + optionalDependencies: + fuse.js: 7.3.0 + + '@vueuse/metadata@10.11.1': {} + + '@vueuse/metadata@14.3.0': {} + + '@vueuse/nuxt@14.3.0(magicast@0.5.2)(nuxt@4.1.3(@electric-sql/pglite@0.4.1)(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.34)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.2)(mysql2@3.15.3)(rollup@4.60.3)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3))': + dependencies: + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@vueuse/core': 14.3.0(vue@3.5.34(typescript@5.9.3)) + '@vueuse/metadata': 14.3.0 + local-pkg: 1.1.2 + nuxt: 4.1.3(@electric-sql/pglite@0.4.1)(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.34)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.2)(mysql2@3.15.3)(rollup@4.60.3)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(yaml@2.8.4) + vue: 3.5.34(typescript@5.9.3) + transitivePeerDependencies: + - magicast + + '@vueuse/shared@10.11.1(vue@3.5.34(typescript@5.9.3))': + dependencies: + vue-demi: 0.14.10(vue@3.5.34(typescript@5.9.3)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/shared@14.3.0(vue@3.5.34(typescript@5.9.3))': + dependencies: + vue: 3.5.34(typescript@5.9.3) + '@xmldom/xmldom@0.8.13': {} '@xmldom/xmldom@0.9.10': {} @@ -7852,6 +12565,8 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + alien-signals@3.1.2: {} + anser@1.4.10: {} ansi-escapes@4.3.2: @@ -7876,6 +12591,8 @@ snapshots: ansi-styles@6.2.3: {} + ansis@4.2.0: {} + any-promise@1.3.0: {} anymatch@3.1.3: @@ -7915,6 +12632,10 @@ snapshots: argparse@2.0.1: {} + aria-hidden@1.2.6: + dependencies: + tslib: 2.8.1 + array-timsort@1.0.3: {} asap@2.0.6: {} @@ -7929,6 +12650,16 @@ snapshots: assertion-error@2.0.1: {} + ast-kit@2.2.0: + dependencies: + '@babel/parser': 7.29.3 + pathe: 2.0.3 + + ast-walker-scope@0.8.3: + dependencies: + '@babel/parser': 7.29.3 + ast-kit: 2.2.0 + async-limiter@1.0.1: {} async-sema@3.1.1: {} @@ -7939,6 +12670,15 @@ snapshots: atomic-sleep@1.0.0: {} + autoprefixer@10.5.0(postcss@8.5.14): + dependencies: + browserslist: 4.28.2 + caniuse-lite: 1.0.30001791 + fraction.js: 5.3.4 + picocolors: 1.1.1 + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 @@ -8121,6 +12861,15 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 + birpc@2.9.0: {} + + birpc@4.0.0: {} + + bole@5.0.29: + dependencies: + fast-safe-stringify: 2.1.1 + individual: 3.0.0 + boolbase@1.0.0: {} bplist-creator@0.1.0: @@ -8184,6 +12933,23 @@ snapshots: bytes@3.1.2: {} + c12@3.3.4(magicast@0.3.5): + dependencies: + chokidar: 5.0.0 + confbox: 0.2.4 + defu: 6.1.7 + dotenv: 17.4.2 + exsolve: 1.0.8 + giget: 3.2.0 + jiti: 2.7.0 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.1 + rc9: 3.0.1 + optionalDependencies: + magicast: 0.3.5 + c12@3.3.4(magicast@0.5.2): dependencies: chokidar: 5.0.0 @@ -8203,6 +12969,8 @@ snapshots: cac@6.7.14: {} + cac@7.0.0: {} + call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 @@ -8236,6 +13004,13 @@ snapshots: camelcase@6.3.0: {} + caniuse-api@3.0.0: + dependencies: + browserslist: 4.28.2 + caniuse-lite: 1.0.30001791 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + caniuse-lite@1.0.30001791: {} chai@5.3.3: @@ -8275,6 +13050,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + chokidar@5.0.0: dependencies: readdirp: 5.0.0 @@ -8357,10 +13136,14 @@ snapshots: color-convert: 2.0.1 color-string: 1.9.1 + colortranslator@5.0.0: {} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 + commander@11.1.0: {} + commander@12.1.0: {} commander@2.20.3: {} @@ -8427,6 +13210,12 @@ snapshots: cookie-es@3.1.1: {} + cookie@1.1.1: {} + + copy-anything@4.0.5: + dependencies: + is-what: 5.5.0 + core-js-compat@3.49.0: dependencies: browserslist: 4.28.2 @@ -8461,6 +13250,10 @@ snapshots: crypto-random-string@2.0.0: {} + css-declaration-sorter@7.4.0(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + css-select@5.2.2: dependencies: boolbase: 1.0.0 @@ -8474,12 +13267,76 @@ snapshots: mdn-data: 2.0.14 source-map: 0.6.1 + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.1 + + css-tree@3.2.1: + dependencies: + mdn-data: 2.27.1 + source-map-js: 1.2.1 + css-what@6.2.2: {} cssesc@3.0.0: {} + cssnano-preset-default@7.0.17(postcss@8.5.14): + dependencies: + browserslist: 4.28.2 + css-declaration-sorter: 7.4.0(postcss@8.5.14) + cssnano-utils: 5.0.3(postcss@8.5.14) + postcss: 8.5.14 + postcss-calc: 10.1.1(postcss@8.5.14) + postcss-colormin: 7.0.10(postcss@8.5.14) + postcss-convert-values: 7.0.12(postcss@8.5.14) + postcss-discard-comments: 7.0.8(postcss@8.5.14) + postcss-discard-duplicates: 7.0.4(postcss@8.5.14) + postcss-discard-empty: 7.0.3(postcss@8.5.14) + postcss-discard-overridden: 7.0.3(postcss@8.5.14) + postcss-merge-longhand: 7.0.7(postcss@8.5.14) + postcss-merge-rules: 7.0.11(postcss@8.5.14) + postcss-minify-font-values: 7.0.3(postcss@8.5.14) + postcss-minify-gradients: 7.0.5(postcss@8.5.14) + postcss-minify-params: 7.0.9(postcss@8.5.14) + postcss-minify-selectors: 7.1.2(postcss@8.5.14) + postcss-normalize-charset: 7.0.3(postcss@8.5.14) + postcss-normalize-display-values: 7.0.3(postcss@8.5.14) + postcss-normalize-positions: 7.0.4(postcss@8.5.14) + postcss-normalize-repeat-style: 7.0.4(postcss@8.5.14) + postcss-normalize-string: 7.0.3(postcss@8.5.14) + postcss-normalize-timing-functions: 7.0.3(postcss@8.5.14) + postcss-normalize-unicode: 7.0.9(postcss@8.5.14) + postcss-normalize-url: 7.0.3(postcss@8.5.14) + postcss-normalize-whitespace: 7.0.3(postcss@8.5.14) + postcss-ordered-values: 7.0.4(postcss@8.5.14) + postcss-reduce-initial: 7.0.9(postcss@8.5.14) + postcss-reduce-transforms: 7.0.3(postcss@8.5.14) + postcss-svgo: 7.1.3(postcss@8.5.14) + postcss-unique-selectors: 7.0.7(postcss@8.5.14) + + cssnano-utils@5.0.3(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + + cssnano@7.1.9(postcss@8.5.14): + dependencies: + cssnano-preset-default: 7.0.17(postcss@8.5.14) + lilconfig: 3.1.3 + postcss: 8.5.14 + + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + csstype@3.2.3: {} + d3-path@3.1.0: {} + + d3-shape@3.2.0: + dependencies: + d3-path: 3.1.0 + db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3): optionalDependencies: '@electric-sql/pglite': 0.4.1 @@ -8550,8 +13407,35 @@ snapshots: detect-libc@2.1.2: {} + devalue@5.8.0: {} + + devframe@0.1.21(typescript@5.9.3): + dependencies: + '@valibot/to-json-schema': 1.7.0(valibot@1.4.0(typescript@5.9.3)) + ansis: 4.2.0 + birpc: 4.0.0 + cac: 7.0.0 + h3: 1.15.11 + immer: 11.1.7 + launch-editor: 2.13.2 + logs-sdk: 0.0.6 + ohash: 2.0.11 + pathe: 2.0.3 + sirv: 3.0.2 + structured-clone-es: 2.0.0 + valibot: 1.4.0(typescript@5.9.3) + ws: 8.20.0 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + didyoumean@1.2.2: {} + diff@8.0.4: {} + + diff@9.0.0: {} + dlv@1.1.3: {} dom-serializer@2.0.0: @@ -8603,6 +13487,43 @@ snapshots: electron-to-chromium@1.5.351: {} + embla-carousel-auto-height@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + + embla-carousel-auto-scroll@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + + embla-carousel-autoplay@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + + embla-carousel-class-names@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + + embla-carousel-fade@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + + embla-carousel-reactive-utils@8.6.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + + embla-carousel-vue@8.6.0(vue@3.5.34(typescript@5.9.3)): + dependencies: + embla-carousel: 8.6.0 + embla-carousel-reactive-utils: 8.6.0(embla-carousel@8.6.0) + vue: 3.5.34(typescript@5.9.3) + + embla-carousel-wheel-gestures@8.1.0(embla-carousel@8.6.0): + dependencies: + embla-carousel: 8.6.0 + wheel-gestures: 2.2.48 + + embla-carousel@8.6.0: {} + emoji-regex@10.6.0: {} emoji-regex@8.0.0: {} @@ -8617,8 +13538,15 @@ snapshots: encoding-japanese@2.2.0: {} + enhanced-resolve@5.21.2: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + entities@4.5.0: {} + entities@7.0.1: {} + env-editor@0.4.2: {} env-paths@3.0.0: {} @@ -8633,12 +13561,16 @@ snapshots: dependencies: stackframe: 1.3.4 + errx@0.1.0: {} + es-define-property@1.0.1: {} es-errors@1.3.0: {} es-module-lexer@1.7.0: {} + es-module-lexer@2.1.0: {} + es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 @@ -8676,6 +13608,64 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 + esbuild@0.25.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.12 + '@esbuild/android-arm': 0.25.12 + '@esbuild/android-arm64': 0.25.12 + '@esbuild/android-x64': 0.25.12 + '@esbuild/darwin-arm64': 0.25.12 + '@esbuild/darwin-x64': 0.25.12 + '@esbuild/freebsd-arm64': 0.25.12 + '@esbuild/freebsd-x64': 0.25.12 + '@esbuild/linux-arm': 0.25.12 + '@esbuild/linux-arm64': 0.25.12 + '@esbuild/linux-ia32': 0.25.12 + '@esbuild/linux-loong64': 0.25.12 + '@esbuild/linux-mips64el': 0.25.12 + '@esbuild/linux-ppc64': 0.25.12 + '@esbuild/linux-riscv64': 0.25.12 + '@esbuild/linux-s390x': 0.25.12 + '@esbuild/linux-x64': 0.25.12 + '@esbuild/netbsd-arm64': 0.25.12 + '@esbuild/netbsd-x64': 0.25.12 + '@esbuild/openbsd-arm64': 0.25.12 + '@esbuild/openbsd-x64': 0.25.12 + '@esbuild/openharmony-arm64': 0.25.12 + '@esbuild/sunos-x64': 0.25.12 + '@esbuild/win32-arm64': 0.25.12 + '@esbuild/win32-ia32': 0.25.12 + '@esbuild/win32-x64': 0.25.12 + + esbuild@0.27.7: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.7 + '@esbuild/android-arm': 0.27.7 + '@esbuild/android-arm64': 0.27.7 + '@esbuild/android-x64': 0.27.7 + '@esbuild/darwin-arm64': 0.27.7 + '@esbuild/darwin-x64': 0.27.7 + '@esbuild/freebsd-arm64': 0.27.7 + '@esbuild/freebsd-x64': 0.27.7 + '@esbuild/linux-arm': 0.27.7 + '@esbuild/linux-arm64': 0.27.7 + '@esbuild/linux-ia32': 0.27.7 + '@esbuild/linux-loong64': 0.27.7 + '@esbuild/linux-mips64el': 0.27.7 + '@esbuild/linux-ppc64': 0.27.7 + '@esbuild/linux-riscv64': 0.27.7 + '@esbuild/linux-s390x': 0.27.7 + '@esbuild/linux-x64': 0.27.7 + '@esbuild/netbsd-arm64': 0.27.7 + '@esbuild/netbsd-x64': 0.27.7 + '@esbuild/openbsd-arm64': 0.27.7 + '@esbuild/openbsd-x64': 0.27.7 + '@esbuild/openharmony-arm64': 0.27.7 + '@esbuild/sunos-x64': 0.27.7 + '@esbuild/win32-arm64': 0.27.7 + '@esbuild/win32-ia32': 0.27.7 + '@esbuild/win32-x64': 0.27.7 + esbuild@0.28.0: optionalDependencies: '@esbuild/aix-ppc64': 0.28.0 @@ -8737,6 +13727,18 @@ snapshots: events@3.3.0: {} + execa@8.0.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + expect-type@1.3.0: {} expo-apple-authentication@7.2.4(expo@53.0.27(@babel/core@7.29.0)(@expo/metro-runtime@5.0.5(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0)))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0)): @@ -9017,8 +14019,24 @@ snapshots: fast-json-stable-stringify@2.1.0: {} + fast-npm-meta@0.4.8: {} + + fast-npm-meta@1.5.1: {} + + fast-safe-stringify@2.1.1: {} + + fast-string-truncated-width@3.0.3: {} + + fast-string-width@3.0.2: + dependencies: + fast-string-truncated-width: 3.0.3 + fast-uri@3.1.2: {} + fast-wrap-ansi@0.2.0: + dependencies: + fast-string-width: 3.0.2 + fastq@1.20.1: dependencies: reusify: 1.1.0 @@ -9063,8 +14081,60 @@ snapshots: flow-enums-runtime@0.0.6: {} + fontaine@0.8.0: + dependencies: + '@capsizecss/unpack': 4.0.0 + css-tree: 3.2.1 + magic-regexp: 0.10.0 + magic-string: 0.30.21 + pathe: 2.0.3 + ufo: 1.6.4 + unplugin: 2.3.11 + fontfaceobserver@2.3.0: {} + fontkitten@1.0.3: + dependencies: + tiny-inflate: 1.0.3 + + fontless@0.2.1(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)): + dependencies: + consola: 3.4.2 + css-tree: 3.2.1 + defu: 6.1.7 + esbuild: 0.27.7 + fontaine: 0.8.0 + jiti: 2.7.0 + lightningcss: 1.32.0 + magic-string: 0.30.21 + ohash: 2.0.11 + pathe: 2.0.3 + ufo: 1.6.4 + unifont: 0.7.4 + unstorage: 1.17.5(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1) + optionalDependencies: + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - db0 + - idb-keyval + - ioredis + - uploadthing + for-each@0.3.5: dependencies: is-callable: 1.2.7 @@ -9089,6 +14159,17 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 4.0.0-beta.3 + fraction.js@5.3.4: {} + + framer-motion@12.38.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + motion-dom: 12.38.0 + motion-utils: 12.36.0 + tslib: 2.8.1 + optionalDependencies: + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + freeport-async@2.0.0: {} fresh@0.5.2: {} @@ -9102,6 +14183,10 @@ snapshots: function-bind@1.1.2: {} + fuse.js@7.3.0: {} + + fzf@0.5.2: {} + generate-function@2.3.1: dependencies: is-property: 1.0.2 @@ -9136,6 +14221,8 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 + get-stream@8.0.1: {} + getenv@2.0.0: {} giget@3.2.0: {} @@ -9172,6 +14259,12 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 + global-directory@4.0.1: + dependencies: + ini: 4.1.1 + + globals@15.15.0: {} + globby@16.2.0: dependencies: '@sindresorhus/merge-streams': 4.0.0 @@ -9247,6 +14340,8 @@ snapshots: dependencies: hermes-estree: 0.29.1 + hey-listen@1.0.8: {} + hoist-non-react-statics@3.3.2: dependencies: react-is: 16.13.1 @@ -9255,6 +14350,8 @@ snapshots: hookable@5.5.3: {} + hookable@6.1.1: {} + hosted-git-info@7.0.2: dependencies: lru-cache: 10.4.3 @@ -9301,6 +14398,8 @@ snapshots: httpxy@0.5.1: {} + human-signals@5.0.0: {} + humanize-ms@1.2.1: dependencies: ms: 2.1.3 @@ -9321,6 +14420,8 @@ snapshots: ignore@7.0.5: {} + image-meta@0.2.2: {} + image-size@1.2.1: dependencies: queue: 6.0.2 @@ -9337,13 +14438,27 @@ snapshots: pino: 10.3.1 socks: 2.8.8 + immer@11.1.7: {} + import-fresh@2.0.0: dependencies: caller-path: 2.0.0 resolve-from: 3.0.0 + import-meta-resolve@4.2.0: {} + + impound@1.1.5: + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + es-module-lexer: 2.1.0 + pathe: 2.0.3 + unplugin: 3.0.0 + unplugin-utils: 0.3.1 + imurmurhash@0.1.4: {} + individual@3.0.0: {} + inflight@1.0.6: dependencies: once: 1.4.0 @@ -9353,6 +14468,8 @@ snapshots: ini@1.3.8: {} + ini@4.1.1: {} + invariant@2.2.4: dependencies: loose-envify: 1.4.0 @@ -9422,6 +14539,11 @@ snapshots: dependencies: is-docker: 3.0.0 + is-installed-globally@1.0.0: + dependencies: + global-directory: 4.0.1 + is-path-inside: 4.0.0 + is-module@1.0.0: {} is-nan@1.3.2: @@ -9450,10 +14572,16 @@ snapshots: is-stream@2.0.1: {} + is-stream@3.0.0: {} + is-typed-array@1.1.15: dependencies: which-typed-array: 1.1.20 + is-what@5.5.0: {} + + is-windows@1.0.2: {} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 @@ -9466,6 +14594,12 @@ snapshots: isexe@2.0.0: {} + isexe@3.1.5: {} + + isexe@4.0.0: {} + + isomorphic.js@0.2.5: {} + istanbul-lib-coverage@3.2.2: {} istanbul-lib-instrument@5.2.1: @@ -9602,6 +14736,8 @@ snapshots: json-parse-better-errors@1.0.2: {} + json-parse-even-better-errors@2.3.1: {} + json-schema-traverse@1.0.0: {} json5@2.2.3: {} @@ -9614,8 +14750,15 @@ snapshots: knitwork@1.3.0: {} + kolorist@1.8.0: {} + lan-network@0.1.7: {} + launch-editor@2.13.2: + dependencies: + picocolors: 1.1.1 + shell-quote: 1.8.3 + lazystream@1.0.1: dependencies: readable-stream: 2.3.8 @@ -9624,6 +14767,10 @@ snapshots: leven@3.1.0: {} + lib0@0.2.117: + dependencies: + isomorphic.js: 0.2.5 + libbase64@1.3.0: {} libmime@5.3.8: @@ -9642,36 +14789,69 @@ snapshots: transitivePeerDependencies: - supports-color + lightningcss-android-arm64@1.32.0: + optional: true + lightningcss-darwin-arm64@1.27.0: optional: true + lightningcss-darwin-arm64@1.32.0: + optional: true + lightningcss-darwin-x64@1.27.0: optional: true + lightningcss-darwin-x64@1.32.0: + optional: true + lightningcss-freebsd-x64@1.27.0: optional: true + lightningcss-freebsd-x64@1.32.0: + optional: true + lightningcss-linux-arm-gnueabihf@1.27.0: optional: true + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true + lightningcss-linux-arm64-gnu@1.27.0: optional: true + lightningcss-linux-arm64-gnu@1.32.0: + optional: true + lightningcss-linux-arm64-musl@1.27.0: optional: true + lightningcss-linux-arm64-musl@1.32.0: + optional: true + lightningcss-linux-x64-gnu@1.27.0: optional: true + lightningcss-linux-x64-gnu@1.32.0: + optional: true + lightningcss-linux-x64-musl@1.27.0: optional: true + lightningcss-linux-x64-musl@1.32.0: + optional: true + lightningcss-win32-arm64-msvc@1.27.0: optional: true + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + lightningcss-win32-x64-msvc@1.27.0: optional: true + lightningcss-win32-x64-msvc@1.32.0: + optional: true + lightningcss@1.27.0: dependencies: detect-libc: 1.0.3 @@ -9687,10 +14867,28 @@ snapshots: lightningcss-win32-arm64-msvc: 1.27.0 lightningcss-win32-x64-msvc: 1.27.0 + lightningcss@1.32.0: + dependencies: + detect-libc: 2.1.2 + 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 + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} + linkifyjs@4.3.2: {} + listhen@1.10.0: dependencies: '@parcel/watcher': 2.5.6 @@ -9732,14 +14930,24 @@ snapshots: lodash.isarguments@3.1.0: {} + lodash.memoize@4.1.2: {} + lodash.throttle@4.1.1: {} + lodash.uniq@4.5.0: {} + lodash@4.18.1: {} log-symbols@2.2.0: dependencies: chalk: 2.4.2 + logs-sdk@0.0.6: + dependencies: + magic-string: 0.30.21 + oxc-parser: 0.126.0 + unplugin: 3.0.0 + long@5.3.2: {} loose-envify@1.4.0: @@ -9763,6 +14971,20 @@ snapshots: lru.min@1.1.4: {} + magic-regexp@0.10.0: + dependencies: + estree-walker: 3.0.3 + magic-string: 0.30.21 + mlly: 1.8.2 + regexp-tree: 0.1.27 + type-level-regexp: 0.1.17 + ufo: 1.6.4 + unplugin: 2.3.11 + + magic-string-ast@1.0.3: + dependencies: + magic-string: 0.30.21 + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -9787,12 +15009,18 @@ snapshots: dependencies: tmpl: 1.0.5 + marked@17.0.6: {} + marky@1.3.0: {} math-intrinsics@1.1.0: {} mdn-data@2.0.14: {} + mdn-data@2.0.28: {} + + mdn-data@2.27.1: {} + memoize-one@5.2.1: {} merge-options@3.0.4: @@ -10001,6 +15229,8 @@ snapshots: mimic-fn@1.2.0: {} + mimic-fn@4.0.0: {} + minimatch@10.2.5: dependencies: brace-expansion: 5.0.5 @@ -10025,6 +15255,8 @@ snapshots: dependencies: minipass: 7.1.3 + mitt@3.0.1: {} + mkdirp@1.0.4: {} mlly@1.8.2: @@ -10034,10 +15266,37 @@ snapshots: pkg-types: 1.3.1 ufo: 1.6.4 + mocked-exports@0.1.1: {} + + motion-dom@12.38.0: + dependencies: + motion-utils: 12.36.0 + + motion-utils@12.36.0: {} + + motion-v@2.2.1(@vueuse/core@14.3.0(vue@3.5.34(typescript@5.9.3)))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(vue@3.5.34(typescript@5.9.3)): + dependencies: + '@vueuse/core': 14.3.0(vue@3.5.34(typescript@5.9.3)) + framer-motion: 12.38.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + hey-listen: 1.0.8 + motion-dom: 12.38.0 + motion-utils: 12.36.0 + vue: 3.5.34(typescript@5.9.3) + transitivePeerDependencies: + - '@emotion/is-prop-valid' + - react + - react-dom + + mri@1.2.0: {} + + mrmime@2.0.1: {} + ms@2.0.0: {} ms@2.1.3: {} + muggle-string@0.4.1: {} + mysql2@3.15.3: dependencies: aws-ssl-profiles: 1.1.2 @@ -10062,12 +15321,16 @@ snapshots: nanoid@3.3.12: {} - nativewind@4.2.3(react-native-reanimated@4.0.3(@babel/core@7.29.0)(react-native-worklets@0.4.2(@babel/core@7.29.0)(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-svg@15.11.2(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.19): + nanoid@5.1.11: {} + + nanotar@0.2.1: {} + + nativewind@4.2.3(react-native-reanimated@4.0.3(@babel/core@7.29.0)(react-native-worklets@0.4.2(@babel/core@7.29.0)(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-svg@15.11.2(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.19(yaml@2.8.4)): dependencies: comment-json: 4.6.2 debug: 4.4.3 - react-native-css-interop: 0.2.3(react-native-reanimated@4.0.3(@babel/core@7.29.0)(react-native-worklets@0.4.2(@babel/core@7.29.0)(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-svg@15.11.2(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.19) - tailwindcss: 3.4.19 + react-native-css-interop: 0.2.3(react-native-reanimated@4.0.3(@babel/core@7.29.0)(react-native-worklets@0.4.2(@babel/core@7.29.0)(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-svg@15.11.2(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.19(yaml@2.8.4)) + tailwindcss: 3.4.19(yaml@2.8.4) transitivePeerDependencies: - react - react-native @@ -10082,7 +15345,7 @@ snapshots: nested-error-stacks@2.0.1: {} - nitropack@2.13.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3): + nitropack@2.13.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3)(oxc-parser@0.126.0): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@rollup/plugin-alias': 6.0.0(rollup@4.60.3) @@ -10147,7 +15410,111 @@ snapshots: uncrypto: 0.1.3 unctx: 2.5.0 unenv: 2.0.0-rc.24 - unimport: 6.2.0 + unimport: 6.2.0(oxc-parser@0.126.0) + unplugin-utils: 0.3.1 + unstorage: 1.17.5(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1) + untyped: 2.0.0 + unwasm: 0.5.3 + youch: 4.1.1 + youch-core: 0.3.3 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bare-abort-controller + - bare-buffer + - better-sqlite3 + - drizzle-orm + - encoding + - idb-keyval + - mysql2 + - oxc-parser + - react-native-b4a + - rolldown + - sqlite3 + - supports-color + - uploadthing + + nitropack@2.13.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3)(oxc-parser@0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)): + dependencies: + '@cloudflare/kv-asset-handler': 0.4.2 + '@rollup/plugin-alias': 6.0.0(rollup@4.60.3) + '@rollup/plugin-commonjs': 29.0.2(rollup@4.60.3) + '@rollup/plugin-inject': 5.0.5(rollup@4.60.3) + '@rollup/plugin-json': 6.1.0(rollup@4.60.3) + '@rollup/plugin-node-resolve': 16.0.3(rollup@4.60.3) + '@rollup/plugin-replace': 6.0.3(rollup@4.60.3) + '@rollup/plugin-terser': 1.0.0(rollup@4.60.3) + '@vercel/nft': 1.5.0(rollup@4.60.3) + archiver: 7.0.1 + c12: 3.3.4(magicast@0.5.2) + chokidar: 5.0.0 + citty: 0.2.2 + compatx: 0.2.0 + confbox: 0.2.4 + consola: 3.4.2 + cookie-es: 2.0.1 + croner: 10.0.1 + crossws: 0.3.5 + db0: 0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3) + defu: 6.1.7 + destr: 2.0.5 + dot-prop: 10.1.0 + esbuild: 0.28.0 + escape-string-regexp: 5.0.0 + etag: 1.8.1 + exsolve: 1.0.8 + globby: 16.2.0 + gzip-size: 7.0.0 + h3: 1.15.11 + hookable: 5.5.3 + httpxy: 0.5.1 + ioredis: 5.10.1 + jiti: 2.7.0 + klona: 2.0.6 + knitwork: 1.3.0 + listhen: 1.10.0 + magic-string: 0.30.21 + magicast: 0.5.2 + mime: 4.1.0 + mlly: 1.8.2 + node-fetch-native: 1.6.7 + node-mock-http: 1.0.4 + ofetch: 1.5.1 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.1 + pretty-bytes: 7.1.0 + radix3: 1.1.2 + rollup: 4.60.3 + rollup-plugin-visualizer: 7.0.1(rollup@4.60.3) + scule: 1.3.0 + semver: 7.7.4 + serve-placeholder: 2.0.2 + serve-static: 2.2.1 + source-map: 0.7.6 + std-env: 4.1.0 + ufo: 1.6.4 + ultrahtml: 1.6.0 + uncrypto: 0.1.3 + unctx: 2.5.0 + unenv: 2.0.0-rc.24 + unimport: 6.2.0(oxc-parser@0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)) unplugin-utils: 0.3.1 unstorage: 1.17.5(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1) untyped: 2.0.0 @@ -10221,12 +15588,158 @@ snapshots: semver: 7.7.4 validate-npm-package-name: 5.0.1 + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + npm-run-path@6.0.0: + dependencies: + path-key: 4.0.0 + unicorn-magic: 0.3.0 + nth-check@2.1.1: dependencies: boolbase: 1.0.0 nullthrows@1.1.1: {} + nuxt@4.1.3(@electric-sql/pglite@0.4.1)(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.34)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.2)(mysql2@3.15.3)(rollup@4.60.3)(terser@5.46.2)(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(yaml@2.8.4): + dependencies: + '@nuxt/cli': 3.35.1(@nuxt/schema@4.1.3)(cac@6.7.14)(magicast@0.5.2) + '@nuxt/devalue': 2.0.2 + '@nuxt/devtools': 2.7.0(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3)) + '@nuxt/kit': 4.1.3(magicast@0.5.2) + '@nuxt/schema': 4.1.3 + '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.1.3(magicast@0.5.2)) + '@nuxt/vite-builder': 4.1.3(@types/node@22.19.17)(lightningcss@1.32.0)(magicast@0.5.2)(rollup@4.60.3)(terser@5.46.2)(typescript@5.9.3)(vue@3.5.34(typescript@5.9.3))(yaml@2.8.4) + '@unhead/vue': 2.1.13(vue@3.5.34(typescript@5.9.3)) + '@vue/shared': 3.5.34 + c12: 3.3.4(magicast@0.5.2) + chokidar: 4.0.3 + compatx: 0.2.0 + consola: 3.4.2 + cookie-es: 2.0.1 + defu: 6.1.7 + destr: 2.0.5 + devalue: 5.8.0 + errx: 0.1.0 + esbuild: 0.25.12 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + exsolve: 1.0.8 + h3: 1.15.11 + hookable: 5.5.3 + ignore: 7.0.5 + impound: 1.1.5 + jiti: 2.7.0 + klona: 2.0.6 + knitwork: 1.3.0 + magic-string: 0.30.21 + mlly: 1.8.2 + mocked-exports: 0.1.1 + nanotar: 0.2.1 + nitropack: 2.13.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3)(oxc-parser@0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)) + nypm: 0.6.6 + ofetch: 1.5.1 + ohash: 2.0.11 + on-change: 6.0.2 + oxc-minify: 0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + oxc-parser: 0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + oxc-transform: 0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + oxc-walker: 0.5.2(oxc-parser@0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)) + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.1 + radix3: 1.1.2 + scule: 1.3.0 + semver: 7.7.4 + std-env: 3.10.0 + tinyglobby: 0.2.16 + ufo: 1.6.4 + ultrahtml: 1.6.0 + uncrypto: 0.1.3 + unctx: 2.5.0 + unimport: 5.7.0 + unplugin: 2.3.11 + unplugin-vue-router: 0.15.0(@vue/compiler-sfc@3.5.34)(vue-router@4.6.4(vue@3.5.34(typescript@5.9.3)))(vue@3.5.34(typescript@5.9.3)) + unstorage: 1.17.5(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1) + untyped: 2.0.0 + vue: 3.5.34(typescript@5.9.3) + vue-bundle-renderer: 2.2.0 + vue-devtools-stub: 0.1.0 + vue-router: 4.6.4(vue@3.5.34(typescript@5.9.3)) + optionalDependencies: + '@parcel/watcher': 2.5.6 + '@types/node': 22.19.17 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@biomejs/biome' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@emnapi/core' + - '@emnapi/runtime' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - '@vue/compiler-sfc' + - aws4fetch + - bare-abort-controller + - bare-buffer + - better-sqlite3 + - bufferutil + - cac + - commander + - db0 + - drizzle-orm + - encoding + - eslint + - idb-keyval + - ioredis + - less + - lightningcss + - magicast + - meow + - mysql2 + - optionator + - oxlint + - react-native-b4a + - rolldown + - rollup + - sass + - sass-embedded + - sqlite3 + - stylelint + - stylus + - sugarss + - supports-color + - terser + - tsx + - typescript + - uploadthing + - utf-8-validate + - vite + - vls + - vti + - vue-tsc + - xml2js + - yaml + + nypm@0.6.6: + dependencies: + citty: 0.2.2 + pathe: 2.0.3 + tinyexec: 1.1.2 + ob1@0.82.5: dependencies: flow-enums-runtime: 0.0.6 @@ -10253,14 +15766,20 @@ snapshots: has-symbols: 1.1.0 object-keys: 1.1.1 + obug@2.1.1: {} + ofetch@1.5.1: dependencies: destr: 2.0.5 node-fetch-native: 1.6.7 ufo: 1.6.4 + ofetch@2.0.0-alpha.3: {} + ohash@2.0.11: {} + on-change@6.0.2: {} + on-exit-leak-free@2.1.2: {} on-finished@2.3.0: @@ -10281,6 +15800,17 @@ snapshots: dependencies: mimic-fn: 1.2.0 + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + open@10.2.0: + dependencies: + default-browser: 5.5.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + wsl-utils: 0.1.0 + open@11.0.0: dependencies: default-browser: 5.5.0 @@ -10325,6 +15855,103 @@ snapshots: strip-ansi: 5.2.0 wcwidth: 1.0.1 + orderedmap@2.1.1: {} + + oxc-minify@0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2): + optionalDependencies: + '@oxc-minify/binding-android-arm64': 0.94.0 + '@oxc-minify/binding-darwin-arm64': 0.94.0 + '@oxc-minify/binding-darwin-x64': 0.94.0 + '@oxc-minify/binding-freebsd-x64': 0.94.0 + '@oxc-minify/binding-linux-arm-gnueabihf': 0.94.0 + '@oxc-minify/binding-linux-arm-musleabihf': 0.94.0 + '@oxc-minify/binding-linux-arm64-gnu': 0.94.0 + '@oxc-minify/binding-linux-arm64-musl': 0.94.0 + '@oxc-minify/binding-linux-riscv64-gnu': 0.94.0 + '@oxc-minify/binding-linux-s390x-gnu': 0.94.0 + '@oxc-minify/binding-linux-x64-gnu': 0.94.0 + '@oxc-minify/binding-linux-x64-musl': 0.94.0 + '@oxc-minify/binding-wasm32-wasi': 0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@oxc-minify/binding-win32-arm64-msvc': 0.94.0 + '@oxc-minify/binding-win32-x64-msvc': 0.94.0 + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + + oxc-parser@0.126.0: + dependencies: + '@oxc-project/types': 0.126.0 + optionalDependencies: + '@oxc-parser/binding-android-arm-eabi': 0.126.0 + '@oxc-parser/binding-android-arm64': 0.126.0 + '@oxc-parser/binding-darwin-arm64': 0.126.0 + '@oxc-parser/binding-darwin-x64': 0.126.0 + '@oxc-parser/binding-freebsd-x64': 0.126.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.126.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.126.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.126.0 + '@oxc-parser/binding-linux-arm64-musl': 0.126.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.126.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.126.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.126.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.126.0 + '@oxc-parser/binding-linux-x64-gnu': 0.126.0 + '@oxc-parser/binding-linux-x64-musl': 0.126.0 + '@oxc-parser/binding-openharmony-arm64': 0.126.0 + '@oxc-parser/binding-wasm32-wasi': 0.126.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.126.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.126.0 + '@oxc-parser/binding-win32-x64-msvc': 0.126.0 + + oxc-parser@0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2): + dependencies: + '@oxc-project/types': 0.94.0 + optionalDependencies: + '@oxc-parser/binding-android-arm64': 0.94.0 + '@oxc-parser/binding-darwin-arm64': 0.94.0 + '@oxc-parser/binding-darwin-x64': 0.94.0 + '@oxc-parser/binding-freebsd-x64': 0.94.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.94.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.94.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.94.0 + '@oxc-parser/binding-linux-arm64-musl': 0.94.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.94.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.94.0 + '@oxc-parser/binding-linux-x64-gnu': 0.94.0 + '@oxc-parser/binding-linux-x64-musl': 0.94.0 + '@oxc-parser/binding-wasm32-wasi': 0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@oxc-parser/binding-win32-arm64-msvc': 0.94.0 + '@oxc-parser/binding-win32-x64-msvc': 0.94.0 + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + + oxc-transform@0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2): + optionalDependencies: + '@oxc-transform/binding-android-arm64': 0.94.0 + '@oxc-transform/binding-darwin-arm64': 0.94.0 + '@oxc-transform/binding-darwin-x64': 0.94.0 + '@oxc-transform/binding-freebsd-x64': 0.94.0 + '@oxc-transform/binding-linux-arm-gnueabihf': 0.94.0 + '@oxc-transform/binding-linux-arm-musleabihf': 0.94.0 + '@oxc-transform/binding-linux-arm64-gnu': 0.94.0 + '@oxc-transform/binding-linux-arm64-musl': 0.94.0 + '@oxc-transform/binding-linux-riscv64-gnu': 0.94.0 + '@oxc-transform/binding-linux-s390x-gnu': 0.94.0 + '@oxc-transform/binding-linux-x64-gnu': 0.94.0 + '@oxc-transform/binding-linux-x64-musl': 0.94.0 + '@oxc-transform/binding-wasm32-wasi': 0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@oxc-transform/binding-win32-arm64-msvc': 0.94.0 + '@oxc-transform/binding-win32-x64-msvc': 0.94.0 + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' + + oxc-walker@0.5.2(oxc-parser@0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)): + dependencies: + magic-regexp: 0.10.0 + oxc-parser: 0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -10333,6 +15960,10 @@ snapshots: dependencies: yocto-queue: 0.1.0 + p-limit@7.3.0: + dependencies: + yocto-queue: 1.2.2 + p-locate@4.1.0: dependencies: p-limit: 2.3.0 @@ -10345,11 +15976,20 @@ snapshots: package-json-from-dist@1.0.1: {} + package-manager-detector@1.6.0: {} + parse-json@4.0.0: dependencies: error-ex: 1.3.4 json-parse-better-errors: 1.0.2 + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.29.0 + error-ex: 1.3.4 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + parse-png@2.1.0: dependencies: pngjs: 3.4.0 @@ -10361,12 +16001,16 @@ snapshots: parseurl@1.3.3: {} + path-browserify@1.0.1: {} + path-exists@4.0.0: {} path-is-absolute@1.0.1: {} path-key@3.1.1: {} + path-key@4.0.0: {} + path-parse@1.0.7: {} path-scurry@1.11.1: @@ -10387,6 +16031,8 @@ snapshots: peberminta@0.9.0: {} + perfect-debounce@1.0.0: {} + perfect-debounce@2.1.0: {} pg-cloudflare@1.3.0: @@ -10478,6 +16124,43 @@ snapshots: possible-typed-array-names@1.1.0: {} + postcss-calc@10.1.1(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + postcss-selector-parser: 7.1.1 + postcss-value-parser: 4.2.0 + + postcss-colormin@7.0.10(postcss@8.5.14): + dependencies: + '@colordx/core': 5.4.3 + browserslist: 4.28.2 + caniuse-api: 3.0.0 + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + + postcss-convert-values@7.0.12(postcss@8.5.14): + dependencies: + browserslist: 4.28.2 + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + + postcss-discard-comments@7.0.8(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + postcss-selector-parser: 7.1.1 + + postcss-discard-duplicates@7.0.4(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + + postcss-discard-empty@7.0.3(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + + postcss-discard-overridden@7.0.3(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + postcss-import@15.1.0(postcss@8.5.14): dependencies: postcss: 8.5.14 @@ -10490,23 +16173,143 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.14 - postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.14): + postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.14)(yaml@2.8.4): dependencies: lilconfig: 3.1.3 optionalDependencies: jiti: 1.21.7 postcss: 8.5.14 + yaml: 2.8.4 + + postcss-merge-longhand@7.0.7(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + stylehacks: 7.0.11(postcss@8.5.14) + + postcss-merge-rules@7.0.11(postcss@8.5.14): + dependencies: + browserslist: 4.28.2 + caniuse-api: 3.0.0 + cssnano-utils: 5.0.3(postcss@8.5.14) + postcss: 8.5.14 + postcss-selector-parser: 7.1.1 + + postcss-minify-font-values@7.0.3(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + + postcss-minify-gradients@7.0.5(postcss@8.5.14): + dependencies: + '@colordx/core': 5.4.3 + cssnano-utils: 5.0.3(postcss@8.5.14) + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + + postcss-minify-params@7.0.9(postcss@8.5.14): + dependencies: + browserslist: 4.28.2 + cssnano-utils: 5.0.3(postcss@8.5.14) + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + + postcss-minify-selectors@7.1.2(postcss@8.5.14): + dependencies: + browserslist: 4.28.2 + caniuse-api: 3.0.0 + cssesc: 3.0.0 + postcss: 8.5.14 + postcss-selector-parser: 7.1.1 postcss-nested@6.2.0(postcss@8.5.14): dependencies: postcss: 8.5.14 postcss-selector-parser: 6.1.2 + postcss-normalize-charset@7.0.3(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + + postcss-normalize-display-values@7.0.3(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + + postcss-normalize-positions@7.0.4(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + + postcss-normalize-repeat-style@7.0.4(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + + postcss-normalize-string@7.0.3(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + + postcss-normalize-timing-functions@7.0.3(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + + postcss-normalize-unicode@7.0.9(postcss@8.5.14): + dependencies: + browserslist: 4.28.2 + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + + postcss-normalize-url@7.0.3(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + + postcss-normalize-whitespace@7.0.3(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + + postcss-ordered-values@7.0.4(postcss@8.5.14): + dependencies: + cssnano-utils: 5.0.3(postcss@8.5.14) + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + + postcss-reduce-initial@7.0.9(postcss@8.5.14): + dependencies: + browserslist: 4.28.2 + caniuse-api: 3.0.0 + postcss: 8.5.14 + + postcss-reduce-transforms@7.0.3(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss-selector-parser@7.1.1: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-svgo@7.1.3(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + postcss-value-parser: 4.2.0 + svgo: 4.0.1 + + postcss-unique-selectors@7.0.7(postcss@8.5.14): + dependencies: + postcss: 8.5.14 + postcss-selector-parser: 7.1.1 + postcss-value-parser@4.2.0: {} postcss@8.4.49: @@ -10591,6 +16394,82 @@ snapshots: retry: 0.12.0 signal-exit: 3.0.7 + prosemirror-changeset@2.4.1: + dependencies: + prosemirror-transform: 1.12.0 + + prosemirror-commands@1.7.1: + dependencies: + prosemirror-model: 1.25.4 + prosemirror-state: 1.4.4 + prosemirror-transform: 1.12.0 + + prosemirror-dropcursor@1.8.2: + dependencies: + prosemirror-state: 1.4.4 + prosemirror-transform: 1.12.0 + prosemirror-view: 1.41.8 + + prosemirror-gapcursor@1.4.1: + dependencies: + prosemirror-keymap: 1.2.3 + prosemirror-model: 1.25.4 + prosemirror-state: 1.4.4 + prosemirror-view: 1.41.8 + + prosemirror-history@1.5.0: + dependencies: + prosemirror-state: 1.4.4 + prosemirror-transform: 1.12.0 + prosemirror-view: 1.41.8 + rope-sequence: 1.3.4 + + prosemirror-keymap@1.2.3: + dependencies: + prosemirror-state: 1.4.4 + w3c-keyname: 2.2.8 + + prosemirror-model@1.25.4: + dependencies: + orderedmap: 2.1.1 + + prosemirror-schema-list@1.5.1: + dependencies: + prosemirror-model: 1.25.4 + prosemirror-state: 1.4.4 + prosemirror-transform: 1.12.0 + + prosemirror-state@1.4.4: + dependencies: + prosemirror-model: 1.25.4 + prosemirror-transform: 1.12.0 + prosemirror-view: 1.41.8 + + prosemirror-tables@1.8.5: + dependencies: + prosemirror-keymap: 1.2.3 + prosemirror-model: 1.25.4 + prosemirror-state: 1.4.4 + prosemirror-transform: 1.12.0 + prosemirror-view: 1.41.8 + + prosemirror-transform@1.12.0: + dependencies: + prosemirror-model: 1.25.4 + + prosemirror-view@1.41.8: + dependencies: + prosemirror-model: 1.25.4 + prosemirror-state: 1.4.4 + prosemirror-transform: 1.12.0 + + publint@0.3.20: + dependencies: + '@publint/pack': 0.1.4 + package-manager-detector: 1.6.0 + picocolors: 1.1.1 + sade: 1.8.1 + punycode@2.3.1: {} pure-rand@6.1.0: {} @@ -10603,6 +16482,8 @@ snapshots: quansync@0.2.11: {} + quansync@1.0.0: {} + query-string@7.1.3: dependencies: decode-uri-component: 0.2.2 @@ -10622,6 +16503,11 @@ snapshots: range-parser@1.2.1: {} + rc9@2.1.2: + dependencies: + defu: 6.1.7 + destr: 2.0.5 + rc9@3.0.1: dependencies: defu: 6.1.7 @@ -10682,7 +16568,7 @@ snapshots: sf-symbols-typescript: 2.2.0 use-latest-callback: 0.2.6(react@19.0.0) - react-native-css-interop@0.2.3(react-native-reanimated@4.0.3(@babel/core@7.29.0)(react-native-worklets@0.4.2(@babel/core@7.29.0)(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-svg@15.11.2(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.19): + react-native-css-interop@0.2.3(react-native-reanimated@4.0.3(@babel/core@7.29.0)(react-native-worklets@0.4.2(@babel/core@7.29.0)(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-safe-area-context@5.4.0(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native-svg@15.11.2(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tailwindcss@3.4.19(yaml@2.8.4)): dependencies: '@babel/helper-module-imports': 7.28.6 '@babel/traverse': 7.29.0 @@ -10693,7 +16579,7 @@ snapshots: react-native: 0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0) react-native-reanimated: 4.0.3(@babel/core@7.29.0)(react-native-worklets@0.4.2(@babel/core@7.29.0)(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0))(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) semver: 7.7.4 - tailwindcss: 3.4.19 + tailwindcss: 3.4.19(yaml@2.8.4) optionalDependencies: react-native-safe-area-context: 5.4.0(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) react-native-svg: 15.11.2(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) @@ -10838,6 +16724,11 @@ snapshots: dependencies: pify: 2.3.0 + read-yaml-file@2.1.0: + dependencies: + js-yaml: 4.1.1 + strip-bom: 4.0.0 + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 @@ -10864,6 +16755,8 @@ snapshots: dependencies: picomatch: 2.3.2 + readdirp@4.1.2: {} + readdirp@5.0.0: {} real-require@0.2.0: {} @@ -10882,6 +16775,8 @@ snapshots: regenerator-runtime@0.13.11: {} + regexp-tree@0.1.27: {} + regexpu-core@6.4.0: dependencies: regenerate: 1.4.2 @@ -10897,6 +16792,22 @@ snapshots: dependencies: jsesc: 3.1.0 + reka-ui@2.9.6(vue@3.5.34(typescript@5.9.3)): + dependencies: + '@floating-ui/dom': 1.7.6 + '@floating-ui/vue': 1.1.11(vue@3.5.34(typescript@5.9.3)) + '@internationalized/date': 3.12.1 + '@internationalized/number': 3.6.6 + '@tanstack/vue-virtual': 3.13.24(vue@3.5.34(typescript@5.9.3)) + '@vueuse/core': 14.3.0(vue@3.5.34(typescript@5.9.3)) + '@vueuse/shared': 14.3.0(vue@3.5.34(typescript@5.9.3)) + aria-hidden: 1.2.6 + defu: 6.1.7 + ohash: 2.0.11 + vue: 3.5.34(typescript@5.9.3) + transitivePeerDependencies: + - '@vue/composition-api' + remeda@2.33.4: {} require-directory@2.1.1: {} @@ -10944,6 +16855,8 @@ snapshots: reusify@1.1.0: {} + rfdc@1.4.1: {} + rimraf@3.0.2: dependencies: glob: 7.2.3 @@ -10953,6 +16866,15 @@ snapshots: react: 19.0.0 react-native: 0.79.6(@babel/core@7.29.0)(@types/react@19.0.14)(react@19.0.0) + rollup-plugin-visualizer@6.0.11(rollup@4.60.3): + dependencies: + open: 8.4.2 + picomatch: 4.0.4 + source-map: 0.7.6 + yargs: 17.7.2 + optionalDependencies: + rollup: 4.60.3 + rollup-plugin-visualizer@7.0.1(rollup@4.60.3): dependencies: open: 11.0.0 @@ -10993,6 +16915,8 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.3 fsevents: 2.3.3 + rope-sequence@1.3.4: {} + rtl-detect@1.1.2: {} run-applescript@7.1.0: {} @@ -11001,6 +16925,10 @@ snapshots: dependencies: queue-microtask: 1.2.3 + sade@1.8.1: + dependencies: + mri: 1.2.0 + safe-buffer@5.1.2: {} safe-buffer@5.2.1: {} @@ -11154,6 +17082,16 @@ snapshots: signal-exit@4.1.0: {} + simple-git@3.36.0: + dependencies: + '@kwsites/file-exists': 1.1.1 + '@kwsites/promise-deferred': 1.1.1 + '@simple-git/args-pathspec': 1.0.3 + '@simple-git/argv-parser': 1.1.1 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + simple-plist@1.3.1: dependencies: bplist-creator: 0.1.0 @@ -11164,6 +17102,12 @@ snapshots: dependencies: is-arrayish: 0.3.4 + sirv@3.0.2: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + sisteransi@1.0.5: {} slash@3.0.0: {} @@ -11198,6 +17142,8 @@ snapshots: source-map@0.7.6: {} + speakingurl@14.0.1: {} + split-on-first@1.1.0: {} split2@4.2.0: {} @@ -11206,6 +17152,8 @@ snapshots: sqlstring@2.3.3: {} + srvx@0.11.15: {} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -11279,6 +17227,12 @@ snapshots: dependencies: ansi-regex: 6.2.2 + strip-bom@4.0.0: {} + + strip-comments-strings@1.2.0: {} + + strip-final-newline@3.0.0: {} + strip-json-comments@2.0.1: {} strip-literal@3.1.0: @@ -11290,8 +17244,18 @@ snapshots: '@types/node': 22.19.17 qs: 6.15.1 + structured-clone-es@1.0.0: {} + + structured-clone-es@2.0.0: {} + structured-headers@0.4.1: {} + stylehacks@7.0.11(postcss@8.5.14): + dependencies: + browserslist: 4.28.2 + postcss: 8.5.14 + postcss-selector-parser: 7.1.1 + sucrase@3.35.0: dependencies: '@jridgewell/gen-mapping': 0.3.13 @@ -11312,6 +17276,10 @@ snapshots: tinyglobby: 0.2.16 ts-interface-checker: 0.1.13 + superjson@2.2.6: + dependencies: + copy-anything: 4.0.5 + supports-color@10.2.2: {} supports-color@5.5.0: @@ -11333,9 +17301,27 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + svgo@4.0.1: + dependencies: + commander: 11.1.0 + css-select: 5.2.2 + css-tree: 3.2.1 + css-what: 6.2.2 + csso: 5.0.5 + picocolors: 1.1.1 + sax: 1.6.0 + tagged-tag@1.0.0: {} - tailwindcss@3.4.19: + tailwind-merge@3.5.0: {} + + tailwind-variants@3.2.2(tailwind-merge@3.5.0)(tailwindcss@4.2.4): + dependencies: + tailwindcss: 4.2.4 + optionalDependencies: + tailwind-merge: 3.5.0 + + tailwindcss@3.4.19(yaml@2.8.4): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -11354,7 +17340,7 @@ snapshots: postcss: 8.5.14 postcss-import: 15.1.0(postcss@8.5.14) postcss-js: 4.1.0(postcss@8.5.14) - postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.14) + postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.14)(yaml@2.8.4) postcss-nested: 6.2.0(postcss@8.5.14) postcss-selector-parser: 6.1.2 resolve: 1.22.12 @@ -11363,6 +17349,10 @@ snapshots: - tsx - yaml + tailwindcss@4.2.4: {} + + tapable@2.3.3: {} + tar-stream@3.2.0: dependencies: b4a: 1.8.1 @@ -11435,12 +17425,18 @@ snapshots: throat@5.0.0: {} + tiny-inflate@1.0.3: {} + + tiny-invariant@1.3.3: {} + tinybench@2.9.0: {} tinyclip@0.1.12: {} tinyexec@0.3.2: {} + tinyexec@1.1.2: {} + tinyglobby@0.2.16: dependencies: fdir: 6.5.0(picomatch@4.0.4) @@ -11460,6 +17456,8 @@ snapshots: toidentifier@1.0.1: {} + totalist@3.0.1: {} + tr46@0.0.3: {} ts-interface-checker@0.1.13: {} @@ -11476,14 +17474,31 @@ snapshots: dependencies: tagged-tag: 1.0.0 + type-level-regexp@0.1.17: {} + typescript@5.8.3: {} typescript@5.9.3: {} + ufo@1.6.1: {} + ufo@1.6.4: {} ultrahtml@1.6.0: {} + unconfig-core@7.5.0: + dependencies: + '@quansync/fs': 1.0.0 + quansync: 1.0.0 + + unconfig@7.5.0: + dependencies: + '@quansync/fs': 1.0.0 + defu: 6.1.7 + jiti: 2.7.0 + quansync: 1.0.0 + unconfig-core: 7.5.0 + uncrypto@0.1.3: {} unctx@2.5.0: @@ -11505,6 +17520,10 @@ snapshots: dependencies: pathe: 2.0.3 + unhead@2.1.13: + dependencies: + hookable: 6.1.1 + unicode-canonical-property-names-ecmascript@2.0.1: {} unicode-match-property-ecmascript@2.0.0: @@ -11516,9 +17535,34 @@ snapshots: unicode-property-aliases-ecmascript@2.2.0: {} + unicorn-magic@0.3.0: {} + unicorn-magic@0.4.0: {} - unimport@6.2.0: + unifont@0.7.4: + dependencies: + css-tree: 3.2.1 + ofetch: 1.5.1 + ohash: 2.0.11 + + unimport@5.7.0: + 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.2 + pathe: 2.0.3 + picomatch: 4.0.4 + pkg-types: 2.3.1 + scule: 1.3.0 + strip-literal: 3.1.0 + tinyglobby: 0.2.16 + unplugin: 2.3.11 + unplugin-utils: 0.3.1 + + unimport@6.2.0(oxc-parser@0.126.0): dependencies: acorn: 8.16.0 escape-string-regexp: 5.0.0 @@ -11534,6 +17578,27 @@ snapshots: tinyglobby: 0.2.16 unplugin: 3.0.0 unplugin-utils: 0.3.1 + optionalDependencies: + oxc-parser: 0.126.0 + + unimport@6.2.0(oxc-parser@0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)): + 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.2 + pathe: 2.0.3 + picomatch: 4.0.4 + pkg-types: 2.3.1 + scule: 1.3.0 + strip-literal: 3.1.0 + tinyglobby: 0.2.16 + unplugin: 3.0.0 + unplugin-utils: 0.3.1 + optionalDependencies: + oxc-parser: 0.94.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) unique-string@2.0.0: dependencies: @@ -11541,11 +17606,67 @@ snapshots: unpipe@1.0.0: {} + unplugin-auto-import@21.0.0(@nuxt/kit@4.4.4(magicast@0.5.2))(@vueuse/core@14.3.0(vue@3.5.34(typescript@5.9.3))): + dependencies: + local-pkg: 1.1.2 + magic-string: 0.30.21 + picomatch: 4.0.4 + unimport: 5.7.0 + unplugin: 2.3.11 + unplugin-utils: 0.3.1 + optionalDependencies: + '@nuxt/kit': 4.4.4(magicast@0.5.2) + '@vueuse/core': 14.3.0(vue@3.5.34(typescript@5.9.3)) + + unplugin-utils@0.2.5: + dependencies: + pathe: 2.0.3 + picomatch: 4.0.4 + unplugin-utils@0.3.1: dependencies: pathe: 2.0.3 picomatch: 4.0.4 + unplugin-vue-components@32.0.0(@nuxt/kit@4.4.4(magicast@0.5.2))(vue@3.5.34(typescript@5.9.3)): + dependencies: + chokidar: 5.0.0 + local-pkg: 1.1.2 + magic-string: 0.30.21 + mlly: 1.8.2 + obug: 2.1.1 + picomatch: 4.0.4 + tinyglobby: 0.2.16 + unplugin: 3.0.0 + unplugin-utils: 0.3.1 + vue: 3.5.34(typescript@5.9.3) + optionalDependencies: + '@nuxt/kit': 4.4.4(magicast@0.5.2) + + unplugin-vue-router@0.15.0(@vue/compiler-sfc@3.5.34)(vue-router@4.6.4(vue@3.5.34(typescript@5.9.3)))(vue@3.5.34(typescript@5.9.3)): + dependencies: + '@vue-macros/common': 3.0.0-beta.16(vue@3.5.34(typescript@5.9.3)) + '@vue/compiler-sfc': 3.5.34 + '@vue/language-core': 3.2.8 + ast-walker-scope: 0.8.3 + chokidar: 4.0.3 + json5: 2.2.3 + local-pkg: 1.1.2 + magic-string: 0.30.21 + mlly: 1.8.2 + muggle-string: 0.4.1 + pathe: 2.0.3 + picomatch: 4.0.4 + scule: 1.3.0 + tinyglobby: 0.2.16 + unplugin: 2.3.11 + unplugin-utils: 0.2.5 + yaml: 2.8.4 + optionalDependencies: + vue-router: 4.6.4(vue@3.5.34(typescript@5.9.3)) + transitivePeerDependencies: + - vue + unplugin@2.3.11: dependencies: '@jridgewell/remapping': 2.3.5 @@ -11638,17 +17759,39 @@ snapshots: optionalDependencies: typescript: 5.8.3 + valibot@1.4.0(typescript@5.9.3): + optionalDependencies: + typescript: 5.9.3 + validate-npm-package-name@5.0.1: {} vary@1.1.2: {} - vite-node@2.1.9(@types/node@22.19.17)(lightningcss@1.27.0)(terser@5.46.2): + vaul-vue@0.4.1(reka-ui@2.9.6(vue@3.5.34(typescript@5.9.3)))(vue@3.5.34(typescript@5.9.3)): + dependencies: + '@vueuse/core': 10.11.1(vue@3.5.34(typescript@5.9.3)) + reka-ui: 2.9.6(vue@3.5.34(typescript@5.9.3)) + vue: 3.5.34(typescript@5.9.3) + transitivePeerDependencies: + - '@vue/composition-api' + + vite-dev-rpc@1.1.0(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)): + dependencies: + birpc: 2.9.0 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + vite-hot-client: 2.2.0(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + + vite-hot-client@2.2.0(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)): + dependencies: + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + + vite-node@2.1.9(@types/node@22.19.17)(lightningcss@1.32.0)(terser@5.46.2): dependencies: cac: 6.7.14 debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 1.1.2 - vite: 5.4.21(@types/node@22.19.17)(lightningcss@1.27.0)(terser@5.46.2) + vite: 5.4.21(@types/node@22.19.17)(lightningcss@1.32.0)(terser@5.46.2) transitivePeerDependencies: - '@types/node' - less @@ -11660,7 +17803,89 @@ snapshots: - supports-color - terser - vite@5.4.21(@types/node@22.19.17)(lightningcss@1.27.0)(terser@5.46.2): + vite-node@3.2.4(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4): + dependencies: + cac: 6.7.14 + debug: 4.4.3 + es-module-lexer: 1.7.0 + pathe: 2.0.3 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + transitivePeerDependencies: + - '@types/node' + - jiti + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + vite-plugin-checker@0.11.0(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)): + dependencies: + '@babel/code-frame': 7.29.0 + chokidar: 4.0.3 + npm-run-path: 6.0.0 + picocolors: 1.1.1 + picomatch: 4.0.4 + tiny-invariant: 1.3.3 + tinyglobby: 0.2.16 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + vscode-uri: 3.1.0 + optionalDependencies: + typescript: 5.9.3 + + vite-plugin-inspect@11.3.3(@nuxt/kit@3.21.4(magicast@0.3.5))(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)): + dependencies: + ansis: 4.2.0 + debug: 4.4.3 + error-stack-parser-es: 1.0.5 + ohash: 2.0.11 + open: 10.2.0 + perfect-debounce: 2.1.0 + sirv: 3.0.2 + unplugin-utils: 0.3.1 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + vite-dev-rpc: 1.1.0(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + optionalDependencies: + '@nuxt/kit': 3.21.4(magicast@0.3.5) + transitivePeerDependencies: + - supports-color + + vite-plugin-inspect@12.0.0-beta.1(@nuxt/kit@4.4.4(magicast@0.5.2))(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)): + dependencies: + '@vitejs/devtools-kit': 0.1.21(typescript@5.9.3)(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4)) + ansis: 4.2.0 + error-stack-parser-es: 1.0.5 + obug: 2.1.1 + ohash: 2.0.11 + open: 11.0.0 + perfect-debounce: 2.1.0 + sirv: 3.0.2 + unplugin-utils: 0.3.1 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + optionalDependencies: + '@nuxt/kit': 4.4.4(magicast@0.5.2) + transitivePeerDependencies: + - '@modelcontextprotocol/sdk' + - bufferutil + - typescript + - utf-8-validate + + vite-plugin-vue-tracer@1.3.0(vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4))(vue@3.5.34(typescript@5.9.3)): + dependencies: + estree-walker: 3.0.3 + exsolve: 1.0.8 + magic-string: 0.30.21 + pathe: 2.0.3 + source-map-js: 1.2.1 + vite: 7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4) + vue: 3.5.34(typescript@5.9.3) + + vite@5.4.21(@types/node@22.19.17)(lightningcss@1.32.0)(terser@5.46.2): dependencies: esbuild: 0.21.5 postcss: 8.5.14 @@ -11668,13 +17893,29 @@ snapshots: optionalDependencies: '@types/node': 22.19.17 fsevents: 2.3.3 - lightningcss: 1.27.0 + lightningcss: 1.32.0 terser: 5.46.2 - vitest@2.1.9(@types/node@22.19.17)(lightningcss@1.27.0)(terser@5.46.2): + vite@7.3.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.46.2)(yaml@2.8.4): + dependencies: + esbuild: 0.27.7 + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 + postcss: 8.5.14 + rollup: 4.60.3 + tinyglobby: 0.2.16 + optionalDependencies: + '@types/node': 22.19.17 + fsevents: 2.3.3 + jiti: 2.7.0 + lightningcss: 1.32.0 + terser: 5.46.2 + yaml: 2.8.4 + + vitest@2.1.9(@types/node@22.19.17)(lightningcss@1.32.0)(terser@5.46.2): dependencies: '@vitest/expect': 2.1.9 - '@vitest/mocker': 2.1.9(vite@5.4.21(@types/node@22.19.17)(lightningcss@1.27.0)(terser@5.46.2)) + '@vitest/mocker': 2.1.9(vite@5.4.21(@types/node@22.19.17)(lightningcss@1.32.0)(terser@5.46.2)) '@vitest/pretty-format': 2.1.9 '@vitest/runner': 2.1.9 '@vitest/snapshot': 2.1.9 @@ -11690,8 +17931,8 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.1.1 tinyrainbow: 1.2.0 - vite: 5.4.21(@types/node@22.19.17)(lightningcss@1.27.0)(terser@5.46.2) - vite-node: 2.1.9(@types/node@22.19.17)(lightningcss@1.27.0)(terser@5.46.2) + vite: 5.4.21(@types/node@22.19.17)(lightningcss@1.32.0)(terser@5.46.2) + vite-node: 2.1.9(@types/node@22.19.17)(lightningcss@1.32.0)(terser@5.46.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.19.17 @@ -11710,6 +17951,41 @@ snapshots: void-elements@3.1.0: {} + vscode-uri@3.1.0: {} + + vue-bundle-renderer@2.2.0: + dependencies: + ufo: 1.6.4 + + vue-component-type-helpers@3.2.8: {} + + vue-demi@0.14.10(vue@3.5.34(typescript@5.9.3)): + dependencies: + vue: 3.5.34(typescript@5.9.3) + + vue-devtools-stub@0.1.0: {} + + vue-router@4.6.4(vue@3.5.34(typescript@5.9.3)): + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.5.34(typescript@5.9.3) + + vue-virtual-scroller@3.0.3(vue@3.5.34(typescript@5.9.3)): + dependencies: + vue: 3.5.34(typescript@5.9.3) + + vue@3.5.34(typescript@5.9.3): + dependencies: + '@vue/compiler-dom': 3.5.34 + '@vue/compiler-sfc': 3.5.34 + '@vue/runtime-dom': 3.5.34 + '@vue/server-renderer': 3.5.34(vue@3.5.34(typescript@5.9.3)) + '@vue/shared': 3.5.34 + optionalDependencies: + typescript: 5.9.3 + + w3c-keyname@2.2.8: {} + walker@1.0.8: dependencies: makeerror: 1.0.12 @@ -11741,6 +18017,8 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 + wheel-gestures@2.2.48: {} + which-typed-array@1.1.20: dependencies: available-typed-arrays: 1.0.7 @@ -11755,6 +18033,14 @@ snapshots: dependencies: isexe: 2.0.0 + which@5.0.0: + dependencies: + isexe: 3.1.5 + + which@6.0.1: + dependencies: + isexe: 4.0.0 + why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0 @@ -11787,6 +18073,16 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 3.0.7 + write-file-atomic@5.0.1: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 4.1.0 + + write-yaml-file@5.0.0: + dependencies: + js-yaml: 4.1.1 + write-file-atomic: 5.0.1 + ws@6.2.3: dependencies: async-limiter: 1.0.1 @@ -11795,6 +18091,10 @@ snapshots: ws@8.20.0: {} + wsl-utils@0.1.0: + dependencies: + is-wsl: 3.1.1 + wsl-utils@0.3.1: dependencies: is-wsl: 3.1.1 @@ -11816,12 +18116,19 @@ snapshots: xtend@4.0.2: {} + y-protocols@1.0.7(yjs@13.6.30): + dependencies: + lib0: 0.2.117 + yjs: 13.6.30 + y18n@5.0.8: {} yallist@3.1.1: {} yallist@5.0.0: {} + yaml@2.8.4: {} + yargs-parser@21.1.1: {} yargs-parser@22.0.0: {} @@ -11845,8 +18152,14 @@ snapshots: y18n: 5.0.8 yargs-parser: 22.0.0 + yjs@13.6.30: + dependencies: + lib0: 0.2.117 + yocto-queue@0.1.0: {} + yocto-queue@1.2.2: {} + youch-core@0.3.3: dependencies: '@poppinss/exception': 1.2.3 @@ -11873,8 +18186,9 @@ snapshots: zod@3.25.76: {} - zustand@5.0.13(@types/react@19.0.14)(react@19.0.0)(use-sync-external-store@1.6.0(react@19.0.0)): + zustand@5.0.13(@types/react@19.0.14)(immer@11.1.7)(react@19.0.0)(use-sync-external-store@1.6.0(react@19.0.0)): optionalDependencies: '@types/react': 19.0.14 + immer: 11.1.7 react: 19.0.0 use-sync-external-store: 1.6.0(react@19.0.0)