diff options
| author | MohamedBassem <me@mbassem.com> | 2024-07-28 20:03:15 -0700 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-07-28 20:56:27 -0700 |
| commit | 93afb75619a02aa741b464634911b994620092be (patch) | |
| tree | 414eb0b184027c67b01112caa56c039f2d82aebf | |
| parent | 92c92c161b3195bdfb571284e783f39f369a25a5 (diff) | |
| download | karakeep-93afb75619a02aa741b464634911b994620092be.tar.zst | |
feat(mobile): Add ability to manage lists
| -rw-r--r-- | apps/mobile/app/_layout.tsx | 50 | ||||
| -rw-r--r-- | apps/mobile/app/sharing.tsx | 40 | ||||
| -rw-r--r-- | apps/mobile/components/bookmarks/BookmarkCard.tsx | 20 | ||||
| -rw-r--r-- | apps/mobile/components/bookmarks/ListPickerModal.tsx | 117 | ||||
| -rw-r--r-- | apps/mobile/package.json | 5 | ||||
| -rw-r--r-- | pnpm-lock.yaml | 357 |
6 files changed, 426 insertions, 163 deletions
diff --git a/apps/mobile/app/_layout.tsx b/apps/mobile/app/_layout.tsx index a5aafb8c..f56aa810 100644 --- a/apps/mobile/app/_layout.tsx +++ b/apps/mobile/app/_layout.tsx @@ -3,6 +3,7 @@ import "expo-dev-client"; import { useEffect } from "react"; import { View } from "react-native"; +import { GestureHandlerRootView } from "react-native-gesture-handler"; import { useRouter } from "expo-router"; import { Stack } from "expo-router/stack"; import { ShareIntentProvider, useShareIntent } from "expo-share-intent"; @@ -10,6 +11,7 @@ import { StatusBar } from "expo-status-bar"; import { StyledStack } from "@/components/navigation/stack"; import { Providers } from "@/lib/providers"; import { cn } from "@/lib/utils"; +import { BottomSheetModalProvider } from "@gorhom/bottom-sheet"; import { useColorScheme } from "nativewind"; export default function RootLayout() { @@ -28,28 +30,32 @@ export default function RootLayout() { return ( <ShareIntentProvider> <Providers> - <View - className={cn( - "w-full flex-1 bg-gray-100 text-foreground dark:bg-background", - colorScheme == "dark" ? "dark" : "light", - )} - > - <StyledStack - contentClassName="bg-gray-100 dark:bg-background" - screenOptions={{ - headerShown: false, - }} - > - <Stack.Screen name="index" /> - <Stack.Screen - name="sharing" - options={{ - presentation: "modal", - }} - /> - </StyledStack> - <StatusBar style="auto" /> - </View> + <GestureHandlerRootView style={{ flex: 1 }}> + <BottomSheetModalProvider> + <View + className={cn( + "w-full flex-1 bg-gray-100 text-foreground dark:bg-background", + colorScheme == "dark" ? "dark" : "light", + )} + > + <StyledStack + contentClassName="bg-gray-100 dark:bg-background" + screenOptions={{ + headerShown: false, + }} + > + <Stack.Screen name="index" /> + <Stack.Screen + name="sharing" + options={{ + presentation: "modal", + }} + /> + </StyledStack> + <StatusBar style="auto" /> + </View> + </BottomSheetModalProvider> + </GestureHandlerRootView> </Providers> </ShareIntentProvider> ); diff --git a/apps/mobile/app/sharing.tsx b/apps/mobile/app/sharing.tsx index d1d39e5b..ee7bd609 100644 --- a/apps/mobile/app/sharing.tsx +++ b/apps/mobile/app/sharing.tsx @@ -1,10 +1,13 @@ -import { useEffect, useState } from "react"; +import { useEffect, useRef, useState } from "react"; import { ActivityIndicator, Text, View } from "react-native"; import { useRouter } from "expo-router"; import { useShareIntentContext } from "expo-share-intent"; +import ListPickerModal from "@/components/bookmarks/ListPickerModal"; +import { Button } from "@/components/ui/Button"; import useAppSettings from "@/lib/settings"; import { api } from "@/lib/trpc"; import { useUploadAsset } from "@/lib/upload"; +import { BottomSheetModal } from "@gorhom/bottom-sheet"; import { z } from "zod"; import { BookmarkTypes, ZBookmark } from "@hoarder/shared/types/bookmarks"; @@ -80,18 +83,39 @@ export default function Sharing() { const router = useRouter(); const [mode, setMode] = useState<Mode>({ type: "idle" }); + let autoCloseTimeoutId: NodeJS.Timeout | null = null; + const addToListSheetRef = useRef<BottomSheetModal>(null); + let comp; switch (mode.type) { case "idle": { comp = <SaveBookmark setMode={setMode} />; break; } + case "alreadyExists": case "success": { - comp = <Text className="text-4xl text-foreground">Hoarded!</Text>; - break; - } - case "alreadyExists": { - comp = <Text className="text-4xl text-foreground">Already Hoarded!</Text>; + comp = ( + <View className="items-center gap-4"> + <ListPickerModal + ref={addToListSheetRef} + snapPoints={["90%"]} + bookmarkId={mode.bookmarkId} + onDismiss={() => router.replace("dashboard")} + /> + <Text className="text-4xl text-foreground"> + {mode.type === "alreadyExists" ? "Already Hoarded!" : "Hoarded!"} + </Text> + <Button + label="Add to List" + onPress={() => { + addToListSheetRef.current?.present(); + if (autoCloseTimeoutId) { + clearTimeout(autoCloseTimeoutId); + } + }} + /> + </View> + ); break; } case "error": { @@ -106,11 +130,11 @@ export default function Sharing() { return; } - const timeoutId = setTimeout(() => { + autoCloseTimeoutId = setTimeout(() => { router.replace("dashboard"); }, 2000); - return () => clearTimeout(timeoutId); + return () => clearTimeout(autoCloseTimeoutId!); }, [mode.type]); return ( diff --git a/apps/mobile/components/bookmarks/BookmarkCard.tsx b/apps/mobile/components/bookmarks/BookmarkCard.tsx index 8faa8618..3be1f9a0 100644 --- a/apps/mobile/components/bookmarks/BookmarkCard.tsx +++ b/apps/mobile/components/bookmarks/BookmarkCard.tsx @@ -1,3 +1,4 @@ +import { useRef } from "react"; import { ActivityIndicator, Image, @@ -13,6 +14,7 @@ import { Link } from "expo-router"; import * as WebBrowser from "expo-web-browser"; import useAppSettings from "@/lib/settings"; import { api } from "@/lib/trpc"; +import { BottomSheetModal } from "@gorhom/bottom-sheet"; import { MenuView } from "@react-native-menu/menu"; import { Ellipsis, Star } from "lucide-react-native"; @@ -32,6 +34,7 @@ import { TailwindResolver } from "../TailwindResolver"; import { Divider } from "../ui/Divider"; import { Skeleton } from "../ui/Skeleton"; import { useToast } from "../ui/Toast"; +import ListPickerModal from "./ListPickerModal"; function ActionBar({ bookmark }: { bookmark: ZBookmark }) { const { toast } = useToast(); @@ -70,6 +73,8 @@ function ActionBar({ bookmark }: { bookmark: ZBookmark }) { onError, }); + const manageListsSheetRef = useRef<BottomSheetModal>(null); + return ( <View className="flex flex-row gap-4"> {(isArchivePending || isDeletionPending) && <ActivityIndicator />} @@ -89,6 +94,12 @@ function ActionBar({ bookmark }: { bookmark: ZBookmark }) { )} </Pressable> + <ListPickerModal + ref={manageListsSheetRef} + snapPoints={["50%", "90%"]} + bookmarkId={bookmark.id} + /> + <MenuView onPressAction={({ nativeEvent }) => { Haptics.selectionAsync(); @@ -101,6 +112,8 @@ function ActionBar({ bookmark }: { bookmark: ZBookmark }) { bookmarkId: bookmark.id, archived: !bookmark.archived, }); + } else if (nativeEvent.event === "manage_list") { + manageListsSheetRef?.current?.present(); } }} actions={[ @@ -121,6 +134,13 @@ function ActionBar({ bookmark }: { bookmark: ZBookmark }) { ios: "trash", }), }, + { + id: "manage_list", + title: "Manage Lists", + image: Platform.select({ + ios: "list", + }), + }, ]} shouldOpenOnLongPress={false} > diff --git a/apps/mobile/components/bookmarks/ListPickerModal.tsx b/apps/mobile/components/bookmarks/ListPickerModal.tsx new file mode 100644 index 00000000..6079e53d --- /dev/null +++ b/apps/mobile/components/bookmarks/ListPickerModal.tsx @@ -0,0 +1,117 @@ +import React from "react"; +import { Pressable, Text, View } from "react-native"; +import Checkbox from "expo-checkbox"; +import { + BottomSheetFlatList, + BottomSheetModal, + BottomSheetModalProps, +} from "@gorhom/bottom-sheet"; + +import { + useAddBookmarkToList, + useBookmarkLists, + useRemoveBookmarkFromList, +} from "@hoarder/shared-react/hooks/lists"; +import { api } from "@hoarder/shared-react/trpc"; + +import PageTitle from "../ui/PageTitle"; +import { useToast } from "../ui/Toast"; + +const ListPickerModal = React.forwardRef< + BottomSheetModal, + Omit<BottomSheetModalProps, "children"> & { + bookmarkId: string; + } +>(({ bookmarkId, ...props }, ref) => { + const { toast } = useToast(); + const onError = () => { + toast({ + message: "Something went wrong", + variant: "destructive", + showProgress: false, + }); + }; + const { data: existingLists } = api.lists.getListsOfBookmark.useQuery( + { + bookmarkId, + }, + { + select: (data) => new Set(data.lists.map((l) => l.id)), + }, + ); + const { data } = useBookmarkLists(); + + const { mutate: addToList } = useAddBookmarkToList({ + onSuccess: () => { + toast({ + message: `The bookmark has been added to the list!`, + showProgress: false, + }); + }, + onError, + }); + + const { mutate: removeToList } = useRemoveBookmarkFromList({ + onSuccess: () => { + toast({ + message: `The bookmark has been removed from the list!`, + showProgress: false, + }); + }, + onError, + }); + + const toggleList = (listId: string) => { + if (!existingLists) { + return; + } + if (existingLists.has(listId)) { + removeToList({ bookmarkId, listId }); + } else { + addToList({ bookmarkId, listId }); + } + }; + + const { allPaths } = data ?? {}; + return ( + <View> + <BottomSheetModal ref={ref} {...props}> + <BottomSheetFlatList + ListHeaderComponent={<PageTitle title="Manage Lists" />} + className="h-full" + contentContainerStyle={{ + gap: 5, + }} + renderItem={(l) => ( + <View className="mx-2 flex flex-row items-center rounded-xl border border-input bg-white px-4 py-2 dark:bg-accent"> + <Pressable + key={l.item[l.item.length - 1].id} + onPress={() => toggleList(l.item[l.item.length - 1].id)} + className="flex w-full flex-row justify-between" + > + <Text className="text-lg text-accent-foreground"> + {l.item + .map((item) => `${item.icon} ${item.name}`) + .join(" / ")} + </Text> + <Checkbox + value={ + existingLists && + existingLists.has(l.item[l.item.length - 1].id) + } + onValueChange={() => { + toggleList(l.item[l.item.length - 1].id); + }} + /> + </Pressable> + </View> + )} + data={allPaths} + /> + </BottomSheetModal> + </View> + ); +}); +ListPickerModal.displayName = "ListPickerModal"; + +export default ListPickerModal; diff --git a/apps/mobile/package.json b/apps/mobile/package.json index ef19bfbf..da8ef432 100644 --- a/apps/mobile/package.json +++ b/apps/mobile/package.json @@ -13,15 +13,17 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@hoarder/trpc": "workspace:^0.1.0", + "@gorhom/bottom-sheet": "^4.6.3", "@hoarder/shared": "workspace:^0.1.0", "@hoarder/shared-react": "workspace:^0.1.0", + "@hoarder/trpc": "workspace:^0.1.0", "@react-native-menu/menu": "^0.9.1", "@tanstack/react-query": "^5.24.8", "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "expo": "~50.0.11", "expo-build-properties": "^0.11.1", + "expo-checkbox": "^3.0.0", "expo-config-plugin-ios-share-extension": "^0.0.4", "expo-constants": "~15.4.5", "expo-dev-client": "^3.3.9", @@ -40,6 +42,7 @@ "nativewind": "^4.0.1", "react": "^18.2.0", "react-native": "0.73.4", + "react-native-gesture-handler": "~2.14.0", "react-native-markdown-display": "^7.0.2", "react-native-reanimated": "^3.8.0", "react-native-safe-area-context": "4.8.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bf0461ae..d7bd2f50 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -288,6 +288,9 @@ importers: apps/mobile: dependencies: + '@gorhom/bottom-sheet': + specifier: ^4.6.3 + version: 4.6.3(@types/react@18.2.58)(react-native-gesture-handler@2.14.1(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0))(react@18.2.0))(react-native-reanimated@3.8.0(@babel/core@7.23.9)(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0))(react@18.2.0))(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0))(react@18.2.0) '@hoarder/shared': specifier: workspace:^0.1.0 version: link:../../packages/shared @@ -315,6 +318,9 @@ importers: expo-build-properties: specifier: ^0.11.1 version: 0.11.1(expo@50.0.11(@babel/core@7.23.9)(@react-native/babel-preset@0.73.21(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9)))) + expo-checkbox: + specifier: ^3.0.0 + version: 3.0.0 expo-config-plugin-ios-share-extension: specifier: ^0.0.4 version: 0.0.4(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0)) @@ -369,6 +375,9 @@ importers: react-native: specifier: 0.73.4 version: 0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0) + react-native-gesture-handler: + specifier: ~2.14.0 + version: 2.14.1(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0))(react@18.2.0) react-native-markdown-display: specifier: ^7.0.2 version: 7.0.2(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0))(react@18.2.0) @@ -1291,6 +1300,10 @@ packages: resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + engines: {node: '>=6.9.0'} + '@babel/helper-remap-async-to-generator@7.22.20': resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} @@ -2198,6 +2211,10 @@ packages: '@drizzle-team/studio@0.0.39': resolution: {integrity: sha512-c5Hkm7MmQC2n5qAsKShjQrHoqlfGslB8+qWzsGGZ+2dHMRTNG60UuzalF0h0rvBax5uzPXuGkYLGaQ+TUX3yMw==} + '@egjs/hammerjs@2.0.17': + resolution: {integrity: sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==} + engines: {node: '>=0.8.0'} + '@emnapi/runtime@1.1.1': resolution: {integrity: sha512-3bfqkzuR1KLx57nZfjr2NLnFOobvyS0aTszaEGCGqmYMVDRaGvgIZbjGSV/MHSSmLgQ/b9JFHQ5xm5WRZYd+XQ==} @@ -2661,6 +2678,27 @@ packages: '@gar/promisify@1.1.3': resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + '@gorhom/bottom-sheet@4.6.3': + resolution: {integrity: sha512-fSuSfbtoKsjmSeyz+tG2C0GtcEL7PS63iEXI23c9M+HeCT1IFK6ffmIa2pqyqB43L1jtkR+BWkpZwqXnN4H8xA==} + peerDependencies: + '@types/react': '*' + '@types/react-native': '*' + react: '*' + react-native: '*' + react-native-gesture-handler: '>=1.10.1' + react-native-reanimated: '>=2.2.0' + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-native': + optional: true + + '@gorhom/portal@1.0.14': + resolution: {integrity: sha512-MXyL4xvCjmgaORr/rtryDNFy3kU4qUbKlwtQqqsygd0xX3mhKjOLn6mQK8wfu0RkoE0pBE0nAasRoHua+/QZ7A==} + peerDependencies: + react: '*' + react-native: '*' + '@graphql-typed-document-node/core@3.2.0': resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} peerDependencies: @@ -4185,6 +4223,9 @@ packages: '@types/gtag.js@0.0.12': resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==} + '@types/hammerjs@2.0.45': + resolution: {integrity: sha512-qkcUlZmX6c4J8q45taBKTL3p+LbITgyx7qhlPYOdOHZB7B31K0mXbP5YA7i7SgDeEGuI9MnumiKPEMrxg8j3KQ==} + '@types/har-format@1.2.15': resolution: {integrity: sha512-RpQH4rXLuvTXKR0zqHq3go0RVXYv/YVqv4TnPH95VbwUxZdQlK1EtcMvQvMpDngHbt13Csh9Z4qT9AbkiQH5BA==} @@ -6556,6 +6597,9 @@ packages: peerDependencies: expo: '*' + expo-checkbox@3.0.0: + resolution: {integrity: sha512-ZfNUawE0Bp/Xa5Gwtn04yfg6rCnKdqdmBXvEGbYg5U+IfRfLh+ocLiiBAcx760DfdYpzMGQOGpUtWQeEVmJwNw==} + expo-config-plugin-ios-share-extension@0.0.4: resolution: {integrity: sha512-M/EMG0GiYtqkS/MOu7UA6qg2BHjl9zQesKdvxW2OiBl4xUTSDa4uIRMybN4O4yAJE9pwe0KeQbuS/ORnCZtjMg==} peerDependencies: @@ -10328,6 +10372,12 @@ packages: react-native-fit-image@1.5.5: resolution: {integrity: sha512-Wl3Vq2DQzxgsWKuW4USfck9zS7YzhvLNPpkwUUCF90bL32e1a0zOVQ3WsJILJOwzmPdHfzZmWasiiAUNBkhNkg==} + react-native-gesture-handler@2.14.1: + resolution: {integrity: sha512-YiM1BApV4aKeuwsM6O4C2ufwewYEKk6VMXOt0YqEZFMwABBFWhXLySFZYjBSNRU2USGppJbfHP1q1DfFQpKhdA==} + peerDependencies: + react: '*' + react-native: '*' + react-native-markdown-display@7.0.2: resolution: {integrity: sha512-Mn4wotMvMfLAwbX/huMLt202W5DsdpMO/kblk+6eUs55S57VVNni1gzZCh5qpznYLjIQELNh50VIozEfY6fvaQ==} peerDependencies: @@ -12695,7 +12745,7 @@ snapshots: dependencies: '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 debug: 4.3.4 lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -12707,7 +12757,7 @@ snapshots: dependencies: '@babel/core': 7.24.0 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 debug: 4.3.4 lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -12760,6 +12810,9 @@ snapshots: '@babel/helper-plugin-utils@7.24.0': {} + '@babel/helper-plugin-utils@7.24.8': + dev: false + '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 @@ -12851,19 +12904,19 @@ snapshots: '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) dev: false @@ -12871,7 +12924,7 @@ snapshots: '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0) dev: false @@ -12880,21 +12933,21 @@ snapshots: dependencies: '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) dev: false @@ -12903,7 +12956,7 @@ snapshots: dependencies: '@babel/core': 7.24.0 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) dev: false @@ -12912,63 +12965,63 @@ snapshots: dependencies: '@babel/core': 7.23.9 '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-proposal-decorators@7.24.0(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-decorators': 7.24.0(@babel/core@7.23.9) dev: false '@babel/plugin-proposal-export-default-from@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-export-default-from': 7.23.3(@babel/core@7.23.9) dev: false '@babel/plugin-proposal-export-default-from@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-export-default-from': 7.23.3(@babel/core@7.24.0) dev: false '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) dev: false '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) dev: false '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) dev: false '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) dev: false @@ -12977,7 +13030,7 @@ snapshots: '@babel/compat-data': 7.23.5 '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) dev: false @@ -12987,7 +13040,7 @@ snapshots: '@babel/compat-data': 7.23.5 '@babel/core': 7.24.0 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) dev: false @@ -12995,21 +13048,21 @@ snapshots: '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) dev: false '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) dev: false '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) dev: false @@ -13017,7 +13070,7 @@ snapshots: '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) dev: false @@ -13035,7 +13088,7 @@ snapshots: '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.0)': @@ -13047,31 +13100,31 @@ snapshots: '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-decorators@7.24.0(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.9)': @@ -13089,109 +13142,109 @@ snapshots: '@babel/plugin-syntax-export-default-from@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-export-default-from@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-flow@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.9)': @@ -13209,7 +13262,7 @@ snapshots: '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.0)': @@ -13233,7 +13286,7 @@ snapshots: '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.0)': @@ -13257,7 +13310,7 @@ snapshots: '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.0)': @@ -13269,39 +13322,39 @@ snapshots: '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.9)': @@ -13320,7 +13373,7 @@ snapshots: dependencies: '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) dev: false @@ -13329,7 +13382,7 @@ snapshots: dependencies: '@babel/core': 7.24.0 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) dev: false @@ -13338,7 +13391,7 @@ snapshots: dependencies: '@babel/core': 7.23.9 '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) dev: false @@ -13353,13 +13406,13 @@ snapshots: '@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.9)': @@ -13378,21 +13431,21 @@ snapshots: dependencies: '@babel/core': 7.23.9 '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) dev: false @@ -13400,7 +13453,7 @@ snapshots: dependencies: '@babel/core': 7.24.0 '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) dev: false @@ -13460,39 +13513,39 @@ snapshots: dependencies: '@babel/core': 7.23.9 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) dev: false '@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) dev: false @@ -13500,55 +13553,55 @@ snapshots: dependencies: '@babel/core': 7.23.9 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) dev: false '@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) dev: false '@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.23.9) dev: false '@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.24.0) dev: false '@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: false '@babel/plugin-transform-for-of@7.23.6(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: false @@ -13571,14 +13624,14 @@ snapshots: '@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) dev: false '@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) dev: false @@ -13597,41 +13650,41 @@ snapshots: '@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) dev: false '@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) dev: false '@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.9)': @@ -13655,7 +13708,7 @@ snapshots: '@babel/core': 7.23.9 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-identifier': 7.22.20 dev: false @@ -13664,7 +13717,7 @@ snapshots: '@babel/core': 7.24.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-identifier': 7.22.20 dev: false @@ -13672,21 +13725,21 @@ snapshots: dependencies: '@babel/core': 7.23.9 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.0)': @@ -13699,40 +13752,40 @@ snapshots: '@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-new-target@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) dev: false '@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) dev: false '@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) dev: false '@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) dev: false @@ -13741,7 +13794,7 @@ snapshots: '@babel/compat-data': 7.23.5 '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) dev: false @@ -13751,7 +13804,7 @@ snapshots: '@babel/compat-data': 7.23.5 '@babel/core': 7.24.0 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) dev: false @@ -13759,35 +13812,35 @@ snapshots: '@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) dev: false '@babel/plugin-transform-object-super@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) dev: false '@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) dev: false '@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) dev: false '@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) dev: false @@ -13795,7 +13848,7 @@ snapshots: '@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) dev: false @@ -13831,7 +13884,7 @@ snapshots: '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) dev: false @@ -13847,13 +13900,13 @@ snapshots: '@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-react-constant-elements@7.23.3(@babel/core@7.24.0)': @@ -13932,7 +13985,7 @@ snapshots: dependencies: '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.24.0)': @@ -13945,27 +13998,27 @@ snapshots: '@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 regenerator-transform: 0.15.2 dev: false '@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 regenerator-transform: 0.15.2 dev: false '@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-runtime@7.24.0(@babel/core@7.23.9)': @@ -14023,7 +14076,7 @@ snapshots: '@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.24.0)': @@ -14047,13 +14100,13 @@ snapshots: '@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.9)': @@ -14077,34 +14130,34 @@ snapshots: '@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.24.0)': @@ -14118,14 +14171,14 @@ snapshots: dependencies: '@babel/core': 7.23.9 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 dev: false '@babel/preset-env@7.24.0(@babel/core@7.23.9)': @@ -14133,7 +14186,7 @@ snapshots: '@babel/compat-data': 7.23.5 '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.23.5 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.9) '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.9) @@ -14220,7 +14273,7 @@ snapshots: '@babel/compat-data': 7.23.5 '@babel/core': 7.24.0 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.23.5 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.24.0) '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.24.0) @@ -14305,7 +14358,7 @@ snapshots: '@babel/preset-flow@7.24.0(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.23.5 '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.24.0) dev: false @@ -14313,7 +14366,7 @@ snapshots: '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/types': 7.24.0 esutils: 2.0.3 dev: false @@ -14321,7 +14374,7 @@ snapshots: '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.0)': dependencies: '@babel/core': 7.24.0 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/types': 7.24.0 esutils: 2.0.3 dev: false @@ -14351,7 +14404,7 @@ snapshots: '@babel/preset-typescript@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.23.5 '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) @@ -15212,6 +15265,11 @@ snapshots: superjson: 2.2.1 dev: true + '@egjs/hammerjs@2.0.17': + dependencies: + '@types/hammerjs': 2.0.45 + dev: false + '@emnapi/runtime@1.1.1': dependencies: tslib: 2.6.2 @@ -15888,6 +15946,24 @@ snapshots: '@gar/promisify@1.1.3': dev: false + '@gorhom/bottom-sheet@4.6.3(@types/react@18.2.58)(react-native-gesture-handler@2.14.1(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0))(react@18.2.0))(react-native-reanimated@3.8.0(@babel/core@7.23.9)(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0))(react@18.2.0))(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0))(react@18.2.0)': + dependencies: + '@gorhom/portal': 1.0.14(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0))(react@18.2.0) + '@types/react': 18.2.58 + invariant: 2.2.4 + react: 18.2.0 + react-native: 0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0) + react-native-gesture-handler: 2.14.1(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0))(react@18.2.0) + react-native-reanimated: 3.8.0(@babel/core@7.23.9)(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0))(react@18.2.0) + dev: false + + '@gorhom/portal@1.0.14(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0))(react@18.2.0)': + dependencies: + nanoid: 3.3.7 + react: 18.2.0 + react-native: 0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0) + dev: false + '@graphql-typed-document-node/core@3.2.0(graphql@15.8.0)': dependencies: graphql: 15.8.0 @@ -18063,6 +18139,9 @@ snapshots: '@types/gtag.js@0.0.12': dev: false + '@types/hammerjs@2.0.45': + dev: false + '@types/har-format@1.2.15': {} '@types/hast@2.3.10': @@ -21357,6 +21436,9 @@ snapshots: semver: 7.6.0 dev: false + expo-checkbox@3.0.0: + dev: false + expo-config-plugin-ios-share-extension@0.0.4(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0)): dependencies: '@expo/config-plugins': 5.0.4 @@ -26517,6 +26599,17 @@ snapshots: prop-types: 15.8.1 dev: false + react-native-gesture-handler@2.14.1(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0))(react@18.2.0): + dependencies: + '@egjs/hammerjs': 2.0.17 + hoist-non-react-statics: 3.3.2 + invariant: 2.2.4 + lodash: 4.17.21 + prop-types: 15.8.1 + react: 18.2.0 + react-native: 0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0) + dev: false + react-native-markdown-display@7.0.2(react-native@0.73.4(@babel/core@7.23.9)(@babel/preset-env@7.24.0(@babel/core@7.23.9))(react@18.2.0))(react@18.2.0): dependencies: css-to-react-native: 3.2.0 |
