diff --git a/.browserslistrc b/.browserslistrc index ade73929df..827f5c2464 100644 --- a/.browserslistrc +++ b/.browserslistrc @@ -1,6 +1,6 @@ -Chrome >=79 -ChromeAndroid >=79 -Firefox >=70 -Edge >=79 -Safari >=14 -iOS >=14 \ No newline at end of file +Chrome >=89 +ChromeAndroid >=89 +Firefox >=75 +Edge >=89 +Safari >=15 +iOS >=15 \ No newline at end of file diff --git a/android/app/build.gradle b/android/app/build.gradle index c7cb3390af..af75881764 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId "app.vger.voyager" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 227 - versionName "1.48.0" + versionCode 228 + versionName "2.0.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" aaptOptions { // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. diff --git a/android/capacitor.settings.gradle b/android/capacitor.settings.gradle index d68051d7d0..7625dae699 100644 --- a/android/capacitor.settings.gradle +++ b/android/capacitor.settings.gradle @@ -1,54 +1,54 @@ // DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN include ':capacitor-android' -project(':capacitor-android').projectDir = new File('../node_modules/.pnpm/@capacitor+android@5.7.0_@capacitor+core@5.7.0/node_modules/@capacitor/android/capacitor') +project(':capacitor-android').projectDir = new File('../node_modules/.pnpm/@capacitor+android@5.7.4_@capacitor+core@5.7.4/node_modules/@capacitor/android/capacitor') include ':capacitor-community-app-icon' -project(':capacitor-community-app-icon').projectDir = new File('../node_modules/.pnpm/@capacitor-community+app-icon@4.1.1_@capacitor+core@5.7.0/node_modules/@capacitor-community/app-icon/android') +project(':capacitor-community-app-icon').projectDir = new File('../node_modules/.pnpm/@capacitor-community+app-icon@4.1.1_@capacitor+core@5.7.4/node_modules/@capacitor-community/app-icon/android') include ':capacitor-app' -project(':capacitor-app').projectDir = new File('../node_modules/.pnpm/@capacitor+app@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/app/android') +project(':capacitor-app').projectDir = new File('../node_modules/.pnpm/@capacitor+app@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/app/android') include ':capacitor-browser' -project(':capacitor-browser').projectDir = new File('../node_modules/.pnpm/@capacitor+browser@5.2.0_patch_hash=m4ddgv4ucvx4w6engzasoi47iy_@capacitor+core@5.7.0/node_modules/@capacitor/browser/android') +project(':capacitor-browser').projectDir = new File('../node_modules/.pnpm/@capacitor+browser@5.2.0_patch_hash=m4ddgv4ucvx4w6engzasoi47iy_@capacitor+core@5.7.4/node_modules/@capacitor/browser/android') include ':capacitor-filesystem' -project(':capacitor-filesystem').projectDir = new File('../node_modules/.pnpm/@capacitor+filesystem@5.2.1_@capacitor+core@5.7.0/node_modules/@capacitor/filesystem/android') +project(':capacitor-filesystem').projectDir = new File('../node_modules/.pnpm/@capacitor+filesystem@5.2.1_@capacitor+core@5.7.4/node_modules/@capacitor/filesystem/android') include ':capacitor-haptics' -project(':capacitor-haptics').projectDir = new File('../node_modules/.pnpm/voyager-capacitor-haptics@5.0.7_@capacitor+core@5.7.0/node_modules/voyager-capacitor-haptics/android') +project(':capacitor-haptics').projectDir = new File('../node_modules/.pnpm/voyager-capacitor-haptics@5.0.7_@capacitor+core@5.7.4/node_modules/voyager-capacitor-haptics/android') include ':capacitor-keyboard' -project(':capacitor-keyboard').projectDir = new File('../node_modules/.pnpm/@capacitor+keyboard@5.0.8_@capacitor+core@5.7.0/node_modules/@capacitor/keyboard/android') +project(':capacitor-keyboard').projectDir = new File('../node_modules/.pnpm/@capacitor+keyboard@5.0.8_@capacitor+core@5.7.4/node_modules/@capacitor/keyboard/android') include ':capacitor-network' -project(':capacitor-network').projectDir = new File('../node_modules/.pnpm/@capacitor+network@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/network/android') +project(':capacitor-network').projectDir = new File('../node_modules/.pnpm/@capacitor+network@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/network/android') include ':capacitor-share' -project(':capacitor-share').projectDir = new File('../node_modules/.pnpm/@capacitor+share@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/share/android') +project(':capacitor-share').projectDir = new File('../node_modules/.pnpm/@capacitor+share@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/share/android') include ':capacitor-status-bar' -project(':capacitor-status-bar').projectDir = new File('../node_modules/.pnpm/@capacitor+status-bar@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/status-bar/android') +project(':capacitor-status-bar').projectDir = new File('../node_modules/.pnpm/@capacitor+status-bar@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/status-bar/android') include ':capacitor-android-nav-mode' -project(':capacitor-android-nav-mode').projectDir = new File('../node_modules/.pnpm/capacitor-android-nav-mode@0.0.1_@capacitor+core@5.7.0/node_modules/capacitor-android-nav-mode/android') +project(':capacitor-android-nav-mode').projectDir = new File('../node_modules/.pnpm/capacitor-android-nav-mode@0.0.1_@capacitor+core@5.7.4/node_modules/capacitor-android-nav-mode/android') include ':capacitor-application-context' -project(':capacitor-application-context').projectDir = new File('../node_modules/.pnpm/capacitor-application-context@0.0.1_@capacitor+core@5.7.0/node_modules/capacitor-application-context/android') +project(':capacitor-application-context').projectDir = new File('../node_modules/.pnpm/capacitor-application-context@0.0.1_@capacitor+core@5.7.4/node_modules/capacitor-application-context/android') include ':capacitor-biometric-lock' -project(':capacitor-biometric-lock').projectDir = new File('../node_modules/.pnpm/capacitor-biometric-lock@0.1.1_@capacitor+core@5.7.0/node_modules/capacitor-biometric-lock/android') +project(':capacitor-biometric-lock').projectDir = new File('../node_modules/.pnpm/capacitor-biometric-lock@0.1.1_@capacitor+core@5.7.4/node_modules/capacitor-biometric-lock/android') include ':capacitor-clear-cache' -project(':capacitor-clear-cache').projectDir = new File('../node_modules/.pnpm/capacitor-clear-cache@0.0.1_@capacitor+core@5.7.0/node_modules/capacitor-clear-cache/android') +project(':capacitor-clear-cache').projectDir = new File('../node_modules/.pnpm/capacitor-clear-cache@0.0.1_@capacitor+core@5.7.4/node_modules/capacitor-clear-cache/android') include ':capacitor-launch-native' -project(':capacitor-launch-native').projectDir = new File('../node_modules/.pnpm/capacitor-launch-native@0.0.2_@capacitor+core@5.7.0/node_modules/capacitor-launch-native/android') +project(':capacitor-launch-native').projectDir = new File('../node_modules/.pnpm/capacitor-launch-native@0.0.2_@capacitor+core@5.7.4/node_modules/capacitor-launch-native/android') include ':capacitor-plugin-safe-area' -project(':capacitor-plugin-safe-area').projectDir = new File('../node_modules/.pnpm/capacitor-plugin-safe-area@2.0.6_@capacitor+core@5.7.0/node_modules/capacitor-plugin-safe-area/android') +project(':capacitor-plugin-safe-area').projectDir = new File('../node_modules/.pnpm/capacitor-plugin-safe-area@2.0.6_@capacitor+core@5.7.4/node_modules/capacitor-plugin-safe-area/android') include ':capacitor-stash-media' -project(':capacitor-stash-media').projectDir = new File('../node_modules/.pnpm/capacitor-stash-media@1.0.0_@capacitor+core@5.7.0/node_modules/capacitor-stash-media/android') +project(':capacitor-stash-media').projectDir = new File('../node_modules/.pnpm/capacitor-stash-media@1.0.0_@capacitor+core@5.7.4/node_modules/capacitor-stash-media/android') include ':capacitor-tips' -project(':capacitor-tips').projectDir = new File('../node_modules/.pnpm/capacitor-tips@0.0.2_@capacitor+core@5.7.0/node_modules/capacitor-tips/android') +project(':capacitor-tips').projectDir = new File('../node_modules/.pnpm/capacitor-tips@0.0.2_@capacitor+core@5.7.4/node_modules/capacitor-tips/android') diff --git a/ios/App/App.xcodeproj/project.pbxproj b/ios/App/App.xcodeproj/project.pbxproj index 73dbf7d270..2efffa4640 100644 --- a/ios/App/App.xcodeproj/project.pbxproj +++ b/ios/App/App.xcodeproj/project.pbxproj @@ -607,7 +607,7 @@ CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = SYTN44U2UN; INFOPLIST_FILE = App/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MARKETING_VERSION = 1.0; OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\""; @@ -630,7 +630,7 @@ CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = SYTN44U2UN; INFOPLIST_FILE = App/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = app.vger.voyager; diff --git a/ios/App/App/Info.plist b/ios/App/App/Info.plist index 13b6e0bc5d..9d4c737476 100644 --- a/ios/App/App/Info.plist +++ b/ios/App/App/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.48.0 + 2.0.0 CFBundleURLTypes @@ -32,7 +32,7 @@ CFBundleVersion - 227 + 228 ITSAppUsesNonExemptEncryption LSRequiresIPhoneOS diff --git a/ios/App/Podfile b/ios/App/Podfile index 526c1daba1..3768154409 100644 --- a/ios/App/Podfile +++ b/ios/App/Podfile @@ -1,4 +1,4 @@ -require_relative '../../node_modules/.pnpm/@capacitor+ios@5.7.0_@capacitor+core@5.7.0/node_modules/@capacitor/ios/scripts/pods_helpers' +require_relative '../../node_modules/.pnpm/@capacitor+ios@5.7.4_@capacitor+core@5.7.4/node_modules/@capacitor/ios/scripts/pods_helpers' platform :ios, '13.0' use_frameworks! @@ -9,25 +9,25 @@ use_frameworks! install! 'cocoapods', :disable_input_output_paths => true def capacitor_pods - pod 'Capacitor', :path => '../../node_modules/.pnpm/@capacitor+ios@5.7.0_@capacitor+core@5.7.0/node_modules/@capacitor/ios' - pod 'CapacitorCordova', :path => '../../node_modules/.pnpm/@capacitor+ios@5.7.0_@capacitor+core@5.7.0/node_modules/@capacitor/ios' - pod 'CapacitorCommunityAppIcon', :path => '../../node_modules/.pnpm/@capacitor-community+app-icon@4.1.1_@capacitor+core@5.7.0/node_modules/@capacitor-community/app-icon' - pod 'CapacitorApp', :path => '../../node_modules/.pnpm/@capacitor+app@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/app' - pod 'CapacitorBrowser', :path => '../../node_modules/.pnpm/@capacitor+browser@5.2.0_patch_hash=m4ddgv4ucvx4w6engzasoi47iy_@capacitor+core@5.7.0/node_modules/@capacitor/browser' - pod 'CapacitorFilesystem', :path => '../../node_modules/.pnpm/@capacitor+filesystem@5.2.1_@capacitor+core@5.7.0/node_modules/@capacitor/filesystem' - pod 'CapacitorHaptics', :path => '../../node_modules/.pnpm/voyager-capacitor-haptics@5.0.7_@capacitor+core@5.7.0/node_modules/voyager-capacitor-haptics' - pod 'CapacitorKeyboard', :path => '../../node_modules/.pnpm/@capacitor+keyboard@5.0.8_@capacitor+core@5.7.0/node_modules/@capacitor/keyboard' - pod 'CapacitorNetwork', :path => '../../node_modules/.pnpm/@capacitor+network@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/network' - pod 'CapacitorShare', :path => '../../node_modules/.pnpm/@capacitor+share@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/share' - pod 'CapacitorStatusBar', :path => '../../node_modules/.pnpm/@capacitor+status-bar@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/status-bar' - pod 'CapacitorAndroidNavMode', :path => '../../node_modules/.pnpm/capacitor-android-nav-mode@0.0.1_@capacitor+core@5.7.0/node_modules/capacitor-android-nav-mode' - pod 'CapacitorApplicationContext', :path => '../../node_modules/.pnpm/capacitor-application-context@0.0.1_@capacitor+core@5.7.0/node_modules/capacitor-application-context' - pod 'CapacitorBiometricLock', :path => '../../node_modules/.pnpm/capacitor-biometric-lock@0.1.1_@capacitor+core@5.7.0/node_modules/capacitor-biometric-lock' - pod 'CapacitorClearCache', :path => '../../node_modules/.pnpm/capacitor-clear-cache@0.0.1_@capacitor+core@5.7.0/node_modules/capacitor-clear-cache' - pod 'CapacitorLaunchNative', :path => '../../node_modules/.pnpm/capacitor-launch-native@0.0.2_@capacitor+core@5.7.0/node_modules/capacitor-launch-native' - pod 'CapacitorPluginSafeArea', :path => '../../node_modules/.pnpm/capacitor-plugin-safe-area@2.0.6_@capacitor+core@5.7.0/node_modules/capacitor-plugin-safe-area' - pod 'CapacitorStashMedia', :path => '../../node_modules/.pnpm/capacitor-stash-media@1.0.0_@capacitor+core@5.7.0/node_modules/capacitor-stash-media' - pod 'CapacitorTips', :path => '../../node_modules/.pnpm/capacitor-tips@0.0.2_@capacitor+core@5.7.0/node_modules/capacitor-tips' + pod 'Capacitor', :path => '../../node_modules/.pnpm/@capacitor+ios@5.7.4_@capacitor+core@5.7.4/node_modules/@capacitor/ios' + pod 'CapacitorCordova', :path => '../../node_modules/.pnpm/@capacitor+ios@5.7.4_@capacitor+core@5.7.4/node_modules/@capacitor/ios' + pod 'CapacitorCommunityAppIcon', :path => '../../node_modules/.pnpm/@capacitor-community+app-icon@4.1.1_@capacitor+core@5.7.4/node_modules/@capacitor-community/app-icon' + pod 'CapacitorApp', :path => '../../node_modules/.pnpm/@capacitor+app@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/app' + pod 'CapacitorBrowser', :path => '../../node_modules/.pnpm/@capacitor+browser@5.2.0_patch_hash=m4ddgv4ucvx4w6engzasoi47iy_@capacitor+core@5.7.4/node_modules/@capacitor/browser' + pod 'CapacitorFilesystem', :path => '../../node_modules/.pnpm/@capacitor+filesystem@5.2.1_@capacitor+core@5.7.4/node_modules/@capacitor/filesystem' + pod 'CapacitorHaptics', :path => '../../node_modules/.pnpm/voyager-capacitor-haptics@5.0.7_@capacitor+core@5.7.4/node_modules/voyager-capacitor-haptics' + pod 'CapacitorKeyboard', :path => '../../node_modules/.pnpm/@capacitor+keyboard@5.0.8_@capacitor+core@5.7.4/node_modules/@capacitor/keyboard' + pod 'CapacitorNetwork', :path => '../../node_modules/.pnpm/@capacitor+network@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/network' + pod 'CapacitorShare', :path => '../../node_modules/.pnpm/@capacitor+share@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/share' + pod 'CapacitorStatusBar', :path => '../../node_modules/.pnpm/@capacitor+status-bar@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/status-bar' + pod 'CapacitorAndroidNavMode', :path => '../../node_modules/.pnpm/capacitor-android-nav-mode@0.0.1_@capacitor+core@5.7.4/node_modules/capacitor-android-nav-mode' + pod 'CapacitorApplicationContext', :path => '../../node_modules/.pnpm/capacitor-application-context@0.0.1_@capacitor+core@5.7.4/node_modules/capacitor-application-context' + pod 'CapacitorBiometricLock', :path => '../../node_modules/.pnpm/capacitor-biometric-lock@0.1.1_@capacitor+core@5.7.4/node_modules/capacitor-biometric-lock' + pod 'CapacitorClearCache', :path => '../../node_modules/.pnpm/capacitor-clear-cache@0.0.1_@capacitor+core@5.7.4/node_modules/capacitor-clear-cache' + pod 'CapacitorLaunchNative', :path => '../../node_modules/.pnpm/capacitor-launch-native@0.0.2_@capacitor+core@5.7.4/node_modules/capacitor-launch-native' + pod 'CapacitorPluginSafeArea', :path => '../../node_modules/.pnpm/capacitor-plugin-safe-area@2.0.6_@capacitor+core@5.7.4/node_modules/capacitor-plugin-safe-area' + pod 'CapacitorStashMedia', :path => '../../node_modules/.pnpm/capacitor-stash-media@1.0.0_@capacitor+core@5.7.4/node_modules/capacitor-stash-media' + pod 'CapacitorTips', :path => '../../node_modules/.pnpm/capacitor-tips@0.0.2_@capacitor+core@5.7.4/node_modules/capacitor-tips' end target 'App' do diff --git a/ios/App/Podfile.lock b/ios/App/Podfile.lock index d807ed48b1..abd68c748c 100644 --- a/ios/App/Podfile.lock +++ b/ios/App/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - Capacitor (5.7.0): + - Capacitor (5.7.4): - CapacitorCordova - CapacitorAndroidNavMode (0.0.1): - Capacitor @@ -15,7 +15,7 @@ PODS: - Capacitor - CapacitorCommunityAppIcon (4.1.1): - Capacitor - - CapacitorCordova (5.7.0) + - CapacitorCordova (5.7.4) - CapacitorFilesystem (5.2.1): - Capacitor - CapacitorHaptics (5.0.7): @@ -42,25 +42,25 @@ PODS: - SDWebImage/Core (5.17.0) DEPENDENCIES: - - "Capacitor (from `../../node_modules/.pnpm/@capacitor+ios@5.7.0_@capacitor+core@5.7.0/node_modules/@capacitor/ios`)" - - "CapacitorAndroidNavMode (from `../../node_modules/.pnpm/capacitor-android-nav-mode@0.0.1_@capacitor+core@5.7.0/node_modules/capacitor-android-nav-mode`)" - - "CapacitorApp (from `../../node_modules/.pnpm/@capacitor+app@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/app`)" - - "CapacitorApplicationContext (from `../../node_modules/.pnpm/capacitor-application-context@0.0.1_@capacitor+core@5.7.0/node_modules/capacitor-application-context`)" - - "CapacitorBiometricLock (from `../../node_modules/.pnpm/capacitor-biometric-lock@0.1.1_@capacitor+core@5.7.0/node_modules/capacitor-biometric-lock`)" - - "CapacitorBrowser (from `../../node_modules/.pnpm/@capacitor+browser@5.2.0_patch_hash=m4ddgv4ucvx4w6engzasoi47iy_@capacitor+core@5.7.0/node_modules/@capacitor/browser`)" - - "CapacitorClearCache (from `../../node_modules/.pnpm/capacitor-clear-cache@0.0.1_@capacitor+core@5.7.0/node_modules/capacitor-clear-cache`)" - - "CapacitorCommunityAppIcon (from `../../node_modules/.pnpm/@capacitor-community+app-icon@4.1.1_@capacitor+core@5.7.0/node_modules/@capacitor-community/app-icon`)" - - "CapacitorCordova (from `../../node_modules/.pnpm/@capacitor+ios@5.7.0_@capacitor+core@5.7.0/node_modules/@capacitor/ios`)" - - "CapacitorFilesystem (from `../../node_modules/.pnpm/@capacitor+filesystem@5.2.1_@capacitor+core@5.7.0/node_modules/@capacitor/filesystem`)" - - "CapacitorHaptics (from `../../node_modules/.pnpm/voyager-capacitor-haptics@5.0.7_@capacitor+core@5.7.0/node_modules/voyager-capacitor-haptics`)" - - "CapacitorKeyboard (from `../../node_modules/.pnpm/@capacitor+keyboard@5.0.8_@capacitor+core@5.7.0/node_modules/@capacitor/keyboard`)" - - "CapacitorLaunchNative (from `../../node_modules/.pnpm/capacitor-launch-native@0.0.2_@capacitor+core@5.7.0/node_modules/capacitor-launch-native`)" - - "CapacitorNetwork (from `../../node_modules/.pnpm/@capacitor+network@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/network`)" - - "CapacitorPluginSafeArea (from `../../node_modules/.pnpm/capacitor-plugin-safe-area@2.0.6_@capacitor+core@5.7.0/node_modules/capacitor-plugin-safe-area`)" - - "CapacitorShare (from `../../node_modules/.pnpm/@capacitor+share@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/share`)" - - "CapacitorStashMedia (from `../../node_modules/.pnpm/capacitor-stash-media@1.0.0_@capacitor+core@5.7.0/node_modules/capacitor-stash-media`)" - - "CapacitorStatusBar (from `../../node_modules/.pnpm/@capacitor+status-bar@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/status-bar`)" - - "CapacitorTips (from `../../node_modules/.pnpm/capacitor-tips@0.0.2_@capacitor+core@5.7.0/node_modules/capacitor-tips`)" + - "Capacitor (from `../../node_modules/.pnpm/@capacitor+ios@5.7.4_@capacitor+core@5.7.4/node_modules/@capacitor/ios`)" + - "CapacitorAndroidNavMode (from `../../node_modules/.pnpm/capacitor-android-nav-mode@0.0.1_@capacitor+core@5.7.4/node_modules/capacitor-android-nav-mode`)" + - "CapacitorApp (from `../../node_modules/.pnpm/@capacitor+app@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/app`)" + - "CapacitorApplicationContext (from `../../node_modules/.pnpm/capacitor-application-context@0.0.1_@capacitor+core@5.7.4/node_modules/capacitor-application-context`)" + - "CapacitorBiometricLock (from `../../node_modules/.pnpm/capacitor-biometric-lock@0.1.1_@capacitor+core@5.7.4/node_modules/capacitor-biometric-lock`)" + - "CapacitorBrowser (from `../../node_modules/.pnpm/@capacitor+browser@5.2.0_patch_hash=m4ddgv4ucvx4w6engzasoi47iy_@capacitor+core@5.7.4/node_modules/@capacitor/browser`)" + - "CapacitorClearCache (from `../../node_modules/.pnpm/capacitor-clear-cache@0.0.1_@capacitor+core@5.7.4/node_modules/capacitor-clear-cache`)" + - "CapacitorCommunityAppIcon (from `../../node_modules/.pnpm/@capacitor-community+app-icon@4.1.1_@capacitor+core@5.7.4/node_modules/@capacitor-community/app-icon`)" + - "CapacitorCordova (from `../../node_modules/.pnpm/@capacitor+ios@5.7.4_@capacitor+core@5.7.4/node_modules/@capacitor/ios`)" + - "CapacitorFilesystem (from `../../node_modules/.pnpm/@capacitor+filesystem@5.2.1_@capacitor+core@5.7.4/node_modules/@capacitor/filesystem`)" + - "CapacitorHaptics (from `../../node_modules/.pnpm/voyager-capacitor-haptics@5.0.7_@capacitor+core@5.7.4/node_modules/voyager-capacitor-haptics`)" + - "CapacitorKeyboard (from `../../node_modules/.pnpm/@capacitor+keyboard@5.0.8_@capacitor+core@5.7.4/node_modules/@capacitor/keyboard`)" + - "CapacitorLaunchNative (from `../../node_modules/.pnpm/capacitor-launch-native@0.0.2_@capacitor+core@5.7.4/node_modules/capacitor-launch-native`)" + - "CapacitorNetwork (from `../../node_modules/.pnpm/@capacitor+network@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/network`)" + - "CapacitorPluginSafeArea (from `../../node_modules/.pnpm/capacitor-plugin-safe-area@2.0.6_@capacitor+core@5.7.4/node_modules/capacitor-plugin-safe-area`)" + - "CapacitorShare (from `../../node_modules/.pnpm/@capacitor+share@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/share`)" + - "CapacitorStashMedia (from `../../node_modules/.pnpm/capacitor-stash-media@1.0.0_@capacitor+core@5.7.4/node_modules/capacitor-stash-media`)" + - "CapacitorStatusBar (from `../../node_modules/.pnpm/@capacitor+status-bar@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/status-bar`)" + - "CapacitorTips (from `../../node_modules/.pnpm/capacitor-tips@0.0.2_@capacitor+core@5.7.4/node_modules/capacitor-tips`)" SPEC REPOS: trunk: @@ -68,46 +68,46 @@ SPEC REPOS: EXTERNAL SOURCES: Capacitor: - :path: "../../node_modules/.pnpm/@capacitor+ios@5.7.0_@capacitor+core@5.7.0/node_modules/@capacitor/ios" + :path: "../../node_modules/.pnpm/@capacitor+ios@5.7.4_@capacitor+core@5.7.4/node_modules/@capacitor/ios" CapacitorAndroidNavMode: - :path: "../../node_modules/.pnpm/capacitor-android-nav-mode@0.0.1_@capacitor+core@5.7.0/node_modules/capacitor-android-nav-mode" + :path: "../../node_modules/.pnpm/capacitor-android-nav-mode@0.0.1_@capacitor+core@5.7.4/node_modules/capacitor-android-nav-mode" CapacitorApp: - :path: "../../node_modules/.pnpm/@capacitor+app@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/app" + :path: "../../node_modules/.pnpm/@capacitor+app@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/app" CapacitorApplicationContext: - :path: "../../node_modules/.pnpm/capacitor-application-context@0.0.1_@capacitor+core@5.7.0/node_modules/capacitor-application-context" + :path: "../../node_modules/.pnpm/capacitor-application-context@0.0.1_@capacitor+core@5.7.4/node_modules/capacitor-application-context" CapacitorBiometricLock: - :path: "../../node_modules/.pnpm/capacitor-biometric-lock@0.1.1_@capacitor+core@5.7.0/node_modules/capacitor-biometric-lock" + :path: "../../node_modules/.pnpm/capacitor-biometric-lock@0.1.1_@capacitor+core@5.7.4/node_modules/capacitor-biometric-lock" CapacitorBrowser: - :path: "../../node_modules/.pnpm/@capacitor+browser@5.2.0_patch_hash=m4ddgv4ucvx4w6engzasoi47iy_@capacitor+core@5.7.0/node_modules/@capacitor/browser" + :path: "../../node_modules/.pnpm/@capacitor+browser@5.2.0_patch_hash=m4ddgv4ucvx4w6engzasoi47iy_@capacitor+core@5.7.4/node_modules/@capacitor/browser" CapacitorClearCache: - :path: "../../node_modules/.pnpm/capacitor-clear-cache@0.0.1_@capacitor+core@5.7.0/node_modules/capacitor-clear-cache" + :path: "../../node_modules/.pnpm/capacitor-clear-cache@0.0.1_@capacitor+core@5.7.4/node_modules/capacitor-clear-cache" CapacitorCommunityAppIcon: - :path: "../../node_modules/.pnpm/@capacitor-community+app-icon@4.1.1_@capacitor+core@5.7.0/node_modules/@capacitor-community/app-icon" + :path: "../../node_modules/.pnpm/@capacitor-community+app-icon@4.1.1_@capacitor+core@5.7.4/node_modules/@capacitor-community/app-icon" CapacitorCordova: - :path: "../../node_modules/.pnpm/@capacitor+ios@5.7.0_@capacitor+core@5.7.0/node_modules/@capacitor/ios" + :path: "../../node_modules/.pnpm/@capacitor+ios@5.7.4_@capacitor+core@5.7.4/node_modules/@capacitor/ios" CapacitorFilesystem: - :path: "../../node_modules/.pnpm/@capacitor+filesystem@5.2.1_@capacitor+core@5.7.0/node_modules/@capacitor/filesystem" + :path: "../../node_modules/.pnpm/@capacitor+filesystem@5.2.1_@capacitor+core@5.7.4/node_modules/@capacitor/filesystem" CapacitorHaptics: - :path: "../../node_modules/.pnpm/voyager-capacitor-haptics@5.0.7_@capacitor+core@5.7.0/node_modules/voyager-capacitor-haptics" + :path: "../../node_modules/.pnpm/voyager-capacitor-haptics@5.0.7_@capacitor+core@5.7.4/node_modules/voyager-capacitor-haptics" CapacitorKeyboard: - :path: "../../node_modules/.pnpm/@capacitor+keyboard@5.0.8_@capacitor+core@5.7.0/node_modules/@capacitor/keyboard" + :path: "../../node_modules/.pnpm/@capacitor+keyboard@5.0.8_@capacitor+core@5.7.4/node_modules/@capacitor/keyboard" CapacitorLaunchNative: - :path: "../../node_modules/.pnpm/capacitor-launch-native@0.0.2_@capacitor+core@5.7.0/node_modules/capacitor-launch-native" + :path: "../../node_modules/.pnpm/capacitor-launch-native@0.0.2_@capacitor+core@5.7.4/node_modules/capacitor-launch-native" CapacitorNetwork: - :path: "../../node_modules/.pnpm/@capacitor+network@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/network" + :path: "../../node_modules/.pnpm/@capacitor+network@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/network" CapacitorPluginSafeArea: - :path: "../../node_modules/.pnpm/capacitor-plugin-safe-area@2.0.6_@capacitor+core@5.7.0/node_modules/capacitor-plugin-safe-area" + :path: "../../node_modules/.pnpm/capacitor-plugin-safe-area@2.0.6_@capacitor+core@5.7.4/node_modules/capacitor-plugin-safe-area" CapacitorShare: - :path: "../../node_modules/.pnpm/@capacitor+share@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/share" + :path: "../../node_modules/.pnpm/@capacitor+share@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/share" CapacitorStashMedia: - :path: "../../node_modules/.pnpm/capacitor-stash-media@1.0.0_@capacitor+core@5.7.0/node_modules/capacitor-stash-media" + :path: "../../node_modules/.pnpm/capacitor-stash-media@1.0.0_@capacitor+core@5.7.4/node_modules/capacitor-stash-media" CapacitorStatusBar: - :path: "../../node_modules/.pnpm/@capacitor+status-bar@5.0.7_@capacitor+core@5.7.0/node_modules/@capacitor/status-bar" + :path: "../../node_modules/.pnpm/@capacitor+status-bar@5.0.7_@capacitor+core@5.7.4/node_modules/@capacitor/status-bar" CapacitorTips: - :path: "../../node_modules/.pnpm/capacitor-tips@0.0.2_@capacitor+core@5.7.0/node_modules/capacitor-tips" + :path: "../../node_modules/.pnpm/capacitor-tips@0.0.2_@capacitor+core@5.7.4/node_modules/capacitor-tips" SPEC CHECKSUMS: - Capacitor: fc155ee2ee45a2093d716f13cf5aa5a865e2d85a + Capacitor: 4fe9adf012caceb4c71ffea2f1f4d005cdcbeea7 CapacitorAndroidNavMode: b7bc1b2505e8991bb71999565b9ef3124a42e414 CapacitorApp: 17fecd0e6cb23feafac7eb0939417389038b0979 CapacitorApplicationContext: 487dced4aebde33c94a3bf8fd0e519ab59a17eb8 @@ -115,7 +115,7 @@ SPEC CHECKSUMS: CapacitorBrowser: a6deae9e5bf87f62b62a753cff7992c5def9e771 CapacitorClearCache: eea16556316968f5b61bad605454440a95e746ba CapacitorCommunityAppIcon: f984c79ffec7b26a0448ad588a221f0531763202 - CapacitorCordova: e825fce1a2e14e4b5730641c7e098dccf74397b7 + CapacitorCordova: a6e87fccc0307dee7aec1560ec9398485f2b0ce7 CapacitorFilesystem: 9f3e3c7fea2fff12f46dd5b07a2914f2103e4cfc CapacitorHaptics: f017117f49e0f34558106ad129cca79e04e56f51 CapacitorKeyboard: aec619a578235c6ce279075009a2689c2cf5c42c @@ -128,6 +128,6 @@ SPEC CHECKSUMS: CapacitorTips: 045758a9354574aa4807265e1bccbca0919ad861 SDWebImage: 750adf017a315a280c60fde706ab1e552a3ae4e9 -PODFILE CHECKSUM: ece4b0af3a53cc0c831201881b55120e087b79b2 +PODFILE CHECKSUM: 33682fc67d44e96ad7a5def822ab27314ee08d2e COCOAPODS: 1.12.1 diff --git a/package.json b/package.json index d77c1d8f5e..bdaa5f3b09 100644 --- a/package.json +++ b/package.json @@ -2,11 +2,11 @@ "name": "voyager", "description": "A progressive webapp Lemmy client", "private": true, - "version": "1.48.0", + "version": "2.0.0", "type": "module", - "packageManager": "pnpm@8.15.4+sha256.cea6d0bdf2de3a0549582da3983c70c92ffc577ff4410cbf190817ddc35137c2", + "packageManager": "pnpm@8.15.5+sha256.4b4efa12490e5055d59b9b9fc9438b7d581a6b7af3b5675eb5c5f447cee1a589", "scripts": { - "dev": "node server.mjs", + "dev": "vite", "build": "./build.sh", "preview": "vite preview", "test": "vitest", @@ -22,43 +22,42 @@ }, "pnpm": { "overrides": { - "@ionic/core": "npm:voyager-ionic-core" + "@ionic/core": "npm:voyager-ionic-core@8.0.0-beta.3" }, "patchedDependencies": { - "@capacitor/browser@5.2.0": "patches/@capacitor__browser@5.2.0.patch" + "@capacitor/browser@5.2.0": "patches/@capacitor__browser@5.2.0.patch", + "voyager-ionic-core@8.0.0-beta.3": "patches/voyager-ionic-core@8.0.0-beta.3.patch" } }, "dependencies": { "compression": "^1.7.4", - "express": "^4.18.2", - "http-proxy-middleware": "^2.0.6", - "vite-express": "^0.15.0" + "express": "^4.19.1" }, "devDependencies": { "@aeharding/remark-lemmy-spoiler": "^1.0.1", "@babel/preset-react": "^7.23.3", "@babel/preset-typescript": "^7.23.3", "@capacitor-community/app-icon": "^4.1.1", - "@capacitor/android": "5.7.0", + "@capacitor/android": "5.7.4", "@capacitor/app": "^5.0.7", "@capacitor/assets": "^3.0.4", "@capacitor/browser": "^5.2.0", - "@capacitor/cli": "5.7.0", - "@capacitor/core": "5.7.0", + "@capacitor/cli": "5.7.4", + "@capacitor/core": "5.7.4", "@capacitor/filesystem": "^5.2.1", "@capacitor/haptics": "npm:voyager-capacitor-haptics@^5.0.7", - "@capacitor/ios": "5.7.0", + "@capacitor/ios": "5.7.4", "@capacitor/keyboard": "^5.0.8", "@capacitor/network": "^5.0.7", "@capacitor/share": "^5.0.7", "@capacitor/status-bar": "^5.0.7", "@github/markdown-toolbar-element": "^2.2.1", - "@ionic/core": "npm:voyager-ionic-core@^7.7.3", - "@ionic/react": "^7.7.3", - "@ionic/react-router": "^7.7.3", + "@ionic/core": "npm:voyager-ionic-core@8.0.0-beta.3", + "@ionic/react": "8.0.0-beta.3", + "@ionic/react-router": "8.0.0-beta.3", "@linaria/core": "^6.1.0", "@linaria/react": "^6.1.0", - "@reduxjs/toolkit": "^2.2.1", + "@reduxjs/toolkit": "^2.2.2", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^14.2.1", "@testing-library/user-event": "^14.5.2", @@ -78,8 +77,8 @@ "@typescript-eslint/parser": "^7.0.2", "@vitejs/plugin-legacy": "^5.3.1", "@vitejs/plugin-react": "^4.2.1", - "@wyw-in-js/babel-preset": "^0.4.1", - "@wyw-in-js/vite": "^0.4.1", + "@wyw-in-js/babel-preset": "^0.5.0", + "@wyw-in-js/vite": "^0.5.0", "capacitor-android-nav-mode": "^0.0.1", "capacitor-application-context": "^0.0.1", "capacitor-biometric-lock": "^0.1.1", @@ -91,7 +90,7 @@ "capacitor-tips": "^0.0.2", "compare-versions": "^6.1.0", "date-fns": "^3.3.1", - "dexie": "^3.2.5", + "dexie": "^3.2.7", "dexie-react-hooks": "^1.1.7", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", @@ -99,10 +98,10 @@ "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "history": "^4.10.1", - "ionicons": "^7.2.2", + "ionicons": "^7.3.0", "js-cookie": "^3.0.5", "jsdom": "^24.0.0", - "lemmy-js-client": "0.19.4-alpha.4", + "lemmy-js-client": "0.19.4-alpha.10", "lodash": "^4.17.21", "mdast-util-gfm-autolink-literal-lemmy": "^3.0.0", "mdast-util-gfm-strikethrough": "^2.0.0", @@ -137,16 +136,16 @@ "remark-stringify": "^11.0.0", "remark-supersub-lemmy": "^1.0.0", "terser": "^5.28.1", - "typescript": "^5.3.3", + "typescript": "^5.4.3", "ua-parser-js": "^1.0.37", "unified": "^11.0.4", "unist-util-visit": "^5.0.0", "use-long-press": "^3.2.0", - "usehooks-ts": "^2.15.1", + "usehooks-ts": "^3.0.1", "uuid": "^9.0.1", - "virtua": "^0.27.5", - "vite": "^5.1.4", - "vite-plugin-pwa": "^0.19.0", + "virtua": "^0.29.1", + "vite": "^5.2.2", + "vite-plugin-pwa": "^0.19.6", "vite-plugin-svgr": "^4.2.0", "vitest": "^1.3.1", "workbox-window": "^7.0.0" diff --git a/patches/voyager-ionic-core@8.0.0-beta.3.patch b/patches/voyager-ionic-core@8.0.0-beta.3.patch new file mode 100644 index 0000000000..e28781aa8f --- /dev/null +++ b/patches/voyager-ionic-core@8.0.0-beta.3.patch @@ -0,0 +1,26 @@ +diff --git a/dist/types/components/searchbar/searchbar.d.ts b/dist/types/components/searchbar/searchbar.d.ts +index 88d3eb8cd927231f2b418608c3bc8cd7963f8d3d..73a8b4cbdede4249454e60d43a007d0c4dd75472 100644 +--- a/dist/types/components/searchbar/searchbar.d.ts ++++ b/dist/types/components/searchbar/searchbar.d.ts +@@ -55,7 +55,7 @@ export declare class Searchbar implements ComponentInterface { + * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user. + * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`. + */ +- autocapitalize: string; ++ autocapitalize?: string; + /** + * Set the input's autocomplete property. + */ +diff --git a/dist/types/components.d.ts b/dist/types/components.d.ts +index 50a467eea4d61a0a37776335505954ed886de09f..577fc3f8fae5e7e3f6539975e25eee18a0eb5643 100644 +--- a/dist/types/components.d.ts ++++ b/dist/types/components.d.ts +@@ -7114,7 +7114,7 @@ declare namespace LocalJSX { + /** + * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user. Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`. + */ +- "autocapitalize": string; ++ "autocapitalize"?: string; + /** + * Set the input's autocomplete property. + */ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9b2c87afa3..afd92eb168 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,26 +5,23 @@ settings: excludeLinksFromLockfile: false overrides: - '@ionic/core': npm:voyager-ionic-core + '@ionic/core': npm:voyager-ionic-core@8.0.0-beta.3 patchedDependencies: '@capacitor/browser@5.2.0': hash: m4ddgv4ucvx4w6engzasoi47iy path: patches/@capacitor__browser@5.2.0.patch + voyager-ionic-core@8.0.0-beta.3: + hash: h2f36qchnxaxoa77v2tqeuixfi + path: patches/voyager-ionic-core@8.0.0-beta.3.patch dependencies: compression: specifier: ^1.7.4 version: 1.7.4 express: - specifier: ^4.18.2 - version: 4.18.2 - http-proxy-middleware: - specifier: ^2.0.6 - version: 2.0.6 - vite-express: - specifier: ^0.15.0 - version: 0.15.0 + specifier: ^4.19.1 + version: 4.19.1 devDependencies: '@aeharding/remark-lemmy-spoiler': @@ -32,64 +29,64 @@ devDependencies: version: 1.0.1 '@babel/preset-react': specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.24.0) + version: 7.24.1(@babel/core@7.24.3) '@babel/preset-typescript': specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.24.0) + version: 7.24.1(@babel/core@7.24.3) '@capacitor-community/app-icon': specifier: ^4.1.1 - version: 4.1.1(@capacitor/core@5.7.0) + version: 4.1.1(@capacitor/core@5.7.4) '@capacitor/android': - specifier: 5.7.0 - version: 5.7.0(@capacitor/core@5.7.0) + specifier: 5.7.4 + version: 5.7.4(@capacitor/core@5.7.4) '@capacitor/app': specifier: ^5.0.7 - version: 5.0.7(@capacitor/core@5.7.0) + version: 5.0.7(@capacitor/core@5.7.4) '@capacitor/assets': specifier: ^3.0.4 - version: 3.0.4(@types/node@20.11.24)(typescript@5.3.3) + version: 3.0.4(@types/node@20.11.30)(typescript@5.4.3) '@capacitor/browser': specifier: ^5.2.0 - version: 5.2.0(patch_hash=m4ddgv4ucvx4w6engzasoi47iy)(@capacitor/core@5.7.0) + version: 5.2.0(patch_hash=m4ddgv4ucvx4w6engzasoi47iy)(@capacitor/core@5.7.4) '@capacitor/cli': - specifier: 5.7.0 - version: 5.7.0 + specifier: 5.7.4 + version: 5.7.4 '@capacitor/core': - specifier: 5.7.0 - version: 5.7.0 + specifier: 5.7.4 + version: 5.7.4 '@capacitor/filesystem': specifier: ^5.2.1 - version: 5.2.1(@capacitor/core@5.7.0) + version: 5.2.1(@capacitor/core@5.7.4) '@capacitor/haptics': specifier: npm:voyager-capacitor-haptics@^5.0.7 - version: /voyager-capacitor-haptics@5.0.7(@capacitor/core@5.7.0) + version: /voyager-capacitor-haptics@5.0.7(@capacitor/core@5.7.4) '@capacitor/ios': - specifier: 5.7.0 - version: 5.7.0(@capacitor/core@5.7.0) + specifier: 5.7.4 + version: 5.7.4(@capacitor/core@5.7.4) '@capacitor/keyboard': specifier: ^5.0.8 - version: 5.0.8(@capacitor/core@5.7.0) + version: 5.0.8(@capacitor/core@5.7.4) '@capacitor/network': specifier: ^5.0.7 - version: 5.0.7(@capacitor/core@5.7.0) + version: 5.0.7(@capacitor/core@5.7.4) '@capacitor/share': specifier: ^5.0.7 - version: 5.0.7(@capacitor/core@5.7.0) + version: 5.0.7(@capacitor/core@5.7.4) '@capacitor/status-bar': specifier: ^5.0.7 - version: 5.0.7(@capacitor/core@5.7.0) + version: 5.0.7(@capacitor/core@5.7.4) '@github/markdown-toolbar-element': specifier: ^2.2.1 - version: 2.2.1 + version: 2.2.3 '@ionic/core': - specifier: npm:voyager-ionic-core - version: /voyager-ionic-core@7.7.3 + specifier: npm:voyager-ionic-core@8.0.0-beta.3 + version: /voyager-ionic-core@8.0.0-beta.3(patch_hash=h2f36qchnxaxoa77v2tqeuixfi) '@ionic/react': - specifier: ^7.7.3 - version: 7.7.3(react-dom@18.2.0)(react@18.2.0) + specifier: 8.0.0-beta.3 + version: 8.0.0-beta.3(react-dom@18.2.0)(react@18.2.0) '@ionic/react-router': - specifier: ^7.7.3 - version: 7.7.3(react-dom@18.2.0)(react-router-dom@5.3.4)(react-router@5.3.4)(react@18.2.0) + specifier: 8.0.0-beta.3 + version: 8.0.0-beta.3(react-dom@18.2.0)(react-router-dom@5.3.4)(react-router@5.3.4)(react@18.2.0) '@linaria/core': specifier: ^6.1.0 version: 6.1.0 @@ -97,20 +94,20 @@ devDependencies: specifier: ^6.1.0 version: 6.1.0(react@18.2.0) '@reduxjs/toolkit': - specifier: ^2.2.1 - version: 2.2.1(react-redux@9.1.0)(react@18.2.0) + specifier: ^2.2.2 + version: 2.2.2(react-redux@9.1.0)(react@18.2.0) '@testing-library/jest-dom': specifier: ^6.4.2 - version: 6.4.2(@types/jest@29.5.12)(vitest@1.3.1) + version: 6.4.2(@types/jest@29.5.12)(vitest@1.4.0) '@testing-library/react': specifier: ^14.2.1 - version: 14.2.1(react-dom@18.2.0)(react@18.2.0) + version: 14.2.2(react-dom@18.2.0)(react@18.2.0) '@testing-library/user-event': specifier: ^14.5.2 version: 14.5.2(@testing-library/dom@9.3.4) '@trapezedev/configure': specifier: ^7.0.10 - version: 7.0.10(@types/node@20.11.24)(typescript@5.3.3) + version: 7.0.10(@types/node@20.11.30)(typescript@5.4.3) '@types/history': specifier: ^4.7.11 version: 4.7.11 @@ -122,16 +119,16 @@ devDependencies: version: 3.0.6 '@types/lodash': specifier: ^4.14.202 - version: 4.14.202 + version: 4.17.0 '@types/mdast': specifier: ^4.0.3 version: 4.0.3 '@types/react': specifier: ^18.2.58 - version: 18.2.58 + version: 18.2.67 '@types/react-dom': specifier: ^18.2.19 - version: 18.2.19 + version: 18.2.22 '@types/react-router': specifier: ^5.1.20 version: 5.1.20 @@ -146,61 +143,61 @@ devDependencies: version: 9.0.8 '@typescript-eslint/eslint-plugin': specifier: ^7.0.2 - version: 7.0.2(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)(typescript@5.3.3) + version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/parser': specifier: ^7.0.2 - version: 7.0.2(eslint@8.57.0)(typescript@5.3.3) + version: 7.3.1(eslint@8.57.0)(typescript@5.4.3) '@vitejs/plugin-legacy': specifier: ^5.3.1 - version: 5.3.1(esbuild@0.20.1)(terser@5.28.1)(vite@5.1.4) + version: 5.3.2(terser@5.29.2)(vite@5.2.2) '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.2.1(vite@5.1.4) + version: 4.2.1(vite@5.2.2) '@wyw-in-js/babel-preset': - specifier: ^0.4.1 - version: 0.4.1(typescript@5.3.3) + specifier: ^0.5.0 + version: 0.5.0(typescript@5.4.3) '@wyw-in-js/vite': - specifier: ^0.4.1 - version: 0.4.1(rollup@2.79.1)(typescript@5.3.3)(vite@5.1.4) + specifier: ^0.5.0 + version: 0.5.0(rollup@2.79.1)(typescript@5.4.3)(vite@5.2.2) capacitor-android-nav-mode: specifier: ^0.0.1 - version: 0.0.1(@capacitor/core@5.7.0) + version: 0.0.1(@capacitor/core@5.7.4) capacitor-application-context: specifier: ^0.0.1 - version: 0.0.1(@capacitor/core@5.7.0) + version: 0.0.1(@capacitor/core@5.7.4) capacitor-biometric-lock: specifier: ^0.1.1 - version: 0.1.1(@capacitor/core@5.7.0) + version: 0.1.1(@capacitor/core@5.7.4) capacitor-clear-cache: specifier: ^0.0.1 - version: 0.0.1(@capacitor/core@5.7.0) + version: 0.0.1(@capacitor/core@5.7.4) capacitor-launch-native: specifier: ^0.0.2 - version: 0.0.2(@capacitor/core@5.7.0) + version: 0.0.2(@capacitor/core@5.7.4) capacitor-plugin-safe-area: specifier: ^2.0.6 - version: 2.0.6(@capacitor/core@5.7.0) + version: 2.0.6(@capacitor/core@5.7.4) capacitor-set-version: specifier: ^2.2.0 - version: 2.2.0(@types/node@20.11.24)(typescript@5.3.3) + version: 2.2.0(@types/node@20.11.30)(typescript@5.4.3) capacitor-stash-media: specifier: ^1.0.0 - version: 1.0.0(@capacitor/core@5.7.0) + version: 1.0.0(@capacitor/core@5.7.4) capacitor-tips: specifier: ^0.0.2 - version: 0.0.2(@capacitor/core@5.7.0) + version: 0.0.2(@capacitor/core@5.7.4) compare-versions: specifier: ^6.1.0 version: 6.1.0 date-fns: specifier: ^3.3.1 - version: 3.3.1 + version: 3.6.0 dexie: - specifier: ^3.2.5 - version: 3.2.5(karma@6.4.3) + specifier: ^3.2.7 + version: 3.2.7 dexie-react-hooks: specifier: ^1.1.7 - version: 1.1.7(@types/react@18.2.58)(dexie@3.2.5)(react@18.2.0) + version: 1.1.7(@types/react@18.2.67)(dexie@3.2.7)(react@18.2.0) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -212,7 +209,7 @@ devDependencies: version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) eslint-plugin-react: specifier: ^7.33.2 - version: 7.33.2(eslint@8.57.0) + version: 7.34.1(eslint@8.57.0) eslint-plugin-react-hooks: specifier: ^4.6.0 version: 4.6.0(eslint@8.57.0) @@ -220,8 +217,8 @@ devDependencies: specifier: ^4.10.1 version: 4.10.1 ionicons: - specifier: ^7.2.2 - version: 7.2.2 + specifier: ^7.3.0 + version: 7.3.0 js-cookie: specifier: ^3.0.5 version: 3.0.5 @@ -229,8 +226,8 @@ devDependencies: specifier: ^24.0.0 version: 24.0.0 lemmy-js-client: - specifier: 0.19.4-alpha.4 - version: 0.19.4-alpha.4 + specifier: 0.19.4-alpha.10 + version: 0.19.4-alpha.10 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -281,19 +278,19 @@ devDependencies: version: 18.2.0(react@18.2.0) react-error-boundary: specifier: ^4.0.12 - version: 4.0.12(react@18.2.0) + version: 4.0.13(react@18.2.0) react-intersection-observer: specifier: ^9.8.1 version: 9.8.1(react-dom@18.2.0)(react@18.2.0) react-markdown: specifier: ^9.0.1 - version: 9.0.1(@types/react@18.2.58)(react@18.2.0) + version: 9.0.1(@types/react@18.2.67)(react@18.2.0) react-merge-refs: specifier: ^2.1.1 version: 2.1.1 react-redux: specifier: ^9.1.0 - version: 9.1.0(@types/react@18.2.58)(react@18.2.0)(redux@5.0.1) + version: 9.1.0(@types/react@18.2.67)(react@18.2.0)(redux@5.0.1) react-reverse-portal: specifier: ^2.1.1 version: 2.1.1(react-dom@18.2.0)(react@18.2.0) @@ -305,7 +302,7 @@ devDependencies: version: 5.3.4(react@18.2.0) react-textarea-autosize: specifier: ^8.5.3 - version: 8.5.3(@types/react@18.2.58)(react@18.2.0) + version: 8.5.3(@types/react@18.2.67)(react@18.2.0) react-transition-state: specifier: ^2.1.1 version: 2.1.1(react-dom@18.2.0)(react@18.2.0) @@ -317,7 +314,7 @@ devDependencies: version: 10.0.0 release-it: specifier: ^17.1.1 - version: 17.1.1(typescript@5.3.3) + version: 17.1.1(typescript@5.4.3) remark-gfm: specifier: ^4.0.0 version: 4.0.0 @@ -332,10 +329,10 @@ devDependencies: version: 1.0.0 terser: specifier: ^5.28.1 - version: 5.28.1 + version: 5.29.2 typescript: - specifier: ^5.3.3 - version: 5.3.3 + specifier: ^5.4.3 + version: 5.4.3 ua-parser-js: specifier: ^1.0.37 version: 1.0.37 @@ -349,26 +346,26 @@ devDependencies: specifier: ^3.2.0 version: 3.2.0(react@18.2.0) usehooks-ts: - specifier: ^2.15.1 - version: 2.15.1(react@18.2.0) + specifier: ^3.0.1 + version: 3.0.1(react@18.2.0) uuid: specifier: ^9.0.1 version: 9.0.1 virtua: - specifier: ^0.27.5 - version: 0.27.5(react-dom@18.2.0)(react@18.2.0) + specifier: ^0.29.1 + version: 0.29.1(react-dom@18.2.0)(react@18.2.0) vite: - specifier: ^5.1.4 - version: 5.1.4(@types/node@20.11.24)(terser@5.28.1) + specifier: ^5.2.2 + version: 5.2.2(@types/node@20.11.30)(terser@5.29.2) vite-plugin-pwa: - specifier: ^0.19.0 - version: 0.19.0(vite@5.1.4)(workbox-build@7.0.0)(workbox-window@7.0.0) + specifier: ^0.19.6 + version: 0.19.6(vite@5.2.2)(workbox-build@7.0.0)(workbox-window@7.0.0) vite-plugin-svgr: specifier: ^4.2.0 - version: 4.2.0(rollup@2.79.1)(typescript@5.3.3)(vite@5.1.4) + version: 4.2.0(rollup@2.79.1)(typescript@5.4.3)(vite@5.2.2) vitest: specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.24)(jsdom@24.0.0)(terser@5.28.1) + version: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2) workbox-window: specifier: ^7.0.0 version: 7.0.0 @@ -395,12 +392,12 @@ packages: - supports-color dev: true - /@ampproject/remapping@2.2.1: - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 dev: true /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0): @@ -415,56 +412,33 @@ packages: leven: 3.1.0 dev: true - /@babel/code-frame@7.23.5: - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + /@babel/code-frame@7.24.2: + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 dev: true - /@babel/compat-data@7.23.5: - resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} + /@babel/compat-data@7.24.1: + resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.23.7: - resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==} + /@babel/core@7.24.1: + resolution: {integrity: sha512-F82udohVyIgGAY2VVj/g34TpFUG606rumIHjTfVbssPg2zTR7PuuEpZcX8JA6sgBfIYmJrFtWgPvHQuJamVqZQ==} engines: {node: '>=6.9.0'} dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) - '@babel/helpers': 7.23.7 - '@babel/parser': 7.23.6 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 - convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/core@7.23.9: - resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helpers': 7.23.9 - '@babel/parser': 7.23.9 - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.1) + '@babel/helpers': 7.24.1 + '@babel/parser': 7.24.1 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 convert-source-map: 2.0.0 debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 @@ -474,19 +448,19 @@ packages: - supports-color dev: true - /@babel/core@7.24.0: - resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==} + /@babel/core@7.24.3: + resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} engines: {node: '>=6.9.0'} dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) - '@babel/helpers': 7.24.0 - '@babel/parser': 7.24.0 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helpers': 7.24.1 + '@babel/parser': 7.24.1 '@babel/template': 7.24.0 - '@babel/traverse': 7.24.0 + '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 convert-source-map: 2.0.0 debug: 4.3.4(supports-color@8.1.1) @@ -497,13 +471,13 @@ packages: - supports-color dev: true - /@babel/generator@7.23.6: - resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + /@babel/generator@7.24.1: + resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 dev: true @@ -511,95 +485,95 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 dev: true /@babel/helper-compilation-targets@7.23.6: resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.23.5 + '@babel/compat-data': 7.24.1 '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.2 + browserslist: 4.23.0 lru-cache: 5.1.1 semver: 6.3.1 dev: true - /@babel/helper-create-class-features-plugin@7.23.10(@babel/core@7.23.9): - resolution: {integrity: sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==} + /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.1) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: true - /@babel/helper-create-class-features-plugin@7.23.10(@babel/core@7.24.0): - resolution: {integrity: sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==} + /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.9): + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.1): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.0): + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.3): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.23.9): - resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} + /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.1): + resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 debug: 4.3.4(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -607,14 +581,14 @@ packages: - supports-color dev: true - /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.24.0): - resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} + /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.3): + resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 debug: 4.3.4(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -631,68 +605,61 @@ packages: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 dev: true /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.24.0 dev: true /@babel/helper-member-expression-to-functions@7.23.0: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 dev: true - /@babel/helper-module-imports@7.22.15: - resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + /@babel/helper-module-imports@7.24.1: + resolution: {integrity: sha512-HfEWzysMyOa7xI5uQHc/OcZf67/jc+xe/RZlznWQHhbb8Pg1SkRdbK4yEi61aY8wxQA7PkSfoojtLQP/Kpe3og==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.24.0 dev: true - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + /@babel/helper-module-imports@7.24.3: + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/types': 7.24.0 dev: true - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.1): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 + '@babel/helper-module-imports': 7.24.1 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 + '@babel/helper-module-imports': 7.24.1 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 @@ -702,12 +669,7 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 - dev: true - - /@babel/helper-plugin-utils@7.22.5: - resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} - engines: {node: '>=6.9.0'} + '@babel/types': 7.24.0 dev: true /@babel/helper-plugin-utils@7.24.0: @@ -715,49 +677,49 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.9): + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.1): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 dev: true - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.0): + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.3): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 dev: true - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.9): - resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 dev: true - /@babel/helper-replace-supers@7.22.20(@babel/core@7.24.0): - resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 @@ -767,25 +729,25 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.24.0 dev: true /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.24.0 dev: true - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + /@babel/helper-string-parser@7.24.1: + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} dev: true @@ -804,1992 +766,1885 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.23.0 - '@babel/template': 7.23.9 - '@babel/types': 7.23.9 - dev: true - - /@babel/helpers@7.23.7: - resolution: {integrity: sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helpers@7.23.9: - resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 - transitivePeerDependencies: - - supports-color + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 dev: true - /@babel/helpers@7.24.0: - resolution: {integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==} + /@babel/helpers@7.24.1: + resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 - '@babel/traverse': 7.24.0 + '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 transitivePeerDependencies: - supports-color dev: true - /@babel/highlight@7.23.4: - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + /@babel/highlight@7.24.2: + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 + picocolors: 1.0.0 dev: true - /@babel/parser@7.23.6: - resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.23.6 - dev: true - - /@babel/parser@7.23.9: - resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.23.9 - dev: true - - /@babel/parser@7.24.0: - resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} + /@babel/parser@7.24.1: + resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.1) dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.9): - resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.24.0): - resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.1): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.9): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.1): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.0): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.3): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.9): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.1): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.0): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.3): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.9): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.1): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.0): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.3): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.9): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.1): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.9): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.1): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.9): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.1): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.0): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.9): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.1): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.9): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.1): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.3): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.9): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.1): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.9): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.1): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.0): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.3): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.9): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.1): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.9): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.1): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.9): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.1): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.9): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.1): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.0): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.3): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.9): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.1): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.0): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.3): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.9): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.1): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.0): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.3): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.23.9): - resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} + /@babel/plugin-transform-async-generator-functions@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-OTkLJM0OtmzcpOgF7MREERUCdCnCBtBsq3vVFbuq/RKMK0/jdYqdMexWi3zNs7Nzd95ase65MbTGrpFJflOb6A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.1) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.1) dev: true - /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.24.0): - resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} + /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.3): + resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) + '@babel/core': 7.24.1 + '@babel/helper-module-imports': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.1) dev: true - /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-module-imports': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} + /@babel/plugin-transform-block-scoping@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} + /@babel/plugin-transform-block-scoping@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} + /@babel/plugin-transform-class-static-block@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) + '@babel/core': 7.24.1 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.1) dev: true - /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} + /@babel/plugin-transform-class-static-block@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-classes@7.23.8(@babel/core@7.23.9): - resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} + /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.1) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: true - /@babel/plugin-transform-classes@7.23.8(@babel/core@7.24.0): - resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} + /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.23.9 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/template': 7.24.0 dev: true - /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.23.9 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/template': 7.24.0 dev: true - /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} + /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} + /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.1) dev: true - /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} + /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.1) dev: true - /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} + /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.9): - resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.24.0): - resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.1) dev: true - /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.1) dev: true - /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.23.9): - resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.24.0): - resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.9): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.1): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.0): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.3): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.1) dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.1) dev: true - /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} + /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.1) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.1) dev: true - /@babel/plugin-transform-object-rest-spread@7.24.0(@babel/core@7.24.0): - resolution: {integrity: sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==} + /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.1) dev: true - /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.1) dev: true - /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} + /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.1) dev: true - /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} + /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} + /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} + /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} + /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.1) dev: true - /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} + /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==} + /@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.0): + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.3): resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.7): - resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} + /@babel/plugin-transform-react-jsx-self@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.7): - resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} + /@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0): + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.3): resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0) - '@babel/types': 7.23.9 + '@babel/helper-module-imports': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) + '@babel/types': 7.24.0 dev: true - /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==} + /@babel/plugin-transform-react-pure-annotations@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-spread@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} + /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} + /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.24.0): - resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} + /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.24.0) + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.1 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.1) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/preset-env@7.23.9(@babel/core@7.23.9): - resolution: {integrity: sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==} + /@babel/preset-env@7.24.1(@babel/core@7.24.1): + resolution: {integrity: sha512-CwCMz1Z28UHLI2iE+cbnWT2epPMV9bzzoBGM6A3mOS22VQd/1TPoWItV7S7iL9TkPmPEf5L/QzurmztyyDN9FA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.9 + '@babel/compat-data': 7.24.1 + '@babel/core': 7.24.1 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.9) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.9) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.9) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.9) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.23.9) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.23.9) - '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.9) - '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.23.9) - '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.9) - '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.9) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.9) - babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.23.9) - babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.23.9) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.23.9) - core-js-compat: 3.36.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.1) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.1) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.1) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.1) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.1) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.1) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.1) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.1) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.1) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.1) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.1) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.1) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.1) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.1) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.1) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.1) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.1) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-async-generator-functions': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-class-static-block': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.1) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.1) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.1) + babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.1) + babel-plugin-polyfill-corejs3: 0.10.1(@babel/core@7.24.1) + babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.1) + core-js-compat: 3.36.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-env@7.24.0(@babel/core@7.24.0): - resolution: {integrity: sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==} + /@babel/preset-env@7.24.3(@babel/core@7.24.3): + resolution: {integrity: sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.24.0 + '@babel/compat-data': 7.24.1 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.24.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.0) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.0) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.24.0) - '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.24.0) - '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.0) - '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-object-rest-spread': 7.24.0(@babel/core@7.24.0) - '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.24.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.0) - babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.24.0) - babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.24.0) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.24.0) - core-js-compat: 3.36.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.3) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.3) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-class-static-block': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.3) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.3) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.3) + babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.3) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.3) + babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.3) + core-js-compat: 3.36.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.9): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.1): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.23.9 + '@babel/core': 7.24.1 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/types': 7.24.0 esutils: 2.0.3 dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.0): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.3): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.23.9 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/types': 7.24.0 esutils: 2.0.3 dev: true - /@babel/preset-react@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==} + /@babel/preset-react@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.0) - '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.3) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.3) + '@babel/plugin-transform-react-pure-annotations': 7.24.1(@babel/core@7.24.3) dev: true - /@babel/preset-typescript@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} + /@babel/preset-typescript@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.24.0) + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) dev: true /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: true - /@babel/runtime@7.23.7: - resolution: {integrity: sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.1 - dev: true - - /@babel/runtime@7.23.9: - resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} + /@babel/runtime@7.24.1: + resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 dev: true - /@babel/runtime@7.24.0: - resolution: {integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.1 - dev: true - - /@babel/template@7.22.15: - resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 - dev: true - - /@babel/template@7.23.9: - resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 - dev: true - /@babel/template@7.24.0: resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.5 - '@babel/parser': 7.24.0 + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 dev: true - /@babel/traverse@7.23.7: - resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} + /@babel/traverse@7.24.1: + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 - debug: 4.3.4(supports-color@8.1.1) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/traverse@7.23.9: - resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 - debug: 4.3.4(supports-color@8.1.1) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/traverse@7.24.0: - resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 @@ -2797,66 +2652,48 @@ packages: - supports-color dev: true - /@babel/types@7.23.6: - resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - dev: true - - /@babel/types@7.23.9: - resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - dev: true - /@babel/types@7.24.0: resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.23.4 + '@babel/helper-string-parser': 7.24.1 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 dev: true - /@capacitor-community/app-icon@4.1.1(@capacitor/core@5.7.0): + /@capacitor-community/app-icon@4.1.1(@capacitor/core@5.7.4): resolution: {integrity: sha512-76oedS4WnilQEoMszraBVMZIx52H5zNFHHsBuwMKARGrp1fkjOJpmxIYuuwmJSr2KojXllPMSskS43Yf8XdGbA==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /@capacitor/android@5.7.0(@capacitor/core@5.7.0): - resolution: {integrity: sha512-0bnG1dqfT/nTjzMeHF/a5kF8mqGjHrPLADNqn41seWDfb2ch6AMiKUHsmHpEOWmGIrWOM25qNTrTOytoCSpuXg==} + /@capacitor/android@5.7.4(@capacitor/core@5.7.4): + resolution: {integrity: sha512-9ETwrCaLaimLHbwGpgfsPS9cHcPMFLmKFdlYsFsYIusMO6aOrcQTA9Q4xVAkr55ava4Wk+pVRniRYsekrbOLdw==} peerDependencies: '@capacitor/core': ^5.7.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /@capacitor/app@5.0.7(@capacitor/core@5.7.0): + /@capacitor/app@5.0.7(@capacitor/core@5.7.4): resolution: {integrity: sha512-oad0jwQu+vgQDukeS9UV56yG10dlxkAGGl26IQpZlTmg3dTI9qSJtvhmlLfkF0nEtoj5IsVQUPE+NLH1oZkgGQ==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /@capacitor/assets@3.0.4(@types/node@20.11.24)(typescript@5.3.3): + /@capacitor/assets@3.0.4(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-9t/u2i9vSEWDfarzDJmQEgi07Tozyw2mKZYTkybb2Zkc8ufqR0S6ZzDBmWbsTtOTVwRr0uU9Rx3c8AVbA1xDtA==} engines: {node: '>=10.3.0'} hasBin: true dependencies: - '@capacitor/cli': 5.7.0 + '@capacitor/cli': 5.7.4 '@ionic/utils-array': 2.1.6 '@ionic/utils-fs': 3.1.7 - '@trapezedev/project': 7.0.10(@types/node@20.11.24)(typescript@5.3.3) + '@trapezedev/project': 7.0.10(@types/node@20.11.30)(typescript@5.4.3) commander: 8.3.0 debug: 4.3.4(supports-color@8.1.1) fs-extra: 10.1.0 @@ -2874,17 +2711,17 @@ packages: - typescript dev: true - /@capacitor/browser@5.2.0(patch_hash=m4ddgv4ucvx4w6engzasoi47iy)(@capacitor/core@5.7.0): + /@capacitor/browser@5.2.0(patch_hash=m4ddgv4ucvx4w6engzasoi47iy)(@capacitor/core@5.7.4): resolution: {integrity: sha512-pWFrsNPOG6DlDWGl+bJqTWLvoJ2vvV27LKaSZ/A7S4td4bK3umwZmgGlp8ispjpYiurjliT25Ae8I+ywMV8X9w==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true patched: true - /@capacitor/cli@5.7.0: - resolution: {integrity: sha512-md6217RXFQwSNo9vr1gDgBqR88MJaQVwu3C5W3bpWlmajhec6NUR7yT7QNcBWErhCIJfqOOqXu4ZSSShndF0ug==} + /@capacitor/cli@5.7.4: + resolution: {integrity: sha512-Cn7ndfMHWfMT+A/wRoeac4/mAxZWNTlZoD1Mn7UQyVV+iGxZB2JpS9omqha7gBN4xrAuTi/X9FqkzrmR+1V96A==} engines: {node: '>=16.0.0'} hasBin: true dependencies: @@ -2909,63 +2746,58 @@ packages: - supports-color dev: true - /@capacitor/core@5.7.0: - resolution: {integrity: sha512-wa9Fao+Axa1t2ZERMyQD9r0xyfglQyC4DHQKintzKaIqcRuVe9J31TmfD3IxROYi9LGpY4X8cq4m4bjb0W94Qg==} + /@capacitor/core@5.7.4: + resolution: {integrity: sha512-iZBgvx3o4amzKv5ttA+QHB6i7cxK+/mYpCQd1tnSdipg6ZkvfBhg1HkzhEqHk+I7MNur+QwgYDZho9+ycHRwOw==} dependencies: tslib: 2.6.2 dev: true - /@capacitor/filesystem@5.2.1(@capacitor/core@5.7.0): + /@capacitor/filesystem@5.2.1(@capacitor/core@5.7.4): resolution: {integrity: sha512-mexkJHUbNhydzfJywEUTIGARlB/HRogrtbjCZdA+mQxOi07T2887a70CwFaYRu1nKLMoKoliTM5UsLSsdl0PlA==} peerDependencies: '@capacitor/core': ^5.1.1 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /@capacitor/ios@5.7.0(@capacitor/core@5.7.0): - resolution: {integrity: sha512-zoEdsYQHI1zz2vjKsTpu5bSfxQQ5jrk3Qs6Op9MYcckZZ2QWIs0YpL99p+zODXNpkkyLG73NXEIrOjvyI9jx8A==} + /@capacitor/ios@5.7.4(@capacitor/core@5.7.4): + resolution: {integrity: sha512-tQH24WMSYVKYr/Jl1gFImooQmu8OdXUFHoDaPV1WpZIiwbwxbTdwOXeLlGes5U8B8t7xuxTWMWMDt3IwRlDbhQ==} peerDependencies: '@capacitor/core': ^5.7.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /@capacitor/keyboard@5.0.8(@capacitor/core@5.7.0): + /@capacitor/keyboard@5.0.8(@capacitor/core@5.7.4): resolution: {integrity: sha512-XYyBzGlzjgLPqyPVdu5McGLYV6+G2efVR4I3l5cF1B27M6U/oFqv9CQU74WNG08nee28bfccboNpv6eWCLYn1A==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /@capacitor/network@5.0.7(@capacitor/core@5.7.0): + /@capacitor/network@5.0.7(@capacitor/core@5.7.4): resolution: {integrity: sha512-g+8SkNmkOyidaHnfKI9Ly8GNcx3VEwboehDXcTs5WU8bPuhCOEzbZnC0kFL5wwix3AoUQl8gEos6MtCey5cUIg==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /@capacitor/share@5.0.7(@capacitor/core@5.7.0): + /@capacitor/share@5.0.7(@capacitor/core@5.7.4): resolution: {integrity: sha512-4GraggRRxwhstxIdF9JyOEBq4QTufqFOekdB4P9GeiQYWJoA5VraSR1mwy4Trke1VFfaBjz/nGi4WQOJdHIAgg==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /@capacitor/status-bar@5.0.7(@capacitor/core@5.7.0): + /@capacitor/status-bar@5.0.7(@capacitor/core@5.7.4): resolution: {integrity: sha512-KblB3gV2LDMEjx3fQoNBAzxb+Tr+2mv68SfFLLDCMiMUD3Eile2TAWRWd1yxy496pDFTOs2BJtup8++iuuuJ/w==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 - dev: true - - /@colors/colors@1.5.0: - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} + '@capacitor/core': 5.7.4 dev: true /@cspotcode/source-map-support@0.8.1: @@ -2975,8 +2807,8 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@emotion/is-prop-valid@1.2.1: - resolution: {integrity: sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==} + /@emotion/is-prop-valid@1.2.2: + resolution: {integrity: sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==} dependencies: '@emotion/memoize': 0.8.1 dev: true @@ -2985,8 +2817,8 @@ packages: resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} dev: true - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] @@ -2994,350 +2826,170 @@ packages: dev: true optional: true - /@esbuild/aix-ppc64@0.20.1: - resolution: {integrity: sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.20.1: - resolution: {integrity: sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.20.1: - resolution: {integrity: sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.20.1: - resolution: {integrity: sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.20.1: - resolution: {integrity: sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.20.1: - resolution: {integrity: sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.20.1: - resolution: {integrity: sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.20.1: - resolution: {integrity: sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64@0.20.1: - resolution: {integrity: sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.20.1: - resolution: {integrity: sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32@0.20.1: - resolution: {integrity: sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] + os: [android] requiresBuild: true dev: true optional: true - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} - cpu: [loong64] - os: [linux] + cpu: [arm] + os: [android] requiresBuild: true dev: true optional: true - /@esbuild/linux-loong64@0.20.1: - resolution: {integrity: sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA==} + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} - cpu: [loong64] - os: [linux] + cpu: [x64] + os: [android] requiresBuild: true dev: true optional: true - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] + cpu: [arm64] + os: [darwin] requiresBuild: true dev: true optional: true - /@esbuild/linux-mips64el@0.20.1: - resolution: {integrity: sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA==} + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] + cpu: [x64] + os: [darwin] requiresBuild: true dev: true optional: true - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] + cpu: [arm64] + os: [freebsd] requiresBuild: true dev: true optional: true - /@esbuild/linux-ppc64@0.20.1: - resolution: {integrity: sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw==} + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] + cpu: [x64] + os: [freebsd] requiresBuild: true dev: true optional: true - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} - cpu: [riscv64] + cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-riscv64@0.20.1: - resolution: {integrity: sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg==} + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} - cpu: [riscv64] + cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} - cpu: [s390x] + cpu: [ia32] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-s390x@0.20.1: - resolution: {integrity: sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ==} + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} - cpu: [s390x] + cpu: [loong64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} - cpu: [x64] + cpu: [mips64el] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-x64@0.20.1: - resolution: {integrity: sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA==} + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} - cpu: [x64] + cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] + cpu: [riscv64] + os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/netbsd-x64@0.20.1: - resolution: {integrity: sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg==} + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] + cpu: [s390x] + os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} cpu: [x64] - os: [openbsd] + os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/openbsd-x64@0.20.1: - resolution: {integrity: sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw==} + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} cpu: [x64] - os: [openbsd] + os: [netbsd] requiresBuild: true dev: true optional: true - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} cpu: [x64] - os: [sunos] + os: [openbsd] requiresBuild: true dev: true optional: true - /@esbuild/sunos-x64@0.20.1: - resolution: {integrity: sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q==} + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -3345,17 +2997,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64@0.20.1: - resolution: {integrity: sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A==} + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -3363,17 +3006,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32@0.20.1: - resolution: {integrity: sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw==} + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -3381,17 +3015,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64@0.20.1: - resolution: {integrity: sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA==} + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -3436,8 +3061,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@github/markdown-toolbar-element@2.2.1: - resolution: {integrity: sha512-ap+ulyqzG3aVqwKsKjbDdYwM75TQXZpPtmIuPwm+54OTgcC96267oX3cEqd1wSqGsH7O5PonZ//fE9jH7Q4JkA==} + /@github/markdown-toolbar-element@2.2.3: + resolution: {integrity: sha512-AlquKGee+IWiAMYVB0xyHFZRMnu4n3X4HTvJHu79GiVJ1ojTukCWyxMlF5NMsecoLcBKsuBhx3QPv2vkE/zQ0A==} dev: true /@humanwhocodes/config-array@0.11.14: @@ -3480,15 +3105,15 @@ packages: - supports-color dev: true - /@ionic/react-router@7.7.3(react-dom@18.2.0)(react-router-dom@5.3.4)(react-router@5.3.4)(react@18.2.0): - resolution: {integrity: sha512-NmEk801pfbrqzyTAb5nLDWGseUzm7kMpUy0dMY6OU76tpuHrEFBCFkZYAlTJWqXhkGRj9cR0cMnFAhPtGeSCkg==} + /@ionic/react-router@8.0.0-beta.3(react-dom@18.2.0)(react-router-dom@5.3.4)(react-router@5.3.4)(react@18.2.0): + resolution: {integrity: sha512-4odIFc/PkptoSkGPqB86szbCbT/rGZkToMM3ORumP3H6fPnRA7aPIFl51RMyKJVdr0ALVEsntGjCqJ/fv8S2wQ==} peerDependencies: react: '>=16.8.6' react-dom: '>=16.8.6' react-router: ^5.0.1 react-router-dom: ^5.0.1 dependencies: - '@ionic/react': 7.7.3(react-dom@18.2.0)(react@18.2.0) + '@ionic/react': 8.0.0-beta.3(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-router: 5.3.4(react@18.2.0) @@ -3496,14 +3121,14 @@ packages: tslib: 2.6.2 dev: true - /@ionic/react@7.7.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-b8jLpqv4dZ9nB9zoxhe0KR1Wk9bWMQ3UXQcOPu20+zYrxExwPqpLJ93LI0bU4F7ellduMjsakvELY486FeRrXw==} + /@ionic/react@8.0.0-beta.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-YI3XuKyXRw4bu++6gJfTIWmclEfezDftxzP8caW6K1vQ74GHqpnogIBIu1douYCFuRgjWxJEY5SyjQrcuKuUNA==} peerDependencies: react: '>=16.8.6' react-dom: '>=16.8.6' dependencies: - '@ionic/core': /voyager-ionic-core@7.7.3 - ionicons: 7.2.2 + '@ionic/core': /voyager-ionic-core@8.0.0-beta.3(patch_hash=h2f36qchnxaxoa77v2tqeuixfi) + ionicons: 7.3.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 @@ -3648,32 +3273,18 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.10.6 + '@types/node': 20.11.30 '@types/yargs': 17.0.32 chalk: 4.1.2 dev: true - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/set-array': 1.1.2 + '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.20 - dev: true - - /@jridgewell/gen-mapping@0.3.4: - resolution: {integrity: sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.23 - dev: true - - /@jridgewell/resolve-uri@3.1.1: - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} - engines: {node: '>=6.0.0'} + '@jridgewell/trace-mapping': 0.3.25 dev: true /@jridgewell/resolve-uri@3.1.2: @@ -3681,31 +3292,24 @@ packages: engines: {node: '>=6.0.0'} dev: true - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} dev: true - /@jridgewell/source-map@0.3.5: - resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} + /@jridgewell/source-map@0.3.6: + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} dependencies: - '@jridgewell/gen-mapping': 0.3.4 - '@jridgewell/trace-mapping': 0.3.23 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 dev: true /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} dev: true - /@jridgewell/trace-mapping@0.3.20: - resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /@jridgewell/trace-mapping@0.3.23: - resolution: {integrity: sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==} + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 @@ -3714,7 +3318,7 @@ packages: /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 dev: true @@ -3722,7 +3326,7 @@ packages: resolution: {integrity: sha512-absw9pHz1FBGZ9yo0/Zqoj6xubAI+liADMzNTCt8cwwFawAUspciTBZIA28yjQ7aqyRakO0Yq4zAKQeUhWKPTQ==} engines: {node: '>=16.0.0'} dependencies: - '@wyw-in-js/processor-utils': 0.4.0 + '@wyw-in-js/processor-utils': 0.4.1 transitivePeerDependencies: - supports-color dev: true @@ -3733,10 +3337,10 @@ packages: peerDependencies: react: '>=16' dependencies: - '@emotion/is-prop-valid': 1.2.1 + '@emotion/is-prop-valid': 1.2.2 '@linaria/core': 6.1.0 - '@wyw-in-js/processor-utils': 0.4.0 - '@wyw-in-js/shared': 0.4.0 + '@wyw-in-js/processor-utils': 0.4.1 + '@wyw-in-js/shared': 0.4.1 minimatch: 9.0.3 react: 18.2.0 react-html-attributes: 1.4.6 @@ -3745,8 +3349,8 @@ packages: - supports-color dev: true - /@ljharb/through@2.3.12: - resolution: {integrity: sha512-ajo/heTlG3QgC8EGP6APIejksVAYt4ayz4tqoP3MolFELzcH1x1fzwEYRJTPO0IELutZ5HQ0c26/GqAYy79u3g==} + /@ljharb/through@2.3.13: + resolution: {integrity: sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 @@ -3770,7 +3374,7 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.16.0 + fastq: 1.17.1 dev: true /@oclif/color@1.0.13: @@ -3808,7 +3412,7 @@ packages: natural-orderby: 2.0.3 object-treeify: 1.1.33 password-prompt: 1.1.3 - semver: 7.5.4 + semver: 7.6.0 string-width: 4.2.3 strip-ansi: 6.0.1 supports-color: 8.1.1 @@ -3818,7 +3422,7 @@ packages: wrap-ansi: 7.0.0 dev: true - /@oclif/core@2.15.0(@types/node@20.11.24)(typescript@5.3.3): + /@oclif/core@2.15.0(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-fNEMG5DzJHhYmI3MgpByTvltBOMyFcnRIUMxbiz2ai8rhaYgaTHMG3Q38HcosfIvtw9nCjxpcQtC8MN8QtVCcA==} engines: {node: '>=14.0.0'} dependencies: @@ -3845,7 +3449,7 @@ packages: strip-ansi: 6.0.1 supports-color: 8.1.1 supports-hyperlinks: 2.3.0 - ts-node: 10.9.2(@types/node@20.11.24)(typescript@5.3.3) + ts-node: 10.9.2(@types/node@20.11.30)(typescript@5.4.3) tslib: 2.6.2 widest-line: 3.1.0 wordwrap: 1.0.0 @@ -3861,11 +3465,11 @@ packages: resolution: {integrity: sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==} dev: true - /@oclif/plugin-autocomplete@1.4.6(@types/node@20.11.24)(typescript@5.3.3): + /@oclif/plugin-autocomplete@1.4.6(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-dawJk8Eb5dxsHTEttKZIOJkJ9PPKB59hL8BrqdCkr+WB4Xerm3G6rNeGWErOVYcOLe8y+nWAeYUE8OHNPn2E9g==} engines: {node: '>=12.0.0'} dependencies: - '@oclif/core': 2.15.0(@types/node@20.11.24)(typescript@5.3.3) + '@oclif/core': 2.15.0(@types/node@20.11.30)(typescript@5.4.3) chalk: 4.1.2 debug: 4.3.4(supports-color@8.1.1) fs-extra: 9.1.0 @@ -3877,11 +3481,11 @@ packages: - typescript dev: true - /@oclif/plugin-commands@2.2.28(@types/node@20.11.24)(typescript@5.3.3): + /@oclif/plugin-commands@2.2.28(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-w1vQ6WGltMnyjJnnt6Vo/VVtyhz1V0O9McCy0qKIY+os7SunjnUMRNS/y8MZ7b6AjMSdbLGV9/VAYSlWyQg9SQ==} engines: {node: '>=12.0.0'} dependencies: - '@oclif/core': 2.15.0(@types/node@20.11.24)(typescript@5.3.3) + '@oclif/core': 2.15.0(@types/node@20.11.30)(typescript@5.4.3) lodash: 4.17.21 transitivePeerDependencies: - '@swc/core' @@ -3890,11 +3494,11 @@ packages: - typescript dev: true - /@oclif/plugin-help@5.2.20(@types/node@20.11.24)(typescript@5.3.3): + /@oclif/plugin-help@5.2.20(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-u+GXX/KAGL9S10LxAwNUaWdzbEBARJ92ogmM7g3gDVud2HioCmvWQCDohNRVZ9GYV9oKwZ/M8xwd6a1d95rEKQ==} engines: {node: '>=12.0.0'} dependencies: - '@oclif/core': 2.15.0(@types/node@20.11.24)(typescript@5.3.3) + '@oclif/core': 2.15.0(@types/node@20.11.30)(typescript@5.4.3) transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -3902,21 +3506,21 @@ packages: - typescript dev: true - /@oclif/plugin-plugins@2.4.7(@types/node@20.11.24)(typescript@5.3.3): + /@oclif/plugin-plugins@2.4.7(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-6fzUDLWrSK7n6+EBrEekEEYrYTCneRoOF9TzojkjuFn1+ailvUlr98G90bblxKOyy8fqMe7QjvqwTgIDQ9ZIzg==} engines: {node: '>=12.0.0'} dependencies: '@oclif/color': 1.0.13 - '@oclif/core': 2.15.0(@types/node@20.11.24)(typescript@5.3.3) + '@oclif/core': 2.15.0(@types/node@20.11.30)(typescript@5.4.3) chalk: 4.1.2 debug: 4.3.4(supports-color@8.1.1) fs-extra: 9.1.0 http-call: 5.3.0 load-json-file: 5.3.0 npm-run-path: 4.0.1 - semver: 7.5.4 + semver: 7.6.0 tslib: 2.6.2 - yarn: 1.22.21 + yarn: 1.22.22 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -3925,11 +3529,11 @@ packages: - typescript dev: true - /@oclif/plugin-version@1.3.10(@types/node@20.11.24)(typescript@5.3.3): + /@oclif/plugin-version@1.3.10(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-TiRZALUcv4hwGTPoTyA3nOWtRew9DT4Ge1FeYx16xnuAsWryvJe3IHXmCm6b1VYhzTJhV2XH5U1DqllrQB2YaA==} engines: {node: '>=14.0.0'} dependencies: - '@oclif/core': 2.15.0(@types/node@20.11.24)(typescript@5.3.3) + '@oclif/core': 2.15.0(@types/node@20.11.30)(typescript@5.4.3) transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -3940,6 +3544,7 @@ packages: /@oclif/screen@3.0.8: resolution: {integrity: sha512-yx6KAqlt3TAHBduS2fMQtJDL2ufIHnDRArrJEOoTTuizxqmjLT+psGYOHpmMl3gvQpFJ11Hs76guUUktzAF9Bg==} engines: {node: '>=12.0.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. dev: true /@octokit/auth-token@4.0.0: @@ -3981,30 +3586,30 @@ packages: resolution: {integrity: sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==} dev: true - /@octokit/plugin-paginate-rest@9.2.0(@octokit/core@5.1.0): - resolution: {integrity: sha512-NKi0bJEZqOSbBLMv9kdAcuocpe05Q2xAXNLTGi0HN2GSMFJHNZuSoPNa0tcQFTOFCKe+ZaYBZ3lpXh1yxgUDCA==} + /@octokit/plugin-paginate-rest@9.2.1(@octokit/core@5.1.0): + resolution: {integrity: sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==} engines: {node: '>= 18'} peerDependencies: - '@octokit/core': '>=5' + '@octokit/core': '5' dependencies: '@octokit/core': 5.1.0 '@octokit/types': 12.6.0 dev: true - /@octokit/plugin-request-log@4.0.0(@octokit/core@5.1.0): - resolution: {integrity: sha512-2uJI1COtYCq8Z4yNSnM231TgH50bRkheQ9+aH8TnZanB6QilOnx8RMD2qsnamSOXtDj0ilxvevf5fGsBhBBzKA==} + /@octokit/plugin-request-log@4.0.1(@octokit/core@5.1.0): + resolution: {integrity: sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==} engines: {node: '>= 18'} peerDependencies: - '@octokit/core': '>=5' + '@octokit/core': '5' dependencies: '@octokit/core': 5.1.0 dev: true - /@octokit/plugin-rest-endpoint-methods@10.4.0(@octokit/core@5.1.0): - resolution: {integrity: sha512-INw5rGXWlbv/p/VvQL63dhlXr38qYTHkQ5bANi9xofrF9OraqmjHsIGyenmjmul1JVRHpUlw5heFOj1UZLEolA==} + /@octokit/plugin-rest-endpoint-methods@10.4.1(@octokit/core@5.1.0): + resolution: {integrity: sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==} engines: {node: '>= 18'} peerDependencies: - '@octokit/core': '>=5' + '@octokit/core': '5' dependencies: '@octokit/core': 5.1.0 '@octokit/types': 12.6.0 @@ -4034,9 +3639,9 @@ packages: engines: {node: '>= 18'} dependencies: '@octokit/core': 5.1.0 - '@octokit/plugin-paginate-rest': 9.2.0(@octokit/core@5.1.0) - '@octokit/plugin-request-log': 4.0.0(@octokit/core@5.1.0) - '@octokit/plugin-rest-endpoint-methods': 10.4.0(@octokit/core@5.1.0) + '@octokit/plugin-paginate-rest': 9.2.1(@octokit/core@5.1.0) + '@octokit/plugin-request-log': 4.0.1(@octokit/core@5.1.0) + '@octokit/plugin-rest-endpoint-methods': 10.4.1(@octokit/core@5.1.0) dev: true /@octokit/types@12.6.0: @@ -4056,8 +3661,8 @@ packages: dev: true optional: true - /@pkgr/core@0.1.0: - resolution: {integrity: sha512-Zwq5OCzuwJC2jwqmpEQt7Ds1DTi6BWSwoGkbb1n9pO3hzb35BoJELx7c0T23iDkBGkh2e7tvOtjF3tr3OaQHDQ==} + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} dev: true @@ -4096,8 +3701,8 @@ packages: prettier: 3.2.5 dev: true - /@reduxjs/toolkit@2.2.1(react-redux@9.1.0)(react@18.2.0): - resolution: {integrity: sha512-8CREoqJovQW/5I4yvvijm/emUiCCmcs4Ev4XPWd4mizSO+dD3g5G6w34QK5AGeNrSH7qM8Fl66j4vuV7dpOdkw==} + /@reduxjs/toolkit@2.2.2(react-redux@9.1.0)(react@18.2.0): + resolution: {integrity: sha512-454GZrEx3G6QSYwIx9ROaso1HR6sTH8qyZBe3KEsdWVGU3ayV8jYCwdaEJV3vl9V6+pi3GRl+7Xl7AeDna6qwQ==} peerDependencies: react: ^16.9.0 || ^17.0.0 || ^18 react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 @@ -4107,15 +3712,15 @@ packages: react-redux: optional: true dependencies: - immer: 10.0.3 + immer: 10.0.4 react: 18.2.0 - react-redux: 9.1.0(@types/react@18.2.58)(react@18.2.0)(redux@5.0.1) + react-redux: 9.1.0(@types/react@18.2.67)(react@18.2.0)(redux@5.0.1) redux: 5.0.1 redux-thunk: 3.1.0(redux@5.0.1) reselect: 5.1.0 dev: true - /@rollup/plugin-babel@5.3.1(@babel/core@7.24.0)(rollup@2.79.1): + /@rollup/plugin-babel@5.3.1(@babel/core@7.24.3)(rollup@2.79.1): resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -4126,8 +3731,8 @@ packages: '@types/babel__core': optional: true dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-imports': 7.22.15 + '@babel/core': 7.24.3 + '@babel/helper-module-imports': 7.24.3 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 dev: true @@ -4184,104 +3789,104 @@ packages: rollup: 2.79.1 dev: true - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} + /@rollup/rollup-android-arm-eabi@4.13.0: + resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.12.0: - resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} + /@rollup/rollup-android-arm64@4.13.0: + resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} + /@rollup/rollup-darwin-arm64@4.13.0: + resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.12.0: - resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} + /@rollup/rollup-darwin-x64@4.13.0: + resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} + /@rollup/rollup-linux-arm-gnueabihf@4.13.0: + resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} + /@rollup/rollup-linux-arm64-gnu@4.13.0: + resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} + /@rollup/rollup-linux-arm64-musl@4.13.0: + resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} + /@rollup/rollup-linux-riscv64-gnu@4.13.0: + resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} + /@rollup/rollup-linux-x64-gnu@4.13.0: + resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} + /@rollup/rollup-linux-x64-musl@4.13.0: + resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} + /@rollup/rollup-win32-arm64-msvc@4.13.0: + resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} + /@rollup/rollup-win32-ia32-msvc@4.13.0: + resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} + /@rollup/rollup-win32-x64-msvc@4.13.0: + resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} cpu: [x64] os: [win32] requiresBuild: true @@ -4302,18 +3907,8 @@ packages: engines: {node: '>=18'} dev: true - /@socket.io/component-emitter@3.1.0: - resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} - dev: true - - /@stencil/core@4.12.3: - resolution: {integrity: sha512-9XkE9i2aXPlApMNeq3tbVHKx0eAfDc7QGyIl6t5NMuQFTOGL5Xd1soF38d+hCIDpUoUUtY7jXWg+iFrlrMzQhg==} - engines: {node: '>=16.0.0', npm: '>=7.10.0'} - hasBin: true - dev: true - - /@stencil/core@4.9.0: - resolution: {integrity: sha512-aWSkhBmk3yPwRAkUwBbzRwmdhb8hKiQ/JMr9m5jthpBZLjtppYbzz6PN2MhSMDfRp6K93eQw5WogSEH4HHuB6w==} + /@stencil/core@4.13.0: + resolution: {integrity: sha512-gg+gtBWekQ08mDja8GVAUHNu+rrFhQaKZDvfhnS3l/5JbYiJddTimuDPPhuc0sR0JZL1iRdJTJSa+JbvmnQ1cQ==} engines: {node: '>=16.0.0', npm: '>=7.10.0'} hasBin: true dev: true @@ -4324,106 +3919,106 @@ packages: ejs: 3.1.9 json5: 2.2.3 magic-string: 0.25.9 - string.prototype.matchall: 4.0.10 + string.prototype.matchall: 4.0.11 dev: true - /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.23.7): + /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.24.1): resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.24.1 dev: true - /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.23.7): + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.24.1): resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.24.1 dev: true - /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.23.7): + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.24.1): resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.24.1 dev: true - /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.23.7): + /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.24.1): resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.24.1 dev: true - /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.23.7): + /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.24.1): resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.24.1 dev: true - /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.23.7): + /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.24.1): resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.24.1 dev: true - /@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.23.7): + /@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.24.1): resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.24.1 dev: true - /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.23.7): + /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.24.1): resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} engines: {node: '>=12'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.24.1 dev: true - /@svgr/babel-preset@8.1.0(@babel/core@7.23.7): + /@svgr/babel-preset@8.1.0(@babel/core@7.24.1): resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.23.7) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.23.7) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.23.7) - '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.23.7) - '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.23.7) - '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.23.7) - '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.23.7) - '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.23.7) + '@babel/core': 7.24.1 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.24.1) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.24.1) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.24.1) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.24.1) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.24.1) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.24.1) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.24.1) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.24.1) dev: true - /@svgr/core@8.1.0(typescript@5.3.3): + /@svgr/core@8.1.0(typescript@5.4.3): resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} engines: {node: '>=14'} dependencies: - '@babel/core': 7.23.7 - '@svgr/babel-preset': 8.1.0(@babel/core@7.23.7) + '@babel/core': 7.24.1 + '@svgr/babel-preset': 8.1.0(@babel/core@7.24.1) camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@5.3.3) + cosmiconfig: 8.3.6(typescript@5.4.3) snake-case: 3.0.4 transitivePeerDependencies: - supports-color @@ -4434,7 +4029,7 @@ packages: resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} engines: {node: '>=14'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.24.0 entities: 4.5.0 dev: true @@ -4444,9 +4039,9 @@ packages: peerDependencies: '@svgr/core': '*' dependencies: - '@babel/core': 7.23.7 - '@svgr/babel-preset': 8.1.0(@babel/core@7.23.7) - '@svgr/core': 8.1.0(typescript@5.3.3) + '@babel/core': 7.24.1 + '@svgr/babel-preset': 8.1.0(@babel/core@7.24.1) + '@svgr/core': 8.1.0(typescript@5.4.3) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 transitivePeerDependencies: @@ -4460,26 +4055,12 @@ packages: defer-to-connect: 2.0.1 dev: true - /@testing-library/dom@9.3.3: - resolution: {integrity: sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==} - engines: {node: '>=14'} - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/runtime': 7.23.7 - '@types/aria-query': 5.0.4 - aria-query: 5.1.3 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 - dev: true - /@testing-library/dom@9.3.4: resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} dependencies: - '@babel/code-frame': 7.23.5 - '@babel/runtime': 7.24.0 + '@babel/code-frame': 7.24.2 + '@babel/runtime': 7.24.1 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -4488,7 +4069,7 @@ packages: pretty-format: 27.5.1 dev: true - /@testing-library/jest-dom@6.4.2(@types/jest@29.5.12)(vitest@1.3.1): + /@testing-library/jest-dom@6.4.2(@types/jest@29.5.12)(vitest@1.4.0): resolution: {integrity: sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} peerDependencies: @@ -4510,7 +4091,7 @@ packages: optional: true dependencies: '@adobe/css-tools': 4.3.3 - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.1 '@types/jest': 29.5.12 aria-query: 5.3.0 chalk: 3.0.0 @@ -4518,19 +4099,19 @@ packages: dom-accessibility-api: 0.6.3 lodash: 4.17.21 redent: 3.0.0 - vitest: 1.3.1(@types/node@20.11.24)(jsdom@24.0.0)(terser@5.28.1) + vitest: 1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2) dev: true - /@testing-library/react@14.2.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-sGdjws32ai5TLerhvzThYFbpnF9XtL65Cjf+gB0Dhr29BGqK+mAeN7SURSdu+eqgET4ANcWoC7FQpkaiGvBr+A==} + /@testing-library/react@14.2.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-SOUuM2ysCvjUWBXTNfQ/ztmnKDmqaiPV3SvoIuyxMUca45rbSWWAT/qB8CUs/JQ/ux/8JFs9DNdFQ3f6jH3crA==} engines: {node: '>=14'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@babel/runtime': 7.23.7 - '@testing-library/dom': 9.3.3 - '@types/react-dom': 18.2.19 + '@babel/runtime': 7.24.1 + '@testing-library/dom': 9.3.4 + '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true @@ -4548,7 +4129,7 @@ packages: resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} dev: true - /@trapezedev/configure@7.0.10(@types/node@20.11.24)(typescript@5.3.3): + /@trapezedev/configure@7.0.10(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-6bhaLpfjSImamthENrtaWntL0MxAFZjKrZOnsQdZ/ae2gVOvhdxTlPGnrIAnVQsRVkEjRB2B8Ih1oHYI/fq9kg==} hasBin: true dependencies: @@ -4557,10 +4138,10 @@ packages: '@ionic/utils-subprocess': 2.1.14 '@ionic/utils-terminal': 2.3.5 '@prettier/plugin-xml': 1.2.0 - '@trapezedev/project': 7.0.10(@types/node@20.11.24)(typescript@5.3.3) + '@trapezedev/project': 7.0.10(@types/node@20.11.30)(typescript@5.4.3) '@types/fs-extra': 9.0.13 '@types/jest': 27.5.2 - '@types/lodash': 4.14.202 + '@types/lodash': 4.17.0 '@types/plist': 3.0.5 '@types/prompts': 2.4.9 '@types/slice-ansi': 5.0.2 @@ -4573,8 +4154,8 @@ packages: plist: 3.1.0 prompts: 2.4.2 replace: 1.2.2 - tmp: 0.2.1 - ts-node: 10.9.2(@types/node@20.11.24)(typescript@5.3.3) + tmp: 0.2.3 + ts-node: 10.9.2(@types/node@20.11.30)(typescript@5.4.3) yaml: 1.10.2 yargs: 17.7.2 transitivePeerDependencies: @@ -4590,7 +4171,7 @@ packages: resolution: {integrity: sha512-k822Is3jGroqOTKF0gAFm80LmhFJWBAyZvNtyuXq6uQUzDDe2fj/gHwixP6VFzlpaWKLP7IuR609Xv8gwJCXyg==} dev: true - /@trapezedev/project@7.0.10(@types/node@20.11.24)(typescript@5.3.3): + /@trapezedev/project@7.0.10(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-UjwsStjhHq/+D1bWREmFDoyKql+qFIgJX93zQLg7R6CyWZUdtlGP2hU3l7tsVRtjJBVXpVu5mj8tdwJJoABO3A==} dependencies: '@ionic/utils-fs': 3.1.7 @@ -4601,7 +4182,7 @@ packages: conventional-changelog: 3.1.25 cross-fetch: 3.1.8 cross-spawn: 7.0.3 - diff: 5.1.0 + diff: 5.2.0 env-paths: 3.0.0 gradle-to-js: 2.0.1 ini: 2.0.0 @@ -4614,8 +4195,8 @@ packages: prompts: 2.4.2 replace: 1.2.2 tempy: 1.0.1 - tmp: 0.2.1 - ts-node: 10.9.2(@types/node@20.11.24)(typescript@5.3.3) + tmp: 0.2.3 + ts-node: 10.9.2(@types/node@20.11.30)(typescript@5.4.3) xcode: 3.0.1 xml-js: 1.6.11 xpath: 0.0.32 @@ -4652,8 +4233,8 @@ packages: /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.5 @@ -4662,36 +4243,26 @@ packages: /@types/babel__generator@7.6.8: resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.24.0 dev: true /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 dev: true /@types/babel__traverse@7.20.5: resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.24.0 dev: true /@types/cli-progress@3.11.5: resolution: {integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g==} dependencies: - '@types/node': 20.10.6 - dev: true - - /@types/cookie@0.4.1: - resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} - dev: true - - /@types/cors@2.8.17: - resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} - dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.30 dev: true /@types/debug@4.1.12: @@ -4700,8 +4271,8 @@ packages: '@types/ms': 0.7.34 dev: true - /@types/estree-jsx@1.0.3: - resolution: {integrity: sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==} + /@types/estree-jsx@1.0.5: + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} dependencies: '@types/estree': 1.0.5 dev: true @@ -4717,17 +4288,17 @@ packages: /@types/fs-extra@8.1.5: resolution: {integrity: sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.30 dev: true /@types/fs-extra@9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.30 dev: true - /@types/hast@3.0.3: - resolution: {integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==} + /@types/hast@3.0.4: + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} dependencies: '@types/unist': 3.0.2 dev: true @@ -4740,12 +4311,6 @@ packages: resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} dev: true - /@types/http-proxy@1.17.14: - resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} - dependencies: - '@types/node': 20.10.6 - dev: false - /@types/istanbul-lib-coverage@2.0.6: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true @@ -4784,8 +4349,8 @@ packages: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true - /@types/lodash@4.14.202: - resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} + /@types/lodash@4.17.0: + resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} dev: true /@types/mdast@4.0.3: @@ -4802,13 +4367,8 @@ packages: resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} dev: true - /@types/node@20.10.6: - resolution: {integrity: sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==} - dependencies: - undici-types: 5.26.5 - - /@types/node@20.11.24: - resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} + /@types/node@20.11.30: + resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} dependencies: undici-types: 5.26.5 dev: true @@ -4820,14 +4380,14 @@ packages: /@types/plist@3.0.5: resolution: {integrity: sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.30 xmlbuilder: 15.1.1 dev: true /@types/prompts@2.4.9: resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.30 kleur: 3.0.3 dev: true @@ -4835,17 +4395,17 @@ packages: resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} dev: true - /@types/react-dom@18.2.19: - resolution: {integrity: sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==} + /@types/react-dom@18.2.22: + resolution: {integrity: sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==} dependencies: - '@types/react': 18.2.58 + '@types/react': 18.2.67 dev: true /@types/react-router-dom@5.3.3: resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.58 + '@types/react': 18.2.67 '@types/react-router': 5.1.20 dev: true @@ -4853,11 +4413,11 @@ packages: resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.58 + '@types/react': 18.2.67 dev: true - /@types/react@18.2.58: - resolution: {integrity: sha512-TaGvMNhxvG2Q0K0aYxiKfNDS5m5ZsoIBBbtfUorxdH4NGSXIlYvZxLJI+9Dd3KjeB3780bciLyAb7ylO8pLhPw==} + /@types/react@18.2.67: + resolution: {integrity: sha512-vkIE2vTIMHQ/xL0rgmuoECBCkZFZeHr49HeWSc24AptMbNRo7pwSBvj73rlJJs9fGKj0koS+V7kQB1jHS0uCgw==} dependencies: '@types/prop-types': 15.7.11 '@types/scheduler': 0.16.8 @@ -4867,7 +4427,7 @@ packages: /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.30 dev: true /@types/scheduler@0.16.8: @@ -4928,13 +4488,13 @@ packages: resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} requiresBuild: true dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.30 dev: true optional: true - /@typescript-eslint/eslint-plugin@7.0.2(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-/XtVZJtbaphtdrWjr+CJclaCVGPtOdBpFEnvtNf/jRV0IiEemRrL0qABex/nEt8isYcnFacm3nPHYQwL+Wb7qg==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 eslint: ^8.56.0 @@ -4944,26 +4504,26 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.0.2(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 7.0.2 - '@typescript-eslint/type-utils': 7.0.2(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/utils': 7.0.2(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 7.0.2 + '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/scope-manager': 7.3.1 + '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/visitor-keys': 7.3.1 debug: 4.3.4(supports-color@8.1.1) eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.2.1(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-GdwfDglCxSmU+QTS9vhz2Sop46ebNCXpPPvsByK7hu0rFGRHL+AusKQJ7SoN+LbLh6APFpQwHKmDSwN35Z700Q==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -4971,28 +4531,28 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.0.2 - '@typescript-eslint/types': 7.0.2 - '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 7.0.2 + '@typescript-eslint/scope-manager': 7.3.1 + '@typescript-eslint/types': 7.3.1 + '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) + '@typescript-eslint/visitor-keys': 7.3.1 debug: 4.3.4(supports-color@8.1.1) eslint: 8.57.0 - typescript: 5.3.3 + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@7.0.2: - resolution: {integrity: sha512-l6sa2jF3h+qgN2qUMjVR3uCNGjWw4ahGfzIYsCtFrQJCjhbrDPdiihYT8FnnqFwsWX+20hK592yX9I2rxKTP4g==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/scope-manager@7.3.1: + resolution: {integrity: sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.0.2 - '@typescript-eslint/visitor-keys': 7.0.2 + '@typescript-eslint/types': 7.3.1 + '@typescript-eslint/visitor-keys': 7.3.1 dev: true - /@typescript-eslint/type-utils@7.0.2(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-IKKDcFsKAYlk8Rs4wiFfEwJTQlHcdn8CLwLaxwd6zb8HNiMcQIFX9sWax2k4Cjj7l7mGS5N1zl7RCHOVwHq2VQ==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -5000,55 +4560,55 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3) - '@typescript-eslint/utils': 7.0.2(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) + '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) debug: 4.3.4(supports-color@8.1.1) eslint: 8.57.0 - ts-api-utils: 1.2.1(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@7.0.2: - resolution: {integrity: sha512-ZzcCQHj4JaXFjdOql6adYV4B/oFOFjPOC9XYwCaZFRvqN8Llfvv4gSxrkQkd2u4Ci62i2c6W6gkDwQJDaRc4nA==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/types@7.3.1: + resolution: {integrity: sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==} + engines: {node: ^18.18.0 || >=20.0.0} dev: true - /@typescript-eslint/typescript-estree@7.0.2(typescript@5.3.3): - resolution: {integrity: sha512-3AMc8khTcELFWcKcPc0xiLviEvvfzATpdPj/DXuOGIdQIIFybf4DMT1vKRbuAEOFMwhWt7NFLXRkbjsvKZQyvw==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.3): + resolution: {integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.0.2 - '@typescript-eslint/visitor-keys': 7.0.2 + '@typescript-eslint/types': 7.3.1 + '@typescript-eslint/visitor-keys': 7.3.1 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.2.1(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@7.0.2(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-PZPIONBIB/X684bhT1XlrkjNZJIEevwkKDsdwfiu1WeqBxYEEdIgVDgm8/bbKHVu+6YOpeRqcfImTdImx/4Bsw==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.0.2 - '@typescript-eslint/types': 7.0.2 - '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3) + '@typescript-eslint/scope-manager': 7.3.1 + '@typescript-eslint/types': 7.3.1 + '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -5056,11 +4616,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@7.0.2: - resolution: {integrity: sha512-8Y+YiBmqPighbm5xA2k4wKTxRzx9EkBu7Rlw+WHqMvRJ3RPz/BMBO9b2ru0LUNmXg120PHUXD5+SWFy2R8DqlQ==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/visitor-keys@7.3.1: + resolution: {integrity: sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/types': 7.3.1 eslint-visitor-keys: 3.4.3 dev: true @@ -5068,76 +4628,75 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-legacy@5.3.1(esbuild@0.20.1)(terser@5.28.1)(vite@5.1.4): - resolution: {integrity: sha512-ymCuZo8Bu7gSO85I3E/3SNnaQ64gFdVpTqxqhl8YeasJChDxN8D3IKYByC+AsxwoeO2AE59wy4PPILM/A03TIQ==} + /@vitejs/plugin-legacy@5.3.2(terser@5.29.2)(vite@5.2.2): + resolution: {integrity: sha512-8moCOrIMaZ/Rjln0Q6GsH6s8fAt1JOI3k8nmfX4tXUxE5KAExVctSyOBk+A25GClsdSWqIk2yaUthH3KJ2X4tg==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: terser: ^5.4.0 vite: ^5.0.0 dependencies: - '@babel/core': 7.23.9 - '@babel/preset-env': 7.23.9(@babel/core@7.23.9) + '@babel/core': 7.24.1 + '@babel/preset-env': 7.24.1(@babel/core@7.24.1) browserslist: 4.23.0 - core-js: 3.36.0 - esbuild-plugin-browserslist: 0.11.1(browserslist@4.23.0)(esbuild@0.20.1) - magic-string: 0.30.7 + browserslist-to-esbuild: 2.1.1(browserslist@4.23.0) + core-js: 3.36.1 + magic-string: 0.30.8 regenerator-runtime: 0.14.1 systemjs: 6.14.3 - terser: 5.28.1 - vite: 5.1.4(@types/node@20.11.24)(terser@5.28.1) + terser: 5.29.2 + vite: 5.2.2(@types/node@20.11.30)(terser@5.29.2) transitivePeerDependencies: - - esbuild - supports-color dev: true - /@vitejs/plugin-react@4.2.1(vite@5.1.4): + /@vitejs/plugin-react@4.2.1(vite@5.2.2): resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.2.0 || ^5.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.24.1 + '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.1) + '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.1) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 - vite: 5.1.4(@types/node@20.11.24)(terser@5.28.1) + vite: 5.2.2(@types/node@20.11.30)(terser@5.29.2) transitivePeerDependencies: - supports-color dev: true - /@vitest/expect@1.3.1: - resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} + /@vitest/expect@1.4.0: + resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} dependencies: - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 chai: 4.4.1 dev: true - /@vitest/runner@1.3.1: - resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} + /@vitest/runner@1.4.0: + resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} dependencies: - '@vitest/utils': 1.3.1 + '@vitest/utils': 1.4.0 p-limit: 5.0.0 pathe: 1.1.2 dev: true - /@vitest/snapshot@1.3.1: - resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} + /@vitest/snapshot@1.4.0: + resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} dependencies: - magic-string: 0.30.7 + magic-string: 0.30.8 pathe: 1.1.2 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.3.1: - resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} + /@vitest/spy@1.4.0: + resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} dependencies: tinyspy: 2.2.1 dev: true - /@vitest/utils@1.3.1: - resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} + /@vitest/utils@1.4.0: + resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -5145,39 +4704,39 @@ packages: pretty-format: 29.7.0 dev: true - /@wyw-in-js/babel-preset@0.4.1(typescript@5.3.3): - resolution: {integrity: sha512-4mrcifqyZFyOHGXRkdHjLYxDgi5yVT7AuNG38G36oR/tS3asmCerkbCCaTkB5QxFOKOnjmeejHRBFCZ4pgSY4g==} + /@wyw-in-js/babel-preset@0.5.0(typescript@5.4.3): + resolution: {integrity: sha512-Mmt5cksTJ6FtRyI1SIoae0RpI+6OjZcMEHke/7BWyrdZFlCHFKYjcMFgY6kpB8MoHTqZ5+UYZqTX/l+Qh+zHrw==} engines: {node: '>=16.0.0'} dependencies: - '@babel/core': 7.23.9 - '@wyw-in-js/transform': 0.4.1(typescript@5.3.3) + '@babel/core': 7.24.1 + '@wyw-in-js/transform': 0.5.0(typescript@5.4.3) transitivePeerDependencies: - supports-color - typescript dev: true - /@wyw-in-js/processor-utils@0.4.0: - resolution: {integrity: sha512-Y4285eV+rmZUXnsH1WeoPjey9QalJXmn8/3KvNOlK4ymfyTt9ghveQlYynJ2UmmwXDvbk0rbVEXACG8GTF2GEA==} + /@wyw-in-js/processor-utils@0.4.1: + resolution: {integrity: sha512-0MVgPC3Svplm2WB4G4eSLLfx8n1EaIpClMXqNcTmfyrFcpLjYYcSXDP7aVgQVvy5wQCqqq+EmPbnU6yXq8X19w==} engines: {node: '>=16.0.0'} dependencies: - '@babel/generator': 7.23.6 - '@wyw-in-js/shared': 0.4.0 + '@babel/generator': 7.24.1 + '@wyw-in-js/shared': 0.4.1 transitivePeerDependencies: - supports-color dev: true - /@wyw-in-js/processor-utils@0.4.1: - resolution: {integrity: sha512-0MVgPC3Svplm2WB4G4eSLLfx8n1EaIpClMXqNcTmfyrFcpLjYYcSXDP7aVgQVvy5wQCqqq+EmPbnU6yXq8X19w==} + /@wyw-in-js/processor-utils@0.5.0: + resolution: {integrity: sha512-3sRwuDTMy2GmD+44bhCTcBasCrjBexzYRzhxkmMrX49cpVDmQOH+4O7kX5OMRbmzMXe6Z5MsnxIlDlm3bJlcww==} engines: {node: '>=16.0.0'} dependencies: - '@babel/generator': 7.23.6 - '@wyw-in-js/shared': 0.4.1 + '@babel/generator': 7.24.1 + '@wyw-in-js/shared': 0.5.0 transitivePeerDependencies: - supports-color dev: true - /@wyw-in-js/shared@0.4.0: - resolution: {integrity: sha512-7gER7khdNM6r6zLA428gdQrdSCLWmZmZexBhSTKPmqFFa/WIxL2/vPAceMw8Q5SAm1xctq2OcU4kKnXi29MBgA==} + /@wyw-in-js/shared@0.4.1: + resolution: {integrity: sha512-luKAAP6augn+j7EE9bcVP1chs5RdtmJx1PbRIqT8j12oP2YV32fvhHFX/99XxPujYLxFIexZrhJkNKHnL5uyKA==} engines: {node: '>=16.0.0'} dependencies: debug: 4.3.4(supports-color@8.1.1) @@ -5187,8 +4746,8 @@ packages: - supports-color dev: true - /@wyw-in-js/shared@0.4.1: - resolution: {integrity: sha512-luKAAP6augn+j7EE9bcVP1chs5RdtmJx1PbRIqT8j12oP2YV32fvhHFX/99XxPujYLxFIexZrhJkNKHnL5uyKA==} + /@wyw-in-js/shared@0.5.0: + resolution: {integrity: sha512-W6Uic3cqRs75XZfXGOYH/0fADbl3Wz/kqnNaowgyNTdTN7/9vdlqk/D/gMT5WGolj4t418+rYe2FHHs0LdlmvA==} engines: {node: '>=16.0.0'} dependencies: debug: 4.3.4(supports-color@8.1.1) @@ -5198,21 +4757,21 @@ packages: - supports-color dev: true - /@wyw-in-js/transform@0.4.1(typescript@5.3.3): - resolution: {integrity: sha512-MhU/A58QJ7SkAjVNgvmoa5kbg7h28u4RkwGxm0/qt49sPMSlY8AsIW4wXX2k0rX5GTKHASVcNKrSywE2acjzxQ==} + /@wyw-in-js/transform@0.5.0(typescript@5.4.3): + resolution: {integrity: sha512-tpa2/FsB30fdXB1E+9MmfxQYbRgLv/+VMKzpBKNraDH39zwnA2eGGAEho5gpqK40cEV7NH6zhVbaBcEnV0HQyw==} engines: {node: '>=16.0.0'} dependencies: - '@babel/core': 7.23.9 - '@babel/generator': 7.23.6 - '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 - '@wyw-in-js/processor-utils': 0.4.1 - '@wyw-in-js/shared': 0.4.1 - babel-merge: 3.0.0(@babel/core@7.23.9) - cosmiconfig: 8.3.6(typescript@5.3.3) + '@babel/core': 7.24.1 + '@babel/generator': 7.24.1 + '@babel/helper-module-imports': 7.24.1 + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.1) + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + '@wyw-in-js/processor-utils': 0.5.0 + '@wyw-in-js/shared': 0.5.0 + babel-merge: 3.0.0(@babel/core@7.24.1) + cosmiconfig: 8.3.6(typescript@5.4.3) happy-dom: 12.10.3 source-map: 0.7.4 stylis: 4.3.1 @@ -5222,16 +4781,16 @@ packages: - typescript dev: true - /@wyw-in-js/vite@0.4.1(rollup@2.79.1)(typescript@5.3.3)(vite@5.1.4): - resolution: {integrity: sha512-Z29wT+3OGQitSGCceQrvFLUggq6RDjKLChhp4Q9VlISA0nMMDbMGFzryTH3AZOhWYNYiCcFXTi+1fhnIkKXdfQ==} + /@wyw-in-js/vite@0.5.0(rollup@2.79.1)(typescript@5.4.3)(vite@5.2.2): + resolution: {integrity: sha512-vNqn3aPRXPfRILDFOSDU8RtGABK8ZWSQyU2uItcVc3p++WvIaoiMpVBsTl7ZFPKr/S3ZIVc/7dCeb7rTqHRI6A==} engines: {node: '>=16.0.0'} peerDependencies: vite: '>=3.2.7' dependencies: '@rollup/pluginutils': 5.1.0(rollup@2.79.1) - '@wyw-in-js/shared': 0.4.1 - '@wyw-in-js/transform': 0.4.1(typescript@5.3.3) - vite: 5.1.4(@types/node@20.11.24)(terser@5.28.1) + '@wyw-in-js/shared': 0.5.0 + '@wyw-in-js/transform': 0.5.0(typescript@5.4.3) + vite: 5.2.2(@types/node@20.11.30)(terser@5.29.2) transitivePeerDependencies: - rollup - supports-color @@ -5277,6 +4836,7 @@ packages: dependencies: mime-types: 2.1.35 negotiator: 0.6.3 + dev: false /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -5286,11 +4846,6 @@ packages: acorn: 8.11.3 dev: true - /acorn-walk@8.3.1: - resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==} - engines: {node: '>=0.4.0'} - dev: true - /acorn-walk@8.3.2: resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} @@ -5435,13 +4990,6 @@ packages: dequal: 2.0.3 dev: true - /array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.2 - dev: true - /array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} @@ -5462,10 +5010,10 @@ packages: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-abstract: 1.22.5 + get-intrinsic: 1.2.4 is-string: 1.0.7 dev: true @@ -5474,13 +5022,25 @@ packages: engines: {node: '>=8'} dev: true + /array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + dev: true + /array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 es-shim-unscopables: 1.0.2 dev: true @@ -5488,44 +5048,41 @@ packages: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 es-shim-unscopables: 1.0.2 dev: true - /array.prototype.map@1.0.6: - resolution: {integrity: sha512-nK1psgF2cXqP3wSyCSq0Hc7zwNq3sfljQqaG27r/7a7ooNUnn5nGq6yYWyks9jMO5EoFQ0ax80hSg6oXSRNXaw==} + /array.prototype.map@1.0.7: + resolution: {integrity: sha512-XpcFfLoBEAhezrrNw1V+yLXkE7M6uR7xJEsxbG6c/V9v043qurwVJB9r9UTnoSioFDoz1i1VOydpWGmJpfVZbg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.2 es-array-method-boxes-properly: 1.0.0 + es-object-atoms: 1.0.0 is-string: 1.0.7 dev: true - /array.prototype.tosorted@1.1.2: - resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} + /array.prototype.toreversed@1.1.2: + resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.2 dev: true - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} - engines: {node: '>= 0.4'} + /array.prototype.tosorted@1.1.3: + resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} dependencies: - array-buffer-byte-length: 1.0.0 call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 + es-abstract: 1.22.5 + es-errors: 1.3.0 + es-shim-unscopables: 1.0.2 dev: true /arraybuffer.prototype.slice@1.0.3: @@ -5535,7 +5092,7 @@ packages: array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.22.5 es-errors: 1.3.0 get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 @@ -5573,12 +5130,6 @@ packages: resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} dev: true - /asynciterator.prototype@1.0.0: - resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} - dependencies: - has-symbols: 1.0.3 - dev: true - /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true @@ -5588,11 +5139,6 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} - dev: true - /available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -5600,89 +5146,89 @@ packages: possible-typed-array-names: 1.0.0 dev: true - /b4a@1.6.4: - resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + /b4a@1.6.6: + resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} dev: true - /babel-merge@3.0.0(@babel/core@7.23.9): + /babel-merge@3.0.0(@babel/core@7.24.1): resolution: {integrity: sha512-eBOBtHnzt9xvnjpYNI5HmaPp/b2vMveE5XggzqHnQeHJ8mFIBrBv6WZEVIj5jJ2uwTItkqKo9gWzEEcBxEq0yw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.1 deepmerge: 2.2.1 object.omit: 3.0.0 dev: true - /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.23.9): - resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} + /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.1): + resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.9 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) + '@babel/compat-data': 7.24.1 + '@babel/core': 7.24.1 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.1) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.24.0): - resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} + /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.3): + resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) + '@babel/compat-data': 7.24.1 + '@babel/core': 7.24.3 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.23.9): - resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} + /babel-plugin-polyfill-corejs3@0.10.1(@babel/core@7.24.1): + resolution: {integrity: sha512-XiFei6VGwM4ii6nKC1VCenGD8Z4bjiNYcrdkM8oqM3pbuemmyb8biMgrDX1ZHSbIuMLXatM6JJ/StPYIuTl6MQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) - core-js-compat: 3.36.0 + '@babel/core': 7.24.1 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.1) + core-js-compat: 3.36.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.24.0): - resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.3): + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) - core-js-compat: 3.36.0 + '@babel/core': 7.24.3 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + core-js-compat: 3.36.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.23.9): - resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} + /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.1): + resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) + '@babel/core': 7.24.1 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.1) transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.24.0): - resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} + /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.3): + resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) transitivePeerDependencies: - supports-color dev: true @@ -5695,17 +5241,43 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + /bare-events@2.2.1: + resolution: {integrity: sha512-9GYPpsPFvrWBkelIhOhTWtkeZxVxZOdb3VnFTCzlOo3OjvmTvzLoZFUT8kNFACx0vJej6QPney1Cf9BvzCNE/A==} + requiresBuild: true dev: true + optional: true + + /bare-fs@2.2.2: + resolution: {integrity: sha512-X9IqgvyB0/VA5OZJyb5ZstoN62AzD7YxVGog13kkfYWYqJYcK0kcqLZ6TrmH5qr4/8//ejVcX4x/a0UvaogXmA==} + requiresBuild: true + dependencies: + bare-events: 2.2.1 + bare-os: 2.2.1 + bare-path: 2.1.0 + streamx: 2.16.1 + dev: true + optional: true + + /bare-os@2.2.1: + resolution: {integrity: sha512-OwPyHgBBMkhC29Hl3O4/YfxW9n7mdTr2+SsO29XBWKKJsbgj3mnorDB80r5TiCQgQstgE5ga1qNYrpes6NvX2w==} + requiresBuild: true + dev: true + optional: true + + /bare-path@2.1.0: + resolution: {integrity: sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==} + requiresBuild: true + dependencies: + bare-os: 2.2.1 + dev: true + optional: true - /base64id@2.0.0: - resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} - engines: {node: ^4.5.0 || >= 5.9} + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true - /basic-ftp@5.0.4: - resolution: {integrity: sha512-8PzkB0arJFV4jJWSGOYR+OEic6aeKMu/osRhBULN6RY0ykby6LKhbmuQ5ublvaas5BOwboah5D87nrHyuh8PPA==} + /basic-ftp@5.0.5: + resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} engines: {node: '>=10.0.0'} dev: true @@ -5718,8 +5290,8 @@ packages: engines: {node: '>=0.6'} dev: true - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} dev: true @@ -5731,26 +5303,6 @@ packages: readable-stream: 3.6.2 dev: true - /body-parser@1.20.1: - resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.1 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: false - /body-parser@1.20.2: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -5769,7 +5321,7 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true + dev: false /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -5827,16 +5379,17 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.0.1 + dev: true - /browserslist@4.22.2: - resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + /browserslist-to-esbuild@2.1.1(browserslist@4.23.0): + resolution: {integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==} + engines: {node: '>=18'} hasBin: true + peerDependencies: + browserslist: '*' dependencies: - caniuse-lite: 1.0.30001572 - electron-to-chromium: 1.4.619 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.2) + browserslist: 4.23.0 + meow: 13.2.0 dev: true /browserslist@4.23.0: @@ -5844,8 +5397,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001589 - electron-to-chromium: 1.4.681 + caniuse-lite: 1.0.30001599 + electron-to-chromium: 1.4.711 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) dev: true @@ -5885,6 +5438,7 @@ packages: /bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} + dev: false /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} @@ -5905,17 +5459,10 @@ packages: http-cache-semantics: 4.1.1 keyv: 4.5.4 mimic-response: 4.0.0 - normalize-url: 8.0.0 + normalize-url: 8.0.1 responselike: 3.0.0 dev: true - /call-bind@1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} - dependencies: - function-bind: 1.1.2 - get-intrinsic: 1.2.2 - set-function-length: 1.1.1 - /call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} @@ -5924,8 +5471,7 @@ packages: es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 - set-function-length: 1.2.1 - dev: true + set-function-length: 1.2.2 /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -5956,75 +5502,71 @@ packages: engines: {node: '>=14.16'} dev: true - /caniuse-lite@1.0.30001572: - resolution: {integrity: sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==} - dev: true - - /caniuse-lite@1.0.30001589: - resolution: {integrity: sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==} + /caniuse-lite@1.0.30001599: + resolution: {integrity: sha512-LRAQHZ4yT1+f9LemSMeqdMpMxZcc4RMWdj4tiFe3G8tNkWK+E58g+/tzotb5cU6TbcVJLr4fySiAW7XmxQvZQA==} dev: true - /capacitor-android-nav-mode@0.0.1(@capacitor/core@5.7.0): + /capacitor-android-nav-mode@0.0.1(@capacitor/core@5.7.4): resolution: {integrity: sha512-cnEk7CqDCjNokhDr/DTY/w/qgZqUr/+tTqavjl5PIBCXNkqUCHAP/nBFebZN5wZfAwD9WaXJp67Q1MtfaQNpVw==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /capacitor-application-context@0.0.1(@capacitor/core@5.7.0): + /capacitor-application-context@0.0.1(@capacitor/core@5.7.4): resolution: {integrity: sha512-XYHvn01l3VxbGh/fs77aBTyEW54TOoEDlXYkAEeRe7PQCwU8EfVCX5MLvuWVCoIzpRlEWYNCFCS1TvLkmV7IsQ==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /capacitor-biometric-lock@0.1.1(@capacitor/core@5.7.0): + /capacitor-biometric-lock@0.1.1(@capacitor/core@5.7.4): resolution: {integrity: sha512-vqO0GijlOscXyAON21myo72LW3+eiOl+3eOLX7Rb/WFRqJeYCySZjH9/Eh+ip28B05dr7scO9vFB5VTh1trtEQ==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /capacitor-clear-cache@0.0.1(@capacitor/core@5.7.0): + /capacitor-clear-cache@0.0.1(@capacitor/core@5.7.4): resolution: {integrity: sha512-x4JY0BsbRCWrU0/G0WTiXS5XRWe/klrA8NemeGThWwEZqGo1zcE/seONpx1WLEHel2xUVNdwx4y3v1byOjE3kQ==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /capacitor-launch-native@0.0.2(@capacitor/core@5.7.0): + /capacitor-launch-native@0.0.2(@capacitor/core@5.7.4): resolution: {integrity: sha512-fOomAYxB86KJLMks91wm3ea3odSevjud7jnZrgTyycqGyINGD9WoKNptPqrZQ8BjyX0+yWphXHRLbtGO678nzA==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /capacitor-plugin-safe-area@2.0.6(@capacitor/core@5.7.0): + /capacitor-plugin-safe-area@2.0.6(@capacitor/core@5.7.4): resolution: {integrity: sha512-7arNdX72Zbx5GtP9XlJFOne13QM8/FibTuBqG2EPdqBMGdYNiMk4G8ivD/Ovt2/w9VGWahOBCWwo2S99UgT1VQ==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /capacitor-set-version@2.2.0(@types/node@20.11.24)(typescript@5.3.3): + /capacitor-set-version@2.2.0(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-CMWFFA8BxSRQDOCmSjqpZenxdMpRDvLRZLQfpO3958JTjE9+4G9o97Okmqpu2t26KVs8MHoDWjDy5hxD8EigSw==} engines: {node: '>=14.0.0'} hasBin: true dependencies: '@oclif/core': 1.26.2 - '@oclif/plugin-autocomplete': 1.4.6(@types/node@20.11.24)(typescript@5.3.3) - '@oclif/plugin-commands': 2.2.28(@types/node@20.11.24)(typescript@5.3.3) - '@oclif/plugin-help': 5.2.20(@types/node@20.11.24)(typescript@5.3.3) - '@oclif/plugin-plugins': 2.4.7(@types/node@20.11.24)(typescript@5.3.3) - '@oclif/plugin-version': 1.3.10(@types/node@20.11.24)(typescript@5.3.3) + '@oclif/plugin-autocomplete': 1.4.6(@types/node@20.11.30)(typescript@5.4.3) + '@oclif/plugin-commands': 2.2.28(@types/node@20.11.30)(typescript@5.4.3) + '@oclif/plugin-help': 5.2.20(@types/node@20.11.30)(typescript@5.4.3) + '@oclif/plugin-plugins': 2.4.7(@types/node@20.11.30)(typescript@5.4.3) + '@oclif/plugin-version': 1.3.10(@types/node@20.11.30)(typescript@5.4.3) plist: 3.1.0 - semver: 7.5.4 + semver: 7.6.0 tslib: 2.6.2 transitivePeerDependencies: - '@swc/core' @@ -6034,20 +5576,20 @@ packages: - typescript dev: true - /capacitor-stash-media@1.0.0(@capacitor/core@5.7.0): + /capacitor-stash-media@1.0.0(@capacitor/core@5.7.4): resolution: {integrity: sha512-9Uqv7KYwA8S8EpuNerzB/ljnwNSTaGiGXJJ8mxXPcj3lnY+84ObS63k0VuPkTYwc+1Q6HaZgjd4Y4cYaDmElaw==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /capacitor-tips@0.0.2(@capacitor/core@5.7.0): + /capacitor-tips@0.0.2(@capacitor/core@5.7.4): resolution: {integrity: sha512-ig/inocKk8oVfiOst6inGLl5dhA8/bFtlhpZNTjSffGEhyAGnK2rsGn2FWkM39qBP4+3/0xakI80BwO1PvKsXQ==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true /cardinal@2.1.1: @@ -6161,21 +5703,6 @@ packages: regexp-to-ast: 0.5.0 dev: true - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -6205,7 +5732,7 @@ packages: engines: {node: '>=12.13.0'} hasBin: true dependencies: - '@types/node': 20.10.6 + '@types/node': 20.11.30 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -6426,26 +5953,14 @@ packages: dev: true /configstore@6.0.0: - resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} - engines: {node: '>=12'} - dependencies: - dot-prop: 6.0.1 - graceful-fs: 4.2.11 - unique-string: 3.0.0 - write-file-atomic: 3.0.3 - xdg-basedir: 5.1.0 - dev: true - - /connect@3.7.0: - resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} - engines: {node: '>= 0.10.0'} - dependencies: - debug: 2.6.9 - finalhandler: 1.1.2 - parseurl: 1.3.3 - utils-merge: 1.0.1 - transitivePeerDependencies: - - supports-color + resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} + engines: {node: '>=12'} + dependencies: + dot-prop: 6.0.1 + graceful-fs: 4.2.11 + unique-string: 3.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 5.1.0 dev: true /content-disposition@0.5.4: @@ -6613,24 +6128,19 @@ packages: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: false - /cookie@0.4.2: - resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} - engines: {node: '>= 0.6'} - dev: true - - /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} dev: false - /core-js-compat@3.36.0: - resolution: {integrity: sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==} + /core-js-compat@3.36.1: + resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} dependencies: browserslist: 4.23.0 dev: true - /core-js@3.36.0: - resolution: {integrity: sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==} + /core-js@3.36.1: + resolution: {integrity: sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==} requiresBuild: true dev: true @@ -6638,15 +6148,7 @@ packages: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true - /cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} - dependencies: - object-assign: 4.1.1 - vary: 1.1.2 - dev: true - - /cosmiconfig@8.3.6(typescript@5.3.3): + /cosmiconfig@8.3.6(typescript@5.4.3): resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: @@ -6659,10 +6161,10 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - typescript: 5.3.3 + typescript: 5.4.3 dev: true - /cosmiconfig@9.0.0(typescript@5.3.3): + /cosmiconfig@9.0.0(typescript@5.4.3): resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: @@ -6675,7 +6177,7 @@ packages: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 - typescript: 5.3.3 + typescript: 5.4.3 dev: true /create-require@1.1.1: @@ -6767,10 +6269,6 @@ packages: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} dev: true - /custom-event@1.0.1: - resolution: {integrity: sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==} - dev: true - /dargs@7.0.0: resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} engines: {node: '>=8'} @@ -6794,13 +6292,35 @@ packages: whatwg-url: 14.0.0 dev: true - /date-fns@3.3.1: - resolution: {integrity: sha512-y8e109LYGgoQDveiEBD3DYXKba1jWf5BA8YU1FL5Tvm0BTdEfy54WLCwnuYWZNnzzvALy/QQ4Hov+Q9RVRv+Zw==} + /data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 dev: true - /date-format@4.0.14: - resolution: {integrity: sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==} - engines: {node: '>=4.0'} + /data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /date-fns@3.6.0: + resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} dev: true /dateformat@3.0.3: @@ -6883,24 +6403,24 @@ packages: resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 + array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 es-get-iterator: 1.1.3 get-intrinsic: 1.2.4 is-arguments: 1.1.1 - is-array-buffer: 3.0.2 + is-array-buffer: 3.0.4 is-date-object: 1.0.5 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 isarray: 2.0.5 - object-is: 1.1.5 + object-is: 1.1.6 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.1 - side-channel: 1.0.4 + regexp.prototype.flags: 1.5.2 + side-channel: 1.0.6 which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.13 + which-collection: 1.0.2 + which-typed-array: 1.1.15 dev: true /deep-extend@0.6.0: @@ -6946,14 +6466,6 @@ packages: engines: {node: '>=10'} dev: true - /define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.2 - gopd: 1.0.1 - has-property-descriptors: 1.0.1 - /define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -6961,7 +6473,6 @@ packages: es-define-property: 1.0.0 es-errors: 1.3.0 gopd: 1.0.1 - dev: true /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} @@ -6977,8 +6488,8 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 - has-property-descriptors: 1.0.1 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 dev: true @@ -7013,6 +6524,7 @@ packages: /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + dev: false /deprecation@2.3.1: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} @@ -7026,9 +6538,10 @@ packages: /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: false - /detect-libc@2.0.2: - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: true @@ -7042,29 +6555,21 @@ packages: resolution: {integrity: sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==} dev: true - /dexie-react-hooks@1.1.7(@types/react@18.2.58)(dexie@3.2.5)(react@18.2.0): + /dexie-react-hooks@1.1.7(@types/react@18.2.67)(dexie@3.2.7)(react@18.2.0): resolution: {integrity: sha512-Lwv5W0Hk+uOW3kGnsU9GZoR1er1B7WQ5DSdonoNG+focTNeJbHW6vi6nBoX534VKI3/uwHebYzSw1fwY6a7mTw==} peerDependencies: '@types/react': '>=16' dexie: ^3.2 || ^4.0.1-alpha react: '>=16' dependencies: - '@types/react': 18.2.58 - dexie: 3.2.5(karma@6.4.3) + '@types/react': 18.2.67 + dexie: 3.2.7 react: 18.2.0 dev: true - /dexie@3.2.5(karma@6.4.3): - resolution: {integrity: sha512-MA7vYQvXxWN2+G50D0GLS4FqdYUyRYQsN0FikZIVebOmRoNCSCL9+eUbIF80dqrfns3kmY+83+hE2GN9CnAGyA==} + /dexie@3.2.7: + resolution: {integrity: sha512-2a+BXvVhY5op+smDRLxeBAivE7YcYaneXJ1la3HOkUfX9zKkE/AJ8CNgjiXbtXepFyFmJNGSbmjOwqbT749r/w==} engines: {node: '>=6.0'} - dependencies: - karma-safari-launcher: 1.0.0(karma@6.4.3) - transitivePeerDependencies: - - karma - dev: true - - /di@0.0.1: - resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==} dev: true /diff-sequences@27.5.1: @@ -7082,8 +6587,8 @@ packages: engines: {node: '>=0.3.1'} dev: true - /diff@5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + /diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} dev: true @@ -7116,15 +6621,6 @@ packages: resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} dev: true - /dom-serialize@2.2.1: - resolution: {integrity: sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==} - dependencies: - custom-event: 1.0.1 - ent: 2.2.0 - extend: 3.0.2 - void-elements: 2.0.1 - dev: true - /dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} dependencies: @@ -7213,6 +6709,7 @@ packages: /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: false /ejs@3.1.9: resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} @@ -7222,12 +6719,8 @@ packages: jake: 10.8.7 dev: true - /electron-to-chromium@1.4.619: - resolution: {integrity: sha512-gW4qlnHxa49kp9kXlLdvnwdYEUlQRio30QOR61YfOQU8MaC/NGHWiJhyMMUl1EwFHbbzQTxvP1Dypdw95DjIow==} - dev: true - - /electron-to-chromium@1.4.681: - resolution: {integrity: sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==} + /electron-to-chromium@1.4.711: + resolution: {integrity: sha512-hRg81qzvUEibX2lDxnFlVCHACa+LtrCPIsWAxo161LDYIB3jauf57RGsMZV9mvGwE98yGH06icj3zBEoOkxd/w==} dev: true /elementtree@0.1.7: @@ -7252,6 +6745,7 @@ packages: /encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + dev: false /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} @@ -7259,35 +6753,6 @@ packages: once: 1.4.0 dev: true - /engine.io-parser@5.2.2: - resolution: {integrity: sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==} - engines: {node: '>=10.0.0'} - dev: true - - /engine.io@6.5.4: - resolution: {integrity: sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg==} - engines: {node: '>=10.2.0'} - dependencies: - '@types/cookie': 0.4.1 - '@types/cors': 2.8.17 - '@types/node': 20.11.24 - accepts: 1.3.8 - base64id: 2.0.0 - cookie: 0.4.2 - cors: 2.8.5 - debug: 4.3.4(supports-color@8.1.1) - engine.io-parser: 5.2.2 - ws: 8.11.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - - /ent@2.2.0: - resolution: {integrity: sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==} - dev: true - /entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true @@ -7313,61 +6778,67 @@ packages: is-arrayish: 0.2.1 dev: true - /es-abstract@1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + /es-abstract@1.22.5: + resolution: {integrity: sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - es-set-tostringtag: 2.0.2 + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.2 - get-symbol-description: 1.0.0 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 globalthis: 1.0.3 gopd: 1.0.1 - has-property-descriptors: 1.0.1 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.0 - internal-slot: 1.0.6 - is-array-buffer: 3.0.2 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 is-callable: 1.2.7 - is-negative-zero: 2.0.2 + is-negative-zero: 2.0.3 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 is-string: 1.0.7 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 is-weakref: 1.0.2 object-inspect: 1.13.1 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.5 unbox-primitive: 1.0.2 - which-typed-array: 1.1.13 + which-typed-array: 1.1.15 dev: true - /es-abstract@1.22.4: - resolution: {integrity: sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==} + /es-abstract@1.23.2: + resolution: {integrity: sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 available-typed-arrays: 1.0.7 call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 es-define-property: 1.0.0 es-errors: 1.3.0 + es-object-atoms: 1.0.0 es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 @@ -7378,10 +6849,11 @@ packages: has-property-descriptors: 1.0.2 has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.1 + hasown: 2.0.2 internal-slot: 1.0.7 is-array-buffer: 3.0.4 is-callable: 1.2.7 + is-data-view: 1.0.1 is-negative-zero: 2.0.3 is-regex: 1.1.4 is-shared-array-buffer: 1.0.3 @@ -7392,17 +6864,17 @@ packages: object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.0 + safe-array-concat: 1.1.2 safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 string.prototype.trimstart: 1.0.7 typed-array-buffer: 1.0.2 typed-array-byte-length: 1.0.1 typed-array-byte-offset: 1.0.2 typed-array-length: 1.0.5 unbox-primitive: 1.0.2 - which-typed-array: 1.1.14 + which-typed-array: 1.1.15 dev: true /es-array-method-boxes-properly@1.0.0: @@ -7414,12 +6886,10 @@ packages: engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.4 - dev: true /es-errors@1.3.0: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - dev: true /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} @@ -7428,39 +6898,38 @@ packages: get-intrinsic: 1.2.4 has-symbols: 1.0.3 is-arguments: 1.1.1 - is-map: 2.0.2 - is-set: 2.0.2 + is-map: 2.0.3 + is-set: 2.0.3 is-string: 1.0.7 isarray: 2.0.5 stop-iteration-iterator: 1.0.0 dev: true - /es-iterator-helpers@1.0.15: - resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} + /es-iterator-helpers@1.0.18: + resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==} + engines: {node: '>= 0.4'} dependencies: - asynciterator.prototype: 1.0.0 - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - es-set-tostringtag: 2.0.2 + es-abstract: 1.23.2 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 function-bind: 1.1.2 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 globalthis: 1.0.3 - has-property-descriptors: 1.0.1 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - internal-slot: 1.0.6 + internal-slot: 1.0.7 iterator.prototype: 1.1.2 - safe-array-concat: 1.0.1 + safe-array-concat: 1.1.2 dev: true - /es-set-tostringtag@2.0.2: - resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + /es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 - has-tostringtag: 1.0.0 - hasown: 2.0.0 + es-errors: 1.3.0 dev: true /es-set-tostringtag@2.0.3: @@ -7469,13 +6938,13 @@ packages: dependencies: get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 - hasown: 2.0.1 + hasown: 2.0.2 dev: true /es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: - hasown: 2.0.0 + hasown: 2.0.2 dev: true /es-to-primitive@1.2.1: @@ -7487,85 +6956,39 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild-plugin-browserslist@0.11.1(browserslist@4.23.0)(esbuild@0.20.1): - resolution: {integrity: sha512-yNdZRdDBEbm0PT4q2bJBhXvnwakXG5mG8ipiwGe5SRDPnKa7L7kQm2tHuBMowBtcFz6kRtZTv5njK7PJwU+tCQ==} - engines: {node: '>=18'} - peerDependencies: - browserslist: ^4.21.8 - esbuild: ~0.20.0 - dependencies: - browserslist: 4.23.0 - debug: 4.3.4(supports-color@8.1.1) - esbuild: 0.20.1 - zod: 3.22.4 - transitivePeerDependencies: - - supports-color - dev: true - - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - dev: true - - /esbuild@0.20.1: - resolution: {integrity: sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==} + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/aix-ppc64': 0.20.1 - '@esbuild/android-arm': 0.20.1 - '@esbuild/android-arm64': 0.20.1 - '@esbuild/android-x64': 0.20.1 - '@esbuild/darwin-arm64': 0.20.1 - '@esbuild/darwin-x64': 0.20.1 - '@esbuild/freebsd-arm64': 0.20.1 - '@esbuild/freebsd-x64': 0.20.1 - '@esbuild/linux-arm': 0.20.1 - '@esbuild/linux-arm64': 0.20.1 - '@esbuild/linux-ia32': 0.20.1 - '@esbuild/linux-loong64': 0.20.1 - '@esbuild/linux-mips64el': 0.20.1 - '@esbuild/linux-ppc64': 0.20.1 - '@esbuild/linux-riscv64': 0.20.1 - '@esbuild/linux-s390x': 0.20.1 - '@esbuild/linux-x64': 0.20.1 - '@esbuild/netbsd-x64': 0.20.1 - '@esbuild/openbsd-x64': 0.20.1 - '@esbuild/sunos-x64': 0.20.1 - '@esbuild/win32-arm64': 0.20.1 - '@esbuild/win32-ia32': 0.20.1 - '@esbuild/win32-x64': 0.20.1 - dev: true - - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + dev: true + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} dev: true @@ -7576,6 +6999,7 @@ packages: /escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: false /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} @@ -7648,25 +7072,27 @@ packages: eslint: 8.57.0 dev: true - /eslint-plugin-react@7.33.2(eslint@8.57.0): - resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} + /eslint-plugin-react@7.34.1(eslint@8.57.0): + resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: array-includes: 3.1.7 + array.prototype.findlast: 1.2.5 array.prototype.flatmap: 1.3.2 - array.prototype.tosorted: 1.1.2 + array.prototype.toreversed: 1.1.2 + array.prototype.tosorted: 1.1.3 doctrine: 2.1.0 - es-iterator-helpers: 1.0.15 + es-iterator-helpers: 1.0.18 eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 + object.entries: 1.1.8 + object.fromentries: 2.0.8 object.hasown: 1.1.3 - object.values: 1.1.7 + object.values: 1.2.0 prop-types: 15.8.1 resolve: 2.0.0-next.5 semver: 6.3.1 @@ -7795,9 +7221,6 @@ packages: engines: {node: '>= 0.6'} dev: false - /eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -7844,16 +7267,16 @@ packages: jest-util: 29.7.0 dev: true - /express@4.18.2: - resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + /express@4.19.1: + resolution: {integrity: sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==} engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.1 + body-parser: 1.20.2 content-disposition: 0.5.4 content-type: 1.0.5 - cookie: 0.5.0 + cookie: 0.6.0 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 @@ -7948,8 +7371,8 @@ packages: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true - /fastq@1.16.0: - resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: true @@ -7993,20 +7416,6 @@ packages: engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - - /finalhandler@1.1.2: - resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} - engines: {node: '>= 0.8'} - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.3.0 - parseurl: 1.3.3 - statuses: 1.5.0 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color dev: true /finalhandler@1.2.0: @@ -8071,15 +7480,6 @@ packages: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} dev: true - /follow-redirects@1.15.4: - resolution: {integrity: sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: @@ -8152,15 +7552,6 @@ packages: universalify: 2.0.1 dev: true - /fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - /fs-extra@9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} @@ -8199,7 +7590,7 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 functions-have-names: 1.2.3 dev: true @@ -8226,24 +7617,15 @@ packages: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true - /get-intrinsic@1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} - dependencies: - function-bind: 1.1.2 - has-proto: 1.0.1 - has-symbols: 1.0.3 - hasown: 2.0.0 - /get-intrinsic@1.2.4: resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.1 - dev: true + hasown: 2.0.2 /get-own-enumerable-property-symbols@3.0.2: resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} @@ -8282,14 +7664,6 @@ packages: engines: {node: '>=16'} dev: true - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.2 - dev: true - /get-symbol-description@1.0.2: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} @@ -8303,7 +7677,7 @@ packages: resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==} engines: {node: '>= 14'} dependencies: - basic-ftp: 5.0.4 + basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 debug: 4.3.4(supports-color@8.1.1) fs-extra: 11.2.0 @@ -8443,7 +7817,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 dev: true @@ -8463,7 +7837,7 @@ packages: /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 /got@12.6.1: resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} @@ -8561,37 +7935,19 @@ packages: engines: {node: '>=8'} dev: true - /has-property-descriptors@1.0.1: - resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} - dependencies: - get-intrinsic: 1.2.2 - /has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} dependencies: es-define-property: 1.0.0 - dev: true - - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} /has-proto@1.0.3: resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} - dev: true /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - /has-tostringtag@1.0.2: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} @@ -8599,30 +7955,23 @@ packages: has-symbols: 1.0.3 dev: true - /hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 - dev: true /hast-util-embedded@3.0.0: resolution: {integrity: sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 hast-util-is-element: 3.0.0 dev: true /hast-util-from-html@2.0.1: resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 devlop: 1.1.0 hast-util-from-parse5: 8.0.1 parse5: 7.1.2 @@ -8633,11 +7982,11 @@ packages: /hast-util-from-parse5@8.0.1: resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 '@types/unist': 3.0.2 devlop: 1.1.0 hastscript: 8.0.0 - property-information: 6.4.0 + property-information: 6.4.1 vfile: 6.0.1 vfile-location: 5.0.2 web-namespaces: 2.0.1 @@ -8646,31 +7995,31 @@ packages: /hast-util-has-property@3.0.0: resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 dev: true /hast-util-is-body-ok-link@3.0.0: resolution: {integrity: sha512-VFHY5bo2nY8HiV6nir2ynmEB1XkxzuUffhEGeVx7orbu/B1KaGyeGgMZldvMVx5xWrDlLLG/kQ6YkJAMkBEx0w==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 dev: true /hast-util-is-element@3.0.0: resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 dev: true /hast-util-parse-selector@4.0.0: resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 dev: true /hast-util-phrasing@3.0.1: resolution: {integrity: sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 hast-util-embedded: 3.0.0 hast-util-has-property: 3.0.0 hast-util-is-body-ok-link: 3.0.0 @@ -8680,13 +8029,13 @@ packages: /hast-util-raw@9.0.2: resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 '@types/unist': 3.0.2 '@ungap/structured-clone': 1.2.0 hast-util-from-parse5: 8.0.1 hast-util-to-parse5: 8.0.0 html-void-elements: 3.0.0 - mdast-util-to-hast: 13.0.2 + mdast-util-to-hast: 13.1.0 parse5: 7.1.2 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 @@ -8698,15 +8047,15 @@ packages: /hast-util-to-html@9.0.0: resolution: {integrity: sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 '@types/unist': 3.0.2 ccount: 2.0.1 comma-separated-tokens: 2.0.3 hast-util-raw: 9.0.2 hast-util-whitespace: 3.0.0 html-void-elements: 3.0.0 - mdast-util-to-hast: 13.0.2 - property-information: 6.4.0 + mdast-util-to-hast: 13.1.0 + property-information: 6.4.1 space-separated-tokens: 2.0.2 stringify-entities: 4.0.3 zwitch: 2.0.4 @@ -8716,16 +8065,16 @@ packages: resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} dependencies: '@types/estree': 1.0.5 - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 '@types/unist': 3.0.2 comma-separated-tokens: 2.0.3 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 hast-util-whitespace: 3.0.0 mdast-util-mdx-expression: 2.0.0 - mdast-util-mdx-jsx: 3.0.0 + mdast-util-mdx-jsx: 3.1.2 mdast-util-mdxjs-esm: 2.0.1 - property-information: 6.4.0 + property-information: 6.4.1 space-separated-tokens: 2.0.2 style-to-object: 1.0.5 unist-util-position: 5.0.0 @@ -8737,15 +8086,15 @@ packages: /hast-util-to-mdast@10.1.0: resolution: {integrity: sha512-DsL/SvCK9V7+vfc6SLQ+vKIyBDXTk2KLSbfBYkH4zeF/uR1yBajHRhkzuaUSGOB1WJSTieJBdHwxlC+HLKvZZw==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 '@types/mdast': 4.0.3 '@ungap/structured-clone': 1.2.0 hast-util-phrasing: 3.0.1 hast-util-to-html: 9.0.0 hast-util-to-text: 4.0.0 hast-util-whitespace: 3.0.0 - mdast-util-phrasing: 4.0.0 - mdast-util-to-hast: 13.0.2 + mdast-util-phrasing: 4.1.0 + mdast-util-to-hast: 13.1.0 mdast-util-to-string: 4.0.0 rehype-minify-whitespace: 6.0.0 trim-trailing-lines: 2.1.0 @@ -8756,10 +8105,10 @@ packages: /hast-util-to-parse5@8.0.0: resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 devlop: 1.1.0 - property-information: 6.4.0 + property-information: 6.4.1 space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 @@ -8768,7 +8117,7 @@ packages: /hast-util-to-text@4.0.0: resolution: {integrity: sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 '@types/unist': 3.0.2 hast-util-is-element: 3.0.0 unist-util-find-after: 5.0.0 @@ -8777,16 +8126,16 @@ packages: /hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 dev: true /hastscript@8.0.0: resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 4.0.0 - property-information: 6.4.0 + property-information: 6.4.1 space-separated-tokens: 2.0.2 dev: true @@ -8798,10 +8147,10 @@ packages: /history@4.10.1: resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.24.1 loose-envify: 1.4.0 resolve-pathname: 3.0.0 - tiny-invariant: 1.3.1 + tiny-invariant: 1.3.3 tiny-warning: 1.0.3 value-equal: 1.0.1 dev: true @@ -8878,16 +8227,7 @@ packages: setprototypeof: 1.2.0 statuses: 2.0.1 toidentifier: 1.0.1 - - /http-proxy-agent@7.0.0: - resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - dev: true + dev: false /http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} @@ -8899,34 +8239,6 @@ packages: - supports-color dev: true - /http-proxy-middleware@2.0.6: - resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/express': ^4.17.13 - peerDependenciesMeta: - '@types/express': - optional: true - dependencies: - '@types/http-proxy': 1.17.14 - http-proxy: 1.18.1 - is-glob: 4.0.3 - is-plain-obj: 3.0.0 - micromatch: 4.0.5 - transitivePeerDependencies: - - debug - dev: false - - /http-proxy@1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} - dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.15.4 - requires-port: 1.0.0 - transitivePeerDependencies: - - debug - /http2-wrapper@2.2.1: resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} engines: {node: '>=10.19.0'} @@ -8945,16 +8257,6 @@ packages: - supports-color dev: true - /https-proxy-agent@7.0.2: - resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - dev: true - /https-proxy-agent@7.0.4: resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} engines: {node: '>= 14'} @@ -9005,18 +8307,13 @@ packages: resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} dev: true - /ignore@5.3.0: - resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} - engines: {node: '>= 4'} - dev: true - /ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} dev: true - /immer@10.0.3: - resolution: {integrity: sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==} + /immer@10.0.4: + resolution: {integrity: sha512-cuBuGK40P/sk5IzWa9QPUaAdvPHjkk1c+xYsd9oZw+YQQEV+10G0P5uMpGctZZKnyQ+ibRO08bD25nWLmYi2pw==} dev: true /import-fresh@3.3.0: @@ -9061,8 +8358,8 @@ packages: engines: {node: '>=10'} dev: true - /ini@4.1.1: - resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + /ini@4.1.2: + resolution: {integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true @@ -9074,7 +8371,7 @@ packages: resolution: {integrity: sha512-4ByIMt677Iz5AvjyKrDpzaepIyMewNvDcvwpVVRZNmy9dLakVoVgdCHZXbK1SlVJra1db0JZ6XkJyHsanpdrdQ==} engines: {node: '>=18'} dependencies: - '@ljharb/through': 2.3.12 + '@ljharb/through': 2.3.13 ansi-escapes: 4.3.2 chalk: 5.3.0 cli-cursor: 3.1.0 @@ -9091,22 +8388,13 @@ packages: wrap-ansi: 6.2.0 dev: true - /internal-slot@1.0.6: - resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.2 - hasown: 2.0.0 - side-channel: 1.0.4 - dev: true - /internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 - hasown: 2.0.1 - side-channel: 1.0.5 + hasown: 2.0.2 + side-channel: 1.0.6 dev: true /interpret@1.4.0: @@ -9114,10 +8402,10 @@ packages: engines: {node: '>= 0.10'} dev: true - /ionicons@7.2.2: - resolution: {integrity: sha512-I3iYIfc9Q9FRifWyFSwTAvbEABWlWY32i0sAVDDPGYnaIZVugkLCZFbEcrphW6ixVPg8tt1oLwalo/JJwbEqnA==} + /ionicons@7.3.0: + resolution: {integrity: sha512-l9quySYi+o4T6mFzhKRyU/1nKc2Zs0zxs7jWcq9iVRhRPQondV11jYqLTed0lVVXHfGrBCfnedKl9D6BCnA1UQ==} dependencies: - '@stencil/core': 4.9.0 + '@stencil/core': 4.13.0 dev: true /ip-address@9.0.5: @@ -9149,15 +8437,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 - has-tostringtag: 1.0.0 - dev: true - - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 + has-tostringtag: 1.0.2 dev: true /is-array-buffer@3.0.4: @@ -9180,7 +8460,7 @@ packages: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-bigint@1.0.4: @@ -9193,7 +8473,7 @@ packages: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} dependencies: - binary-extensions: 2.2.0 + binary-extensions: 2.3.0 dev: true /is-boolean-object@1.1.2: @@ -9201,7 +8481,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-buffer@1.1.6: @@ -9223,14 +8503,21 @@ packages: /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - hasown: 2.0.0 + hasown: 2.0.2 + dev: true + + /is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + dependencies: + is-typed-array: 1.1.13 dev: true /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-decimal@2.0.1: @@ -9264,6 +8551,7 @@ packages: /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + dev: true /is-finalizationregistry@1.0.2: resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} @@ -9280,7 +8568,7 @@ packages: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-glob@4.0.3: @@ -9288,6 +8576,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 + dev: true /is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} @@ -9325,19 +8614,15 @@ packages: engines: {node: '>=12'} dev: true - /is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + /is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} dev: true /is-module@1.0.0: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} dev: true - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} - dev: true - /is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} @@ -9352,12 +8637,13 @@ packages: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + dev: true /is-obj@1.0.1: resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} @@ -9384,11 +8670,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /is-plain-obj@3.0.0: - resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} - engines: {node: '>=10'} - dev: false - /is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} @@ -9410,7 +8691,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-regexp@1.0.0: @@ -9423,14 +8704,9 @@ packages: engines: {node: '>=0.10.0'} dev: true - /is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} - dev: true - - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} - dependencies: - call-bind: 1.0.7 + /is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} dev: true /is-shared-array-buffer@1.0.3: @@ -9460,7 +8736,7 @@ packages: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-symbol@1.0.4: @@ -9477,18 +8753,11 @@ packages: text-extensions: 1.9.0 dev: true - /is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} - engines: {node: '>= 0.4'} - dependencies: - which-typed-array: 1.1.13 - dev: true - /is-typed-array@1.1.13: resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.14 + which-typed-array: 1.1.15 dev: true /is-typedarray@1.0.0: @@ -9510,8 +8779,9 @@ packages: engines: {node: '>=18'} dev: true - /is-weakmap@2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + /is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} dev: true /is-weakref@1.0.2: @@ -9520,11 +8790,12 @@ packages: call-bind: 1.0.7 dev: true - /is-weakset@2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + /is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 dev: true /is-whitespace@0.3.0: @@ -9558,11 +8829,6 @@ packages: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} dev: true - /isbinaryfile@4.0.10: - resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} - engines: {node: '>= 8.0.0'} - dev: true - /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true @@ -9598,10 +8864,10 @@ packages: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} dependencies: define-properties: 1.2.1 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.4 - set-function-name: 2.0.1 + reflect.getprototypeof: 1.0.6 + set-function-name: 2.0.2 dev: true /jackspeak@2.3.6: @@ -9678,7 +8944,7 @@ packages: resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 @@ -9694,7 +8960,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.10.6 + '@types/node': 20.11.30 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -9705,19 +8971,20 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.30 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true - /js-beautify@1.14.11: - resolution: {integrity: sha512-rPogWqAfoYh1Ryqqh2agUpVfbxAhbjuN1SmU86dskQUKouRiggUTCO4+2ym9UPXllc2WAp0J+T5qxn7Um3lCdw==} + /js-beautify@1.15.1: + resolution: {integrity: sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==} engines: {node: '>=14'} hasBin: true dependencies: config-chain: 1.1.13 editorconfig: 1.0.4 glob: 10.3.10 + js-cookie: 3.0.5 nopt: 7.2.0 dev: true @@ -9767,8 +9034,8 @@ packages: decimal.js: 10.4.3 form-data: 4.0.0 html-encoding-sniffer: 4.0.0 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.2 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 is-potential-custom-element-name: 1.0.1 nwsapi: 2.2.7 parse5: 7.1.2 @@ -9842,12 +9109,6 @@ packages: resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} dev: true - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: @@ -9873,51 +9134,7 @@ packages: array-includes: 3.1.7 array.prototype.flat: 1.3.2 object.assign: 4.1.5 - object.values: 1.1.7 - dev: true - - /karma-safari-launcher@1.0.0(karma@6.4.3): - resolution: {integrity: sha512-qmypLWd6F2qrDJfAETvXDfxHvKDk+nyIjpH9xIeI3/hENr0U3nuqkxaftq73PfXZ4aOuOChA6SnLW4m4AxfRjQ==} - peerDependencies: - karma: '>=0.9' - dependencies: - karma: 6.4.3 - dev: true - - /karma@6.4.3: - resolution: {integrity: sha512-LuucC/RE92tJ8mlCwqEoRWXP38UMAqpnq98vktmS9SznSoUPPUJQbc91dHcxcunROvfQjdORVA/YFviH+Xci9Q==} - engines: {node: '>= 10'} - hasBin: true - dependencies: - '@colors/colors': 1.5.0 - body-parser: 1.20.2 - braces: 3.0.2 - chokidar: 3.6.0 - connect: 3.7.0 - di: 0.0.1 - dom-serialize: 2.2.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - http-proxy: 1.18.1 - isbinaryfile: 4.0.10 - lodash: 4.17.21 - log4js: 6.9.1 - mime: 2.6.0 - minimatch: 3.1.2 - mkdirp: 0.5.6 - qjobs: 1.2.0 - range-parser: 1.2.1 - rimraf: 3.0.2 - socket.io: 4.7.4 - source-map: 0.6.1 - tmp: 0.2.3 - ua-parser-js: 0.7.37 - yargs: 16.2.0 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate + object.values: 1.2.0 dev: true /keyv@4.5.4: @@ -9955,8 +9172,8 @@ packages: package-json: 8.1.1 dev: true - /lemmy-js-client@0.19.4-alpha.4: - resolution: {integrity: sha512-ZsE/1dRiNAzOjGNtyv+1JH7AzKWBkHY4FH4EGrdhkKtNY7EKDWt4uEkc3Bde+cQg4YTdbzXyuY94gAVCFm+L1w==} + /lemmy-js-client@0.19.4-alpha.10: + resolution: {integrity: sha512-/08YJU2x9KhCj2s9eNG31GlTy3Y7OaTPIhS+3LfZbcHRhYrwgPcIu3/zvh/HgwvpnXEmjo2ToJsH0+RUvSmgpA==} dependencies: cross-fetch: 4.0.0 form-data: 4.0.0 @@ -10105,19 +9322,6 @@ packages: is-unicode-supported: 1.3.0 dev: true - /log4js@6.9.1: - resolution: {integrity: sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==} - engines: {node: '>=8.0'} - dependencies: - date-format: 4.0.14 - debug: 4.3.4(supports-color@8.1.1) - flatted: 3.3.1 - rfdc: 1.3.1 - streamroller: 3.1.5 - transitivePeerDependencies: - - supports-color - dev: true - /longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} dev: true @@ -10146,8 +9350,8 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /lru-cache@10.1.0: - resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} engines: {node: 14 || >=16.14} dev: true @@ -10185,8 +9389,8 @@ packages: sourcemap-codec: 1.4.8 dev: true - /magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + /magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -10249,7 +9453,7 @@ packages: ccount: 2.0.1 devlop: 1.1.0 mdast-util-find-and-replace: 3.0.1 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 dev: true /mdast-util-gfm-autolink-literal@2.0.0: @@ -10259,7 +9463,7 @@ packages: ccount: 2.0.1 devlop: 1.1.0 mdast-util-find-and-replace: 3.0.1 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 dev: true /mdast-util-gfm-footnote@2.0.0: @@ -10338,8 +9542,8 @@ packages: /mdast-util-mdx-expression@2.0.0: resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} dependencies: - '@types/estree-jsx': 1.0.3 - '@types/hast': 3.0.3 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 '@types/mdast': 4.0.3 devlop: 1.1.0 mdast-util-from-markdown: 2.0.0 @@ -10348,11 +9552,11 @@ packages: - supports-color dev: true - /mdast-util-mdx-jsx@3.0.0: - resolution: {integrity: sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==} + /mdast-util-mdx-jsx@3.1.2: + resolution: {integrity: sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==} dependencies: - '@types/estree-jsx': 1.0.3 - '@types/hast': 3.0.3 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 '@types/mdast': 4.0.3 '@types/unist': 3.0.2 ccount: 2.0.1 @@ -10371,8 +9575,8 @@ packages: /mdast-util-mdxjs-esm@2.0.1: resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} dependencies: - '@types/estree-jsx': 1.0.3 - '@types/hast': 3.0.3 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 '@types/mdast': 4.0.3 devlop: 1.1.0 mdast-util-from-markdown: 2.0.0 @@ -10381,17 +9585,17 @@ packages: - supports-color dev: true - /mdast-util-phrasing@4.0.0: - resolution: {integrity: sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==} + /mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} dependencies: '@types/mdast': 4.0.3 unist-util-is: 6.0.0 dev: true - /mdast-util-to-hast@13.0.2: - resolution: {integrity: sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==} + /mdast-util-to-hast@13.1.0: + resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 '@types/mdast': 4.0.3 '@ungap/structured-clone': 1.2.0 devlop: 1.1.0 @@ -10399,6 +9603,7 @@ packages: trim-lines: 3.0.1 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 + vfile: 6.0.1 dev: true /mdast-util-to-markdown@2.1.0: @@ -10407,7 +9612,7 @@ packages: '@types/mdast': 4.0.3 '@types/unist': 3.0.2 longest-streak: 3.1.0 - mdast-util-phrasing: 4.0.0 + mdast-util-phrasing: 4.1.0 mdast-util-to-string: 4.0.0 micromark-util-decode-string: 2.0.0 unist-util-visit: 5.0.0 @@ -10423,6 +9628,12 @@ packages: /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} + dev: false + + /meow@13.2.0: + resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} + engines: {node: '>=18'} + dev: true /meow@8.1.2: resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} @@ -10495,7 +9706,7 @@ packages: micromark-factory-space: 2.0.0 micromark-factory-title: 2.0.0 micromark-factory-whitespace: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-chunked: 2.0.0 micromark-util-classify-character: 2.0.0 micromark-util-html-tag-name: 2.0.0 @@ -10509,7 +9720,7 @@ packages: /micromark-extension-gfm-autolink-literal@2.0.0: resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} dependencies: - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-sanitize-uri: 2.0.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 @@ -10521,7 +9732,7 @@ packages: devlop: 1.1.0 micromark-core-commonmark: 2.0.0 micromark-factory-space: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-normalize-identifier: 2.0.0 micromark-util-sanitize-uri: 2.0.0 micromark-util-symbol: 2.0.0 @@ -10544,7 +9755,7 @@ packages: dependencies: devlop: 1.1.0 micromark-factory-space: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 dev: true @@ -10560,7 +9771,7 @@ packages: dependencies: devlop: 1.1.0 micromark-factory-space: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 dev: true @@ -10584,7 +9795,7 @@ packages: devlop: 1.1.0 micromark-factory-space: 2.0.0 micromark-factory-whitespace: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 parse-entities: 4.0.1 @@ -10593,7 +9804,7 @@ packages: /micromark-factory-destination@2.0.0: resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} dependencies: - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 dev: true @@ -10602,7 +9813,7 @@ packages: resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} dependencies: devlop: 1.1.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 dev: true @@ -10610,7 +9821,7 @@ packages: /micromark-factory-space@2.0.0: resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} dependencies: - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-types: 2.0.0 dev: true @@ -10618,7 +9829,7 @@ packages: resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} dependencies: micromark-factory-space: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 dev: true @@ -10627,13 +9838,13 @@ packages: resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} dependencies: micromark-factory-space: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 dev: true - /micromark-util-character@2.0.1: - resolution: {integrity: sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==} + /micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} dependencies: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 @@ -10648,7 +9859,7 @@ packages: /micromark-util-classify-character@2.0.0: resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} dependencies: - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 dev: true @@ -10670,7 +9881,7 @@ packages: resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} dependencies: decode-named-character-reference: 1.0.2 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-decode-numeric-character-reference: 2.0.1 micromark-util-symbol: 2.0.0 dev: true @@ -10698,7 +9909,7 @@ packages: /micromark-util-sanitize-uri@2.0.0: resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} dependencies: - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-encode: 2.0.0 micromark-util-symbol: 2.0.0 dev: true @@ -10729,7 +9940,7 @@ packages: devlop: 1.1.0 micromark-core-commonmark: 2.0.0 micromark-factory-space: 2.0.0 - micromark-util-character: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-chunked: 2.0.0 micromark-util-combine-extensions: 2.0.0 micromark-util-decode-numeric-character-reference: 2.0.1 @@ -10750,6 +9961,7 @@ packages: dependencies: braces: 3.0.2 picomatch: 2.3.1 + dev: true /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} @@ -10767,12 +9979,6 @@ packages: hasBin: true dev: false - /mime@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} - hasBin: true - dev: true - /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -10885,13 +10091,6 @@ packages: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} dev: true - /mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - dependencies: - minimist: 1.2.8 - dev: true - /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -10904,7 +10103,7 @@ packages: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.4.0 + ufo: 1.5.2 dev: true /modern-screenshot@4.4.38: @@ -10951,7 +10150,7 @@ packages: bplist-parser: 0.3.2 debug: 4.3.4(supports-color@8.1.1) elementtree: 0.1.7 - ini: 4.1.1 + ini: 4.1.2 plist: 3.1.0 split2: 4.2.0 through2: 4.0.2 @@ -10972,6 +10171,7 @@ packages: /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} + dev: false /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -10996,8 +10196,8 @@ packages: tslib: 2.6.2 dev: true - /node-abi@3.52.0: - resolution: {integrity: sha512-JJ98b02z16ILv7859irtXn4oUaFWADtvkzy2c0IAatNVX2Mc9Yoh8z6hZInn3QwvMEYhHuQloYi+TTQy67SIdQ==} + /node-abi@3.56.0: + resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} engines: {node: '>=10'} dependencies: semver: 7.6.0 @@ -11061,7 +10261,7 @@ packages: engines: {node: '>=8.10.0'} hasBin: true dependencies: - chokidar: 3.5.3 + chokidar: 3.6.0 debug: 3.2.7(supports-color@5.5.0) ignore-by-default: 1.0.1 minimatch: 3.1.2 @@ -11112,8 +10312,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /normalize-url@8.0.0: - resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} + /normalize-url@8.0.1: + resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} engines: {node: '>=14.16'} dev: true @@ -11157,8 +10357,8 @@ packages: /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - /object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + /object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 @@ -11179,35 +10379,36 @@ packages: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 dev: true - /object.entries@1.1.7: - resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} + /object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-object-atoms: 1.0.0 dev: true - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + /object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.2 + es-object-atoms: 1.0.0 dev: true /object.hasown@1.1.3: resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} dependencies: define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 dev: true /object.omit@3.0.0: @@ -11217,20 +10418,13 @@ packages: is-extendable: 1.0.1 dev: true - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + /object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - dev: true - - /on-finished@2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} - engines: {node: '>= 0.8'} - dependencies: - ee-first: 1.1.1 + es-object-atoms: 1.0.0 dev: true /on-finished@2.4.1: @@ -11238,6 +10432,7 @@ packages: engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 + dev: false /on-headers@1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} @@ -11475,7 +10670,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -11509,6 +10704,7 @@ packages: /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + dev: false /password-prompt@1.1.3: resolution: {integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==} @@ -11550,7 +10746,7 @@ packages: resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.1.0 + lru-cache: 10.2.0 minipass: 7.0.4 dev: true @@ -11600,10 +10796,12 @@ packages: /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + dev: true /pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} @@ -11649,27 +10847,27 @@ packages: engines: {node: '>= 0.4'} dev: true - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.0.2 + source-map-js: 1.2.0 dev: true - /prebuild-install@7.1.1: - resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} + /prebuild-install@7.1.2: + resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} engines: {node: '>=10'} hasBin: true dependencies: - detect-libc: 2.0.2 + detect-libc: 2.0.3 expand-template: 2.0.3 github-from-package: 0.0.0 minimist: 1.2.8 mkdirp-classic: 0.5.3 napi-build-utils: 1.0.2 - node-abi: 3.52.0 + node-abi: 3.56.0 pump: 3.0.0 rc: 1.2.8 simple-get: 4.0.1 @@ -11735,7 +10933,7 @@ packages: dependencies: condense-newlines: 0.2.1 extend-shallow: 2.0.1 - js-beautify: 1.14.11 + js-beautify: 1.15.1 dev: true /process-nextick-args@2.0.1: @@ -11751,10 +10949,10 @@ packages: resolution: {integrity: sha512-hezvKvQQmsFkOdrZfYxUxkyxl8mgFQeT259Ajj9PXdbg9VzBCWrItOev72JyWxkCD5VSSqAeHmlN3tWx4DlmsA==} engines: {node: '>= 0.4'} dependencies: - array.prototype.map: 1.0.6 + array.prototype.map: 1.0.7 call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.22.5 get-intrinsic: 1.2.4 iterate-value: 1.0.2 dev: true @@ -11775,8 +10973,8 @@ packages: react-is: 16.13.1 dev: true - /property-information@6.4.0: - resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==} + /property-information@6.4.1: + resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==} dev: true /proto-list@1.2.4: @@ -11894,16 +11092,12 @@ packages: engines: {node: '>=0.6.0', teleport: '>=0.2.0'} dev: true - /qjobs@1.2.0: - resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==} - engines: {node: '>=0.9'} - dev: true - /qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} dependencies: - side-channel: 1.0.4 + side-channel: 1.0.6 + dev: false /querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} @@ -11915,6 +11109,7 @@ packages: /queue-tick@1.0.1: resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + requiresBuild: true dev: true /quick-lru@4.0.1: @@ -11936,15 +11131,6 @@ packages: /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - - /raw-body@2.5.1: - resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} - engines: {node: '>= 0.8'} - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 dev: false /raw-body@2.5.2: @@ -11955,7 +11141,7 @@ packages: http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 - dev: true + dev: false /rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} @@ -11988,12 +11174,12 @@ packages: scheduler: 0.23.0 dev: true - /react-error-boundary@4.0.12(react@18.2.0): - resolution: {integrity: sha512-kJdxdEYlb7CPC1A0SeUY38cHpjuu6UkvzKiAmqmOFL21VRfMhOcWxTCBgLVCO0VEMh9JhFNcVaXlV4/BTpiwOA==} + /react-error-boundary@4.0.13(react@18.2.0): + resolution: {integrity: sha512-b6PwbdSv8XeOSYvjt8LpgpKrZ0yGdtZokYwkwV2wlcZbxgopHX/hgPl5VgpnoVOWd868n1hktM8Qm4b+02MiLQ==} peerDependencies: react: '>=16.13.1' dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.24.1 react: 18.2.0 dev: true @@ -12028,21 +11214,21 @@ packages: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true - /react-markdown@9.0.1(@types/react@18.2.58)(react@18.2.0): + /react-markdown@9.0.1(@types/react@18.2.67)(react@18.2.0): resolution: {integrity: sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==} peerDependencies: '@types/react': '>=18' react: '>=18' dependencies: - '@types/hast': 3.0.3 - '@types/react': 18.2.58 + '@types/hast': 3.0.4 + '@types/react': 18.2.67 devlop: 1.1.0 hast-util-to-jsx-runtime: 2.3.0 html-url-attributes: 3.0.0 - mdast-util-to-hast: 13.0.2 + mdast-util-to-hast: 13.1.0 react: 18.2.0 remark-parse: 11.0.0 - remark-rehype: 11.0.0 + remark-rehype: 11.1.0 unified: 11.0.4 unist-util-visit: 5.0.0 vfile: 6.0.1 @@ -12054,7 +11240,7 @@ packages: resolution: {integrity: sha512-jLQXJ/URln51zskhgppGJ2ub7b2WFKGq3cl3NYKtlHoTG+dN2q7EzWrn3hN3EgPsTMvpR9tpq5ijdp7YwFZkag==} dev: true - /react-redux@9.1.0(@types/react@18.2.58)(react@18.2.0)(redux@5.0.1): + /react-redux@9.1.0(@types/react@18.2.67)(react@18.2.0)(redux@5.0.1): resolution: {integrity: sha512-6qoDzIO+gbrza8h3hjMA9aq4nwVFCKFtY2iLxCtVT38Swyy2C/dJCGBXHeHLtx6qlg/8qzc2MrhOeduf5K32wQ==} peerDependencies: '@types/react': ^18.2.25 @@ -12069,7 +11255,7 @@ packages: redux: optional: true dependencies: - '@types/react': 18.2.58 + '@types/react': 18.2.67 '@types/use-sync-external-store': 0.0.3 react: 18.2.0 redux: 5.0.1 @@ -12096,13 +11282,13 @@ packages: peerDependencies: react: '>=15' dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.24.1 history: 4.10.1 loose-envify: 1.4.0 prop-types: 15.8.1 react: 18.2.0 react-router: 5.3.4(react@18.2.0) - tiny-invariant: 1.3.1 + tiny-invariant: 1.3.3 tiny-warning: 1.0.3 dev: true @@ -12111,7 +11297,7 @@ packages: peerDependencies: react: '>=15' dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.24.1 history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 @@ -12119,20 +11305,20 @@ packages: prop-types: 15.8.1 react: 18.2.0 react-is: 16.13.1 - tiny-invariant: 1.3.1 + tiny-invariant: 1.3.3 tiny-warning: 1.0.3 dev: true - /react-textarea-autosize@8.5.3(@types/react@18.2.58)(react@18.2.0): + /react-textarea-autosize@8.5.3(@types/react@18.2.67)(react@18.2.0): resolution: {integrity: sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==} engines: {node: '>=10'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.23.7 + '@babel/runtime': 7.24.1 react: 18.2.0 use-composed-ref: 1.3.0(react@18.2.0) - use-latest: 1.2.1(@types/react@18.2.58)(react@18.2.0) + use-latest: 1.2.1(@types/react@18.2.67)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: true @@ -12251,14 +11437,15 @@ packages: resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==} dev: true - /reflect.getprototypeof@1.0.4: - resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} + /reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-abstract: 1.23.2 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 globalthis: 1.0.3 which-builtin-type: 1.1.3 dev: true @@ -12281,22 +11468,13 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.1 dev: true /regexp-to-ast@0.5.0: resolution: {integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==} dev: true - /regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - set-function-name: 2.0.1 - dev: true - /regexp.prototype.flags@1.5.2: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} @@ -12343,7 +11521,7 @@ packages: /rehype-minify-whitespace@6.0.0: resolution: {integrity: sha512-i9It4YHR0Sf3GsnlR5jFUKXRr9oayvEk9GKQUkwZv6hs70OH9q3OCZrq9PpLvIGKt3W+JxBOxCidNVpH/6rWdA==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 hast-util-embedded: 3.0.0 hast-util-is-element: 3.0.0 hast-util-whitespace: 3.0.0 @@ -12353,7 +11531,7 @@ packages: /rehype-parse@9.0.0: resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 hast-util-from-html: 2.0.1 unified: 11.0.4 dev: true @@ -12361,14 +11539,14 @@ packages: /rehype-remark@10.0.0: resolution: {integrity: sha512-+aDXY/icqMFOafJQomVjxe3BAP7aR3lIsQ3GV6VIwpbCD2nvNFOXjGvotMe5p0Ny+Gt6L13DhEf/FjOOpTuUbQ==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 '@types/mdast': 4.0.3 hast-util-to-mdast: 10.1.0 unified: 11.0.4 vfile: 6.0.1 dev: true - /release-it@17.1.1(typescript@5.3.3): + /release-it@17.1.1(typescript@5.4.3): resolution: {integrity: sha512-b+4Tu2eb5f2wIdIe5E9hre0evbMQrXp/kRq0natHsHYJVqu1Bd4/h2a+swFi0faGmC3cJdB16uYR6LscG9SchQ==} engines: {node: '>=18'} hasBin: true @@ -12377,7 +11555,7 @@ packages: '@octokit/rest': 20.0.2 async-retry: 1.3.3 chalk: 5.3.0 - cosmiconfig: 9.0.0(typescript@5.3.3) + cosmiconfig: 9.0.0(typescript@5.4.3) execa: 8.0.1 git-url-parse: 14.0.0 globby: 14.0.1 @@ -12429,12 +11607,12 @@ packages: - supports-color dev: true - /remark-rehype@11.0.0: - resolution: {integrity: sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==} + /remark-rehype@11.1.0: + resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} dependencies: - '@types/hast': 3.0.3 + '@types/hast': 3.0.4 '@types/mdast': 4.0.3 - mdast-util-to-hast: 13.0.2 + mdast-util-to-hast: 13.1.0 unified: 11.0.4 vfile: 6.0.1 dev: true @@ -12479,6 +11657,7 @@ packages: /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: true /reselect@5.1.0: resolution: {integrity: sha512-aw7jcGLDpSgNDyWBQLv2cedml85qd95/iszJjN988zX1t7AVRJi19d9kto5+W7oCfQ94gyo40dVbT6g2k4/kXg==} @@ -12548,10 +11727,6 @@ packages: engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: true - /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -12573,11 +11748,11 @@ packages: peerDependencies: rollup: ^2.0.0 dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 jest-worker: 26.6.2 rollup: 2.79.1 serialize-javascript: 4.0.0 - terser: 5.28.1 + terser: 5.29.2 dev: true /rollup@2.79.1: @@ -12588,26 +11763,26 @@ packages: fsevents: 2.3.3 dev: true - /rollup@4.12.0: - resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} + /rollup@4.13.0: + resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.0 - '@rollup/rollup-android-arm64': 4.12.0 - '@rollup/rollup-darwin-arm64': 4.12.0 - '@rollup/rollup-darwin-x64': 4.12.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 - '@rollup/rollup-linux-arm64-gnu': 4.12.0 - '@rollup/rollup-linux-arm64-musl': 4.12.0 - '@rollup/rollup-linux-riscv64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-musl': 4.12.0 - '@rollup/rollup-win32-arm64-msvc': 4.12.0 - '@rollup/rollup-win32-ia32-msvc': 4.12.0 - '@rollup/rollup-win32-x64-msvc': 4.12.0 + '@rollup/rollup-android-arm-eabi': 4.13.0 + '@rollup/rollup-android-arm64': 4.13.0 + '@rollup/rollup-darwin-arm64': 4.13.0 + '@rollup/rollup-darwin-x64': 4.13.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.13.0 + '@rollup/rollup-linux-arm64-gnu': 4.13.0 + '@rollup/rollup-linux-arm64-musl': 4.13.0 + '@rollup/rollup-linux-riscv64-gnu': 4.13.0 + '@rollup/rollup-linux-x64-gnu': 4.13.0 + '@rollup/rollup-linux-x64-musl': 4.13.0 + '@rollup/rollup-win32-arm64-msvc': 4.13.0 + '@rollup/rollup-win32-ia32-msvc': 4.13.0 + '@rollup/rollup-win32-x64-msvc': 4.13.0 fsevents: 2.3.3 dev: true @@ -12637,18 +11812,8 @@ packages: tslib: 2.6.2 dev: true - /safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} - engines: {node: '>=0.4'} - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - has-symbols: 1.0.3 - isarray: 2.0.5 - dev: true - - /safe-array-concat@1.1.0: - resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} + /safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} dependencies: call-bind: 1.0.7 @@ -12663,14 +11828,6 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.2 - is-regex: 1.1.4 - dev: true - /safe-regex-test@1.0.3: resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} @@ -12726,14 +11883,6 @@ packages: hasBin: true dev: true - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /semver@7.6.0: resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} @@ -12785,17 +11934,8 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true - /set-function-length@1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} - engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.1 - get-intrinsic: 1.2.2 - gopd: 1.0.1 - has-property-descriptors: 1.0.1 - - /set-function-length@1.2.1: - resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.4 @@ -12804,16 +11944,6 @@ packages: get-intrinsic: 1.2.4 gopd: 1.0.1 has-property-descriptors: 1.0.2 - dev: true - - /set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} - engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.1 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.1 - dev: true /set-function-name@2.0.2: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} @@ -12827,6 +11957,7 @@ packages: /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false /sharp@0.32.6: resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==} @@ -12834,12 +11965,12 @@ packages: requiresBuild: true dependencies: color: 4.2.3 - detect-libc: 2.0.2 + detect-libc: 2.0.3 node-addon-api: 6.1.0 - prebuild-install: 7.1.1 + prebuild-install: 7.1.2 semver: 7.6.0 simple-get: 4.0.1 - tar-fs: 3.0.4 + tar-fs: 3.0.5 tunnel-agent: 0.6.0 dev: true @@ -12865,22 +11996,14 @@ packages: rechoir: 0.6.2 dev: true - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - object-inspect: 1.13.1 - - /side-channel@1.0.5: - resolution: {integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==} + /side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 object-inspect: 1.13.1 - dev: true /siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -12963,44 +12086,6 @@ packages: tslib: 2.6.2 dev: true - /socket.io-adapter@2.5.4: - resolution: {integrity: sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg==} - dependencies: - debug: 4.3.4(supports-color@8.1.1) - ws: 8.11.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - - /socket.io-parser@4.2.4: - resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} - engines: {node: '>=10.0.0'} - dependencies: - '@socket.io/component-emitter': 3.1.0 - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - dev: true - - /socket.io@4.7.4: - resolution: {integrity: sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw==} - engines: {node: '>=10.2.0'} - dependencies: - accepts: 1.3.8 - base64id: 2.0.0 - cors: 2.8.5 - debug: 4.3.4(supports-color@8.1.1) - engine.io: 6.5.4 - socket.io-adapter: 2.5.4 - socket.io-parser: 4.2.4 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - /socks-proxy-agent@8.0.2: resolution: {integrity: sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==} engines: {node: '>= 14'} @@ -13020,8 +12105,8 @@ packages: smart-buffer: 4.2.0 dev: true - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} dev: true @@ -13062,22 +12147,22 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.16 + spdx-license-ids: 3.0.17 dev: true - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + /spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} dev: true /spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.16 + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.17 dev: true - /spdx-license-ids@3.0.16: - resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + /spdx-license-ids@3.0.17: + resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} dev: true /split2@3.2.2: @@ -13116,14 +12201,10 @@ packages: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true - /statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - dev: true - /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} + dev: false /std-env@3.7.0: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} @@ -13146,22 +12227,13 @@ packages: engines: {node: '>= 0.10.0'} dev: true - /streamroller@3.1.5: - resolution: {integrity: sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==} - engines: {node: '>=8.0'} - dependencies: - date-format: 4.0.14 - debug: 4.3.4(supports-color@8.1.1) - fs-extra: 8.1.0 - transitivePeerDependencies: - - supports-color - dev: true - - /streamx@2.15.6: - resolution: {integrity: sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==} + /streamx@2.16.1: + resolution: {integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==} dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 + optionalDependencies: + bare-events: 2.2.1 dev: true /string-width@4.2.3: @@ -13194,32 +12266,51 @@ packages: /string.prototype.matchall@4.0.10: resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.5 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + internal-slot: 1.0.7 + regexp.prototype.flags: 1.5.2 + set-function-name: 2.0.2 + side-channel: 1.0.6 + dev: true + + /string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-abstract: 1.23.2 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + gopd: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.6 - regexp.prototype.flags: 1.5.1 - set-function-name: 2.0.1 - side-channel: 1.0.4 + internal-slot: 1.0.7 + regexp.prototype.flags: 1.5.2 + set-function-name: 2.0.2 + side-channel: 1.0.6 dev: true - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + /string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.2 + es-object-atoms: 1.0.0 dev: true - /string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + /string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-object-atoms: 1.0.0 dev: true /string.prototype.trimstart@1.0.7: @@ -13227,7 +12318,7 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.5 dev: true /string_decoder@1.1.1: @@ -13371,7 +12462,7 @@ packages: resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} engines: {node: ^14.18.0 || >=16.0.0} dependencies: - '@pkgr/core': 0.1.0 + '@pkgr/core': 0.1.1 tslib: 2.6.2 dev: true @@ -13388,12 +12479,14 @@ packages: tar-stream: 2.2.0 dev: true - /tar-fs@3.0.4: - resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==} + /tar-fs@3.0.5: + resolution: {integrity: sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==} dependencies: - mkdirp-classic: 0.5.3 pump: 3.0.0 - tar-stream: 3.1.6 + tar-stream: 3.1.7 + optionalDependencies: + bare-fs: 2.2.2 + bare-path: 2.1.0 dev: true /tar-stream@2.2.0: @@ -13407,12 +12500,12 @@ packages: readable-stream: 3.6.2 dev: true - /tar-stream@3.1.6: - resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + /tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} dependencies: - b4a: 1.6.4 + b4a: 1.6.6 fast-fifo: 1.3.2 - streamx: 2.15.6 + streamx: 2.16.1 dev: true /tar@6.2.0: @@ -13453,12 +12546,12 @@ packages: unique-string: 2.0.0 dev: true - /terser@5.28.1: - resolution: {integrity: sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==} + /terser@5.29.2: + resolution: {integrity: sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==} engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.5 + '@jridgewell/source-map': 0.3.6 acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 @@ -13490,8 +12583,8 @@ packages: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true - /tiny-invariant@1.3.1: - resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} + /tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} dev: true /tiny-warning@1.0.3: @@ -13519,13 +12612,6 @@ packages: os-tmpdir: 1.0.2 dev: true - /tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} - dependencies: - rimraf: 3.0.2 - dev: true - /tmp@0.2.3: resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} engines: {node: '>=14.14'} @@ -13541,10 +12627,12 @@ packages: engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 + dev: true /toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} + dev: false /touch@3.1.0: resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==} @@ -13598,17 +12686,17 @@ packages: resolution: {integrity: sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg==} dev: true - /trough@2.1.0: - resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} + /trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} dev: true - /ts-api-utils@1.2.1(typescript@5.3.3): - resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} + /ts-api-utils@1.3.0(typescript@5.4.3): + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.3.3 + typescript: 5.4.3 dev: true /ts-invariant@0.10.3: @@ -13618,7 +12706,7 @@ packages: tslib: 2.6.2 dev: true - /ts-node@10.9.2(@types/node@20.11.24)(typescript@5.3.3): + /ts-node@10.9.2(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -13637,14 +12725,14 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.11.24 + '@types/node': 20.11.30 acorn: 8.11.3 - acorn-walk: 8.3.1 + acorn-walk: 8.3.2 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.3.3 + typescript: 5.4.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -13722,15 +12810,7 @@ packages: dependencies: media-typer: 0.3.0 mime-types: 2.1.35 - - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 - dev: true + dev: false /typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} @@ -13741,16 +12821,6 @@ packages: is-typed-array: 1.1.13 dev: true - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - dev: true - /typed-array-byte-length@1.0.1: resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} engines: {node: '>= 0.4'} @@ -13762,17 +12832,6 @@ packages: is-typed-array: 1.1.13 dev: true - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.7 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - dev: true - /typed-array-byte-offset@1.0.2: resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} engines: {node: '>= 0.4'} @@ -13785,14 +12844,6 @@ packages: is-typed-array: 1.1.13 dev: true - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - is-typed-array: 1.1.12 - dev: true - /typed-array-length@1.0.5: resolution: {integrity: sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==} engines: {node: '>= 0.4'} @@ -13811,22 +12862,18 @@ packages: is-typedarray: 1.0.0 dev: true - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + /typescript@5.4.3: + resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} engines: {node: '>=14.17'} hasBin: true dev: true - /ua-parser-js@0.7.37: - resolution: {integrity: sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==} - dev: true - /ua-parser-js@1.0.37: resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} dev: true - /ufo@1.4.0: - resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + /ufo@1.5.2: + resolution: {integrity: sha512-eiutMaL0J2MKdhcOM1tUy13pIrYnyR87fEd8STJQFrrAwImwvlXkxlZEjaKah8r2viPohld08lt73QfLG1NxMg==} dev: true /uglify-js@3.17.4: @@ -13859,6 +12906,7 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} @@ -13896,7 +12944,7 @@ packages: devlop: 1.1.0 extend: 3.0.2 is-plain-obj: 4.1.0 - trough: 2.1.0 + trough: 2.2.0 vfile: 6.0.1 dev: true @@ -13965,11 +13013,6 @@ packages: resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} dev: true - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true - /universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} @@ -13983,6 +13026,7 @@ packages: /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} + dev: false /untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} @@ -13994,17 +13038,6 @@ packages: engines: {node: '>=4'} dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.2): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.22.2 - escalade: 3.1.1 - picocolors: 1.0.0 - dev: true - /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -14012,7 +13045,7 @@ packages: browserslist: '>= 4.21.0' dependencies: browserslist: 4.23.0 - escalade: 3.1.1 + escalade: 3.1.2 picocolors: 1.0.0 dev: true @@ -14060,7 +13093,7 @@ packages: react: 18.2.0 dev: true - /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.58)(react@18.2.0): + /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.67)(react@18.2.0): resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: '@types/react': '*' @@ -14069,11 +13102,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.58 + '@types/react': 18.2.67 react: 18.2.0 dev: true - /use-latest@1.2.1(@types/react@18.2.58)(react@18.2.0): + /use-latest@1.2.1(@types/react@18.2.67)(react@18.2.0): resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} peerDependencies: '@types/react': '*' @@ -14082,9 +13115,9 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.58 + '@types/react': 18.2.67 react: 18.2.0 - use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.58)(react@18.2.0) + use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.67)(react@18.2.0) dev: true /use-long-press@3.2.0(react@18.2.0): @@ -14103,8 +13136,8 @@ packages: react: 18.2.0 dev: true - /usehooks-ts@2.15.1(react@18.2.0): - resolution: {integrity: sha512-AK29ODCt4FT9XleILNbkbjjmkRCNaQrgxQEkvqHjlnT76iPXzTFGvK2Y/s83JEdSxRp43YEnSa3bYBEV6HZ26Q==} + /usehooks-ts@3.0.1(react@18.2.0): + resolution: {integrity: sha512-bgJ8S9w/SnQyACd3RvWp3CGncROxEENGqQLCsdaoyTb0zTENIna7MIV3OW6ywCfPaYYD2OPokw7oLPmSLLWP4w==} engines: {node: '>=16.15.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 @@ -14120,6 +13153,7 @@ packages: /utils-merge@1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} + dev: false /uuid@7.0.3: resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==} @@ -14149,6 +13183,7 @@ packages: /vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} + dev: false /vfile-location@5.0.2: resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} @@ -14172,8 +13207,8 @@ packages: vfile-message: 4.0.2 dev: true - /virtua@0.27.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-VeiK2eMCHDmNJvP1GO+DB8rX5ACAxrzFRMGIcqoZK+eqnS25C6lSnuZO4XXLK+RmFkPAoHApMZZTf5ngrpcSMw==} + /virtua@0.29.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-6H2du5FjAfvhJE8dTUP57rSm93dRT45EqK4M/PBW9yU8lsdDB76mAXlF10pz73YgMmVyiMdbO0sFgwRJtCJp0g==} peerDependencies: react: '>=16.14.0' react-dom: '>=16.14.0' @@ -14193,14 +13228,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /vite-express@0.15.0: - resolution: {integrity: sha512-g5CIiUrip9t3LVgO0v0G+rB7HbtQL6oouyRAGeahHt7lDdJYxiURBdAkOYlOexoCLs6PZQRzbIwaT9BNPjCz6g==} - dependencies: - picocolors: 1.0.0 - dev: false - - /vite-node@1.3.1(@types/node@20.11.24)(terser@5.28.1): - resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + /vite-node@1.4.0(@types/node@20.11.30)(terser@5.29.2): + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -14208,7 +13237,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.24)(terser@5.28.1) + vite: 5.2.2(@types/node@20.11.30)(terser@5.29.2) transitivePeerDependencies: - '@types/node' - less @@ -14220,8 +13249,8 @@ packages: - terser dev: true - /vite-plugin-pwa@0.19.0(vite@5.1.4)(workbox-build@7.0.0)(workbox-window@7.0.0): - resolution: {integrity: sha512-Unfb4Jk/ka4HELtpMLIPCmGcW4LFT+CL7Ri1/Of1544CVKXS2ftP91kUkNzkzeI1sGpOdVGuxprVLB9NjMoCAA==} + /vite-plugin-pwa@0.19.6(vite@5.2.2)(workbox-build@7.0.0)(workbox-window@7.0.0): + resolution: {integrity: sha512-3hoxgrDGRzh1vidcZ/GSKXBDiZqbL8DRHXkJgkbJ2Xp3+/P4nau6118L5XlJJsm/wXPpwc/JpDj6Mf073s69+A==} engines: {node: '>=16.0.0'} peerDependencies: '@vite-pwa/assets-generator': ^0.2.4 @@ -14235,30 +13264,30 @@ packages: debug: 4.3.4(supports-color@8.1.1) fast-glob: 3.3.2 pretty-bytes: 6.1.1 - vite: 5.1.4(@types/node@20.11.24)(terser@5.28.1) + vite: 5.2.2(@types/node@20.11.30)(terser@5.29.2) workbox-build: 7.0.0 workbox-window: 7.0.0 transitivePeerDependencies: - supports-color dev: true - /vite-plugin-svgr@4.2.0(rollup@2.79.1)(typescript@5.3.3)(vite@5.1.4): + /vite-plugin-svgr@4.2.0(rollup@2.79.1)(typescript@5.4.3)(vite@5.2.2): resolution: {integrity: sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==} peerDependencies: vite: ^2.6.0 || 3 || 4 || 5 dependencies: '@rollup/pluginutils': 5.1.0(rollup@2.79.1) - '@svgr/core': 8.1.0(typescript@5.3.3) + '@svgr/core': 8.1.0(typescript@5.4.3) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0) - vite: 5.1.4(@types/node@20.11.24)(terser@5.28.1) + vite: 5.2.2(@types/node@20.11.30)(terser@5.29.2) transitivePeerDependencies: - rollup - supports-color - typescript dev: true - /vite@5.1.4(@types/node@20.11.24)(terser@5.28.1): - resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + /vite@5.2.2(@types/node@20.11.30)(terser@5.29.2): + resolution: {integrity: sha512-FWZbz0oSdLq5snUI0b6sULbz58iXFXdvkZfZWR/F0ZJuKTSPO7v72QPXt6KqYeMFb0yytNp6kZosxJ96Nr/wDQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -14285,24 +13314,24 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.24 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - terser: 5.28.1 + '@types/node': 20.11.30 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.13.0 + terser: 5.29.2 optionalDependencies: fsevents: 2.3.3 dev: true - /vitest@1.3.1(@types/node@20.11.24)(jsdom@24.0.0)(terser@5.28.1): - resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + /vitest@1.4.0(@types/node@20.11.30)(jsdom@24.0.0)(terser@5.29.2): + resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.1 - '@vitest/ui': 1.3.1 + '@vitest/browser': 1.4.0 + '@vitest/ui': 1.4.0 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -14319,27 +13348,27 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.24 - '@vitest/expect': 1.3.1 - '@vitest/runner': 1.3.1 - '@vitest/snapshot': 1.3.1 - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 + '@types/node': 20.11.30 + '@vitest/expect': 1.4.0 + '@vitest/runner': 1.4.0 + '@vitest/snapshot': 1.4.0 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 acorn-walk: 8.3.2 chai: 4.4.1 debug: 4.3.4(supports-color@8.1.1) execa: 8.0.1 jsdom: 24.0.0 local-pkg: 0.5.0 - magic-string: 0.30.7 + magic-string: 0.30.8 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.24)(terser@5.28.1) - vite-node: 1.3.1(@types/node@20.11.24)(terser@5.28.1) + vite: 5.2.2(@types/node@20.11.30)(terser@5.29.2) + vite-node: 1.4.0(@types/node@20.11.30)(terser@5.29.2) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -14351,26 +13380,22 @@ packages: - terser dev: true - /void-elements@2.0.1: - resolution: {integrity: sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==} - engines: {node: '>=0.10.0'} - dev: true - - /voyager-capacitor-haptics@5.0.7(@capacitor/core@5.7.0): + /voyager-capacitor-haptics@5.0.7(@capacitor/core@5.7.4): resolution: {integrity: sha512-AfPxS2PumM+LHd7C2hFYmDqezrA4F5sgeTkrGVbSxRTp6dWuEZ8coC8gJeEh1G0xuZAOHqvL9tJ3XrxHU7m7ag==} peerDependencies: '@capacitor/core': ^5.0.0 dependencies: - '@capacitor/core': 5.7.0 + '@capacitor/core': 5.7.4 dev: true - /voyager-ionic-core@7.7.3: - resolution: {integrity: sha512-MX5prS3xwdRBV9GEv23fQY6Z0c04KIaCIHQvX2B137cbaALwt7NNXPmG9F4PBGhMnsXDaGlxPFzvNJ+NgezxpA==} + /voyager-ionic-core@8.0.0-beta.3(patch_hash=h2f36qchnxaxoa77v2tqeuixfi): + resolution: {integrity: sha512-QJTcIaBTOgrT/eBk6QUfXfzs17JycruyMgn9AwiUYHTcUUulMlyRkbbiR6EpJAFssTcMdrqb4ql6Tx59hmjcYw==} dependencies: - '@stencil/core': 4.12.3 - ionicons: 7.2.2 + '@stencil/core': 4.13.0 + ionicons: 7.3.0 tslib: 2.6.2 dev: true + patched: true /w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} @@ -14469,7 +13494,7 @@ packages: engines: {node: '>= 0.4'} dependencies: function.prototype.name: 1.1.6 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-async-function: 2.0.0 is-date-object: 1.0.5 is-finalizationregistry: 1.0.2 @@ -14478,36 +13503,26 @@ packages: is-weakref: 1.0.2 isarray: 2.0.5 which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.13 + which-collection: 1.0.2 + which-typed-array: 1.1.15 dev: true - /which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + /which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.2 + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.3 dev: true /which-module@2.0.1: resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} dev: true - /which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - dev: true - - /which-typed-array@1.1.14: - resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} + /which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.7 @@ -14581,10 +13596,10 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) - '@babel/core': 7.24.0 - '@babel/preset-env': 7.24.0(@babel/core@7.24.0) - '@babel/runtime': 7.24.0 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.0)(rollup@2.79.1) + '@babel/core': 7.24.3 + '@babel/preset-env': 7.24.3(@babel/core@7.24.3) + '@babel/runtime': 7.24.1 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.3)(rollup@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 @@ -14749,19 +13764,6 @@ packages: typedarray-to-buffer: 3.1.5 dev: true - /ws@8.11.0: - resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true - /ws@8.16.0: resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} engines: {node: '>=10.0.0'} @@ -14912,7 +13914,7 @@ packages: engines: {node: '>=10'} dependencies: cliui: 7.0.4 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -14925,7 +13927,7 @@ packages: engines: {node: '>=12'} dependencies: cliui: 8.0.1 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -14933,8 +13935,8 @@ packages: yargs-parser: 21.1.1 dev: true - /yarn@1.22.21: - resolution: {integrity: sha512-ynXaJsADJ9JiZ84zU25XkPGOvVMmZ5b7tmTSpKURYwgELdjucAOydqIOrOfTxVYcNXe91xvLZwcRh68SR3liCg==} + /yarn@1.22.22: + resolution: {integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==} engines: {node: '>=4.0.0'} hasBin: true requiresBuild: true @@ -14962,10 +13964,6 @@ packages: engines: {node: '>=12.20'} dev: true - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - dev: true - /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} dev: true diff --git a/server.mjs b/server.mjs index ad3ec47c83..8cbe39d059 100644 --- a/server.mjs +++ b/server.mjs @@ -1,139 +1,16 @@ import express from "express"; import compression from "compression"; -import ViteExpress from "vite-express"; -import { createProxyMiddleware } from "http-proxy-middleware"; +import path from "path"; const CUSTOM_LEMMY_SERVERS = process.env.CUSTOM_LEMMY_SERVERS ? process.env.CUSTOM_LEMMY_SERVERS.split(",").map((s) => s.trim()) : []; -// avoid issues where popular servers are flakey -// and get blacklisted for a few minutes -const INITIAL_VALID_LEMMY_SERVERS = [ - "lemmy.ml", - "lemmy.world", - "lemmy.one", - "beehaw.org", - "sh.itjust.works", - "lemm.ee", - "feddit.de", - "lemmy.blahaj.zone", - "midwest.social", - "lemmynsfw.com", - "lemmy.ca", - "lemmy.sdf.org", -].concat(CUSTOM_LEMMY_SERVERS); - -const validLemmyServers = {}; -const badLemmyServers = {}; - -INITIAL_VALID_LEMMY_SERVERS.forEach( - (server) => (validLemmyServers[server] = true), -); - const app = express(); -const PROXY_ENDPOINT = "/api/:actor"; - app.use(compression()); -app.use(PROXY_ENDPOINT, async (req, res, next) => { - const actor = req.params.actor; - - if (typeof validLemmyServers[actor] === "object") { - await validLemmyServers[actor]; - } - - if (validLemmyServers[actor] === true) return next(); - if ( - badLemmyServers[actor] && - Date.now() - 1_000 * 60 * 3 < badLemmyServers[actor] - ) { - res.status(400); - res.send("not lemmy server"); - return; - } else { - delete badLemmyServers[actor]; - } - - const parsedActor = (() => { - try { - const { hostname } = new URL(`https://${actor}`); - if (actor === hostname) return hostname; - } catch (error) { - console.error(`actor "${actor}" not valid hostname`); - - return undefined; - } - })(); - - if (!parsedActor) { - res.status(400); - res.send("not lemmy server"); - return; - } - - const nodeinfo = (async () => { - try { - const response = await fetch(`https://${actor}/nodeinfo/2.0.json`); - - return await response.json(); - } catch (error) { - return {}; - } - })(); - validLemmyServers[actor] = nodeinfo; - - const json = await nodeinfo; - - if (json?.software?.name === "lemmy") { - validLemmyServers[actor] = true; - return next(); - } - - badLemmyServers[actor] = Date.now(); - - res.status(400); - res.send("not lemmy server"); -}); - -app.use( - PROXY_ENDPOINT, - createProxyMiddleware({ - target: "http://example.com", - router: (req) => `https://${req.params.actor}`, - changeOrigin: true, - secure: true, - xfwd: true, - pathRewrite: (path) => path.split("/").slice(3).join("/"), - onProxyReq: (clientReq, req) => { - clientReq.setHeader( - "user-agent", - `(${req.hostname}, ${process.env.EMAIL || "hello@vger.app"})`, - ); - clientReq.removeHeader("cookie"); - - // Fake it to get around Lemmy API connection issue - clientReq.setHeader("origin", `https://${req.params.actor}`); - - // Hack to get around pictrs endpoint not allowing auth in pathname and/or body - if ( - req.method === "POST" && - req.path === "pictrs/image" && - req.query?.auth - ) { - clientReq.setHeader("cookie", `jwt=${req.query.auth}`); // lemmy <=v0.18 - clientReq.setHeader("Authorization", `Bearer ${req.query.auth}`); // lemmy >=v0.19 - delete req.query.auth; - } - }, - onProxyRes: (proxyRes, req, res) => { - res.removeHeader("cookie"); - }, - }), -); - -app.get("/_config", (req, res) => { +app.get("/_config", (_, res) => { res.send({ customServers: CUSTOM_LEMMY_SERVERS, }); @@ -155,7 +32,13 @@ app.use("*", (req, res, next) => { next(); }); -ViteExpress.listen(app, PORT, () => +app.use(express.static(path.resolve(import.meta.dirname, "dist"))); + +app.get("*", function (_, res) { + res.sendFile(path.resolve(import.meta.dirname, "dist", "index.html")); +}); + +app.listen(PORT, () => // eslint-disable-next-line no-console console.log(`Server is on http://localhost:${PORT}`), ); diff --git a/src/core/App.tsx b/src/core/App.tsx index 16ea32d74f..c4576f5ab7 100644 --- a/src/core/App.tsx +++ b/src/core/App.tsx @@ -35,10 +35,12 @@ import "@ionic/react/css/text-transformation.css"; import "@ionic/react/css/flex-utils.css"; import "@ionic/react/css/display.css"; +import "@ionic/react/css/palettes/dark.class.css"; + /* Setup global app lifecycle listeners */ import "./listeners"; import AppUrlListener from "./listeners/AppUrlListener"; -import OldInstanceWarning from "./OldInstanceWarning"; +import { ResetStatusTap } from "./listeners/statusTap"; // index.tsx ensures android nav mode resolves before app is rendered (async () => { @@ -50,7 +52,6 @@ import OldInstanceWarning from "./OldInstanceWarning"; } setupIonicReact({ - rippleEffect: false, mode: getDeviceMode(), statusTap: false, // custom implementation listeners/statusTap.ts swipeBackEnabled: @@ -72,13 +73,13 @@ export default function App() { + - diff --git a/src/core/Auth.tsx b/src/core/Auth.tsx index 41ca390816..74464c2a6d 100644 --- a/src/core/Auth.tsx +++ b/src/core/Auth.tsx @@ -6,7 +6,7 @@ import { getInboxCounts, syncMessages } from "../features/inbox/inboxSlice"; import { useInterval } from "usehooks-ts"; import usePageVisibility from "../helpers/usePageVisibility"; import { getDefaultServer } from "../services/app"; -import { isLemmyError } from "../helpers/lemmy"; +import { isLemmyError } from "../helpers/lemmyErrors"; import useAppToast from "../helpers/useAppToast"; import BackgroundReportSync from "../features/moderation/BackgroundReportSync"; import { getSiteIfNeeded, isAdminSelector } from "../features/auth/siteSlice"; diff --git a/src/core/GlobalStyles.tsx b/src/core/GlobalStyles.tsx index 15107966b9..9e393a2e24 100644 --- a/src/core/GlobalStyles.tsx +++ b/src/core/GlobalStyles.tsx @@ -18,7 +18,7 @@ import "./theme/variables"; import { AppThemeType } from "../services/db"; import { stateWithLocalstorageItems as initialCriticalSettingsState } from "../features/settings/settingsSlice"; -export const DARK_CLASSNAME = "theme-dark"; +export const DARK_CLASSNAME = "ion-palette-dark"; export const PURE_BLACK_CLASSNAME = "theme-pure-black"; export const THEME_HAS_CUSTOM_BACKGROUND = "theme-has-custom-background"; @@ -74,8 +74,8 @@ updateDocumentTheme( initialCriticalSettingsState.appearance.theme, ); -const globalDeviceFontCss = css` - font: -apple-system-body; +const fixedDeviceFontCss = css` + --ion-dynamic-font: initial; `; interface GlobalStylesProps { @@ -101,10 +101,10 @@ export default function GlobalStyles({ children }: GlobalStylesProps) { useLayoutEffect(() => { if (useSystemFontSize) { - document.documentElement.classList.add(globalDeviceFontCss); + document.documentElement.classList.remove(fixedDeviceFontCss); document.documentElement.style.fontSize = ""; } else { - document.documentElement.classList.remove(globalDeviceFontCss); + document.documentElement.classList.add(fixedDeviceFontCss); document.documentElement.style.fontSize = `${fontSizeMultiplier}rem`; } }, [useSystemFontSize, fontSizeMultiplier]); diff --git a/src/core/OldInstanceWarning.tsx b/src/core/OldInstanceWarning.tsx deleted file mode 100644 index 46736e2cce..0000000000 --- a/src/core/OldInstanceWarning.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import { useIonAlert } from "@ionic/react"; -import { useEffect, useRef } from "react"; -import { useAppSelector } from "../store"; -import { useBuildGeneralBrowseLink } from "../helpers/routes"; -import { compare } from "compare-versions"; -import { getItemActorName } from "../helpers/lemmy"; - -const ANNOUNCEMENT_LINK = "https://lemmy.world/post/12479493"; -const MINIMUM_REQUIRED_VERSION = "0.19.0"; - -export default function OldInstanceWarning() { - const lastSiteActorIdRef = useRef(""); - const [presentAlert] = useIonAlert(); - const site = useAppSelector((state) => state.site.response); - const buildGeneralBrowseLink = useBuildGeneralBrowseLink(); - - useEffect(() => { - if (!site) return; - if (lastSiteActorIdRef.current === site.site_view.site.actor_id) return; - lastSiteActorIdRef.current = site.site_view.site.actor_id; - if (compare(MINIMUM_REQUIRED_VERSION, site.version, "<=")) return; - - presentAlert({ - header: `⚠️ ${getItemActorName(site.site_view.site)} is running outdated software`, - message: `Voyager is dropping support for Lemmy 0.18 as of March 18, 2024. Please ask your instance administrator to upgrade as soon as possible, or use another instance.`, - buttons: [ - "OK", - { - text: "Learn More", - handler: async () => { - window.open(ANNOUNCEMENT_LINK, "_blank", "noreferrer"); - }, - }, - ], - }); - }, [site, presentAlert, buildGeneralBrowseLink]); - - return null; -} diff --git a/src/core/globalCssOverrides.ts b/src/core/globalCssOverrides.ts index 6d75016d68..d1c9fda18f 100644 --- a/src/core/globalCssOverrides.ts +++ b/src/core/globalCssOverrides.ts @@ -39,6 +39,13 @@ export default css` } } + ion-list.list-inset ion-item { + --background: var( + --ion-tab-bar-background, + var(--ion-background-color-step-50, #fff) + ); + } + .left-align-buttons .action-sheet-button:not(.action-sheet-cancel) .action-sheet-button-inner.sc-ion-action-sheet-ios:not( diff --git a/src/core/listeners/statusTap.ts b/src/core/listeners/statusTap.ts index b1cbc663fd..9334213ad1 100644 --- a/src/core/listeners/statusTap.ts +++ b/src/core/listeners/statusTap.ts @@ -1,5 +1,7 @@ +import { useEffect } from "react"; import { findCurrentPage } from "../../helpers/ionic"; import { Browser } from "@capacitor/browser"; +import { useLocation } from "react-router"; let savedScrollTop = 0; @@ -49,3 +51,13 @@ window.addEventListener("statusTap", () => { export function resetSavedStatusTap() { savedScrollTop = 0; } + +export function ResetStatusTap() { + const location = useLocation(); + + useEffect(() => { + resetSavedStatusTap(); + }, [location]); + + return null; +} diff --git a/src/core/theme/variables.ts b/src/core/theme/variables.ts index eef15fb6b0..758014a1e5 100644 --- a/src/core/theme/variables.ts +++ b/src/core/theme/variables.ts @@ -2,10 +2,6 @@ import { css } from "@linaria/core"; export const baseVariables = css` :global() { - // Ionic Variables and Theming. For more info, please see: - // http://ionicframework.com/docs/theming/ - - // Ionic CSS Variables :root { --ion-text-color: #000; @@ -73,8 +69,6 @@ export const baseVariables = css` --ion-color-medium-shade: #808289; --ion-color-medium-tint: #9d9fa6; - --ion-color-medium2: var(--ion-color-medium); - /** light **/ --ion-color-light: #f4f5f8; --ion-color-light-rgb: 244, 245, 248; @@ -83,11 +77,13 @@ export const baseVariables = css` --ion-color-light-shade: #d7d8da; --ion-color-light-tint: #f5f6f9; + --ion-color-medium2: var(--ion-color-medium); + --lightroom-bg: #f2f3f7; - --thick-separator-color: var(--ion-color-step-50, #f2f2f7); + --thick-separator-color: var(--ion-background-color-step-50, #f2f2f7); - --ion-color-step-100: #f3f3f3; + --ion-background-color-step-100: #f3f3f3; --unread-item-background-color: #e3f1ff; @@ -104,7 +100,7 @@ export const baseVariables = css` } .ios ion-modal { - --ion-background-color: var(--ion-color-step-50, #f2f2f7); + --ion-background-color: var(--ion-background-color-step-50, #f2f2f7); --ion-item-background: #fff; } @@ -116,7 +112,7 @@ export const baseVariables = css` export const lightVariables = css` :global() { - html:not(.theme-dark) { + html:not(.ion-palette-dark) { &:root { --ion-color-primary: var(--app-primary); --ion-color-primary-fixed: #3880ff; // always blue always blue! @@ -125,7 +121,7 @@ export const lightVariables = css` } &:root.ios .grey-bg { - --ion-background-color: var(--ion-color-step-50, #f2f2f7); + --ion-background-color: var(--ion-background-color-step-50, #f2f2f7); } &:root.ios .grey-bg ion-header { --opacity: 0; @@ -145,7 +141,7 @@ export const lightVariables = css` export const darkVariables = css` :global() { - html.theme-dark { + html.ion-palette-dark { // Dark Colors &:root { --ion-color-primary-fixed: #428cff; // always blue always blue! @@ -214,13 +210,6 @@ export const darkVariables = css` --ion-color-medium2: rgb(112, 113, 120); - --ion-color-light: #222428; - --ion-color-light-rgb: 34, 36, 40; - --ion-color-light-contrast: #ffffff; - --ion-color-light-contrast-rgb: 255, 255, 255; - --ion-color-light-shade: #1e2023; - --ion-color-light-tint: #383a3e; - --thick-separator-color: rgba(255, 255, 255, 0.08); --unread-item-background-color: #162f4a; @@ -236,28 +225,8 @@ export const darkVariables = css` // iOS Dark Theme &.ios body { - --ion-text-color: #ddd; - --ion-text-color-rgb: 255, 255, 255; - - --ion-color-step-50: #0d0d0d; - --ion-color-step-100: #1a1a1a; - --ion-color-step-150: #262626; - --ion-color-step-200: #333333; - --ion-color-step-250: #404040; - --ion-color-step-300: #4d4d4d; - --ion-color-step-350: #595959; - --ion-color-step-400: #666666; - --ion-color-step-450: #737373; - --ion-color-step-500: #808080; - --ion-color-step-550: #8c8c8c; - --ion-color-step-600: #999999; - --ion-color-step-650: #a6a6a6; - --ion-color-step-700: #b3b3b3; - --ion-color-step-750: #bfbfbf; - --ion-color-step-800: #cccccc; - --ion-color-step-850: #d9d9d9; - --ion-color-step-900: #e6e6e6; - --ion-color-step-950: #f2f2f2; + /* --ion-text-color: #ddd; + --ion-text-color-rgb: 255, 255, 255; */ --ion-item-background: var(--ion-background-color); @@ -267,41 +236,19 @@ export const darkVariables = css` } &.ios ion-modal { - --ion-background-color: var(--ion-color-step-100); - --ion-toolbar-background: var(--ion-color-step-150); - --ion-toolbar-border-color: var(--ion-color-step-250); - --ion-item-background: var(--ion-color-step-50); + --ion-background-color: var(--ion-background-color-step-100); + --ion-toolbar-background: var(--ion-background-color-step-150); + --ion-toolbar-border-color: var(--ion-background-color-step-250); + --ion-item-background: var(--ion-background-color-step-50); } // Material Design Dark Theme - &.md body { - --ion-color-step-50: #121212; - --ion-color-step-100: #2a2a2a; - --ion-color-step-150: #363636; - --ion-color-step-200: #414141; - --ion-color-step-250: #4d4d4d; - --ion-color-step-300: #595959; - --ion-color-step-350: #656565; - --ion-color-step-400: #717171; - --ion-color-step-450: #7d7d7d; - --ion-color-step-500: #898989; - --ion-color-step-550: #949494; - --ion-color-step-600: #a0a0a0; - --ion-color-step-650: #acacac; - --ion-color-step-700: #b8b8b8; - --ion-color-step-750: #c4c4c4; - --ion-color-step-800: #d0d0d0; - --ion-color-step-850: #dbdbdb; - --ion-color-step-900: #e7e7e7; - --ion-color-step-950: #f3f3f3; - } - @media (max-width: 767px) { &.ios ion-modal:not(.small, .transparent-scroll) { --ion-background-color: #000; --ion-toolbar-background: var(--ion-background-color); - --ion-toolbar-border-color: var(--ion-color-step-150); + --ion-toolbar-border-color: var(--ion-background-color-step-150); } } @@ -315,7 +262,7 @@ export const darkVariables = css` export const darkBlackModifierVariables = css` :global() { - html.theme-dark { + html.ion-palette-dark { &:not(.theme-pure-black) { &.ios { body { @@ -389,8 +336,8 @@ export const darkBlackModifierVariables = css` &.md body { --ion-background-color: var(--app-background); --ion-item-background: var(--app-background); - --ion-color-step-50: var(--app-inset-item-background); - --ion-color-step-100: var(--app-tab-bar-background); + --ion-background-color-step-50: var(--app-inset-item-background); + --ion-background-color-step-100: var(--app-tab-bar-background); --ion-tab-bar-background: var(--app-tab-bar-background); --ion-toolbar-background: var(--app-tab-bar-background); } @@ -398,7 +345,7 @@ export const darkBlackModifierVariables = css` &.ios ion-modal:not(.small, .transparent-scroll) { --ion-background-color: var(--app-background); --ion-toolbar-background: var(--app-tab-bar-background); - --ion-toolbar-border-color: var(--ion-color-step-150); + --ion-toolbar-border-color: var(--ion-background-color-step-150); } } } diff --git a/src/features/auth/login/LoginNav.tsx b/src/features/auth/login/LoginNav.tsx index 5a2ee4852d..bfb41796bc 100644 --- a/src/features/auth/login/LoginNav.tsx +++ b/src/features/auth/login/LoginNav.tsx @@ -27,10 +27,8 @@ export default function LoginNav() { const { setCanDismiss } = useContext(DynamicDismissableModalContext); const onIonNavDidChange = useCallback( - (event: IonNavCustomEvent) => { - // If swiped back to root, allow swipe to dismiss - // eslint-disable-next-line @typescript-eslint/no-explicit-any - if ((event.target as any).getLength() === 1) { + async (event: IonNavCustomEvent) => { + if ((await event.target.getLength()) === 1) { setCanDismiss(true); } }, diff --git a/src/features/auth/login/join/Join.tsx b/src/features/auth/login/join/Join.tsx index 6da4d241ed..8bbc3df068 100644 --- a/src/features/auth/login/join/Join.tsx +++ b/src/features/auth/login/join/Join.tsx @@ -117,9 +117,7 @@ export default function Join({ answer }: JoinProps) { // Remove signup steps from stack (everything between root and current nav view) // (user should not be able to navigate back after signup) - // TODO open bug for missing ionic type - // eslint-disable-next-line @typescript-eslint/no-explicit-any - if (entering) nav.removeIndex(1, (nav as any).getLength() - 2); + if (entering) nav.removeIndex(1, (await nav.getLength()) - 2); }, ); } diff --git a/src/features/auth/login/login/Login.tsx b/src/features/auth/login/login/Login.tsx index 63fcdf7b82..33354da266 100644 --- a/src/features/auth/login/login/Login.tsx +++ b/src/features/auth/login/login/Login.tsx @@ -19,10 +19,9 @@ import useAppToast from "../../../../helpers/useAppToast"; import { useAppDispatch, useAppSelector } from "../../../../store"; import { addGuestInstance, login } from "../../authSlice"; import { - OldLemmyErrorValue, getLoginErrorMessage, isLemmyError, -} from "../../../../helpers/lemmy"; +} from "../../../../helpers/lemmyErrors"; import Totp from "./Totp"; import { DynamicDismissableModalContext } from "../../../shared/DynamicDismissableModal"; import InAppExternalLink from "../../../shared/InAppExternalLink"; @@ -120,10 +119,7 @@ export default function Login({ url, siteIcon }: LoginProps) { return; } - if ( - isLemmyError(error, "password_incorrect" as OldLemmyErrorValue) || // TODO lemmy v0.18 support - isLemmyError(error, "incorrect_login") - ) { + if (isLemmyError(error, "incorrect_login")) { setPassword(""); } diff --git a/src/features/auth/login/login/PickLoginServer.tsx b/src/features/auth/login/login/PickLoginServer.tsx index 1258b7baf3..d28b588e9b 100644 --- a/src/features/auth/login/login/PickLoginServer.tsx +++ b/src/features/auth/login/login/PickLoginServer.tsx @@ -23,6 +23,10 @@ import { GetSiteResponse } from "lemmy-js-client"; import { uniq } from "lodash"; import { getCustomServers } from "../../../../services/app"; import AppHeader from "../../../shared/AppHeader"; +import { + MINIMUM_LEMMY_VERSION, + isMinimumSupportedLemmyVersion, +} from "../../../../helpers/lemmy"; const Container = styled.div` height: 100%; @@ -100,6 +104,17 @@ export default function PickLoginServer() { setLoading(false); } + if (!isMinimumSupportedLemmyVersion(site.version)) { + presentToast({ + message: `${potentialServer} is running Lemmy v${site.version}. Voyager requires at least v${MINIMUM_LEMMY_VERSION}`, + color: "danger", + fullscreen: true, + duration: 6_000, + }); + + return; + } + ref.current ?.closest("ion-nav") ?.push(() => ( diff --git a/src/features/auth/login/login/Totp.tsx b/src/features/auth/login/login/Totp.tsx index 6ff4ecbc9c..dfde15ec9d 100644 --- a/src/features/auth/login/login/Totp.tsx +++ b/src/features/auth/login/login/Totp.tsx @@ -14,7 +14,10 @@ import { import useAppToast from "../../../../helpers/useAppToast"; import { useAppDispatch } from "../../../../store"; import { login } from "../../authSlice"; -import { getLoginErrorMessage, isLemmyError } from "../../../../helpers/lemmy"; +import { + getLoginErrorMessage, + isLemmyError, +} from "../../../../helpers/lemmyErrors"; import { DynamicDismissableModalContext } from "../../../shared/DynamicDismissableModal"; import { loginSuccess } from "../../../../helpers/toastMessages"; import AppHeader from "../../../shared/AppHeader"; diff --git a/src/features/auth/login/pickJoinServer/PickJoinServer.tsx b/src/features/auth/login/pickJoinServer/PickJoinServer.tsx index 3beb70b256..c1f635282a 100644 --- a/src/features/auth/login/pickJoinServer/PickJoinServer.tsx +++ b/src/features/auth/login/pickJoinServer/PickJoinServer.tsx @@ -48,6 +48,7 @@ import Login from "../login/Login"; import { getInstanceFromHandle } from "../../authSelectors"; import { styled } from "@linaria/react"; import AppHeader from "../../../shared/AppHeader"; +import { isMinimumSupportedLemmyVersion } from "../../../../helpers/lemmy"; const spacing = ` margin: 2.5rem 0; @@ -187,6 +188,9 @@ export default function PickJoinServer() { ) return; + // Unsupported version + if (!isMinimumSupportedLemmyVersion(site.version)) return; + setCustomInstance(site); }, [customSearchHostnameInvalid, searchHostname]); diff --git a/src/features/auth/login/pickJoinServer/pickJoinServerSlice.ts b/src/features/auth/login/pickJoinServer/pickJoinServerSlice.ts index be5cb697a7..b71b53450b 100644 --- a/src/features/auth/login/pickJoinServer/pickJoinServerSlice.ts +++ b/src/features/auth/login/pickJoinServer/pickJoinServerSlice.ts @@ -5,6 +5,7 @@ import { intersectionWith, sortBy, uniq } from "lodash"; import { WHITELISTED_SERVERS } from "../data/servers"; import { getCustomServers } from "../../../../services/app"; import { buildPrioritizeAndSortFn } from "../../../../helpers/array"; +import { isMinimumSupportedLemmyVersion } from "../../../../helpers/lemmy"; interface PickJoinServerState { instances: lemmyverse.LVInstance[] | undefined; @@ -34,7 +35,9 @@ export const getInstances = () => async (dispatch: AppDispatch) => { const unorderedInstances = sortBy( intersectionWith(instances, serverWhitelist, (a, b) => a.baseurl === b), (instance) => -instance.trust.score, - ).filter((server) => server.open); + ).filter( + (server) => server.open && isMinimumSupportedLemmyVersion(server.version), + ); const customSortFn = buildPrioritizeAndSortFn( getCustomServers(), diff --git a/src/features/auth/login/welcome/Welcome.tsx b/src/features/auth/login/welcome/Welcome.tsx index 4bfed3446c..15da7a5eed 100644 --- a/src/features/auth/login/welcome/Welcome.tsx +++ b/src/features/auth/login/welcome/Welcome.tsx @@ -20,7 +20,7 @@ const StyledIonContent = styled(IonContent)` --background: linear-gradient(0deg, #bfd5ff, #e3edff 33%, #ffff); - .theme-dark & { + .ion-palette-dark & { --background: linear-gradient(0deg, #001233ff, #000a1c 33%, #0000); } `; @@ -35,7 +35,7 @@ const StyledBaseSvg = styled(BaseSvg)` filter: brightness(2.7); - .theme-dark & { + .ion-palette-dark & { filter: none; } ` as AnyComponent; diff --git a/src/features/comment/CommentSort.tsx b/src/features/comment/CommentSort.tsx index e7d4976404..e14d64e4b1 100644 --- a/src/features/comment/CommentSort.tsx +++ b/src/features/comment/CommentSort.tsx @@ -18,7 +18,6 @@ import { startCase } from "lodash"; import { CommentSortType } from "lemmy-js-client"; import { scrollUpIfNeeded } from "../../helpers/scrollUpIfNeeded"; import { AppContext } from "../auth/AppContext"; -import useSupported, { is019Sort } from "../../helpers/useSupported"; export const COMMENT_SORTS = [ "Hot", @@ -44,11 +43,6 @@ interface CommentSortProps { export default function CommentSort({ sort, setSort }: CommentSortProps) { const [open, setOpen] = useState(false); const { activePageRef } = useContext(AppContext); - const controversialSupported = useSupported("v0.19 Sorts"); - - const supportedSortButtons = controversialSupported - ? BUTTONS - : BUTTONS.filter(({ data }) => !is019Sort(data)); return ( <> @@ -68,7 +62,7 @@ export default function CommentSort({ sort, setSort }: CommentSortProps) { scrollUpIfNeeded(activePageRef?.current, 1, "auto"); }} header="Sort by..." - buttons={supportedSortButtons.map((b) => ({ + buttons={BUTTONS.map((b) => ({ ...b, role: sort === b.data ? "selected" : undefined, }))} diff --git a/src/features/comment/compose/reply/CommentReply.tsx b/src/features/comment/compose/reply/CommentReply.tsx index 81dc3b2406..07a4e84271 100644 --- a/src/features/comment/compose/reply/CommentReply.tsx +++ b/src/features/comment/compose/reply/CommentReply.tsx @@ -27,7 +27,7 @@ import { import { receivedComments } from "../../commentSlice"; import CommentEditorContent from "../CommentEditorContent"; import useAppToast from "../../../../helpers/useAppToast"; -import { isLemmyError } from "../../../../helpers/lemmy"; +import { isLemmyError } from "../../../../helpers/lemmyErrors"; import AccountSwitcher from "../../../auth/AccountSwitcher"; import { getClient } from "../../../../services/lemmy"; import AppHeader from "../../../shared/AppHeader"; diff --git a/src/features/comment/elements/CommentContainer.tsx b/src/features/comment/elements/CommentContainer.tsx index a0a089649c..eae391fbbf 100644 --- a/src/features/comment/elements/CommentContainer.tsx +++ b/src/features/comment/elements/CommentContainer.tsx @@ -35,7 +35,7 @@ const Container = styled.div` width: 2px; filter: none; - .theme-dark & { + .ion-palette-dark & { filter: brightness(0.7); } diff --git a/src/features/comment/inTree/CommentHr.tsx b/src/features/comment/inTree/CommentHr.tsx index 59e3853491..35200ac7af 100644 --- a/src/features/comment/inTree/CommentHr.tsx +++ b/src/features/comment/inTree/CommentHr.tsx @@ -16,7 +16,7 @@ const Hr = styled.hr` height: 1px; background-color: var( --ion-item-border-color, - var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)) + var(--ion-border-color, var(--ion-background-color-step-250, #c8c7cc)) ); width: 100%; margin: 0; diff --git a/src/features/comment/useCommentActions.ts b/src/features/comment/useCommentActions.ts index 167b2deb2d..18a57f3b64 100644 --- a/src/features/comment/useCommentActions.ts +++ b/src/features/comment/useCommentActions.ts @@ -30,7 +30,6 @@ import { postLocked, saveError, saveSuccess, - voteError, } from "../../helpers/toastMessages"; import store, { useAppDispatch } from "../../store"; import { PageContext } from "../auth/PageContext"; @@ -45,6 +44,7 @@ import { useOptimizedIonRouter } from "../../helpers/useOptimizedIonRouter"; import { isDownvoteEnabledSelector } from "../auth/siteSlice"; import { compact } from "lodash"; import { isStubComment } from "./CommentHeader"; +import { getVoteErrorMessage } from "../../helpers/lemmyErrors"; export interface CommentActionsProps { comment: CommentView | PersonMentionView | CommentReplyView; @@ -125,7 +125,12 @@ export default function useCommentActions({ try { await dispatch(voteOnComment(comment.id, myVote === 1 ? 0 : 1)); } catch (error) { - presentToast(voteError); + presentToast({ + color: "danger", + message: getVoteErrorMessage(error), + }); + + throw error; } })(); }, @@ -143,7 +148,12 @@ export default function useCommentActions({ voteOnComment(comment.id, myVote === -1 ? 0 : -1), ); } catch (error) { - presentToast(voteError); + presentToast({ + color: "danger", + message: getVoteErrorMessage(error), + }); + + throw error; } })(); }, @@ -162,6 +172,7 @@ export default function useCommentActions({ if (!mySaved) presentToast(saveSuccess); } catch (error) { presentToast(saveError); + throw error; } })(); }, diff --git a/src/features/community/list/useShowModeratorFeed.ts b/src/features/community/list/useShowModeratorFeed.ts index 3e6ebd48a9..eb1b7f0291 100644 --- a/src/features/community/list/useShowModeratorFeed.ts +++ b/src/features/community/list/useShowModeratorFeed.ts @@ -1,11 +1,9 @@ -import useSupported from "../../../helpers/useSupported"; import { useAppSelector } from "../../../store"; export default function useShowModeratorFeed() { const moderates = useAppSelector( (state) => state.site.response?.my_user?.moderates, ); - const moderatorFeedSupported = useSupported("Modded Feed"); - return !!moderates?.length && moderatorFeedSupported; + return !!moderates?.length; } diff --git a/src/features/community/search/CommunitySearchResults.tsx b/src/features/community/search/CommunitySearchResults.tsx index 48756510b0..dc09b7f4cb 100644 --- a/src/features/community/search/CommunitySearchResults.tsx +++ b/src/features/community/search/CommunitySearchResults.tsx @@ -1,7 +1,6 @@ -import { IonLabel, IonList } from "@ionic/react"; +import { IonItem, IonLabel, IonList } from "@ionic/react"; import { useBuildGeneralBrowseLink } from "../../../helpers/routes"; import { MaxWidthContainer } from "../../shared/AppContent"; -import { InsetIonItem } from "../../settings/shared/formatting"; interface CommunitySearchResultsProps { community: string; @@ -17,7 +16,7 @@ export default function CommunitySearchResults({ return ( - Search posts on c/{community} for “{query}” - - + Search comments on c/{community} for “{query}” - + ); diff --git a/src/features/community/titleSearch/TitleSearch.tsx b/src/features/community/titleSearch/TitleSearch.tsx index 0981649cf8..5b42ddf7cc 100644 --- a/src/features/community/titleSearch/TitleSearch.tsx +++ b/src/features/community/titleSearch/TitleSearch.tsx @@ -4,6 +4,7 @@ import React, { useContext, useEffect, useRef } from "react"; import { TitleSearchContext } from "./TitleSearchProvider"; import { styled } from "@linaria/react"; import { isIosTheme } from "../../../helpers/device"; +import { findCurrentPage } from "../../../helpers/ionic"; const TitleContents = styled.span` display: inline-flex; @@ -47,6 +48,15 @@ const StyledInput = styled.input` --background: none; `; +const TITLE_CLASS = "title-search-opener"; + +export function openTitleSearch() { + findCurrentPage() + ?.closest(".ion-page") + ?.querySelector(`.${TITLE_CLASS}`) + ?.click(); +} + interface TitleSearchProps { name: string; children: React.ReactNode; @@ -63,6 +73,18 @@ export default function TitleSearch({ name, children }: TitleSearchProps) { searchRef.current?.focus(); }, [searching]); + const titleRef = useRef(null); + + // Need to declare manually, otherwise it can't be triggered from TabBar :( + useEffect(() => { + const activate = () => setSearching(true); + const title = titleRef.current; + + title?.addEventListener("click", activate); + + return () => title?.removeEventListener("click", activate); + }, [searching, setSearching]); + if (searching) { return ( <> @@ -98,7 +120,7 @@ export default function TitleSearch({ name, children }: TitleSearchProps) { return ( <> - setSearching(true)}> + {name} diff --git a/src/features/community/titleSearch/TitleSearchResults.tsx b/src/features/community/titleSearch/TitleSearchResults.tsx index 14142c25cd..4368211e68 100644 --- a/src/features/community/titleSearch/TitleSearchResults.tsx +++ b/src/features/community/titleSearch/TitleSearchResults.tsx @@ -7,7 +7,7 @@ import { useState, } from "react"; import { TitleSearchContext } from "./TitleSearchProvider"; -import { useDebounce } from "usehooks-ts"; +import { useDebounceValue } from "usehooks-ts"; import useClient from "../../../helpers/useClient"; import { Community, CommunityView } from "lemmy-js-client"; import { IonItem, IonList } from "@ionic/react"; @@ -29,7 +29,7 @@ const Backdrop = styled.div` background: rgba(0, 0, 0, 0.2); - .theme-dark & { + .ion-palette-dark & { background: rgba(0, 0, 0, 0.7); } @@ -47,8 +47,8 @@ const KeyboardContent = styled.div` const Contents = styled.div` --background: var(--ion-background-color); - .theme-dark & { - --background: var(--ion-color-step-100); + .ion-palette-dark & { + --background: var(--ion-background-color-step-100); } background: var(--background); @@ -66,8 +66,8 @@ const Contents = styled.div` ion-item { --ion-item-background: var(--ion-background-color); - .theme-dark & { - --ion-item-background: var(--ion-color-step-100); + .ion-palette-dark & { + --ion-item-background: var(--ion-background-color-step-100); } } `; @@ -102,7 +102,7 @@ export default function TitleSearchResults() { const router = useOptimizedIonRouter(); const { search, setSearch, searching, setSearching, setOnSubmit } = useContext(TitleSearchContext); - const debouncedSearch = useDebounce(search, 500); + const [debouncedSearch, setDebouncedSearch] = useDebounceValue(search, 500); const [searchPayload, setSearchPayload] = useState([]); const client = useClient(); const follows = useAppSelector( @@ -116,6 +116,10 @@ export default function TitleSearchResults() { const favorites = useAppSelector((state) => state.community.favorites); const showModeratorFeed = useShowModeratorFeed(); + useEffect(() => { + setDebouncedSearch(search); + }, [search, setDebouncedSearch]); + const results: Result[] = useMemo(() => { const results = [ ...searchCommunityByName( diff --git a/src/features/feed/PostSort.tsx b/src/features/feed/PostSort.tsx index 8ccd453949..e4b4f72967 100644 --- a/src/features/feed/PostSort.tsx +++ b/src/features/feed/PostSort.tsx @@ -23,7 +23,6 @@ import { startCase } from "lodash"; import { SortType } from "lemmy-js-client"; import { scrollUpIfNeeded } from "../../helpers/scrollUpIfNeeded"; import { AppContext } from "../auth/AppContext"; -import useSupported, { is019Sort } from "../../helpers/useSupported"; import { calendarNineMonths, calendarSingleDay, @@ -126,21 +125,11 @@ export function useSelectPostSort(onSelected: (sort: SortType) => void) { const [presentInitialSortActionSheet] = useIonActionSheet(); const [presentTopSortActionSheet] = useIonActionSheet(); - const newSorts = useSupported("v0.19 Sorts"); - - const supportedSortButtons = newSorts - ? BUTTONS - : BUTTONS.filter(({ data }) => !is019Sort(data)); - - const supportedTopSortButtons = newSorts - ? TOP_BUTTONS - : TOP_BUTTONS.filter(({ data }) => !is019Sort(data)); - function present(sort: SortType) { presentInitialSortActionSheet({ header: "Sort by...", cssClass: "left-align-buttons", - buttons: supportedSortButtons.map((b) => ({ + buttons: BUTTONS.map((b) => ({ ...b, cssClass: b.data === "Top" ? "detail" : undefined, text: @@ -169,7 +158,7 @@ export function useSelectPostSort(onSelected: (sort: SortType) => void) { presentTopSortActionSheet({ header: "Sort by Top for...", cssClass: "left-align-buttons", - buttons: supportedTopSortButtons.map((b) => ({ + buttons: TOP_BUTTONS.map((b) => ({ ...b, role: sort === b.data ? "selected" : undefined, })), @@ -216,8 +205,6 @@ export function getSortIcon(sort: ExtendedSortType): string { return barChartOutline; case "Old": return helpCircleOutline; - - // lemmy v0.19 below case "Controversial": return skullOutline; case "Scaled": diff --git a/src/features/inbox/InboxItem.tsx b/src/features/inbox/InboxItem.tsx index afbcc8799d..e8c23ac528 100644 --- a/src/features/inbox/InboxItem.tsx +++ b/src/features/inbox/InboxItem.tsx @@ -38,7 +38,7 @@ const Hr = styled.div` border-bottom: 1px solid var( --ion-item-border-color, - var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)) + var(--ion-border-color, var(--ion-background-color-step-250, #c8c7cc)) ); } `; diff --git a/src/features/inbox/inboxSlice.ts b/src/features/inbox/inboxSlice.ts index 1afede33ab..01e6b2442b 100644 --- a/src/features/inbox/inboxSlice.ts +++ b/src/features/inbox/inboxSlice.ts @@ -5,7 +5,7 @@ import { logoutAccount } from "../auth/authSlice"; import { InboxItemView } from "./InboxItem"; import { differenceBy, uniqBy } from "lodash"; import { receivedUsers } from "../user/userSlice"; -import { isLemmyError } from "../../helpers/lemmy"; +import { isLemmyError } from "../../helpers/lemmyErrors"; import { clientSelector, userHandleSelector, diff --git a/src/features/inbox/messages/Message.tsx b/src/features/inbox/messages/Message.tsx index f969f36cd4..24ad9350db 100644 --- a/src/features/inbox/messages/Message.tsx +++ b/src/features/inbox/messages/Message.tsx @@ -28,7 +28,7 @@ const Container = styled.div` --sentColor: var(--ion-color-primary); --receiveColor: #eee; - .theme-dark & { + .ion-palette-dark & { --receiveColor: var(--ion-color-medium); } diff --git a/src/features/inbox/messages/Time.tsx b/src/features/inbox/messages/Time.tsx index 8194583d6a..d316459733 100644 --- a/src/features/inbox/messages/Time.tsx +++ b/src/features/inbox/messages/Time.tsx @@ -1,12 +1,11 @@ import { differenceInDays, differenceInHours, format } from "date-fns"; -import { fixLemmyDateString } from "../../../helpers/date"; interface TimeProps { date: string; } export default function Time({ date: dateStr }: TimeProps) { - const date = new Date(fixLemmyDateString(dateStr)); + const date = new Date(dateStr); if (differenceInDays(new Date(), date) > 6) { return <>{format(date, "PP")}; diff --git a/src/features/labels/Ago.tsx b/src/features/labels/Ago.tsx index 9d3704bae1..f8988f2ad5 100644 --- a/src/features/labels/Ago.tsx +++ b/src/features/labels/Ago.tsx @@ -1,5 +1,4 @@ import { formatDistanceToNowStrict } from "date-fns"; -import { fixLemmyDateString } from "../../helpers/date"; interface AgoProps { date: string; @@ -11,14 +10,11 @@ export default function Ago({ date, className }: AgoProps) { } export function formatRelative(date: string): string { - const _date = new Date(fixLemmyDateString(date)); - const relativeDate = formatDistanceToNowStrict(_date, { + const relativeDate = formatDistanceToNowStrict(new Date(date), { addSuffix: false, }); - return `${_date > new Date() ? "-" : ""}${getRelativeDateString( - relativeDate, - )}`; + return getRelativeDateString(relativeDate); } const getRelativeDateString = (relativeDate: string) => { diff --git a/src/features/labels/Edited.tsx b/src/features/labels/Edited.tsx index d5d908739a..7955b12a91 100644 --- a/src/features/labels/Edited.tsx +++ b/src/features/labels/Edited.tsx @@ -3,7 +3,6 @@ import { IonIcon, useIonAlert } from "@ionic/react"; import { pencil } from "ionicons/icons"; import { MouseEvent, useMemo } from "react"; import { formatRelative } from "./Ago"; -import { fixLemmyDateString } from "../../helpers/date"; import { styled } from "@linaria/react"; const Container = styled.div` @@ -45,7 +44,7 @@ export default function Edited({ item, showDate, className }: EditedProps) { if (!edited) return; - const date = new Date(fixLemmyDateString(edited)); + const date = new Date(edited); present({ header: `Edited ${formatRelative(edited)} Ago`, diff --git a/src/features/labels/Handle.tsx b/src/features/labels/Handle.tsx index 279846fa05..ac8d15251c 100644 --- a/src/features/labels/Handle.tsx +++ b/src/features/labels/Handle.tsx @@ -12,13 +12,14 @@ interface HandleProps { item: Pick; } -export default function Handle({ showInstanceWhenRemote, item }: HandleProps) { - return showInstanceWhenRemote ? ( - <> - {item.name} - {!item.local && } - - ) : ( - item.name - ); +export default function Handle(props: HandleProps) { + return <>{...renderHandle(props)}; +} + +export function renderHandle({ showInstanceWhenRemote, item }: HandleProps) { + if (showInstanceWhenRemote && !item.local) + // eslint-disable-next-line react/jsx-key + return [item.name, ]; + + return [item.name]; } diff --git a/src/features/labels/Vote.tsx b/src/features/labels/Vote.tsx index 027c539daa..6345f21bfe 100644 --- a/src/features/labels/Vote.tsx +++ b/src/features/labels/Vote.tsx @@ -4,7 +4,7 @@ import { arrowDownSharp, arrowUpSharp } from "ionicons/icons"; import { voteOnPost } from "../post/postSlice"; import React, { useContext } from "react"; import { voteOnComment } from "../comment/commentSlice"; -import { downvotesDisabled, voteError } from "../../helpers/toastMessages"; +import { downvotesDisabled } from "../../helpers/toastMessages"; import { PageContext } from "../auth/PageContext"; import { calculateTotalScore, @@ -18,6 +18,7 @@ import useHapticFeedback from "../../helpers/useHapticFeedback"; import useAppToast from "../../helpers/useAppToast"; import { formatNumber } from "../../helpers/number"; import { styled } from "@linaria/react"; +import { getVoteErrorMessage } from "../../helpers/lemmyErrors"; const Container = styled.div<{ vote?: 1 | -1 | 0; @@ -91,7 +92,11 @@ export default function Vote({ try { await dispatch(dispatcherFn(id, vote)); } catch (error) { - presentToast(voteError); + presentToast({ + color: "danger", + message: getVoteErrorMessage(error), + }); + throw error; } } diff --git a/src/features/labels/links/AgeBadge.tsx b/src/features/labels/links/AgeBadge.tsx index 9038fa0108..c52473f0d4 100644 --- a/src/features/labels/links/AgeBadge.tsx +++ b/src/features/labels/links/AgeBadge.tsx @@ -1,9 +1,5 @@ import { styled } from "@linaria/react"; -import { - calculateIsCakeDay, - calculateNewAccount, - fixLemmyDateString, -} from "../../../helpers/date"; +import { calculateIsCakeDay, calculateNewAccount } from "../../../helpers/date"; import { useAppSelector } from "../../../store"; import { useMemo } from "react"; import Ago from "../Ago"; @@ -26,7 +22,7 @@ export default function AgeBadge({ published }: AgeBadgeProps) { ); const ageBadgeData = useMemo(() => { - const publishedDate = new Date(fixLemmyDateString(published)); + const publishedDate = new Date(published); if (calculateIsCakeDay(publishedDate)) return { type: "cake" } as const; diff --git a/src/features/labels/links/CommunityLink.tsx b/src/features/labels/links/CommunityLink.tsx index 7e27c4ecbf..a4cdd7f2f4 100644 --- a/src/features/labels/links/CommunityLink.tsx +++ b/src/features/labels/links/CommunityLink.tsx @@ -1,8 +1,8 @@ import { getHandle } from "../../../helpers/lemmy"; import { useBuildGeneralBrowseLink } from "../../../helpers/routes"; import { Community, SubscribedType } from "lemmy-js-client"; -import Handle from "../Handle"; -import { StyledLink, hideCss } from "./shared"; +import { renderHandle } from "../Handle"; +import { LinkContainer, StyledLink, hideCss } from "./shared"; import ItemIcon from "../img/ItemIcon"; import { useIonActionSheet } from "@ionic/react"; import { LongPressOptions, useLongPress } from "use-long-press"; @@ -30,6 +30,7 @@ interface CommunityLinkProps { showInstanceWhenRemote?: boolean; subscribed: SubscribedType; tinyIcon?: boolean; + disableInstanceClick?: boolean; className?: string; } @@ -40,6 +41,7 @@ export default function CommunityLink({ className, subscribed, tinyIcon, + disableInstanceClick, }: CommunityLinkProps) { const [present] = useIonActionSheet(); @@ -93,26 +95,32 @@ export default function CommunityLink({ }); const buildGeneralBrowseLink = useBuildGeneralBrowseLink(); + const [name, instance] = renderHandle({ + item: community, + showInstanceWhenRemote, + }); return ( - { - e.stopPropagation(); - preventOnClickNavigationBug(e); - }} - className={cx(className, hideCommunity ? hideCss : undefined)} + - {showCommunityIcons && !hideCommunity && ( - - )} + { + e.stopPropagation(); + preventOnClickNavigationBug(e); + }} + > + {showCommunityIcons && !hideCommunity && ( + + )} - - + {name} + {!disableInstanceClick && instance} + + {disableInstanceClick && instance} + ); } diff --git a/src/features/labels/links/PersonLink.tsx b/src/features/labels/links/PersonLink.tsx index 82b0afedf7..e5e0d50fe9 100644 --- a/src/features/labels/links/PersonLink.tsx +++ b/src/features/labels/links/PersonLink.tsx @@ -1,7 +1,7 @@ import { getHandle } from "../../../helpers/lemmy"; import { useBuildGeneralBrowseLink } from "../../../helpers/routes"; import { Person } from "lemmy-js-client"; -import Handle from "../Handle"; +import { renderHandle } from "../Handle"; import store, { useAppDispatch, useAppSelector } from "../../../store"; import { OInstanceUrlDisplayMode } from "../../../services/db"; import AgeBadge from "./AgeBadge"; @@ -9,7 +9,7 @@ import { useCallback, useContext } from "react"; import { ShareImageContext } from "../../share/asImage/ShareAsImage"; import { preventOnClickNavigationBug } from "../../../helpers/ionic"; import { styled } from "@linaria/react"; -import { StyledLink, hideCss } from "./shared"; +import { LinkContainer, StyledLink, hideCss } from "./shared"; import { cx } from "@linaria/core"; import { LongPressOptions, useLongPress } from "use-long-press"; import { useIonActionSheet } from "@ionic/react"; @@ -32,6 +32,7 @@ interface PersonLinkProps { showInstanceWhenRemote?: boolean; prefix?: string; showBadge?: boolean; + disableInstanceClick?: boolean; className?: string; } @@ -44,6 +45,7 @@ export default function PersonLink({ showInstanceWhenRemote, prefix, showBadge = true, + disableInstanceClick, }: PersonLinkProps) { const presentToast = useAppToast(); const [presentActionSheet] = useIonActionSheet(); @@ -111,33 +113,46 @@ export default function PersonLink({ color = "var(--ion-color-tertiary-tint)"; else if (opId && person.id === opId) color = "var(--ion-color-primary-fixed)"; - return ( - { - e.stopPropagation(); - preventOnClickNavigationBug(e); - }} - {...bind()} - className={cx(className, hideUsernames ? hideCss : undefined)} - style={{ color }} - > - {prefix ? ( - <> - {prefix}{" "} - - ) : undefined} - + const [handle, instance] = renderHandle({ + showInstanceWhenRemote: showInstanceWhenRemote || forceInstanceUrl, + item: person, + }); + + const end = ( + <> + {instance} {showBadge && ( <> {person.bot_account && " 🤖"} )} - + + ); + + return ( + + { + e.stopPropagation(); + preventOnClickNavigationBug(e); + }} + > + {prefix ? ( + <> + {prefix}{" "} + + ) : undefined} + {handle} + {!disableInstanceClick && end} + + {disableInstanceClick && end} + ); } diff --git a/src/features/labels/links/shared.ts b/src/features/labels/links/shared.ts index 59aef23ab7..cb3c6f15aa 100644 --- a/src/features/labels/links/shared.ts +++ b/src/features/labels/links/shared.ts @@ -2,11 +2,21 @@ import { css } from "@linaria/core"; import { styled } from "@linaria/react"; import { Link } from "react-router-dom"; +export const LinkContainer = styled.span` + display: inline; + + font-weight: 500; + white-space: nowrap; + + text-overflow: ellipsis; + overflow: hidden; + + position: relative; +`; + export const StyledLink = styled(Link)` text-decoration: none; color: inherit; - font-weight: 500; - white-space: nowrap; `; export const hideCss = css` @@ -16,6 +26,6 @@ export const hideCss = css` content: ""; position: absolute; inset: 0; - background: var(--ion-color-step-150, #ccc); + background: var(--ion-background-color-step-150, #ccc); } `; diff --git a/src/features/media/gallery/GalleryProvider.tsx b/src/features/media/gallery/GalleryProvider.tsx index f865644d4b..b8a0896b2a 100644 --- a/src/features/media/gallery/GalleryProvider.tsx +++ b/src/features/media/gallery/GalleryProvider.tsx @@ -12,17 +12,20 @@ import React, { import GalleryPostActions from "./GalleryPostActions"; import { createPortal } from "react-dom"; import { PostView } from "lemmy-js-client"; -import PhotoSwipeLightbox, { PreparedPhotoSwipeOptions } from "photoswipe"; import { getSafeArea, isAndroid, isNative } from "../../../helpers/device"; -import "photoswipe/style.css"; import { useLocation } from "react-router"; import { StatusBar } from "@capacitor/status-bar"; import { setPostRead } from "../../post/postSlice"; import { useAppDispatch } from "../../../store"; import GalleryMedia from "./GalleryMedia"; import ImageMoreActions from "./ImageMoreActions"; + +import type { PreparedPhotoSwipeOptions } from "photoswipe"; import type ZoomLevel from "photoswipe/dist/types/slide/zoom-level"; +import PhotoSwipeLightbox from "photoswipe/lightbox"; + +import "photoswipe/style.css"; interface IGalleryContext { // used for determining whether page needs to be scrolled up first @@ -71,14 +74,16 @@ export default function GalleryProvider({ children }: GalleryProviderProps) { useEffect(() => { if (!lightboxRef.current) return; - lightboxRef.current.close(); + lightboxRef.current.pswp?.close(); }, [location.pathname]); const close = useCallback(() => { if (!lightboxRef.current) return; - lightboxRef.current.options.showHideAnimationType = "fade"; - lightboxRef.current.close(); + if (lightboxRef.current.pswp) + lightboxRef.current.pswp.options.showHideAnimationType = "fade"; + + lightboxRef.current.pswp?.close(); }, []); const open = useCallback( @@ -181,7 +186,7 @@ export default function GalleryProvider({ children }: GalleryProviderProps) { instance.on("tapAction", () => { if (currZoomLevel !== zoomLevel.min) { - instance.zoomTo(zoomLevel.min, undefined, 300); + instance.pswp?.zoomTo(zoomLevel.min, undefined, 300); currZoomLevel = zoomLevel.min; // queueMicrotask, otherwise will be overwritten by internal photoswipe ui toggle @@ -203,9 +208,13 @@ export default function GalleryProvider({ children }: GalleryProviderProps) { function onZoomChange() { if (currZoomLevel <= zoomLevel.min) { - instance.gestures.pswp.element?.classList.add("pswp--ui-visible"); + instance.pswp?.gestures.pswp.element?.classList.add( + "pswp--ui-visible", + ); } else { - instance.gestures.pswp.element?.classList.remove("pswp--ui-visible"); + instance.pswp?.gestures.pswp.element?.classList.remove( + "pswp--ui-visible", + ); } } @@ -232,7 +241,7 @@ export default function GalleryProvider({ children }: GalleryProviderProps) { }); instance.on("uiRegister", function () { - instance.ui?.registerElement({ + instance.pswp?.ui?.registerElement({ appendTo: "root", onInit: (el) => { setActionContainer(el); @@ -315,7 +324,7 @@ export default function GalleryProvider({ children }: GalleryProviderProps) { } if (instance !== null) { - instance.close(); + instance.pswp?.close(); } }; @@ -339,7 +348,7 @@ export default function GalleryProvider({ children }: GalleryProviderProps) { // Android back button logic end // ----------------------------- - instance.init(); + instance.loadAndOpen(0); lightboxRef.current = instance; }, [dispatch], diff --git a/src/features/migrate/MigrateList.tsx b/src/features/migrate/MigrateList.tsx index a0b82a4390..a647d2f6ac 100644 --- a/src/features/migrate/MigrateList.tsx +++ b/src/features/migrate/MigrateList.tsx @@ -1,4 +1,5 @@ import { + IonItem, IonItemOption, IonItemOptions, IonItemSliding, @@ -6,7 +7,6 @@ import { IonList, useIonAlert, } from "@ionic/react"; -import { InsetIonItem } from "../user/Profile"; import { useAppDispatch, useAppSelector } from "../../store"; import { useEffect } from "react"; import { @@ -108,17 +108,17 @@ export default function MigrateList() { Forget - {getPathname(link)} - + ))} - add()} button detail={false}> + add()} button detail={false}> Add multireddit link - + diff --git a/src/features/post/detail/Locked.tsx b/src/features/post/detail/Locked.tsx index f348dd76a0..91727db12f 100644 --- a/src/features/post/detail/Locked.tsx +++ b/src/features/post/detail/Locked.tsx @@ -14,7 +14,7 @@ const Container = styled.div` border-top: 1px solid var( --ion-item-border-color, - var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)) + var(--ion-border-color, var(--ion-background-color-step-250, #c8c7cc)) ); `; diff --git a/src/features/post/inFeed/large/LargePost.tsx b/src/features/post/inFeed/large/LargePost.tsx index c28ece3322..4f6588b0c3 100644 --- a/src/features/post/inFeed/large/LargePost.tsx +++ b/src/features/post/inFeed/large/LargePost.tsx @@ -126,12 +126,14 @@ export default function LargePost({ post }: PostProps) { person={post.creator} showInstanceWhenRemote prefix="by" + disableInstanceClick /> ) : ( )} diff --git a/src/features/post/new/PostEditorRoot.tsx b/src/features/post/new/PostEditorRoot.tsx index 002c51fcaf..8b91a71ed7 100644 --- a/src/features/post/new/PostEditorRoot.tsx +++ b/src/features/post/new/PostEditorRoot.tsx @@ -18,9 +18,8 @@ import { } from "@ionic/react"; import { useEffect, useMemo, useState } from "react"; import useClient from "../../../helpers/useClient"; -import { useAppDispatch, useAppSelector } from "../../../store"; +import { useAppDispatch } from "../../../store"; import { Centered, Spinner } from "../../auth/login/LoginNav"; -import { jwtSelector, urlSelector } from "../../auth/authSelectors"; import { startCase } from "lodash"; import { getHandle, getRemoteHandle } from "../../../helpers/lemmy"; import { cameraOutline, checkmark } from "ionicons/icons"; @@ -126,7 +125,6 @@ export default function PostEditorRoot({ const [postType, setPostType] = useState(initialPostType); const client = useClient(); - const jwt = useAppSelector(jwtSelector); const presentToast = useAppToast(); const [loading, setLoading] = useState(false); const [title, setTitle] = useState(initialTitle); @@ -140,8 +138,6 @@ export default function PostEditorRoot({ ); const [photoUploading, setPhotoUploading] = useState(false); - const instanceUrl = useAppSelector(urlSelector); - const router = useOptimizedIonRouter(); const buildGeneralBrowseLink = useBuildGeneralBrowseLink(); @@ -302,8 +298,6 @@ export default function PostEditorRoot({ } async function receivedImage(image: File) { - if (!jwt) return; - setPhotoPreviewURL(URL.createObjectURL(image)); setPhotoUploading(true); @@ -313,7 +307,7 @@ export default function PostEditorRoot({ if (isAndroid()) await new Promise((resolve) => setTimeout(resolve, 250)); try { - imageUrl = await uploadImage(instanceUrl, jwt, image); + imageUrl = await uploadImage(client, image); } catch (error) { const message = error instanceof Error ? error.message : "Unknown error"; diff --git a/src/features/post/postSlice.ts b/src/features/post/postSlice.ts index 71c634c32c..80d8541b23 100644 --- a/src/features/post/postSlice.ts +++ b/src/features/post/postSlice.ts @@ -7,7 +7,7 @@ import { jwtSelector, } from "../auth/authSelectors"; import { IPostMetadata, db } from "../../services/db"; -import { isLemmyError } from "../../helpers/lemmy"; +import { isLemmyError } from "../../helpers/lemmyErrors"; import { resolvePostReport } from "../moderation/modSlice"; interface PostHiddenData { @@ -279,7 +279,7 @@ export const setPostRead = dispatch(updatePostRead({ postId })); await clientSelector(getState())?.markPostAsRead({ - post_id: postId, + post_ids: [postId], read: true, }); }; @@ -324,10 +324,9 @@ export const getPost = id, }); } catch (error) { - // I think there is a bug in lemmy-js-client where it tries to parse 404 with non-json body if ( isLemmyError(error, "couldnt_find_post") || - error instanceof SyntaxError + isLemmyError(error, "unknown") ) { dispatch(receivedPostNotFound(id)); } @@ -341,24 +340,10 @@ export const getPost = export const deletePost = (id: number) => async (dispatch: AppDispatch, getState: () => RootState) => { - try { - await clientSelector(getState()).deletePost({ - post_id: id, - deleted: true, - }); - } catch (error) { - // I think there is a bug in lemmy-js-client where it tries to parse 404 with non-json body - if ( - isLemmyError(error, "couldnt_find_post") || - error instanceof SyntaxError - ) { - dispatch(receivedPostNotFound(id)); - - return; - } - - throw error; - } + await clientSelector(getState()).deletePost({ + post_id: id, + deleted: true, + }); dispatch(postDeleted(id)); }; diff --git a/src/features/post/shared/Embed.tsx b/src/features/post/shared/Embed.tsx index 3474e906b9..d0cc71df46 100644 --- a/src/features/post/shared/Embed.tsx +++ b/src/features/post/shared/Embed.tsx @@ -62,7 +62,7 @@ const Bottom = styled.div` color: var(--ion-color-text-aside); - .theme-dark & { + .ion-palette-dark & { color: var(--ion-color-medium); } diff --git a/src/features/post/shared/VoteButton.tsx b/src/features/post/shared/VoteButton.tsx index ec054179d3..62493ad37a 100644 --- a/src/features/post/shared/VoteButton.tsx +++ b/src/features/post/shared/VoteButton.tsx @@ -4,7 +4,6 @@ import { useAppDispatch, useAppSelector } from "../../../store"; import { voteOnPost } from "../postSlice"; import { arrowDownSharp, arrowUpSharp } from "ionicons/icons"; import { ActionButton } from "../actions/ActionButton"; -import { voteError } from "../../../helpers/toastMessages"; import { PageContext } from "../../auth/PageContext"; import { isDownvoteEnabledSelector } from "../../auth/siteSlice"; import { bounceAnimationOnTransition, bounceMs } from "../../shared/animations"; @@ -13,6 +12,7 @@ import { ImpactStyle } from "@capacitor/haptics"; import useHapticFeedback from "../../../helpers/useHapticFeedback"; import useAppToast from "../../../helpers/useAppToast"; import { styled } from "@linaria/react"; +import { getVoteErrorMessage } from "../../../helpers/lemmyErrors"; const InactiveItem = styled(ActionButton)` ${bounceAnimationOnTransition} @@ -103,7 +103,10 @@ export function VoteButton({ type, postId }: VoteButtonProps) { voteOnPost(postId, myVote === selectedVote ? 0 : selectedVote), ); } catch (error) { - presentToast(voteError); + presentToast({ + color: "danger", + message: getVoteErrorMessage(error), + }); throw error; } diff --git a/src/features/post/shared/usePostActions.tsx b/src/features/post/shared/usePostActions.tsx index 702bf2756d..3fdcb1775e 100644 --- a/src/features/post/shared/usePostActions.tsx +++ b/src/features/post/shared/usePostActions.tsx @@ -39,7 +39,6 @@ import { postLocked, saveError, saveSuccess, - voteError, } from "../../../helpers/toastMessages"; import { userHandleSelector } from "../../auth/authSelectors"; import useAppToast from "../../../helpers/useAppToast"; @@ -50,6 +49,7 @@ import { isDownvoteEnabledSelector } from "../../auth/siteSlice"; import { resolveObject } from "../../resolve/resolveSlice"; import { compact } from "lodash"; import { InFeedContext } from "../../feed/Feed"; +import { getVoteErrorMessage } from "../../../helpers/lemmyErrors"; export default function usePostActions(post: PostView) { const inFeed = useContext(InFeedContext); @@ -105,7 +105,10 @@ export default function usePostActions(post: PostView) { try { await dispatch(voteOnPost(post.post.id, myVote === 1 ? 0 : 1)); } catch (error) { - presentToast(voteError); + presentToast({ + color: "danger", + message: getVoteErrorMessage(error), + }); throw error; } @@ -124,7 +127,10 @@ export default function usePostActions(post: PostView) { voteOnPost(post.post.id, myVote === -1 ? 0 : -1), ); } catch (error) { - presentToast(voteError); + presentToast({ + color: "danger", + message: getVoteErrorMessage(error), + }); throw error; } diff --git a/src/features/report/Report.tsx b/src/features/report/Report.tsx index afd546d307..c6cbf0118e 100644 --- a/src/features/report/Report.tsx +++ b/src/features/report/Report.tsx @@ -4,7 +4,7 @@ import { forwardRef, useImperativeHandle, useState } from "react"; import useClient from "../../helpers/useClient"; import { IonAlertCustomEvent, OverlayEventDetail } from "@ionic/core"; import useAppToast from "../../helpers/useAppToast"; -import { isLemmyError } from "../../helpers/lemmy"; +import { isLemmyError } from "../../helpers/lemmyErrors"; export type ReportableItem = CommentView | PostView | PrivateMessageView; diff --git a/src/features/resolve/resolveSlice.tsx b/src/features/resolve/resolveSlice.tsx index 2cd65f1970..4abf5a153e 100644 --- a/src/features/resolve/resolveSlice.tsx +++ b/src/features/resolve/resolveSlice.tsx @@ -6,7 +6,7 @@ import { receivedCommunity } from "../community/communitySlice"; import { receivedPosts } from "../post/postSlice"; import { receivedUsers } from "../user/userSlice"; import { PayloadAction, createSlice } from "@reduxjs/toolkit"; -import { isLemmyError } from "../../helpers/lemmy"; +import { isLemmyError } from "../../helpers/lemmyErrors"; import { getClient } from "../../services/lemmy"; import { COMMENT_PATH, diff --git a/src/features/search/RandomCommunity.tsx b/src/features/search/RandomCommunity.tsx index 455c5407dc..d749d88d18 100644 --- a/src/features/search/RandomCommunity.tsx +++ b/src/features/search/RandomCommunity.tsx @@ -1,5 +1,4 @@ -import { IonIcon, IonLabel, IonList } from "@ionic/react"; -import { InsetIonItem } from "../user/Profile"; +import { IonIcon, IonItem, IonLabel, IonList } from "@ionic/react"; import { shuffle } from "ionicons/icons"; import { useAppSelector } from "../../store"; @@ -18,10 +17,10 @@ export default function RandomCommunity() { return ( - + Random Community - + ); } diff --git a/src/features/search/SearchOptions.tsx b/src/features/search/SearchOptions.tsx index 32cbac52a7..ea5c210d16 100644 --- a/src/features/search/SearchOptions.tsx +++ b/src/features/search/SearchOptions.tsx @@ -1,5 +1,5 @@ -import { IonIcon, IonList } from "@ionic/react"; -import { InsetIonItem, SettingLabel } from "../user/Profile"; +import { IonIcon, IonItem, IonList } from "@ionic/react"; +import { SettingLabel } from "../user/Profile"; import { useBuildGeneralBrowseLink } from "../../helpers/routes"; import { albumsOutline, @@ -36,41 +36,39 @@ export default function SearchOptions({ search }: SearchOptionsProps) { <> {type && !autoResolveType && ( - redirectToLemmyObjectIfNeeded(search, e)} detail button > Visit {type} - + )} - + Posts with “{search}” - - + + Comments with “{search}” - - + + Communities with “{search}” - - + + Go to User “{search}” - + {autoResolveType && } diff --git a/src/features/search/TrendingCommunities.tsx b/src/features/search/TrendingCommunities.tsx index 88e95f0985..bf3d890ad4 100644 --- a/src/features/search/TrendingCommunities.tsx +++ b/src/features/search/TrendingCommunities.tsx @@ -1,7 +1,12 @@ -import { IonIcon, IonLabel, IonList, IonListHeader } from "@ionic/react"; +import { + IonIcon, + IonItem, + IonLabel, + IonList, + IonListHeader, +} from "@ionic/react"; import { useBuildGeneralBrowseLink } from "../../helpers/routes"; import { useAppDispatch, useAppSelector } from "../../store"; -import { InsetIonItem } from "../user/Profile"; import { getHandle } from "../../helpers/lemmy"; import { trendingUp } from "ionicons/icons"; import { useEffect } from "react"; @@ -31,7 +36,7 @@ export default function TrendingCommunities() { {trendingCommunities?.map((community) => ( - {getHandle(community.community)} - + ))} ); diff --git a/src/features/settings/app-icon/AppIcon.tsx b/src/features/settings/app-icon/AppIcon.tsx index e068b8a80c..bd27374741 100644 --- a/src/features/settings/app-icon/AppIcon.tsx +++ b/src/features/settings/app-icon/AppIcon.tsx @@ -1,5 +1,6 @@ import { IonBadge, + IonItem, IonLabel, IonList, IonRadio, @@ -7,7 +8,6 @@ import { IonText, IonThumbnail, } from "@ionic/react"; -import { InsetIonItem } from "../shared/formatting"; import { useAppDispatch, useAppSelector } from "../../../store"; import { APP_ICONS, AppIcon, updateAppIcon } from "./appIconSlice"; import { isAndroid } from "../../../helpers/device"; @@ -41,7 +41,7 @@ export default function AppIconComponent() { selectIcon(e.detail.value)}> {APP_ICONS.map((icon) => ( - + selectIcon(icon)}> @@ -63,7 +63,7 @@ export default function AppIconComponent() {

-
+ ))}
diff --git a/src/features/settings/appearance/CompactSettings.tsx b/src/features/settings/appearance/CompactSettings.tsx index a8bd8bfc7e..32b73d9f04 100644 --- a/src/features/settings/appearance/CompactSettings.tsx +++ b/src/features/settings/appearance/CompactSettings.tsx @@ -1,5 +1,4 @@ -import { IonLabel, IonList, IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../user/Profile"; +import { IonItem, IonLabel, IonList, IonToggle } from "@ionic/react"; import { useAppSelector, useAppDispatch } from "../../../store"; import { setCompactShowSelfPostThumbnails, @@ -44,7 +43,7 @@ export default function CompactSettings() { setSelected={setThumbnailPosition} options={OCompactThumbnailPositionType} /> - + @@ -53,8 +52,8 @@ export default function CompactSettings() { > Show Voting Buttons - - + + @@ -63,7 +62,7 @@ export default function CompactSettings() { > Show Self Post Thumbnails - + ); diff --git a/src/features/settings/appearance/LargeSettings.tsx b/src/features/settings/appearance/LargeSettings.tsx index d31e33ebe3..4c355c160a 100644 --- a/src/features/settings/appearance/LargeSettings.tsx +++ b/src/features/settings/appearance/LargeSettings.tsx @@ -1,5 +1,4 @@ -import { IonLabel, IonList, IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../user/Profile"; +import { IonItem, IonLabel, IonList, IonToggle } from "@ionic/react"; import { useAppSelector, useAppDispatch } from "../../../store"; import { setLargeShowVotingButtons } from "../settingsSlice"; import { ListHeader } from "../shared/formatting"; @@ -16,7 +15,7 @@ export default function LargeSettings() { Large Posts - + @@ -25,7 +24,7 @@ export default function LargeSettings() { > Show Voting Buttons - + ); diff --git a/src/features/settings/appearance/TextSize.tsx b/src/features/settings/appearance/TextSize.tsx index 4f2cf99711..94d50c15b4 100644 --- a/src/features/settings/appearance/TextSize.tsx +++ b/src/features/settings/appearance/TextSize.tsx @@ -1,5 +1,4 @@ -import { IonLabel, IonList, IonRange, IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonLabel, IonList, IonRange, IonToggle } from "@ionic/react"; import { useAppDispatch, useAppSelector } from "../../../store"; import { setFontSizeMultiplier, setUseSystemFontSize } from "../settingsSlice"; import { HelperText, ListHeader } from "../shared/formatting"; @@ -47,7 +46,7 @@ export default function TextSize() { Text size - + @@ -56,8 +55,8 @@ export default function TextSize() { > Use System Text Size - - + + A - + {fontSizeMultiplier >= 1.4 && ( - + MAX_REGULAR_FONT_ADJUSTMENT} onIonChange={() => @@ -90,7 +89,7 @@ export default function TextSize() { > Larger Text Mode - + )} Default is two ticks from the left. diff --git a/src/features/settings/appearance/ThemesButton.tsx b/src/features/settings/appearance/ThemesButton.tsx index e72f4bc2e3..ff3c9857bb 100644 --- a/src/features/settings/appearance/ThemesButton.tsx +++ b/src/features/settings/appearance/ThemesButton.tsx @@ -1,5 +1,5 @@ -import { IonIcon, IonLabel, IonList } from "@ionic/react"; -import { InsetIonItem, ListHeader } from "../shared/formatting"; +import { IonIcon, IonItem, IonLabel, IonList } from "@ionic/react"; +import { ListHeader } from "../shared/formatting"; import { IconBg } from "../../../routes/pages/settings/SettingsPage"; import { colorPalette } from "ionicons/icons"; import { SettingLabel } from "../../user/Profile"; @@ -11,12 +11,12 @@ export default function ThemesButton() { Themes - + Themes - + ); diff --git a/src/features/settings/appearance/other/ShowUserInstance.tsx b/src/features/settings/appearance/other/ShowUserInstance.tsx index 7e1c786dbc..3e1860d0e8 100644 --- a/src/features/settings/appearance/other/ShowUserInstance.tsx +++ b/src/features/settings/appearance/other/ShowUserInstance.tsx @@ -1,8 +1,7 @@ -import { IonToggle } from "@ionic/react"; +import { IonItem, IonToggle } from "@ionic/react"; import { useAppDispatch, useAppSelector } from "../../../../store"; import { setUserInstanceUrlDisplay } from "../../settingsSlice"; import { OInstanceUrlDisplayMode } from "../../../../services/db"; -import { InsetIonItem } from "../../shared/formatting"; export default function ShowUserInstance() { const dispatch = useAppDispatch(); @@ -11,7 +10,7 @@ export default function ShowUserInstance() { ); return ( - + @@ -26,6 +25,6 @@ export default function ShowUserInstance() { > Show User Instance - + ); } diff --git a/src/features/settings/appearance/posts/EmbedCrossposts.tsx b/src/features/settings/appearance/posts/EmbedCrossposts.tsx index 43eb9cd826..4094a5b7c6 100644 --- a/src/features/settings/appearance/posts/EmbedCrossposts.tsx +++ b/src/features/settings/appearance/posts/EmbedCrossposts.tsx @@ -1,7 +1,6 @@ import { useAppDispatch, useAppSelector } from "../../../../store"; import { setEmbedCrossposts } from "../../settingsSlice"; -import { InsetIonItem } from "../../shared/formatting"; -import { IonToggle } from "@ionic/react"; +import { IonItem, IonToggle } from "@ionic/react"; export default function EmbedCrossposts() { const dispatch = useAppDispatch(); @@ -10,13 +9,13 @@ export default function EmbedCrossposts() { ); return ( - + dispatch(setEmbedCrossposts(e.detail.checked))} > Embed Crossposts - + ); } diff --git a/src/features/settings/appearance/posts/ShowCommunityIcons.tsx b/src/features/settings/appearance/posts/ShowCommunityIcons.tsx index cc3477b85a..4c064b2636 100644 --- a/src/features/settings/appearance/posts/ShowCommunityIcons.tsx +++ b/src/features/settings/appearance/posts/ShowCommunityIcons.tsx @@ -1,6 +1,5 @@ -import { IonToggle } from "@ionic/react"; +import { IonItem, IonToggle } from "@ionic/react"; import { useAppDispatch, useAppSelector } from "../../../../store"; -import { InsetIonItem } from "../../shared/formatting"; import { setShowCommunityIcons } from "../../settingsSlice"; export default function ShowCommunityIcons() { @@ -10,13 +9,13 @@ export default function ShowCommunityIcons() { ); return ( - + dispatch(setShowCommunityIcons(e.detail.checked))} > Show Community Icons - + ); } diff --git a/src/features/settings/appearance/themes/appTheme/AppTheme.tsx b/src/features/settings/appearance/themes/appTheme/AppTheme.tsx index 9b5a5670bb..e60ee99f30 100644 --- a/src/features/settings/appearance/themes/appTheme/AppTheme.tsx +++ b/src/features/settings/appearance/themes/appTheme/AppTheme.tsx @@ -1,11 +1,12 @@ import { + IonItem, IonLabel, IonList, IonRadio, IonRadioGroup, useIonAlert, } from "@ionic/react"; -import { InsetIonItem, ListHeader } from "../../../shared/formatting"; +import { ListHeader } from "../../../shared/formatting"; import AppThemePreview from "./AppThemePreview"; import { AppThemeType, OAppThemeType } from "../../../../../services/db"; import { useAppDispatch, useAppSelector } from "../../../../../store"; @@ -53,7 +54,7 @@ export default function AppTheme() { > {Object.values(OAppThemeType).map((theme) => ( - + @@ -64,7 +65,7 @@ export default function AppTheme() { - + ))} diff --git a/src/features/settings/appearance/themes/commentsTheme/CommentsTheme.tsx b/src/features/settings/appearance/themes/commentsTheme/CommentsTheme.tsx index 4b948c9b0f..ced594ffb0 100644 --- a/src/features/settings/appearance/themes/commentsTheme/CommentsTheme.tsx +++ b/src/features/settings/appearance/themes/commentsTheme/CommentsTheme.tsx @@ -1,5 +1,11 @@ -import { IonLabel, IonList, IonRadio, IonRadioGroup } from "@ionic/react"; -import { InsetIonItem, ListHeader } from "../../../shared/formatting"; +import { + IonItem, + IonLabel, + IonList, + IonRadio, + IonRadioGroup, +} from "@ionic/react"; +import { ListHeader } from "../../../shared/formatting"; import { OCommentsThemeType } from "../../../../../services/db"; import COMMENT_THEMES from "./values"; import Color from "./Color"; @@ -20,7 +26,7 @@ const Colors = styled.div` gap: 6px; margin: 0 6px; - .theme-dark & { + .ion-palette-dark & { opacity: 0.7; } `; @@ -44,7 +50,7 @@ export default function CommentsTheme() { > {Object.entries(OCommentsThemeType).map(([label, value]) => ( - + - + ))} diff --git a/src/features/settings/appearance/themes/dark/PureBlack.tsx b/src/features/settings/appearance/themes/dark/PureBlack.tsx index c79349a678..ffc3f2fadf 100644 --- a/src/features/settings/appearance/themes/dark/PureBlack.tsx +++ b/src/features/settings/appearance/themes/dark/PureBlack.tsx @@ -1,5 +1,4 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; import { useAppDispatch, useAppSelector } from "../../../../../store"; import { setPureBlack } from "../../../settingsSlice"; @@ -10,13 +9,13 @@ export default function PureBlack() { ); return ( - + dispatch(setPureBlack(e.detail.checked))} > Pure Black Dark Mode - + ); } diff --git a/src/features/settings/appearance/themes/system/DarkMode.tsx b/src/features/settings/appearance/themes/system/DarkMode.tsx index 08807c180c..12e4ae32a2 100644 --- a/src/features/settings/appearance/themes/system/DarkMode.tsx +++ b/src/features/settings/appearance/themes/system/DarkMode.tsx @@ -1,5 +1,4 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; import { useAppDispatch, useAppSelector } from "../../../../../store"; import { setUseSystemDarkMode } from "../../../settingsSlice"; @@ -10,13 +9,13 @@ export default function DarkMode() { ); return ( - + dispatch(setUseSystemDarkMode(e.detail.checked))} > Use System Light/Dark Mode - + ); } diff --git a/src/features/settings/appearance/themes/system/DeviceMode.tsx b/src/features/settings/appearance/themes/system/DeviceMode.tsx index 9c8fb55071..5b8490a672 100644 --- a/src/features/settings/appearance/themes/system/DeviceMode.tsx +++ b/src/features/settings/appearance/themes/system/DeviceMode.tsx @@ -1,7 +1,6 @@ import { Mode } from "@ionic/core"; import { useAppSelector } from "../../../../../store"; -import { InsetIonItem } from "../../../../user/Profile"; -import { IonLabel } from "@ionic/react"; +import { IonItem, IonLabel } from "@ionic/react"; export default function DeviceMode() { const deviceMode = useAppSelector( @@ -10,12 +9,12 @@ export default function DeviceMode() { return ( <> - + Device Mode {getDeviceModeLabel(deviceMode)} - + ); } diff --git a/src/features/settings/appearance/themes/system/QuickSwitchDarkMode.tsx b/src/features/settings/appearance/themes/system/QuickSwitchDarkMode.tsx index 535102bdc2..d450f28d5e 100644 --- a/src/features/settings/appearance/themes/system/QuickSwitchDarkMode.tsx +++ b/src/features/settings/appearance/themes/system/QuickSwitchDarkMode.tsx @@ -1,9 +1,5 @@ -import { IonLabel, IonList, IonToggle } from "@ionic/react"; -import { - HelperText, - InsetIonItem, - ListHeader, -} from "../../../shared/formatting"; +import { IonItem, IonLabel, IonList, IonToggle } from "@ionic/react"; +import { HelperText, ListHeader } from "../../../shared/formatting"; import { useAppDispatch, useAppSelector } from "../../../../../store"; import { setQuickSwitchDarkMode } from "../../../settingsSlice"; @@ -19,7 +15,7 @@ export default function QuickSwitchDarkMode() { Quick Switch - + @@ -28,7 +24,7 @@ export default function QuickSwitchDarkMode() { > Enable Quick Switch - + If enabled, you can long-press the app header to toggle dark mode. diff --git a/src/features/settings/appearance/themes/system/SelectDeviceMode.tsx b/src/features/settings/appearance/themes/system/SelectDeviceMode.tsx index c5eb5330b4..60abe24841 100644 --- a/src/features/settings/appearance/themes/system/SelectDeviceMode.tsx +++ b/src/features/settings/appearance/themes/system/SelectDeviceMode.tsx @@ -1,5 +1,10 @@ -import { IonLabel, IonList, IonRadio, IonRadioGroup } from "@ionic/react"; -import { InsetIonItem } from "../../../../user/Profile"; +import { + IonItem, + IonLabel, + IonList, + IonRadio, + IonRadioGroup, +} from "@ionic/react"; import { getDeviceModeLabel } from "./DeviceMode"; import { useAppDispatch, useAppSelector } from "../../../../../store"; import { useState } from "react"; @@ -26,21 +31,18 @@ export default function SelectDeviceMode() { > {MODES.map((mode) => ( - setSelectedDeviceMode(mode)} - > + setSelectedDeviceMode(mode)}> {getDeviceModeLabel(mode)} - + ))} {selectedDeviceMode !== deviceMode && ( - + Tap to apply changes and reload app - + )} diff --git a/src/features/settings/appearance/themes/system/UserDarkMode.tsx b/src/features/settings/appearance/themes/system/UserDarkMode.tsx index 5301c55678..5ae265a9fd 100644 --- a/src/features/settings/appearance/themes/system/UserDarkMode.tsx +++ b/src/features/settings/appearance/themes/system/UserDarkMode.tsx @@ -1,5 +1,10 @@ -import { IonLabel, IonList, IonRadio, IonRadioGroup } from "@ionic/react"; -import { InsetIonItem } from "../../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { + IonItem, + IonLabel, + IonList, + IonRadio, + IonRadioGroup, +} from "@ionic/react"; import { useAppDispatch, useAppSelector } from "../../../../../store"; import { setUserDarkMode } from "../../../settingsSlice"; import { ListHeader } from "../../../shared/formatting"; @@ -20,12 +25,12 @@ export default function UserDarkMode() { onIonChange={(e) => dispatch(setUserDarkMode(e.detail.value))} > - + Light - - + + Dark - + diff --git a/src/features/settings/biometric/settings/BiometricEnabled.tsx b/src/features/settings/biometric/settings/BiometricEnabled.tsx index 2881ba2c18..eb6b0161cc 100644 --- a/src/features/settings/biometric/settings/BiometricEnabled.tsx +++ b/src/features/settings/biometric/settings/BiometricEnabled.tsx @@ -1,5 +1,4 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../user/Profile"; +import { IonItem, IonToggle } from "@ionic/react"; import BiometricTitle from "../BiometricTitle"; import { useAppDispatch, useAppSelector } from "../../../../store"; import { setBiometricsEnabled } from "../biometricSlice"; @@ -11,13 +10,13 @@ export default function BiometricEnabled() { ); return ( - + dispatch(setBiometricsEnabled(!biometricsEnabled))} > Lock with - + ); } diff --git a/src/features/settings/blocks/BlockedCommunities.tsx b/src/features/settings/blocks/BlockedCommunities.tsx index 104f291c2e..26335a18ef 100644 --- a/src/features/settings/blocks/BlockedCommunities.tsx +++ b/src/features/settings/blocks/BlockedCommunities.tsx @@ -1,4 +1,5 @@ import { + IonItem, IonItemOption, IonItemOptions, IonItemSliding, @@ -6,7 +7,6 @@ import { IonList, IonLoading, } from "@ionic/react"; -import { InsetIonItem } from "../../../routes/pages/profile/ProfileFeedItemsPage"; import { useAppDispatch, useAppSelector } from "../../../store"; import { useState } from "react"; import { getHandle } from "../../../helpers/lemmy"; @@ -54,15 +54,15 @@ export default function BlockedCommunities() { Unblock - + {getHandle(community.community)} - + )) ) : ( - + No blocked communities - + )} diff --git a/src/features/settings/blocks/BlockedInstances.tsx b/src/features/settings/blocks/BlockedInstances.tsx index 4355804415..6da1e3b20d 100644 --- a/src/features/settings/blocks/BlockedInstances.tsx +++ b/src/features/settings/blocks/BlockedInstances.tsx @@ -1,4 +1,5 @@ import { + IonItem, IonItemOption, IonItemOptions, IonItemSliding, @@ -7,7 +8,6 @@ import { IonLoading, useIonModal, } from "@ionic/react"; -import { InsetIonItem } from "../../../routes/pages/profile/ProfileFeedItemsPage"; import { useAppDispatch, useAppSelector } from "../../../store"; import { useContext, useState } from "react"; import { Instance, InstanceBlockView } from "lemmy-js-client"; @@ -71,13 +71,13 @@ export default function BlockedInstances() { Unblock - + {instanceBlock.instance.domain} - + ))} - presentInstanceSelectorModal({ cssClass: "small", @@ -85,7 +85,7 @@ export default function BlockedInstances() { } > Add Instance - + diff --git a/src/features/settings/blocks/BlockedUsers.tsx b/src/features/settings/blocks/BlockedUsers.tsx index 74e4ae504f..2df4b97d59 100644 --- a/src/features/settings/blocks/BlockedUsers.tsx +++ b/src/features/settings/blocks/BlockedUsers.tsx @@ -1,4 +1,5 @@ import { + IonItem, IonItemOption, IonItemOptions, IonItemSliding, @@ -6,7 +7,6 @@ import { IonList, IonLoading, } from "@ionic/react"; -import { InsetIonItem } from "../../../routes/pages/profile/ProfileFeedItemsPage"; import { useAppDispatch, useAppSelector } from "../../../store"; import { useState } from "react"; import { getHandle } from "../../../helpers/lemmy"; @@ -55,15 +55,15 @@ export default function BlockedUsers() { Unblock - + {getHandle(user.target)} - + )) ) : ( - + No blocked users - + )} diff --git a/src/features/settings/blocks/FilterNsfw.tsx b/src/features/settings/blocks/FilterNsfw.tsx index 1058c3aa9c..679883909f 100644 --- a/src/features/settings/blocks/FilterNsfw.tsx +++ b/src/features/settings/blocks/FilterNsfw.tsx @@ -1,5 +1,10 @@ -import { IonLabel, IonList, IonLoading, IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../routes/pages/profile/ProfileFeedItemsPage"; +import { + IonItem, + IonLabel, + IonList, + IonLoading, + IonToggle, +} from "@ionic/react"; import { useAppDispatch, useAppSelector } from "../../../store"; import { localUserSelector, showNsfw } from "../../auth/siteSlice"; import { useState } from "react"; @@ -16,7 +21,7 @@ export default function FilterNsfw() { NSFW - + { @@ -30,7 +35,7 @@ export default function FilterNsfw() { > Hide all NSFW - + diff --git a/src/features/settings/blocks/FilteredKeywords.tsx b/src/features/settings/blocks/FilteredKeywords.tsx index 98ae081094..683dc20874 100644 --- a/src/features/settings/blocks/FilteredKeywords.tsx +++ b/src/features/settings/blocks/FilteredKeywords.tsx @@ -1,4 +1,5 @@ import { + IonItem, IonItemOption, IonItemOptions, IonItemSliding, @@ -6,7 +7,6 @@ import { IonList, useIonAlert, } from "@ionic/react"; -import { InsetIonItem } from "../../../routes/pages/profile/ProfileFeedItemsPage"; import { useAppDispatch, useAppSelector } from "../../../store"; import { ListHeader } from "../shared/formatting"; import { updateFilteredKeywords } from "../settingsSlice"; @@ -67,16 +67,16 @@ export default function FilteredKeywords() { Unfilter - + {keyword} - + ))} - + Add Keyword - + diff --git a/src/features/settings/general/comments/DefaultSort.tsx b/src/features/settings/general/comments/DefaultSort.tsx index 65c47d9b33..0d9b34f497 100644 --- a/src/features/settings/general/comments/DefaultSort.tsx +++ b/src/features/settings/general/comments/DefaultSort.tsx @@ -4,25 +4,18 @@ import { setDefaultCommentSort } from "../../settingsSlice"; import SettingSelector from "../../shared/SettingSelector"; import { getSortIcon } from "../../../comment/CommentSort"; import { mapValues } from "lodash"; -import useSupported from "../../../../helpers/useSupported"; export default function DefaultSort() { const defaultCommentSort = useAppSelector( (state) => state.settings.general.comments.sort, ); - const newSorts = useSupported("v0.19 Sorts"); - - const options: Partial = { - ...OCommentDefaultSort, - }; - if (!newSorts) delete options["Controversial"]; return ( ); diff --git a/src/features/settings/general/comments/HighlightNewAccount.tsx b/src/features/settings/general/comments/HighlightNewAccount.tsx index 76313adc59..174b4bc8f1 100644 --- a/src/features/settings/general/comments/HighlightNewAccount.tsx +++ b/src/features/settings/general/comments/HighlightNewAccount.tsx @@ -1,5 +1,5 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; + import { useAppDispatch, useAppSelector } from "../../../../store"; import { setHighlightNewAccount } from "../../settingsSlice"; @@ -11,13 +11,13 @@ export default function HighlightNewAccount() { ); return ( - + dispatch(setHighlightNewAccount(e.detail.checked))} > New Account Highlightenator - + ); } diff --git a/src/features/settings/general/comments/ShowCollapsed.tsx b/src/features/settings/general/comments/ShowCollapsed.tsx index d28ee513d7..e7294c6cc0 100644 --- a/src/features/settings/general/comments/ShowCollapsed.tsx +++ b/src/features/settings/general/comments/ShowCollapsed.tsx @@ -1,6 +1,5 @@ -import { IonToggle } from "@ionic/react"; +import { IonItem, IonToggle } from "@ionic/react"; import { useAppDispatch, useAppSelector } from "../../../../store"; -import { InsetIonItem } from "../../shared/formatting"; import { setShowCollapsedComment } from "../../settingsSlice"; export default function ShowCollapsed() { @@ -10,13 +9,13 @@ export default function ShowCollapsed() { ); return ( - + dispatch(setShowCollapsedComment(e.detail.checked))} > Show Collapsed Comment - + ); } diff --git a/src/features/settings/general/comments/ShowCommentImages.tsx b/src/features/settings/general/comments/ShowCommentImages.tsx index d754572676..10162227e7 100644 --- a/src/features/settings/general/comments/ShowCommentImages.tsx +++ b/src/features/settings/general/comments/ShowCommentImages.tsx @@ -1,5 +1,5 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; + import { useAppDispatch, useAppSelector } from "../../../../store"; import { setShowCommentImages } from "../../settingsSlice"; @@ -11,13 +11,13 @@ export default function ShowCommentImages() { ); return ( - + dispatch(setShowCommentImages(e.detail.checked))} > Show Comment Images - + ); } diff --git a/src/features/settings/general/comments/ShowJumpButton.tsx b/src/features/settings/general/comments/ShowJumpButton.tsx index 52dc7556b9..3ba93655a2 100644 --- a/src/features/settings/general/comments/ShowJumpButton.tsx +++ b/src/features/settings/general/comments/ShowJumpButton.tsx @@ -1,5 +1,5 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; + import { useAppDispatch, useAppSelector } from "../../../../store"; import { setShowJumpButton } from "../../settingsSlice"; @@ -11,13 +11,13 @@ export default function ShowJumpButton() { ); return ( - + dispatch(setShowJumpButton(e.detail.checked))} > Show Jump Button - + ); } diff --git a/src/features/settings/general/comments/TouchFriendlyLinks.tsx b/src/features/settings/general/comments/TouchFriendlyLinks.tsx index b1fbecdcc9..fbde00b5e7 100644 --- a/src/features/settings/general/comments/TouchFriendlyLinks.tsx +++ b/src/features/settings/general/comments/TouchFriendlyLinks.tsx @@ -1,5 +1,5 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; + import { useAppDispatch, useAppSelector } from "../../../../store"; import { setTouchFriendlyLinks } from "../../settingsSlice"; @@ -11,13 +11,13 @@ export default function TouchFriendlyLinks() { ); return ( - + dispatch(setTouchFriendlyLinks(e.detail.checked))} > Touch Friendly Links - + ); } diff --git a/src/features/settings/general/hiding/DisableMarkingRead.tsx b/src/features/settings/general/hiding/DisableMarkingRead.tsx index 099ea2be0e..3feed4fbf3 100644 --- a/src/features/settings/general/hiding/DisableMarkingRead.tsx +++ b/src/features/settings/general/hiding/DisableMarkingRead.tsx @@ -1,5 +1,5 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; + import { useAppDispatch, useAppSelector } from "../../../../store"; import { setDisableMarkingPostsRead } from "../../settingsSlice"; @@ -10,7 +10,7 @@ export default function DisableMarkingRead() { ); return ( - + @@ -19,6 +19,6 @@ export default function DisableMarkingRead() { > Disable Marking Posts Read - + ); } diff --git a/src/features/settings/general/hiding/MarkReadOnScroll.tsx b/src/features/settings/general/hiding/MarkReadOnScroll.tsx index ca71475b3e..6e0318c881 100644 --- a/src/features/settings/general/hiding/MarkReadOnScroll.tsx +++ b/src/features/settings/general/hiding/MarkReadOnScroll.tsx @@ -1,5 +1,5 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; + import { useAppDispatch, useAppSelector } from "../../../../store"; import { setMarkPostsReadOnScroll } from "../../settingsSlice"; @@ -10,7 +10,7 @@ export default function MarkReadOnScroll() { ); return ( - + @@ -19,6 +19,6 @@ export default function MarkReadOnScroll() { > Mark Read on Scroll - + ); } diff --git a/src/features/settings/general/hiding/ShowHiddenInCommunities.tsx b/src/features/settings/general/hiding/ShowHiddenInCommunities.tsx index 0ef62ba020..5bfa503bbe 100644 --- a/src/features/settings/general/hiding/ShowHiddenInCommunities.tsx +++ b/src/features/settings/general/hiding/ShowHiddenInCommunities.tsx @@ -1,5 +1,5 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; + import { useAppDispatch, useAppSelector } from "../../../../store"; import { setShowHiddenInCommunities } from "../../settingsSlice"; @@ -10,7 +10,7 @@ export default function ShowHiddenInCommunities() { ); return ( - + @@ -19,6 +19,6 @@ export default function ShowHiddenInCommunities() { > Show Hidden in Communities - + ); } diff --git a/src/features/settings/general/hiding/ShowHideReadButton.tsx b/src/features/settings/general/hiding/ShowHideReadButton.tsx index e9424edafc..3f9bd566a3 100644 --- a/src/features/settings/general/hiding/ShowHideReadButton.tsx +++ b/src/features/settings/general/hiding/ShowHideReadButton.tsx @@ -1,5 +1,5 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; + import { useAppDispatch, useAppSelector } from "../../../../store"; import { setShowHideReadButton } from "../../settingsSlice"; @@ -10,13 +10,13 @@ export default function ShowHideReadButton() { ); return ( - + dispatch(setShowHideReadButton(e.detail.checked))} > Show Hide Read Button - + ); } diff --git a/src/features/settings/general/hiding/autoHide/AutoHideRead.tsx b/src/features/settings/general/hiding/autoHide/AutoHideRead.tsx index 5eaf45cdf8..9553c93dbb 100644 --- a/src/features/settings/general/hiding/autoHide/AutoHideRead.tsx +++ b/src/features/settings/general/hiding/autoHide/AutoHideRead.tsx @@ -1,5 +1,4 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; import { useAppDispatch, useAppSelector } from "../../../../../store"; import { setAutoHideRead } from "../../../settingsSlice"; @@ -10,13 +9,13 @@ export default function AutoHideRead() { ); return ( - + dispatch(setAutoHideRead(e.detail.checked))} > Auto Hide Read Posts - + ); } diff --git a/src/features/settings/general/hiding/autoHide/DisableInCommunities.tsx b/src/features/settings/general/hiding/autoHide/DisableInCommunities.tsx index 9e5dd71437..f837f3109c 100644 --- a/src/features/settings/general/hiding/autoHide/DisableInCommunities.tsx +++ b/src/features/settings/general/hiding/autoHide/DisableInCommunities.tsx @@ -1,5 +1,4 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; import { useAppDispatch, useAppSelector } from "../../../../../store"; import { setDisableAutoHideInCommunities } from "../../../settingsSlice"; @@ -10,7 +9,7 @@ export default function DisableInCommunities() { ); return ( - + @@ -19,6 +18,6 @@ export default function DisableInCommunities() { > Disable in Communities - + ); } diff --git a/src/features/settings/general/other/ClearCache.tsx b/src/features/settings/general/other/ClearCache.tsx index a14040ff56..1bfce651a1 100644 --- a/src/features/settings/general/other/ClearCache.tsx +++ b/src/features/settings/general/other/ClearCache.tsx @@ -1,6 +1,5 @@ import { ClearCache as CapClearCache } from "capacitor-clear-cache"; -import { InsetIonItem } from "../../shared/formatting"; -import { IonLabel, IonLoading, useIonAlert } from "@ionic/react"; +import { IonItem, IonLabel, IonLoading, useIonAlert } from "@ionic/react"; import { isAppleDeviceInstallable, isNative } from "../../../../helpers/device"; import { useState } from "react"; import useAppToast from "../../../../helpers/useAppToast"; @@ -52,9 +51,9 @@ export default function ClearCache() { return ( <> - + Clear Cache - + ); } diff --git a/src/features/settings/general/other/DefaultFeed.tsx b/src/features/settings/general/other/DefaultFeed.tsx index 1927004d43..93a6c75e99 100644 --- a/src/features/settings/general/other/DefaultFeed.tsx +++ b/src/features/settings/general/other/DefaultFeed.tsx @@ -17,7 +17,6 @@ import { CommunityView } from "lemmy-js-client"; import { useContext } from "react"; import { PageContext } from "../../../auth/PageContext"; import { getHandle } from "../../../../helpers/lemmy"; -import useSupported from "../../../../helpers/useSupported"; export default function DefaultFeed() { const dispatch = useAppDispatch(); @@ -27,7 +26,6 @@ export default function DefaultFeed() { const loggedIn = useAppSelector(loggedInSelector); const handle = useAppSelector(handleSelector); const { pageRef } = useContext(PageContext); - const moderatedFeedSupported = useSupported("Modded Feed"); const [presentCommunitySelectorModal, onDismiss] = useIonModal( CommunitySelectorModal, @@ -48,10 +46,8 @@ export default function DefaultFeed() { }, ); - // When lemmy v0.18 support removed, this can be removed // eslint-disable-next-line @typescript-eslint/no-explicit-any const options: any = { ...ODefaultFeedType }; - if (!moderatedFeedSupported) delete options["Moderating"]; if (!loggedIn) { delete options["Home"]; @@ -85,9 +81,7 @@ export default function DefaultFeed() { getSelectedLabel={(option) => { if (option === ODefaultFeedType.CommunityList) return "List"; if (option === ODefaultFeedType.Community) - // TODO SettingSelector should handle being passed a non-string item - // eslint-disable-next-line @typescript-eslint/no-explicit-any - return `c/${(defaultFeed as any).name}`; + if ("name" in defaultFeed) return `c/${defaultFeed.name}`; }} /> ); diff --git a/src/features/settings/general/other/Haptics.tsx b/src/features/settings/general/other/Haptics.tsx index 2cd15e566c..542a5b622a 100644 --- a/src/features/settings/general/other/Haptics.tsx +++ b/src/features/settings/general/other/Haptics.tsx @@ -1,5 +1,5 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; + import { useAppDispatch, useAppSelector } from "../../../../store"; import { setEnableHapticFeedback } from "../../settingsSlice"; import { isNative } from "../../../../helpers/device"; @@ -14,13 +14,13 @@ export default function Haptics() { if (!isNative() && !("vibrate" in window.navigator)) return; return ( - + dispatch(setEnableHapticFeedback(e.detail.checked))} > Haptic Feedback - + ); } diff --git a/src/features/settings/general/other/NoSubscribedInFeed.tsx b/src/features/settings/general/other/NoSubscribedInFeed.tsx index 96b8dbacf8..3febf3ae84 100644 --- a/src/features/settings/general/other/NoSubscribedInFeed.tsx +++ b/src/features/settings/general/other/NoSubscribedInFeed.tsx @@ -1,5 +1,5 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; + import { useAppDispatch, useAppSelector } from "../../../../store"; import { setNoSubscribedInFeed } from "../../settingsSlice"; @@ -10,13 +10,13 @@ export default function NoSubscribedInFeed() { ); return ( - + dispatch(setNoSubscribedInFeed(e.detail.checked))} > No Subscribed in All/Local - + ); } diff --git a/src/features/settings/general/other/OpenNativeApps.tsx b/src/features/settings/general/other/OpenNativeApps.tsx index 45b6a7f2a8..951bf64e10 100644 --- a/src/features/settings/general/other/OpenNativeApps.tsx +++ b/src/features/settings/general/other/OpenNativeApps.tsx @@ -1,5 +1,5 @@ -import { IonToggle, useIonAlert } from "@ionic/react"; -import { InsetIonItem } from "../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle, useIonAlert } from "@ionic/react"; + import { useAppDispatch, useAppSelector } from "../../../../store"; import { setPreferNativeApps } from "../../settingsSlice"; import { isAndroid, isNative, ua } from "../../../../helpers/device"; @@ -26,7 +26,7 @@ export default function OpenNativeApps() { if (platformNotSupported) return; return ( - { if (!configurationNotSupported) return; @@ -48,6 +48,6 @@ export default function OpenNativeApps() { > Prefer Opening Native Apps - + ); } diff --git a/src/features/settings/general/posts/DefaultSort.tsx b/src/features/settings/general/posts/DefaultSort.tsx index f81ebc86d3..3e0fa31b02 100644 --- a/src/features/settings/general/posts/DefaultSort.tsx +++ b/src/features/settings/general/posts/DefaultSort.tsx @@ -5,8 +5,7 @@ import { isTopSort, useSelectPostSort, } from "../../../feed/PostSort"; -import { InsetIonItem } from "../../shared/formatting"; -import { IonLabel } from "@ionic/react"; +import { IonItem, IonLabel } from "@ionic/react"; import { SortType } from "lemmy-js-client"; import { startCase } from "lodash"; @@ -21,16 +20,12 @@ export default function DefaultSort() { }); return ( - present(defaultPostSort)} - detail={false} - > + present(defaultPostSort)} detail={false}> Default Sort {formatPostSort(defaultPostSort)} - + ); } diff --git a/src/features/settings/general/posts/InfiniteScrolling.tsx b/src/features/settings/general/posts/InfiniteScrolling.tsx index f3f265e8df..18e3f4478f 100644 --- a/src/features/settings/general/posts/InfiniteScrolling.tsx +++ b/src/features/settings/general/posts/InfiniteScrolling.tsx @@ -1,5 +1,5 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; + import { useAppDispatch, useAppSelector } from "../../../../store"; import { setInfiniteScrolling } from "../../settingsSlice"; @@ -10,13 +10,13 @@ export default function InfiniteScrolling() { ); return ( - + dispatch(setInfiniteScrolling(e.detail.checked))} > Infinite Scrolling - + ); } diff --git a/src/features/settings/general/posts/Posts.tsx b/src/features/settings/general/posts/Posts.tsx index 873f0b6000..c65460befd 100644 --- a/src/features/settings/general/posts/Posts.tsx +++ b/src/features/settings/general/posts/Posts.tsx @@ -1,5 +1,4 @@ -import { IonLabel, IonList } from "@ionic/react"; -import { InsetIonItem } from "../../../user/Profile"; +import { IonItem, IonLabel, IonList } from "@ionic/react"; import { ListHeader } from "../../shared/formatting"; import InfiniteScrolling from "./InfiniteScrolling"; import UpvoteOnSave from "./UpvoteOnSave"; @@ -14,11 +13,11 @@ export default function Posts() { Posts - + Mark Read / Hiding Posts - + diff --git a/src/features/settings/general/posts/RememberCommunitySort.tsx b/src/features/settings/general/posts/RememberCommunitySort.tsx index 5d5838b62f..814aa8943d 100644 --- a/src/features/settings/general/posts/RememberCommunitySort.tsx +++ b/src/features/settings/general/posts/RememberCommunitySort.tsx @@ -1,5 +1,5 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; + import { useAppDispatch, useAppSelector } from "../../../../store"; import { setRememberCommunitySort } from "../../settingsSlice"; @@ -10,7 +10,7 @@ export default function RememberCommunitySort() { ); return ( - + @@ -19,6 +19,6 @@ export default function RememberCommunitySort() { > Remember Community Sort - + ); } diff --git a/src/features/settings/general/posts/UpvoteOnSave.tsx b/src/features/settings/general/posts/UpvoteOnSave.tsx index 44d1a40165..467e2c13d7 100644 --- a/src/features/settings/general/posts/UpvoteOnSave.tsx +++ b/src/features/settings/general/posts/UpvoteOnSave.tsx @@ -1,5 +1,5 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; + import { useAppDispatch, useAppSelector } from "../../../../store"; import { setUpvoteOnSave } from "../../settingsSlice"; @@ -10,13 +10,13 @@ export default function UpvoteOnSave() { ); return ( - + dispatch(setUpvoteOnSave(e.detail.checked))} > Upvote on Save - + ); } diff --git a/src/features/settings/general/safari/AlwaysUseReaderMode.tsx b/src/features/settings/general/safari/AlwaysUseReaderMode.tsx index f97ef56a0f..61e0a57d3c 100644 --- a/src/features/settings/general/safari/AlwaysUseReaderMode.tsx +++ b/src/features/settings/general/safari/AlwaysUseReaderMode.tsx @@ -1,5 +1,5 @@ -import { IonToggle } from "@ionic/react"; -import { InsetIonItem } from "../../../../routes/pages/profile/ProfileFeedItemsPage"; +import { IonItem, IonToggle } from "@ionic/react"; + import { useAppDispatch, useAppSelector } from "../../../../store"; import { setAlwaysUseReaderMode } from "../../settingsSlice"; @@ -10,13 +10,13 @@ export default function AlwaysUseReaderMode() { ); return ( - + dispatch(setAlwaysUseReaderMode(e.detail.checked))} > Always Use Reader Mode - + ); } diff --git a/src/features/settings/gestures/SwipeSettings.tsx b/src/features/settings/gestures/SwipeSettings.tsx index adebdb81ff..09c6a5c00c 100644 --- a/src/features/settings/gestures/SwipeSettings.tsx +++ b/src/features/settings/gestures/SwipeSettings.tsx @@ -1,5 +1,11 @@ -import { IonActionSheet, IonLabel, IonList, IonToggle } from "@ionic/react"; -import { InsetIonItem, ListHeader } from "../shared/formatting"; +import { + IonActionSheet, + IonItem, + IonLabel, + IonList, + IonToggle, +} from "@ionic/react"; +import { ListHeader } from "../shared/formatting"; import { useAppDispatch, useAppSelector } from "../../../store"; import { OSwipeActionPost, @@ -105,7 +111,7 @@ export default function SwipeSettings() { Other - + @@ -114,8 +120,8 @@ export default function SwipeSettings() { > Disable Left Swipes - - + + @@ -124,7 +130,7 @@ export default function SwipeSettings() { > Disable Right Swipes - + - setOpen(true)} detail={false}> + setOpen(true)} detail={false}> Reset All Gestures - + diff --git a/src/features/settings/root/DatabaseErrorItem.tsx b/src/features/settings/root/DatabaseErrorItem.tsx index 3f98e39b23..da6e36e10e 100644 --- a/src/features/settings/root/DatabaseErrorItem.tsx +++ b/src/features/settings/root/DatabaseErrorItem.tsx @@ -1,5 +1,4 @@ -import { IonBadge, IonIcon, IonList, useIonModal } from "@ionic/react"; -import { InsetIonItem } from "../shared/formatting"; +import { IonBadge, IonIcon, IonItem, IonList, useIonModal } from "@ionic/react"; import { IconBg } from "../../../routes/pages/settings/SettingsPage"; import { SettingLabel } from "../../user/Profile"; import { alert } from "ionicons/icons"; @@ -23,13 +22,13 @@ export default function DatabaseErrorItem() { return ( - + Error — App limited ! - + ); } diff --git a/src/features/settings/shared/SettingSelector.tsx b/src/features/settings/shared/SettingSelector.tsx index 3d600fb3d0..0df01239e0 100644 --- a/src/features/settings/shared/SettingSelector.tsx +++ b/src/features/settings/shared/SettingSelector.tsx @@ -3,11 +3,10 @@ import { IonActionSheetCustomEvent, OverlayEventDetail, } from "@ionic/core"; -import { IonActionSheet, IonLabel } from "@ionic/react"; +import { IonActionSheet, IonItem, IonLabel } from "@ionic/react"; import { startCase } from "lodash"; import React, { useState } from "react"; import { Dispatchable, useAppDispatch } from "../../../store"; -import { InsetIonItem } from "./formatting"; import { css, cx } from "@linaria/core"; const iconCss = css` @@ -69,7 +68,7 @@ export default function SettingSelector< })); return ( - setOpen(true)} disabled={disabled} @@ -100,6 +99,6 @@ export default function SettingSelector< header={openTitle ?? title} buttons={buttons} /> - + ); } diff --git a/src/features/settings/shared/formatting.ts b/src/features/settings/shared/formatting.ts index b522af415c..53a303c442 100644 --- a/src/features/settings/shared/formatting.ts +++ b/src/features/settings/shared/formatting.ts @@ -1,5 +1,4 @@ import { styled } from "@linaria/react"; -import { IonItem } from "@ionic/react"; export const ListHeader = styled.div` font-size: 0.8em; @@ -8,10 +7,6 @@ export const ListHeader = styled.div` color: var(--ion-color-medium); `; -export const InsetIonItem = styled(IonItem)` - --background: var(--ion-tab-bar-background, var(--ion-color-step-50, #fff)); -`; - export const HelperText = styled.div` margin: 0 32px; font-size: 0.875em; diff --git a/src/features/share/asImage/ShareAsImage.tsx b/src/features/share/asImage/ShareAsImage.tsx index 18468bfc0d..b8599116cf 100644 --- a/src/features/share/asImage/ShareAsImage.tsx +++ b/src/features/share/asImage/ShareAsImage.tsx @@ -74,7 +74,7 @@ const PlaceholderImg = styled.div` background: white; - .theme-dark & { + .ion-palette-dark & { background: black; } diff --git a/src/features/share/asImage/ShareAsImageModal.tsx b/src/features/share/asImage/ShareAsImageModal.tsx index 9e1800a333..f7bcfde3bf 100644 --- a/src/features/share/asImage/ShareAsImageModal.tsx +++ b/src/features/share/asImage/ShareAsImageModal.tsx @@ -26,7 +26,7 @@ interface SelectTextProps { } const Content = styled.div` - background: var(--ion-color-step-50, #f2f2f7); + background: var(--ion-background-color-step-50, #f2f2f7); `; export default function ShareAsImageModal({ diff --git a/src/features/shared/AppHeader.tsx b/src/features/shared/AppHeader.tsx index 9cd0531169..47cd3998e3 100644 --- a/src/features/shared/AppHeader.tsx +++ b/src/features/shared/AppHeader.tsx @@ -1,10 +1,11 @@ -import { ComponentProps, useCallback, useEffect, useRef } from "react"; +import { ComponentProps } from "react"; import { LongPressCallback, useLongPress } from "use-long-press"; import store from "../../store"; import { setUserDarkMode } from "../settings/settingsSlice"; // eslint-disable-next-line no-restricted-imports import { IonHeader } from "@ionic/react"; +import { onFinishStopClick } from "../../helpers/longPress"; export default function AppHeader(props: ComponentProps) { if (props.collapse) return ; @@ -13,48 +14,22 @@ export default function AppHeader(props: ComponentProps) { } function UncollapsedAppHeader(props: ComponentProps) { - const headerRef = useRef(null); - const cancelledTimeRef = useRef(0); - - const onLongPress: LongPressCallback = useCallback((e) => { - if (e.target instanceof HTMLElement && e.target.tagName === "INPUT") return; - - const { usingSystemDarkMode, userDarkMode, quickSwitch } = - store.getState().settings.appearance.dark; - - if (!quickSwitch) return; - if (usingSystemDarkMode) return; - - store.dispatch(setUserDarkMode(!userDarkMode)); - }, []); - - const onCancel = useCallback(() => { - cancelledTimeRef.current = Date.now(); - }, []); - - const bind = useLongPress(onLongPress, { + const bind = useLongPress(onLongPressHeader, { cancelOnMovement: 15, - onCancel, + onFinish: onFinishStopClick, }); - useEffect(() => { - const header = headerRef.current; - if (!header) return; - - const onClick = (e: MouseEvent) => { - // this isn't great, but I don't have a better solution atm - if (Date.now() - cancelledTimeRef.current < 150) return; + return ; +} - e.stopImmediatePropagation(); - }; +const onLongPressHeader: LongPressCallback = (e) => { + if (e.target instanceof HTMLElement && e.target.tagName === "INPUT") return; - // can't simply react onClick. Synthetic doesn't work properly (Ionic issue?) - header.addEventListener("click", onClick); + const { usingSystemDarkMode, userDarkMode, quickSwitch } = + store.getState().settings.appearance.dark; - return () => { - header.removeEventListener("click", onClick); - }; - }, []); + if (!quickSwitch) return; + if (usingSystemDarkMode) return; - return ; -} + store.dispatch(setUserDarkMode(!userDarkMode)); +}; diff --git a/src/features/shared/SelectTextModal.tsx b/src/features/shared/SelectTextModal.tsx index 13f35166c0..c31a9b7872 100644 --- a/src/features/shared/SelectTextModal.tsx +++ b/src/features/shared/SelectTextModal.tsx @@ -26,7 +26,7 @@ const Container = styled.div` display: flex; - html.ios:not(.theme-dark) & { + html.ios:not(.ion-palette-dark) & { background: var(--ion-item-background); } `; diff --git a/src/features/shared/markdown/Markdown.tsx b/src/features/shared/markdown/Markdown.tsx index 0b34e8a557..65cef64e49 100644 --- a/src/features/shared/markdown/Markdown.tsx +++ b/src/features/shared/markdown/Markdown.tsx @@ -26,14 +26,15 @@ const markdownCss = css` blockquote { padding-left: 0.5rem; - border-left: 3px solid var(--ion-color-light); + border-left: 3px solid + var(--ion-border-color, var(--ion-background-color-step-250, #c8c7cc)); margin-left: 0; } hr { background-color: var( --ion-border-color, - var(--ion-color-step-250, #c8c7cc) + var(--ion-background-color-step-250, #c8c7cc) ); min-width: min(100%, 100px); diff --git a/src/features/shared/markdown/editing/Editor.tsx b/src/features/shared/markdown/editing/Editor.tsx index f7e51d02b4..ff920d381f 100644 --- a/src/features/shared/markdown/editing/Editor.tsx +++ b/src/features/shared/markdown/editing/Editor.tsx @@ -51,7 +51,7 @@ export const Textarea = styled(TextareaAutosizedForOnScreenKeyboard)` flex: 1 0 auto; - html.ios:not(.theme-dark) & { + html.ios:not(.ion-palette-dark) & { background: var(--ion-item-background); } `; diff --git a/src/features/shared/markdown/editing/MarkdownToolbar.tsx b/src/features/shared/markdown/editing/MarkdownToolbar.tsx index 7ffb916191..74ca79b2ba 100644 --- a/src/features/shared/markdown/editing/MarkdownToolbar.tsx +++ b/src/features/shared/markdown/editing/MarkdownToolbar.tsx @@ -48,7 +48,7 @@ const Toolbar = styled.div<{ keyboardOpen: boolean }>` background: var(--ion-item-background, #fff); - .theme-dark & { + .ion-palette-dark & { background: var(--ion-background-color); } diff --git a/src/features/shared/markdown/editing/useUploadImage.tsx b/src/features/shared/markdown/editing/useUploadImage.tsx index 2b1c97e7bd..83f7a8785e 100644 --- a/src/features/shared/markdown/editing/useUploadImage.tsx +++ b/src/features/shared/markdown/editing/useUploadImage.tsx @@ -1,28 +1,24 @@ import { useState } from "react"; import useAppToast from "../../../../helpers/useAppToast"; -import { useAppSelector } from "../../../../store"; -import { jwtSelector, urlSelector } from "../../../auth/authSelectors"; import { uploadImage } from "../../../../services/lemmy"; import { IonLoading } from "@ionic/react"; +import useClient from "../../../../helpers/useClient"; export default function useUploadImage() { const presentToast = useAppToast(); - const jwt = useAppSelector(jwtSelector); - const instanceUrl = useAppSelector(urlSelector); + const client = useClient(); const [imageUploading, setImageUploading] = useState(false); return { jsx: , uploadImage: async (image: File) => { - if (!jwt) throw new Error("jwt expected for image upload"); - setImageUploading(true); let imageUrl: string; try { - imageUrl = await uploadImage(instanceUrl, jwt, image); + imageUrl = await uploadImage(client, image); } catch (error) { const message = error instanceof Error ? error.message : "Unknown error"; diff --git a/src/features/shared/sliding/BaseSlidingVote.tsx b/src/features/shared/sliding/BaseSlidingVote.tsx index 1e12c8d5ce..45e3f50936 100644 --- a/src/features/shared/sliding/BaseSlidingVote.tsx +++ b/src/features/shared/sliding/BaseSlidingVote.tsx @@ -28,7 +28,6 @@ import { postLocked, replyStubError, saveSuccess, - voteError, } from "../../../helpers/toastMessages"; import { saveComment, @@ -46,6 +45,7 @@ import { scrollCommentIntoViewIfNeeded } from "../../comment/inTree/CommentTree" import { AppContext } from "../../auth/AppContext"; import { getCanModerate } from "../../moderation/useCanModerate"; import { isStubComment } from "../../comment/CommentHeader"; +import { getVoteErrorMessage } from "../../../helpers/lemmyErrors"; const StyledItemContainer = styled.div` --ion-item-border-color: transparent; @@ -151,7 +151,12 @@ function BaseSlidingVoteInternal({ if (isPost) await dispatch(voteOnPost(item.post.id, score)); else await dispatch(voteOnComment(item.comment.id, score)); } catch (error) { - presentToast(voteError); + presentToast({ + color: "danger", + message: getVoteErrorMessage(error), + }); + + throw error; } }, [presentLoginIfNeeded, isPost, dispatch, item, presentToast], diff --git a/src/features/shared/useLemmyUrlHandler.ts b/src/features/shared/useLemmyUrlHandler.ts index c6d4ddb8d5..8a7e8ae918 100644 --- a/src/features/shared/useLemmyUrlHandler.ts +++ b/src/features/shared/useLemmyUrlHandler.ts @@ -6,7 +6,7 @@ import { useBuildGeneralBrowseLink } from "../../helpers/routes"; import { normalizeObjectUrl, resolveObject } from "../resolve/resolveSlice"; import { MouseEvent } from "react"; import useAppToast from "../../helpers/useAppToast"; -import { isLemmyError } from "../../helpers/lemmy"; +import { isLemmyError } from "../../helpers/lemmyErrors"; import { useOptimizedIonRouter } from "../../helpers/useOptimizedIonRouter"; export const POST_PATH = /^\/post\/(\d+)$/; diff --git a/src/features/user/AsyncProfile.tsx b/src/features/user/AsyncProfile.tsx index ddcda7000f..3059b46832 100644 --- a/src/features/user/AsyncProfile.tsx +++ b/src/features/user/AsyncProfile.tsx @@ -10,7 +10,7 @@ import { GetPersonDetailsResponse } from "lemmy-js-client"; import { useAppDispatch } from "../../store"; import { getUser } from "../../features/user/userSlice"; import { useBuildGeneralBrowseLink } from "../../helpers/routes"; -import { OldLemmyErrorValue, isLemmyError } from "../../helpers/lemmy"; +import { isLemmyError } from "../../helpers/lemmyErrors"; import { useOptimizedIonRouter } from "../../helpers/useOptimizedIonRouter"; import { styled } from "@linaria/react"; @@ -51,13 +51,7 @@ export default function AsyncProfile({ handle }: AsyncProfileProps) { try { data = await dispatch(getUser(handle)); } catch (error) { - if ( - isLemmyError( - error, - "couldnt_find_that_username_or_email" as OldLemmyErrorValue, - ) || - isLemmyError(error, "couldnt_find_person") - ) { + if (isLemmyError(error, "couldnt_find_person")) { await present(`Huh, u/${handle} doesn't exist. Mysterious...`); if (router.canGoBack()) { diff --git a/src/features/user/PostContext.tsx b/src/features/user/PostContext.tsx index d9bcf00354..c46ec4bfca 100644 --- a/src/features/user/PostContext.tsx +++ b/src/features/user/PostContext.tsx @@ -7,7 +7,10 @@ import { styled } from "@linaria/react"; const ContainerLink = styled(Link)` padding: 6px 12px; - background: var(--ion-tab-bar-background, var(--ion-color-step-50, #f7f7f7)); + background: var( + --ion-tab-bar-background, + var(--ion-background-color-step-50, #f7f7f7) + ); color: var(--ion-color-dark); border-radius: 6px; diff --git a/src/features/user/Profile.tsx b/src/features/user/Profile.tsx index e4bd4ffe51..c6025f67a9 100644 --- a/src/features/user/Profile.tsx +++ b/src/features/user/Profile.tsx @@ -1,5 +1,5 @@ import React, { useCallback } from "react"; -import { IonIcon, IonLabel, IonList, IonItem } from "@ionic/react"; +import { IonIcon, IonItem, IonLabel, IonList } from "@ionic/react"; import Scores from "./Scores"; import { albumsOutline, @@ -19,20 +19,14 @@ import { LIMIT } from "../../services/lemmy"; import { useAppSelector } from "../../store"; import PostCommentFeed, { PostCommentItem } from "../feed/PostCommentFeed"; import { userHandleSelector } from "../auth/authSelectors"; -import { fixLemmyDateString } from "../../helpers/date"; import { getModColor, getModIcon, getModName, } from "../moderation/useCanModerate"; import useModZoneActions from "../moderation/useModZoneActions"; -import useSupported from "../../helpers/useSupported"; import { styled } from "@linaria/react"; -export const InsetIonItem = styled(IonItem)` - --background: var(--ion-tab-bar-background, var(--ion-color-step-50, #fff)); -`; - export const SettingLabel = styled(IonLabel)` margin-left: 16px; `; @@ -48,7 +42,6 @@ export default function Profile({ person }: ProfileProps) { const { present: presentModZoneActions, role } = useModZoneActions({ type: "ModeratorView", }); - const showUpvoteDownvote = useSupported("Profile Upvote/Downvote"); const isSelf = getRemoteHandle(person.person_view.person) === myHandle; @@ -75,69 +68,65 @@ export default function Profile({ person }: ProfileProps) { accountCreated={person.person_view.person.published} /> - {" "} Posts - - + {" "} Comments - + {isSelf && ( <> - {" "} Saved - - {showUpvoteDownvote && ( - <> - - {" "} - Upvoted - - - {" "} - Downvoted - - - )} - + + {" "} + Upvoted + + + {" "} + Downvoted + + {" "} Hidden - + )} {isSelf && role && ( - + {" "} {getModName(role)} Zone - + )} @@ -154,6 +143,6 @@ export default function Profile({ person }: ProfileProps) { } export function getPostCommentItemCreatedDate(item: PostCommentItem): number { - if (isPost(item)) return Date.parse(fixLemmyDateString(item.post.published)); - return Date.parse(fixLemmyDateString(item.comment.published)); + if (isPost(item)) return Date.parse(item.post.published); + return Date.parse(item.comment.published); } diff --git a/src/features/user/Scores.tsx b/src/features/user/Scores.tsx index f812b15c96..851d97dc6f 100644 --- a/src/features/user/Scores.tsx +++ b/src/features/user/Scores.tsx @@ -3,7 +3,6 @@ import { formatNumber } from "../../helpers/number"; import Ago from "../labels/Ago"; import { useIonAlert } from "@ionic/react"; import { formatDistanceToNowStrict } from "date-fns"; -import { fixLemmyDateString } from "../../helpers/date"; import { styled } from "@linaria/react"; const Container = styled.div` @@ -35,12 +34,9 @@ interface ScoreProps { export default function Scores({ aggregates, accountCreated }: ScoreProps) { const [present] = useIonAlert(); - const relativeDate = formatDistanceToNowStrict( - new Date(fixLemmyDateString(accountCreated)), - { - addSuffix: false, - }, - ); + const relativeDate = formatDistanceToNowStrict(new Date(accountCreated), { + addSuffix: false, + }); const creationDate = new Date(accountCreated); const posts = aggregates.post_count; diff --git a/src/helpers/date.ts b/src/helpers/date.ts index e254befd65..2215e97ee6 100644 --- a/src/helpers/date.ts +++ b/src/helpers/date.ts @@ -1,17 +1,5 @@ import { differenceInDays } from "date-fns"; -/** - * Lemmy <= 0.18.3 has a bug where the Z isn't appended - * - * @param rawLemmyDateString Bugged lemmy date string - * @returns Consistent date string, ready to be passed to Date - */ -export function fixLemmyDateString(rawLemmyDateString: string): string { - if (rawLemmyDateString.endsWith("Z")) return rawLemmyDateString; - - return `${rawLemmyDateString}Z`; -} - /** * User cake day happens annually, and starts the exact millisecond the user * signed up, and runs for exactly 24 hours diff --git a/src/helpers/lemmy.ts b/src/helpers/lemmy.ts index 5ccfb9a5a6..b2acc2ffe9 100644 --- a/src/helpers/lemmy.ts +++ b/src/helpers/lemmy.ts @@ -4,13 +4,13 @@ import { Community, CommunityModeratorView, GetSiteResponse, - LemmyErrorType, Post, PostView, } from "lemmy-js-client"; import { Share } from "@capacitor/share"; import { escapeStringForRegex } from "./regex"; import { quote } from "./markdown"; +import { compare } from "compare-versions"; export interface LemmyJWT { sub: number; @@ -133,37 +133,27 @@ export function buildCommentsTreeWithMissing( ): CommentNodeI[] { const tree = buildCommentsTree(comments, parentComment); - function childHasMissing(node: CommentNodeI): { - missing: boolean; - count: number; - } { - let totalChildren = 0; - let missingMarker = false; + for (const node of tree) { + childHasMissing(node); + } - for (const child of node.children) { - const res = childHasMissing(child); - totalChildren += res.count; - if (res.missing) missingMarker = true; - } + return tree; +} - const missing = - node.comment_view.counts.child_count - - node.children.length - - totalChildren; +function childHasMissing(node: CommentNodeI) { + let missing = node.comment_view.counts.child_count; - node.missing = missingMarker ? 0 : missing; + for (const child of node.children) { + missing--; - return { - missing: missingMarker || !!missing, - count: totalChildren + node.children.length, - }; - } + // the child is responsible for showing missing indicator + // if the child has missing comments + missing -= child.comment_view.counts.child_count; - for (const node of tree) { - childHasMissing(node); + childHasMissing(child); } - return tree; + node.missing = missing; } export function getCommentParentId(comment?: Comment): number | undefined { @@ -278,14 +268,6 @@ export function keywordFoundInSentence( return pattern.test(sentence); } -export type LemmyErrorValue = LemmyErrorType["error"]; -export type OldLemmyErrorValue = never; // When removing support for an old version of Lemmy, cleanup these references - -export function isLemmyError(error: unknown, lemmyErrorValue: LemmyErrorValue) { - if (!(error instanceof Error)) return; - return error.message === lemmyErrorValue; -} - export function canModerateCommunity( communityId: number | undefined, moderates: CommunityModeratorView[] | undefined, @@ -320,36 +302,6 @@ export function buildCrosspostBody(post: Post): string { return `${header}\n>\n${quote(post.body)}`; } -export function getLoginErrorMessage( - error: unknown, - instanceActorId: string, -): string { - if (!(error instanceof Error)) - return "Unknown error occurred, please try again."; - - switch (error.message as LemmyErrorValue) { - // TODO old lemmy support - case "incorrect_totp token" as OldLemmyErrorValue: - case "incorrect_totp_token": - return "Incorrect 2nd factor code. Please try again."; - // TODO old lemmy support - case "couldnt_find_that_username_or_email" as OldLemmyErrorValue: - case "couldnt_find_person": - return `User not found. Is your account on ${instanceActorId}?`; - case "password_incorrect" as OldLemmyErrorValue: - case "incorrect_login": - return `Incorrect login credentials for ${instanceActorId}. Please try again.`; - case "email_not_verified": - return `Email not verified. Please check your inbox. Request a new verification email from https://${instanceActorId}.`; - case "site_ban": - return "You have been banned."; - case "deleted": - return "Account deleted."; - default: - return "Connection error, please try again."; - } -} - export function isPost(item: PostView | CommentView): item is PostView { return !isComment(item); } @@ -372,3 +324,9 @@ export function sortPostCommentByPublished( ): number { return getPublishedDate(b).localeCompare(getPublishedDate(a)); } + +export const MINIMUM_LEMMY_VERSION = "0.19.0"; + +export function isMinimumSupportedLemmyVersion(version: string) { + return compare(version, MINIMUM_LEMMY_VERSION, ">="); +} diff --git a/src/helpers/lemmyErrors.ts b/src/helpers/lemmyErrors.ts new file mode 100644 index 0000000000..e10035db8e --- /dev/null +++ b/src/helpers/lemmyErrors.ts @@ -0,0 +1,58 @@ +import { LemmyErrorType } from "lemmy-js-client"; + +type LemmyErrorValue = LemmyErrorType["error"]; + +export function isLemmyError(error: unknown, lemmyErrorValue: LemmyErrorValue) { + if (!(error instanceof Error)) return; + return error.message === lemmyErrorValue; +} + +function getErrorMessage( + error: unknown, + customErrorMap: (message: LemmyErrorValue) => string | undefined, + unknownLemmyError?: string, +): string { + if (!(error instanceof Error)) + return "Unknown error occurred, please try again."; + + const message = customErrorMap(error.message as LemmyErrorValue); + + if (message) return message; + + return unknownLemmyError ?? "Connection error, please try again."; +} + +export function getLoginErrorMessage( + error: unknown, + instanceActorId: string, +): string { + return getErrorMessage(error, (message) => { + switch (message) { + case "incorrect_totp_token": + return "Incorrect 2nd factor code. Please try again."; + case "couldnt_find_person": + return `User not found. Is your account on ${instanceActorId}?`; + case "incorrect_login": + return `Incorrect login credentials for ${instanceActorId}. Please try again.`; + case "email_not_verified": + return `Email not verified. Please check your inbox. Request a new verification email from https://${instanceActorId}.`; + case "site_ban": + return "You have been banned."; + case "deleted": + return "Account deleted."; + } + }); +} + +export function getVoteErrorMessage(error: unknown): string { + return getErrorMessage( + error, + (message) => { + switch (message) { + case "invalid_bot_action": + return "You marked your account as a bot, so you can't vote."; + } + }, + "Problem voting, please try again.", + ); +} diff --git a/src/helpers/longPress.ts b/src/helpers/longPress.ts index 550575e3dc..550249a885 100644 --- a/src/helpers/longPress.ts +++ b/src/helpers/longPress.ts @@ -1,4 +1,4 @@ -import { LongPressOptions } from "use-long-press"; +import { LongPressOptions, LongPressReactEvents } from "use-long-press"; import { isAppleDeviceInstallable } from "./device"; const filterDragScrollbar: LongPressOptions["filterEvents"] = (e) => { @@ -47,3 +47,36 @@ export const filterEvents: LongPressOptions["filterEvents"] = (e) => { return true; }; + +// prevent click events after long press +export const onFinishStopClick = (event: LongPressReactEvents) => { + let timeoutId: ReturnType | undefined; + + function clearTimeoutIfNeeded() { + if (typeof timeoutId !== "number") return; + clearTimeout(timeoutId); + timeoutId = undefined; + } + + function stopClick(event: MouseEvent) { + event.stopImmediatePropagation(); + clearTimeoutIfNeeded(); + } + + if (!(event.target instanceof HTMLElement)) return; + + event.target?.addEventListener("click", stopClick, { + capture: true, + once: true, + }); + + timeoutId = setTimeout(() => { + clearTimeoutIfNeeded(); + + if (!(event.target instanceof HTMLElement)) return; + + event.target.removeEventListener("click", stopClick, { + capture: true, + }); + }, 200); // iOS safari can delay +}; diff --git a/src/helpers/toastMessages.ts b/src/helpers/toastMessages.ts index 78b7206595..58744b0dfd 100644 --- a/src/helpers/toastMessages.ts +++ b/src/helpers/toastMessages.ts @@ -1,11 +1,6 @@ import { checkmark, close } from "ionicons/icons"; import { AppToastOptions } from "./useAppToast"; -export const voteError: AppToastOptions = { - message: "Problem voting. Please try again.", - color: "danger", -}; - export const downvotesDisabled: AppToastOptions = { message: "Downvotes have been disabled by your server admins.", color: "warning", diff --git a/src/helpers/useSupported.ts b/src/helpers/useSupported.ts index 70df0b770a..6422be4d0f 100644 --- a/src/helpers/useSupported.ts +++ b/src/helpers/useSupported.ts @@ -7,10 +7,7 @@ import { CommentSortType, SortType } from "lemmy-js-client"; * What Lemmy version was support added? */ const featureVersionSupported = { - "v0.19 Sorts": "0.19.0-rc.3", - "Instance Blocking": "0.19.0-rc.3", - "Modded Feed": "0.19.0-rc.3", - "Profile Upvote/Downvote": "0.19.0-rc.3", + // "Instance Blocking": "0.19.0-rc.3", } as const; type Feature = keyof typeof featureVersionSupported; diff --git a/src/routes/TabBar.tsx b/src/routes/TabBar.tsx index 98b4da3a73..85ff37806c 100644 --- a/src/routes/TabBar.tsx +++ b/src/routes/TabBar.tsx @@ -1,52 +1,10 @@ -import { - personCircleOutline, - search, - fileTray, - telescope, - cog, -} from "ionicons/icons"; -import { - IonBadge, - IonIcon, - IonLabel, - IonTabBar, - IonTabButton, -} from "@ionic/react"; -import { totalUnreadSelector } from "../features/inbox/inboxSlice"; -import useShouldInstall from "../features/pwa/useShouldInstall"; -import { UpdateContext } from "./pages/settings/update/UpdateContext"; -import { scrollUpIfNeeded } from "../helpers/scrollUpIfNeeded"; -import { getProfileTabLabel } from "../features/settings/general/other/ProfileTabLabel"; -import { AppContext } from "../features/auth/AppContext"; -import { resetSavedStatusTap } from "../core/listeners/statusTap"; -import { useLocation } from "react-router"; -import { useAppSelector } from "../store"; -import { - userHandleSelector, - instanceSelector, - jwtSelector, - accountsListEmptySelector, -} from "../features/auth/authSelectors"; -import { forwardRef, useCallback, useContext, useEffect, useMemo } from "react"; -import { getDefaultServer } from "../services/app"; -import { focusSearchBar } from "./pages/search/SearchPage"; -import { useOptimizedIonRouter } from "../helpers/useOptimizedIonRouter"; -import { PageContext } from "../features/auth/PageContext"; -import { useLongPress } from "use-long-press"; -import { ImpactStyle } from "@capacitor/haptics"; -import useHapticFeedback from "../helpers/useHapticFeedback"; -import { css } from "@linaria/core"; -import { styled } from "@linaria/react"; - -const interceptorCss = css` - position: absolute; - inset: 0; - pointer-events: all; -`; - -const ProfileLabel = styled(IonLabel)` - max-width: 20vw; -`; +import { IonTabBar } from "@ionic/react"; +import { forwardRef, useRef } from "react"; +import PostsTabButton from "./tabs/buttons/PostsTabButton"; +import InboxTabButton from "./tabs/buttons/InboxTabButton"; +import ProfileTabButton from "./tabs/buttons/ProfileTabButton"; +import SearchTabButton from "./tabs/buttons/SearchTabButton"; +import SettingsTabButton from "./tabs/buttons/SettingsTabButton"; type CustomTabBarType = typeof IonTabBar & { /** @@ -56,220 +14,31 @@ type CustomTabBarType = typeof IonTabBar & { }; const TabBar: CustomTabBarType = forwardRef(function TabBar(props, ref) { - const location = useLocation(); - const router = useOptimizedIonRouter(); - const vibrate = useHapticFeedback(); - - const databaseError = useAppSelector((state) => state.settings.databaseError); - const selectedInstance = useAppSelector(instanceSelector); - - useEffect(() => { - resetSavedStatusTap(); - }, [location]); - - const { status: updateStatus } = useContext(UpdateContext); - const shouldInstall = useShouldInstall(); - - const { activePageRef } = useContext(AppContext); - const { presentAccountSwitcher, presentLoginIfNeeded } = - useContext(PageContext); - - const jwt = useAppSelector(jwtSelector); - const accountsListEmpty = useAppSelector(accountsListEmptySelector); - const totalUnread = useAppSelector(totalUnreadSelector); - - const settingsNotificationCount = - (shouldInstall ? 1 : 0) + (updateStatus === "outdated" ? 1 : 0); - - const connectedInstance = useAppSelector( - (state) => state.auth.connectedInstance, - ); - - const userHandle = useAppSelector(userHandleSelector); - const profileLabelType = useAppSelector( - (state) => state.settings.appearance.general.profileLabel, - ); - - const profileTabLabel = useMemo( - () => getProfileTabLabel(profileLabelType, userHandle, connectedInstance), - [profileLabelType, userHandle, connectedInstance], - ); - - const isPostsButtonDisabled = location.pathname.startsWith("/posts"); - const isInboxButtonDisabled = location.pathname.startsWith("/inbox"); - const isProfileButtonDisabled = location.pathname.startsWith("/profile"); - const isSearchButtonDisabled = location.pathname.startsWith("/search"); - const isSettingsButtonDisabled = location.pathname.startsWith("/settings"); - - const onPostsClick = useCallback(() => { - if (!isPostsButtonDisabled) return; - - if (scrollUpIfNeeded(activePageRef?.current)) return; - - const pathname = router.getRouteInfo()?.pathname; - if (!pathname) return; - - const actor = pathname.split("/")[2]; - - if (pathname.endsWith(jwt ? "/home" : "/all")) { - router.push( - `/posts/${actor ?? selectedInstance ?? getDefaultServer()}`, - "back", - ); - return; - } - - const communitiesPath = `/posts/${ - actor ?? selectedInstance ?? getDefaultServer() - }`; - if (pathname === communitiesPath || pathname === `${communitiesPath}/`) - return; - - if (router.canGoBack()) { - router.goBack(); - } else { - router.push( - `/posts/${actor ?? selectedInstance ?? getDefaultServer()}/${ - jwt ? "home" : "all" - }`, - "back", - ); - } - }, [activePageRef, isPostsButtonDisabled, jwt, router, selectedInstance]); - - const onInboxClick = useCallback(() => { - if (!isInboxButtonDisabled) return; - - const pathname = router.getRouteInfo()?.pathname; - if (!pathname) return; - - if ( - // Messages are in reverse order, so bail on scroll up - !pathname.startsWith("/inbox/messages/") && - scrollUpIfNeeded(activePageRef?.current) - ) - return; - - router.push(`/inbox`, "back"); - }, [activePageRef, isInboxButtonDisabled, router]); - - const onProfileClick = useCallback(() => { - if (!isProfileButtonDisabled) return; - - if (scrollUpIfNeeded(activePageRef?.current)) return; - - const pathname = router.getRouteInfo()?.pathname; - if (!pathname) return; - - // if the profile page is already open, show the account switcher - if (pathname === "/profile") { - if (!accountsListEmpty) { - presentAccountSwitcher(); - } else { - presentLoginIfNeeded(); - } - } - - router.push("/profile", "back"); - }, [ - accountsListEmpty, - activePageRef, - isProfileButtonDisabled, - presentAccountSwitcher, - presentLoginIfNeeded, - router, - ]); - - const onSearchClick = useCallback(() => { - if (!isSearchButtonDisabled) return; - - // if the search page is already open, focus the search bar - focusSearchBar(); - - if (scrollUpIfNeeded(activePageRef?.current)) return; - - router.push(`/search`, "back"); - }, [activePageRef, isSearchButtonDisabled, router]); - - const onSettingsClick = useCallback(() => { - if (!isSettingsButtonDisabled) return; - - if (scrollUpIfNeeded(activePageRef?.current)) return; - - router.push(`/settings`, "back"); - }, [activePageRef, isSettingsButtonDisabled, router]); - - const onPresentAccountSwitcher = useCallback(() => { - vibrate({ style: ImpactStyle.Light }); - - if (!accountsListEmpty) { - presentAccountSwitcher(); - } else { - presentLoginIfNeeded(); - } - }, [ - accountsListEmpty, - presentAccountSwitcher, - presentLoginIfNeeded, - vibrate, - ]); - - const presentAccountSwitcherBind = useLongPress(onPresentAccountSwitcher); + const longPressedRef = useRef(false); - const settingsBadge = (() => { - if (databaseError) return !; + const resetLongPress = () => { + longPressedRef.current = false; + }; - if (settingsNotificationCount) - return {settingsNotificationCount}; - })(); + const sharedTabProps = { + longPressedRef, + }; return ( - - -