diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 879f0756c5f6..b9e70e5e4fbb 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -33,6 +33,7 @@ body: options: - Android - Windows + - MacOS - Linux - Web validations: diff --git a/FLUTTER_VERSION b/FLUTTER_VERSION index afb053553c33..185e484bddaa 100644 --- a/FLUTTER_VERSION +++ b/FLUTTER_VERSION @@ -1 +1 @@ -3.16.4 \ No newline at end of file +3.16.5 \ No newline at end of file diff --git a/api/pubspec.yaml b/api/pubspec.yaml index ffb776e02531..7761bb24efe7 100644 --- a/api/pubspec.yaml +++ b/api/pubspec.yaml @@ -12,7 +12,7 @@ dependencies: json_annotation: ^4.8.1 replay_bloc: ^0.2.5 rxdart: ^0.27.7 - xml: ^6.4.2 + xml: ^6.5.0 dev_dependencies: test: ^1.25.0 json_serializable: ^6.7.1 diff --git a/app/android/Gemfile.lock b/app/android/Gemfile.lock index 8f8046566509..4ea22cc69b9f 100644 --- a/app/android/Gemfile.lock +++ b/app/android/Gemfile.lock @@ -3,18 +3,18 @@ GEM specs: CFPropertyList (3.0.6) rexml - addressable (2.8.5) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) artifactory (3.0.15) atomos (0.1.3) aws-eventstream (1.3.0) - aws-partitions (1.862.0) + aws-partitions (1.870.0) aws-sdk-core (3.190.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.8) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.74.0) + aws-sdk-kms (1.75.0) aws-sdk-core (~> 3, >= 3.188.0) aws-sigv4 (~> 1.1) aws-sdk-s3 (1.141.0) @@ -35,7 +35,7 @@ GEM domain_name (0.6.20231109) dotenv (2.8.1) emoji_regex (3.2.3) - excon (0.105.0) + excon (0.108.0) faraday (1.10.3) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) @@ -106,7 +106,7 @@ GEM xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) gh_inspector (1.1.3) - google-apis-androidpublisher_v3 (0.53.0) + google-apis-androidpublisher_v3 (0.54.0) google-apis-core (>= 0.11.0, < 2.a) google-apis-core (0.11.2) addressable (~> 2.5, >= 2.5.1) @@ -123,11 +123,11 @@ GEM google-apis-core (>= 0.11.0, < 2.a) google-apis-storage_v1 (0.29.0) google-apis-core (>= 0.11.0, < 2.a) - google-cloud-core (1.6.0) - google-cloud-env (~> 1.0) + google-cloud-core (1.6.1) + google-cloud-env (>= 1.0, < 3.a) google-cloud-errors (~> 1.0) - google-cloud-env (1.6.0) - faraday (>= 0.17.3, < 3.0) + google-cloud-env (2.1.0) + faraday (>= 1.0, < 3.a) google-cloud-errors (1.3.1) google-cloud-storage (1.45.0) addressable (~> 2.8) @@ -137,8 +137,9 @@ GEM google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) - googleauth (1.8.1) - faraday (>= 0.17.3, < 3.a) + googleauth (1.9.1) + faraday (>= 1.0, < 3.a) + google-cloud-env (~> 2.1) jwt (>= 1.4, < 3.0) multi_json (~> 1.11) os (>= 0.9, < 2.0) @@ -148,7 +149,7 @@ GEM domain_name (~> 0.5) httpclient (2.8.3) jmespath (1.6.2) - json (2.7.0) + json (2.7.1) jwt (2.7.1) mini_magick (4.12.0) mini_mime (1.1.5) @@ -186,7 +187,7 @@ GEM unicode-display_width (>= 1.1.1, < 3) trailblazer-option (0.1.2) tty-cursor (0.7.1) - tty-screen (0.8.1) + tty-screen (0.8.2) tty-spinner (0.9.3) tty-cursor (~> 0.7) uber (0.1.0) diff --git a/app/lib/actions/export.dart b/app/lib/actions/export.dart index b1bec7c806f7..d2890538d4b8 100644 --- a/app/lib/actions/export.dart +++ b/app/lib/actions/export.dart @@ -1,4 +1,4 @@ -import 'package:butterfly/api/save_data.dart'; +import 'package:butterfly/api/save.dart'; import 'package:butterfly/bloc/document_bloc.dart'; import 'package:butterfly_api/butterfly_api.dart'; import 'package:flutter/material.dart'; diff --git a/app/lib/api/open.dart b/app/lib/api/open.dart index 399407f59e75..9aa507f920cd 100644 --- a/app/lib/api/open.dart +++ b/app/lib/api/open.dart @@ -1,13 +1,22 @@ import 'dart:async'; -import 'dart:io'; +import 'package:butterfly/visualizer/asset.dart'; import 'package:butterfly_api/butterfly_api.dart'; -import 'package:file_picker/file_picker.dart'; +import 'package:file_selector/file_selector.dart' as fs; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:url_launcher/url_launcher.dart'; +Future<bool> openReleaseNotes() { + return launchUrl( + Uri( + scheme: 'https', + host: 'go.linwood.dev', + pathSegments: ['butterfly', '2.0']), + mode: LaunchMode.externalApplication); +} + Future<bool> openHelp(List<String> pageLocation, [String? fragment]) { return launchUrl( Uri( @@ -18,21 +27,20 @@ Future<bool> openHelp(List<String> pageLocation, [String? fragment]) { mode: LaunchMode.externalApplication); } -Future<(Uint8List?, String?)> openSupported( - [List<String>? fileExtension]) async { - final isMobile = !kIsWeb && (Platform.isAndroid || Platform.isIOS); - final files = await FilePicker.platform.pickFiles( - type: isMobile ? FileType.any : FileType.custom, - allowedExtensions: isMobile - ? null - : (fileExtension ?? - AssetFileType.values.expand((e) => e.getFileExtensions()).toList()), - allowMultiple: false, - withData: true, +Future<(Uint8List?, String?)> importFile(BuildContext context, + [List<AssetFileType>? types]) async { + final result = await fs.openFile( + acceptedTypeGroups: (types ?? AssetFileType.values) + .where((e) => e.getFileExtensions().isNotEmpty) + .map((e) => fs.XTypeGroup( + label: e.getLocalizedName(context), + extensions: e.getFileExtensions(), + mimeTypes: [e.getMime()], + )) + .toList(), ); - if (files?.files.isEmpty ?? true) return (null, null); - var e = files!.files.first; - return (e.bytes, e.extension); + final data = await result?.readAsBytes(); + return (data, result?.name.split('.').lastOrNull); } Future<void> openFile( diff --git a/app/lib/api/open_release_notes.dart b/app/lib/api/open_release_notes.dart deleted file mode 100644 index d3c33c9ff13a..000000000000 --- a/app/lib/api/open_release_notes.dart +++ /dev/null @@ -1,10 +0,0 @@ -import 'package:url_launcher/url_launcher.dart'; - -Future<bool> openReleaseNotes() { - return launchUrl( - Uri( - scheme: 'https', - host: 'go.linwood.dev', - pathSegments: ['butterfly', '2.0']), - mode: LaunchMode.externalApplication); -} diff --git a/app/lib/api/save_data.dart b/app/lib/api/save.dart similarity index 69% rename from app/lib/api/save_data.dart rename to app/lib/api/save.dart index 279c02efebbb..81df0c3fe2c3 100644 --- a/app/lib/api/save_data.dart +++ b/app/lib/api/save.dart @@ -1,7 +1,4 @@ -import 'package:butterfly/api/save_data_stub.dart' - if (dart.library.io) 'package:butterfly/api/save_data_io.dart' - if (dart.library.js) 'package:butterfly/api/save_data_html.dart' - as save_data; +import 'package:file_selector/file_selector.dart' as fs; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; @@ -11,8 +8,21 @@ Future<void> exportFile( List<int> bytes, String fileExtension, String mimeType, -) async => - save_data.exportFile(context, bytes, fileExtension, mimeType); +) async { + final result = await fs.getSaveLocation( + acceptedTypeGroups: [ + fs.XTypeGroup( + label: AppLocalizations.of(context).export, + extensions: [fileExtension], + mimeTypes: [mimeType], + ), + ], + ); + if (result == null) return; + final file = fs.XFile.fromData(Uint8List.fromList(bytes), + mimeType: mimeType, name: 'output.$fileExtension'); + await file.saveTo(result.path); +} Future<void> exportSvg(BuildContext context, String data) => exportFile(context, data.codeUnits, 'svg', 'image/svg'); diff --git a/app/lib/api/save_data_html.dart b/app/lib/api/save_data_html.dart deleted file mode 100644 index e30916e08e24..000000000000 --- a/app/lib/api/save_data_html.dart +++ /dev/null @@ -1,20 +0,0 @@ -// ignore_for_file: avoid_web_libraries_in_flutter - -import 'dart:html'; - -import 'package:flutter/material.dart'; - -void exportFile( - BuildContext context, - List<int> bytes, - String fileExtension, - String mimeType, -) { - final a = document.createElement('a') as AnchorElement; - // Create data URL for zip - final blob = Blob([bytes], mimeType); - final url = Url.createObjectUrl(blob); - a.href = url; - a.download = 'export.$fileExtension'; - a.click(); -} diff --git a/app/lib/api/save_data_io.dart b/app/lib/api/save_data_io.dart deleted file mode 100644 index bc480e5f02c6..000000000000 --- a/app/lib/api/save_data_io.dart +++ /dev/null @@ -1,60 +0,0 @@ -import 'dart:io'; - -import 'package:file_picker/file_picker.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -import 'package:path_provider/path_provider.dart'; -import 'package:share_plus/share_plus.dart'; - -Future<void> exportFile( - BuildContext context, - List<int> bytes, - String fileExtension, - String mimeType, -) async { - if (Platform.isAndroid) { - final tempDir = await getTemporaryDirectory(); - final tempPath = tempDir.path; - final tempFile = File('$tempPath/export.$fileExtension'); - await tempFile.writeAsBytes(bytes); - await Share.shareXFiles([XFile(tempFile.path)]); - return; - } - final loc = AppLocalizations.of(context); - var fileName = await FilePicker.platform.saveFile( - fileName: 'export.$fileExtension', - type: FileType.custom, - allowedExtensions: [fileExtension], - dialogTitle: loc.export, - ); - - if (fileName == null) { - return; - } - if (!fileName.endsWith('.$fileExtension')) { - fileName += '.$fileExtension'; - } - var file = File(fileName); - if (file.existsSync() && context.mounted) { - final result = await showDialog<bool>( - context: context, - builder: (context) => AlertDialog( - title: Text(loc.areYouSure), - content: Text(loc.existOverride), - actions: [ - TextButton( - child: Text(loc.no), - onPressed: () => Navigator.of(context).pop(false)), - ElevatedButton( - child: Text(loc.yes), - onPressed: () async { - Navigator.of(context).pop(true); - }) - ], - )); - if (result != true) { - return; - } - } - await file.writeAsBytes(bytes); -} diff --git a/app/lib/api/save_data_stub.dart b/app/lib/api/save_data_stub.dart deleted file mode 100644 index eb8fd9ca4606..000000000000 --- a/app/lib/api/save_data_stub.dart +++ /dev/null @@ -1,10 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/material.dart'; - -FutureOr<void> exportFile( - BuildContext context, - List<int> bytes, - String fileExtension, - String mimeType, -) {} diff --git a/app/lib/dialogs/background/dialog.dart b/app/lib/dialogs/background/dialog.dart index 5ec2b172f743..4dabf6486937 100644 --- a/app/lib/dialogs/background/dialog.dart +++ b/app/lib/dialogs/background/dialog.dart @@ -1,4 +1,3 @@ -import 'dart:io'; import 'dart:ui' as ui; import 'package:butterfly/api/open.dart'; @@ -6,8 +5,6 @@ import 'package:butterfly/bloc/document_bloc.dart'; import 'package:butterfly/dialogs/texture.dart'; import 'package:butterfly/visualizer/preset.dart'; import 'package:butterfly_api/butterfly_api.dart'; -import 'package:file_picker/file_picker.dart'; -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; diff --git a/app/lib/dialogs/background/general.dart b/app/lib/dialogs/background/general.dart index 8cf8015b2614..43417f3590f6 100644 --- a/app/lib/dialogs/background/general.dart +++ b/app/lib/dialogs/background/general.dart @@ -49,16 +49,13 @@ class _GeneralBackgroundPropertiesView extends StatelessWidget { onTap: () async { final state = context.read<DocumentBloc>().state; if (state is! DocumentLoaded) return; - final files = await FilePicker.platform.pickFiles( - type: FileType.image, allowMultiple: false, withData: true); - if (files?.files.isEmpty ?? true) return; - final e = files!.files.first; - var content = e.bytes ?? Uint8List(0); - if (!kIsWeb) { - content = await File(e.path ?? '').readAsBytes(); - } - final dataPath = Uri.dataFromBytes(content).toString(); - final codec = await ui.instantiateImageCodec(content); + final (result, _) = await importFile( + context, + [AssetFileType.image], + ); + if (result == null) return; + final dataPath = Uri.dataFromBytes(result).toString(); + final codec = await ui.instantiateImageCodec(result); final frame = await codec.getNextFrame(); final image = frame.image; final width = image.width.toDouble(), diff --git a/app/lib/dialogs/collaboration/dialog.dart b/app/lib/dialogs/collaboration/dialog.dart index 5b03711546e9..a625155d166a 100644 --- a/app/lib/dialogs/collaboration/dialog.dart +++ b/app/lib/dialogs/collaboration/dialog.dart @@ -1,4 +1,4 @@ -import 'package:butterfly/api/save_data.dart'; +import 'package:butterfly/api/save.dart'; import 'package:butterfly/bloc/document_bloc.dart'; import 'package:butterfly/cubits/current_index.dart'; import 'package:butterfly/services/network.dart'; diff --git a/app/lib/dialogs/export/image.dart b/app/lib/dialogs/export/image.dart index 8e75d3b3a86e..72f797afb68d 100644 --- a/app/lib/dialogs/export/image.dart +++ b/app/lib/dialogs/export/image.dart @@ -1,6 +1,6 @@ import 'dart:ui' as ui; -import 'package:butterfly/api/save_data.dart'; +import 'package:butterfly/api/save.dart'; import 'package:butterfly/bloc/document_bloc.dart'; import 'package:butterfly_api/butterfly_api.dart'; import 'package:flutter/foundation.dart'; diff --git a/app/lib/dialogs/export/svg.dart b/app/lib/dialogs/export/svg.dart index 85c34e0c2576..89170b3a83a3 100644 --- a/app/lib/dialogs/export/svg.dart +++ b/app/lib/dialogs/export/svg.dart @@ -9,7 +9,7 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:material_leap/material_leap.dart'; import 'package:phosphor_flutter/phosphor_flutter.dart'; -import '../../api/save_data.dart'; +import '../../api/save.dart'; class SvgExportDialog extends StatefulWidget { final double x, y; diff --git a/app/lib/dialogs/packs/color_pick.dart b/app/lib/dialogs/packs/color_pick.dart index c7b6ff8167f0..6744a3295212 100644 --- a/app/lib/dialogs/packs/color_pick.dart +++ b/app/lib/dialogs/packs/color_pick.dart @@ -1,4 +1,4 @@ -import 'package:butterfly/api/save_data.dart'; +import 'package:butterfly/api/save.dart'; import 'package:butterfly/bloc/document_bloc.dart'; import 'package:butterfly_api/butterfly_api.dart'; import 'package:collection/collection.dart'; diff --git a/app/lib/dialogs/packs/dialog.dart b/app/lib/dialogs/packs/dialog.dart index b4c63c23001e..d424ccc72ed5 100644 --- a/app/lib/dialogs/packs/dialog.dart +++ b/app/lib/dialogs/packs/dialog.dart @@ -10,7 +10,7 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:material_leap/material_leap.dart'; import 'package:phosphor_flutter/phosphor_flutter.dart'; -import '../../api/save_data.dart'; +import '../../api/save.dart'; import '../../widgets/remote_button.dart'; import 'pack.dart'; @@ -337,7 +337,8 @@ class _PacksDialogState extends State<PacksDialog> PhosphorIconsLight.arrowSquareIn), onTap: () async { Navigator.of(ctx).pop(); - final (data, _) = await openSupported(['bfly']); + final (data, _) = await importFile( + context, [AssetFileType.note]); if (data == null) return; final pack = NoteData.fromData(data); final metadata = pack.getMetadata(); diff --git a/app/lib/handlers/asset.dart b/app/lib/handlers/asset.dart index cd0341b49ca0..00e37dbb3f78 100644 --- a/app/lib/handlers/asset.dart +++ b/app/lib/handlers/asset.dart @@ -28,34 +28,17 @@ Future<void> showImportAssetWizard(ImportType type, BuildContext context, position: position, advanced: advanced); } - Future<void> importWithDialog( - AssetFileType assetType, { - FileType type = FileType.any, - List<String>? allowedExtensions, - }) async { - final files = await FilePicker.platform.pickFiles( - type: type, - allowedExtensions: allowedExtensions, - allowMultiple: false, - withData: true, - ); - if (files?.files.isEmpty ?? true) return; - final e = files!.files.first; - var content = e.bytes ?? Uint8List(0); - if (!kIsWeb) { - content = await File(e.path ?? '').readAsBytes(); - } - return importAsset(assetType, content); + Future<void> importWithDialog(AssetFileType type) async { + final (result, _) = await importFile(context, [type]); + if (result == null) return; + return importAsset(type, result); } if (!type.isAvailable()) return; switch (type) { case ImportType.image: - return importWithDialog( - AssetFileType.image, - type: FileType.image, - ); + return importWithDialog(AssetFileType.image); case ImportType.camera: final content = await showDialog<Uint8List>( context: context, @@ -64,34 +47,14 @@ Future<void> showImportAssetWizard(ImportType type, BuildContext context, if (content == null) return; return importAsset(AssetFileType.image, content); case ImportType.svg: - return importWithDialog( - AssetFileType.svg, - type: FileType.custom, - allowedExtensions: ['svg'], - ); + return importWithDialog(AssetFileType.svg); case ImportType.pdf: - return importWithDialog( - AssetFileType.pdf, - type: FileType.custom, - allowedExtensions: ['pdf'], - ); + return importWithDialog(AssetFileType.pdf); case ImportType.document: - return importWithDialog( - AssetFileType.note, - type: FileType.custom, - allowedExtensions: ['bfly'], - ); + return importWithDialog(AssetFileType.note); case ImportType.markdown: - return importWithDialog( - AssetFileType.markdown, - type: FileType.custom, - allowedExtensions: ['md', 'markdown'], - ); + return importWithDialog(AssetFileType.markdown); case ImportType.xopp: - return importWithDialog( - AssetFileType.xopp, - type: FileType.custom, - allowedExtensions: ['xopp'], - ); + return importWithDialog(AssetFileType.xopp); } } diff --git a/app/lib/handlers/handler.dart b/app/lib/handlers/handler.dart index 0da48b4b5ee6..1c6b7364e8ce 100644 --- a/app/lib/handlers/handler.dart +++ b/app/lib/handlers/handler.dart @@ -1,9 +1,9 @@ import 'dart:async'; import 'dart:convert'; -import 'dart:io'; import 'dart:math'; import 'package:animations/animations.dart'; +import 'package:butterfly/api/open.dart'; import 'package:butterfly/bloc/document_bloc.dart'; import 'package:butterfly/cubits/settings.dart'; import 'package:butterfly/cubits/transform.dart'; @@ -19,7 +19,6 @@ import 'package:butterfly/visualizer/tool.dart'; import 'package:butterfly_api/butterfly_api.dart'; import 'package:butterfly_api/butterfly_text.dart' as text; import 'package:collection/collection.dart'; -import 'package:file_picker/file_picker.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; @@ -34,7 +33,7 @@ import 'package:share_plus/share_plus.dart'; import '../actions/paste.dart'; import '../actions/select.dart'; -import '../api/save_data.dart'; +import '../api/save.dart'; import '../cubits/current_index.dart'; import '../dialogs/import/camera.dart'; import '../dialogs/name.dart'; diff --git a/app/lib/services/export.dart b/app/lib/services/export.dart index 5d4787bb32e9..eebfc7ab79f7 100644 --- a/app/lib/services/export.dart +++ b/app/lib/services/export.dart @@ -1,4 +1,4 @@ -import 'package:butterfly/api/save_data.dart'; +import 'package:butterfly/api/save.dart'; import 'package:butterfly/bloc/document_bloc.dart'; import 'package:butterfly/cubits/current_index.dart'; import 'package:butterfly/helpers/element.dart'; diff --git a/app/lib/services/import.dart b/app/lib/services/import.dart index a86b3d7b9e97..d0fb6aeb3bc2 100644 --- a/app/lib/services/import.dart +++ b/app/lib/services/import.dart @@ -21,7 +21,7 @@ import 'package:pdf/pdf.dart'; import 'package:printing/printing.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -import '../api/save_data.dart'; +import '../api/save.dart'; import '../cubits/current_index.dart'; import '../cubits/settings.dart'; import '../dialogs/error.dart'; diff --git a/app/lib/settings/connections.dart b/app/lib/settings/connections.dart index 710e056cbb11..b10dc3b8eb0f 100644 --- a/app/lib/settings/connections.dart +++ b/app/lib/settings/connections.dart @@ -5,7 +5,7 @@ import 'dart:ui'; import 'package:butterfly/api/open.dart'; import 'package:butterfly/cubits/settings.dart'; import 'package:butterfly/widgets/window.dart'; -import 'package:file_picker/file_picker.dart'; +import 'package:file_selector/file_selector.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -441,8 +441,7 @@ class __AddRemoteDialogState extends State<_AddRemoteDialog> { icon: const PhosphorIcon(PhosphorIconsLight.folder), onPick: shouldShowPicker ? () async { - final result = await FilePicker.platform - .getDirectoryPath(); + final result = await getDirectoryPath(); if (result != null) { _directoryController.text = result; } @@ -504,9 +503,8 @@ class __AddRemoteDialogState extends State<_AddRemoteDialog> { PhosphorIconsLight.file), onPick: _directoryController.text.isEmpty ? () async { - final result = await FilePicker - .platform - .getDirectoryPath(); + final result = + await getDirectoryPath(); if (result != null) { _documentsDirectoryController .text = result; @@ -523,9 +521,8 @@ class __AddRemoteDialogState extends State<_AddRemoteDialog> { PhosphorIconsLight.fileDashed), onPick: _directoryController.text.isEmpty ? () async { - final result = await FilePicker - .platform - .getDirectoryPath(); + final result = + await getDirectoryPath(); if (result != null) { _templatesDirectoryController .text = result; @@ -542,9 +539,8 @@ class __AddRemoteDialogState extends State<_AddRemoteDialog> { PhosphorIconsLight.package), onPick: _directoryController.text.isEmpty ? () async { - final result = await FilePicker - .platform - .getDirectoryPath(); + final result = + await getDirectoryPath(); if (result != null) { _documentsDirectoryController .text = result; diff --git a/app/lib/settings/data.dart b/app/lib/settings/data.dart index 7443cc690192..f644bba43967 100644 --- a/app/lib/settings/data.dart +++ b/app/lib/settings/data.dart @@ -1,12 +1,12 @@ import 'package:archive/archive.dart'; import 'package:butterfly/api/file_system/file_system_io.dart'; -import 'package:butterfly/api/save_data.dart'; +import 'package:butterfly/api/save.dart'; import 'package:butterfly/bloc/document_bloc.dart'; import 'package:butterfly/cubits/settings.dart'; import 'package:butterfly/dialogs/template.dart'; import 'package:butterfly/visualizer/sync.dart'; import 'package:butterfly/widgets/window.dart'; -import 'package:file_picker/file_picker.dart'; +import 'package:file_selector/file_selector.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -78,8 +78,7 @@ class _DataSettingsPageState extends State<DataSettingsPage> { onTap: () async { final settingsCubit = context.read<SettingsCubit>(); - final selectedDir = - await FilePicker.platform.getDirectoryPath(); + final selectedDir = await getDirectoryPath(); if (selectedDir != null) { _changePath(settingsCubit, selectedDir); } diff --git a/app/lib/settings/experiments.dart b/app/lib/settings/experiments.dart index 356ec06fbf35..74a2af637794 100644 --- a/app/lib/settings/experiments.dart +++ b/app/lib/settings/experiments.dart @@ -3,7 +3,7 @@ import 'dart:ui'; import 'package:butterfly/cubits/settings.dart'; import 'package:butterfly/widgets/window.dart'; -import 'package:file_picker/file_picker.dart'; +import 'package:file_selector/file_selector.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -311,8 +311,7 @@ class __AddRemoteDialogState extends State<_AddRemoteDialog> { onTap: _isRemote ? null : () async { - final result = - await FilePicker.platform.getDirectoryPath(); + final result = await getDirectoryPath(); if (result != null) { _directoryController.text = result; } diff --git a/app/lib/settings/general.dart b/app/lib/settings/general.dart index 38e1345574c9..a1922f0f3718 100644 --- a/app/lib/settings/general.dart +++ b/app/lib/settings/general.dart @@ -1,6 +1,7 @@ import 'dart:convert'; -import 'package:butterfly/api/save_data.dart'; +import 'package:butterfly/api/open.dart'; +import 'package:butterfly/api/save.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:package_info_plus/package_info_plus.dart'; @@ -9,7 +10,6 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:url_launcher/url_launcher.dart'; import 'package:http/http.dart' as http; -import '../api/open_release_notes.dart'; import '../widgets/window.dart'; @immutable diff --git a/app/lib/views/files/grid.dart b/app/lib/views/files/grid.dart index 0d8257bc4005..aee95de9f34e 100644 --- a/app/lib/views/files/grid.dart +++ b/app/lib/views/files/grid.dart @@ -2,7 +2,7 @@ import 'dart:typed_data'; import 'package:butterfly/api/file_system/file_system.dart'; import 'package:butterfly/api/file_system/file_system_remote.dart'; -import 'package:butterfly/api/save_data.dart'; +import 'package:butterfly/api/save.dart'; import 'package:butterfly/cubits/settings.dart'; import 'package:butterfly/services/sync.dart'; import 'package:butterfly/visualizer/sync.dart'; diff --git a/app/lib/views/files/list.dart b/app/lib/views/files/list.dart index c942ccde7e38..6a9d3e459c56 100644 --- a/app/lib/views/files/list.dart +++ b/app/lib/views/files/list.dart @@ -2,7 +2,7 @@ import 'dart:typed_data'; import 'package:butterfly/api/file_system/file_system.dart'; import 'package:butterfly/api/file_system/file_system_remote.dart'; -import 'package:butterfly/api/save_data.dart'; +import 'package:butterfly/api/save.dart'; import 'package:butterfly/cubits/settings.dart'; import 'package:butterfly/dialogs/file_system/move.dart'; import 'package:butterfly/services/sync.dart'; diff --git a/app/lib/views/files/view.dart b/app/lib/views/files/view.dart index 6aff5e07064f..acf54242022a 100644 --- a/app/lib/views/files/view.dart +++ b/app/lib/views/files/view.dart @@ -307,7 +307,7 @@ class FilesViewState extends State<FilesView> { onPressed: () async { final router = GoRouter.of(context); final importService = context.read<ImportService>(); - final (result, extension) = await openSupported(); + final (result, extension) = await importFile(context); if (result == null) return; final model = await importService.import( AssetFileTypeHelper.fromFileExtension(extension) ?? diff --git a/app/lib/views/home.dart b/app/lib/views/home.dart index a9510b0f14f1..c59d9d02cf6a 100644 --- a/app/lib/views/home.dart +++ b/app/lib/views/home.dart @@ -11,7 +11,6 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:phosphor_flutter/phosphor_flutter.dart'; -import '../api/open_release_notes.dart'; import '../main.dart'; import 'files/view.dart'; diff --git a/app/lib/visualizer/asset.dart b/app/lib/visualizer/asset.dart index 99dcdb04e520..5f70fe9f9abe 100644 --- a/app/lib/visualizer/asset.dart +++ b/app/lib/visualizer/asset.dart @@ -8,16 +8,22 @@ extension AssetFileTypeVisualizer on AssetFileType? { String getLocalizedName(BuildContext context) => switch (this) { AssetFileType.note => AppLocalizations.of(context).note, AssetFileType.image => AppLocalizations.of(context).image, + AssetFileType.markdown => AppLocalizations.of(context).markdown, AssetFileType.pdf => AppLocalizations.of(context).pdf, AssetFileType.svg => AppLocalizations.of(context).svg, - _ => '' + AssetFileType.xopp => 'Xopp', + AssetFileType.page => AppLocalizations.of(context).page, + null => AppLocalizations.of(context).unknownImportType, }; IconGetter get icon => switch (this) { AssetFileType.note => PhosphorIcons.fileText, AssetFileType.image => PhosphorIcons.image, + AssetFileType.markdown => PhosphorIcons.textbox, AssetFileType.pdf => PhosphorIcons.filePdf, AssetFileType.svg => PhosphorIcons.fileSvg, + AssetFileType.xopp => PhosphorIcons.notebook, + AssetFileType.page => PhosphorIcons.book, _ => PhosphorIcons.file, }; } diff --git a/app/linux/flutter/generated_plugin_registrant.cc b/app/linux/flutter/generated_plugin_registrant.cc index e80c636eafc0..dae3affd1dcf 100644 --- a/app/linux/flutter/generated_plugin_registrant.cc +++ b/app/linux/flutter/generated_plugin_registrant.cc @@ -7,6 +7,7 @@ #include "generated_plugin_registrant.h" #include <dynamic_color/dynamic_color_plugin.h> +#include <file_selector_linux/file_selector_plugin.h> #include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h> #include <printing/printing_plugin.h> #include <screen_retriever/screen_retriever_plugin.h> @@ -17,6 +18,9 @@ void fl_register_plugins(FlPluginRegistry* registry) { g_autoptr(FlPluginRegistrar) dynamic_color_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "DynamicColorPlugin"); dynamic_color_plugin_register_with_registrar(dynamic_color_registrar); + g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); + file_selector_plugin_register_with_registrar(file_selector_linux_registrar); g_autoptr(FlPluginRegistrar) flutter_secure_storage_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterSecureStorageLinuxPlugin"); flutter_secure_storage_linux_plugin_register_with_registrar(flutter_secure_storage_linux_registrar); diff --git a/app/linux/flutter/generated_plugins.cmake b/app/linux/flutter/generated_plugins.cmake index 9925abdf5358..084207c21755 100644 --- a/app/linux/flutter/generated_plugins.cmake +++ b/app/linux/flutter/generated_plugins.cmake @@ -4,6 +4,7 @@ list(APPEND FLUTTER_PLUGIN_LIST dynamic_color + file_selector_linux flutter_secure_storage_linux printing screen_retriever diff --git a/app/macos/Flutter/GeneratedPluginRegistrant.swift b/app/macos/Flutter/GeneratedPluginRegistrant.swift index 529e9b201682..fd6284a3ad1d 100644 --- a/app/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/app/macos/Flutter/GeneratedPluginRegistrant.swift @@ -8,6 +8,7 @@ import Foundation import connectivity_plus import device_info_plus import dynamic_color +import file_selector_macos import flutter_secure_storage_macos import package_info_plus import path_provider_foundation @@ -22,6 +23,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { ConnectivityPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlugin")) DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) DynamicColorPlugin.register(with: registry.registrar(forPlugin: "DynamicColorPlugin")) + FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) diff --git a/app/macos/Runner/DebugProfile.entitlements b/app/macos/Runner/DebugProfile.entitlements index dddb8a30c851..cff5a4b38187 100644 --- a/app/macos/Runner/DebugProfile.entitlements +++ b/app/macos/Runner/DebugProfile.entitlements @@ -8,5 +8,9 @@ <true/> <key>com.apple.security.network.server</key> <true/> + <key>com.apple.security.network.client</key> + <true/> + <key>com.apple.security.files.user-selected.read-write</key> + <true/> </dict> </plist> diff --git a/app/macos/Runner/Release.entitlements b/app/macos/Runner/Release.entitlements index 852fa1a4728a..f8228442ee09 100644 --- a/app/macos/Runner/Release.entitlements +++ b/app/macos/Runner/Release.entitlements @@ -4,5 +4,11 @@ <dict> <key>com.apple.security.app-sandbox</key> <true/> + <key>com.apple.security.network.server</key> + <true/> + <key>com.apple.security.network.client</key> + <true/> + <key>com.apple.security.files.user-selected.read-write</key> + <true/> </dict> </plist> diff --git a/app/pubspec.lock b/app/pubspec.lock index 443d63a2c248..a4a19b362e2a 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -349,10 +349,10 @@ packages: dependency: "direct main" description: name: dynamic_color - sha256: "8b8bd1d798bd393e11eddeaa8ae95b12ff028bf7d5998fc5d003488cd5f4ce2f" + sha256: a866f1f8947bfdaf674d7928e769eac7230388a2e7a2542824fad4bb5b87be3b url: "https://pub.dev" source: hosted - version: "1.6.8" + version: "1.6.9" equatable: dependency: "direct main" description: @@ -393,14 +393,70 @@ packages: url: "https://pub.dev" source: hosted version: "6.1.4" - file_picker: + file_selector: dependency: "direct main" description: - name: file_picker - sha256: "4e42aacde3b993c5947467ab640882c56947d9d27342a5b6f2895b23956954a6" + name: file_selector + sha256: "84eaf3e034d647859167d1f01cfe7b6352488f34c1b4932635012b202014c25b" url: "https://pub.dev" source: hosted - version: "6.1.1" + version: "1.0.1" + file_selector_android: + dependency: transitive + description: + name: file_selector_android + sha256: b7556052dbcc25ef88f6eba45ab98aa5600382af8dfdabc9d644a93d97b7be7f + url: "https://pub.dev" + source: hosted + version: "0.5.0+4" + file_selector_ios: + dependency: transitive + description: + name: file_selector_ios + sha256: "2f48db7e338b2255101c35c604b7ca5ab588dce032db7fc418a2fe5f28da63f8" + url: "https://pub.dev" + source: hosted + version: "0.5.1+7" + file_selector_linux: + dependency: transitive + description: + name: file_selector_linux + sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492" + url: "https://pub.dev" + source: hosted + version: "0.9.2+1" + file_selector_macos: + dependency: transitive + description: + name: file_selector_macos + sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6 + url: "https://pub.dev" + source: hosted + version: "0.9.3+3" + file_selector_platform_interface: + dependency: transitive + description: + name: file_selector_platform_interface + sha256: "0aa47a725c346825a2bd396343ce63ac00bda6eff2fbc43eabe99737dede8262" + url: "https://pub.dev" + source: hosted + version: "2.6.1" + file_selector_web: + dependency: transitive + description: + name: file_selector_web + sha256: c0f025d460de3301b7bbbf837fc8d0759df85f182c635f1dd94934b4cdc92352 + url: "https://pub.dev" + source: hosted + version: "0.9.3" + file_selector_windows: + dependency: transitive + description: + name: file_selector_windows + sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0 + url: "https://pub.dev" + source: hosted + version: "0.9.3+1" fixnum: dependency: transitive description: diff --git a/app/pubspec.yaml b/app/pubspec.yaml index e4b618224698..1a396b77b824 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -31,7 +31,7 @@ dependencies: path_provider: ^2.1.1 shared_preferences: ^2.2.2 url_launcher: ^6.2.2 - file_picker: ^6.1.1 + file_selector: ^1.0.1 phosphor_flutter: git: url: https://github.com/CodeDoctorDE/phosphor-flutter @@ -88,7 +88,7 @@ dependencies: ref: 75b5ec0e51096ae169df3cd4f02c9f6affe22a81 path: packages/networker/networker_socket flutter_localized_locales: ^2.0.5 - dynamic_color: ^1.6.8 + dynamic_color: ^1.6.9 popover: ^0.2.9 markdown: ^7.1.1 device_info_plus: ^9.1.1 diff --git a/app/windows/flutter/generated_plugin_registrant.cc b/app/windows/flutter/generated_plugin_registrant.cc index e157118c86c4..d840abff33b4 100644 --- a/app/windows/flutter/generated_plugin_registrant.cc +++ b/app/windows/flutter/generated_plugin_registrant.cc @@ -9,6 +9,7 @@ #include <camera_windows/camera_windows.h> #include <connectivity_plus/connectivity_plus_windows_plugin.h> #include <dynamic_color/dynamic_color_plugin_c_api.h> +#include <file_selector_windows/file_selector_windows.h> #include <flutter_secure_storage_windows/flutter_secure_storage_windows_plugin.h> #include <printing/printing_plugin.h> #include <screen_retriever/screen_retriever_plugin.h> @@ -23,6 +24,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin")); DynamicColorPluginCApiRegisterWithRegistrar( registry->GetRegistrarForPlugin("DynamicColorPluginCApi")); + FileSelectorWindowsRegisterWithRegistrar( + registry->GetRegistrarForPlugin("FileSelectorWindows")); FlutterSecureStorageWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin")); PrintingPluginRegisterWithRegistrar( diff --git a/app/windows/flutter/generated_plugins.cmake b/app/windows/flutter/generated_plugins.cmake index 3912d8492798..b7e739e743d4 100644 --- a/app/windows/flutter/generated_plugins.cmake +++ b/app/windows/flutter/generated_plugins.cmake @@ -6,6 +6,7 @@ list(APPEND FLUTTER_PLUGIN_LIST camera_windows connectivity_plus dynamic_color + file_selector_windows flutter_secure_storage_windows printing screen_retriever diff --git a/docs/package.json b/docs/package.json index a007264ec163..3c5f14d3c651 100644 --- a/docs/package.json +++ b/docs/package.json @@ -24,11 +24,11 @@ "@docusaurus/preset-classic": "3.0.1", "@docusaurus/theme-common": "3.0.1", "@mdx-js/react": "^3.0.0", - "@swc/core": "^1.3.100", + "@swc/core": "^1.3.101", "animate.css": "^4.1.1", "clsx": "^2.0.0", "node-fetch": "^3.3.2", - "prism-react-renderer": "^2.3.0", + "prism-react-renderer": "^2.3.1", "react": "^18.2.0", "react-animation-on-scroll": "^5.1.0", "react-dom": "^18.2.0", diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index a2054930eab3..80e1cde17655 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -7,28 +7,28 @@ settings: dependencies: '@docusaurus/core': specifier: 3.0.1 - version: 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + version: 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/plugin-client-redirects': specifier: 3.0.1 - version: 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + version: 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/plugin-content-docs': specifier: 3.0.1 - version: 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + version: 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/plugin-pwa': specifier: 3.0.1 - version: 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + version: 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/preset-classic': specifier: 3.0.1 - version: 3.0.1(@algolia/client-search@4.22.0)(@swc/core@1.3.100)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) + version: 3.0.1(@algolia/client-search@4.22.0)(@swc/core@1.3.101)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) '@docusaurus/theme-common': specifier: 3.0.1 - version: 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + version: 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@mdx-js/react': specifier: ^3.0.0 version: 3.0.0(@types/react@18.2.45)(react@18.2.0) '@swc/core': - specifier: ^1.3.100 - version: 1.3.100 + specifier: ^1.3.101 + version: 1.3.101 animate.css: specifier: ^4.1.1 version: 4.1.1 @@ -39,8 +39,8 @@ dependencies: specifier: ^3.3.2 version: 3.3.2 prism-react-renderer: - specifier: ^2.3.0 - version: 2.3.0(react@18.2.0) + specifier: ^2.3.1 + version: 2.3.1(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -52,7 +52,7 @@ dependencies: version: 18.2.0(react@18.2.0) swc-loader: specifier: ^0.2.3 - version: 0.2.3(@swc/core@1.3.100)(webpack@5.89.0) + version: 0.2.3(@swc/core@1.3.101)(webpack@5.89.0) ua-parser-js: specifier: ^1.0.37 version: 1.0.37 @@ -60,7 +60,7 @@ dependencies: devDependencies: '@docusaurus/module-type-aliases': specifier: 3.0.1 - version: 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) + version: 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/tsconfig': specifier: 3.0.1 version: 3.0.1 @@ -72,7 +72,7 @@ devDependencies: version: 5.3.3 webpack: specifier: ^5.89.0 - version: 5.89.0(@swc/core@1.3.100) + version: 5.89.0(@swc/core@1.3.101) packages: @@ -1496,14 +1496,14 @@ packages: engines: {node: '>=6.9.0'} dependencies: core-js-pure: 3.34.0 - regenerator-runtime: 0.14.0 + regenerator-runtime: 0.14.1 dev: false /@babel/runtime@7.23.6: resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.14.0 + regenerator-runtime: 0.14.1 /@babel/template@7.22.15: resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} @@ -1586,7 +1586,7 @@ packages: - '@algolia/client-search' dev: false - /@docusaurus/core@3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/core@3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-CXrLpOnW+dJdSv8M5FAJ3JBwXtL6mhUWxFA8aS0ozK6jBG/wgxERk5uvH28fCeFxOGbAT9v1e9dOMo1X2IEVhQ==} engines: {node: '>=18.0'} hasBin: true @@ -1606,11 +1606,11 @@ packages: '@babel/traverse': 7.23.6 '@docusaurus/cssnano-preset': 3.0.1 '@docusaurus/logger': 3.0.1 - '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/react-loadable': 5.5.2(react@18.2.0) - '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) '@docusaurus/utils-common': 3.0.1(@docusaurus/types@3.0.1) - '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) '@slorber/static-site-generator-webpack-plugin': 4.0.7 '@svgr/webpack': 6.5.1 autoprefixer: 10.4.16(postcss@8.4.32) @@ -1636,7 +1636,7 @@ packages: fs-extra: 11.2.0 html-minifier-terser: 7.2.0 html-tags: 3.3.1 - html-webpack-plugin: 5.5.4(webpack@5.89.0) + html-webpack-plugin: 5.6.0(webpack@5.89.0) leven: 3.1.0 lodash: 4.17.21 mini-css-extract-plugin: 2.7.6(webpack@5.89.0) @@ -1656,11 +1656,11 @@ packages: semver: 7.5.4 serve-handler: 6.1.5 shelljs: 0.8.5 - terser-webpack-plugin: 5.3.9(@swc/core@1.3.100)(webpack@5.89.0) + terser-webpack-plugin: 5.3.9(@swc/core@1.3.101)(webpack@5.89.0) tslib: 2.6.2 update-notifier: 6.0.2 url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0) - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) webpack-bundle-analyzer: 4.10.1 webpack-dev-server: 4.15.1(webpack@5.89.0) webpack-merge: 5.10.0 @@ -1668,6 +1668,7 @@ packages: transitivePeerDependencies: - '@docusaurus/types' - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - bufferutil @@ -1702,7 +1703,7 @@ packages: tslib: 2.6.2 dev: false - /@docusaurus/mdx-loader@3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0): + /@docusaurus/mdx-loader@3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-ldnTmvnvlrONUq45oKESrpy+lXtbnTcTsFkOTIDswe5xx5iWJjt6eSa0f99ZaWlnm24mlojcIGoUWNCS53qVlQ==} engines: {node: '>=18.0'} peerDependencies: @@ -1712,8 +1713,8 @@ packages: '@babel/parser': 7.23.6 '@babel/traverse': 7.23.6 '@docusaurus/logger': 3.0.1 - '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) - '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) + '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) '@mdx-js/mdx': 3.0.0 '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 @@ -1736,7 +1737,7 @@ packages: unist-util-visit: 5.0.0 url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0) vfile: 6.0.1 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) transitivePeerDependencies: - '@docusaurus/types' - '@swc/core' @@ -1746,21 +1747,21 @@ packages: - webpack-cli dev: false - /@docusaurus/module-type-aliases@3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0): + /@docusaurus/module-type-aliases@3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-DEHpeqUDsLynl3AhQQiO7AbC7/z/lBra34jTcdYuvp9eGm01pfH1wTVq8YqWZq6Jyx0BgcVl/VJqtE9StRd9Ag==} peerDependencies: react: '*' react-dom: '*' dependencies: '@docusaurus/react-loadable': 5.5.2(react@18.2.0) - '@docusaurus/types': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/types': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) '@types/history': 4.7.11 '@types/react': 18.2.45 '@types/react-router-config': 5.0.11 '@types/react-router-dom': 5.3.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-helmet-async: 2.0.3(react-dom@18.2.0)(react@18.2.0) + react-helmet-async: 2.0.4(react-dom@18.2.0)(react@18.2.0) react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0) transitivePeerDependencies: - '@swc/core' @@ -1768,18 +1769,18 @@ packages: - uglify-js - webpack-cli - /@docusaurus/plugin-client-redirects@3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-client-redirects@3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-CoZapnHbV3j5jsHCa/zmKaa8+H+oagHBgg91dN5I8/3kFit/xtZPfRaznvDX49cHg2nSoV74B3VMAT+bvCmzFQ==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.0.1 - '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) '@docusaurus/utils-common': 3.0.1(@docusaurus/types@3.0.1) - '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) eta: 2.2.0 fs-extra: 11.2.0 lodash: 4.17.21 @@ -1789,6 +1790,7 @@ packages: transitivePeerDependencies: - '@docusaurus/types' - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - bufferutil @@ -1805,20 +1807,20 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-blog@3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-content-blog@3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-cLOvtvAyaMQFLI8vm4j26svg3ktxMPSXpuUJ7EERKoGbfpJSsgtowNHcRsaBVmfuCsRSk1HZ/yHBsUkTmHFEsg==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.0.1 - '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/types': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/types': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) '@docusaurus/utils-common': 3.0.1(@docusaurus/types@3.0.1) - '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) cheerio: 1.0.0-rc.12 feed: 4.2.2 fs-extra: 11.2.0 @@ -1830,9 +1832,10 @@ packages: tslib: 2.6.2 unist-util-visit: 5.0.0 utility-types: 3.10.0 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - bufferutil @@ -1849,20 +1852,20 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-docs@3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-content-docs@3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-dRfAOA5Ivo+sdzzJGXEu33yAtvGg8dlZkvt/NEJ7nwi1F2j4LEdsxtfX2GKeETB2fP6XoGNSQnFXqa2NYGrHFg==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.0.1 - '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/module-type-aliases': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/types': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) - '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/module-type-aliases': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/types': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) + '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) '@types/react-router-config': 5.0.11 combine-promises: 1.2.0 fs-extra: 11.2.0 @@ -1872,9 +1875,10 @@ packages: react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 utility-types: 3.10.0 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - bufferutil @@ -1891,25 +1895,26 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-pages@3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-content-pages@3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-oP7PoYizKAXyEttcvVzfX3OoBIXEmXTMzCdfmC4oSwjG4SPcJsRge3mmI6O8jcZBgUPjIzXD21bVGWEE1iu8gg==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/types': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) - '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/types': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) + '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - bufferutil @@ -1926,16 +1931,16 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-debug@3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-debug@3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-09dxZMdATky4qdsZGzhzlUvvC+ilQ2hKbYF+wez+cM2mGo4qHbv8+qKXqxq0CQZyimwlAOWQLoSozIXU0g0i7g==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/types': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/types': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1943,6 +1948,7 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - bufferutil @@ -1959,21 +1965,22 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-analytics@3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-google-analytics@3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-jwseSz1E+g9rXQwDdr0ZdYNjn8leZBnKPjjQhMBEiwDoenL3JYFcNW0+p0sWoVF/f2z5t7HkKA+cYObrUh18gg==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/types': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/types': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - bufferutil @@ -1990,22 +1997,23 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-gtag@3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-google-gtag@3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-UFTDvXniAWrajsulKUJ1DB6qplui1BlKLQZjX4F7qS/qfJ+qkKqSkhJ/F4VuGQ2JYeZstYb+KaUzUzvaPK1aRQ==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/types': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/types': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) '@types/gtag.js': 0.0.12 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - bufferutil @@ -2022,21 +2030,22 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-tag-manager@3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-google-tag-manager@3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-IPFvuz83aFuheZcWpTlAdiiX1RqWIHM+OH8wS66JgwAKOiQMR3+nLywGjkLV4bp52x7nCnwhNk1rE85Cpy/CIw==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/types': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/types': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - bufferutil @@ -2053,7 +2062,7 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-pwa@3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-pwa@3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-KC9Axpw7NOB2RiW/28jq56Q8o6CLXo2pqo/b513g9WTqYkSCadm43inIEo7bSiyXaOTWvhW1f5H5jUEU4wM8LA==} engines: {node: '>=18.0'} peerDependencies: @@ -2062,20 +2071,20 @@ packages: dependencies: '@babel/core': 7.23.6 '@babel/preset-env': 7.23.6(@babel/core@7.23.6) - '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-common': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-common': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/theme-translations': 3.0.1 - '@docusaurus/types': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) - '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/types': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) + '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) babel-loader: 9.1.3(@babel/core@7.23.6)(webpack@5.89.0) clsx: 2.0.0 core-js: 3.34.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - terser-webpack-plugin: 5.3.9(@swc/core@1.3.100)(webpack@5.89.0) + terser-webpack-plugin: 5.3.9(@swc/core@1.3.101)(webpack@5.89.0) tslib: 2.6.2 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) webpack-merge: 5.10.0 webpackbar: 5.0.2(webpack@5.89.0) workbox-build: 6.6.1 @@ -2083,6 +2092,7 @@ packages: workbox-window: 6.6.1 transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - '@types/babel__core' @@ -2100,19 +2110,19 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-sitemap@3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-sitemap@3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-xARiWnjtVvoEniZudlCq5T9ifnhCu/GAZ5nA7XgyLfPcNpHQa241HZdsTlLtVcecEVVdllevBKOp7qknBBaMGw==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.0.1 - '@docusaurus/types': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/types': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) '@docusaurus/utils-common': 3.0.1(@docusaurus/types@3.0.1) - '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -2120,6 +2130,7 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - bufferutil @@ -2136,31 +2147,32 @@ packages: - webpack-cli dev: false - /@docusaurus/preset-classic@3.0.1(@algolia/client-search@4.22.0)(@swc/core@1.3.100)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): + /@docusaurus/preset-classic@3.0.1(@algolia/client-search@4.22.0)(@swc/core@1.3.101)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): resolution: {integrity: sha512-il9m9xZKKjoXn6h0cRcdnt6wce0Pv1y5t4xk2Wx7zBGhKG1idu4IFHtikHlD0QPuZ9fizpXspXcTzjL5FXc1Gw==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-blog': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-docs': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-pages': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-debug': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-google-analytics': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-google-gtag': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-google-tag-manager': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-sitemap': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-classic': 3.0.1(@swc/core@1.3.100)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-common': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-search-algolia': 3.0.1(@algolia/client-search@4.22.0)(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) - '@docusaurus/types': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-blog': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-docs': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-pages': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-debug': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-google-analytics': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-google-gtag': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-google-tag-manager': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-sitemap': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-classic': 3.0.1(@swc/core@1.3.101)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-common': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-search-algolia': 3.0.1(@algolia/client-search@4.22.0)(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) + '@docusaurus/types': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: - '@algolia/client-search' - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - '@types/react' @@ -2188,25 +2200,25 @@ packages: prop-types: 15.8.1 react: 18.2.0 - /@docusaurus/theme-classic@3.0.1(@swc/core@1.3.100)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/theme-classic@3.0.1(@swc/core@1.3.101)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-XD1FRXaJiDlmYaiHHdm27PNhhPboUah9rqIH0lMpBt5kYtsGjJzhqa27KuZvHLzOP2OEpqd2+GZ5b6YPq7Q05Q==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/module-type-aliases': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/plugin-content-blog': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-docs': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-pages': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-common': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/module-type-aliases': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/plugin-content-blog': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-docs': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-pages': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-common': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/theme-translations': 3.0.1 - '@docusaurus/types': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/types': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) '@docusaurus/utils-common': 3.0.1(@docusaurus/types@3.0.1) - '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) '@mdx-js/react': 3.0.0(@types/react@18.2.45)(react@18.2.0) clsx: 2.0.0 copy-text-to-clipboard: 3.2.0 @@ -2214,7 +2226,7 @@ packages: lodash: 4.17.21 nprogress: 0.2.0 postcss: 8.4.32 - prism-react-renderer: 2.3.0(react@18.2.0) + prism-react-renderer: 2.3.1(react@18.2.0) prismjs: 1.29.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -2224,6 +2236,7 @@ packages: utility-types: 3.10.0 transitivePeerDependencies: - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - '@types/react' @@ -2241,26 +2254,26 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-common@3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/theme-common@3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-cr9TOWXuIOL0PUfuXv6L5lPlTgaphKP+22NdVBOYah5jSq5XAAulJTjfe+IfLsEG4L7lJttLbhW7LXDFSAI7Ag==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/module-type-aliases': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/plugin-content-blog': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-docs': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-pages': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/mdx-loader': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/module-type-aliases': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/plugin-content-blog': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-docs': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-pages': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) '@docusaurus/utils-common': 3.0.1(@docusaurus/types@3.0.1) '@types/history': 4.7.11 '@types/react': 18.2.45 '@types/react-router-config': 5.0.11 clsx: 2.0.0 parse-numeric-range: 1.3.0 - prism-react-renderer: 2.3.0(react@18.2.0) + prism-react-renderer: 2.3.1(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 @@ -2268,6 +2281,7 @@ packages: transitivePeerDependencies: - '@docusaurus/types' - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - bufferutil @@ -2284,7 +2298,7 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-search-algolia@3.0.1(@algolia/client-search@4.22.0)(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): + /@docusaurus/theme-search-algolia@3.0.1(@algolia/client-search@4.22.0)(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): resolution: {integrity: sha512-DDiPc0/xmKSEdwFkXNf1/vH1SzJPzuJBar8kMcBbDAZk/SAmo/4lf6GU2drou4Ae60lN2waix+jYWTWcJRahSA==} engines: {node: '>=18.0'} peerDependencies: @@ -2292,15 +2306,15 @@ packages: react-dom: ^18.0.0 dependencies: '@docsearch/react': 3.5.2(@algolia/client-search@4.22.0)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0) - '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.0.1 - '@docusaurus/plugin-content-docs': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-common': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-docs': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-common': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/theme-translations': 3.0.1 - '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) - '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) + '@docusaurus/utils-validation': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) algoliasearch: 4.22.0 - algoliasearch-helper: 3.16.0(algoliasearch@4.22.0) + algoliasearch-helper: 3.16.1(algoliasearch@4.22.0) clsx: 2.0.0 eta: 2.2.0 fs-extra: 11.2.0 @@ -2313,6 +2327,7 @@ packages: - '@algolia/client-search' - '@docusaurus/types' - '@parcel/css' + - '@rspack/core' - '@swc/core' - '@swc/css' - '@types/react' @@ -2343,7 +2358,7 @@ packages: resolution: {integrity: sha512-hT2HCdNE3pWTzXV/7cSsowfmaOxXVOTFOXmkqaYjBWjaxjJ3FO0nHbdJ8rF6Da7PvWmIPbUekdP5gep1XCJ7Vg==} dev: true - /@docusaurus/types@3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0): + /@docusaurus/types@3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-plyX2iU1tcUsF46uQ01pAd4JhexR7n0iiQ5MSnBFX6M6NSJgDYdru/i1/YNPKOnQHBoXGLHv0dNT6OAlDWNjrg==} peerDependencies: react: ^18.0.0 @@ -2357,7 +2372,7 @@ packages: react-dom: 18.2.0(react@18.2.0) react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) utility-types: 3.10.0 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) webpack-merge: 5.10.0 transitivePeerDependencies: - '@swc/core' @@ -2374,16 +2389,16 @@ packages: '@docusaurus/types': optional: true dependencies: - '@docusaurus/types': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/types': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) tslib: 2.6.2 dev: false - /@docusaurus/utils-validation@3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100): + /@docusaurus/utils-validation@3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101): resolution: {integrity: sha512-ujTnqSfyGQ7/4iZdB4RRuHKY/Nwm58IIb+41s5tCXOv/MBU2wGAjOHq3U+AEyJ8aKQcHbxvTKJaRchNHYUVUQg==} engines: {node: '>=18.0'} dependencies: '@docusaurus/logger': 3.0.1 - '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100) + '@docusaurus/utils': 3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101) joi: 17.11.0 js-yaml: 4.1.0 tslib: 2.6.2 @@ -2396,7 +2411,7 @@ packages: - webpack-cli dev: false - /@docusaurus/utils@3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.100): + /@docusaurus/utils@3.0.1(@docusaurus/types@3.0.1)(@swc/core@1.3.101): resolution: {integrity: sha512-TwZ33Am0q4IIbvjhUOs+zpjtD/mXNmLmEgeTGuRq01QzulLHuPhaBTTAC/DHu6kFx3wDgmgpAlaRuCHfTcXv8g==} engines: {node: '>=18.0'} peerDependencies: @@ -2406,7 +2421,7 @@ packages: optional: true dependencies: '@docusaurus/logger': 3.0.1 - '@docusaurus/types': 3.0.1(@swc/core@1.3.100)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/types': 3.0.1(@swc/core@1.3.101)(react-dom@18.2.0)(react@18.2.0) '@svgr/webpack': 6.5.1 escape-string-regexp: 4.0.0 file-loader: 6.2.0(webpack@5.89.0) @@ -2422,7 +2437,7 @@ packages: shelljs: 0.8.5 tslib: 2.6.2 url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0) - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) transitivePeerDependencies: - '@swc/core' - esbuild @@ -2453,7 +2468,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.10.4 + '@types/node': 20.10.5 '@types/yargs': 17.0.32 chalk: 4.1.2 dev: false @@ -2550,7 +2565,7 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.16.0 /@pnpm/config.env-replace@1.1.0: resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} @@ -2840,80 +2855,88 @@ packages: - supports-color dev: false - /@swc/core-darwin-arm64@1.3.100: - resolution: {integrity: sha512-XVWFsKe6ei+SsDbwmsuRkYck1SXRpO60Hioa4hoLwR8fxbA9eVp6enZtMxzVVMBi8ej5seZ4HZQeAWepbukiBw==} + /@swc/core-darwin-arm64@1.3.101: + resolution: {integrity: sha512-mNFK+uHNPRXSnfTOG34zJOeMl2waM4hF4a2NY7dkMXrPqw9CoJn4MwTXJcyMiSz1/BnNjjTCHF3Yhj0jPxmkzQ==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@swc/core-darwin-x64@1.3.100: - resolution: {integrity: sha512-KF/MXrnH1nakm1wbt4XV8FS7kvqD9TGmVxeJ0U4bbvxXMvzeYUurzg3AJUTXYmXDhH/VXOYJE5N5RkwZZPs5iA==} + /@swc/core-darwin-x64@1.3.101: + resolution: {integrity: sha512-B085j8XOx73Fg15KsHvzYWG262bRweGr3JooO1aW5ec5pYbz5Ew9VS5JKYS03w2UBSxf2maWdbPz2UFAxg0whw==} engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@swc/core-linux-arm64-gnu@1.3.100: - resolution: {integrity: sha512-p8hikNnAEJrw5vHCtKiFT4hdlQxk1V7vqPmvUDgL/qe2menQDK/i12tbz7/3BEQ4UqUPnvwpmVn2d19RdEMNxw==} + /@swc/core-linux-arm-gnueabihf@1.3.101: + resolution: {integrity: sha512-9xLKRb6zSzRGPqdz52Hy5GuB1lSjmLqa0lST6MTFads3apmx4Vgs8Y5NuGhx/h2I8QM4jXdLbpqQlifpzTlSSw==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@swc/core-linux-arm64-gnu@1.3.101: + resolution: {integrity: sha512-oE+r1lo7g/vs96Weh2R5l971dt+ZLuhaUX+n3BfDdPxNHfObXgKMjO7E+QS5RbGjv/AwiPCxQmbdCp/xN5ICJA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-arm64-musl@1.3.100: - resolution: {integrity: sha512-BWx/0EeY89WC4q3AaIaBSGfQxkYxIlS3mX19dwy2FWJs/O+fMvF9oLk/CyJPOZzbp+1DjGeeoGFuDYpiNO91JA==} + /@swc/core-linux-arm64-musl@1.3.101: + resolution: {integrity: sha512-OGjYG3H4BMOTnJWJyBIovCez6KiHF30zMIu4+lGJTCrxRI2fAjGLml3PEXj8tC3FMcud7U2WUn6TdG0/te2k6g==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-gnu@1.3.100: - resolution: {integrity: sha512-XUdGu3dxAkjsahLYnm8WijPfKebo+jHgHphDxaW0ovI6sTdmEGFDew7QzKZRlbYL2jRkUuuKuDGvD6lO5frmhA==} + /@swc/core-linux-x64-gnu@1.3.101: + resolution: {integrity: sha512-/kBMcoF12PRO/lwa8Z7w4YyiKDcXQEiLvM+S3G9EvkoKYGgkkz4Q6PSNhF5rwg/E3+Hq5/9D2R+6nrkF287ihg==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-musl@1.3.100: - resolution: {integrity: sha512-PhoXKf+f0OaNW/GCuXjJ0/KfK9EJX7z2gko+7nVnEA0p3aaPtbP6cq1Ubbl6CMoPL+Ci3gZ7nYumDqXNc3CtLQ==} + /@swc/core-linux-x64-musl@1.3.101: + resolution: {integrity: sha512-kDN8lm4Eew0u1p+h1l3JzoeGgZPQ05qDE0czngnjmfpsH2sOZxVj1hdiCwS5lArpy7ktaLu5JdRnx70MkUzhXw==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-win32-arm64-msvc@1.3.100: - resolution: {integrity: sha512-PwLADZN6F9cXn4Jw52FeP/MCLVHm8vwouZZSOoOScDtihjY495SSjdPnlosMaRSR4wJQssGwiD/4MbpgQPqbAw==} + /@swc/core-win32-arm64-msvc@1.3.101: + resolution: {integrity: sha512-9Wn8TTLWwJKw63K/S+jjrZb9yoJfJwCE2RV5vPCCWmlMf3U1AXj5XuWOLUX+Rp2sGKau7wZKsvywhheWm+qndQ==} engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-ia32-msvc@1.3.100: - resolution: {integrity: sha512-0f6nicKSLlDKlyPRl2JEmkpBV4aeDfRQg6n8mPqgL7bliZIcDahG0ej+HxgNjZfS3e0yjDxsNRa6sAqWU2Z60A==} + /@swc/core-win32-ia32-msvc@1.3.101: + resolution: {integrity: sha512-onO5KvICRVlu2xmr4//V2je9O2XgS1SGKpbX206KmmjcJhXN5EYLSxW9qgg+kgV5mip+sKTHTAu7IkzkAtElYA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-x64-msvc@1.3.100: - resolution: {integrity: sha512-b7J0rPoMkRTa3XyUGt8PwCaIBuYWsL2DqbirrQKRESzgCvif5iNpqaM6kjIjI/5y5q1Ycv564CB51YDpiS8EtQ==} + /@swc/core-win32-x64-msvc@1.3.101: + resolution: {integrity: sha512-T3GeJtNQV00YmiVw/88/nxJ/H43CJvFnpvBHCVn17xbahiVUOPOduh3rc9LgAkKiNt/aV8vU3OJR+6PhfMR7UQ==} engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@swc/core@1.3.100: - resolution: {integrity: sha512-7dKgTyxJjlrMwFZYb1auj3Xq0D8ZBe+5oeIgfMlRU05doXZypYJe0LAk0yjj3WdbwYzpF+T1PLxwTWizI0pckw==} + /@swc/core@1.3.101: + resolution: {integrity: sha512-w5aQ9qYsd/IYmXADAnkXPGDMTqkQalIi+kfFf/MHRKTpaOL7DHjMXwPp/n8hJ0qNjRvchzmPtOqtPBiER50d8A==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -2925,15 +2948,16 @@ packages: '@swc/counter': 0.1.2 '@swc/types': 0.1.5 optionalDependencies: - '@swc/core-darwin-arm64': 1.3.100 - '@swc/core-darwin-x64': 1.3.100 - '@swc/core-linux-arm64-gnu': 1.3.100 - '@swc/core-linux-arm64-musl': 1.3.100 - '@swc/core-linux-x64-gnu': 1.3.100 - '@swc/core-linux-x64-musl': 1.3.100 - '@swc/core-win32-arm64-msvc': 1.3.100 - '@swc/core-win32-ia32-msvc': 1.3.100 - '@swc/core-win32-x64-msvc': 1.3.100 + '@swc/core-darwin-arm64': 1.3.101 + '@swc/core-darwin-x64': 1.3.101 + '@swc/core-linux-arm-gnueabihf': 1.3.101 + '@swc/core-linux-arm64-gnu': 1.3.101 + '@swc/core-linux-arm64-musl': 1.3.101 + '@swc/core-linux-x64-gnu': 1.3.101 + '@swc/core-linux-x64-musl': 1.3.101 + '@swc/core-win32-arm64-msvc': 1.3.101 + '@swc/core-win32-ia32-msvc': 1.3.101 + '@swc/core-win32-x64-msvc': 1.3.101 /@swc/counter@0.1.2: resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==} @@ -2963,26 +2987,26 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.10.4 + '@types/node': 20.10.5 dev: false /@types/bonjour@3.5.13: resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.10.5 dev: false /@types/connect-history-api-fallback@1.5.4: resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: '@types/express-serve-static-core': 4.17.41 - '@types/node': 20.10.4 + '@types/node': 20.10.5 dev: false /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.10.5 dev: false /@types/debug@4.1.12: @@ -2994,11 +3018,11 @@ packages: /@types/eslint-scope@3.7.7: resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: - '@types/eslint': 8.44.9 + '@types/eslint': 8.56.0 '@types/estree': 1.0.5 - /@types/eslint@8.44.9: - resolution: {integrity: sha512-6yBxcvwnnYoYT1Uk2d+jvIfsuP4mb2EdIxFnrPABj5a/838qe5bGkNLFOiipX4ULQ7XVQvTxOh7jO+BTAiqsEw==} + /@types/eslint@8.56.0: + resolution: {integrity: sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg==} dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 @@ -3019,7 +3043,7 @@ packages: /@types/express-serve-static-core@4.17.41: resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.10.5 '@types/qs': 6.9.10 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -3062,7 +3086,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.10.5 dev: false /@types/istanbul-lib-coverage@2.0.6: @@ -3109,15 +3133,15 @@ packages: /@types/node-forge@1.3.10: resolution: {integrity: sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.10.5 dev: false /@types/node@17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: false - /@types/node@20.10.4: - resolution: {integrity: sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==} + /@types/node@20.10.5: + resolution: {integrity: sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==} dependencies: undici-types: 5.26.5 @@ -3170,7 +3194,7 @@ packages: /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.10.5 dev: false /@types/retry@0.12.0: @@ -3190,7 +3214,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.10.4 + '@types/node': 20.10.5 dev: false /@types/serve-index@1.9.4: @@ -3204,13 +3228,13 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.10.4 + '@types/node': 20.10.5 dev: false /@types/sockjs@0.3.36: resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.10.5 dev: false /@types/trusted-types@2.0.7: @@ -3228,7 +3252,7 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.10.5 dev: false /@types/yargs-parser@21.0.3: @@ -3432,8 +3456,8 @@ packages: uri-js: 4.4.1 dev: false - /algoliasearch-helper@3.16.0(algoliasearch@4.22.0): - resolution: {integrity: sha512-RxOtBafSQwyqD5BLO/q9VsVw/zuNz8kjb51OZhCIWLr33uvKB+vrRis+QK+JFlNQXbXf+w28fsTWiBupc1pHew==} + /algoliasearch-helper@3.16.1(algoliasearch@4.22.0): + resolution: {integrity: sha512-qxAHVjjmT7USVvrM8q6gZGaJlCK1fl4APfdAA7o8O6iXEc68G0xMNrzRkxoB/HmhhvyHnoteS/iMTiHiTcQQcg==} peerDependencies: algoliasearch: '>= 3.1 < 6' dependencies: @@ -3604,7 +3628,7 @@ packages: '@babel/core': 7.23.6 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) dev: false /babel-plugin-dynamic-import-node@2.3.3: @@ -3756,7 +3780,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001570 - electron-to-chromium: 1.4.613 + electron-to-chromium: 1.4.615 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.2) @@ -4145,7 +4169,7 @@ packages: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.1 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) dev: false /core-js-compat@3.34.0: @@ -4250,7 +4274,7 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.32) postcss-value-parser: 4.2.0 semver: 7.5.4 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) dev: false /css-minimizer-webpack-plugin@4.2.2(clean-css@5.3.3)(webpack@5.89.0): @@ -4285,7 +4309,7 @@ packages: schema-utils: 4.2.0 serialize-javascript: 6.0.1 source-map: 0.6.1 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) dev: false /css-select@4.3.0: @@ -4674,8 +4698,8 @@ packages: jake: 10.8.7 dev: false - /electron-to-chromium@1.4.613: - resolution: {integrity: sha512-r4x5+FowKG6q+/Wj0W9nidx7QO31BJwmR2uEo+Qh3YLGQ8SbBAFuDFpTxzly/I2gsbrFwBuIjrMp423L3O5U3w==} + /electron-to-chromium@1.4.615: + resolution: {integrity: sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng==} /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -4922,7 +4946,7 @@ packages: resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} engines: {node: '>= 0.8'} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.10.5 require-like: 0.1.2 dev: false @@ -5021,8 +5045,8 @@ packages: punycode: 1.4.1 dev: false - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + /fastq@1.16.0: + resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} dependencies: reusify: 1.0.4 @@ -5062,7 +5086,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) dev: false /filelist@1.0.4: @@ -5176,7 +5200,7 @@ packages: semver: 7.5.4 tapable: 1.1.3 typescript: 5.3.3 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) dev: false /form-data-encoder@2.1.4: @@ -5680,18 +5704,24 @@ packages: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} dev: false - /html-webpack-plugin@5.5.4(webpack@5.89.0): - resolution: {integrity: sha512-3wNSaVVxdxcu0jd4FpQFoICdqgxs4zIQQvj+2yQKFfBOnLETQ6X5CDWdeasuGlSsooFlMkEioWDTqBv1wvw5Iw==} + /html-webpack-plugin@5.6.0(webpack@5.89.0): + resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} engines: {node: '>=10.13.0'} peerDependencies: + '@rspack/core': 0.x || 1.x webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) dev: false /htmlparser2@6.1.0: @@ -6204,7 +6234,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.10.4 + '@types/node': 20.10.5 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -6215,7 +6245,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.10.5 merge-stream: 2.0.0 supports-color: 7.2.0 dev: false @@ -6224,7 +6254,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.10.5 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -6232,7 +6262,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.10.4 + '@types/node': 20.10.5 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7217,7 +7247,7 @@ packages: webpack: ^5.0.0 dependencies: schema-utils: 4.2.0 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) dev: false /minimalistic-assert@1.0.1: @@ -7241,8 +7271,8 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: false - /mrmime@1.0.1: - resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + /mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} engines: {node: '>=10'} dev: false @@ -7742,7 +7772,7 @@ packages: jiti: 1.21.0 postcss: 8.4.32 semver: 7.5.4 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) transitivePeerDependencies: - typescript dev: false @@ -8078,8 +8108,8 @@ packages: engines: {node: '>=4'} dev: false - /prism-react-renderer@2.3.0(react@18.2.0): - resolution: {integrity: sha512-UYRg2TkVIaI6tRVHC5OJ4/BxqPUxJkJvq/odLT/ykpt1zGYXooNperUxQcCvi87LyRnR4nCh81ceOA+e7nrydg==} + /prism-react-renderer@2.3.1(react@18.2.0): + resolution: {integrity: sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw==} peerDependencies: react: '>=16.0.0' dependencies: @@ -8243,7 +8273,7 @@ packages: strip-ansi: 6.0.1 text-table: 0.2.0 typescript: 5.3.3 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) transitivePeerDependencies: - eslint - supports-color @@ -8280,8 +8310,8 @@ packages: react-fast-compare: 3.2.2 shallowequal: 1.1.0 - /react-helmet-async@2.0.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-7/X3ehSCbjCaIljWa39Bb7F1Y2JWM23FN80kLozx2TdgzUmxKDSLN6qu06NG0Srzm8ljGOjgk7r7CXeEOx4MPw==} + /react-helmet-async@2.0.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ==} peerDependencies: react: ^16.6.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 @@ -8313,7 +8343,7 @@ packages: dependencies: '@babel/runtime': 7.23.6 react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0) - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) dev: false /react-router-config@5.1.1(react-router@5.3.4)(react@18.2.0): @@ -8422,8 +8452,8 @@ packages: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} dev: false - /regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} @@ -8934,12 +8964,12 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false - /sirv@2.0.3: - resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} + /sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} dependencies: '@polka/url': 1.0.0-next.24 - mrmime: 1.0.1 + mrmime: 2.0.0 totalist: 3.0.1 dev: false @@ -9278,14 +9308,14 @@ packages: stable: 0.1.8 dev: false - /swc-loader@0.2.3(@swc/core@1.3.100)(webpack@5.89.0): + /swc-loader@0.2.3(@swc/core@1.3.101)(webpack@5.89.0): resolution: {integrity: sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A==} peerDependencies: '@swc/core': ^1.2.147 webpack: '>=2' dependencies: - '@swc/core': 1.3.100 - webpack: 5.89.0(@swc/core@1.3.100) + '@swc/core': 1.3.101 + webpack: 5.89.0(@swc/core@1.3.101) dev: false /tapable@1.1.3: @@ -9312,7 +9342,7 @@ packages: unique-string: 2.0.0 dev: false - /terser-webpack-plugin@5.3.9(@swc/core@1.3.100)(webpack@5.89.0): + /terser-webpack-plugin@5.3.9(@swc/core@1.3.101)(webpack@5.89.0): resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -9329,12 +9359,12 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.20 - '@swc/core': 1.3.100 + '@swc/core': 1.3.101 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 terser: 5.26.0 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) /terser@5.26.0: resolution: {integrity: sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==} @@ -9662,7 +9692,7 @@ packages: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) dev: false /util-deprecate@1.0.2: @@ -9760,7 +9790,7 @@ packages: is-plain-object: 5.0.0 opener: 1.5.2 picocolors: 1.0.0 - sirv: 2.0.3 + sirv: 2.0.4 ws: 7.5.9 transitivePeerDependencies: - bufferutil @@ -9778,7 +9808,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) dev: false /webpack-dev-server@4.15.1(webpack@5.89.0): @@ -9822,7 +9852,7 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) webpack-dev-middleware: 5.3.3(webpack@5.89.0) ws: 8.15.1 transitivePeerDependencies: @@ -9844,7 +9874,7 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - /webpack@5.89.0(@swc/core@1.3.100): + /webpack@5.89.0(@swc/core@1.3.101): resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} engines: {node: '>=10.13.0'} hasBin: true @@ -9875,7 +9905,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.9(@swc/core@1.3.100)(webpack@5.89.0) + terser-webpack-plugin: 5.3.9(@swc/core@1.3.101)(webpack@5.89.0) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -9893,7 +9923,7 @@ packages: consola: 2.15.3 pretty-time: 1.1.0 std-env: 3.6.0 - webpack: 5.89.0(@swc/core@1.3.100) + webpack: 5.89.0(@swc/core@1.3.101) dev: false /websocket-driver@0.7.4: diff --git a/fastlane/metadata/android/en-US/changelogs/84.txt b/fastlane/metadata/android/en-US/changelogs/84.txt index 4d2f534f5208..7fbd18d48c04 100644 --- a/fastlane/metadata/android/en-US/changelogs/84.txt +++ b/fastlane/metadata/android/en-US/changelogs/84.txt @@ -3,6 +3,7 @@ * Change dropdown to modal bottom sheet for density personalisation setting * Improve responsiveness of dialogs on mobile devices ([#550](https://github.com/LinwoodDev/Butterfly/issues/550)) * Improve add dialog trailing icon ([#550](https://github.com/LinwoodDev/Butterfly/issues/550)) +* Replace file picker package * Fix back button closes app on mobile ([#551](https://github.com/LinwoodDev/Butterfly/issues/551)) * Fix default color when adding tools * Fix elements selection will be cleared after unfocusing