48 changed files with 4293 additions and 2448 deletions
+112 -20
View File
@@ -1,21 +1,113 @@
import { Product } from "@/lib/product";
import { Product } from "@/lib/product"
import uuid from "react-native-uuid"
export const products = [
// Sheet goods
new Product(15, {l: 4, w : 8, u: "ft"}, { name: "Plywood 1/4\"" }),
new Product(20, {l: 4, w : 8, u: "ft"}, { name: "Plywood 1/2\"" }),
new Product(25, {l: 4, w : 8, u: "ft"}, { name: "Plywood 3/4\"" }),
new Product(5, {l: 4, w : 8, u: "ft"}, { name: "Thin Panel Board" }),
new Product(10, {l: 4, w : 8, u: "ft"}, { name: "Sheetrock" }),
new Product(15, {l: 4, w : 8, u: "ft"}, { name: "OSB / Particle" }),
new Product(20, {l: 4, w : 8, u: "ft"}, { name: "MDF" }),
new Product(15, {l: 4, w : 8, u: "ft"}, { name: "Pegboard" }),
new Product(5, {l: 3, w : 5, u: "ft"}, { name: "Cement" }),
// trim
new Product(1, {l: 0.50, u : "ft"}, { name: "trim <= 3 inches" }),
new Product(1, {l: 0.75, u : "ft"}, { name: "trim > 3 inches" }),
// siding
new Product(1, {l: 1, u: "ft"}, {name: "house siding"}),
new Product(1, {l: 1, u: "ft"}, {name: "metal / shelf bars"}),
new Product(0.5, {l: 1, u: "ft"}, {name: "gutter spouts"}),
];
export default [
// Sheet goods
{
id: uuid.v4().valueOf(),
pricePerUnit: 15,
dimensions: { l: 4, w: 8, u: "ft" },
type: "lumber",
attributes: { name: 'Plywood 1/4"' },
},
{
id: uuid.v4().valueOf(),
pricePerUnit: 20,
dimensions: { l: 4, w: 8, u: "ft" },
type: "lumber",
attributes: { name: 'Plywood 1/2"' },
},
{
id: uuid.v4().valueOf(),
pricePerUnit: 25,
dimensions: { l: 4, w: 8, u: "ft" },
type: "lumber",
attributes: { name: 'Plywood 3/4"' },
},
{
id: uuid.v4().valueOf(),
pricePerUnit: 5,
dimensions: { l: 4, w: 8, u: "ft" },
type: "lumber",
attributes: { name: "Thin Panel Board" },
},
{
id: uuid.v4().valueOf(),
pricePerUnit: 10,
dimensions: { l: 4, w: 8, u: "ft" },
type: "lumber",
attributes: { name: "Sheetrock" },
},
{
id: uuid.v4().valueOf(),
pricePerUnit: 15,
dimensions: { l: 4, w: 8, u: "ft" },
type: "lumber",
attributes: { name: "OSB / Particle" },
},
{
id: uuid.v4().valueOf(),
pricePerUnit: 20,
dimensions: { l: 4, w: 8, u: "ft" },
type: "lumber",
attributes: { name: "MDF" },
},
{
id: uuid.v4().valueOf(),
pricePerUnit: 15,
dimensions: { l: 4, w: 8, u: "ft" },
type: "lumber",
attributes: { name: "Pegboard" },
},
{
id: uuid.v4().valueOf(),
pricePerUnit: 5,
dimensions: { l: 3, w: 5, u: "ft" },
type: "lumber",
attributes: { name: "Cement" },
},
// trim
{
id: uuid.v4().valueOf(),
pricePerUnit: 1,
dimensions: { l: 0.5, u: "ft" },
type: "lumber",
attributes: { name: "trim <=3 inches" },
},
{
id: uuid.v4().valueOf(),
pricePerUnit: 1,
dimensions: { l: 0.75, u: "ft" },
type: "lumber",
attributes: { name: "trim > 3 inches" },
},
// siding
{
id: uuid.v4().valueOf(),
pricePerUnit: 1,
dimensions: { l: 1, u: "ft" },
type: "lumber",
attributes: { name: "house siding" },
},
{
id: uuid.v4().valueOf(),
pricePerUnit: 1,
dimensions: { l: 1, u: "ft" },
type: "lumber",
attributes: { name: "metal / shelf bars" },
},
{
id: uuid.v4().valueOf(),
pricePerUnit: 0.5,
dimensions: { l: 1, u: "ft" },
type: "lumber",
attributes: { name: "gutter spouts" },
},
{
id: uuid.v4().valueOf(),
pricePerUnit: 0.75,
dimensions: { l: 1, w: 1, u: "ft" },
type: "area_rug",
attributes: { name: "area rug" },
},
] as Array<Product>;
+41 -15
View File
@@ -1,40 +1,66 @@
import { Tabs } from 'expo-router';
import { Tabs } from "expo-router";
import { Colors } from '@/constants/Colors';
import { useColorScheme } from '@/hooks/useColorScheme';
import { TabBarIcon } from '@/components/navigation/TabBarIcon';
import { Provider } from 'react-redux';
import { products as fixtures } from "@/__fixtures__/initialProducts"
import { setupStore } from '../store';
import { SvgUri } from "react-native-svg";
import { Colors } from "@/constants/Colors";
import { useColorScheme } from "@/hooks/useColorScheme";
import { TabBarIcon } from "@/components/navigation/TabBarIcon";
import { Provider } from "react-redux";
import fixtures from "@/__fixtures__/initialProducts";
import { setupStore } from "../store";
const CARPET_ROLL_SVG = "/assets/images/icons/icon-carpet-roll-raw.svg";
const CARPET_ROLL_SELECTED_SVG =
"/assets/images/icons/icon-carpet-roll-selected-raw.svg";
const CarpetRollIcon = ({ selected }: { selected: boolean }) => {
const uri = selected ? CARPET_ROLL_SELECTED_SVG : CARPET_ROLL_SVG;
console.log(`Loading %s`, uri);
return <SvgUri width="2em" height="2em" uri={uri} />;
};
export default function TabLayout() {
const colorScheme = useColorScheme();
const store = setupStore({
products: fixtures.map(p => p.asObject),
units: "ft",
products: fixtures,
});
return (
<Provider store={store}>
<Tabs
screenOptions={{
tabBarActiveTintColor: Colors[colorScheme ?? 'light'].tint,
tabBarActiveTintColor: Colors[colorScheme ?? "light"].tint,
headerShown: false,
}}>
}}
>
<Tabs.Screen
name="index"
options={{
title: 'Measure',
title: "Plywood",
tabBarIcon: ({ color, focused }) => (
<TabBarIcon name={focused ? 'scale' : 'scale-outline'} color={color} />
<TabBarIcon
name={focused ? "scale" : "scale-outline"}
color={color}
/>
),
}}
/>
<Tabs.Screen
name="carpet-roll-calculator"
options={{
title: "Carpet Roll Calculator",
tabBarIcon: ({ color, focused }) => (
<CarpetRollIcon selected={focused} />
),
}}
/>
<Tabs.Screen
name="product-editor"
options={{
title: 'Edit Products',
title: "Edit Products",
tabBarIcon: ({ color, focused }) => (
<TabBarIcon name={focused ? 'list' : 'list-outline'} color={color} />
<TabBarIcon
name={focused ? "list" : "list-outline"}
color={color}
/>
),
}}
/>
+10
View File
@@ -0,0 +1,10 @@
import CarpetRollCalculator from '@/components/CarpetRollCalculator';
import { View } from 'react-native';
export default function CarpetRollCalculatorView () {
return (
<View>
<CarpetRollCalculator />
</View>
)
}
+27 -18
View File
@@ -1,13 +1,19 @@
import 'react-native-reanimated';
import 'react-native-gesture-handler';
import { DarkTheme, DefaultTheme, ThemeProvider } from '@react-navigation/native';
import { useFonts } from 'expo-font';
import { Stack } from 'expo-router';
import * as SplashScreen from 'expo-splash-screen';
import { useEffect } from 'react';
import "react-native-reanimated";
import "react-native-gesture-handler";
import {
DarkTheme,
DefaultTheme,
ThemeProvider,
} from "@react-navigation/native";
import { useFonts } from "expo-font";
import { Stack } from "expo-router";
import * as SplashScreen from "expo-splash-screen";
import { useEffect, useState } from "react";
import { useColorScheme } from '@/hooks/useColorScheme';
import { Text, View } from 'react-native';
import { useColorScheme } from "@/hooks/useColorScheme";
import { Appearance, StyleSheet, Text, Pressable } from "react-native";
const isBrowser = typeof window !== "undefined";
// Prevent the splash screen from auto-hiding before asset loading is complete.
SplashScreen.preventAutoHideAsync();
@@ -15,9 +21,18 @@ SplashScreen.preventAutoHideAsync();
export default function RootLayout() {
const colorScheme = useColorScheme();
const [loaded] = useFonts({
SpaceMono: require('../assets/fonts/SpaceMono-Regular.ttf'),
SpaceMono: require("../assets/fonts/SpaceMono-Regular.ttf"),
});
function changeTheme() {
console.debug("Changing color scheme");
if (Appearance.getColorScheme() === "dark") {
Appearance.setColorScheme("light");
} else {
Appearance.setColorScheme("dark");
}
}
useEffect(() => {
if (loaded) {
SplashScreen.hideAsync();
@@ -28,18 +43,12 @@ export default function RootLayout() {
return null;
}
// return (
// <View>
// <Text>Hello World!</Text>
// </View>
// )
return (
<ThemeProvider value={colorScheme === 'dark' ? DarkTheme : DefaultTheme}>
<ThemeProvider value={colorScheme === "dark" ? DarkTheme : DefaultTheme}>
<Stack>
<Stack.Screen name="(tabs)" options={{ headerShown: false }} />
<Stack.Screen name="+not-found" />
</Stack>
</ThemeProvider>
);
}
}
+45 -27
View File
@@ -1,39 +1,57 @@
import { useDispatch, useSelector } from 'react-redux';
import { configureStore } from '@reduxjs/toolkit';
import { rememberReducer, rememberEnhancer } from 'redux-remember';
import reducers from "@/features/product/productSlice"
import AsyncStorage from '@react-native-async-storage/async-storage';
import { ProductData } from "@/lib/dimensions_t";
import {Length} from "convert"
import { useDispatch, useSelector } from "react-redux";
import { configureStore } from "@reduxjs/toolkit";
import { rememberReducer, rememberEnhancer } from "redux-remember";
import reducers, { DEFAULT_PRELOADED_STATE } from "@/features/product/productSlice";
import AsyncStorage from "@react-native-async-storage/async-storage";
const rememberedKeys = ['products'];
// thanks to https://github.com/rt2zz/redux-persist/issues/1208#issuecomment-658695446
// for the workaround
const createNoopStorage = () => {
return {
getItem(_key : any) {
return Promise.resolve(null);
},
setItem(_key : any, value : any) {
return Promise.resolve(value);
},
removeItem(_key : any) {
return Promise.resolve();
},
};
};
const storage =
typeof window === "undefined" ? createNoopStorage() : AsyncStorage;
export default storage;
const PERSIST_WHOLE_STORE =
new Boolean(process.env.PERSIST_WHOLE_STORE).valueOf() || false;
const rememberedKeys = ["products"];
const rootReducer = reducers;
const isBrowser = (typeof window !== "undefined");
// const isBrowser = typeof window !== "undefined";
export function setupStore(preloadedState = {
products: [] as ProductData[],
units: "ft" as Length,
}) {
return configureStore({
reducer: rememberReducer(reducers),
preloadedState,
enhancers: (getDefaultEnhancers) => getDefaultEnhancers().concat(
rememberEnhancer(
AsyncStorage,
rememberedKeys,
{
persistWholeStore: false,
},
)
),
});
export function setupStore(preloadedState = DEFAULT_PRELOADED_STATE) {
return configureStore({
reducer: rememberReducer(reducers),
preloadedState,
enhancers: (getDefaultEnhancers) =>
getDefaultEnhancers().concat(
rememberEnhancer(storage, rememberedKeys, {
persistWholeStore: PERSIST_WHOLE_STORE,
})
),
});
}
export type RootState = ReturnType<typeof rootReducer>;
export type AppStore = ReturnType<typeof setupStore>;
export type AppDispatch = AppStore['dispatch'];
export type AppDispatch = AppStore["dispatch"];
export const useAppDispatch = useDispatch.withTypes<AppDispatch>();
export const useAppSelector = useSelector.withTypes<RootState>();
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg5">
<defs
id="defs2" />
<g
id="layer1"
transform="translate(-45.575391,42.027803)">
<path
style="fill:none;fill-rule:evenodd;stroke:#666666;stroke-width:40;stroke-dasharray:none;stroke-opacity:1"
id="path2530"
d="M 531.42926,377.9527 C 540.4661,468.89249 467.03058,547.48405 377.95283,554.81097 274.58289,563.31347 185.8308,479.52537 178.70389,377.95283 170.61282,262.6392 264.37977,164.07205 377.95267,157.12414 504.80741,149.3637 612.89142,252.78898 619.67878,377.95267 627.16514,516.00643 514.35942,633.34716 377.95286,639.98977 228.99642,647.24353 102.62843,525.3011 96.117079,377.95287 89.064387,218.35444 219.92743,83.163596 377.95264,76.771971 547.96095,69.895667 691.79092,209.48591 698.07274,377.95264 704.79242,558.16209 556.64955,710.46473 377.95289,716.64533 187.73159,723.22454 27.108112,566.68774 21.021235,377.95289 14.569103,177.89267 179.35459,9.0876696 377.95262,3.0879444 512.83571,-0.98692729 642.11816,69.980531 712.81242,184.62164"
transform="matrix(0.26458333,0,0,0.26458333,50.423457,-37.133871)" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:19.4423;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
id="path2584"
cx="145.57539"
cy="57.972198"
r="37.746468" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg5"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="carpet-roll-length-inner-diameter.svg"
inkscape:export-filename="../assets/images/icons/carpet-roll-64.png"
inkscape:export-xdpi="11.417511"
inkscape:export-ydpi="11.417511"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.56504558"
inkscape:cx="16.812803"
inkscape:cy="315.90372"
inkscape:window-width="1920"
inkscape:window-height="1008"
inkscape:window-x="0"
inkscape:window-y="681"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-45.022935,37.596851)" />
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg5">
<defs
id="defs2" />
<g
id="layer1"
transform="translate(-45.575391,42.027803)">
<path
style="fill:none;fill-rule:evenodd;stroke:#666666;stroke-width:40;stroke-dasharray:none;stroke-opacity:1"
id="path2530"
d="M 531.42926,377.9527 C 540.4661,468.89249 467.03058,547.48405 377.95283,554.81097 274.58289,563.31347 185.8308,479.52537 178.70389,377.95283 170.61282,262.6392 264.37977,164.07205 377.95267,157.12414 504.80741,149.3637 612.89142,252.78898 619.67878,377.95267 627.16514,516.00643 514.35942,633.34716 377.95286,639.98977 228.99642,647.24353 102.62843,525.3011 96.117079,377.95287 89.064387,218.35444 219.92743,83.163596 377.95264,76.771971 547.96095,69.895667 691.79092,209.48591 698.07274,377.95264 704.79242,558.16209 556.64955,710.46473 377.95289,716.64533 187.73159,723.22454 27.108112,566.68774 21.021235,377.95289 14.569103,177.89267 179.35459,9.0876696 377.95262,3.0879444 512.83571,-0.98692729 642.11816,69.980531 712.81242,184.62164"
transform="matrix(0.26458333,0,0,0.26458333,50.423457,-37.133871)" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:12.5855;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
id="path2733"
cx="98.956039"
cy="63.796986"
r="10.301529" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:12.5855;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
id="circle2839"
cx="77.884727"
cy="63.796986"
r="10.301529" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:12.5855;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
id="circle2841"
cx="56.813419"
cy="63.796986"
r="10.301529" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg5"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="carpet-roll-length-number-of-rings.svg"
inkscape:export-filename="../assets/images/icons/carpet-roll-64.png"
inkscape:export-xdpi="11.417511"
inkscape:export-ydpi="11.417511"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.56504558"
inkscape:cx="15.043034"
inkscape:cy="331.83164"
inkscape:window-width="1920"
inkscape:window-height="1008"
inkscape:window-x="0"
inkscape:window-y="681"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-45.575391,42.027803)">
<path
sodipodi:type="spiral"
style="fill:none;fill-rule:evenodd;stroke:#666666;stroke-width:40;stroke-dasharray:none;stroke-opacity:1"
id="path2530"
sodipodi:cx="377.95276"
sodipodi:cy="377.95276"
sodipodi:expansion="0.75"
sodipodi:revolution="4.1178799"
sodipodi:radius="386.66254"
sodipodi:argument="-20.113815"
sodipodi:t0="0.29170668"
d="M 531.42926,377.9527 C 540.4661,468.89249 467.03058,547.48405 377.95283,554.81097 274.58289,563.31347 185.8308,479.52537 178.70389,377.95283 170.61282,262.6392 264.37977,164.07205 377.95267,157.12414 504.80741,149.3637 612.89142,252.78898 619.67878,377.95267 627.16514,516.00643 514.35942,633.34716 377.95286,639.98977 228.99642,647.24353 102.62843,525.3011 96.117079,377.95287 89.064387,218.35444 219.92743,83.163596 377.95264,76.771971 547.96095,69.895667 691.79092,209.48591 698.07274,377.95264 704.79242,558.16209 556.64955,710.46473 377.95289,716.64533 187.73159,723.22454 27.108112,566.68774 21.021235,377.95289 14.569103,177.89267 179.35459,9.0876696 377.95262,3.0879444 512.83571,-0.98692729 642.11816,69.980531 712.81242,184.62164"
transform="matrix(0.26458333,0,0,0.26458333,50.423457,-37.133871)" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:12.5855;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
id="path2733"
cx="98.956039"
cy="63.796986"
r="10.301529" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:12.5855;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
id="circle2839"
cx="77.884727"
cy="63.796986"
r="10.301529" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:12.5855;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
id="circle2841"
cx="56.813419"
cy="63.796986"
r="10.301529" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg5">
<defs
id="defs2" />
<g
id="layer1"
transform="translate(-45.575391,42.027803)">
<path
style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:40;stroke-dasharray:none;stroke-opacity:1"
id="path2530"
d="M 531.42926,377.9527 C 540.4661,468.89249 467.03058,547.48405 377.95283,554.81097 274.58289,563.31347 185.8308,479.52537 178.70389,377.95283 170.61282,262.6392 264.37977,164.07205 377.95267,157.12414 504.80741,149.3637 612.89142,252.78898 619.67878,377.95267 627.16514,516.00643 514.35942,633.34716 377.95286,639.98977 228.99642,647.24353 102.62843,525.3011 96.117079,377.95287 89.064387,218.35444 219.92743,83.163596 377.95264,76.771971 547.96095,69.895667 691.79092,209.48591 698.07274,377.95264 704.79242,558.16209 556.64955,710.46473 377.95289,716.64533 187.73159,723.22454 27.108112,566.68774 21.021235,377.95289 14.569103,177.89267 179.35459,9.0876696 377.95262,3.0879444 512.83571,-0.98692729 642.11816,69.980531 712.81242,184.62164"
transform="matrix(0.26458333,0,0,0.26458333,50.423457,-37.133871)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg5"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="carpet-roll-length-outer-diameter.svg"
inkscape:export-filename="../assets/images/icons/carpet-roll-64.png"
inkscape:export-xdpi="11.417511"
inkscape:export-ydpi="11.417511"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.56504558"
inkscape:cx="15.043034"
inkscape:cy="331.83164"
inkscape:window-width="1920"
inkscape:window-height="1008"
inkscape:window-x="0"
inkscape:window-y="681"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-45.575391,42.027803)">
<path
sodipodi:type="spiral"
style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:40;stroke-dasharray:none;stroke-opacity:1"
id="path2530"
sodipodi:cx="377.95276"
sodipodi:cy="377.95276"
sodipodi:expansion="0.75"
sodipodi:revolution="4.1178799"
sodipodi:radius="386.66254"
sodipodi:argument="-20.113815"
sodipodi:t0="0.29170668"
d="M 531.42926,377.9527 C 540.4661,468.89249 467.03058,547.48405 377.95283,554.81097 274.58289,563.31347 185.8308,479.52537 178.70389,377.95283 170.61282,262.6392 264.37977,164.07205 377.95267,157.12414 504.80741,149.3637 612.89142,252.78898 619.67878,377.95267 627.16514,516.00643 514.35942,633.34716 377.95286,639.98977 228.99642,647.24353 102.62843,525.3011 96.117079,377.95287 89.064387,218.35444 219.92743,83.163596 377.95264,76.771971 547.96095,69.895667 691.79092,209.48591 698.07274,377.95264 704.79242,558.16209 556.64955,710.46473 377.95289,716.64533 187.73159,723.22454 27.108112,566.68774 21.021235,377.95289 14.569103,177.89267 179.35459,9.0876696 377.95262,3.0879444 512.83571,-0.98692729 642.11816,69.980531 712.81242,184.62164"
transform="matrix(0.26458333,0,0,0.26458333,50.423457,-37.133871)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg5">
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-45.022935,37.596851)">
<g
id="g2358"
transform="translate(9.9331103,33.633936)"
style="stroke-width:1.000125;stroke-dasharray:none;stroke:#4d4d4d">
<path
id="path2242"
style="fill:none;fill-opacity:1;stroke:#4d4d4d;stroke-width:10.5833;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 61.405087,24.188362 95.383293,-52.476396 c 24.96471,-6.689275 40.50388,-5.439089 53.53212,6.973747 13.06695,12.4497209 16.56131,25.0292929 9.58226,53.29021 l -79.61121,74.744307">
<path
style="fill:none;fill-opacity:1;stroke:#4d4d4d;stroke-width:10.58333333;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 61.405087,24.188362 c 33.653,-20.0428233 86.037773,3.774406 93.118353,36.785838 7.08285,33.022041 -22.22503,60.93414 -48.54578,62.44 C 78.791137,124.96959 39.251217,95.823248 53.111058,61.74891 66.84398,27.986602 114.30936,21.282096 133.47145,61.067637 141.69618,78.144337 124.82498,115.7347 93.694884,101.95457 67.187624,90.220797 80.85949,55.619126 103.5068,72.272096"
id="path2296" />
</g>
<path
style="fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:10.5833;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 54.956029,14.247787 v 49.11798"
id="path2361" />
<path
style="fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:7.933;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 165.74785,-31.776353 V -4.1786544"
id="path2363" />
<path
style="fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:10.5833;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 54.956029,38.806777 165.74785,-17.977504"
id="path2365" />
<path
style="fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:10.5833;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 66.655684,60.631804 166.72149,5.3459019"
id="path2419" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="200mm"
height="200mm"
viewBox="0 0 200 200"
version="1.1"
id="svg5"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="carpet-roll-length.svg"
inkscape:export-filename="../assets/images/icons/carpet-roll-64.png"
inkscape:export-xdpi="11.417511"
inkscape:export-ydpi="11.417511"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.56504558"
inkscape:cx="16.812803"
inkscape:cy="315.90372"
inkscape:window-width="1920"
inkscape:window-height="1008"
inkscape:window-x="0"
inkscape:window-y="681"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-45.022935,37.596851)">
<g
id="g2358"
transform="translate(9.9331103,33.633936)"
style="stroke-width:1.000125;stroke-dasharray:none">
<path
id="path2242"
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:10.5833;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 61.405087,24.188362 95.383293,-52.476396 c 24.96471,-6.689275 40.50388,-5.439089 53.53212,6.973747 13.06695,12.4497209 16.56131,25.0292929 9.58226,53.29021 l -79.61121,74.744307"
sodipodi:nodetypes="ccscc" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:10.58333333;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 61.405087,24.188362 c 33.653,-20.0428233 86.037773,3.774406 93.118353,36.785838 7.08285,33.022041 -22.22503,60.93414 -48.54578,62.44 C 78.791137,124.96959 39.251217,95.823248 53.111058,61.74891 66.84398,27.986602 114.30936,21.282096 133.47145,61.067637 141.69618,78.144337 124.82498,115.7347 93.694884,101.95457 67.187624,90.220797 80.85949,55.619126 103.5068,72.272096"
id="path2296"
sodipodi:nodetypes="csssssc" />
</g>
<path
style="fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:10.5833;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 54.956029,14.247787 v 49.11798"
id="path2361" />
<path
style="fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:7.933;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 165.74785,-31.776353 V -4.1786544"
id="path2363" />
<path
style="fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:10.5833;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 54.956029,38.806777 165.74785,-17.977504"
id="path2365"
sodipodi:nodetypes="cc" />
<path
style="fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:10.5833;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 66.655684,60.631804 166.72149,5.3459019"
id="path2419"
sodipodi:nodetypes="cc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="138.30681mm"
height="154.33244mm"
viewBox="0 0 138.30681 154.33244"
version="1.1"
id="svg5">
<defs
id="defs2" />
<g
id="layer1"
transform="translate(-16.21663,9.4574458)">
<path
id="path1159"
style="color:#000000;fill:#4d4d4d;fill-rule:evenodd;stroke:none;stroke-width:5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
d="M 84.740234,-9.4160156 C 68.15509,-8.7735841 52.02707,-1.7146219 39.964044,9.6231858 26.648596,22.071715 18.076319,39.496811 16.501795,57.66977 c -1.645753,18.579279 3.895027,37.618833 14.989336,52.58191 12.684228,17.27087 32.213572,29.40218 53.368996,32.91774 7.99486,1.38849 16.141663,0.90069 24.215283,1.12304 15.09416,0.23099 45.28397,0.58254 45.28397,0.58254 l 0.16406,-29.05664 c 0,0 -41.07257,-0.46602 -61.603333,-0.95016 C 73.52257,112.94115 55.60882,99.500597 48.574219,81.246094 44.440178,70.483349 44.205066,58.365847 48.518016,47.618972 c 3.162294,-8.025196 8.739489,-15.207303 15.794319,-20.25647 4.623193,-3.307847 9.913924,-5.744641 15.524849,-6.892099 8.672795,-1.790982 18.043304,-0.534421 25.815816,4.023536 7.87161,4.489385 14.18712,12.028138 16.56143,20.87735 1.23335,4.543838 1.36998,9.373431 0.30119,14.031055 -0.74507,3.332732 -2.25335,6.691651 -4.26758,9.552449 -3.31986,4.764731 -8.17204,8.525969 -13.70812,10.137984 -3.5817,1.063713 -7.364852,1.126483 -10.998725,0.157506 -3.130437,-0.828309 -6.176833,-2.547609 -8.469609,-4.970798 -0.828833,-0.825963 -1.718562,-1.752246 -1.90557,-2.953313 0.546353,0.03015 1.021774,0.492626 1.489295,0.77924 3.10825,2.815209 7.350333,4.248692 11.525155,4.113487 4.138474,-0.08494 8.323724,-1.110279 11.873164,-3.276351 5.61479,-3.665861 8.96726,-10.148139 9.71028,-16.711793 0.7865,-7.300809 -1.76907,-14.802261 -6.61867,-20.280517 C 105.81786,29.801689 97.945669,25.9565 89.819169,25.548534 80.084076,24.938498 70.258715,28.813652 63.340156,35.646519 c -8.084338,7.778492 -12.546172,19.129986 -11.962285,30.33033 0.439793,10.172436 4.701938,20.084949 11.660881,27.502481 9.452208,10.28192 23.498433,16.2062 37.471938,15.59438 12.72463,-0.43479 25.11785,-5.90199 34.24102,-14.742595 11.00086,-10.548759 17.60935,-25.606798 17.64012,-40.874184 0.14912,-15.553691 -6.1531,-30.978659 -16.8973,-42.187276 -12.0859,-12.8482542 -29.48065,-20.6217449 -47.150473,-20.717969 -1.20134,-0.016984 -2.403084,-0.012469 -3.603823,0.032298 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@@ -0,0 +1,15 @@
<svg
width="138.30681mm"
height="154.33244mm"
viewBox="0 0 138.30681 154.33244">
<defs
id="defs2" />
<g
id="layer1"
transform="translate(-16.21663,9.4574458)">
<path
id="path1159"
style="color:#000000;fill:#0a7ea4;fill-rule:evenodd;stroke:none;stroke-width:5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
d="M 84.740234,-9.4160156 C 68.15509,-8.7735841 52.02707,-1.7146219 39.964044,9.6231858 26.648596,22.071715 18.076319,39.496811 16.501795,57.66977 c -1.645753,18.579279 3.895027,37.618833 14.989336,52.58191 12.684228,17.27087 32.213572,29.40218 53.368996,32.91774 7.99486,1.38849 16.141663,0.90069 24.215283,1.12304 15.09416,0.23099 45.28397,0.58254 45.28397,0.58254 l 0.16406,-29.05664 c 0,0 -41.07257,-0.46602 -61.603333,-0.95016 C 73.52257,112.94115 55.60882,99.500597 48.574219,81.246094 44.440178,70.483349 44.205066,58.365847 48.518016,47.618972 c 3.162294,-8.025196 8.739489,-15.207303 15.794319,-20.25647 4.623193,-3.307847 9.913924,-5.744641 15.524849,-6.892099 8.672795,-1.790982 18.043304,-0.534421 25.815816,4.023536 7.87161,4.489385 14.18712,12.028138 16.56143,20.87735 1.23335,4.543838 1.36998,9.373431 0.30119,14.031055 -0.74507,3.332732 -2.25335,6.691651 -4.26758,9.552449 -3.31986,4.764731 -8.17204,8.525969 -13.70812,10.137984 -3.5817,1.063713 -7.364852,1.126483 -10.998725,0.157506 -3.130437,-0.828309 -6.176833,-2.547609 -8.469609,-4.970798 -0.828833,-0.825963 -1.718562,-1.752246 -1.90557,-2.953313 0.546353,0.03015 1.021774,0.492626 1.489295,0.77924 3.10825,2.815209 7.350333,4.248692 11.525155,4.113487 4.138474,-0.08494 8.323724,-1.110279 11.873164,-3.276351 5.61479,-3.665861 8.96726,-10.148139 9.71028,-16.711793 0.7865,-7.300809 -1.76907,-14.802261 -6.61867,-20.280517 C 105.81786,29.801689 97.945669,25.9565 89.819169,25.548534 80.084076,24.938498 70.258715,28.813652 63.340156,35.646519 c -8.084338,7.778492 -12.546172,19.129986 -11.962285,30.33033 0.439793,10.172436 4.701938,20.084949 11.660881,27.502481 9.452208,10.28192 23.498433,16.2062 37.471938,15.59438 12.72463,-0.43479 25.11785,-5.90199 34.24102,-14.742595 11.00086,-10.548759 17.60935,-25.606798 17.64012,-40.874184 0.14912,-15.553691 -6.1531,-30.978659 -16.8973,-42.187276 -12.0859,-12.8482542 -29.48065,-20.6217449 -47.150473,-20.717969 -1.20134,-0.016984 -2.403084,-0.012469 -3.603823,0.032298 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

@@ -0,0 +1,17 @@
<svg
width="142.37779mm"
height="154.51445mm"
viewBox="0 0 142.37779 154.51445">
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-16.165914,9.5264309)">
<path
id="path1159"
style="color:#000000;fill:#666666;fill-rule:evenodd;stroke:#cccccc;stroke-width:5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 85.203125,-7.3242188 C 69.920576,-6.8219072 54.978371,-0.73159347 43.488281,9.3105469 29.730781,21.167938 20.62376,38.325311 18.755859,56.416016 c -1.734796,15.95712 1.938409,32.407948 10.191407,46.164064 10.334605,17.47423 27.516469,30.69674 46.990234,36.375 6.645281,1.95148 13.56116,3.1467 20.517578,3.0625 19.153082,0.25684 38.305822,0.51598 57.458982,0.77148 a 0.33113676,0.33113676 0 0 0 0.33399,-0.30664 c 0.64021,-8.0547 1.28097,-16.1094 1.92187,-24.16406 a 0.33113676,0.33113676 0 0 0 -0.32617,-0.35742 c -20.65485,-0.286 -41.30981,-0.51288 -61.960938,-0.86719 h -0.0039 c -13.133341,-1.00893 -25.787797,-7.10439 -35.0625,-16.4375 a 0.33113676,0.33113676 0 0 0 0,-0.002 C 52.343603,94.184995 47.495562,86.16238 45.046875,77.314453 a 0.33113676,0.33113676 0 0 0 0,-0.002 C 42.922997,69.749353 42.661672,61.651864 44.335938,54.025391 47.301902,40.407665 56.579386,28.264581 69.050781,22.005859 a 0.33113676,0.33113676 0 0 0 0.002,-0.002 c 7.218526,-3.661983 15.535683,-5.174225 23.513672,-4.125 a 0.33113676,0.33113676 0 0 0 0.002,0 c 12.749801,1.558443 24.475741,10.023864 29.830081,21.716797 1.528,3.328833 2.54287,7.075443 2.8457,10.787109 a 0.33113676,0.33113676 0 0 0 0,0.0039 c 0.50314,5.427095 -0.52104,11.148138 -3.02734,16.058593 a 0.33113676,0.33113676 0 0 0 -0.002,0.002 c -3.77296,7.555238 -10.91161,13.615485 -19.2832,15.21289 a 0.33113676,0.33113676 0 0 0 0,0.002 c -4.546338,0.882115 -9.418457,0.367934 -13.595702,-1.726562 a 0.33113676,0.33113676 0 0 0 -0.0039,-0.002 c -5.431125,-2.626837 -9.860013,-7.754966 -10.794922,-13.78711 -0.497265,-3.192735 0.282359,-6.536996 2.125,-9.185546 -0.0139,2.705038 0.257235,5.460018 1.404297,7.986328 1.724833,4.159718 5.336057,7.559506 9.757813,8.675781 3.964246,1.059122 8.116269,0.326271 11.890621,-0.886719 a 0.33113676,0.33113676 0 0 0 0.002,0 c 2.75294,-0.915515 5.13542,-2.694581 6.95508,-4.916016 l 0.004,-0.0059 c 4.22887,-4.970422 5.92559,-11.850563 4.76367,-18.238281 v -0.0039 c -1.39169,-8.320828 -7.31354,-15.475053 -14.83007,-19.078125 l -0.002,-0.002 C 92.910555,26.731743 83.676017,26.736335 75.808594,29.951172 64.535605,34.499437 56.212806,45.226465 54.117188,57.134766 c -1.968025,10.346436 0.517884,21.379932 6.552734,29.984375 7.700829,11.262849 20.653527,18.702169 34.257812,19.705079 11.668956,0.98802 23.584106,-2.53175 32.964846,-9.503908 l 0.002,-0.002 c 12.41469,-9.061773 20.69784,-23.548746 22.11133,-38.865234 v -0.002 c 1.33798,-13.328328 -2.27053,-27.040971 -9.87305,-38.054688 v -0.002 C 130.49093,6.1822132 114.86084,-3.7880615 97.898438,-6.5078125 93.705473,-7.195958 89.449462,-7.4542424 85.205078,-7.3242188 a 0.33113676,0.33113676 0 0 0 -0.002,0 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

+52
View File
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="142.37779mm"
height="154.51445mm"
viewBox="0 0 142.37779 154.51445"
version="1.1"
id="svg5"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="icon-carpet-roll.svg"
inkscape:export-filename="../assets/images/icons/carpet-roll-64.png"
inkscape:export-xdpi="11.417511"
inkscape:export-ydpi="11.417511"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#585858"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.79909512"
inkscape:cx="428.6098"
inkscape:cy="198.34935"
inkscape:window-width="1920"
inkscape:window-height="1008"
inkscape:window-x="0"
inkscape:window-y="681"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-16.165914,9.5264309)">
<path
id="path1159"
style="color:#000000;fill:#333333;fill-rule:evenodd;stroke:none;stroke-width:5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 84.740234,-9.4160156 C 68.15509,-8.7735841 52.02707,-1.7146219 39.964044,9.6231858 26.648596,22.071715 18.076319,39.496811 16.501795,57.66977 c -1.645753,18.579279 3.895027,37.618833 14.989336,52.58191 12.684228,17.27087 32.213572,29.40218 53.368996,32.91774 7.99486,1.38849 16.141663,0.90069 24.215283,1.12304 15.09416,0.23099 45.28397,0.58254 45.28397,0.58254 l 0.16406,-29.05664 c 0,0 -41.07257,-0.46602 -61.603333,-0.95016 C 73.52257,112.94115 55.60882,99.500597 48.574219,81.246094 44.440178,70.483349 44.205066,58.365847 48.518016,47.618972 c 3.162294,-8.025196 8.739489,-15.207303 15.794319,-20.25647 4.623193,-3.307847 9.913924,-5.744641 15.524849,-6.892099 8.672795,-1.790982 18.043304,-0.534421 25.815816,4.023536 7.87161,4.489385 14.18712,12.028138 16.56143,20.87735 1.23335,4.543838 1.36998,9.373431 0.30119,14.031055 -0.74507,3.332732 -2.25335,6.691651 -4.26758,9.552449 -3.31986,4.764731 -8.17204,8.525969 -13.70812,10.137984 -3.5817,1.063713 -7.364852,1.126483 -10.998725,0.157506 -3.130437,-0.828309 -6.176833,-2.547609 -8.469609,-4.970798 -0.828833,-0.825963 -1.718562,-1.752246 -1.90557,-2.953313 0.546353,0.03015 1.021774,0.492626 1.489295,0.77924 3.10825,2.815209 7.350333,4.248692 11.525155,4.113487 4.138474,-0.08494 8.323724,-1.110279 11.873164,-3.276351 5.61479,-3.665861 8.96726,-10.148139 9.71028,-16.711793 0.7865,-7.300809 -1.76907,-14.802261 -6.61867,-20.280517 C 105.81786,29.801689 97.945669,25.9565 89.819169,25.548534 80.084076,24.938498 70.258715,28.813652 63.340156,35.646519 c -8.084338,7.778492 -12.546172,19.129986 -11.962285,30.33033 0.439793,10.172436 4.701938,20.084949 11.660881,27.502481 9.452208,10.28192 23.498433,16.2062 37.471938,15.59438 12.72463,-0.43479 25.11785,-5.90199 34.24102,-14.742595 11.00086,-10.548759 17.60935,-25.606798 17.64012,-40.874184 0.14912,-15.553691 -6.1531,-30.978659 -16.8973,-42.187276 -12.0859,-12.8482542 -29.48065,-20.6217449 -47.150473,-20.717969 -1.20134,-0.016984 -2.403084,-0.012469 -3.603823,0.032298 z"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

+39 -29
View File
@@ -1,8 +1,11 @@
import { MeasurementInput } from "./MeasurementInput";
import { area_t, dimensions_t } from "@/lib/dimensions_t";
import { area_t, dimensions_t } from "@/lib/dimensions";
import { Length } from "convert";
import { useState } from "react";
import { StyleSheet, Text, View } from "react-native";
import MeasurementUnitInput from "./MeasurementUnitInput";
import { useAppDispatch, useAppSelector } from "@/app/store";
import { selectPlywoodCalc } from "@/features/product/productSlice";
export type AreaInputProps = {
onMeasurementSet?: (area : dimensions_t) => any,
@@ -14,48 +17,55 @@ export type AreaInputProps = {
export function AreaInput({onMeasurementSet, lengthLabel, widthLabel, defaultValue, units} : AreaInputProps) {
defaultValue = defaultValue || {l: 0, w: 0, u: "ft"}
units = units || "ft"
const [area, setArea] = useState(defaultValue)
function doOnLengthSet(measurement : dimensions_t) {
setArea({
...area,
l: measurement.l
});
onMeasurementSet && onMeasurementSet({
...area,
l: measurement.l
});
function doOnLengthSet(l: number) {
const a : area_t = { ...area, l };
setArea(a);
onMeasurementSet && onMeasurementSet(a);
}
function doOnWidthSet(measurement : dimensions_t) {
setArea({
...area,
w: measurement.l
});
onMeasurementSet && onMeasurementSet({
...area,
w: measurement.l
});
function doOnLengthUnitSet(u: Length) {
const a : area_t = { ...area, u };
setArea(a);
onMeasurementSet && onMeasurementSet(a);
}
function doOnWidthSet(l: number) {
const a : area_t = { ...area, l };
setArea(a);
onMeasurementSet && onMeasurementSet(a);
}
function doOnWidthUnitSet(u: Length) {
const a : area_t = { ...area, u };
setArea(a);
onMeasurementSet && onMeasurementSet(a);
}
return (
<View style={styles.areaInputWrapper}>
<MeasurementInput
defaultValue={{l: area.l, u: area.u}}
<MeasurementUnitInput
label="Length"
defaultValue={0}
defaultUnit={units}
onValueSet={doOnLengthSet}
label={lengthLabel}
units={units}
/>
onUnitSet={doOnLengthUnitSet}
aria-label="length"
/>
<Text style={{fontSize: 30,}} > x </Text>
<MeasurementInput
defaultValue={{l: area.w, u: area.u}}
<MeasurementUnitInput
label="Width"
defaultValue={0}
defaultUnit={units}
onValueSet={doOnWidthSet}
label={widthLabel}
units={units}
/>
onUnitSet={doOnWidthUnitSet}
aria-label="width"
/>
</View>
)
}
+14 -14
View File
@@ -1,17 +1,12 @@
import { area_t } from "@/lib/dimensions";
import { Product } from "@/lib/product";
import convert, { Area, Length } from "convert";
import dayjs, { Dayjs } from "dayjs";
import { StyleSheet, Text, View } from "react-native";
export type AreaRugTagProps = {
dimensions: area_t,
price_per_area: {
price: number,
per: {
n: number,
u: Area,
}
},
product: Product,
date?: Dayjs
currencySymbol?: string
};
@@ -19,17 +14,17 @@ export type AreaRugTagProps = {
export const AreaRugTag = (props: AreaRugTagProps) => {
const date = props.date || dayjs();
const square = props.dimensions.l * props.dimensions.w;
const areaUnits = `square ${props.dimensions.u}`;
const square2 = convert(square, areaUnits as Area).to(props.price_per_area.per.u)
const price = (square2 / props.price_per_area.per.n) * props.price_per_area.price;
const areaUnits = `sq ${props.dimensions.u}`;
const square2 = convert(square, areaUnits as Area).to("sq " + props.product.dimensions.u as Area)
const price = (square2 / props.product.pricePerUnit) * props.product.pricePerUnit;
const sPrice = price.toLocaleString(undefined, {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
const currencySymbol = props.currencySymbol || "$";
return (
<View style={styles.component}>
<Text aria-label="area rug dimensions" style={styles.dimensions}>{props.dimensions.l} x {props.dimensions.w}</Text>
<View aria-label="area rug tag" style={styles.component}>
<Text aria-label="area rug dimensions" style={styles.dimensions}>{Math.round(props.dimensions.l)} x {Math.round(props.dimensions.w)}</Text>
<Text aria-label="area rug price" style={styles.price}>{currencySymbol} {sPrice}</Text>
<Text aria-label="area rug date" style={styles.date}>{date.format("YYYY/MM/DD")}</Text>
<Text aria-label="this week's color" style={styles.tagColor}>[Curent Tag Color]</Text>
@@ -37,17 +32,22 @@ export const AreaRugTag = (props: AreaRugTagProps) => {
)
};
const BIG_FONT_SIZE = 30;
const styles = StyleSheet.create({
component: {
paddingVertical: 100,
flex: 1,
alignItems: "center",
},
dimensions: {
fontSize: BIG_FONT_SIZE,
},
price: {
fontSize: BIG_FONT_SIZE,
},
date: {
fontSize: BIG_FONT_SIZE,
},
tagColor: {
fontSize: BIG_FONT_SIZE,
},
})
+169
View File
@@ -0,0 +1,169 @@
import { useEffect, useState } from "react";
import { View, Text, StyleSheet, StatusBar, Dimensions, useWindowDimensions } from "react-native";
import { Product } from "@/lib/product";
import { selectProducts } from "@/features/product/productSlice";
import { area_t, diameterToLength, length_t } from "@/lib/dimensions";
import { useAppSelector } from "../app/store";
import { AreaRugTag } from "@/components/AreaRugTag";
import convert, { Length } from "convert";
import ProductList from "@/components/ProductList";
import { HelpfulMeasurementUnitInput } from "./HelpfulMeasurementInput";
import { ScrollView } from "react-native-gesture-handler";
import { SafeAreaView } from "react-native-safe-area-context";
const DEFAULT_DIAMETER_UNIT: Length = "in";
const DEFAULT_LENGTH_UNIT: Length = "ft";
const screenDimensions = Dimensions.get('screen');
const windowDimensions = Dimensions.get('window');
export const CarpetRollCalculator = () => {
const products = useAppSelector(selectProducts);
const [width, setWidth] = useState(0);
const [outerDiameter, setOuterDiameter] = useState<length_t>({
l: 0,
u: DEFAULT_DIAMETER_UNIT,
});
const [innerDiameter, setInnerDiameter] = useState<length_t>({
l: 0,
u: DEFAULT_DIAMETER_UNIT,
});
const [numRings, setNumRings] = useState(0);
const [rugDimensions, setRugDimensions] = useState<area_t>({
u: DEFAULT_LENGTH_UNIT,
w: 0,
l: 0,
});
const [selectedProduct, setSelectedProduct] = useState<Product | null>(null);
const [units, setUnits] = useState<Length>(DEFAULT_LENGTH_UNIT);
useEffect(() => {
// convert the "diameter" units to the length unit.
const outerD2Value = convert(outerDiameter.l, outerDiameter.u).to(units);
const innerD2Value = convert(innerDiameter.l, innerDiameter.u).to(units);
const innerD2 = {
l: innerD2Value,
u: units,
};
const outerD2 = {
l: outerD2Value,
u: units,
};
const l = diameterToLength(outerD2, innerD2, numRings).l;
const dimens = {
l,
w: width || selectedProduct?.dimensions.l || 0.0,
u: units || selectedProduct?.dimensions.u || "ft",
};
console.dir(dimens);
setRugDimensions(dimens);
}, [outerDiameter, innerDiameter, width, numRings, selectedProduct, units]);
return (
<SafeAreaView style={styles.container}>
<View style={styles.placeholder}>
{selectedProduct ? (
<AreaRugTag dimensions={rugDimensions} product={selectedProduct} />
) : (
<Text style={styles.placeholderText}>Please Select a Product</Text>
)}
</View>
<ScrollView style={styles.scrollView}>
<View>
<View style={styles.inputFieldWrapper}>
<HelpfulMeasurementUnitInput
label="Length"
svgUri="/assets/images/icons/carpet-roll-length-raw.svg"
onUnitSet={setUnits}
onValueSet={setWidth}
defaultValue={width}
defaultUnit={units}
unitChoices={["ft", "in"]}
/>
</View>
<View style={styles.inputFieldWrapper}>
<HelpfulMeasurementUnitInput
label="Inner diameter"
svgUri="/assets/images/icons/carpet-roll-length-inner-diameter-raw.svg"
onUnitSet={(u) => setInnerDiameter({ ...innerDiameter, u })}
defaultValue={innerDiameter.l}
defaultUnit={innerDiameter.u}
unitChoices={["ft", "in"]}
onValueSet={(l) => setInnerDiameter({ ...innerDiameter, l })}
/>
</View>
<View style={styles.inputFieldWrapper}>
<HelpfulMeasurementUnitInput
label="Outer diameter"
svgUri="/assets/images/icons/carpet-roll-length-outer-diameter-raw.svg"
onUnitSet={(u) => setOuterDiameter({ ...outerDiameter, u })}
defaultValue={innerDiameter.l}
defaultUnit={innerDiameter.u}
unitChoices={["ft", "in"]}
onValueSet={(l) => setOuterDiameter({ ...outerDiameter, l })}
/>
</View>
<View style={styles.inputFieldWrapper}>
<HelpfulMeasurementUnitInput
label="Number of rings"
svgUri="/assets/images/icons/carpet-roll-length-number-of-rings-raw.svg"
defaultValue={0}
onValueSet={setNumRings}
/>
</View>
</View>
<View>
<ProductList
onProductSelected={setSelectedProduct}
productType="area_rug"
/>
</View>
</ScrollView>
</SafeAreaView>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
paddingTop: StatusBar.currentHeight,
},
scrollView: {
marginHorizontal: 20,
height: windowDimensions.height - 50,
},
placeholder: {
alignContent: "center",
alignSelf: "center",
height: 300,
paddingTop: 40,
paddingBottom: 40,
fontSize: 30,
position: "static",
},
placeholderText: {
fontSize: 30,
paddingVertical: 70,
},
inputFieldWrapper: {
// padding: 10,
},
inputFields: {},
label: {
flex: 1,
flexDirection: "row",
},
numberInput: {
flexDirection: "row",
borderStyle: "solid",
borderColor: "black",
borderWidth: 1,
},
});
export default CarpetRollCalculator;
+33
View File
@@ -0,0 +1,33 @@
import { StyleSheet, Text, View } from "react-native";
import { MeasurementInputProps } from "./MeasurementInput";
import MeasurementUnitInput, {
MeasurementUnitInputProps,
} from "./MeasurementUnitInput";
import { SvgUri } from "react-native-svg";
import { Length } from "convert";
export type HelpfulMeasurementUnitInputParams = MeasurementUnitInputProps & {
svgUri: string;
label: string;
unitChoices?: Length[];
};
export function HelpfulMeasurementUnitInput(
props: HelpfulMeasurementUnitInputParams
) {
return (
<View>
<SvgUri uri={props.svgUri} width="100px" height="100px" />
<Text>{props.label}</Text>
<MeasurementUnitInput
defaultUnit={props.defaultUnit || "ft"}
defaultValue={props.defaultValue || 0.0}
onUnitSet={props.onUnitSet}
onValueSet={props.onValueSet}
unitChoices={props.unitChoices}
/>
</View>
);
}
const styles = StyleSheet.create({});
+9 -31
View File
@@ -1,46 +1,24 @@
import { dimensions_t, length_t } from "@/lib/dimensions_t";
import { Length } from "convert";
import { useState } from "react";
import { StyleSheet, Text, TextInput, View } from "react-native";
import { StyleSheet, Text, View } from "react-native";
import { NumberInput, NumberInputProps } from "./NumberInput";
export type t_length_unit = "foot" | "inch"
export type MeasurementInputProps = {
onValueSet?: (d: dimensions_t) => any,
defaultValue: length_t;
label?: string,
export type MeasurementInputProps = NumberInputProps & {
units?: Length,
}
export function MeasurementInput({onValueSet, defaultValue, label, units}: MeasurementInputProps) {
const [mValue, setMValue] = useState(defaultValue)
const defValue = Number.isNaN(defaultValue.l) ? 0 : defaultValue.l
export function MeasurementInput({onValueSet, defaultValue: defaultValue, label, units}: MeasurementInputProps) {
units = units || "ft";
function doOnValueSet(value : string) {
setMValue(mValue);
const iVal = parseFloat(value) || parseInt(value);
onValueSet && onValueSet({
...defaultValue,
l: iVal,
})
}
const sDefValue = new String(defValue).valueOf()
return (
<View style={styles.inputWrapper}>
<TextInput
clearTextOnFocus={true}
defaultValue={sDefValue}
onChangeText={doOnValueSet}
inputMode='decimal'
style={styles.lengthInput}
aria-label={label || "Enter measurement"}
/>
<Text style={styles.unitHints}>{units}</Text>
<NumberInput
onValueSet={v => onValueSet && onValueSet(v)}
defaultValue={defaultValue}
label={label}
/>
</View>
)
}
+51
View File
@@ -0,0 +1,51 @@
import { dimensions_t, length_t } from "@/lib/dimensions";
import { Length } from "convert";
import { MeasurementInput, MeasurementInputProps } from "./MeasurementInput";
import UnitChooser, {
UnitChooserPropsBase,
} from "./UnitChooser";
import { StyleSheet, View } from "react-native";
export type MeasurementUnitInputProps = MeasurementInputProps &
UnitChooserPropsBase & {
defaultValue: number;
unitChoices?: Length[];
};
export default function MeasurementUnitInput({
onValueSet,
onUnitSet,
defaultValue,
unitChoices,
defaultUnit,
label,
units,
}: MeasurementUnitInputProps) {
return (
<View style={unitChoices ? styles.inputRow : styles.inputCol}>
<MeasurementInput
onValueSet={onValueSet}
defaultValue={defaultValue}
label={label}
units={units}
/>
{unitChoices && (
<UnitChooser
defaultUnit={defaultUnit}
choices={unitChoices}
onUnitSet={onUnitSet}
/>
)}
</View>
);
}
const styles = StyleSheet.create({
inputRow: {
flexDirection: "row",
},
inputCol: {
}
})
+54
View File
@@ -0,0 +1,54 @@
import { StyleSheet, TextInput } from "react-native";
export type NumberInputProps = {
defaultValue: number;
onValueSet: (value: number) => any;
label?: string;
};
export function NumberInput({
defaultValue,
onValueSet,
label,
}: NumberInputProps) {
const defValue = Number.isNaN(defaultValue) ? 0 : defaultValue;
function doOnValueSet(value: string) {
const iVal = parseFloat(value) || parseInt(value);
onValueSet && onValueSet(iVal);
}
const sDefValue = new String(defValue).valueOf();
return (
<TextInput
clearTextOnFocus={true}
defaultValue={sDefValue}
onChangeText={doOnValueSet}
inputMode="decimal"
style={styles.numberInput}
aria-label={label || "Enter measurement"}
/>
);
}
const styles = StyleSheet.create({
inputWrapper: {
alignItems: "flex-start",
flexDirection: "row",
verticalAlign: "middle",
},
unitHints: {
padding: 10,
fontSize: 20,
verticalAlign: "middle",
},
numberInput: {
borderWidth: 1,
borderRadius: 4,
borderColor: "grey",
padding: 4,
margin: 4,
fontSize: 25,
},
});
+74 -55
View File
@@ -1,68 +1,87 @@
import { Product } from "@/lib/product";
import { product_type_t } from "@/lib/dimensions";
import { PRODUCT_TYPES, Product } from "@/lib/product";
import Ionicons from "@expo/vector-icons/Ionicons";
import React from "react";
import { useState } from "react";
import { StyleSheet, Text, TextInput, TouchableHighlight, View } from "react-native";
import { StyleSheet, TextInput, TouchableHighlight, View } from "react-native";
import SelectDropdown from "react-native-select-dropdown";
export type ProductAttributeChangeFunc = (key: string, newValue: string) => any;
export type ProductAttributeDeleteFunc = (key: string) => any;
export type ChangeAttributeFunction = (oldKey : string, newKey : string) => any;
export type ChangeAttributeFunction = (oldKey: string, newKey: string) => any;
export type ProductTypeChangeFunc = (
key: string,
newProductType: product_type_t
) => any;
export type ProductAttributeProps = {
attributeKey: string,
attributeValue: string,
onChangeAttributeKey?: ChangeAttributeFunction,
onChangeAttribute?: ProductAttributeChangeFunc,
onDelete?: ProductAttributeChangeFunc,
attributeKey: string;
attributeValue: string;
onProductTypeChange?: ProductTypeChangeFunc;
onChangeAttributeKey?: ChangeAttributeFunction;
onChangeAttribute?: ProductAttributeChangeFunc;
onDelete?: ProductAttributeChangeFunc;
};
export const ProductAttributeEditor = ({ attributeKey, attributeValue, onDelete, onChangeAttributeKey, onChangeAttribute }: ProductAttributeProps) => {
const select_product_type_choices = PRODUCT_TYPES.map((p) => [p, p]);
const doChangeKey = (e: any) => {
onChangeAttributeKey && onChangeAttributeKey(attributeKey, e);
}
export const ProductAttributeEditor = ({
attributeKey,
attributeValue,
onDelete,
onChangeAttributeKey,
onChangeAttribute,
}: ProductAttributeProps) => {
const doChangeKey = (e: any) => {
onChangeAttributeKey && onChangeAttributeKey(attributeKey, e);
};
const doChangeValue = (e: any) => {
onChangeAttribute && onChangeAttribute(attributeKey, e);
}
const doChangeValue = (e: any) => {
onChangeAttribute && onChangeAttribute(attributeKey, e);
};
return (
<View>
<View style={styles.productAttributeRow}>
<TextInput
defaultValue={attributeKey}
onChangeText={doChangeKey}
style={styles.value}
aria-label="Edit Key"
/>
<TextInput
defaultValue={attributeValue}
onChangeText={doChangeValue}
style={styles.value}
aria-label="Edit Value" />
<TouchableHighlight
onPress={() => onDelete && onDelete(attributeKey, attributeValue)}
aria-label="Delete Attribute"
style={{ backgroundColor: "darkred", borderRadius: 5, margin: 5, padding: 5, }}>
<Ionicons name="trash-bin-outline" size={30} color={"white"} />
</TouchableHighlight>
</View>
</View>
)
}
return (
<View>
<View style={styles.productAttributeRow}>
<TextInput
defaultValue={attributeKey}
onChangeText={doChangeKey}
style={styles.value}
aria-label="Edit Key"
/>
<TextInput
defaultValue={attributeValue}
onChangeText={doChangeValue}
style={styles.value}
aria-label="Edit Value"
/>
<TouchableHighlight
onPress={() => onDelete && onDelete(attributeKey, attributeValue)}
aria-label="Delete Attribute"
style={{
backgroundColor: "darkred",
borderRadius: 5,
margin: 5,
padding: 5,
}}
>
<Ionicons name="trash-bin-outline" size={30} color={"white"} />
</TouchableHighlight>
</View>
</View>
);
};
const styles = StyleSheet.create({
productAttributeRow: {
flexDirection: "row",
},
key: {
flex: 1,
},
value: {
flex: 1,
borderWidth: 1,
borderColor: "grey",
borderStyle: "solid",
padding: 10
}
});
productAttributeRow: {
flexDirection: "row",
},
key: {
flex: 1,
},
value: {
flex: 1,
borderWidth: 1,
borderColor: "grey",
borderStyle: "solid",
padding: 10,
},
});
+190 -193
View File
@@ -1,207 +1,204 @@
import { Product } from '@/lib/product';
import { dimensions_t } from "@/lib/dimensions_t";
import { useState, useEffect } from 'react';
import { View, Text, StyleSheet } from 'react-native';
import { SafeAreaView } from 'react-native-safe-area-context';
import PriceDisplay from './Price';
import { AreaInput } from './AreaInput';
import { MeasurementInput } from './MeasurementInput';
import ProductList from './ProductList';
import UnitChooser from './UnitChooser';
import convert, { Length } from 'convert';
import PercentDamage from './PercentDamange';
import { Product, productPriceFor } from "@/lib/product";
import { dimensions_t } from "@/lib/dimensions";
import { useState, useEffect } from "react";
import { View, Text, StyleSheet } from "react-native";
import { SafeAreaView } from "react-native-safe-area-context";
import PriceDisplay from "./Price";
import { AreaInput } from "./AreaInput";
import ProductList from "./ProductList";
import convert, { Length } from "convert";
import PercentDamage from "./PercentDamange";
import MeasurementUnitInput from "./MeasurementUnitInput";
import UnitChooser from "./UnitChooser";
export default function ProductCalculatorSelector() {
const [activeProduct, setActiveProduct] = useState(null as Product | null);
const [price, setPrice] = useState(0);
const [measurement, setMeasurement] = useState({
l: 0,
w: 0,
u: "ft",
} as dimensions_t);
const [percentDamage, setPercentDamange] = useState(0.0);
const [activeProduct, setActiveProduct] = useState(null as Product | null);
const [price, setPrice] = useState(0);
const [measurement, setMeasurement] = useState({ l: 0, w: 0, u: "ft" } as dimensions_t);
const [percentDamage, setPercentDamange] = useState(0.0);
useEffect(
function () {
const iv = setInterval(function () {
if (!(activeProduct && measurement)) return;
setPrice(productPriceFor(activeProduct, measurement, percentDamage));
}, 50);
return function () {
clearInterval(iv);
};
},
[activeProduct, measurement, percentDamage]
);
useEffect(function () {
const iv = setInterval(function () {
if (!(activeProduct && measurement)) return;
setPrice(
activeProduct.priceFor(measurement, percentDamage)
function onMeasurementSet(dimensions: dimensions_t) {
setMeasurement(dimensions);
activeProduct &&
setPrice(productPriceFor(activeProduct, measurement, percentDamage));
}
function onLengthSet(l: number) {
setMeasurement({ ...measurement, l });
onMeasurementSet && onMeasurementSet({ ...measurement, l });
}
function onUnitChosen(unit: Length) {
setMeasurement({
...measurement,
u: unit,
});
}
function onSetPercentDamage(pct: number) {
setPercentDamange(pct);
}
function onProductSelected(product: Product) {
setActiveProduct(product);
setMeasurement({
l: convert(product.dimensions.l, product.dimensions.u).to(measurement.u),
u: measurement.u,
...("w" in measurement && "w" in product.dimensions
? {
w: convert(product.dimensions.w, product.dimensions.u).to(
measurement.u
),
u: measurement.u,
}
: {}),
});
}
return (
<SafeAreaView style={styles.wrapper}>
<PriceDisplay price={price} />
<View style={styles.inputAndUnitWrapper}>
<View style={styles.inputWrapper}>
{activeProduct ? (
"w" in activeProduct.dimensions ? (
<View style={{flex: 1, flexDirection: "row"}}>
<AreaInput
defaultValue={activeProduct.dimensions}
onMeasurementSet={onMeasurementSet}
widthLabel="enter width"
lengthLabel="enter length"
units={measurement.u}
/>
<UnitChooser
choices={["in", "ft"]}
onUnitSet={onUnitChosen}
defaultUnit={activeProduct.dimensions.u}
/>
</View>
) : (
<MeasurementUnitInput
defaultValue={activeProduct.dimensions.l}
onValueSet={onLengthSet}
onUnitSet={onUnitChosen}
defaultUnit={activeProduct.dimensions.u}
unitChoices={["ft", "in"]}
/>
)
}, 50);
return function () {
clearInterval(iv);
};
}, [activeProduct, measurement, percentDamage]);
function onMeasurementSet(dimensions: dimensions_t) {
setMeasurement(dimensions);
activeProduct && setPrice(
activeProduct.priceFor(measurement, percentDamage)
)
}
function onUnitChosen(unit: Length) {
setMeasurement({
...measurement,
u: unit,
});
}
function onSetPercentDamage(pct: number) {
setPercentDamange(pct);
}
function onProductSelected(product: Product) {
setActiveProduct(product);
setMeasurement(
{
l: convert(
product.dimensions.l,
product.dimensions.u,
).to(measurement.u),
u: measurement.u,
...(
("w" in measurement && "w" in product.dimensions) ? {
w: convert(
product.dimensions.w,
product.dimensions.u,
).to(measurement.u),
u: measurement.u,
} : {}
)
}
);
}
return (
<SafeAreaView style={styles.wrapper}>
<PriceDisplay price={price} />
<View style={styles.inputAndUnitWrapper}>
<View style={styles.inputWrapper}>
{
activeProduct ? (
"w" in activeProduct.dimensions ?
<AreaInput
defaultValue={activeProduct.dimensions}
onMeasurementSet={onMeasurementSet}
widthLabel='enter width'
lengthLabel='enter length'
units={measurement.u}
/>
:
<MeasurementInput
defaultValue={activeProduct.dimensions}
onValueSet={onMeasurementSet}
label="enter length"
units={measurement.u}
/>
) : (
<Text>Please select a product</Text>
)
}
{
activeProduct && <UnitChooser choices={["in", "ft"]} onChoicePressed={onUnitChosen} />
}
</View>
</View>
{activeProduct &&
(<View style={styles.damageWrapper}>
<PercentDamage
onSetPercentage={onSetPercentDamage}
/>
</View>)
}
<ProductList onProductSelected={onProductSelected} />
</SafeAreaView>
);
) : (
<Text>Please select a product</Text>
)}
</View>
</View>
{activeProduct && (
<View style={styles.damageWrapper}>
<PercentDamage onSetPercentage={onSetPercentDamage} />
</View>
)}
<ProductList onProductSelected={onProductSelected} productType="lumber" />
</SafeAreaView>
);
}
export const styles = StyleSheet.create({
wrapper: {
overflow: "scroll"
},
bigPriceWrapper: {
alignContent: "center",
},
bigPrice: {
alignSelf: "center",
fontSize: 40,
marginTop: 100,
marginBottom: 100,
},
inputWrapper: {
flexDirection: "row",
alignItems: "flex-start",
verticalAlign: "middle",
},
unitSelector: {
},
inputAndUnitWrapper: {
flexDirection: "row",
alignSelf: "center",
},
widthInput: {
width: 200,
borderWidth: 1,
borderRadius: 4,
borderColor: "grey",
padding: 4,
margin: 4,
fontSize: 30,
},
activeProduct: {
borderWidth: 2,
borderColor: "black",
borderStyle: "solid",
},
inactiveProduct: {
wrapper: {
overflow: "scroll",
},
bigPriceWrapper: {
alignContent: "center",
},
bigPrice: {
alignSelf: "center",
fontSize: 40,
marginTop: 100,
marginBottom: 100,
},
inputWrapper: {
flexDirection: "row",
alignItems: "flex-start",
verticalAlign: "middle",
},
unitSelector: {},
inputAndUnitWrapper: {
flexDirection: "row",
alignSelf: "center",
},
widthInput: {
width: 200,
borderWidth: 1,
borderRadius: 4,
borderColor: "grey",
padding: 4,
margin: 4,
fontSize: 30,
},
activeProduct: {
borderWidth: 2,
borderColor: "black",
borderStyle: "solid",
},
inactiveProduct: {},
titleContainer: {
flexDirection: "row",
gap: 8,
},
stepContainer: {
gap: 8,
marginBottom: 8,
},
reactLogo: {
height: 178,
width: 290,
bottom: 0,
left: 0,
},
productTileTouchable: {
margin: 10,
padding: 20,
backgroundColor: "grey",
},
},
titleContainer: {
flexDirection: 'row',
gap: 8,
},
stepContainer: {
gap: 8,
marginBottom: 8,
},
reactLogo: {
height: 178,
width: 290,
bottom: 0,
left: 0,
},
productTileTouchable: {
margin: 10,
padding: 20,
backgroundColor: "grey",
},
productTileTouchableActive: {
borderWidth: 2,
borderStyle: "solid",
borderColor: "black",
margin: 10,
padding: 20,
},
productTileTouchableActive: {
borderWidth: 2,
borderStyle: "solid",
borderColor: "black",
margin: 10,
padding: 20,
},
productTileText: {
textAlign: "center",
color: "white",
},
productTileText: {
textAlign: "center",
color: "white",
},
productTileTextActive: {
textAlign: "center",
color: "black",
},
productTileTextActive: {
textAlign: "center",
color: "black",
},
productTileCover: {
padding: 4,
},
damageWrapper: {
paddingVertical: 10,
paddingHorizontal: 10,
},
productTileCover: {
padding: 4,
},
damageWrapper: {
paddingVertical: 10,
paddingHorizontal: 10,
},
});
+1 -1
View File
@@ -1,9 +1,9 @@
import { useAppDispatch, useAppSelector } from "@/app/store"
import { addAttribute, changeKey, deleteAttribute, deleteProduct, selectProductIds, selectProducts, updateAttribute, updateDimensions, updatePrice, updateProduct } from "@/features/product/productSlice"
import { Id, Product } from "@/lib/product";
import { dimensions_t } from "@/lib/dimensions_t";
import { FlatList, SafeAreaView, StyleSheet, Text } from "react-native";
import { ProductEditorItem } from "./ProductEditorItem";
import { dimensions_t } from "@/lib/dimensions";
export const ProductEditor = ({}) => {
const products = useAppSelector(selectProducts) as Product [];
+247 -203
View File
@@ -1,231 +1,275 @@
import { Id, Product } from "@/lib/product"
import { dimensions_t } from "@/lib/dimensions_t";
import { useState } from "react"
import { Button, FlatList, StyleSheet, Text, TextInput, Touchable, TouchableHighlight, View } from "react-native"
import { Id, Product, product_type_t } from "@/lib/product";
import { useState } from "react";
import {
Button,
FlatList,
Pressable,
StyleSheet,
Text,
TextInput,
Touchable,
TouchableHighlight,
View,
} from "react-native";
import { ProductAttributeEditor } from "./ProductAttributeEditor";
import { Dropdown } from 'react-native-element-dropdown';
import { Dropdown } from "react-native-element-dropdown";
import { Ionicons } from "@expo/vector-icons";
import { Length } from "convert";
import { dimensions_t } from "@/lib/dimensions";
export type ProductAddedFunc = () => any;
export type ProductDeletedFunc = (product_id: Id) => any;
export type AttributeAddedFunc = (product_id: Id) => any;
export type AttributeKeyUpdatedFunc = (product_id: Id, oldKey: string, newKey: string) => any;
export type AttributeUpdatedFunc = (product_id: Id, attribute: string, value: string) => any;
export type AttributeKeyUpdatedFunc = (
product_id: Id,
oldKey: string,
newKey: string
) => any;
export type AttributeUpdatedFunc = (
product_id: Id,
attribute: string,
value: string
) => any;
export type AttributeDeletedFunc = (product_id: Id, attribute: string) => any;
export type PriceUpdatedFunc = (product_id: Id, price: number) => any;
export type DimensionUpdatedFunc = (product_id: Id, dimension: dimensions_t) => any;
export type DimensionUpdatedFunc = (
product_id: Id,
dimension: dimensions_t
) => any;
export type ProductTypeChangedFunc = (
product_id: Id,
product_type: product_type_t
) => any;
export type ProductEditorItemProps = {
product: Product,
onProductAdded?: ProductAddedFunc,
onProductDeleted?: ProductDeletedFunc,
onAttributeAdded?: AttributeAddedFunc,
onAttributeKeyChanged?: AttributeKeyUpdatedFunc,
onAttributeUpdated?: AttributeUpdatedFunc,
onAttributeDeleted?: AttributeDeletedFunc,
onPriceUpdated?: PriceUpdatedFunc,
onDimensionsUpdated?: DimensionUpdatedFunc,
}
product: Product;
onProductAdded?: ProductAddedFunc;
onProductDeleted?: ProductDeletedFunc;
onAttributeAdded?: AttributeAddedFunc;
onAttributeKeyChanged?: AttributeKeyUpdatedFunc;
onAttributeUpdated?: AttributeUpdatedFunc;
onAttributeDeleted?: AttributeDeletedFunc;
onPriceUpdated?: PriceUpdatedFunc;
onDimensionsUpdated?: DimensionUpdatedFunc;
onProductTypeChanged?: ProductTypeChangedFunc;
};
export const ProductEditorItem = (props: ProductEditorItemProps) => {
const [showAttributes, setShowAttributes] = useState(false);
const product = props.product;
const [showAttributes, setShowAttributes] = useState(false);
const product = props.product;
function onProductTypeChange(id: Id, newProductType: product_type_t) {
props.onProductTypeChanged &&
props.onProductTypeChanged(product.id as Id, newProductType);
}
function onAttributeChanged(key: string, newValue: string) {
props.onAttributeUpdated && props.onAttributeUpdated(product.id, key, newValue);
}
function onAttributeChanged(key: string, newValue: string) {
props.onAttributeUpdated &&
props.onAttributeUpdated(product.id as Id, key, newValue);
}
function onAttributeKeyChanged(oldKey: string, newKey: string) {
props.onAttributeKeyChanged && props.onAttributeKeyChanged(product.id, oldKey, newKey);
}
function onAttributeKeyChanged(oldKey: string, newKey: string) {
props.onAttributeKeyChanged &&
props.onAttributeKeyChanged(product.id as Id, oldKey, newKey);
}
function onAttributeDelete(key: string) {
props.onAttributeDeleted && props.onAttributeDeleted(product.id, key);
}
function onAttributeDelete(key: string) {
props.onAttributeDeleted && props.onAttributeDeleted(product.id as Id, key);
}
function onPricePerUnitChange(pricePerUnit: string) {
props.onPriceUpdated && props.onPriceUpdated(product.id, parseFloat(pricePerUnit) || parseInt(pricePerUnit));
}
function onPricePerUnitChange(pricePerUnit: string) {
props.onPriceUpdated &&
props.onPriceUpdated(
product.id as Id,
parseFloat(pricePerUnit) || parseInt(pricePerUnit)
);
}
function onUnitsChanged(newUnits: Length) {
props.onDimensionsUpdated && props.onDimensionsUpdated(product.id, {
...(product.dimensions as dimensions_t),
u: newUnits,
})
}
function onUnitsChanged(newUnits: Length) {
props.onDimensionsUpdated &&
props.onDimensionsUpdated(product.id as Id, {
...(product.dimensions as dimensions_t),
u: newUnits,
});
}
function onChangeLength(len: string) {
const l = parseFloat(len) || parseInt(len);
props.onDimensionsUpdated && props.onDimensionsUpdated(product.id, {
...(product.dimensions as dimensions_t),
l,
})
}
function onChangeLength(len: string) {
const l = parseFloat(len) || parseInt(len);
props.onDimensionsUpdated &&
props.onDimensionsUpdated(product.id as Id, {
...(product.dimensions as dimensions_t),
l,
});
}
function onChangeWidth(width: string) {
const w = width.length == 0 ? null : parseFloat(width) || parseInt(width);
props.onDimensionsUpdated && props.onDimensionsUpdated(product.id, {
...(product.dimensions as dimensions_t),
...(w ? {w} : {}),
})
}
function onChangeWidth(width: string) {
const w = width.length == 0 ? null : parseFloat(width) || parseInt(width);
props.onDimensionsUpdated &&
props.onDimensionsUpdated(product.id as Id, {
...(product.dimensions as dimensions_t),
...(w ? { w } : {}),
});
}
function onDeleteProduct() {
props.onProductDeleted && props.onProductDeleted(product.id);
}
function onDeleteProduct() {
props.onProductDeleted && props.onProductDeleted(product.id as Id);
}
const length = new String(product.dimensions.l || product.dimensions.l || "0") as string;
const width = new String(product.dimensions.w || "") as string;
const dimension = product.dimensions.u || product.dimensions.u || "foot";
const length = new String(
product.dimensions.l || product.dimensions.l || "0"
) as string;
const width = new String(product.dimensions.w || "") as string;
const dimension = product.dimensions.u || product.dimensions.u || "foot";
return (
<View>
<View style={styles.productListHeader}>
<TouchableHighlight
onPress={() => setShowAttributes(!showAttributes)}
aria-label="Product Item"
style={styles.productItemName}
>
<Text style={styles.productNameText}>{product.attributes.name || `Product ${product.id}`}</Text>
</TouchableHighlight>
<TouchableHighlight
onPress={() => onDeleteProduct()}
aria-label="delete product"
style={styles.deleteProductHighlight}
>
<Ionicons
style={styles.deleteProductButton}
name="trash-outline"
/>
</TouchableHighlight>
</View>
{showAttributes &&
(
<View style={styles.detailsWrapper}>
<View style={styles.priceSpecWrapper}>
<Text style={styles.priceLabel}>$</Text>
<TextInput inputMode="decimal"
defaultValue={new String(product.pricePerUnit) as string}
aria-label="price per unit"
onChangeText={onPricePerUnitChange}
style={styles.priceInput}
/>
<Text style={styles.per}>per</Text>
<Dropdown
data={[
{label: "feet", value: "ft"},
{label: "inches", value: "in"},
]}
style={styles.unitsSelect}
mode="modal"
labelField="label"
valueField="value"
value={product.dimensions.u || "ft"}
onChange={(item) => onUnitsChanged(item.value as Length)}
/>
<TextInput
inputMode="decimal"
defaultValue={length}
onChangeText={onChangeLength}
style={styles.lengthInput}
aria-label="length"
/>
<Text style={{flex: 1,}}>x</Text>
<TextInput
inputMode="decimal"
defaultValue={width}
onChangeText={onChangeWidth}
style={styles.widthInput}
aria-label="width"
/>
</View>
<Button title="+ Add Attribute" onPress={() => props.onAttributeAdded && props.onAttributeAdded(product.id)} />
<FlatList
style={styles.productAttributesList}
data={Object.entries(product.attributes)}
renderItem={({ item }) => (
<ProductAttributeEditor
attributeKey={item[0] || "some key"}
attributeValue={item[1]}
onChangeAttributeKey={onAttributeKeyChanged}
onChangeAttribute={onAttributeChanged}
onDelete={onAttributeDelete}
/>
)}
keyExtractor={(item, i) => `${product.id}-${i}`}
/>
</View>
)
return (
<View>
<View style={styles.productListHeader}>
<TouchableHighlight
onPress={() => setShowAttributes(!showAttributes)}
aria-label="Product Item"
style={styles.productItemName}
>
{product.attributes && (
<Text style={styles.productNameText}>
{product.attributes.name || `Product ${product.id}`}
</Text>
)}
</TouchableHighlight>
<Pressable
onPress={() => onDeleteProduct()}
aria-label="delete product"
style={styles.deleteProductHighlight}
>
<Ionicons style={styles.deleteProductButton} name="trash-outline" />
</Pressable>
</View>
{showAttributes && (
<View style={styles.detailsWrapper}>
<View style={styles.priceSpecWrapper}>
<Text style={styles.priceLabel}>$</Text>
<TextInput
inputMode="decimal"
defaultValue={new String(product.pricePerUnit).valueOf()}
aria-label="price per unit"
onChangeText={onPricePerUnitChange}
style={styles.priceInput}
/>
<Text style={styles.per}>per</Text>
<Dropdown
data={[
{ label: "feet", value: "ft" },
{ label: "inches", value: "in" },
]}
style={styles.unitsSelect}
mode="modal"
labelField="label"
valueField="value"
value={product.dimensions.u || "ft"}
onChange={(item) => onUnitsChanged(item.value as Length)}
/>
<TextInput
inputMode="decimal"
defaultValue={length}
onChangeText={onChangeLength}
style={styles.lengthInput}
aria-label="length"
/>
<Text style={{ flex: 1 }}>x</Text>
<TextInput
inputMode="decimal"
defaultValue={width}
onChangeText={onChangeWidth}
style={styles.widthInput}
aria-label="width"
/>
</View>
<Button
title="+ Add Attribute"
onPress={() =>
props.onAttributeAdded && props.onAttributeAdded(product.id as Id)
}
/>
{product.attributes && (
<FlatList
style={styles.productAttributesList}
data={Object.entries(product.attributes)}
renderItem={({ item }) => (
<ProductAttributeEditor
onProductTypeChange={onProductTypeChange}
attributeKey={item[0] || "some key"}
attributeValue={item[1]}
onChangeAttributeKey={onAttributeKeyChanged}
onChangeAttribute={onAttributeChanged}
onDelete={onAttributeDelete}
/>
)}
keyExtractor={(item, i) => `${product.id}-${i}`}
/>
)}
</View>
)
}
)}
</View>
);
};
const styles = StyleSheet.create({
deleteProductHighlight: {
padding: 5,
borderWidth: 1,
},
deleteProductButton: {
fontSize: 20,
},
detailsWrapper: {
},
priceSpecWrapper: {
flexDirection: "row",
},
priceLabel: {
},
priceInput: {
flex: 1,
borderWidth: 2,
borderColor: "lightgrey",
borderStyle: "solid",
},
per: {
padding: 5,
},
unitsLabel: {
},
unitsSelect: {
flex: 1,
padding: 5,
},
lengthInput: {
flex: 1,
borderWidth: 2,
borderColor: "lightgrey",
borderStyle: "solid",
},
widthInput: {
flex: 1,
borderWidth: 2,
borderColor: "lightgrey",
borderStyle: "solid",
},
productListHeader: {
flexDirection: "row",
padding: 5,
},
productNameText: {
paddingLeft: 10,
paddingRight: 10,
},
productItemName: {
flex: 1,
backgroundColor: "lightgrey",
padding: 4,
margin: 4,
},
productAttributesList: {
margin: 10,
padding: 10,
borderWidth: 1,
borderStyle: "solid",
borderColor: "black",
},
})
deleteProductHighlight: {
padding: 5,
borderWidth: 1,
},
deleteProductButton: {
fontSize: 20,
},
detailsWrapper: {},
priceSpecWrapper: {
flexDirection: "row",
},
priceLabel: {},
priceInput: {
flex: 1,
borderWidth: 2,
borderColor: "lightgrey",
borderStyle: "solid",
},
per: {
padding: 5,
},
unitsLabel: {},
unitsSelect: {
flex: 1,
padding: 5,
},
lengthInput: {
flex: 1,
borderWidth: 2,
borderColor: "lightgrey",
borderStyle: "solid",
},
widthInput: {
flex: 1,
borderWidth: 2,
borderColor: "lightgrey",
borderStyle: "solid",
},
productListHeader: {
flexDirection: "row",
padding: 5,
},
productNameText: {
paddingLeft: 10,
paddingRight: 10,
},
productItemName: {
flex: 1,
backgroundColor: "lightgrey",
padding: 4,
margin: 4,
},
productAttributesList: {
margin: 10,
padding: 10,
borderWidth: 1,
borderStyle: "solid",
borderColor: "black",
},
});
+28 -14
View File
@@ -1,19 +1,28 @@
import { FlatList, ScrollView, StyleSheet, Text, TouchableHighlight } from "react-native";
import { Dimensions, ScrollView, StyleSheet } from "react-native";
import { ProductTile } from "./ProductTile";
import { Id, Product } from "@/lib/product";
import { Key, useEffect, useState } from "react";
import { useSelector } from "react-redux";
import { Product, product_type_t } from "@/lib/product";
import { useState } from "react";
import { selectProducts } from "@/features/product/productSlice";
import { useAppSelector } from "@/app/store";
const windowDimensions = Dimensions.get('window');
export type ProductSelectionProps = {
onProductSelected?: (product: Product) => any;
}
export default function ProductList({ onProductSelected }: ProductSelectionProps) {
productType?: product_type_t;
};
export default function ProductList({
productType,
onProductSelected,
}: ProductSelectionProps) {
const [activeProduct, setActiveProduct] = useState(null as null | Product);
const products = useAppSelector(selectProducts).filter(p => (!!p.dimensions));
const products = useAppSelector(selectProducts)
.filter((p) => !!p)
.filter((p: Product) => (!productType) || p.type === productType)
.filter((p) => {
return !!p.dimensions;
});
function doOnProductSelected(product: Product) {
setActiveProduct(product);
@@ -21,8 +30,8 @@ export default function ProductList({ onProductSelected }: ProductSelectionProps
}
return (
<ScrollView scrollToOverflowEnabled={true}>
{products.map(product => {
<ScrollView style={styles.productSelectorFlatList} contentContainerStyle={styles.content} aria-label="product list">
{products.map((product) => {
return (
<ProductTile
product={product}
@@ -33,14 +42,19 @@ export default function ProductList({ onProductSelected }: ProductSelectionProps
);
})}
</ScrollView>
)
);
}
const styles = StyleSheet.create({
productSelectorFlatList: {
padding: 10,
margin: 10,
height: windowDimensions.height - 200,
width: windowDimensions.width,
},
})
content: {
alignItems: "flex-start",
flexWrap: "wrap",
flexDirection: "row",
}
});
+70 -41
View File
@@ -1,55 +1,84 @@
import { Product } from "@/lib/product"
import { ImageBackground, StyleProp, StyleSheet, Text, TouchableHighlight, View, ViewStyle } from "react-native";
import { Product, priceDisplay, pricePerUnitDisplay } from "@/lib/product";
import { LinearGradient } from "expo-linear-gradient";
import {
ImageBackground,
Pressable,
StyleProp,
StyleSheet,
Text,
TouchableHighlight,
View,
ViewStyle,
} from "react-native";
import { AnimatedStyle } from "react-native-reanimated";
export type OnProductSelectedFunc = (product : Product) => any;
export type OnProductSelectedFunc = (product: Product) => any;
type MyStyle = StyleProp<AnimatedStyle<StyleProp<ViewStyle>>>;
type StyleSpec = {
highlight?: MyStyle,
text?: MyStyle,
image?: MyStyle,
}
highlight?: MyStyle;
text?: MyStyle;
image?: MyStyle;
};
export type ProductTileProps = {
product: (Product),
onProductSelected?: OnProductSelectedFunc,
isActive: boolean,
}
product: Product;
onProductSelected?: OnProductSelectedFunc;
isActive: boolean;
};
const FALLBACK_IMAGE = "";
export function ProductTile ({product, onProductSelected, isActive} : ProductTileProps) {
const k = isActive ? "active" : "default";
return (
export function ProductTile({
product,
onProductSelected,
isActive,
}: ProductTileProps) {
const k = isActive ? "active" : "default";
<TouchableHighlight
style={styles[k].highlight}
onPress={() => onProductSelected && onProductSelected(product)}>
<Text style={styles[k].text}>{product.attributes.name || `Product ${product.id}`} ({product.pricePerUnitDisplay})</Text>
</TouchableHighlight>
);
const BLUE_HILIGHT = "#caceff";
const BLUE = "#8b9cff";
const GRAY_HILIGHT = "#ffffff";
const GRAY = "#b1b1b1";
const activeColors = [BLUE_HILIGHT, BLUE, BLUE, BLUE];
const inactiveColors = [GRAY_HILIGHT, GRAY, GRAY, GRAY];
const priceDisplay = pricePerUnitDisplay(product);
return (
<LinearGradient
colors={isActive ? activeColors : inactiveColors}
style={styles.gradientButton}
>
<Pressable
style={styles.button}
aria-label={`product ${product.id}`}
onPress={() => onProductSelected && onProductSelected(product)}
>
<Text style={styles.text}>
{product.attributes?.name || `Product ${product.id}`} ({priceDisplay})
</Text>
</Pressable>
</LinearGradient>
);
}
const styles = {
active: StyleSheet.create({
highlight: {
padding: 10,
margin: 2,
color: "lightblue",
},
text: {
}
}),
default: StyleSheet.create({
highlight: {
padding: 10,
margin: 2,
backgroundColor: "lightgrey",
},
text: {
}
}),
}
const styles = StyleSheet.create({
gradientButton: {
borderRadius: 10,
borderWidth: 1,
borderColor: "gray",
borderStyle: "solid",
margin: 1,
width: 300,
marginVertical: 10,
marginHorizontal: 10,
},
button: {
},
text: {
paddingVertical: 30,
paddingHorizontal: 40,
}
});
+85 -64
View File
@@ -1,74 +1,95 @@
import { Length } from "convert";
import { useState } from "react";
import { Button, StyleSheet, Text, TouchableHighlight, View } from "react-native";
import {
Button,
Pressable,
StyleSheet,
Text,
TouchableHighlight,
View,
} from "react-native";
import { LinearGradient } from "expo-linear-gradient";
export type UnitChooserProps = {
choices: Length[],
onChoicePressed: (l: Length) => any,
activeColor?: string,
defaultColor?: string,
defaultValue? : Length,
}
export type UnitChooserPropsBase = {
onUnitSet?: (l: Length) => any;
activeColor?: string;
defaultColor?: string;
defaultUnit?: Length;
};
export default function UnitChooser({ choices, onChoicePressed, activeColor, defaultColor, defaultValue }: UnitChooserProps) {
const [value, setValue] = useState(defaultValue || choices[0] as Length);
export type UnitChooserProps = UnitChooserPropsBase & {
choices: Length[];
};
activeColor = activeColor || "lightblue";
defaultColor = defaultColor || "lightgrey";
export default function UnitChooser({
choices,
onUnitSet,
activeColor,
defaultColor,
defaultUnit,
}: UnitChooserProps) {
const [value, setValue] = useState(defaultUnit || (choices[0] as Length));
function doChoiceClicked(choice: Length) {
setValue(choice);
onChoicePressed(choice);
}
activeColor = activeColor || "lightblue";
defaultColor = defaultColor || "lightgrey";
return (
<View style={styles.unitChooser}>
{choices.map((ci) => {
return (
<TouchableHighlight
onPress={() => doChoiceClicked(ci)}
style={value === ci ? styles.active : styles.default }
key={ci}
>
<Text style={value === ci ? styles.textActive : styles.textDefault}>{ci}</Text>
</TouchableHighlight>
)
})
}
</View>
)
function doChoiceClicked(choice: Length) {
setValue(choice);
onUnitSet && onUnitSet(choice);
}
const BLUE_HILIGHT = "#caceff";
const BLUE = "#8b9cff";
const GRAY_HILIGHT = "#ffffff";
const GRAY = "#b1b1b1";
const activeColors = [BLUE_HILIGHT, BLUE, BLUE, BLUE];
const inactiveColors = [GRAY_HILIGHT, GRAY, GRAY, GRAY];
return (
<View style={styles.unitChooser}>
{choices.map((ci) => {
return (
<LinearGradient
colors={ci === value ? activeColors : inactiveColors}
style={styles.gradientButton}
>
<TouchableHighlight style={{padding: 5, }} onPress={() => doChoiceClicked(ci)} key={ci}>
<Text style={{padding: 5, fontSize: 16}}>{ci}</Text>
</TouchableHighlight>
</LinearGradient>
);
})}
</View>
);
}
const styles = StyleSheet.create({
unitChooser: {
flexDirection: "row",
verticalAlign: "middle",
},
active: {
backgroundColor: "skyblue",
padding: 5,
borderRadius: 5,
},
default: {
backgroundColor: "lightgray",
padding: 5,
borderRadius: 5,
verticalAlign: "middle",
},
textActive: {
marginTop: 2,
marginBottom: 2,
marginLeft: 10,
marginRight: 10,
fontSize: 25,
},
textDefault: {
marginTop: 2,
marginBottom: 2,
marginLeft: 10,
marginRight: 10,
fontSize: 25,
},
unitButton: {
},
})
gradientButton: {
borderRadius: 10,
borderWidth: 1,
borderColor: "gray",
borderStyle: "solid",
margin: 1,
},
unitChooser: {
flexDirection: "row",
verticalAlign: "middle",
padding: 4,
},
textActive: {
marginTop: 2,
marginBottom: 2,
marginLeft: 10,
marginRight: 10,
fontSize: 25,
},
textDefault: {
marginTop: 2,
marginBottom: 2,
marginLeft: 10,
marginRight: 10,
fontSize: 25,
},
unitButton: {},
});
+31
View File
@@ -0,0 +1,31 @@
import { render, screen } from '@testing-library/react-native';
import { AreaRugTag } from '@/components/AreaRugTag';
import { area_t } from '@/lib/dimensions';
import dayjs from 'dayjs';
import initialProducts from '@/__fixtures__/initialProducts';
import { Product } from '@/lib/product';
describe('AreaRugTag', () => {
it('renders correctly with dimensions, price per area, date and currency symbol', () => {
const dimensions: area_t = { l: 10, w: 20, u: 'ft' };
const date = dayjs();
const currencySymbol = '$';
const product = initialProducts.find(p => "area_rug" === p.type) as Product;
render(
<AreaRugTag
dimensions={dimensions}
product={product}
date={date}
currencySymbol={currencySymbol}
/>
);
expect(screen.getByText(`${dimensions.l} x ${dimensions.w}`)).toBeTruthy();
// expect(screen.getByLabelText('area rug price')).toContain(currencySymbol);
expect(screen.getByText(date.format('YYYY/MM/DD'))).toBeTruthy();
expect(screen.getByLabelText('this week\'s color')).toBeTruthy();
});
});
@@ -0,0 +1,64 @@
import React from "react";
import {
render,
fireEvent,
screen,
within,
act,
} from "@testing-library/react-native";
import CarpetRollCalculator from "@/components/CarpetRollCalculator";
import { renderWithProviders } from "@/lib/rendering";
import allProducts from "@/__fixtures__/initialProducts";
import { Product, pricePerUnitDisplay } from "@/lib/product";
import initialProducts from "@/__fixtures__/initialProducts";
jest.useFakeTimers();
const areaRugProducts = allProducts.filter((p) => "area_rug" === p.type);
describe("CarpetRollCalculator", () => {
it("should render correctly", () => {
renderWithProviders(<CarpetRollCalculator />, {
products: initialProducts,
});
const areaRug = initialProducts.find(
(p) => p.type === "area_rug"
) as Product;
const areaRugLabel = `product ${areaRug.id}`;
act(() => {
fireEvent.press(screen.getByLabelText(areaRugLabel));
});
// Test the interaction with the width input
const widthInput = screen.getByLabelText("width");
act(() => {
fireEvent.changeText(widthInput, "10");
});
// Test the interaction with the outer diameter input
const outerDiameterInput = screen.getByLabelText("outer diameter");
act(() => {
fireEvent.changeText(outerDiameterInput, "3");
});
// Test the interaction with the inner diameter input
const innerDiameterInput = screen.getByLabelText("inner diameter");
act(() => {
fireEvent.changeText(innerDiameterInput, "1");
});
// Test the interaction with the number of rings input
const numRingsInput = screen.getByLabelText("number of rings");
act(() => {
fireEvent.changeText(numRingsInput, "5");
});
jest.advanceTimersByTime(3000);
// Test the interaction with the price display
const { getByText } = within(screen.getByLabelText("area rug price"));
expect(getByText(/\$.*58.*\..*19.*/)).toBeTruthy();
});
});
@@ -1,55 +1,51 @@
import { Product } from "@/lib/product"
import {ProductAttributeEditor} from "../ProductAttributeEditor"
import { area } from "enheter"
import { fireEvent, render, screen } from '@testing-library/react-native';
import React from "react";
import { emitTypingEvents } from "@testing-library/react-native/build/user-event/type/type";
import { LumberProduct, Product } from "@/lib/product";
import { ProductAttributeEditor } from "../ProductAttributeEditor";
import { fireEvent, render, screen } from "@testing-library/react-native";
import { renderWithProviders } from "@/lib/rendering";
describe("Product editor tests", () => {
const productName = "Fun Product";
it("Product attributes can be deleted", async () => {
const product = new Product(
100,
{l: 100, u: "foot"},
{"name" : productName}
);
const onChange = jest.fn();
const onDelete = jest.fn();
render(
<ProductAttributeEditor
attributeKey="name"
attributeValue="product"
product={product}
onChangeAttribute={onChange}
onDelete={onDelete}
/>);
expect(screen.getByLabelText("Delete Attribute")).not.toBeNull();
fireEvent.press(await screen.getByLabelText("Delete Attribute"));
expect(onDelete).toHaveBeenCalled();
});
it("Product attributes can be modified", async () => {
const product = new Product(
100,
{l: 100, u: "foot"},
{"name" : productName}
);
const onChange = jest.fn();
const onDelete = jest.fn();
const onKeyChange = jest.fn();
render(
<ProductAttributeEditor
attributeKey="old test key"
attributeValue="old test value"
onChangeAttribute={onChange}
onDelete={onDelete}
onChangeAttributeKey={onKeyChange}
/>);
fireEvent.changeText(screen.getByLabelText("Edit Key"), "new test key");
expect(onKeyChange).toHaveBeenCalled();
fireEvent.changeText(screen.getByLabelText("Edit Value"), "new name");
expect(onChange).toHaveBeenCalled();
fireEvent.press(screen.getByLabelText("Delete Attribute"));
expect(onDelete).toHaveBeenCalled();
})
})
const productName = "Fun Product";
it("Product attributes can be deleted", async () => {
const onChange = jest.fn();
const onDelete = jest.fn();
renderWithProviders(
<ProductAttributeEditor
attributeKey="name"
attributeValue="product"
onChangeAttribute={onChange}
onDelete={onDelete}
/>
);
expect(screen.getByLabelText("Delete Attribute")).not.toBeNull();
fireEvent.press(await screen.getByLabelText("Delete Attribute"));
expect(onDelete).toHaveBeenCalled();
});
it("Product attributes can be modified", async () => {
const product: Product = {
pricePerUnit: 10,
dimensions: {
l: 40,
u: "ft",
},
type: "lumber",
};
const onChange = jest.fn();
const onDelete = jest.fn();
const onKeyChange = jest.fn();
render(
<ProductAttributeEditor
attributeKey="old test key"
attributeValue="old test value"
onChangeAttribute={onChange}
onDelete={onDelete}
onChangeAttributeKey={onKeyChange}
/>
);
fireEvent.changeText(screen.getByLabelText("Edit Key"), "new test key");
expect(onKeyChange).toHaveBeenCalled();
fireEvent.changeText(screen.getByLabelText("Edit Value"), "new name");
expect(onChange).toHaveBeenCalled();
fireEvent.press(screen.getByLabelText("Delete Attribute"));
expect(onDelete).toHaveBeenCalled();
});
});
@@ -2,34 +2,28 @@ import { render, fireEvent, screen, act, within } from '@testing-library/react-n
import { Provider } from 'react-redux';
import ProductCalculatorSelector from '@/components/ProductCalculatorSelector';
import { renderWithProviders } from '@/lib/rendering';
import { Product } from '@/lib/product';
import { Product, pricePerUnitDisplay, productPriceFor } from '@/lib/product';
import initialProducts from '@/__fixtures__/initialProducts';
jest.useFakeTimers();
const mockAreaProduct = initialProducts.find(p => 'w' in p.dimensions ) as Product
const mockLengthProduct = initialProducts.find(p => (!('w' in p.dimensions)) ) as Product
describe('ProductCalculatorSelector', () => {
const mockAreaProduct = new Product(
100,
{ l: 4, w: 8, u: "ft" },
{"name": "area product"},
);
const mockLengthProduct = new Product(
100,
{ l: 4, u: "ft" },
{"name": "length product"},
);
it('renders correctly', () => {
renderWithProviders(
(<ProductCalculatorSelector />),
{
products: [
mockAreaProduct.asObject,
mockLengthProduct.asObject,
mockAreaProduct,
mockLengthProduct,
],
}
)
expect(screen.getByText('Please select a product')).toBeTruthy();
const label = `${mockAreaProduct.attributes.name} (${mockAreaProduct.pricePerUnitDisplay})`;
const label = `${mockAreaProduct.attributes?.name} (${pricePerUnitDisplay(mockAreaProduct)})`;
expect(screen.getByText(label)).toBeTruthy();
});
@@ -38,23 +32,26 @@ describe('ProductCalculatorSelector', () => {
(<ProductCalculatorSelector />),
{
products: [
mockLengthProduct.asObject,
mockAreaProduct.asObject,
mockLengthProduct,
mockAreaProduct,
]
}
);
expect(screen.getByText('Please select a product')).toBeTruthy();
const areaLabel = `${mockAreaProduct.attributes.name} (${mockAreaProduct.pricePerUnitDisplay})`;
const lengthLabel = `${mockLengthProduct.attributes.name} (${mockLengthProduct.pricePerUnitDisplay})`;
const areaLabel = `${mockAreaProduct.attributes?.name} (${pricePerUnitDisplay(mockAreaProduct)})`;
fireEvent.press(screen.getByText(areaLabel));
act(()=>{
fireEvent.press(screen.getByText(areaLabel));
})
const lengthInput = screen.getByLabelText("enter length");
const widthInput = screen.getByLabelText("enter length");
expect(lengthInput).toBeTruthy();
expect(widthInput).toBeTruthy();
fireEvent.press(screen.getByText("in"));
act(() => {
fireEvent.press(screen.getByText("in"));
})
act(() => {
fireEvent.changeText(lengthInput, "2");
@@ -63,10 +60,10 @@ describe('ProductCalculatorSelector', () => {
jest.advanceTimersByTime(3000);
const price = mockAreaProduct.priceFor({l: 2, w: 4, u: "ft"});
const price = productPriceFor(mockAreaProduct, {l: 2, w: 4, u: "ft"})
const sPrice = price.toLocaleString(undefined, {maximumFractionDigits: 2, minimumFractionDigits: 2,});
const element = screen.getByLabelText("calculated price");
const {getByText} = within(element);
expect(getByText(sPrice)).toBeTruthy();
expect(getByText(/\$.*15.*\.00/)).toBeTruthy();
});
});
+47 -43
View File
@@ -2,50 +2,54 @@ import { renderWithProviders } from "@/lib/rendering";
import { ProductEditor } from "@/components/ProductEditor";
import { act, fireEvent, screen } from "@testing-library/react-native";
import { selectProducts } from "@/features/product/productSlice";
import { Product } from "@/lib/product";
import { LumberProduct, Product, productLabel } from "@/lib/product";
import initialProducts from "@/__fixtures__/initialProducts";
describe("ProductEditor", () => {
const productName = "Flooring"
const mockProduct = new Product(
25,
{ l: 4, w: 8, u: "foot" },
{ name: productName },
)
it("renders correctly", async () => {
const { store } = renderWithProviders(<ProductEditor />, {
products: [
mockProduct.asObject,
],
});
const state1 = store.getState();
let products = selectProducts(state1);
expect(products).toHaveLength(1);
// Check if the product names are rendered
expect(screen.getByText(products[0].attributes.name as string)).toBeTruthy();
// Start to edit a product
fireEvent.press(screen.getByText(productName));
// Change properties of the product to make sure it's updated in the store
act(() => {
fireEvent.changeText(screen.getByLabelText("length"), "16");
})
products = selectProducts(store.getState());
expect(products[0].dimensions.l).toBe(16);
act(() => {
fireEvent.changeText(screen.getByLabelText("width"), "32");
})
products = selectProducts(store.getState());
expect(products[0].dimensions.w).toBe(32);
fireEvent.press(screen.getByLabelText("delete product"));
products = selectProducts(store.getState());
expect(products.length).toBe(0);
const productName = "Flooring";
const mockProduct = initialProducts[0];
it("renders correctly", async () => {
const { store } = renderWithProviders(<ProductEditor />, {
products: [mockProduct],
});
const state1 = store.getState();
let products = selectProducts(state1);
expect(products).toHaveLength(1);
// Check if the product names are rendered
expect(
screen.getByText(mockProduct.attributes?.name as string)
).toBeTruthy();
const label = productLabel(mockProduct);
// Start to edit a product
act(() => {
fireEvent.press(screen.getByText(label));
})
// Change properties of the product to make sure it's updated in the store
act(() => {
fireEvent.changeText(screen.getByLabelText("length"), "16");
});
products = selectProducts(store.getState());
expect(products[0].dimensions.l).toBe(16);
act(() => {
fireEvent.changeText(screen.getByLabelText("width"), "32");
});
products = selectProducts(store.getState());
expect(products[0].dimensions.w).toBe(32);
act(() => {
fireEvent.press(screen.getByLabelText("delete product"));
})
products = selectProducts(store.getState());
expect(products.length).toBe(0);
});
});
@@ -4,14 +4,22 @@ import { ProductEditorItem } from '../ProductEditorItem';
import { Product } from '@/lib/product';
import { area } from 'enheter';
import { renderWithProviders } from '@/lib/rendering';
import { area_t } from '@/lib/dimensions';
describe('ProductEditorItem', () => {
const productName = "Product 1";
const mockProduct = new Product(
25,
{l: 4, u: 'feet'},
{"name": productName},
)
const mockProduct : Product = {
type: "area_rug",
dimensions: {
l: 1,
w: 1,
u: "feet",
},
pricePerUnit: 0.75,
attributes: {
name: productName,
}
}
const onAttributeAdded = jest.fn();
const mockOnProductDeleted = jest.fn();
@@ -56,7 +64,7 @@ describe('ProductEditorItem', () => {
}
);
fireEvent.press(screen.getByText("Product 1"));
expect(screen.getByLabelText("units")).toBeTruthy();
// expect(screen.getByLabelText("Units")).toBeTruthy();
expect(screen.getByLabelText("Edit Key")).toBeTruthy();
expect(screen.getAllByLabelText("Edit Value").length).toEqual(1);
+38
View File
@@ -0,0 +1,38 @@
import React from 'react';
import { renderWithProviders } from '@/lib/rendering';
import { Product, pricePerUnitDisplay } from '@/lib/product';
import ProductList from '@/components/ProductList';
import initialProducts from '@/__fixtures__/initialProducts';
import { screen } from '@testing-library/react-native';
describe('ProductList', () => {
it('renders without crashing', () => {
const { getByTestId } = renderWithProviders(<ProductList />, {
products: initialProducts,
});
expect(screen.getByLabelText('product list')).toBeTruthy();
});
it('renders products correctly', () => {
const mockProduct = initialProducts[0] as Product;
const label = `${mockProduct.attributes?.name} (${pricePerUnitDisplay(mockProduct)})`;
const { getByText } = renderWithProviders(<ProductList />, {
products: [mockProduct],
});
expect(getByText(label)).toBeTruthy();
});
it('renders only area_rug products', () => {
const areaRug = initialProducts.find(p => p.type == "area_rug") as Product;
const label = `${areaRug?.attributes?.name} (${pricePerUnitDisplay(areaRug)})`;
renderWithProviders(<ProductList productType='area_rug' />, {
products: initialProducts,
});
expect(screen.getByText(label)).toBeTruthy();
});
});
+3 -3
View File
@@ -1,7 +1,7 @@
import React from 'react';
import { render, fireEvent } from '@testing-library/react-native';
import UnitChooser from "../UnitChooser";
import { Length } from 'safe-units';
import { Length } from 'convert';
describe('UnitChooser', () => {
const mockOnChoicePressed = jest.fn();
@@ -9,7 +9,7 @@ describe('UnitChooser', () => {
it('renders correctly', () => {
const { getByText } = render(
<UnitChooser choices={choices} onChoicePressed={mockOnChoicePressed} />
<UnitChooser choices={choices} onUnitSet={mockOnChoicePressed} />
);
choices.forEach(choice => {
@@ -19,7 +19,7 @@ describe('UnitChooser', () => {
it('calls onChoicePressed when a button is pressed', () => {
const { getByText } = render(
<UnitChooser choices={choices} onChoicePressed={mockOnChoicePressed} />
<UnitChooser choices={choices} onUnitSet={mockOnChoicePressed} />
);
fireEvent.press(getByText(choices[0]));
+244 -165
View File
@@ -1,195 +1,274 @@
import { createSelector, createSlice, PayloadAction } from '@reduxjs/toolkit';
import { Id, Product } from '@/lib/product';
import { dimensions_t, ProductData } from "@/lib/dimensions_t";
import { createSelector, createSlice, PayloadAction } from "@reduxjs/toolkit";
import { attributesAsList, Id, Product } from "@/lib/product";
import { dimensions_t, length_t } from "@/lib/dimensions";
import uuid from "react-native-uuid";
import { RootState } from '@/app/store';
import { Length } from 'convert';
import { AppStore, RootState } from "@/app/store";
import { Length } from "convert";
const initialState = {
products: [] as ProductData[],
units: "ft",
export const DEFAULT_UNITS: Length = "ft";
export type PlywoodCalculationState = {
product?: Id | null;
units: Length;
};
export type CarpetCalculationState = {
product?: Id | null;
length: length_t;
inner_d: length_t;
outer_d: length_t;
};
export type AppStoreState = {
products: Product[];
calculations?: {
plywood: PlywoodCalculationState;
carpet: CarpetCalculationState;
};
};
export const DEFAULT_PRELOADED_STATE = {
products: [] as Product[],
calculations: {
plywood: {
product: undefined,
units: DEFAULT_UNITS,
},
carpet: {
product: undefined,
length: {
l: 0,
u: DEFAULT_UNITS,
},
inner_d: {
l: 0,
u: DEFAULT_UNITS,
},
outer_d: {
l: 0,
u: DEFAULT_UNITS,
},
},
},
} as AppStoreState;
const initialState: AppStoreState = DEFAULT_PRELOADED_STATE;
export type UpdateAttribute = {
product_id: Id,
attributeKey: string,
attributeValue: any,
}
product_id: Id;
attributeKey: string;
attributeValue: any;
};
export type UpdateAttributeKey = {
product_id: Id,
oldKey: string,
newKey: string,
}
product_id: Id;
oldKey: string;
newKey: string;
};
export type AddAttribute = {
product_id: Id,
}
product_id: Id;
};
const cp = (obj: any) => JSON.parse(JSON.stringify(obj));
const productsState = createSlice({
name: 'products-slice',
initialState,
reducers: {
setUnits(state, action : PayloadAction<Length>) {
state.units = action.payload;
},
createProduct(state, action: PayloadAction<ProductData>) {
if (!state) {
return initialState
}
const product = action.payload;
if (!product.id) product.id = uuid.v4().toString();
state.products = [...state.products, action.payload];
return state;
},
deleteProduct(state, action: PayloadAction<Id>) {
if (!state) return initialState;
return {
...state,
products: [...state.products.filter((prod) => {
return prod.id?.valueOf() !== action.payload.valueOf();
})],
}
},
updateAttribute(state, action: PayloadAction<UpdateAttribute>) {
const { product_id, attributeKey, attributeValue } = action.payload
if (!state) return initialState;
return {
...state,
products: state.products.map(prod => {
if (prod.id !== product_id) return prod;
const attributes = cp(prod.attributes);
attributes[attributeKey] = attributeValue;
return {
...prod,
attributes,
}
})
};
},
changeKey(state, action: PayloadAction<UpdateAttributeKey>) {
if (!state) return initialState;
const { product_id, oldKey, newKey } = action.payload
name: "products-slice",
initialState,
reducers: {
setPlywoodCalculation(
state,
action: PayloadAction<PlywoodCalculationState>
) {
if (!state) {
return initialState;
}
const newCalc = action.payload;
state.calculations.plywood = newCalc;
return state;
},
setCarpetCalculation(state, action: PayloadAction<CarpetCalculationState>) {
if (!state) {
return initialState;
}
const newCalc = action.payload;
state.calculations.carpet = newCalc;
return state;
},
createProduct(state, action: PayloadAction<Product>) {
if (!state) {
return initialState;
}
const product = action.payload;
if (!product.id) product.id = uuid.v4().toString();
state.products = [...state.products, action.payload];
return state;
},
deleteProduct(state, action: PayloadAction<Id>) {
if (!state) return initialState;
return {
...state,
products: [
...state.products.filter((prod) => {
return prod.id?.valueOf() !== action.payload.valueOf();
}),
],
};
},
updateAttribute(state, action: PayloadAction<UpdateAttribute>) {
const { product_id, attributeKey, attributeValue } = action.payload;
if (!state) return initialState;
return {
...state,
products: state.products.map((prod) => {
if (prod.id !== product_id) return prod;
const attributes = cp(prod.attributes);
attributes[attributeKey] = attributeValue;
return {
...prod,
attributes,
};
}),
};
},
changeKey(state, action: PayloadAction<UpdateAttributeKey>) {
if (!state) return initialState;
const { product_id, oldKey, newKey } = action.payload;
return {
...state,
products: state.products.map(prod => {
if (prod.id !== product_id) return prod;
return {
...state,
products: state.products.map((prod) => {
if (prod.id !== product_id) return prod;
const attributes = cp(prod.attributes);
attributes[newKey] = attributes[oldKey];
delete attributes[oldKey];
attributes.id = prod.id;
return {
...prod,
attributes,
}
})
};
},
addAttribute(state, action: PayloadAction<Id>) {
if (!state) return initialState;
const product_id = action.payload;
state.products = state.products.map(prod => {
if (prod.id !== product_id) return prod;
const i = (Object.keys(prod.attributes || {}).filter(k => k.match(/attribute [\d]+/)) || []).length;
const newAttribute = `attribute ${i + 1}`;
return {
...prod,
attributes: {
...prod.attributes,
[newAttribute]: `value`,
}
}
});
return state;
},
const attributes = cp(prod.attributes);
attributes[newKey] = attributes[oldKey];
delete attributes[oldKey];
attributes.id = prod.id;
return {
...prod,
attributes,
};
}),
};
},
addAttribute(state, action: PayloadAction<Id>) {
if (!state) return initialState;
const product_id = action.payload;
state.products = state.products.map((prod) => {
if (prod.id !== product_id) return prod;
const i = (
Object.keys(prod.attributes || {}).filter((k) =>
k.match(/attribute [\d]+/)
) || []
).length;
const newAttribute = `attribute ${i + 1}`;
return {
...prod,
attributes: {
...prod.attributes,
[newAttribute]: `value`,
},
};
});
return state;
},
deleteAttribute(state, action: PayloadAction<{ product_id: Id, attribute: string }>) {
if (!state) return initialState;
const { product_id, attribute } = action.payload;
return {
...state,
products: state.products.map(prod => {
if (prod.id !== product_id) return prod;
const attributes = Object.fromEntries(Object.entries(prod).filter(([k, v]) => (k !== attribute)));
return {
...prod,
attributes,
}
}),
};
},
updatePrice(state, action: PayloadAction<{ product_id: Id, pricePerUnit: number }>) {
if (!state) return initialState;
const { product_id, pricePerUnit } = action.payload;
state.products = state.products.map(prod => {
if (prod.id !== product_id) return prod;
prod.pricePerUnit = pricePerUnit;
return prod;
});
return state;
},
updateDimensions(state, action: PayloadAction<{ product_id: Id, dimensions: dimensions_t }>) {
if (!state) return initialState;
const { product_id, dimensions } = action.payload;
console.log("Changing dimensions: %o", action.payload);
return {
...state,
products: state.products.map(prod => {
if (prod.id !== product_id) return prod;
return {
...prod,
dimensions,
}
}),
};
},
}
deleteAttribute(
state,
action: PayloadAction<{ product_id: Id; attribute: string }>
) {
if (!state) return initialState;
const { product_id, attribute } = action.payload;
return {
...state,
products: state.products.map((prod) => {
if (prod.id !== product_id) return prod;
const attributes = Object.fromEntries(
Object.entries(prod).filter(([k, v]) => k !== attribute)
);
return {
...prod,
attributes,
};
}),
};
},
updatePrice(
state,
action: PayloadAction<{ product_id: Id; pricePerUnit: number }>
) {
if (!state) return initialState;
const { product_id, pricePerUnit } = action.payload;
state.products = state.products.map((prod) => {
if (prod.id !== product_id) return prod;
prod.pricePerUnit = pricePerUnit;
return prod;
});
return state;
},
updateDimensions(
state,
action: PayloadAction<{ product_id: Id; dimensions: dimensions_t }>
) {
if (!state) return initialState;
const { product_id, dimensions } = action.payload;
console.log("Changing dimensions: %o", action.payload);
return {
...state,
products: state.products.map((prod) => {
if (prod.id !== product_id) return prod;
return {
...prod,
dimensions,
};
}),
};
},
},
});
export const selectProductsDatas = (state: RootState) => {
return state.products;
}
export const selectProducts = (state: RootState) => {
return state.products;
};
export const selectUnits = (state : RootState) => {
return (state.units || "ft") as Length;
}
export const selectPlywoodCalc = (state: RootState) => {
return state.calculations.plywood;
};
export const selectProducts = createSelector([selectProductsDatas], productsData => {
return productsData.map(d => Product.fromObject(d));
})
export const selectCarpetCalc = (state: RootState) => {
return state.calculations.carpet;
};
export const selectProductIds = createSelector([selectProducts], products => {
return products.map(p => p.id);
})
export const selectProductIds = createSelector([selectProducts], (products) => {
return products.map((p) => p.id);
});
export const selectProductAttributes = createSelector([selectProducts], products => {
return Object.fromEntries(products.map(p => {
return [
p.id,
p.attributesAsList,
]
}))
})
export const selectProductAttributes = createSelector(
[selectProducts],
(products) => {
return Object.fromEntries(
products.map((p) => {
return [p.id, p.attributes ? attributesAsList(p.attributes) : []];
})
);
}
);
export const actions = {
...productsState.actions
...productsState.actions,
};
export const {
setUnits,
createProduct,
deleteProduct,
changeKey,
updateAttribute,
addAttribute,
deleteAttribute,
updatePrice,
updateDimensions,
setCarpetCalculation,
setPlywoodCalculation,
createProduct,
deleteProduct,
changeKey,
updateAttribute,
addAttribute,
deleteAttribute,
updatePrice,
updateDimensions,
} = productsState.actions;
export default productsState.reducer;
+35 -18
View File
@@ -1,30 +1,47 @@
import { length } from "enheter";
import { Product } from "../product";
import { Id, Product, productPriceFor } from "../product";
import uuid from "react-native-uuid"
describe("Product tests", () => {
it(`Length product gives correct price for a shorter length`, () => {
const standard = new Product(20, { l: 4, u: "feet" });
const comparison = standard.priceFor({ l: 2, u: "feet" });
expect(comparison).toEqual(10);
const standard : Product = {
id: uuid.v4().valueOf() as Id,
dimensions: {
l: 5,
u: "ft",
},
type: "lumber",
pricePerUnit: 10,
};
const comparison = productPriceFor(standard, { l: 2, u: "feet" });
expect(comparison).toEqual(4);
});
it(`Length product gives correct price for a longer length`, () => {
const standard = new Product(20, {l: 4, u : "feet"});
const comparison = standard.priceFor({l : 8, u : "feet"});
expect(comparison).toEqual(40);
const standard : Product = {
id: uuid.v4().valueOf() as Id,
dimensions: {
l: 5,
u: "ft",
},
type: "lumber",
pricePerUnit: 10,
};
const comparison = productPriceFor(standard, { l: 10, u: "feet" });
expect(comparison).toEqual(20);
});
it(`Length product gives correct price if different units`, () => {
const standard = new Product(10, {l: 1, u : "feet"});
const comparison = standard.priceFor({l : 24, u: "inch"});
expect(comparison).toBeCloseTo(20, 4);
const standard : Product = {
id: uuid.v4().valueOf() as Id,
dimensions: {
l: 12,
u: "in",
},
type: "lumber",
pricePerUnit: 1,
};
const comparison = productPriceFor(standard, { l: 2, u: "feet" });
expect(comparison).toBeCloseTo(2, 1);
});
it("Can convert to/from object", () => {
const standard = new Product(10, {l: 1, u : "feet"});
const obj = standard.asObject;
const back = Product.fromObject(obj);
expect(back).toEqual(standard);
})
});
+12 -5
View File
@@ -11,7 +11,6 @@ export type area_t = length_t & {
export type dimensions_t = area_t | length_t;
export type product_type_t = "area" | "length";
export const isArea = (d: dimensions_t) => ("width" in d);
export const isLength = (d: dimensions_t) => (!("width" in d));
@@ -34,6 +33,8 @@ export const dimensionType = (d: dimensions_t) => isArea(d) ? "area" : "length";
};
}
const FACTOR = 0.1309;
/**
* Gets the total length of a carpet roll based on a diameter
* @param outerDiameter Outer diameter of the carpet roll
@@ -44,9 +45,15 @@ export function diameterToLength(outerDiameter: length_t, innerDiameter: length_
if (outerDiameter.u !== innerDiameter.u) {
throw new Error("diameter units must match!")
}
const thickness = (((outerDiameter.l - innerDiameter.l) / 2) / numRings);
const l = FACTOR * numRings * (innerDiameter.l + outerDiameter.l);
return {
l: Math.PI * (Math.pow(outerDiameter.l, 2) / 4) - (Math.pow(innerDiameter.l, 2) / 4) / thickness,
u: innerDiameter.u,
};
l,
u: outerDiameter.u
}
}
export function dimensionsDisplay(d : dimensions_t) {
if ("w" in d) {
return `${d.w} x ${d.l} ${d.u}`
}
}
+83 -79
View File
@@ -1,99 +1,103 @@
import uuid from "react-native-uuid";
import { Area } from "convert";
import { Transform } from "class-transformer";
import { dimensions_t, area_t } from "./dimensions";
import { dimensions_t, area_t, dimensionsDisplay } from "./dimensions";
import { matchDimensions } from "./dimensions";
import { Area, Length, Unit } from "convert";
export type Id = string;
export type Currency = "USD";
export type ProductAttributes = {
id?: string,
name?: string,
image?: string,
description?: string,
depth?: string,
currency?: Currency,
// [index:string]: any,
}
export function dimensionArea(d: dimensions_t) {
return "w" in d ? d.w * d.l : 0;
}
export type ProductData = {
id?: Id;
pricePerUnit: number;
dimensions: dimensions_t;
attributes?: ProductAttributes;
id?: string;
name?: string;
image?: string;
description?: string;
depth?: string;
currency?: Currency;
[index: string]: any;
};
export function dimensionArea(d: dimensions_t) {
return "w" in d ? d.w * d.l : 0;
}
export class Product {
export const PRODUCT_TYPES = ["lumber", "area_rug"] as const;
public id?: Id;
export type product_type_t = (typeof PRODUCT_TYPES)[number];
constructor(public pricePerUnit: number, public dimensions: dimensions_t, public attributes: ProductAttributes = {},
id?: Id,
) {
this.id = id || uuid.v4().toString();
}
export type Product = {
id?: Id;
pricePerUnit: number;
dimensions: dimensions_t;
type: product_type_t;
attributes?: ProductAttributes;
};
public priceFor(dimensions: dimensions_t, damage : number): number {
if (Number.isNaN(damage)) damage = 0;
const dim = matchDimensions(dimensions, this.dimensions);
return (
dim.w ? dimensionArea(dim) / dimensionArea(this.dimensions) * this.pricePerUnit
: (dim.l / this.dimensions.l) * this.pricePerUnit
) * (1.0 - damage);
}
export type LumberProduct = Product & {
type: "lumber";
};
get priceDisplay() {
return this.pricePerUnit.toLocaleString(undefined, {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
}
export type AreaRugProduct = Product & {
type: "lumber";
};
get pricePerUnitDisplay() {
const p = this.priceDisplay;
const { l, u } = this.dimensions;
const w = (this.dimensions as area_t).w || null;
const d = w ? `${l}${u} x ${w}${u}` : `${l}${u}`;
return `$${p} per ${d}`
}
export function productPriceFor(
product: Product,
dimensions: dimensions_t,
damage: number = 0
): number {
if (Number.isNaN(damage)) damage = 0;
const dim = matchDimensions(dimensions, product.dimensions);
return (
(dim.w
? (dimensionArea(dim) / dimensionArea(product.dimensions)) *
product.pricePerUnit
: (dim.l / product.dimensions.l) * product.pricePerUnit) *
(1.0 - damage)
);
}
get attributesAsList() {
return Object.entries(this.attributes).map(([key, value]) => {
return { key, value }
})
}
export function priceDisplay(price: number) {
return price.toLocaleString(undefined, {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
});
}
public removeAttribute(key: string) {
this.attributes = Object.fromEntries(
Object.entries(this.attributes).filter(
([k, v]) => {
k == key;
}
)
);
}
export function pricePerUnitDisplay(product: Product) {
const p = priceDisplay(product.pricePerUnit);
const { l, u } = product.dimensions;
const w = (product.dimensions as area_t).w || null;
const d = w ? `${l}${u} x ${w}${u}` : `${l}${u}`;
return `$${p} per ${d}`;
}
get asObject(): ProductData {
return {
id: this.id,
pricePerUnit: this.pricePerUnit,
dimensions: this.dimensions,
attributes: this.attributes,
}
}
export function attributesAsList(attributes: ProductAttributes) {
return Object.entries(attributes).map(([key, value]) => {
return { key, value };
});
}
static fromObject({ id, pricePerUnit, dimensions, attributes }: ProductData) {
return new Product(
pricePerUnit,
dimensions,
attributes,
id,
)
}
}
export function productLabel(
product: Product,
{ pricing }: { pricing: boolean } = { pricing: false }
) {
const n = product.attributes?.name || `Product ${product.id}`;
const p = priceDisplay(product.pricePerUnit);
const d = dimensionsDisplay(product.dimensions);
if (!pricing) {
return n;
}
return `${n} ($${p} per ${d})`;
}
export function removeAttribute(
attributes: { [key: string]: any },
key: string
) {
return Object.fromEntries(
Object.entries(attributes).filter(([k, v]) => {
k == key;
})
);
}
+15
View File
@@ -0,0 +1,15 @@
function waitForWindow(): Promise<Window> {
return new Promise((resolve) => {
if (typeof window !== 'undefined') {
resolve(window);
} else {
const intervalId = setInterval(() => {
if (typeof window !== 'undefined') {
clearInterval(intervalId);
resolve(window);
}
}, 100);
}
});
}
+25 -20
View File
@@ -13,25 +13,26 @@
"apk:android": "eas build --platform android --local"
},
"dependencies": {
"@babel/runtime": "^7.24.7",
"@expo/config-plugins": "~8.0.0",
"@expo/prebuild-config": "~7.0.0",
"@babel/runtime": "^7.25.0",
"@expo/config-plugins": "~8.0.8",
"@expo/prebuild-config": "~7.0.8",
"@expo/vector-icons": "^14.0.2",
"@react-native-async-storage/async-storage": "^1.23.1",
"@react-native-async-storage/async-storage": "^1.24.0",
"@react-native-community/slider": "^4.5.2",
"@react-native/assets-registry": "^0.74.85",
"@react-navigation/native": "^6.0.2",
"@reduxjs/toolkit": "^2.2.6",
"@react-native/assets-registry": "^0.74.87",
"@react-navigation/native": "^6.1.18",
"@reduxjs/toolkit": "^2.2.7",
"class-transformer": "^0.5.1",
"convert": "^5.3.0",
"dayjs": "^1.11.11",
"expo": "~51.0.18",
"dayjs": "^1.11.12",
"expo": "~51.0.28",
"expo-asset": "^10.0.10",
"expo-constants": "~16.0.2",
"expo-doctor": "^1.6.1",
"expo-font": "~12.0.7",
"expo-doctor": "^1.9.0",
"expo-font": "~12.0.9",
"expo-linear-gradient": "^13.0.2",
"expo-linking": "~6.3.1",
"expo-router": "~3.5.17",
"expo-router": "~3.5.23",
"expo-splash-screen": "~0.27.5",
"expo-status-bar": "~1.12.1",
"expo-system-ui": "~3.0.7",
@@ -40,26 +41,30 @@
"react-dom": "18.2.0",
"react-native": "0.74.3",
"react-native-element-dropdown": "^2.12.1",
"react-native-gesture-handler": "~2.16.1",
"react-native-gesture-handler": "~2.18.1",
"react-native-reanimated": "~3.10.1",
"react-native-safe-area-context": "4.10.1",
"react-native-screens": "3.31.1",
"react-native-select-dropdown": "^4.0.1",
"react-native-svg": "^15.5.0",
"react-native-uuid": "^2.0.2",
"react-native-web": "~0.19.10",
"react-native-web": "~0.19.12",
"react-redux": "^9.1.2",
"redux-persist": "^6.0.0",
"redux-remember": "^5.1.0"
},
"devDependencies": {
"@babel/core": "^7.20.0",
"@babel/core": "^7.25.2",
"@babel/preset-typescript": "^7.24.7",
"@testing-library/react-native": "^12.5.1",
"@testing-library/react-native": "^12.5.3",
"@testing-library/user-event": "^14.5.2",
"@types/jest": "^29.5.12",
"@types/react": "~18.2.45",
"@types/react-test-renderer": "^18.0.7",
"babel-preset-expo": "^11.0.12",
"jest": "^29.2.1",
"@types/react": "~18.2.79",
"@types/react-test-renderer": "^18.3.0",
"babel-preset-expo": "^11.0.14",
"jest": "^29.7.0",
"jest-expo": "~51.0.3",
"react-native-svg-transformer": "^1.5.0",
"react-test-renderer": "18.2.0",
"typescript": "~5.3.3"
},
+1757 -1307
View File
@@ -6,32 +6,32 @@ settings:
dependencies:
'@babel/runtime':
specifier: ^7.24.7
version: 7.24.7
specifier: ^7.25.0
version: 7.25.0
'@expo/config-plugins':
specifier: ~8.0.0
version: 8.0.7
specifier: ~8.0.8
version: 8.0.8
'@expo/prebuild-config':
specifier: ~7.0.0
version: 7.0.7([email protected].1)
specifier: ~7.0.8
version: 7.0.8([email protected].2)
'@expo/vector-icons':
specifier: ^14.0.2
version: 14.0.2
'@react-native-async-storage/async-storage':
specifier: ^1.23.1
version: 1.23.1([email protected])
specifier: ^1.24.0
version: 1.24.0([email protected])
'@react-native-community/slider':
specifier: ^4.5.2
version: 4.5.2
'@react-native/assets-registry':
specifier: ^0.74.85
version: 0.74.85
specifier: ^0.74.87
version: 0.74.87
'@react-navigation/native':
specifier: ^6.0.2
version: 6.1.17([email protected])([email protected])
specifier: ^6.1.18
version: 6.1.18([email protected])([email protected])
'@reduxjs/toolkit':
specifier: ^2.2.6
version: 2.2.6([email protected])([email protected])
specifier: ^2.2.7
version: 2.2.7([email protected])([email protected])
class-transformer:
specifier: ^0.5.1
version: 0.5.1
@@ -39,41 +39,44 @@ dependencies:
specifier: ^5.3.0
version: 5.3.0
dayjs:
specifier: ^1.11.11
version: 1.11.11
specifier: ^1.11.12
version: 1.11.12
expo:
specifier: ~51.0.18
version: 51.0.18(@babel/[email protected]4.7)(@babel/[email protected]4.7)
specifier: ~51.0.28
version: 51.0.28(@babel/[email protected]5.2)(@babel/[email protected]5.3)
expo-asset:
specifier: ^10.0.10
version: 10.0.10([email protected].18)
version: 10.0.10([email protected].28)
expo-constants:
specifier: ~16.0.2
version: 16.0.2([email protected].18)
version: 16.0.2([email protected].28)
expo-doctor:
specifier: ^1.6.1
version: 1.6.1
specifier: ^1.9.0
version: 1.9.0
expo-font:
specifier: ~12.0.7
version: 12.0.7([email protected].18)
specifier: ~12.0.9
version: 12.0.9([email protected].28)
expo-linear-gradient:
specifier: ^13.0.2
version: 13.0.2([email protected])
expo-linking:
specifier: ~6.3.1
version: 6.3.1([email protected].18)
version: 6.3.1([email protected].28)
expo-router:
specifier: ~3.5.17
version: 3.5.17([email protected])([email protected])([email protected].1)([email protected])([email protected].18)([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
specifier: ~3.5.23
version: 3.5.23([email protected])([email protected])([email protected].2)([email protected])([email protected].28)([email protected])([email protected])([email protected])([email protected])([email protected])([email protected])
expo-splash-screen:
specifier: ~0.27.5
version: 0.27.5([email protected].1)([email protected].18)
version: 0.27.5([email protected].2)([email protected].28)
expo-status-bar:
specifier: ~1.12.1
version: 1.12.1
expo-system-ui:
specifier: ~3.0.7
version: 3.0.7([email protected].18)
version: 3.0.7([email protected].28)
expo-web-browser:
specifier: ~13.0.3
version: 13.0.3([email protected].18)
version: 13.0.3([email protected].28)
react:
specifier: 18.2.0
version: 18.2.0
@@ -82,16 +85,16 @@ dependencies:
version: 18.2.0([email protected])
react-native:
specifier: 0.74.3
version: 0.74.3(@babel/[email protected]4.7)(@babel/[email protected]4.7)(@types/[email protected])([email protected])
version: 0.74.3(@babel/[email protected]5.2)(@babel/[email protected]5.3)(@types/[email protected])([email protected])
react-native-element-dropdown:
specifier: ^2.12.1
version: 2.12.1([email protected])([email protected])
react-native-gesture-handler:
specifier: ~2.16.1
version: 2.16.2([email protected])([email protected])
specifier: ~2.18.1
version: 2.18.1([email protected])([email protected])
react-native-reanimated:
specifier: ~3.10.1
version: 3.10.1(@babel/[email protected]4.7)([email protected])([email protected])
version: 3.10.1(@babel/[email protected]5.2)([email protected])([email protected])
react-native-safe-area-context:
specifier: 4.10.1
version: 4.10.1([email protected])([email protected])
@@ -101,47 +104,59 @@ dependencies:
react-native-select-dropdown:
specifier: ^4.0.1
version: 4.0.1
react-native-svg:
specifier: ^15.5.0
version: 15.5.0([email protected])([email protected])
react-native-uuid:
specifier: ^2.0.2
version: 2.0.2
react-native-web:
specifier: ~0.19.10
specifier: ~0.19.12
version: 0.19.12([email protected])([email protected])
react-redux:
specifier: ^9.1.2
version: 9.1.2(@types/[email protected])([email protected])([email protected])
redux-persist:
specifier: ^6.0.0
version: 6.0.0([email protected])([email protected])
redux-remember:
specifier: ^5.1.0
version: 5.1.0([email protected])
devDependencies:
'@babel/core':
specifier: ^7.20.0
version: 7.24.7
specifier: ^7.25.2
version: 7.25.2
'@babel/preset-typescript':
specifier: ^7.24.7
version: 7.24.7(@babel/[email protected]4.7)
version: 7.24.7(@babel/[email protected]5.2)
'@testing-library/react-native':
specifier: ^12.5.1
version: 12.5.1([email protected])([email protected])([email protected])([email protected])
specifier: ^12.5.3
version: 12.5.3([email protected])([email protected])([email protected])([email protected])
'@testing-library/user-event':
specifier: ^14.5.2
version: 14.5.2(@testing-library/[email protected])
'@types/jest':
specifier: ^29.5.12
version: 29.5.12
'@types/react':
specifier: ~18.2.45
specifier: ~18.2.79
version: 18.2.79
'@types/react-test-renderer':
specifier: ^18.0.7
specifier: ^18.3.0
version: 18.3.0
babel-preset-expo:
specifier: ^11.0.12
version: 11.0.12(@babel/[email protected]4.7)(@babel/[email protected]4.7)
specifier: ^11.0.14
version: 11.0.14(@babel/[email protected]5.2)(@babel/[email protected]5.3)
jest:
specifier: ^29.2.1
specifier: ^29.7.0
version: 29.7.0
jest-expo:
specifier: ~51.0.3
version: 51.0.3(@babel/[email protected]4.7)([email protected])([email protected])
version: 51.0.3(@babel/[email protected]5.2)([email protected])([email protected])
react-native-svg-transformer:
specifier: ^1.5.0
version: 1.5.0([email protected])([email protected])([email protected])
react-test-renderer:
specifier: 18.2.0
version: 18.2.0([email protected])
@@ -170,26 +185,26 @@ packages:
'@babel/highlight': 7.24.7
picocolors: 1.0.1
/@babel/[email protected]4.7:
resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==, tarball: https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz}
/@babel/[email protected]5.2:
resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==, tarball: https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz}
engines: {node: '>=6.9.0'}
/@babel/[email protected]4.7:
resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==, tarball: https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz}
/@babel/[email protected]5.2:
resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==, tarball: https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@ampproject/remapping': 2.3.0
'@babel/code-frame': 7.24.7
'@babel/generator': 7.24.7
'@babel/helper-compilation-targets': 7.24.7
'@babel/helper-module-transforms': 7.24.7(@babel/[email protected]4.7)
'@babel/helpers': 7.24.7
'@babel/parser': 7.24.7
'@babel/template': 7.24.7
'@babel/traverse': 7.24.7
'@babel/types': 7.24.7
'@babel/generator': 7.25.0
'@babel/helper-compilation-targets': 7.25.2
'@babel/helper-module-transforms': 7.25.2(@babel/[email protected]5.2)
'@babel/helpers': 7.25.0
'@babel/parser': 7.25.3
'@babel/template': 7.25.0
'@babel/traverse': 7.25.3
'@babel/types': 7.25.2
convert-source-map: 2.0.0
debug: 4.3.5
debug: 4.3.6
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@@ -199,17 +214,17 @@ packages:
/@babel/[email protected]:
resolution: {integrity: sha512-BA75MVfRlFQG2EZgFYIwyT1r6xSkwfP2bdkY/kLZusEYWiJs4xCowab/alaEaT0wSvmVuXGqiefeBlP+7V1yKg==, tarball: https://registry.npmjs.org/@babel/generator/-/generator-7.2.0.tgz}
dependencies:
'@babel/types': 7.24.7
'@babel/types': 7.25.2
jsesc: 2.5.2
lodash: 4.17.21
source-map: 0.5.7
trim-right: 1.0.1
/@babel/[email protected]4.7:
resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==, tarball: https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz}
/@babel/[email protected]5.0:
resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==, tarball: https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.7
'@babel/types': 7.25.2
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
jsesc: 2.5.2
@@ -218,66 +233,64 @@ packages:
resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==, tarball: https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.7
'@babel/types': 7.25.2
/@babel/[email protected]:
resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==, tarball: https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/traverse': 7.24.7
'@babel/types': 7.24.7
'@babel/traverse': 7.25.3
'@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
/@babel/[email protected]4.7:
resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==, tarball: https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz}
/@babel/[email protected]5.2:
resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==, tarball: https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/compat-data': 7.24.7
'@babel/helper-validator-option': 7.24.7
browserslist: 4.23.1
'@babel/compat-data': 7.25.2
'@babel/helper-validator-option': 7.24.8
browserslist: 4.23.3
lru-cache: 5.1.1
semver: 6.3.1
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==, tarball: https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz}
/@babel/[email protected]5.0(@babel/[email protected]5.2):
resolution: {integrity: sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==, tarball: https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-annotate-as-pure': 7.24.7
'@babel/helper-environment-visitor': 7.24.7
'@babel/helper-function-name': 7.24.7
'@babel/helper-member-expression-to-functions': 7.24.7
'@babel/helper-member-expression-to-functions': 7.24.8
'@babel/helper-optimise-call-expression': 7.24.7
'@babel/helper-replace-supers': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-replace-supers': 7.25.0(@babel/[email protected]5.2)
'@babel/helper-skip-transparent-expression-wrappers': 7.24.7
'@babel/helper-split-export-declaration': 7.24.7
'@babel/traverse': 7.25.3
semver: 6.3.1
transitivePeerDependencies:
- supports-color
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==, tarball: https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz}
/@babel/[email protected]5.2(@babel/[email protected]5.2):
resolution: {integrity: sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==, tarball: https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-annotate-as-pure': 7.24.7
regexpu-core: 5.3.2
semver: 6.3.1
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==, tarball: https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz}
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-compilation-targets': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
debug: 4.3.5
'@babel/core': 7.25.2
'@babel/helper-compilation-targets': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
debug: 4.3.6
lodash.debounce: 4.0.8
resolve: 1.22.8
transitivePeerDependencies:
@@ -287,27 +300,14 @@ packages:
resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==, tarball: https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.7
'@babel/types': 7.25.2
/@babel/helper-function-name@7.24.7:
resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==, tarball: https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz}
/@babel/helper-member-expression-to-functions@7.24.8:
resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==, tarball: https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.24.7
'@babel/types': 7.24.7
/@babel/[email protected]:
resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==, tarball: https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.7
/@babel/[email protected]:
resolution: {integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==, tarball: https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/traverse': 7.24.7
'@babel/types': 7.24.7
'@babel/traverse': 7.25.3
'@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
@@ -315,23 +315,22 @@ packages:
resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==, tarball: https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/traverse': 7.24.7
'@babel/types': 7.24.7
'@babel/traverse': 7.25.3
'@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==, tarball: https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz}
/@babel/[email protected]5.2(@babel/[email protected]5.2):
resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==, tarball: https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-environment-visitor': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-module-imports': 7.24.7
'@babel/helper-simple-access': 7.24.7
'@babel/helper-split-export-declaration': 7.24.7
'@babel/helper-validator-identifier': 7.24.7
'@babel/traverse': 7.25.3
transitivePeerDependencies:
- supports-color
@@ -339,35 +338,35 @@ packages:
resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==, tarball: https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.7
'@babel/types': 7.25.2
/@babel/[email protected].7:
resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==, tarball: https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz}
/@babel/[email protected].8:
resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==, tarball: https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz}
engines: {node: '>=6.9.0'}
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==, tarball: https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz}
/@babel/[email protected]5.0(@babel/[email protected]5.2):
resolution: {integrity: sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==, tarball: https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-annotate-as-pure': 7.24.7
'@babel/helper-environment-visitor': 7.24.7
'@babel/helper-wrap-function': 7.24.7
'@babel/helper-wrap-function': 7.25.0
'@babel/traverse': 7.25.3
transitivePeerDependencies:
- supports-color
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==, tarball: https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz}
/@babel/[email protected]5.0(@babel/[email protected]5.2):
resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==, tarball: https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-environment-visitor': 7.24.7
'@babel/helper-member-expression-to-functions': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-member-expression-to-functions': 7.24.8
'@babel/helper-optimise-call-expression': 7.24.7
'@babel/traverse': 7.25.3
transitivePeerDependencies:
- supports-color
@@ -375,8 +374,8 @@ packages:
resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==, tarball: https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/traverse': 7.24.7
'@babel/types': 7.24.7
'@babel/traverse': 7.25.3
'@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
@@ -384,46 +383,39 @@ packages:
resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==, tarball: https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/traverse': 7.24.7
'@babel/types': 7.24.7
'@babel/traverse': 7.25.3
'@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
/@babel/helper-split-export-declaration@7.24.7:
resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==, tarball: https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.7
/@babel/[email protected]:
resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==, tarball: https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz}
/@babel/helper-string-parser@7.24.8:
resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==, tarball: https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz}
engines: {node: '>=6.9.0'}
/@babel/[email protected]:
resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==, tarball: https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz}
engines: {node: '>=6.9.0'}
/@babel/[email protected].7:
resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==, tarball: https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz}
/@babel/[email protected].8:
resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==, tarball: https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz}
engines: {node: '>=6.9.0'}
/@babel/[email protected]4.7:
resolution: {integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==, tarball: https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz}
/@babel/[email protected]5.0:
resolution: {integrity: sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==, tarball: https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-function-name': 7.24.7
'@babel/template': 7.24.7
'@babel/traverse': 7.24.7
'@babel/types': 7.24.7
'@babel/template': 7.25.0
'@babel/traverse': 7.25.3
'@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
/@babel/[email protected]4.7:
resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==, tarball: https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz}
/@babel/[email protected]5.0:
resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==, tarball: https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.24.7
'@babel/types': 7.24.7
'@babel/template': 7.25.0
'@babel/types': 7.25.2
/@babel/[email protected]:
resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==, tarball: https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz}
@@ -434,1159 +426,1185 @@ packages:
js-tokens: 4.0.0
picocolors: 1.0.1
/@babel/[email protected]4.7:
resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==, tarball: https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz}
/@babel/[email protected]5.3:
resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==, tarball: https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
'@babel/types': 7.24.7
'@babel/types': 7.25.2
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==, tarball: https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz}
/@babel/[email protected]5.3(@babel/[email protected]5.2):
resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==, tarball: https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-environment-visitor': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/traverse': 7.25.3
transitivePeerDependencies:
- supports-color
/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==, tarball: https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz}
/@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/[email protected]5.2):
resolution: {integrity: sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==, tarball: https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/[email protected]4.7):
/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/[email protected]5.2):
resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==, tarball: https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]):
resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==, tarball: https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.13.0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-skip-transparent-expression-wrappers': 7.24.7
'@babel/plugin-transform-optional-chaining': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-optional-chaining': 7.24.8(@babel/[email protected]5.2)
transitivePeerDependencies:
- supports-color
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==, tarball: https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz}
/@babel/[email protected]5.0(@babel/[email protected]5.2):
resolution: {integrity: sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==, tarball: https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-environment-visitor': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/traverse': 7.25.3
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==, tarball: https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz}
engines: {node: '>=6.9.0'}
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-environment-visitor': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/helper-remap-async-to-generator': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-syntax-async-generators': 7.8.4(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-remap-async-to-generator': 7.25.0(@babel/[email protected]5.2)
'@babel/plugin-syntax-async-generators': 7.8.4(@babel/[email protected]5.2)
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==, tarball: https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz}
engines: {node: '>=6.9.0'}
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-create-class-features-plugin': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-create-class-features-plugin': 7.25.0(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==, tarball: https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-create-class-features-plugin': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-decorators': 7.24.7(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-create-class-features-plugin': 7.25.0(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-decorators': 7.24.7(@babel/[email protected]5.2)
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-CcmFwUJ3tKhLjPdt4NP+SHMshebytF8ZTYOv5ZDpkzq2sin80Wb5vJrGt8fhPrORQCfoSa0LAxC/DW+GAC5+Hw==, tarball: https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-export-default-from': 7.24.7(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-export-default-from': 7.24.7(@babel/[email protected]5.2)
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==, tarball: https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz}
engines: {node: '>=6.9.0'}
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/[email protected]5.2)
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==, tarball: https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz}
engines: {node: '>=6.9.0'}
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/[email protected]5.2)
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==, tarball: https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz}
engines: {node: '>=6.9.0'}
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/[email protected]5.2)
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==, tarball: https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz}
engines: {node: '>=6.9.0'}
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/compat-data': 7.24.7
'@babel/core': 7.24.7
'@babel/helper-compilation-targets': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-transform-parameters': 7.24.7(@babel/[email protected]4.7)
'@babel/compat-data': 7.25.2
'@babel/core': 7.25.2
'@babel/helper-compilation-targets': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-transform-parameters': 7.24.7(@babel/[email protected]5.2)
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==, tarball: https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz}
engines: {node: '>=6.9.0'}
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/[email protected]5.2)
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==, tarball: https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz}
engines: {node: '>=6.9.0'}
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-skip-transparent-expression-wrappers': 7.24.7
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/[email protected]5.2)
transitivePeerDependencies:
- supports-color
/@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/[email protected]4.7):
/@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/[email protected]5.2):
resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==, tarball: https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
dev: true
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-bTPz4/635WQ9WhwsyPdxUJDVpsi/X9BMmy/8Rf/UAlOO4jSql4CxUCjWI5PiM+jG+c4LVPTScoTw80geFj9+Bw==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==, tarball: https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==, tarball: https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz}
/@babel/[email protected]5.0(@babel/[email protected]5.2):
resolution: {integrity: sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==, tarball: https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-environment-visitor': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/helper-remap-async-to-generator': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-syntax-async-generators': 7.8.4(@babel/[email protected])
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-remap-async-to-generator': 7.25.0(@babel/[email protected])
'@babel/plugin-syntax-async-generators': 7.8.4(@babel/[email protected]5.2)
'@babel/traverse': 7.25.3
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-module-imports': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/helper-remap-async-to-generator': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-remap-async-to-generator': 7.25.0(@babel/[email protected]5.2)
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz}
/@babel/[email protected]5.0(@babel/[email protected]5.2):
resolution: {integrity: sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==, tarball: https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-create-class-features-plugin': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-create-class-features-plugin': 7.25.0(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.12.0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-create-class-features-plugin': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-class-static-block': 7.14.5(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-create-class-features-plugin': 7.25.0(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-class-static-block': 7.14.5(@babel/[email protected]5.2)
transitivePeerDependencies:
- supports-color
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz}
/@babel/[email protected]5.0(@babel/[email protected]5.2):
resolution: {integrity: sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-annotate-as-pure': 7.24.7
'@babel/helper-compilation-targets': 7.24.7
'@babel/helper-environment-visitor': 7.24.7
'@babel/helper-function-name': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/helper-replace-supers': 7.24.7(@babel/[email protected])
'@babel/helper-split-export-declaration': 7.24.7
'@babel/helper-compilation-targets': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-replace-supers': 7.25.0(@babel/[email protected])
'@babel/traverse': 7.25.3
globals: 11.12.0
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/template': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/template': 7.25.0
/@babel/[email protected].7(@babel/[email protected]4.7):
resolution: {integrity: sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz}
/@babel/[email protected].8(@babel/[email protected]5.2):
resolution: {integrity: sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/plugin-transform-dynamic-import@7.24.7(@babel/[email protected]4.7):
/@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/[email protected]5.2):
resolution: {integrity: sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==, tarball: https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.25.2
'@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected])
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]):
resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==, tarball: https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/[email protected]5.2)
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/helper-plugin-utils': 7.24.8
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/[email protected]5.2)
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-cjRKJ7FobOH2eakx7Ja+KpJRj8+y+/SiB3ooYm/n2UJfxu0oEaOoxOinitkJcPqv9KxS0kxTGPUaR7L2XcXDXA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.7.tgz}
/@babel/[email protected]5.2(@babel/[email protected]5.2):
resolution: {integrity: sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==, tarball: https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-flow': 7.24.7(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-flow': 7.24.7(@babel/[email protected]5.2)
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==, tarball: https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-skip-transparent-expression-wrappers': 7.24.7
transitivePeerDependencies:
- supports-color
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==, tarball: https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz}
/@babel/[email protected]5.1(@babel/[email protected]5.2):
resolution: {integrity: sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-compilation-targets': 7.24.7
'@babel/helper-function-name': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-compilation-targets': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/traverse': 7.25.3
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-json-strings': 7.8.3(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-json-strings': 7.8.3(@babel/[email protected]5.2)
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz}
/@babel/[email protected]5.2(@babel/[email protected]5.2):
resolution: {integrity: sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/[email protected]5.2)
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==, tarball: https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-module-transforms': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-module-transforms': 7.25.2(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
transitivePeerDependencies:
- supports-color
/@babel/[email protected].7(@babel/[email protected]4.7):
resolution: {integrity: sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz}
/@babel/[email protected].8(@babel/[email protected]5.2):
resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-module-transforms': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-module-transforms': 7.25.2(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-simple-access': 7.24.7
transitivePeerDependencies:
- supports-color
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz}
/@babel/[email protected]5.0(@babel/[email protected]5.2):
resolution: {integrity: sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-hoist-variables': 7.24.7
'@babel/helper-module-transforms': 7.24.7(@babel/[email protected])
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-module-transforms': 7.25.2(@babel/[email protected])
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-validator-identifier': 7.24.7
'@babel/traverse': 7.25.3
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==, tarball: https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-module-transforms': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-module-transforms': 7.25.2(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==, tarball: https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/[email protected]5.2)
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/[email protected]5.2)
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==, tarball: https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-compilation-targets': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-transform-parameters': 7.24.7(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-compilation-targets': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-transform-parameters': 7.24.7(@babel/[email protected]5.2)
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==, tarball: https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/helper-replace-supers': 7.24.7(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-replace-supers': 7.25.0(@babel/[email protected]5.2)
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/[email protected]5.2)
/@babel/[email protected].7(@babel/[email protected]4.7):
resolution: {integrity: sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz}
/@babel/[email protected].8(@babel/[email protected]5.2):
resolution: {integrity: sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-skip-transparent-expression-wrappers': 7.24.7
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/[email protected]5.2)
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-create-class-features-plugin': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-create-class-features-plugin': 7.25.0(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-annotate-as-pure': 7.24.7
'@babel/helper-create-class-features-plugin': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/[email protected]4.7)
'@babel/helper-create-class-features-plugin': 7.25.0(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/[email protected]5.2)
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==, tarball: https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/plugin-transform-react-jsx': 7.24.7(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/plugin-transform-react-jsx': 7.25.2(@babel/[email protected]5.2)
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.24.7.tgz}
/@babel/[email protected]5.2(@babel/[email protected]5.2):
resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-annotate-as-pure': 7.24.7
'@babel/helper-module-imports': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-jsx': 7.24.7(@babel/[email protected]4.7)
'@babel/types': 7.24.7
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-jsx': 7.24.7(@babel/[email protected]5.2)
'@babel/types': 7.25.2
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-annotate-as-pure': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
regenerator-transform: 0.15.2
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==, tarball: https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-module-imports': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
babel-plugin-polyfill-corejs2: 0.4.11(@babel/[email protected]4.7)
babel-plugin-polyfill-corejs3: 0.10.4(@babel/[email protected]4.7)
babel-plugin-polyfill-regenerator: 0.6.2(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.8
babel-plugin-polyfill-corejs2: 0.4.11(@babel/[email protected]5.2)
babel-plugin-polyfill-corejs3: 0.10.6(@babel/[email protected]5.2)
babel-plugin-polyfill-regenerator: 0.6.2(@babel/[email protected]5.2)
semver: 6.3.1
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==, tarball: https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==, tarball: https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-skip-transparent-expression-wrappers': 7.24.7
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==, tarball: https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected].7(@babel/[email protected]4.7):
resolution: {integrity: sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==, tarball: https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz}
/@babel/[email protected].8(@babel/[email protected]5.2):
resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz}
/@babel/[email protected]5.2(@babel/[email protected]5.2):
resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==, tarball: https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-annotate-as-pure': 7.24.7
'@babel/helper-create-class-features-plugin': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/plugin-syntax-typescript': 7.24.7(@babel/[email protected])
'@babel/helper-create-class-features-plugin': 7.25.0(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-skip-transparent-expression-wrappers': 7.24.7
'@babel/plugin-syntax-typescript': 7.24.7(@babel/[email protected])
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==, tarball: https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==, tarball: https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==, tarball: https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==, tarball: https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/[email protected]4.7)
'@babel/helper-plugin-utils': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/[email protected]5.2)
'@babel/helper-plugin-utils': 7.24.8
/@babel/[email protected]4.7(@babel/[email protected]4.7):
resolution: {integrity: sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==, tarball: https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.7.tgz}
/@babel/[email protected]5.3(@babel/[email protected]5.2):
resolution: {integrity: sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==, tarball: https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.3.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/compat-data': 7.24.7
'@babel/core': 7.24.7
'@babel/helper-compilation-targets': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/helper-validator-option': 7.24.7
'@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/[email protected]4.7)
'@babel/plugin-syntax-async-generators': 7.8.4(@babel/[email protected]4.7)
'@babel/plugin-syntax-class-properties': 7.12.13(@babel/[email protected]4.7)
'@babel/plugin-syntax-class-static-block': 7.14.5(@babel/[email protected]4.7)
'@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-import-assertions': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-syntax-import-attributes': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/[email protected]4.7)
'@babel/plugin-syntax-json-strings': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/[email protected]4.7)
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/[email protected]4.7)
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/[email protected]4.7)
'@babel/plugin-syntax-top-level-await': 7.14.5(@babel/[email protected]4.7)
'@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/[email protected]4.7)
'@babel/plugin-transform-arrow-functions': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-async-to-generator': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-block-scoping': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-class-properties': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-class-static-block': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-classes': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-computed-properties': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-destructuring': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-dotall-regex': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-dynamic-import': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-for-of': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-function-name': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-json-strings': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-literals': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-modules-amd': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-modules-umd': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-new-target': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-numeric-separator': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-object-super': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-optional-chaining': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-parameters': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-private-methods': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-property-literals': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-regenerator': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-reserved-words': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-spread': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-sticky-regex': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-template-literals': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-typeof-symbol': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-unicode-regex': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/[email protected]4.7)
'@babel/preset-modules': 0.1.6-no-external-plugins(@babel/[email protected]4.7)
babel-plugin-polyfill-corejs2: 0.4.11(@babel/[email protected]4.7)
babel-plugin-polyfill-corejs3: 0.10.4(@babel/[email protected]4.7)
babel-plugin-polyfill-regenerator: 0.6.2(@babel/[email protected]4.7)
core-js-compat: 3.37.1
'@babel/compat-data': 7.25.2
'@babel/core': 7.25.2
'@babel/helper-compilation-targets': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-validator-option': 7.24.8
'@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/[email protected]5.2)
'@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/[email protected]5.2)
'@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/[email protected]5.2)
'@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/[email protected]5.2)
'@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/[email protected]5.2)
'@babel/plugin-syntax-async-generators': 7.8.4(@babel/[email protected]5.2)
'@babel/plugin-syntax-class-properties': 7.12.13(@babel/[email protected]5.2)
'@babel/plugin-syntax-class-static-block': 7.14.5(@babel/[email protected]5.2)
'@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-syntax-import-assertions': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-syntax-import-attributes': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/[email protected]5.2)
'@babel/plugin-syntax-json-strings': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/[email protected]5.2)
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/[email protected]5.2)
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/[email protected]5.2)
'@babel/plugin-syntax-top-level-await': 7.14.5(@babel/[email protected]5.2)
'@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/[email protected]5.2)
'@babel/plugin-transform-arrow-functions': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-async-generator-functions': 7.25.0(@babel/[email protected]5.2)
'@babel/plugin-transform-async-to-generator': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-block-scoping': 7.25.0(@babel/[email protected]5.2)
'@babel/plugin-transform-class-properties': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-class-static-block': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-classes': 7.25.0(@babel/[email protected]5.2)
'@babel/plugin-transform-computed-properties': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-destructuring': 7.24.8(@babel/[email protected]5.2)
'@babel/plugin-transform-dotall-regex': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/[email protected]5.2)
'@babel/plugin-transform-dynamic-import': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-for-of': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-function-name': 7.25.1(@babel/[email protected]5.2)
'@babel/plugin-transform-json-strings': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-literals': 7.25.2(@babel/[email protected]5.2)
'@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-modules-amd': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/[email protected]5.2)
'@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/[email protected]5.2)
'@babel/plugin-transform-modules-umd': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-new-target': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-numeric-separator': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-object-super': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-optional-chaining': 7.24.8(@babel/[email protected]5.2)
'@babel/plugin-transform-parameters': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-private-methods': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-property-literals': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-regenerator': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-reserved-words': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-spread': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-sticky-regex': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-template-literals': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/[email protected]5.2)
'@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-unicode-regex': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/[email protected]5.2)
'@babel/preset-modules': 0.1.6-no-external-plugins(@babel/[email protected]5.2)
babel-plugin-polyfill-corejs2: 0.4.11(@babel/[email protected]5.2)
babel-plugin-polyfill-corejs3: 0.10.6(@babel/[email protected])
babel-plugin-polyfill-regenerator: 0.6.2(@babel/[email protected])
core-js-compat: 3.38.0
semver: 6.3.1
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==, tarball: https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/helper-validator-option': 7.24.7
'@babel/plugin-transform-flow-strip-types': 7.24.7(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-validator-option': 7.24.8
'@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/[email protected]5.2)
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==, tarball: https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/types': 7.24.7
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/types': 7.25.2
esutils: 2.0.3
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==, tarball: https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/helper-validator-option': 7.24.7
'@babel/plugin-transform-react-display-name': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-react-jsx': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-validator-option': 7.24.8
'@babel/plugin-transform-react-display-name': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-react-jsx': 7.25.2(@babel/[email protected]5.2)
'@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/[email protected]5.2)
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==, tarball: https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-plugin-utils': 7.24.7
'@babel/helper-validator-option': 7.24.7
'@babel/plugin-syntax-jsx': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-typescript': 7.24.7(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-plugin-utils': 7.24.8
'@babel/helper-validator-option': 7.24.8
'@babel/plugin-syntax-jsx': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/[email protected]5.2)
'@babel/plugin-transform-typescript': 7.25.2(@babel/[email protected]5.2)
transitivePeerDependencies:
- supports-color
/@babel/[email protected](@babel/[email protected]4.7):
/@babel/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==, tarball: https://registry.npmjs.org/@babel/register/-/register-7.24.6.tgz}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
clone-deep: 4.0.1
find-cache-dir: 2.1.0
make-dir: 2.1.0
@@ -1596,42 +1614,39 @@ packages:
/@babel/[email protected]:
resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==, tarball: https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz}
/@babel/[email protected]4.7:
resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==, tarball: https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz}
/@babel/[email protected]5.0:
resolution: {integrity: sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==, tarball: https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz}
engines: {node: '>=6.9.0'}
dependencies:
regenerator-runtime: 0.14.1
/@babel/[email protected]4.7:
resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==, tarball: https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz}
/@babel/[email protected]5.0:
resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==, tarball: https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.24.7
'@babel/parser': 7.24.7
'@babel/types': 7.24.7
'@babel/parser': 7.25.3
'@babel/types': 7.25.2
/@babel/[email protected]4.7:
resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==, tarball: https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz}
/@babel/[email protected]5.3:
resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==, tarball: https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.24.7
'@babel/generator': 7.24.7
'@babel/helper-environment-visitor': 7.24.7
'@babel/helper-function-name': 7.24.7
'@babel/helper-hoist-variables': 7.24.7
'@babel/helper-split-export-declaration': 7.24.7
'@babel/parser': 7.24.7
'@babel/types': 7.24.7
debug: 4.3.5
'@babel/generator': 7.25.0
'@babel/parser': 7.25.3
'@babel/template': 7.25.0
'@babel/types': 7.25.2
debug: 4.3.6
globals: 11.12.0
transitivePeerDependencies:
- supports-color
/@babel/[email protected]4.7:
resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==, tarball: https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz}
/@babel/[email protected]5.2:
resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==, tarball: https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-string-parser': 7.24.7
'@babel/helper-string-parser': 7.24.8
'@babel/helper-validator-identifier': 7.24.7
to-fast-properties: 2.0.0
@@ -1646,33 +1661,30 @@ packages:
'@types/hammerjs': 2.0.45
dev: false
/@expo/[email protected].0:
resolution: {integrity: sha512-Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA==, tarball: https://registry.npmjs.org/@expo/bunyan/-/bunyan-4.0.0.tgz}
engines: {'0': node >=0.10.0}
/@expo/[email protected].1:
resolution: {integrity: sha512-+Lla7nYSiHZirgK+U/uYzsLv/X+HaJienbD5AKX1UQZHYfWaP+9uuQluRB4GrEVWF0GZ7vEVp/jzaOT9k/SQlg==, tarball: https://registry.npmjs.org/@expo/bunyan/-/bunyan-4.0.1.tgz}
engines: {node: '>=0.10.0'}
dependencies:
uuid: 8.3.2
optionalDependencies:
mv: 2.1.1
safe-json-stringify: 1.2.0
dev: false
/@expo/[email protected]2([email protected].1):
resolution: {integrity: sha512-s2VM+QvgjdDHIRskQj2ER6gKK3/rybiEA0snfKJZ7iXHN5sqiUzY7G/+i5wses842hsLQefCjwo/x6tzWNrF2A==, tarball: https://registry.npmjs.org/@expo/cli/-/cli-0.18.22.tgz}
/@expo/[email protected]9([email protected].2):
resolution: {integrity: sha512-X810C48Ss+67RdZU39YEO1khNYo1RmjouRV+vVe0QhMoTe8R6OA3t+XYEdwaNbJ5p/DJN7szfHfNmX2glpC7xg==, tarball: https://registry.npmjs.org/@expo/cli/-/cli-0.18.29.tgz}
hasBin: true
dependencies:
'@babel/runtime': 7.24.7
'@babel/runtime': 7.25.0
'@expo/code-signing-certificates': 0.0.5
'@expo/config': 9.0.1
'@expo/config-plugins': 8.0.7
'@expo/devcert': 1.1.2
'@expo/config': 9.0.3
'@expo/config-plugins': 8.0.8
'@expo/devcert': 1.1.4
'@expo/env': 0.3.0
'@expo/image-utils': 0.5.1
'@expo/json-file': 8.3.3
'@expo/metro-config': 0.18.8
'@expo/metro-config': 0.18.11
'@expo/osascript': 2.1.3
'@expo/package-manager': 1.5.2
'@expo/plist': 0.1.3
'@expo/prebuild-config': 7.0.7([email protected].1)
'@expo/prebuild-config': 7.0.8([email protected].2)
'@expo/rudder-sdk-node': 1.1.1
'@expo/spawn-async': 1.7.2
'@expo/xcpretty': 4.3.1
@@ -1684,11 +1696,11 @@ packages:
better-opn: 3.0.2
bplist-creator: 0.0.7
bplist-parser: 0.3.2
cacache: 18.0.3
cacache: 18.0.4
chalk: 4.1.2
ci-info: 3.9.0
connect: 3.7.0
debug: 4.3.5
debug: 4.3.6
env-editor: 0.4.2
fast-glob: 3.3.2
find-yarn-workspace-root: 2.0.0
@@ -1723,7 +1735,7 @@ packages:
resolve: 1.22.8
resolve-from: 5.0.0
resolve.exports: 2.0.2
semver: 7.6.2
semver: 7.6.3
send: 0.18.0
slugify: 1.6.6
source-map-support: 0.5.21
@@ -1752,20 +1764,20 @@ packages:
nullthrows: 1.1.1
dev: false
/@expo/[email protected].7:
resolution: {integrity: sha512-7xZCWTRA3SFjbLSCx4Rge8gvgaGbkduETrZx+l4r1hiUdFcG5BAt1CwcOYvTYrOy1nkvloIYJxeU/9AwADeevA==, tarball: https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-8.0.7.tgz}
/@expo/[email protected].8:
resolution: {integrity: sha512-Fvu6IO13EUw0R9WeqxUO37FkM62YJBNcZb9DyJAOgMz7Ez/vaKQGEjKt9cwT+Q6uirtCATMgaq6VWAW7YW8xXw==, tarball: https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-8.0.8.tgz}
dependencies:
'@expo/config-types': 51.0.2
'@expo/json-file': 8.3.3
'@expo/plist': 0.1.3
'@expo/sdk-runtime-versions': 1.0.0
chalk: 4.1.2
debug: 4.3.5
debug: 4.3.6
find-up: 5.0.0
getenv: 1.0.0
glob: 7.1.6
resolve-from: 5.0.0
semver: 7.6.2
semver: 7.6.3
slash: 3.0.0
slugify: 1.6.6
xcode: 3.0.1
@@ -1776,54 +1788,35 @@ packages:
/@expo/[email protected]:
resolution: {integrity: sha512-IglkIoiDwJMY01lYkF/ZSBoe/5cR+O3+Gx6fpLFjLfgZGBTdyPkKa1g8NWoWQCk+D3cKL2MDbszT2DyRRB0YqQ==, tarball: https://registry.npmjs.org/@expo/config-types/-/config-types-51.0.2.tgz}
/@expo/[email protected].1:
resolution: {integrity: sha512-0tjaXBstTbXmD4z+UMFBkh2SZFwilizSQhW6DlaTMnPG5ezuw93zSFEWAuEC3YzkpVtNQTmYzxAYjxwh6seOGg==, tarball: https://registry.npmjs.org/@expo/config/-/config-9.0.1.tgz}
/@expo/[email protected].3:
resolution: {integrity: sha512-eOTNM8eOC8gZNHgenySRlc/lwmYY1NOgvjwA8LHuvPT7/eUwD93zrxu3lPD1Cc/P6C/2BcVdfH4hf0tLmDxnsg==, tarball: https://registry.npmjs.org/@expo/config/-/config-9.0.3.tgz}
dependencies:
'@babel/code-frame': 7.10.4
'@expo/config-plugins': 8.0.7
'@expo/config-plugins': 8.0.8
'@expo/config-types': 51.0.2
'@expo/json-file': 8.3.3
getenv: 1.0.0
glob: 7.1.6
require-from-string: 2.0.2
resolve-from: 5.0.0
semver: 7.6.2
slugify: 1.6.6
sucrase: 3.34.0
transitivePeerDependencies:
- supports-color
dev: false
/@expo/[email protected]:
resolution: {integrity: sha512-BKQ4/qBf3OLT8hHp5kjObk2vxwoRQ1yYQBbG/OM9Jdz32yYtrU8opTbKRAxfZEWH5i3ZHdLrPdC1rO0I6WxtTw==, tarball: https://registry.npmjs.org/@expo/config/-/config-9.0.2.tgz}
dependencies:
'@babel/code-frame': 7.10.4
'@expo/config-plugins': 8.0.7
'@expo/config-types': 51.0.2
'@expo/json-file': 8.3.3
getenv: 1.0.0
glob: 7.1.6
require-from-string: 2.0.2
resolve-from: 5.0.0
semver: 7.6.2
semver: 7.6.3
slugify: 1.6.6
sucrase: 3.34.0
transitivePeerDependencies:
- supports-color
/@expo/[email protected].2:
resolution: {integrity: sha512-FyWghLu7rUaZEZSTLt/XNRukm0c9GFfwP0iFaswoDWpV6alvVg+zRAfCLdIVQEz1SVcQ3zo1hMZFDrnKGvkCuQ==, tarball: https://registry.npmjs.org/@expo/devcert/-/devcert-1.1.2.tgz}
/@expo/[email protected].4:
resolution: {integrity: sha512-fqBODr8c72+gBSX5Ty3SIzaY4bXainlpab78+vEYEKL3fXmsOswMLf0+KE36mUEAa36BYabX7K3EiXOXX5OPMw==, tarball: https://registry.npmjs.org/@expo/devcert/-/devcert-1.1.4.tgz}
dependencies:
application-config-path: 0.1.1
command-exists: 1.2.9
debug: 3.2.7
eol: 0.9.1
get-port: 3.2.0
glob: 7.2.3
glob: 10.4.5
lodash: 4.17.21
mkdirp: 0.5.6
password-prompt: 1.1.3
rimraf: 2.7.1
sudo-prompt: 8.2.5
tmp: 0.0.33
tslib: 2.6.3
@@ -1835,7 +1828,7 @@ packages:
resolution: {integrity: sha512-OtB9XVHWaXidLbHvrVDeeXa09yvTl3+IQN884sO6PhIi2/StXfgSH/9zC7IvzrDB8kW3EBJ1PPLuCUJ2hxAT7Q==, tarball: https://registry.npmjs.org/@expo/env/-/env-0.3.0.tgz}
dependencies:
chalk: 4.1.2
debug: 4.3.5
debug: 4.3.6
dotenv: 16.4.5
dotenv-expand: 11.0.6
getenv: 1.0.0
@@ -1854,7 +1847,7 @@ packages:
node-fetch: 2.7.0
parse-png: 2.1.0
resolve-from: 5.0.0
semver: 7.6.2
semver: 7.6.3
tempy: 0.3.0
transitivePeerDependencies:
- encoding
@@ -1867,37 +1860,37 @@ packages:
json5: 2.2.3
write-file-atomic: 2.4.3
/@expo/[email protected].8:
resolution: {integrity: sha512-YGpTlVc1/6EPzPbt0LZt92Bwrpjngulup6uHSTRbwn/heMPfFaVv1Y4VE3GAUkx7/Qwu+dTVIV0Kys4pLOAIiw==, tarball: https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.18.8.tgz}
/@expo/[email protected].11:
resolution: {integrity: sha512-/uOq55VbSf9yMbUO1BudkUM2SsGW1c5hr9BnhIqYqcsFv0Jp5D3DtJ4rljDKaUeNLbwr6m7pqIrkSMq5NrYf4Q==, tarball: https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.18.11.tgz}
dependencies:
'@babel/core': 7.24.7
'@babel/generator': 7.24.7
'@babel/parser': 7.24.7
'@babel/types': 7.24.7
'@expo/config': 9.0.1
'@babel/core': 7.25.2
'@babel/generator': 7.25.0
'@babel/parser': 7.25.3
'@babel/types': 7.25.2
'@expo/config': 9.0.3
'@expo/env': 0.3.0
'@expo/json-file': 8.3.3
'@expo/spawn-async': 1.7.2
chalk: 4.1.2
debug: 4.3.5
debug: 4.3.6
find-yarn-workspace-root: 2.0.0
fs-extra: 9.1.0
getenv: 1.0.0
glob: 7.2.3
jsc-safe-url: 0.2.4
lightningcss: 1.19.0
postcss: 8.4.39
postcss: 8.4.41
resolve-from: 5.0.0
transitivePeerDependencies:
- supports-color
dev: false
/@expo/[email protected].1([email protected]):
resolution: {integrity: sha512-L7xNo5SmK+rcuXDm/+VBBImpA7FZsVB+m/rNr3fNl5or+1+yrZe99ViF7LZ8DOoVqAqcb4aCAXvGrP2JNYo1/Q==, tarball: https://registry.npmjs.org/@expo/metro-runtime/-/metro-runtime-3.2.1.tgz}
/@expo/[email protected].3([email protected]):
resolution: {integrity: sha512-v5ji+fAGi7B9YavrxvekuF8gXEV/5fz0+PhaED5AaFDnbGB4IJIbpaiqK9nqZV1axjGZNQSw6Q8TsnFetCR3bQ==, tarball: https://registry.npmjs.org/@expo/metro-runtime/-/metro-runtime-3.2.3.tgz}
peerDependencies:
react-native: '*'
dependencies:
react-native: 0.74.3(@babel/[email protected]4.7)(@babel/[email protected]4.7)(@types/[email protected])([email protected])
react-native: 0.74.3(@babel/[email protected]5.2)(@babel/[email protected]5.3)(@types/[email protected])([email protected])
dev: false
/@expo/[email protected]:
@@ -1932,44 +1925,44 @@ packages:
base64-js: 1.5.1
xmlbuilder: 14.0.0
/@expo/[email protected]([email protected].1):
/@expo/[email protected]([email protected].2):
resolution: {integrity: sha512-Hts+iGBaG6OQ+N8IEMMgwQElzJeSTb7iUJ26xADEHkaexsucAK+V52dM8M4ceicvbZR9q8M+ebJEGj0MCNA3dQ==, tarball: https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-7.0.6.tgz}
peerDependencies:
expo-modules-autolinking: '>=0.8.1'
dependencies:
'@expo/config': 9.0.2
'@expo/config-plugins': 8.0.7
'@expo/config': 9.0.3
'@expo/config-plugins': 8.0.8
'@expo/config-types': 51.0.2
'@expo/image-utils': 0.5.1
'@expo/json-file': 8.3.3
'@react-native/normalize-colors': 0.74.84
debug: 4.3.5
expo-modules-autolinking: 1.11.1
debug: 4.3.6
expo-modules-autolinking: 1.11.2
fs-extra: 9.1.0
resolve-from: 5.0.0
semver: 7.6.2
semver: 7.6.3
xml2js: 0.6.0
transitivePeerDependencies:
- encoding
- supports-color
dev: false
/@expo/[email protected].7([email protected].1):
resolution: {integrity: sha512-yN7rSINZrBVu7VfFJk0G4U/cAEjCiiyPfXmXsToHVFxWtxn8jrxyyA1JfQH3xMHJs++sqpKR9yVRtb6ZgUNeJA==, tarball: https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-7.0.7.tgz}
/@expo/[email protected].8([email protected].2):
resolution: {integrity: sha512-wH9NVg6HiwF5y9x0TxiMEeBF+ITPGDXy5/i6OUheSrKpPgb0lF1Mwzl/f2fLPXBEpl+ZXOQ8LlLW32b7K9lrNg==, tarball: https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-7.0.8.tgz}
peerDependencies:
expo-modules-autolinking: '>=0.8.1'
dependencies:
'@expo/config': 9.0.2
'@expo/config-plugins': 8.0.7
'@expo/config': 9.0.3
'@expo/config-plugins': 8.0.8
'@expo/config-types': 51.0.2
'@expo/image-utils': 0.5.1
'@expo/json-file': 8.3.3
'@react-native/normalize-colors': 0.74.85
debug: 4.3.5
expo-modules-autolinking: 1.11.1
debug: 4.3.6
expo-modules-autolinking: 1.11.2
fs-extra: 9.1.0
resolve-from: 5.0.0
semver: 7.6.2
semver: 7.6.3
xml2js: 0.6.0
transitivePeerDependencies:
- encoding
@@ -1980,11 +1973,11 @@ packages:
resolution: {integrity: sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==, tarball: https://registry.npmjs.org/@expo/rudder-sdk-node/-/rudder-sdk-node-1.1.1.tgz}
engines: {node: '>=12'}
dependencies:
'@expo/bunyan': 4.0.0
'@expo/bunyan': 4.0.1
'@segment/loosely-validate-event': 2.0.0
fetch-retry: 4.1.1
md5: 2.3.0
node-fetch: 2.6.7
node-fetch: 2.7.0
remove-trailing-slash: 0.1.1
uuid: 8.3.2
transitivePeerDependencies:
@@ -1994,12 +1987,12 @@ packages:
/@expo/[email protected]:
resolution: {integrity: sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==, tarball: https://registry.npmjs.org/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz}
/@expo/[email protected].3([email protected]):
resolution: {integrity: sha512-5mzMLGLfh3vAYrzO00ujpclk/N8j4xIBeFNyNURYyqa+q/gSUqRuJdHC0i/w8At1cITFGJGiId0eXlu7/S4jRw==, tarball: https://registry.npmjs.org/@expo/server/-/server-0.4.3.tgz}
/@expo/[email protected].4([email protected]):
resolution: {integrity: sha512-q9ADBzMN5rZ/fgQ2mz5YIJuZ8gelQlhG2CQqToD+UvBLZvbaHCNxTTSs2KI1LzJvAaW5CWgWMatGvGF6iUQ0LA==, tarball: https://registry.npmjs.org/@expo/server/-/server-0.4.4.tgz}
dependencies:
'@remix-run/node': 2.10.2([email protected])
'@remix-run/node': 2.11.2([email protected])
abort-controller: 3.0.0
debug: 4.3.5
debug: 4.3.6
source-map-support: 0.5.21
transitivePeerDependencies:
- supports-color
@@ -2082,7 +2075,7 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@jest/types': 29.6.3
'@types/node': 20.14.9
'@types/node': 22.3.0
chalk: 4.1.2
jest-message-util: 29.7.0
jest-util: 29.7.0
@@ -2103,14 +2096,14 @@ packages:
'@jest/test-result': 29.7.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
'@types/node': 20.14.9
'@types/node': 22.3.0
ansi-escapes: 4.3.2
chalk: 4.1.2
ci-info: 3.9.0
exit: 0.1.2
graceful-fs: 4.2.11
jest-changed-files: 29.7.0
jest-config: 29.7.0(@types/node@20.14.9)
jest-config: 29.7.0(@types/node@22.3.0)
jest-haste-map: 29.7.0
jest-message-util: 29.7.0
jest-regex-util: 29.6.3
@@ -2144,7 +2137,7 @@ packages:
dependencies:
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
'@types/node': 20.14.9
'@types/node': 22.3.0
jest-mock: 29.7.0
/@jest/[email protected]:
@@ -2170,7 +2163,7 @@ packages:
dependencies:
'@jest/types': 29.6.3
'@sinonjs/fake-timers': 10.3.0
'@types/node': 20.14.9
'@types/node': 22.3.0
jest-message-util: 29.7.0
jest-mock: 29.7.0
jest-util: 29.7.0
@@ -2202,7 +2195,7 @@ packages:
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
'@jridgewell/trace-mapping': 0.3.25
'@types/node': 20.14.9
'@types/node': 22.3.0
chalk: 4.1.2
collect-v8-coverage: 1.0.2
exit: 0.1.2
@@ -2263,7 +2256,7 @@ packages:
resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==, tarball: https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
'@jest/types': 29.6.3
'@jridgewell/trace-mapping': 0.3.25
babel-plugin-istanbul: 6.1.1
@@ -2296,7 +2289,7 @@ packages:
dependencies:
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
'@types/node': 20.14.9
'@types/node': 22.3.0
'@types/yargs': 15.0.19
chalk: 4.1.2
@@ -2307,8 +2300,8 @@ packages:
'@jest/schemas': 29.6.3
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
'@types/node': 20.14.9
'@types/yargs': 17.0.32
'@types/node': 22.3.0
'@types/yargs': 17.0.33
chalk: 4.1.2
/@jridgewell/[email protected]:
@@ -2316,7 +2309,7 @@ packages:
engines: {node: '>=6.0.0'}
dependencies:
'@jridgewell/set-array': 1.2.1
'@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/sourcemap-codec': 1.5.0
'@jridgewell/trace-mapping': 0.3.25
/@jridgewell/[email protected]:
@@ -2333,14 +2326,14 @@ packages:
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
/@jridgewell/sourcemap-codec@1.4.15:
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, tarball: https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz}
/@jridgewell/sourcemap-codec@1.5.0:
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==, tarball: https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz}
/@jridgewell/[email protected]:
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, tarball: https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz}
dependencies:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/sourcemap-codec': 1.5.0
/@nodelib/[email protected]:
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, tarball: https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz}
@@ -2364,7 +2357,7 @@ packages:
resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==, tarball: https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
dependencies:
semver: 7.6.2
semver: 7.6.3
dev: false
/@pkgjs/[email protected]:
@@ -2379,7 +2372,7 @@ packages:
peerDependencies:
react: ^16.8 || ^17.0 || ^18.0
dependencies:
'@babel/runtime': 7.24.7
'@babel/runtime': 7.25.0
react: 18.2.0
dev: false
@@ -2388,18 +2381,18 @@ packages:
peerDependencies:
react: ^16.8 || ^17.0 || ^18.0
dependencies:
'@babel/runtime': 7.24.7
'@babel/runtime': 7.25.0
'@radix-ui/react-compose-refs': 1.0.0([email protected])
react: 18.2.0
dev: false
/@react-native-async-storage/[email protected]3.1([email protected]):
resolution: {integrity: sha512-Qd2kQ3yi6Y3+AcUlrHxSLlnBvpdCEMVGFlVBneVOjaFaPU61g1huc38g339ysXspwY1QZA2aNhrk/KlHGO+ewA==, tarball: https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.23.1.tgz}
/@react-native-async-storage/[email protected]4.0([email protected]):
resolution: {integrity: sha512-W4/vbwUOYOjco0x3toB8QCr7EjIP6nE9G7o8PMguvvjYT5Awg09lyV4enACRx4s++PPulBiBSjL0KTFx2u0Z/g==, tarball: https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-1.24.0.tgz}
peerDependencies:
react-native: ^0.0.0-0 || >=0.60 <1.0
dependencies:
merge-options: 3.0.4
react-native: 0.74.3(@babel/[email protected]4.7)(@babel/[email protected]4.7)(@types/[email protected])([email protected])
react-native: 0.74.3(@babel/[email protected]5.2)(@babel/[email protected]5.3)(@types/[email protected])([email protected])
dev: false
/@react-native-community/[email protected]:
@@ -2447,10 +2440,10 @@ packages:
hermes-profile-transformer: 0.0.6
node-stream-zip: 1.15.0
ora: 5.4.1
semver: 7.6.2
semver: 7.6.3
strip-ansi: 5.2.0
wcwidth: 1.0.1
yaml: 2.4.5
yaml: 2.5.0
transitivePeerDependencies:
- encoding
@@ -2471,7 +2464,7 @@ packages:
chalk: 4.1.2
execa: 5.1.1
fast-glob: 3.3.2
fast-xml-parser: 4.4.0
fast-xml-parser: 4.4.1
logkitty: 0.7.1
transitivePeerDependencies:
- encoding
@@ -2483,7 +2476,7 @@ packages:
chalk: 4.1.2
execa: 5.1.1
fast-glob: 3.3.2
fast-xml-parser: 4.4.0
fast-xml-parser: 4.4.1
ora: 5.4.1
transitivePeerDependencies:
- encoding
@@ -2524,7 +2517,7 @@ packages:
node-fetch: 2.7.0
open: 6.4.0
ora: 5.4.1
semver: 7.6.2
semver: 7.6.3
shell-quote: 1.8.1
sudo-prompt: 9.2.1
transitivePeerDependencies:
@@ -2556,7 +2549,7 @@ packages:
fs-extra: 8.1.0
graceful-fs: 4.2.11
prompts: 2.4.2
semver: 7.6.2
semver: 7.6.3
transitivePeerDependencies:
- bufferutil
- encoding
@@ -2571,98 +2564,182 @@ packages:
resolution: {integrity: sha512-59YmIQxfGDw4aP9S/nAM+sjSFdW8fUP6fsqczCcXgL2YVEjyER9XCaUT0J1K+PdHep8pi05KUgIKUds8P3jbmA==, tarball: https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.74.85.tgz}
engines: {node: '>=18'}
/@react-native/[email protected](@babel/[email protected]):
/@react-native/[email protected]:
resolution: {integrity: sha512-1XmRhqQchN+pXPKEKYdpJlwESxVomJOxtEnIkbo7GAlaN2sym84fHEGDXAjLilih5GVPpcpSmFzTy8jx3LtaFg==, tarball: https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.74.87.tgz}
engines: {node: '>=18'}
dev: false
/@react-native/[email protected](@babel/[email protected]):
resolution: {integrity: sha512-48TSDclRB5OMXiImiJkLxyCfRyLsqkCgI8buugCZzvXcYslfV7gCvcyFyQldtcOmerV+CK4RAj7QS4hmB5Mr8Q==, tarball: https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.74.85.tgz}
engines: {node: '>=18'}
dependencies:
'@react-native/codegen': 0.74.85(@babel/[email protected]4.7)
'@react-native/codegen': 0.74.85(@babel/[email protected]5.3)
transitivePeerDependencies:
- '@babel/preset-env'
- supports-color
/@react-native/babel-p[email protected](@babel/[email protected])(@babel/[email protected]4.7):
/@react-native/babel-p[email protected](@babel/[email protected]5.3):
resolution: {integrity: sha512-+vJYpMnENFrwtgvDfUj+CtVJRJuUnzAUYT0/Pb68Sq9RfcZ5xdcCuUgyf7JO+akW2VTBoJY427wkcxU30qrWWw==, tarball: https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.74.87.tgz}
engines: {node: '>=18'}
dependencies:
'@react-native/codegen': 0.74.87(@babel/[email protected])
transitivePeerDependencies:
- '@babel/preset-env'
- supports-color
/@react-native/[email protected](@babel/[email protected])(@babel/[email protected]):
resolution: {integrity: sha512-yMHUlN8INbK5BBwiBuQMftdWkpm1IgCsoJTKcGD2OpSgZhwwm8RUSvGhdRMzB2w7bsqqBmaEMleGtW6aCR7B9w==, tarball: https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.74.85.tgz}
engines: {node: '>=18'}
peerDependencies:
'@babel/core': '*'
dependencies:
'@babel/core': 7.24.7
'@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/[email protected]4.7)
'@babel/plugin-proposal-class-properties': 7.18.6(@babel/[email protected]4.7)
'@babel/plugin-proposal-export-default-from': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/[email protected]4.7)
'@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/[email protected]4.7)
'@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/[email protected]4.7)
'@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/[email protected]4.7)
'@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/[email protected]4.7)
'@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/[email protected]4.7)
'@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-export-default-from': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-syntax-flow': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-transform-arrow-functions': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-async-to-generator': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-block-scoping': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-classes': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-computed-properties': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-destructuring': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-flow-strip-types': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-function-name': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-literals': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-parameters': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-private-methods': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-react-display-name': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-react-jsx': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-runtime': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-spread': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-sticky-regex': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-typescript': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-unicode-regex': 7.24.7(@babel/[email protected]4.7)
'@babel/template': 7.24.7
'@react-native/babel-plugin-codegen': 0.74.85(@babel/[email protected]4.7)
babel-plugin-transform-flow-enums: 0.0.2(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/[email protected]5.2)
'@babel/plugin-proposal-class-properties': 7.18.6(@babel/[email protected]5.2)
'@babel/plugin-proposal-export-default-from': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/[email protected]5.2)
'@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/[email protected]5.2)
'@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/[email protected]5.2)
'@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/[email protected]5.2)
'@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/[email protected]5.2)
'@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/[email protected]5.2)
'@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-syntax-export-default-from': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-syntax-flow': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-transform-arrow-functions': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-async-to-generator': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-block-scoping': 7.25.0(@babel/[email protected]5.2)
'@babel/plugin-transform-classes': 7.25.0(@babel/[email protected]5.2)
'@babel/plugin-transform-computed-properties': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-destructuring': 7.24.8(@babel/[email protected]5.2)
'@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/[email protected]5.2)
'@babel/plugin-transform-function-name': 7.25.1(@babel/[email protected]5.2)
'@babel/plugin-transform-literals': 7.25.2(@babel/[email protected]5.2)
'@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/[email protected]5.2)
'@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-parameters': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-private-methods': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-react-display-name': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-react-jsx': 7.25.2(@babel/[email protected]5.2)
'@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-runtime': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-spread': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-sticky-regex': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-typescript': 7.25.2(@babel/[email protected]5.2)
'@babel/plugin-transform-unicode-regex': 7.24.7(@babel/[email protected]5.2)
'@babel/template': 7.25.0
'@react-native/babel-plugin-codegen': 0.74.85(@babel/[email protected]5.3)
babel-plugin-transform-flow-enums: 0.0.2(@babel/[email protected]5.2)
react-refresh: 0.14.2
transitivePeerDependencies:
- '@babel/preset-env'
- supports-color
/@react-native/[email protected](@babel/[email protected]4.7):
/@react-native/[email protected](@babel/[email protected])(@babel/[email protected]5.3):
resolution: {integrity: sha512-hyKpfqzN2nxZmYYJ0tQIHG99FQO0OWXp/gVggAfEUgiT+yNKas1C60LuofUsK7cd+2o9jrpqgqW4WzEDZoBlTg==, tarball: https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.74.87.tgz}
engines: {node: '>=18'}
peerDependencies:
'@babel/core': '*'
dependencies:
'@babel/core': 7.25.2
'@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/[email protected])
'@babel/plugin-proposal-class-properties': 7.18.6(@babel/[email protected])
'@babel/plugin-proposal-export-default-from': 7.24.7(@babel/[email protected])
'@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/[email protected])
'@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/[email protected])
'@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/[email protected])
'@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/[email protected])
'@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/[email protected])
'@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/[email protected])
'@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/[email protected])
'@babel/plugin-syntax-export-default-from': 7.24.7(@babel/[email protected])
'@babel/plugin-syntax-flow': 7.24.7(@babel/[email protected])
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/[email protected])
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/[email protected])
'@babel/plugin-transform-arrow-functions': 7.24.7(@babel/[email protected])
'@babel/plugin-transform-async-to-generator': 7.24.7(@babel/[email protected])
'@babel/plugin-transform-block-scoping': 7.25.0(@babel/[email protected])
'@babel/plugin-transform-classes': 7.25.0(@babel/[email protected])
'@babel/plugin-transform-computed-properties': 7.24.7(@babel/[email protected])
'@babel/plugin-transform-destructuring': 7.24.8(@babel/[email protected])
'@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/[email protected])
'@babel/plugin-transform-function-name': 7.25.1(@babel/[email protected])
'@babel/plugin-transform-literals': 7.25.2(@babel/[email protected])
'@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/[email protected])
'@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/[email protected])
'@babel/plugin-transform-parameters': 7.24.7(@babel/[email protected])
'@babel/plugin-transform-private-methods': 7.24.7(@babel/[email protected])
'@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/[email protected])
'@babel/plugin-transform-react-display-name': 7.24.7(@babel/[email protected])
'@babel/plugin-transform-react-jsx': 7.25.2(@babel/[email protected])
'@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/[email protected])
'@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/[email protected])
'@babel/plugin-transform-runtime': 7.24.7(@babel/[email protected])
'@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/[email protected])
'@babel/plugin-transform-spread': 7.24.7(@babel/[email protected])
'@babel/plugin-transform-sticky-regex': 7.24.7(@babel/[email protected])
'@babel/plugin-transform-typescript': 7.25.2(@babel/[email protected])
'@babel/plugin-transform-unicode-regex': 7.24.7(@babel/[email protected])
'@babel/template': 7.25.0
'@react-native/babel-plugin-codegen': 0.74.87(@babel/[email protected])
babel-plugin-transform-flow-enums: 0.0.2(@babel/[email protected])
react-refresh: 0.14.2
transitivePeerDependencies:
- '@babel/preset-env'
- supports-color
/@react-native/[email protected](@babel/[email protected]):
resolution: {integrity: sha512-N7QwoS4Hq/uQmoH83Ewedy6D0M7xbQsOU3OMcQf0eY3ltQ7S2hd9/R4UTalQWRn1OUJfXR6OG12QJ4FStKgV6Q==, tarball: https://registry.npmjs.org/@react-native/codegen/-/codegen-0.74.85.tgz}
engines: {node: '>=18'}
peerDependencies:
'@babel/preset-env': ^7.1.6
dependencies:
'@babel/parser': 7.24.7
'@babel/preset-env': 7.24.7(@babel/[email protected]4.7)
'@babel/parser': 7.25.3
'@babel/preset-env': 7.25.3(@babel/[email protected]5.2)
glob: 7.2.3
hermes-parser: 0.19.1
invariant: 2.2.4
jscodeshift: 0.14.0(@babel/[email protected]4.7)
jscodeshift: 0.14.0(@babel/[email protected]5.3)
mkdirp: 0.5.6
nullthrows: 1.1.1
transitivePeerDependencies:
- supports-color
/@react-native/co[email protected](@babel/[email protected])(@babel/[email protected]4.7):
/@react-native/co[email protected](@babel/[email protected]5.3):
resolution: {integrity: sha512-GMSYDiD+86zLKgMMgz9z0k6FxmRn+z6cimYZKkucW4soGbxWsbjUAZoZ56sJwt2FJ3XVRgXCrnOCgXoH/Bkhcg==, tarball: https://registry.npmjs.org/@react-native/codegen/-/codegen-0.74.87.tgz}
engines: {node: '>=18'}
peerDependencies:
'@babel/preset-env': ^7.1.6
dependencies:
'@babel/parser': 7.25.3
'@babel/preset-env': 7.25.3(@babel/[email protected])
glob: 7.2.3
hermes-parser: 0.19.1
invariant: 2.2.4
jscodeshift: 0.14.0(@babel/[email protected])
mkdirp: 0.5.6
nullthrows: 1.1.1
transitivePeerDependencies:
- supports-color
/@react-native/[email protected](@babel/[email protected])(@babel/[email protected]):
resolution: {integrity: sha512-ODzND33eA2owAY3g9jgCdqB+BjAh8qJ7dvmSotXgrgDYr3MJMpd8gvHTIPe2fg4Kab+wk8uipRhrE0i0RYMwtQ==, tarball: https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.74.85.tgz}
engines: {node: '>=18'}
dependencies:
'@react-native-community/cli-server-api': 13.6.9
'@react-native-community/cli-tools': 13.6.9
'@react-native/dev-middleware': 0.74.85
'@react-native/metro-babel-transformer': 0.74.85(@babel/[email protected]4.7)(@babel/[email protected]4.7)
'@react-native/metro-babel-transformer': 0.74.85(@babel/[email protected]5.2)(@babel/[email protected]5.3)
chalk: 4.1.2
execa: 5.1.1
metro: 0.80.9
metro-config: 0.80.9
metro-core: 0.80.9
metro: 0.80.10
metro-config: 0.80.10
metro-core: 0.80.10
node-fetch: 2.7.0
querystring: 0.2.1
readline: 1.3.0
@@ -2709,14 +2786,14 @@ packages:
resolution: {integrity: sha512-gp4Rg9le3lVZeW7Cie6qLfekvRKZuhJ3LKgi1SFB4N154z1wIclypAJXVXgWBsy8JKJfTwRI+sffC4qZDlvzrg==, tarball: https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.74.85.tgz}
engines: {node: '>=18'}
/@react-native/[email protected](@babel/[email protected]4.7)(@babel/[email protected]4.7):
/@react-native/[email protected](@babel/[email protected]5.2)(@babel/[email protected]5.3):
resolution: {integrity: sha512-JIrXqEwhTvWPtGArgMptIPGstMdXQIkwSjKVYt+7VC4a9Pw1GurIWanIJheEW6ZuCVvTc0VZkwglFz9JVjzDjA==, tarball: https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.74.85.tgz}
engines: {node: '>=18'}
peerDependencies:
'@babel/core': '*'
dependencies:
'@babel/core': 7.24.7
'@react-native/babel-preset': 0.74.85(@babel/[email protected]4.7)(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@react-native/babel-preset': 0.74.85(@babel/[email protected]5.2)(@babel/[email protected]5.3)
hermes-parser: 0.19.1
nullthrows: 1.1.1
transitivePeerDependencies:
@@ -2730,6 +2807,10 @@ packages:
/@react-native/[email protected]:
resolution: {integrity: sha512-pcE4i0X7y3hsAE0SpIl7t6dUc0B0NZLd1yv7ssm4FrLhWG+CGyIq4eFDXpmPU1XHmL5PPySxTAjEMiwv6tAmOw==, tarball: https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.74.85.tgz}
/@react-native/[email protected]:
resolution: {integrity: sha512-Xh7Nyk/MPefkb0Itl5Z+3oOobeG9lfLb7ZOY2DKpFnoCE1TzBmib9vMNdFaLdSxLIP+Ec6icgKtdzYg8QUPYzA==, tarball: https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.74.87.tgz}
dev: false
/@react-native/[email protected](@types/[email protected])([email protected])([email protected]):
resolution: {integrity: sha512-jx2Zw0qlZteoQ+0KxRc7s4drsljLBEP534FaNZ950e9+CN9nVkLsV6rigcTjDR8wjKMSBWhKf0C0C3egYz7Ehg==, tarball: https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.74.85.tgz}
engines: {node: '>=18'}
@@ -2745,9 +2826,9 @@ packages:
invariant: 2.2.4
nullthrows: 1.1.1
react: 18.2.0
react-native: 0.74.3(@babel/[email protected]4.7)(@babel/[email protected]4.7)(@types/[email protected])([email protected])
react-native: 0.74.3(@babel/[email protected]5.2)(@babel/[email protected]5.3)(@types/[email protected])([email protected])
/@react-navigation/[email protected](@react-navigation/[email protected]7)([email protected])([email protected])([email protected])([email protected]):
/@react-navigation/[email protected](@react-navigation/[email protected]8)([email protected])([email protected])([email protected])([email protected]):
resolution: {integrity: sha512-ow6Z06iS4VqBO8d7FP+HsGjJLWt2xTWIvuWjpoCvsM/uQXzCRDIjBv9HaKcXbF0yTW7IMir0oDAbU5PFzEDdgA==, tarball: https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.20.tgz}
peerDependencies:
'@react-navigation/native': ^6.0.0
@@ -2756,18 +2837,18 @@ packages:
react-native-safe-area-context: '>= 3.0.0'
react-native-screens: '>= 3.0.0'
dependencies:
'@react-navigation/elements': 1.3.30(@react-navigation/[email protected]7)([email protected])([email protected])([email protected])
'@react-navigation/native': 6.1.17([email protected])([email protected])
'@react-navigation/elements': 1.3.31(@react-navigation/[email protected]8)([email protected])([email protected])([email protected])
'@react-navigation/native': 6.1.18([email protected])([email protected])
color: 4.2.3
react: 18.2.0
react-native: 0.74.3(@babel/[email protected]4.7)(@babel/[email protected]4.7)(@types/[email protected])([email protected])
react-native: 0.74.3(@babel/[email protected]5.2)(@babel/[email protected]5.3)(@types/[email protected])([email protected])
react-native-safe-area-context: 4.10.1([email protected])([email protected])
react-native-screens: 3.31.1([email protected])([email protected])
warn-once: 0.1.1
dev: false
/@react-navigation/[email protected]6([email protected]):
resolution: {integrity: sha512-UDTJBsHxnzgFETR3ZxhctP+RWr4SkyeZpbhpkQoIGOuwSCkt1SE0qjU48/u6r6w6XlX8OqVudn1Ab0QFXTHxuQ==, tarball: https://registry.npmjs.org/@react-navigation/core/-/core-6.4.16.tgz}
/@react-navigation/[email protected]7([email protected]):
resolution: {integrity: sha512-Nd76EpomzChWAosGqWOYE3ItayhDzIEzzZsT7PfGcRFDgW5miHV2t4MZcq9YIK4tzxZjVVpYbIynOOQQd1e0Cg==, tarball: https://registry.npmjs.org/@react-navigation/core/-/core-6.4.17.tgz}
peerDependencies:
react: '*'
dependencies:
@@ -2777,24 +2858,24 @@ packages:
query-string: 7.1.3
react: 18.2.0
react-is: 16.13.1
use-latest-callback: 0.1.9([email protected])
use-latest-callback: 0.2.1([email protected])
dev: false
/@react-navigation/[email protected]0(@react-navigation/[email protected]7)([email protected])([email protected])([email protected]):
resolution: {integrity: sha512-plhc8UvCZs0UkV+sI+3bisIyn78wz9O/BiWZXpounu72k/R/Sj5PuZYFJ1fi6psvriUveMCGh4LeZckAZu2qiQ==, tarball: https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.30.tgz}
/@react-navigation/[email protected]1(@react-navigation/[email protected]8)([email protected])([email protected])([email protected]):
resolution: {integrity: sha512-bUzP4Awlljx5RKEExw8WYtif8EuQni2glDaieYROKTnaxsu9kEIA515sXQgUDZU4Ob12VoL7+z70uO3qrlfXcQ==, tarball: https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.31.tgz}
peerDependencies:
'@react-navigation/native': ^6.0.0
react: '*'
react-native: '*'
react-native-safe-area-context: '>= 3.0.0'
dependencies:
'@react-navigation/native': 6.1.17([email protected])([email protected])
'@react-navigation/native': 6.1.18([email protected])([email protected])
react: 18.2.0
react-native: 0.74.3(@babel/[email protected]4.7)(@babel/[email protected]4.7)(@types/[email protected])([email protected])
react-native: 0.74.3(@babel/[email protected]5.2)(@babel/[email protected]5.3)(@types/[email protected])([email protected])
react-native-safe-area-context: 4.10.1([email protected])([email protected])
dev: false
/@react-navigation/[email protected](@react-navigation/[email protected]7)([email protected])([email protected])([email protected])([email protected]):
/@react-navigation/[email protected](@react-navigation/[email protected]8)([email protected])([email protected])([email protected])([email protected]):
resolution: {integrity: sha512-++dueQ+FDj2XkZ902DVrK79ub1vp19nSdAZWxKRgd6+Bc0Niiesua6rMCqymYOVaYh+dagwkA9r00bpt/U5WLw==, tarball: https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.26.tgz}
peerDependencies:
'@react-navigation/native': ^6.0.0
@@ -2803,27 +2884,27 @@ packages:
react-native-safe-area-context: '>= 3.0.0'
react-native-screens: '>= 3.0.0'
dependencies:
'@react-navigation/elements': 1.3.30(@react-navigation/[email protected]7)([email protected])([email protected])([email protected])
'@react-navigation/native': 6.1.17([email protected])([email protected])
'@react-navigation/elements': 1.3.31(@react-navigation/[email protected]8)([email protected])([email protected])([email protected])
'@react-navigation/native': 6.1.18([email protected])([email protected])
react: 18.2.0
react-native: 0.74.3(@babel/[email protected]4.7)(@babel/[email protected]4.7)(@types/[email protected])([email protected])
react-native: 0.74.3(@babel/[email protected]5.2)(@babel/[email protected]5.3)(@types/[email protected])([email protected])
react-native-safe-area-context: 4.10.1([email protected])([email protected])
react-native-screens: 3.31.1([email protected])([email protected])
warn-once: 0.1.1
dev: false
/@react-navigation/[email protected]7([email protected])([email protected]):
resolution: {integrity: sha512-mer3OvfwWOHoUSMJyLa4vnBH3zpFmCwuzrBPlw7feXklurr/ZDiLjLxUScOot6jLRMz/67GyilEYMmP99LL0RQ==, tarball: https://registry.npmjs.org/@react-navigation/native/-/native-6.1.17.tgz}
/@react-navigation/[email protected]8([email protected])([email protected]):
resolution: {integrity: sha512-mIT9MiL/vMm4eirLcmw2h6h/Nm5FICtnYSdohq4vTLA2FF/6PNhByM7s8ffqoVfE5L0uAa6Xda1B7oddolUiGg==, tarball: https://registry.npmjs.org/@react-navigation/native/-/native-6.1.18.tgz}
peerDependencies:
react: '*'
react-native: '*'
dependencies:
'@react-navigation/core': 6.4.16([email protected])
'@react-navigation/core': 6.4.17([email protected])
escape-string-regexp: 4.0.0
fast-deep-equal: 3.1.3
nanoid: 3.3.7
react: 18.2.0
react-native: 0.74.3(@babel/[email protected]4.7)(@babel/[email protected]4.7)(@types/[email protected])([email protected])
react-native: 0.74.3(@babel/[email protected]5.2)(@babel/[email protected]5.3)(@types/[email protected])([email protected])
dev: false
/@react-navigation/[email protected]:
@@ -2832,8 +2913,8 @@ packages:
nanoid: 3.3.7
dev: false
/@reduxjs/[email protected].6([email protected])([email protected]):
resolution: {integrity: sha512-kH0r495c5z1t0g796eDQAkYbEQ3a1OLYN9o8jQQVZyKyw367pfRGS+qZLkHYvFHiUUdafpoSlQ2QYObIApjPWA==, tarball: https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.2.6.tgz}
/@reduxjs/[email protected].7([email protected])([email protected]):
resolution: {integrity: sha512-faI3cZbSdFb8yv9dhDTmGwclW0vk0z5o1cia+kf7gCbaCwHI5e+7tP57mJUv22pNcNbeA62GSrPpfrUfdXcQ6g==, tarball: https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.2.7.tgz}
peerDependencies:
react: ^16.9.0 || ^17.0.0 || ^18
react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0
@@ -2851,8 +2932,8 @@ packages:
reselect: 5.1.1
dev: false
/@remix-run/[email protected]0.2([email protected]):
resolution: {integrity: sha512-Ni4yMQCf6avK2fz91/luuS3wnHzqtbxsdc19es1gAWEnUKfeCwqq5v1R0kzNwrXyh5NYCRhxaegzVH3tGsdYFg==, tarball: https://registry.npmjs.org/@remix-run/node/-/node-2.10.2.tgz}
/@remix-run/[email protected]1.2([email protected]):
resolution: {integrity: sha512-gRNFM61EOYWNmYgf+pvBt6MrirWlkDz1G6RQsJNowtRqbYoy05AdDe5HiHGF5w8ZMAZVeXnZiwbL0Nt7ykYBCA==, tarball: https://registry.npmjs.org/@remix-run/node/-/node-2.11.2.tgz}
engines: {node: '>=18.0.0'}
peerDependencies:
typescript: ^5.1.0
@@ -2860,23 +2941,23 @@ packages:
typescript:
optional: true
dependencies:
'@remix-run/server-runtime': 2.10.2([email protected])
'@remix-run/server-runtime': 2.11.2([email protected])
'@remix-run/web-fetch': 4.4.2
'@web3-storage/multipart-parser': 1.0.0
cookie-signature: 1.2.1
source-map-support: 0.5.21
stream-slice: 0.1.2
typescript: 5.3.3
undici: 6.19.2
undici: 6.19.7
dev: false
/@remix-run/[email protected]7.1:
resolution: {integrity: sha512-mCOMec4BKd6BRGBZeSnGiIgwsbLGp3yhVqAD8H+PxiRNEHgDpZb8J1TnrSDlg97t0ySKMQJTHCWBCmBpSmkF6Q==, tarball: https://registry.npmjs.org/@remix-run/router/-/router-1.17.1.tgz}
/@remix-run/[email protected]9.1:
resolution: {integrity: sha512-S45oynt/WH19bHbIXjtli6QmwNYvaz+vtnubvNpNDvUOoA/OWh6j1OikIP3G+v5GHdxyC6EXoChG3HgYGEUfcg==, tarball: https://registry.npmjs.org/@remix-run/router/-/router-1.19.1.tgz}
engines: {node: '>=14.0.0'}
dev: false
/@remix-run/[email protected]0.2([email protected]):
resolution: {integrity: sha512-c6CzKw4WBP4FkPnz63ua7g73/P1v34Uho2C44SZZf8IOVCGzEM9liLq6slDivn0m/UbyQnXThdXmsVjFcobmZg==, tarball: https://registry.npmjs.org/@remix-run/server-runtime/-/server-runtime-2.10.2.tgz}
/@remix-run/[email protected]1.2([email protected]):
resolution: {integrity: sha512-abG6ENj0X3eHqDxqO2thWM2NSEiPnqyt58z1BbiQCv+t8g0Zuqd5QHbB4wzdNvfS0vKhg+jJiigcJneAc4sZzw==, tarball: https://registry.npmjs.org/@remix-run/server-runtime/-/server-runtime-2.11.2.tgz}
engines: {node: '>=18.0.0'}
peerDependencies:
typescript: ^5.1.0
@@ -2884,13 +2965,13 @@ packages:
typescript:
optional: true
dependencies:
'@remix-run/router': 1.17.1
'@remix-run/router': 1.19.1
'@types/cookie': 0.6.0
'@web3-storage/multipart-parser': 1.0.0
cookie: 0.6.0
set-cookie-parser: 2.6.0
set-cookie-parser: 2.7.0
source-map: 0.7.4
turbo-stream: 2.2.0
turbo-stream: 2.3.0
typescript: 5.3.3
dev: false
@@ -2937,7 +3018,7 @@ packages:
resolution: {integrity: sha512-lzD84av1ZQhYUS+jsGqJiCMaJO2dn9u+RTT9n9q6D3SaKVwWqv+7AoRKqBu19bkwyE+iFRl1ymr40QS90jVFYg==, tarball: https://registry.npmjs.org/@rnx-kit/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz}
engines: {node: '>=14.15'}
dependencies:
'@types/node': 18.19.39
'@types/node': 18.19.44
escape-string-regexp: 4.0.0
is-wsl: 2.2.0
lighthouse-logger: 1.4.2
@@ -2977,8 +3058,162 @@ packages:
dependencies:
'@sinonjs/commons': 3.0.1
/@testing-library/[email protected]([email protected])([email protected])([email protected])([email protected]):
resolution: {integrity: sha512-PApr3f6DmSJF/EIiWYZfcBzuy6w7fK8TW4a6KfQHTeAcfZ6lADtRO7R0QM5WI+b7tJ33JvIPgzCg1MiuRz4v0g==, tarball: https://registry.npmjs.org/@testing-library/react-native/-/react-native-12.5.1.tgz}
/@svgr/[email protected](@babel/[email protected]):
resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==, tarball: https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.25.2
dev: true
/@svgr/[email protected](@babel/[email protected]):
resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==, tarball: https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.25.2
dev: true
/@svgr/[email protected](@babel/[email protected]):
resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==, tarball: https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.25.2
dev: true
/@svgr/[email protected](@babel/[email protected]):
resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==, tarball: https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.25.2
dev: true
/@svgr/[email protected](@babel/[email protected]):
resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==, tarball: https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.25.2
dev: true
/@svgr/[email protected](@babel/[email protected]):
resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==, tarball: https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.25.2
dev: true
/@svgr/[email protected](@babel/[email protected]):
resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==, tarball: https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.25.2
dev: true
/@svgr/[email protected](@babel/[email protected]):
resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==, tarball: https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz}
engines: {node: '>=12'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.25.2
dev: true
/@svgr/[email protected](@babel/[email protected]):
resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==, tarball: https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz}
engines: {node: '>=14'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.25.2
'@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/[email protected])
'@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/[email protected])
'@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/[email protected])
'@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/[email protected])
'@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/[email protected])
'@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/[email protected])
'@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/[email protected])
'@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/[email protected])
dev: true
/@svgr/[email protected]([email protected]):
resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==, tarball: https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz}
engines: {node: '>=14'}
dependencies:
'@babel/core': 7.25.2
'@svgr/babel-preset': 8.1.0(@babel/[email protected])
camelcase: 6.3.0
cosmiconfig: 8.3.6([email protected])
snake-case: 3.0.4
transitivePeerDependencies:
- supports-color
- typescript
dev: true
/@svgr/[email protected]:
resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==, tarball: https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz}
engines: {node: '>=14'}
dependencies:
'@babel/types': 7.25.2
entities: 4.5.0
dev: true
/@svgr/[email protected](@svgr/[email protected]):
resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==, tarball: https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz}
engines: {node: '>=14'}
peerDependencies:
'@svgr/core': '*'
dependencies:
'@babel/core': 7.25.2
'@svgr/babel-preset': 8.1.0(@babel/[email protected])
'@svgr/core': 8.1.0([email protected])
'@svgr/hast-util-to-babel-ast': 8.0.0
svg-parser: 2.0.4
transitivePeerDependencies:
- supports-color
dev: true
/@svgr/[email protected](@svgr/[email protected])([email protected]):
resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==, tarball: https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz}
engines: {node: '>=14'}
peerDependencies:
'@svgr/core': '*'
dependencies:
'@svgr/core': 8.1.0([email protected])
cosmiconfig: 8.3.6([email protected])
deepmerge: 4.3.1
svgo: 3.3.2
transitivePeerDependencies:
- typescript
dev: true
/@testing-library/[email protected]:
resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==, tarball: https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz}
engines: {node: '>=18'}
dependencies:
'@babel/code-frame': 7.24.7
'@babel/runtime': 7.25.0
'@types/aria-query': 5.0.4
aria-query: 5.3.0
chalk: 4.1.2
dom-accessibility-api: 0.5.16
lz-string: 1.5.0
pretty-format: 27.5.1
dev: true
/@testing-library/[email protected]([email protected])([email protected])([email protected])([email protected]):
resolution: {integrity: sha512-wSaplzjx51OVJI7MU8Mi2kxwfW0dYETn3jqSVHxtIXmEnmlWXk6f69sEaBbzdp6iDzhFB5E6rDWveqf5V/ap2A==, tarball: https://registry.npmjs.org/@testing-library/react-native/-/react-native-12.5.3.tgz}
peerDependencies:
jest: '>=28.0.0'
react: '>=16.8.0'
@@ -2992,21 +3227,39 @@ packages:
jest-matcher-utils: 29.7.0
pretty-format: 29.7.0
react: 18.2.0
react-native: 0.74.3(@babel/[email protected]4.7)(@babel/[email protected]4.7)(@types/[email protected])([email protected])
react-native: 0.74.3(@babel/[email protected]5.2)(@babel/[email protected]5.3)(@types/[email protected])([email protected])
react-test-renderer: 18.2.0([email protected])
redent: 3.0.0
dev: true
/@testing-library/[email protected](@testing-library/[email protected]):
resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==, tarball: https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz}
engines: {node: '>=12', npm: '>=6'}
peerDependencies:
'@testing-library/dom': '>=7.21.4'
dependencies:
'@testing-library/dom': 10.4.0
dev: true
/@tootallnate/[email protected]:
resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==, tarball: https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz}
engines: {node: '>= 10'}
dev: true
/@trysound/[email protected]:
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==, tarball: https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz}
engines: {node: '>=10.13.0'}
dev: true
/@types/[email protected]:
resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==, tarball: https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz}
dev: true
/@types/[email protected]:
resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==, tarball: https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz}
dependencies:
'@babel/parser': 7.24.7
'@babel/types': 7.24.7
'@babel/parser': 7.25.3
'@babel/types': 7.25.2
'@types/babel__generator': 7.6.8
'@types/babel__template': 7.4.4
'@types/babel__traverse': 7.20.6
@@ -3015,20 +3268,20 @@ packages:
/@types/[email protected]:
resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==, tarball: https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz}
dependencies:
'@babel/types': 7.24.7
'@babel/types': 7.25.2
dev: true
/@types/[email protected]:
resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==, tarball: https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz}
dependencies:
'@babel/parser': 7.24.7
'@babel/types': 7.24.7
'@babel/parser': 7.25.3
'@babel/types': 7.25.2
dev: true
/@types/[email protected]:
resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==, tarball: https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz}
dependencies:
'@babel/types': 7.24.7
'@babel/types': 7.25.2
dev: true
/@types/[email protected]:
@@ -3038,7 +3291,7 @@ packages:
/@types/[email protected]:
resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==, tarball: https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz}
dependencies:
'@types/node': 20.14.9
'@types/node': 22.3.0
dev: true
/@types/[email protected]:
@@ -3074,7 +3327,7 @@ packages:
/@types/[email protected]:
resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==, tarball: https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz}
dependencies:
'@types/node': 20.14.9
'@types/node': 22.3.0
'@types/tough-cookie': 4.0.5
parse5: 7.1.2
dev: true
@@ -3086,17 +3339,17 @@ packages:
/@types/[email protected]:
resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==, tarball: https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz}
dependencies:
'@types/node': 20.14.9
'@types/node': 22.3.0
/@types/[email protected].39:
resolution: {integrity: sha512-nPwTRDKUctxw3di5b4TfT3I0sWDiWoPQCZjXhvdkINntwr8lcoVCKsTgnXeRubKIlfnV+eN/HYk6Jb40tbcEAQ==, tarball: https://registry.npmjs.org/@types/node/-/node-18.19.39.tgz}
/@types/[email protected].44:
resolution: {integrity: sha512-ZsbGerYg72WMXUIE9fYxtvfzLEuq6q8mKERdWFnqTmOvudMxnz+CBNRoOwJ2kNpFOncrKjT1hZwxjlFgQ9qvQA==, tarball: https://registry.npmjs.org/@types/node/-/node-18.19.44.tgz}
dependencies:
undici-types: 5.26.5
/@types/node@20.14.9:
resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==, tarball: https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz}
/@types/node@22.3.0:
resolution: {integrity: sha512-nrWpWVaDZuaVc5X84xJ0vNrLvomM205oQyLsRt7OHNZbSHslcWsvgFR7O7hire2ZonjLrWBbedmotmIlJDVd6g==, tarball: https://registry.npmjs.org/@types/node/-/node-22.3.0.tgz}
dependencies:
undici-types: 5.26.5
undici-types: 6.18.2
/@types/[email protected]:
resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==, tarball: https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz}
@@ -3137,8 +3390,8 @@ packages:
dependencies:
'@types/yargs-parser': 21.0.3
/@types/[email protected]2:
resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==, tarball: https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz}
/@types/[email protected]3:
resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==, tarball: https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz}
dependencies:
'@types/yargs-parser': 21.0.3
@@ -3221,7 +3474,7 @@ packages:
resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==, tarball: https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz}
engines: {node: '>= 6.0.0'}
dependencies:
debug: 4.3.5
debug: 4.3.6
transitivePeerDependencies:
- supports-color
@@ -3233,7 +3486,7 @@ packages:
indent-string: 4.0.0
dev: false
/[email protected]([email protected]6.0):
/[email protected]([email protected]7.1):
resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, tarball: https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz}
peerDependencies:
ajv: ^8.0.0
@@ -3241,25 +3494,25 @@ packages:
ajv:
optional: true
dependencies:
ajv: 8.16.0
ajv: 8.17.1
dev: false
/[email protected]([email protected]6.0):
/[email protected]([email protected]7.1):
resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==, tarball: https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz}
peerDependencies:
ajv: ^8.8.2
dependencies:
ajv: 8.16.0
ajv: 8.17.1
fast-deep-equal: 3.1.3
dev: false
/[email protected]6.0:
resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==, tarball: https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz}
/[email protected]7.1:
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==, tarball: https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz}
dependencies:
fast-deep-equal: 3.1.3
fast-uri: 3.0.1
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
uri-js: 4.4.1
dev: false
/[email protected]:
@@ -3344,7 +3597,12 @@ packages:
/[email protected]:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, tarball: https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz}
dev: false
/[email protected]:
resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==, tarball: https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz}
dependencies:
dequal: 2.0.3
dev: true
/[email protected]:
resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==, tarball: https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz}
@@ -3404,24 +3662,24 @@ packages:
possible-typed-array-names: 1.0.0
dev: false
/[email protected](@babel/[email protected]4.7):
/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==, tarball: https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
/[email protected](@babel/[email protected]4.7):
/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==, tarball: https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
'@babel/core': ^7.8.0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
'@jest/transform': 29.7.0
'@types/babel__core': 7.20.5
babel-plugin-istanbul: 6.1.1
babel-preset-jest: 29.6.3(@babel/[email protected]4.7)
babel-preset-jest: 29.6.3(@babel/[email protected]5.2)
chalk: 4.1.2
graceful-fs: 4.2.11
slash: 3.0.0
@@ -3433,7 +3691,7 @@ packages:
resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==, tarball: https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz}
engines: {node: '>=8'}
dependencies:
'@babel/helper-plugin-utils': 7.24.7
'@babel/helper-plugin-utils': 7.24.8
'@istanbuljs/load-nyc-config': 1.1.0
'@istanbuljs/schema': 0.1.3
istanbul-lib-instrument: 5.2.1
@@ -3446,50 +3704,50 @@ packages:
resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==, tarball: https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@babel/template': 7.24.7
'@babel/types': 7.24.7
'@babel/template': 7.25.0
'@babel/types': 7.25.2
'@types/babel__core': 7.20.5
'@types/babel__traverse': 7.20.6
dev: true
/[email protected](@babel/[email protected]4.7):
/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==, tarball: https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz}
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
dependencies:
'@babel/compat-data': 7.24.7
'@babel/core': 7.24.7
'@babel/helper-define-polyfill-provider': 0.6.2(@babel/[email protected]4.7)
'@babel/compat-data': 7.25.2
'@babel/core': 7.25.2
'@babel/helper-define-polyfill-provider': 0.6.2(@babel/[email protected]5.2)
semver: 6.3.1
transitivePeerDependencies:
- supports-color
/[email protected].4(@babel/[email protected]4.7):
resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==, tarball: https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz}
/[email protected].6(@babel/[email protected]5.2):
resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==, tarball: https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz}
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-define-polyfill-provider': 0.6.2(@babel/[email protected]4.7)
core-js-compat: 3.37.1
'@babel/core': 7.25.2
'@babel/helper-define-polyfill-provider': 0.6.2(@babel/[email protected]5.2)
core-js-compat: 3.38.0
transitivePeerDependencies:
- supports-color
/[email protected](@babel/[email protected]4.7):
/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==, tarball: https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz}
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/helper-define-polyfill-provider': 0.6.2(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/helper-define-polyfill-provider': 0.6.2(@babel/[email protected]5.2)
transitivePeerDependencies:
- supports-color
/[email protected]696af53-20240625:
resolution: {integrity: sha512-OUDKms8qmcm5bX0D+sJWC1YcKcd7AZ2aJ7eY6gkR+Xr7PDfkXLbqAld4Qs9B0ntjVbUMEtW/PjlQrxDtY4raHg==, tarball: https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-0.0.0-experimental-696af53-20240625.tgz}
/[email protected]5f79ba2-20240815:
resolution: {integrity: sha512-9/pMj32tpmzWyjnPmRqQ25L9MJkffqVPEsoboHaSKypnaB/Xo8haWk54T5WhRf/WfE0kB36w2Nm/STkAHGXJWw==, tarball: https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-0.0.0-experimental-5f79ba2-20240815.tgz}
dependencies:
'@babel/generator': 7.2.0
'@babel/types': 7.24.7
'@babel/types': 7.25.2
chalk: 4.1.2
invariant: 2.2.4
pretty-format: 24.9.0
@@ -3499,44 +3757,47 @@ packages:
/[email protected]:
resolution: {integrity: sha512-eYZ4+P6jNcB37lObWIg0pUbi7+3PKoU1Oie2j0C8UF3cXyXoR74tO2NBjI/FORb2LJyItJZEAmjU5pSaJYEL1w==, tarball: https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.19.12.tgz}
/[email protected](@babel/[email protected]4.7):
/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==, tarball: https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz}
dependencies:
'@babel/plugin-syntax-flow': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-syntax-flow': 7.24.7(@babel/[email protected]5.2)
transitivePeerDependencies:
- '@babel/core'
/babel-preset-current-node-syntax@1.0.1(@babel/[email protected]4.7):
resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==, tarball: https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz}
/babel-preset-current-node-syntax@1.1.0(@babel/[email protected]5.2):
resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==, tarball: https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/plugin-syntax-async-generators': 7.8.4(@babel/[email protected]4.7)
'@babel/plugin-syntax-bigint': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-class-properties': 7.12.13(@babel/[email protected]4.7)
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/[email protected]4.7)
'@babel/plugin-syntax-json-strings': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/[email protected]4.7)
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/[email protected]4.7)
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/[email protected]4.7)
'@babel/plugin-syntax-top-level-await': 7.14.5(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/plugin-syntax-async-generators': 7.8.4(@babel/[email protected]5.2)
'@babel/plugin-syntax-bigint': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-syntax-class-properties': 7.12.13(@babel/[email protected]5.2)
'@babel/plugin-syntax-class-static-block': 7.14.5(@babel/[email protected]5.2)
'@babel/plugin-syntax-import-attributes': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/[email protected]5.2)
'@babel/plugin-syntax-json-strings': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/[email protected]5.2)
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/[email protected]5.2)
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/[email protected]5.2)
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/[email protected])
'@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/[email protected])
'@babel/plugin-syntax-top-level-await': 7.14.5(@babel/[email protected])
dev: true
/[email protected]2(@babel/[email protected]4.7)(@babel/[email protected]4.7):
resolution: {integrity: sha512-hUuKdzSo8+H1oXQvKvlHRMHTxl+nN6YhFGlKiIxPa0E+gYfMEp8FnnStc/2Hwmip5rgJzQs6KF63KKRUc75xAg==, tarball: https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-11.0.12.tgz}
/[email protected]4(@babel/[email protected]5.2)(@babel/[email protected]5.3):
resolution: {integrity: sha512-4BVYR0Sc2sSNxYTiE/OLSnPiOp+weFNy8eV+hX3aD6YAIbBnw+VubKRWqJV/sOJauzOLz0SgYAYyFciYMqizRA==, tarball: https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-11.0.14.tgz}
dependencies:
'@babel/plugin-proposal-decorators': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-parameters': 7.24.7(@babel/[email protected]4.7)
'@babel/preset-react': 7.24.7(@babel/[email protected]4.7)
'@babel/preset-typescript': 7.24.7(@babel/[email protected]4.7)
'@react-native/babel-preset': 0.74.85(@babel/[email protected]4.7)(@babel/[email protected]4.7)
babel-plugin-react-compiler: 0.0.0-experimental-696af53-20240625
'@babel/plugin-proposal-decorators': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-parameters': 7.24.7(@babel/[email protected]5.2)
'@babel/preset-react': 7.24.7(@babel/[email protected]5.2)
'@babel/preset-typescript': 7.24.7(@babel/[email protected]5.2)
'@react-native/babel-preset': 0.74.87(@babel/[email protected]5.2)(@babel/[email protected]5.3)
babel-plugin-react-compiler: 0.0.0-experimental-5f79ba2-20240815
babel-plugin-react-native-web: 0.19.12
react-refresh: 0.14.2
transitivePeerDependencies:
@@ -3544,15 +3805,15 @@ packages:
- '@babel/preset-env'
- supports-color
/[email protected](@babel/[email protected]4.7):
/[email protected](@babel/[email protected]5.2):
resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==, tarball: https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
babel-plugin-jest-hoist: 29.6.3
babel-preset-current-node-syntax: 1.0.1(@babel/[email protected]4.7)
babel-preset-current-node-syntax: 1.1.0(@babel/[email protected]5.2)
dev: true
/[email protected]:
@@ -3579,6 +3840,9 @@ packages:
inherits: 2.0.4
readable-stream: 3.6.2
/[email protected]:
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==, tarball: https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz}
/[email protected]:
resolution: {integrity: sha512-xp/tcaV3T5PCiaY04mXga7o/TE+t95gqeLmADeBI1CvZtdWTbgBt3uLpvh4UWtenKeBhCV6oVxGk38yZr2uYEA==, tarball: https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz}
dependencies:
@@ -3621,15 +3885,15 @@ packages:
dependencies:
fill-range: 7.1.1
/[email protected].1:
resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==, tarball: https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz}
/[email protected].3:
resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==, tarball: https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
caniuse-lite: 1.0.30001640
electron-to-chromium: 1.4.816
node-releases: 2.0.14
update-browserslist-db: 1.1.0([email protected].1)
caniuse-lite: 1.0.30001651
electron-to-chromium: 1.5.8
node-releases: 2.0.18
update-browserslist-db: 1.1.0([email protected].3)
/[email protected]:
resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==, tarball: https://registry.npmjs.org/bser/-/bser-2.1.1.tgz}
@@ -3668,14 +3932,14 @@ packages:
resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==, tarball: https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz}
engines: {node: '>= 0.8'}
/[email protected].3:
resolution: {integrity: sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==, tarball: https://registry.npmjs.org/cacache/-/cacache-18.0.3.tgz}
/[email protected].4:
resolution: {integrity: sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==, tarball: https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz}
engines: {node: ^16.14.0 || >=18.0.0}
dependencies:
'@npmcli/fs': 3.1.1
fs-minipass: 3.0.3
glob: 10.4.2
lru-cache: 10.3.0
glob: 10.4.5
lru-cache: 10.4.3
minipass: 7.1.2
minipass-collect: 2.0.1
minipass-flush: 1.0.5
@@ -3726,8 +3990,8 @@ packages:
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==, tarball: https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz}
engines: {node: '>=10'}
/[email protected]40:
resolution: {integrity: sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==, tarball: https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz}
/[email protected]51:
resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==, tarball: https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz}
/[email protected]:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, tarball: https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz}
@@ -3776,7 +4040,7 @@ packages:
engines: {node: '>=12.13.0'}
hasBin: true
dependencies:
'@types/node': 20.14.9
'@types/node': 22.3.0
escape-string-regexp: 4.0.0
is-wsl: 2.2.0
lighthouse-logger: 1.4.2
@@ -3915,7 +4179,6 @@ packages:
/[email protected]:
resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==, tarball: https://registry.npmjs.org/commander/-/commander-7.2.0.tgz}
engines: {node: '>= 10'}
dev: false
/[email protected]:
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, tarball: https://registry.npmjs.org/commander/-/commander-9.5.0.tgz}
@@ -3932,7 +4195,7 @@ packages:
resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==, tarball: https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz}
engines: {node: '>= 0.6'}
dependencies:
mime-db: 1.52.0
mime-db: 1.53.0
/[email protected]:
resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==, tarball: https://registry.npmjs.org/compression/-/compression-1.7.4.tgz}
@@ -3979,10 +4242,10 @@ packages:
engines: {node: '>= 0.6'}
dev: false
/[email protected]7.1:
resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==, tarball: https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz}
/[email protected]8.0:
resolution: {integrity: sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==, tarball: https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.0.tgz}
dependencies:
browserslist: 4.23.1
browserslist: 4.23.3
/[email protected]:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, tarball: https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz}
@@ -3996,6 +4259,22 @@ packages:
js-yaml: 3.14.1
parse-json: 4.0.0
/[email protected]([email protected]):
resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==, tarball: https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz}
engines: {node: '>=14'}
peerDependencies:
typescript: '>=4.9.5'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
import-fresh: 3.3.0
js-yaml: 4.1.0
parse-json: 5.2.0
path-type: 4.0.0
typescript: 5.3.3
dev: true
/[email protected]:
resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==, tarball: https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -4005,7 +4284,7 @@ packages:
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.11
jest-config: 29.7.0(@types/node@20.14.9)
jest-config: 29.7.0(@types/node@22.3.0)
jest-util: 29.7.0
prompts: 2.4.2
transitivePeerDependencies:
@@ -4062,6 +4341,49 @@ packages:
hyphenate-style-name: 1.1.0
dev: false
/[email protected]:
resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==, tarball: https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz}
dependencies:
boolbase: 1.0.0
css-what: 6.1.0
domhandler: 5.0.3
domutils: 3.1.0
nth-check: 2.1.1
/[email protected]:
resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==, tarball: https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz}
engines: {node: '>=8.0.0'}
dependencies:
mdn-data: 2.0.14
source-map: 0.6.1
/[email protected]:
resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==, tarball: https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
dependencies:
mdn-data: 2.0.28
source-map-js: 1.2.0
dev: true
/[email protected]:
resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==, tarball: https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
dependencies:
mdn-data: 2.0.30
source-map-js: 1.2.0
dev: true
/[email protected]:
resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==, tarball: https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz}
engines: {node: '>= 6'}
/[email protected]:
resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==, tarball: https://registry.npmjs.org/csso/-/csso-5.0.5.tgz}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
dependencies:
css-tree: 2.2.1
dev: true
/[email protected]:
resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==, tarball: https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz}
dev: true
@@ -4125,8 +4447,8 @@ packages:
is-data-view: 1.0.1
dev: false
/[email protected]1:
resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==, tarball: https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz}
/[email protected]2:
resolution: {integrity: sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==, tarball: https://registry.npmjs.org/dayjs/-/dayjs-1.11.12.tgz}
/[email protected]:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, tarball: https://registry.npmjs.org/debug/-/debug-2.6.9.tgz}
@@ -4149,8 +4471,8 @@ packages:
ms: 2.1.3
dev: false
/[email protected].5:
resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==, tarball: https://registry.npmjs.org/debug/-/debug-4.3.5.tgz}
/[email protected].6:
resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==, tarball: https://registry.npmjs.org/debug/-/debug-4.3.6.tgz}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
@@ -4252,6 +4574,11 @@ packages:
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, tarball: https://registry.npmjs.org/depd/-/depd-2.0.0.tgz}
engines: {node: '>= 0.8'}
/[email protected]:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==, tarball: https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz}
engines: {node: '>=6'}
dev: true
/[email protected]:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==, tarball: https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
@@ -4279,6 +4606,20 @@ packages:
path-type: 4.0.0
dev: false
/[email protected]:
resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==, tarball: https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz}
dev: true
/[email protected]:
resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==, tarball: https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz}
dependencies:
domelementtype: 2.3.0
domhandler: 5.0.3
entities: 4.5.0
/[email protected]:
resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==, tarball: https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz}
/[email protected]:
resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==, tarball: https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz}
engines: {node: '>=12'}
@@ -4287,6 +4628,26 @@ packages:
webidl-conversions: 7.0.0
dev: true
/[email protected]:
resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==, tarball: https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz}
engines: {node: '>= 4'}
dependencies:
domelementtype: 2.3.0
/[email protected]:
resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==, tarball: https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz}
dependencies:
dom-serializer: 2.0.0
domelementtype: 2.3.0
domhandler: 5.0.3
/[email protected]:
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==, tarball: https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz}
dependencies:
no-case: 3.0.4
tslib: 2.6.3
dev: true
/[email protected]:
resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==, tarball: https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.6.tgz}
engines: {node: '>=12'}
@@ -4306,8 +4667,8 @@ packages:
/[email protected]:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==, tarball: https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz}
/electron-to-chromium@1.4.816:
resolution: {integrity: sha512-EKH5X5oqC6hLmiS7/vYtZHZFTNdhsYG5NVPRN6Yn0kQHNBlT59+xSM8HBy66P5fxWpKgZbPqb+diC64ng295Jw==, tarball: https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.816.tgz}
/electron-to-chromium@1.5.8:
resolution: {integrity: sha512-4Nx0gP2tPNBLTrFxBMHpkQbtn2hidPVr/+/FTtcCiBYTucqc70zRyVZiOLj17Ui3wTO7SQ1/N+hkHYzJjBzt6A==, tarball: https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.8.tgz}
/[email protected]:
resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, tarball: https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz}
@@ -4334,7 +4695,6 @@ packages:
/[email protected]:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==, tarball: https://registry.npmjs.org/entities/-/entities-4.5.0.tgz}
engines: {node: '>=0.12'}
dev: true
/[email protected]:
resolution: {integrity: sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==, tarball: https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz}
@@ -4556,73 +4916,81 @@ packages:
jest-util: 29.7.0
dev: true
/[email protected]([email protected].18):
/[email protected]([email protected].28):
resolution: {integrity: sha512-0qoTIihB79k+wGus9wy0JMKq7DdenziVx3iUkGvMAy2azscSgWH6bd2gJ9CGnhC6JRd3qTMFBL0ou/fx7WZl7A==, tarball: https://registry.npmjs.org/expo-asset/-/expo-asset-10.0.10.tgz}
peerDependencies:
expo: '*'
dependencies:
expo: 51.0.18(@babel/[email protected]4.7)(@babel/[email protected]4.7)
expo-constants: 16.0.2([email protected].18)
expo: 51.0.28(@babel/[email protected]5.2)(@babel/[email protected]5.3)
expo-constants: 16.0.2([email protected].28)
invariant: 2.2.4
md5-file: 3.2.3
transitivePeerDependencies:
- supports-color
dev: false
/[email protected]([email protected].18):
/[email protected]([email protected].28):
resolution: {integrity: sha512-9tNY3OVO0jfiMzl7ngb6IOyR5VFzNoN5OOazUWoeGfmMqVB5kltTemRvKraK9JRbBKIw+SOYLEmF0sEqgFZ6OQ==, tarball: https://registry.npmjs.org/expo-constants/-/expo-constants-16.0.2.tgz}
peerDependencies:
expo: '*'
dependencies:
'@expo/config': 9.0.2
'@expo/config': 9.0.3
'@expo/env': 0.3.0
expo: 51.0.18(@babel/[email protected]4.7)(@babel/[email protected]4.7)
expo: 51.0.28(@babel/[email protected]5.2)(@babel/[email protected]5.3)
transitivePeerDependencies:
- supports-color
dev: false
/expo-doctor@1.6.1:
resolution: {integrity: sha512-n80Bzs3iEnkOSIKrxJTNE2QwTpmWx2aJQpDVymlfK4Ur11ocuirUZy7IfsPbs9PGGXvxE4bIH3SGq3QghRNM4Q==, tarball: https://registry.npmjs.org/expo-doctor/-/expo-doctor-1.6.1.tgz}
/expo-doctor@1.9.0:
resolution: {integrity: sha512-mCkOqkQS2s55p4pKWPWtiwe15ZBUYOPuKrBSJzZieey5cjsc2msrCW8W8nfNz/rWx89usEQtCYFPzJtifZX+sw==, tarball: https://registry.npmjs.org/expo-doctor/-/expo-doctor-1.9.0.tgz}
hasBin: true
dev: false
/[email protected]([email protected].18):
/[email protected]([email protected].28):
resolution: {integrity: sha512-dYpnZJqTGj6HCYJyXAgpFkQWsiCH3HY1ek2cFZVHFoEc5tLz9gmdEgTF6nFHurvmvfmXqxi7a5CXyVm0aFYJBw==, tarball: https://registry.npmjs.org/expo-file-system/-/expo-file-system-17.0.1.tgz}
peerDependencies:
expo: '*'
dependencies:
expo: 51.0.18(@babel/[email protected]4.7)(@babel/[email protected]4.7)
expo: 51.0.28(@babel/[email protected]5.2)(@babel/[email protected]5.3)
dev: false
/[email protected].7([email protected].18):
resolution: {integrity: sha512-rbSdpjtT/A3M+u9xchR9tdD+5VGSxptUis7ngX5zfAVp3O5atOcPNSA82Jeo15HkrQE+w/upfFBOvi56lsGdsQ==, tarball: https://registry.npmjs.org/expo-font/-/expo-font-12.0.7.tgz}
/[email protected].9([email protected].28):
resolution: {integrity: sha512-seTCyf0tbgkAnp3ZI9ZfK9QVtURQUgFnuj+GuJ5TSnN0XsOtVe1s2RxTvmMgkfuvfkzcjJ69gyRpsZS1cC8hjw==, tarball: https://registry.npmjs.org/expo-font/-/expo-font-12.0.9.tgz}
peerDependencies:
expo: '*'
dependencies:
expo: 51.0.18(@babel/[email protected]4.7)(@babel/[email protected]4.7)
expo: 51.0.28(@babel/[email protected]5.2)(@babel/[email protected]5.3)
fontfaceobserver: 2.3.0
dev: false
/[email protected]([email protected].18):
/[email protected]([email protected].28):
resolution: {integrity: sha512-kKiwkVg/bY0AJ5q1Pxnm/GvpeB6hbNJhcFsoOWDh2NlpibhCLaHL826KHUM+WsnJRbVRxJ+K9vbPRHEMvFpVyw==, tarball: https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-13.0.2.tgz}
peerDependencies:
expo: '*'
dependencies:
expo: 51.0.18(@babel/[email protected]4.7)(@babel/[email protected]4.7)
expo: 51.0.28(@babel/[email protected]5.2)(@babel/[email protected]5.3)
dev: false
/expo-lin[email protected]([email protected].18):
/expo-lin[email protected]([email protected].28):
resolution: {integrity: sha512-EDcILUjRKu4P1rtWcwciN6CSyGtH7Bq4ll3oTRV7h3h8oSzSilH1g6z7kTAMlacPBKvMnkkWOGzW6KtgMKEiTg==, tarball: https://registry.npmjs.org/expo-linear-gradient/-/expo-linear-gradient-13.0.2.tgz}
peerDependencies:
expo: '*'
dependencies:
expo: 51.0.28(@babel/[email protected])(@babel/[email protected])
dev: false
/[email protected]([email protected]):
resolution: {integrity: sha512-xuZCntSBGWCD/95iZ+mTUGTwHdy8Sx+immCqbUBxdvZ2TN61P02kKg7SaLS8A4a/hLrSCwrg5tMMwu5wfKr35g==, tarball: https://registry.npmjs.org/expo-linking/-/expo-linking-6.3.1.tgz}
dependencies:
expo-constants: 16.0.2([email protected].18)
expo-constants: 16.0.2([email protected].28)
invariant: 2.2.4
transitivePeerDependencies:
- expo
- supports-color
dev: false
/[email protected].1:
resolution: {integrity: sha512-2dy3lTz76adOl7QUvbreMCrXyzUiF8lygI7iFJLjgIQIVH+43KnFWE5zBumpPbkiaq0f0uaFpN9U0RGQbnKiMw==, tarball: https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-1.11.1.tgz}
/[email protected].2:
resolution: {integrity: sha512-fdcaNO8ucHA3yLNY52ZUENBcAG7KEx8QyMmnVNavO1JVBGRMZG8JyVcbrhYQDtVtpxkbai5YzwvLutINvbDZDQ==, tarball: https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-1.11.2.tgz}
hasBin: true
dependencies:
chalk: 4.1.2
@@ -4630,16 +4998,18 @@ packages:
fast-glob: 3.3.2
find-up: 5.0.0
fs-extra: 9.1.0
require-from-string: 2.0.2
resolve-from: 5.0.0
dev: false
/[email protected]8:
resolution: {integrity: sha512-YhIOJsMNjPvP0tmTbC1MRlxl5q7l21uQQDr1rlXEWHNmI2AEMW0gfr2wXrlB2Tz/oOIx8YqREsj3i0VsYXEaCA==, tarball: https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.12.18.tgz}
/[email protected].21:
resolution: {integrity: sha512-UQxRljqPcowS1+bECW9tnuVGfvWL18GAKPiKMnu9sZwJssAN9FU/JhED50DJzdzICLR0hL17FZAgV4rbMG3IWQ==, tarball: https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.12.21.tgz}
dependencies:
invariant: 2.2.4
dev: false
/[email protected].17([email protected])([email protected])([email protected].1)([email protected])([email protected].18)([email protected])([email protected])([email protected])([email protected])([email protected])([email protected]):
resolution: {integrity: sha512-UGSx5vSZISgnhNYsbhbpFuYivS/tFQVoYqsWsFNdU1Cob+KdR2N1C68nDk9S9T6N66JdeCI7fDiEpvR2H1+Amw==, tarball: https://registry.npmjs.org/expo-router/-/expo-router-3.5.17.tgz}
/[email protected].23([email protected])([email protected])([email protected].2)([email protected])([email protected].28)([email protected])([email protected])([email protected])([email protected])([email protected])([email protected]):
resolution: {integrity: sha512-Re2kYcxov67hWrcjuu0+3ovsLxYn79PuX6hgtYN20MgigY5ttX79KOIBEVGTO3F3y9dxSrGHyy5Z14BcO+usGQ==, tarball: https://registry.npmjs.org/expo-router/-/expo-router-3.5.23.tgz}
peerDependencies:
'@react-navigation/drawer': ^6.5.8
'@testing-library/jest-native': '*'
@@ -4658,19 +5028,19 @@ packages:
react-native-reanimated:
optional: true
dependencies:
'@expo/metro-runtime': 3.2.1([email protected])
'@expo/server': 0.4.3([email protected])
'@expo/metro-runtime': 3.2.3([email protected])
'@expo/server': 0.4.4([email protected])
'@radix-ui/react-slot': 1.0.1([email protected])
'@react-navigation/bottom-tabs': 6.5.20(@react-navigation/[email protected]7)([email protected])([email protected])([email protected])([email protected])
'@react-navigation/native': 6.1.17([email protected])([email protected])
'@react-navigation/native-stack': 6.9.26(@react-navigation/[email protected]7)([email protected])([email protected])([email protected])([email protected])
expo: 51.0.18(@babel/[email protected]4.7)(@babel/[email protected]4.7)
expo-constants: 16.0.2([email protected].18)
expo-linking: 6.3.1([email protected].18)
expo-splash-screen: 0.27.5([email protected].1)([email protected].18)
'@react-navigation/bottom-tabs': 6.5.20(@react-navigation/[email protected]8)([email protected])([email protected])([email protected])([email protected])
'@react-navigation/native': 6.1.18([email protected])([email protected])
'@react-navigation/native-stack': 6.9.26(@react-navigation/[email protected]8)([email protected])([email protected])([email protected])([email protected])
expo: 51.0.28(@babel/[email protected]5.2)(@babel/[email protected]5.3)
expo-constants: 16.0.2([email protected].28)
expo-linking: 6.3.1([email protected].28)
expo-splash-screen: 0.27.5([email protected].2)([email protected].28)
expo-status-bar: 1.12.1
react-native-helmet-async: 2.0.4([email protected])
react-native-reanimated: 3.10.1(@babel/[email protected]4.7)([email protected])([email protected])
react-native-reanimated: 3.10.1(@babel/[email protected]5.2)([email protected])([email protected])
react-native-safe-area-context: 4.10.1([email protected])([email protected])
react-native-screens: 3.31.1([email protected])([email protected])
schema-utils: 4.2.0
@@ -4683,13 +5053,13 @@ packages:
- typescript
dev: false
/[email protected]([email protected].1)([email protected].18):
/[email protected]([email protected].2)([email protected].28):
resolution: {integrity: sha512-9rdZuLkFCfgJBxrheUsOEOIW6Rp+9NVlpSE0hgXQwbTCLTncf00IHSE8/L2NbFyeDLNjof1yZBppaV7tXHRUzA==, tarball: https://registry.npmjs.org/expo-splash-screen/-/expo-splash-screen-0.27.5.tgz}
peerDependencies:
expo: '*'
dependencies:
'@expo/prebuild-config': 7.0.6([email protected].1)
expo: 51.0.18(@babel/[email protected]4.7)(@babel/[email protected]4.7)
'@expo/prebuild-config': 7.0.6([email protected].2)
expo: 51.0.28(@babel/[email protected]5.2)(@babel/[email protected]5.3)
transitivePeerDependencies:
- encoding
- expo-modules-autolinking
@@ -4700,43 +5070,43 @@ packages:
resolution: {integrity: sha512-/t3xdbS8KB0prj5KG5w7z+wZPFlPtkgs95BsmrP/E7Q0xHXTcDcQ6Cu2FkFuRM+PKTb17cJDnLkawyS5vDLxMA==, tarball: https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-1.12.1.tgz}
dev: false
/[email protected]([email protected].18):
/[email protected]([email protected].28):
resolution: {integrity: sha512-KAs72F5JKhdIfPR9ZNVlRubTPK9uUuevPy5oYEp12xNEzSQcjZKvypH5NpwJuNWkXzrp3n3vZ+3pXsudA7J3KA==, tarball: https://registry.npmjs.org/expo-system-ui/-/expo-system-ui-3.0.7.tgz}
peerDependencies:
expo: '*'
dependencies:
'@react-native/normalize-colors': 0.74.85
debug: 4.3.5
expo: 51.0.18(@babel/[email protected]4.7)(@babel/[email protected]4.7)
debug: 4.3.6
expo: 51.0.28(@babel/[email protected]5.2)(@babel/[email protected]5.3)
transitivePeerDependencies:
- supports-color
dev: false
/[email protected]([email protected].18):
/[email protected]([email protected].28):
resolution: {integrity: sha512-HXb7y82ApVJtqk8tManyudtTrCtx8xcUnVzmJECeHCB0SsWSQ+penVLZxJkcyATWoJOsFMnfVSVdrTcpKKGszQ==, tarball: https://registry.npmjs.org/expo-web-browser/-/expo-web-browser-13.0.3.tgz}
peerDependencies:
expo: '*'
dependencies:
expo: 51.0.18(@babel/[email protected]4.7)(@babel/[email protected]4.7)
expo: 51.0.28(@babel/[email protected]5.2)(@babel/[email protected]5.3)
dev: false
/[email protected].18(@babel/[email protected]4.7)(@babel/[email protected]4.7):
resolution: {integrity: sha512-QiaNq2XXjfDk009qbyBFd/5CNikcQ0ZucGlOB3ebNf3z9Q9wrfL1A9E4NqPh6sgm0VG486AYT9mNKwAfcOVCIA==, tarball: https://registry.npmjs.org/expo/-/expo-51.0.18.tgz}
/[email protected].28(@babel/[email protected]5.2)(@babel/[email protected]5.3):
resolution: {integrity: sha512-R+0tSV0Zf5R+DxN4W3mLFlVvYVpiJ+dtYrMmBedIRw0A54we50QRM1jS0Gq2Bdzg2JtainSEApdQXUC6r9j/BA==, tarball: https://registry.npmjs.org/expo/-/expo-51.0.28.tgz}
hasBin: true
dependencies:
'@babel/runtime': 7.24.7
'@expo/cli': 0.18.22([email protected].1)
'@expo/config': 9.0.1
'@expo/config-plugins': 8.0.7
'@expo/metro-config': 0.18.8
'@babel/runtime': 7.25.0
'@expo/cli': 0.18.29([email protected].2)
'@expo/config': 9.0.3
'@expo/config-plugins': 8.0.8
'@expo/metro-config': 0.18.11
'@expo/vector-icons': 14.0.2
babel-preset-expo: 11.0.12(@babel/[email protected]4.7)(@babel/[email protected]4.7)
expo-asset: 10.0.10([email protected].18)
expo-file-system: 17.0.1([email protected].18)
expo-font: 12.0.7([email protected].18)
expo-keep-awake: 13.0.2([email protected].18)
expo-modules-autolinking: 1.11.1
expo-modules-core: 1.12.18
babel-preset-expo: 11.0.14(@babel/[email protected]5.2)(@babel/[email protected]5.3)
expo-asset: 10.0.10([email protected].28)
expo-file-system: 17.0.1([email protected].28)
expo-font: 12.0.9([email protected].28)
expo-keep-awake: 13.0.2([email protected].28)
expo-modules-autolinking: 1.11.2
expo-modules-core: 1.12.21
fbemitter: 3.0.0
whatwg-url-without-unicode: 8.0.0-3
transitivePeerDependencies:
@@ -4748,6 +5118,9 @@ packages:
- utf-8-validate
dev: false
/[email protected]:
resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==, tarball: https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz}
/[email protected]:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, tarball: https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz}
dev: false
@@ -4770,8 +5143,12 @@ packages:
resolution: {integrity: sha512-8dbd3XWoKCTms18ize6JmQF1SFnnfj5s0B7rRry22EofgMu7B6LKHVh+XfFqFGsqnbH54xgeO83PzpKI+ODhlg==, tarball: https://registry.npmjs.org/fast-loops/-/fast-loops-1.1.4.tgz}
dev: false
/fast-[email protected]:
resolution: {integrity: sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg==, tarball: https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.0.tgz}
/fast-[email protected]:
resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==, tarball: https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz}
dev: false
/[email protected]:
resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==, tarball: https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz}
hasBin: true
dependencies:
strnum: 1.0.5
@@ -4878,8 +5255,8 @@ packages:
/[email protected]:
resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==, tarball: https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz}
/[email protected]9.0:
resolution: {integrity: sha512-U5dgOsS6cg4FGNzzTD/zHRDM4bliL6laUgD0LUCSMzI2zEfKMnRV2/wgDv8nKmO2Z1R8ri5pE1YoldmrSV7FOw==, tarball: https://registry.npmjs.org/flow-parser/-/flow-parser-0.239.0.tgz}
/[email protected]43.0:
resolution: {integrity: sha512-HCDBfH+kZcY5etWYeAqatjW78gkIryzb9XixRsA8lGI1uyYc7aCpElkkO4H+KIpoyQMiY0VAZPI4cyac3wQe8w==, tarball: https://registry.npmjs.org/flow-parser/-/flow-parser-0.243.0.tgz}
engines: {node: '>=0.4.0'}
/[email protected]:
@@ -4892,8 +5269,8 @@ packages:
is-callable: 1.2.7
dev: false
/foreground-child@3.2.1:
resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==, tarball: https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz}
/foreground-child@3.3.0:
resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==, tarball: https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz}
engines: {node: '>=14'}
dependencies:
cross-spawn: 7.0.3
@@ -5055,32 +5432,18 @@ packages:
dependencies:
is-glob: 4.0.3
/[email protected].2:
resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==, tarball: https://registry.npmjs.org/glob/-/glob-10.4.2.tgz}
engines: {node: '>=16 || 14 >=14.18'}
/[email protected].5:
resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==, tarball: https://registry.npmjs.org/glob/-/glob-10.4.5.tgz}
hasBin: true
dependencies:
foreground-child: 3.2.1
jackspeak: 3.4.0
foreground-child: 3.3.0
jackspeak: 3.4.3
minimatch: 9.0.5
minipass: 7.1.2
package-json-from-dist: 1.0.0
path-scurry: 1.11.1
dev: false
/[email protected]:
resolution: {integrity: sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==, tarball: https://registry.npmjs.org/glob/-/glob-6.0.4.tgz}
deprecated: Glob versions prior to v9 are no longer supported
requiresBuild: true
dependencies:
inflight: 1.0.6
inherits: 2.0.4
minimatch: 3.1.2
once: 1.4.0
path-is-absolute: 1.0.1
dev: false
optional: true
/[email protected]:
resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==, tarball: https://registry.npmjs.org/glob/-/glob-7.1.6.tgz}
deprecated: Glob versions prior to v9 are no longer supported
@@ -5122,7 +5485,7 @@ packages:
array-union: 2.1.0
dir-glob: 3.0.1
fast-glob: 3.3.2
ignore: 5.3.0
ignore: 5.3.2
merge2: 1.4.1
slash: 3.0.0
dev: false
@@ -5143,7 +5506,7 @@ packages:
graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
dependencies:
graphql: 15.8.0
tslib: 2.6.2
tslib: 2.6.3
dev: false
/[email protected]:
@@ -5195,18 +5558,18 @@ packages:
/[email protected]:
resolution: {integrity: sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==, tarball: https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.19.1.tgz}
/[email protected]0.1:
resolution: {integrity: sha512-SQpZK4BzR48kuOg0v4pb3EAGNclzIlqMj3Opu/mu7bbAoFw6oig6cEt/RAi0zTFW/iW6Iz9X9ggGuZTAZ/yZHg==, tarball: https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.20.1.tgz}
/[email protected]3.0:
resolution: {integrity: sha512-Rkp0PNLGpORw4ktsttkVbpYJbrYKS3hAnkxu8D9nvQi6LvSbuPa+tYw/t2u3Gjc35lYd/k95YkjqyTcN4zspag==, tarball: https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.0.tgz}
/[email protected]:
resolution: {integrity: sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==, tarball: https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.19.1.tgz}
dependencies:
hermes-estree: 0.19.1
/[email protected]0.1:
resolution: {integrity: sha512-BL5P83cwCogI8D7rrDCgsFY0tdYUtmFP9XaXtl2IQjC+2Xo+4okjfXintlTxcIwl4qeGddEl28Z11kbVIw0aNA==, tarball: https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.20.1.tgz}
/[email protected]3.0:
resolution: {integrity: sha512-xLwM4ylfHGwrm+2qXfO1JT/fnqEDGSnpS/9hQ4VLtqTexSviu2ZpBgz07U8jVtndq67qdb/ps0qvaWDZ3fkTyg==, tarball: https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.0.tgz}
dependencies:
hermes-estree: 0.20.1
hermes-estree: 0.23.0
/[email protected]:
resolution: {integrity: sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==, tarball: https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz}
@@ -5254,7 +5617,7 @@ packages:
dependencies:
'@tootallnate/once': 2.0.0
agent-base: 6.0.2
debug: 4.3.5
debug: 4.3.6
transitivePeerDependencies:
- supports-color
dev: true
@@ -5264,7 +5627,7 @@ packages:
engines: {node: '>= 6'}
dependencies:
agent-base: 6.0.2
debug: 4.3.5
debug: 4.3.6
transitivePeerDependencies:
- supports-color
@@ -5286,8 +5649,8 @@ packages:
/[email protected]:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, tarball: https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz}
/[email protected].0:
resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==, tarball: https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz}
/[email protected].2:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==, tarball: https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz}
engines: {node: '>= 4'}
dev: false
@@ -5309,8 +5672,16 @@ packages:
caller-path: 2.0.0
resolve-from: 3.0.0
/import-local@3.1.0:
resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==, tarball: https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz}
/import-fresh@3.3.0:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, tarball: https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz}
engines: {node: '>=6'}
dependencies:
parent-module: 1.0.1
resolve-from: 4.0.0
dev: true
/[email protected]:
resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==, tarball: https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz}
engines: {node: '>=8'}
hasBin: true
dependencies:
@@ -5425,8 +5796,8 @@ packages:
engines: {node: '>= 0.4'}
dev: false
/[email protected]4.0:
resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==, tarball: https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz}
/[email protected]5.0:
resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==, tarball: https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz}
engines: {node: '>= 0.4'}
dependencies:
hasown: 2.0.2
@@ -5643,8 +6014,8 @@ packages:
resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==, tarball: https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz}
engines: {node: '>=8'}
dependencies:
'@babel/core': 7.24.7
'@babel/parser': 7.24.7
'@babel/core': 7.25.2
'@babel/parser': 7.25.3
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
semver: 6.3.1
@@ -5656,11 +6027,11 @@ packages:
resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==, tarball: https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz}
engines: {node: '>=10'}
dependencies:
'@babel/core': 7.24.7
'@babel/parser': 7.24.7
'@babel/core': 7.25.2
'@babel/parser': 7.25.3
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
semver: 7.6.2
semver: 7.6.3
transitivePeerDependencies:
- supports-color
dev: true
@@ -5678,7 +6049,7 @@ packages:
resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, tarball: https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz}
engines: {node: '>=10'}
dependencies:
debug: 4.3.5
debug: 4.3.6
istanbul-lib-coverage: 3.2.2
source-map: 0.6.1
transitivePeerDependencies:
@@ -5693,9 +6064,8 @@ packages:
istanbul-lib-report: 3.0.1
dev: true
/[email protected].0:
resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==, tarball: https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz}
engines: {node: '>=14'}
/[email protected].3:
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==, tarball: https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz}
dependencies:
'@isaacs/cliui': 8.0.2
optionalDependencies:
@@ -5719,7 +6089,7 @@ packages:
'@jest/expect': 29.7.0
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
'@types/node': 20.14.9
'@types/node': 22.3.0
chalk: 4.1.2
co: 4.6.0
dedent: 1.5.3
@@ -5756,8 +6126,8 @@ packages:
chalk: 4.1.2
create-jest: 29.7.0
exit: 0.1.2
import-local: 3.1.0
jest-config: 29.7.0(@types/node@20.14.9)
import-local: 3.2.0
jest-config: 29.7.0(@types/node@22.3.0)
jest-util: 29.7.0
jest-validate: 29.7.0
yargs: 17.7.2
@@ -5768,7 +6138,7 @@ packages:
- ts-node
dev: true
/[email protected](@types/node@20.14.9):
/[email protected](@types/node@22.3.0):
resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==, tarball: https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
@@ -5780,11 +6150,11 @@ packages:
ts-node:
optional: true
dependencies:
'@babel/core': 7.24.7
'@babel/core': 7.25.2
'@jest/test-sequencer': 29.7.0
'@jest/types': 29.6.3
'@types/node': 20.14.9
babel-jest: 29.7.0(@babel/[email protected]4.7)
'@types/node': 22.3.0
babel-jest: 29.7.0(@babel/[email protected]5.2)
chalk: 4.1.2
ci-info: 3.9.0
deepmerge: 4.3.1
@@ -5849,7 +6219,7 @@ packages:
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
'@types/jsdom': 20.0.1
'@types/node': 20.14.9
'@types/node': 22.3.0
jest-mock: 29.7.0
jest-util: 29.7.0
jsdom: 20.0.3
@@ -5866,18 +6236,18 @@ packages:
'@jest/environment': 29.7.0
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
'@types/node': 20.14.9
'@types/node': 22.3.0
jest-mock: 29.7.0
jest-util: 29.7.0
/[email protected](@babel/[email protected]4.7)([email protected])([email protected]):
/[email protected](@babel/[email protected]5.2)([email protected])([email protected]):
resolution: {integrity: sha512-r49OuS9X2S/dH+lSfNmarBS2L/tgvBhzOgKHYFyDJWo+Bb5uVs7Rg/GZal/RD/NDkKFJuByGAaW1F6zHYnjZnw==, tarball: https://registry.npmjs.org/jest-expo/-/jest-expo-51.0.3.tgz}
hasBin: true
dependencies:
'@expo/config': 9.0.2
'@expo/config': 9.0.3
'@expo/json-file': 8.3.3
'@jest/create-cache-key-function': 29.7.0
babel-jest: 29.7.0(@babel/[email protected]4.7)
babel-jest: 29.7.0(@babel/[email protected]5.2)
find-up: 5.0.0
jest-environment-jsdom: 29.7.0
jest-watch-select-projects: 2.0.0
@@ -5906,7 +6276,7 @@ packages:
dependencies:
'@jest/types': 29.6.3
'@types/graceful-fs': 4.1.9
'@types/node': 20.14.9
'@types/node': 22.3.0
anymatch: 3.1.3
fb-watchman: 2.0.2
graceful-fs: 4.2.11
@@ -5956,7 +6326,7 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@jest/types': 29.6.3
'@types/node': 20.14.9
'@types/node': 22.3.0
jest-util: 29.7.0
/[email protected]([email protected]):
@@ -6010,7 +6380,7 @@ packages:
'@jest/test-result': 29.7.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
'@types/node': 20.14.9
'@types/node': 22.3.0
chalk: 4.1.2
emittery: 0.13.1
graceful-fs: 4.2.11
@@ -6041,7 +6411,7 @@ packages:
'@jest/test-result': 29.7.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
'@types/node': 20.14.9
'@types/node': 22.3.0
chalk: 4.1.2
cjs-module-lexer: 1.3.1
collect-v8-coverage: 1.0.2
@@ -6064,15 +6434,15 @@ packages:
resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==, tarball: https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@babel/core': 7.24.7
'@babel/generator': 7.24.7
'@babel/plugin-syntax-jsx': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-syntax-typescript': 7.24.7(@babel/[email protected]4.7)
'@babel/types': 7.24.7
'@babel/core': 7.25.2
'@babel/generator': 7.25.0
'@babel/plugin-syntax-jsx': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-syntax-typescript': 7.24.7(@babel/[email protected]5.2)
'@babel/types': 7.25.2
'@jest/expect-utils': 29.7.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
babel-preset-current-node-syntax: 1.0.1(@babel/[email protected]4.7)
babel-preset-current-node-syntax: 1.1.0(@babel/[email protected]5.2)
chalk: 4.1.2
expect: 29.7.0
graceful-fs: 4.2.11
@@ -6083,7 +6453,7 @@ packages:
jest-util: 29.7.0
natural-compare: 1.4.0
pretty-format: 29.7.0
semver: 7.6.2
semver: 7.6.3
transitivePeerDependencies:
- supports-color
dev: true
@@ -6093,7 +6463,7 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@jest/types': 29.6.3
'@types/node': 20.14.9
'@types/node': 22.3.0
chalk: 4.1.2
ci-info: 3.9.0
graceful-fs: 4.2.11
@@ -6140,7 +6510,7 @@ packages:
dependencies:
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
'@types/node': 20.14.9
'@types/node': 22.3.0
ansi-escapes: 4.3.2
chalk: 4.1.2
emittery: 0.13.1
@@ -6152,7 +6522,7 @@ packages:
resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==, tarball: https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@types/node': 20.14.9
'@types/node': 22.3.0
jest-util: 29.7.0
merge-stream: 2.0.0
supports-color: 8.1.1
@@ -6169,7 +6539,7 @@ packages:
dependencies:
'@jest/core': 29.7.0
'@jest/types': 29.6.3
import-local: 3.1.0
import-local: 3.2.0
jest-cli: 29.7.0
transitivePeerDependencies:
- '@types/node'
@@ -6210,7 +6580,6 @@ packages:
hasBin: true
dependencies:
argparse: 2.0.1
dev: false
/[email protected]:
resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==, tarball: https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz}
@@ -6218,25 +6587,25 @@ packages:
/[email protected]:
resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==, tarball: https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz}
/[email protected](@babel/[email protected]4.7):
/[email protected](@babel/[email protected]5.3):
resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==, tarball: https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz}
hasBin: true
peerDependencies:
'@babel/preset-env': ^7.1.6
dependencies:
'@babel/core': 7.24.7
'@babel/parser': 7.24.7
'@babel/plugin-proposal-class-properties': 7.18.6(@babel/[email protected]4.7)
'@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/[email protected]4.7)
'@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/[email protected]4.7)
'@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/[email protected]4.7)
'@babel/preset-env': 7.24.7(@babel/[email protected]4.7)
'@babel/preset-flow': 7.24.7(@babel/[email protected]4.7)
'@babel/preset-typescript': 7.24.7(@babel/[email protected]4.7)
'@babel/register': 7.24.6(@babel/[email protected]4.7)
babel-core: 7.0.0-bridge.0(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/parser': 7.25.3
'@babel/plugin-proposal-class-properties': 7.18.6(@babel/[email protected]5.2)
'@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/[email protected]5.2)
'@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/[email protected]5.2)
'@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/[email protected]5.2)
'@babel/preset-env': 7.25.3(@babel/[email protected]5.2)
'@babel/preset-flow': 7.24.7(@babel/[email protected]5.2)
'@babel/preset-typescript': 7.24.7(@babel/[email protected]5.2)
'@babel/register': 7.24.6(@babel/[email protected]5.2)
babel-core: 7.0.0-bridge.0(@babel/[email protected]5.2)
chalk: 4.1.2
flow-parser: 0.239.0
flow-parser: 0.243.0
graceful-fs: 4.2.11
micromatch: 4.0.7
neo-async: 2.6.2
@@ -6270,7 +6639,7 @@ packages:
http-proxy-agent: 5.0.0
https-proxy-agent: 5.0.1
is-potential-custom-element-name: 1.0.1
nwsapi: 2.2.10
nwsapi: 2.2.12
parse5: 7.1.2
saxes: 6.0.0
symbol-tree: 3.2.4
@@ -6498,7 +6867,7 @@ packages:
hasBin: true
dependencies:
ansi-fragments: 0.2.1
dayjs: 1.11.11
dayjs: 1.11.12
yargs: 15.4.1
/[email protected]:
@@ -6507,9 +6876,14 @@ packages:
dependencies:
js-tokens: 4.0.0
/l[email protected]:
resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==, tarball: https://registry.npmjs.org/lru-cache/-/lru-cache-10.3.0.tgz}
engines: {node: 14 || >=16.14}
/l[email protected]:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==, tarball: https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz}
dependencies:
tslib: 2.6.3
dev: true
/[email protected]:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==, tarball: https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz}
dev: false
/[email protected]:
@@ -6524,6 +6898,11 @@ packages:
yallist: 4.0.0
dev: false
/[email protected]:
resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==, tarball: https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz}
hasBin: true
dev: true
/[email protected]:
resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==, tarball: https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz}
engines: {node: '>=6'}
@@ -6535,7 +6914,7 @@ packages:
resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, tarball: https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz}
engines: {node: '>=10'}
dependencies:
semver: 7.6.2
semver: 7.6.3
dev: true
/[email protected]:
@@ -6574,6 +6953,17 @@ packages:
resolution: {integrity: sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==, tarball: https://registry.npmjs.org/md5hex/-/md5hex-1.0.0.tgz}
dev: false
/[email protected]:
resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==, tarball: https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz}
/[email protected]:
resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==, tarball: https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz}
dev: true
/[email protected]:
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==, tarball: https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz}
dev: true
/[email protected]:
resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==, tarball: https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz}
@@ -6599,58 +6989,65 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, tarball: https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz}
engines: {node: '>= 8'}
/[email protected].9:
resolution: {integrity: sha512-d76BSm64KZam1nifRZlNJmtwIgAeZhZG3fi3K+EmPOlrR8rDtBxQHDSN3fSGeNB9CirdTyabTMQCkCup6BXFSQ==, tarball: https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.9.tgz}
/[email protected].10:
resolution: {integrity: sha512-GXHueUzgzcazfzORDxDzWS9jVVRV6u+cR6TGvHOfGdfLzJCj7/D0PretLfyq+MwN20twHxLW+BUXkoaB8sCQBg==, tarball: https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.10.tgz}
engines: {node: '>=18'}
dependencies:
'@babel/core': 7.24.7
hermes-parser: 0.20.1
'@babel/core': 7.25.2
flow-enums-runtime: 0.0.6
hermes-parser: 0.23.0
nullthrows: 1.1.1
transitivePeerDependencies:
- supports-color
/[email protected].9:
resolution: {integrity: sha512-hRcYGhEiWIdM87hU0fBlcGr+tHDEAT+7LYNCW89p5JhErFt/QaAkVx4fb5bW3YtXGv5BTV7AspWPERoIb99CXg==, tarball: https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.9.tgz}
engines: {node: '>=18'}
/[email protected]:
resolution: {integrity: sha512-ujEdSI43QwI+Dj2xuNax8LMo8UgKuXJEdxJkzGPU6iIx42nYa1byQ+aADv/iPh5sh5a//h5FopraW5voXSgm2w==, tarball: https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.9.tgz}
/[email protected].10:
resolution: {integrity: sha512-57qBhO3zQfoU/hP4ZlLW5hVej2jVfBX6B4NcSfMj4LgDPL3YknWg80IJBxzQfjQY/m+fmMLmPy8aUMHzUp/guA==, tarball: https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.10.tgz}
engines: {node: '>=18'}
dependencies:
metro-core: 0.80.9
rimraf: 3.0.2
flow-enums-runtime: 0.0.6
/metro-config@0.80.9:
resolution: {integrity: sha512-28wW7CqS3eJrunRGnsibWldqgwRP9ywBEf7kg+uzUHkSFJNKPM1K3UNSngHmH0EZjomizqQA2Zi6/y6VdZMolg==, tarball: https://registry.npmjs.org/metro-config/-/metro-config-0.80.9.tgz}
/metro-cache@0.80.10:
resolution: {integrity: sha512-8CBtDJwMguIE5RvV3PU1QtxUG8oSSX54mIuAbRZmcQ0MYiOl9JdrMd4JCBvIyhiZLoSStph425SMyCSnjtJsdA==, tarball: https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.10.tgz}
engines: {node: '>=18'}
dependencies:
exponential-backoff: 3.1.1
flow-enums-runtime: 0.0.6
metro-core: 0.80.10
/[email protected]:
resolution: {integrity: sha512-0GYAw0LkmGbmA81FepKQepL1KU/85Cyv7sAiWm6QWeV6AcVCpsKg6jGLqGHJ0LLPL60rWzA4TV1DQAlzdJAEtA==, tarball: https://registry.npmjs.org/metro-config/-/metro-config-0.80.10.tgz}
engines: {node: '>=18'}
dependencies:
connect: 3.7.0
cosmiconfig: 5.2.1
flow-enums-runtime: 0.0.6
jest-validate: 29.7.0
metro: 0.80.9
metro-cache: 0.80.9
metro-core: 0.80.9
metro-runtime: 0.80.9
metro: 0.80.10
metro-cache: 0.80.10
metro-core: 0.80.10
metro-runtime: 0.80.10
transitivePeerDependencies:
- bufferutil
- encoding
- supports-color
- utf-8-validate
/[email protected].9:
resolution: {integrity: sha512-tbltWQn+XTdULkGdzHIxlxk4SdnKxttvQQV3wpqqFbHDteR4gwCyTR2RyYJvxgU7HELfHtrVbqgqAdlPByUSbg==, tarball: https://registry.npmjs.org/metro-core/-/metro-core-0.80.9.tgz}
/[email protected].10:
resolution: {integrity: sha512-nwBB6HbpGlNsZMuzxVqxqGIOsn5F3JKpsp8PziS7Z4mV8a/jA1d44mVOgYmDa2q5WlH5iJfRIIhdz24XRNDlLA==, tarball: https://registry.npmjs.org/metro-core/-/metro-core-0.80.10.tgz}
engines: {node: '>=18'}
dependencies:
flow-enums-runtime: 0.0.6
lodash.throttle: 4.1.1
metro-resolver: 0.80.9
metro-resolver: 0.80.10
/[email protected].9:
resolution: {integrity: sha512-sBUjVtQMHagItJH/wGU9sn3k2u0nrCl0CdR4SFMO1tksXLKbkigyQx4cbpcyPVOAmGTVuy3jyvBlELaGCAhplQ==, tarball: https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.9.tgz}
/[email protected].10:
resolution: {integrity: sha512-ytsUq8coneaN7ZCVk1IogojcGhLIbzWyiI2dNmw2nnBgV/0A+M5WaTTgZ6dJEz3dzjObPryDnkqWPvIGLCPtiw==, tarball: https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.10.tgz}
engines: {node: '>=18'}
dependencies:
anymatch: 3.1.3
debug: 2.6.9
fb-watchman: 2.0.2
flow-enums-runtime: 0.0.6
graceful-fs: 4.2.11
invariant: 2.2.4
jest-worker: 29.7.0
@@ -6663,44 +7060,50 @@ packages:
transitivePeerDependencies:
- supports-color
/[email protected].9:
resolution: {integrity: sha512-FEeCeFbkvvPuhjixZ1FYrXtO0araTpV6UbcnGgDUpH7s7eR5FG/PiJz3TsuuPP/HwCK19cZtQydcA2QrCw446A==, tarball: https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.9.tgz}
/[email protected].10:
resolution: {integrity: sha512-Xyv9pEYpOsAerrld7cSLIcnCCpv8ItwysOmTA+AKf1q4KyE9cxrH2O2SA0FzMCkPzwxzBWmXwHUr+A89BpEM6g==, tarball: https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.10.tgz}
engines: {node: '>=18'}
dependencies:
terser: 5.31.1
flow-enums-runtime: 0.0.6
terser: 5.31.6
/[email protected].9:
resolution: {integrity: sha512-wAPIjkN59BQN6gocVsAvvpZ1+LQkkqUaswlT++cJafE/e54GoVkMNCmrR4BsgQHr9DknZ5Um/nKueeN7kaEz9w==, tarball: https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.9.tgz}
engines: {node: '>=18'}
/[email protected]:
resolution: {integrity: sha512-8PTVIgrVcyU+X/rVCy/9yxNlvXsBCk5JwwkbAm/Dm+Abo6NBGtNjWF0M1Xo/NWCb4phamNWcD7cHdR91HhbJvg==, tarball: https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.9.tgz}
/[email protected].10:
resolution: {integrity: sha512-EYC5CL7f+bSzrqdk1bylKqFNGabfiI5PDctxoPx70jFt89Jz+ThcOscENog8Jb4LEQFG6GkOYlwmPpsi7kx3QA==, tarball: https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.10.tgz}
engines: {node: '>=18'}
dependencies:
'@babel/runtime': 7.24.7
flow-enums-runtime: 0.0.6
/metro-source-map@0.80.9:
resolution: {integrity: sha512-RMn+XS4VTJIwMPOUSj61xlxgBvPeY4G6s5uIn6kt6HB6A/k9ekhr65UkkDD7WzHYs3a9o869qU8tvOZvqeQzgw==, tarball: https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.9.tgz}
/metro-runtime@0.80.10:
resolution: {integrity: sha512-Xh0N589ZmSIgJYAM+oYwlzTXEHfASZac9TYPCNbvjNTn0EHKqpoJ/+Im5G3MZT4oZzYv4YnvzRtjqS5k0tK94A==, tarball: https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.10.tgz}
engines: {node: '>=18'}
dependencies:
'@babel/traverse': 7.24.7
'@babel/types': 7.24.7
'@babel/runtime': 7.25.0
flow-enums-runtime: 0.0.6
/[email protected]:
resolution: {integrity: sha512-EyZswqJW8Uukv/HcQr6K19vkMXW1nzHAZPWJSEyJFKIbgp708QfRZ6vnZGmrtFxeJEaFdNup4bGnu8/mIOYlyA==, tarball: https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.10.tgz}
engines: {node: '>=18'}
dependencies:
'@babel/traverse': 7.25.3
'@babel/types': 7.25.2
flow-enums-runtime: 0.0.6
invariant: 2.2.4
metro-symbolicate: 0.80.9
metro-symbolicate: 0.80.10
nullthrows: 1.1.1
ob1: 0.80.9
ob1: 0.80.10
source-map: 0.5.7
vlq: 1.0.1
transitivePeerDependencies:
- supports-color
/[email protected].9:
resolution: {integrity: sha512-Ykae12rdqSs98hg41RKEToojuIW85wNdmSe/eHUgMkzbvCFNVgcC0w3dKZEhSsqQOXapXRlLtHkaHLil0UD/EA==, tarball: https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.9.tgz}
/[email protected].10:
resolution: {integrity: sha512-qAoVUoSxpfZ2DwZV7IdnQGXCSsf2cAUExUcZyuCqGlY5kaWBb0mx2BL/xbMFDJ4wBp3sVvSBPtK/rt4J7a0xBA==, tarball: https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.10.tgz}
engines: {node: '>=18'}
hasBin: true
dependencies:
flow-enums-runtime: 0.0.6
invariant: 2.2.4
metro-source-map: 0.80.9
metro-source-map: 0.80.10
nullthrows: 1.1.1
source-map: 0.5.7
through2: 2.0.5
@@ -6708,33 +7111,35 @@ packages:
transitivePeerDependencies:
- supports-color
/[email protected].9:
resolution: {integrity: sha512-UlDk/uc8UdfLNJhPbF3tvwajyuuygBcyp+yBuS/q0z3QSuN/EbLllY3rK8OTD9n4h00qZ/qgxGv/lMFJkwP4vg==, tarball: https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.9.tgz}
/[email protected].10:
resolution: {integrity: sha512-leAx9gtA+2MHLsCeWK6XTLBbv2fBnNFu/QiYhWzMq8HsOAP4u1xQAU0tSgPs8+1vYO34Plyn79xTLUtQCRSSUQ==, tarball: https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.10.tgz}
engines: {node: '>=18'}
dependencies:
'@babel/core': 7.24.7
'@babel/generator': 7.24.7
'@babel/template': 7.24.7
'@babel/traverse': 7.24.7
'@babel/core': 7.25.2
'@babel/generator': 7.25.0
'@babel/template': 7.25.0
'@babel/traverse': 7.25.3
flow-enums-runtime: 0.0.6
nullthrows: 1.1.1
transitivePeerDependencies:
- supports-color
/[email protected].9:
resolution: {integrity: sha512-c/IrzMUVnI0hSVVit4TXzt3A1GiUltGVlzCmLJWxNrBGHGrJhvgePj38+GXl1Xf4Fd4vx6qLUkKMQ3ux73bFLQ==, tarball: https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.9.tgz}
/[email protected].10:
resolution: {integrity: sha512-zNfNLD8Rz99U+JdOTqtF2o7iTjcDMMYdVS90z6+81Tzd2D0lDWVpls7R1hadS6xwM+ymgXFQTjM6V6wFoZaC0g==, tarball: https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.10.tgz}
engines: {node: '>=18'}
dependencies:
'@babel/core': 7.24.7
'@babel/generator': 7.24.7
'@babel/parser': 7.24.7
'@babel/types': 7.24.7
metro: 0.80.9
metro-babel-transformer: 0.80.9
metro-cache: 0.80.9
metro-cache-key: 0.80.9
metro-minify-terser: 0.80.9
metro-source-map: 0.80.9
metro-transform-plugins: 0.80.9
'@babel/core': 7.25.2
'@babel/generator': 7.25.0
'@babel/parser': 7.25.3
'@babel/types': 7.25.2
flow-enums-runtime: 0.0.6
metro: 0.80.10
metro-babel-transformer: 0.80.10
metro-cache: 0.80.10
metro-cache-key: 0.80.10
metro-minify-terser: 0.80.10
metro-source-map: 0.80.10
metro-transform-plugins: 0.80.10
nullthrows: 1.1.1
transitivePeerDependencies:
- bufferutil
@@ -6742,18 +7147,18 @@ packages:
- supports-color
- utf-8-validate
/[email protected].9:
resolution: {integrity: sha512-Bc57Xf3GO2Xe4UWQsBj/oW6YfLPABEu8jfDVDiNmJvoQW4CO34oDPuYKe4KlXzXhcuNsqOtSxpbjCRRVjhhREg==, tarball: https://registry.npmjs.org/metro/-/metro-0.80.9.tgz}
/[email protected].10:
resolution: {integrity: sha512-FDPi0X7wpafmDREXe1lgg3WzETxtXh6Kpq8+IwsG35R2tMyp2kFIqDdshdohuvDt1J/qDARcEPq7V/jElTb1kA==, tarball: https://registry.npmjs.org/metro/-/metro-0.80.10.tgz}
engines: {node: '>=18'}
hasBin: true
dependencies:
'@babel/code-frame': 7.24.7
'@babel/core': 7.24.7
'@babel/generator': 7.24.7
'@babel/parser': 7.24.7
'@babel/template': 7.24.7
'@babel/traverse': 7.24.7
'@babel/types': 7.24.7
'@babel/core': 7.25.2
'@babel/generator': 7.25.0
'@babel/parser': 7.25.3
'@babel/template': 7.25.0
'@babel/traverse': 7.25.3
'@babel/types': 7.25.2
accepts: 1.3.8
chalk: 4.1.2
ci-info: 2.0.0
@@ -6761,29 +7166,29 @@ packages:
debug: 2.6.9
denodeify: 1.2.1
error-stack-parser: 2.1.4
flow-enums-runtime: 0.0.6
graceful-fs: 4.2.11
hermes-parser: 0.20.1
hermes-parser: 0.23.0
image-size: 1.1.1
invariant: 2.2.4
jest-worker: 29.7.0
jsc-safe-url: 0.2.4
lodash.throttle: 4.1.1
metro-babel-transformer: 0.80.9
metro-cache: 0.80.9
metro-cache-key: 0.80.9
metro-config: 0.80.9
metro-core: 0.80.9
metro-file-map: 0.80.9
metro-resolver: 0.80.9
metro-runtime: 0.80.9
metro-source-map: 0.80.9
metro-symbolicate: 0.80.9
metro-transform-plugins: 0.80.9
metro-transform-worker: 0.80.9
metro-babel-transformer: 0.80.10
metro-cache: 0.80.10
metro-cache-key: 0.80.10
metro-config: 0.80.10
metro-core: 0.80.10
metro-file-map: 0.80.10
metro-resolver: 0.80.10
metro-runtime: 0.80.10
metro-source-map: 0.80.10
metro-symbolicate: 0.80.10
metro-transform-plugins: 0.80.10
metro-transform-worker: 0.80.10
mime-types: 2.1.35
node-fetch: 2.7.0
nullthrows: 1.1.1
rimraf: 3.0.2
serialize-error: 2.1.0
source-map: 0.5.7
strip-ansi: 6.0.1
@@ -6807,6 +7212,10 @@ packages:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, tarball: https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz}
engines: {node: '>= 0.6'}
/[email protected]:
resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==, tarball: https://registry.npmjs.org/mime-db/-/mime-db-1.53.0.tgz}
engines: {node: '>= 0.6'}
/[email protected]:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, tarball: https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz}
engines: {node: '>= 0.6'}
@@ -6923,17 +7332,6 @@ packages:
/[email protected]:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, tarball: https://registry.npmjs.org/ms/-/ms-2.1.3.tgz}
/[email protected]:
resolution: {integrity: sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==, tarball: https://registry.npmjs.org/mv/-/mv-2.1.1.tgz}
engines: {node: '>=0.8.0'}
requiresBuild: true
dependencies:
mkdirp: 0.5.6
ncp: 2.0.0
rimraf: 2.4.5
dev: false
optional: true
/[email protected]:
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==, tarball: https://registry.npmjs.org/mz/-/mz-2.7.0.tgz}
dependencies:
@@ -6951,13 +7349,6 @@ packages:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, tarball: https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz}
dev: true
/[email protected]:
resolution: {integrity: sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==, tarball: https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz}
hasBin: true
requiresBuild: true
dev: false
optional: true
/[email protected]:
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, tarball: https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz}
engines: {node: '>= 0.6'}
@@ -6973,6 +7364,13 @@ packages:
resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==, tarball: https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz}
dev: false
/[email protected]:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==, tarball: https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz}
dependencies:
lower-case: 2.0.2
tslib: 2.6.3
dev: true
/[email protected]:
resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==, tarball: https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz}
engines: {node: '>=12.0.0'}
@@ -6986,18 +7384,6 @@ packages:
dependencies:
minimatch: 3.1.2
/[email protected]:
resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==, tarball: https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz}
engines: {node: 4.x || >=6.0.0}
peerDependencies:
encoding: ^0.1.0
peerDependenciesMeta:
encoding:
optional: true
dependencies:
whatwg-url: 5.0.0
dev: false
/[email protected]:
resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==, tarball: https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz}
engines: {node: 4.x || >=6.0.0}
@@ -7016,8 +7402,8 @@ packages:
/[email protected]:
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==, tarball: https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz}
/[email protected]4:
resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==, tarball: https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz}
/[email protected]8:
resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==, tarball: https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz}
/[email protected]:
resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==, tarball: https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz}
@@ -7049,16 +7435,23 @@ packages:
dependencies:
path-key: 3.1.1
/[email protected]:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==, tarball: https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz}
dependencies:
boolbase: 1.0.0
/[email protected]:
resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==, tarball: https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz}
/[email protected]0:
resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==, tarball: https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.10.tgz}
/[email protected]2:
resolution: {integrity: sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==, tarball: https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz}
dev: true
/[email protected].9:
resolution: {integrity: sha512-v9yOxowkZbxWhKOaaTyLjIm1aLy4ebMNcSn4NYJKOAI/Qv+SkfEfszpLr2GIxsccmb2Y2HA9qtsqiIJ80ucpVA==, tarball: https://registry.npmjs.org/ob1/-/ob1-0.80.9.tgz}
/[email protected].10:
resolution: {integrity: sha512-dJHyB0S6JkMorUSfSGcYGkkg9kmq3qDUu3ygZUKIfkr47XOPuG35r2Sk6tbwtHXbdKIXmcMvM8DF2CwgdyaHfQ==, tarball: https://registry.npmjs.org/ob1/-/ob1-0.80.10.tgz}
engines: {node: '>=18'}
dependencies:
flow-enums-runtime: 0.0.6
/[email protected]:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, tarball: https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz}
@@ -7234,6 +7627,13 @@ packages:
resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==, tarball: https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz}
dev: false
/[email protected]:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, tarball: https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz}
engines: {node: '>=6'}
dependencies:
callsites: 3.1.0
dev: true
/[email protected]:
resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==, tarball: https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz}
engines: {node: '>=4'}
@@ -7275,6 +7675,10 @@ packages:
cross-spawn: 7.0.3
dev: false
/[email protected]:
resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==, tarball: https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz}
dev: true
/[email protected]:
resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==, tarball: https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz}
engines: {node: '>=4'}
@@ -7303,14 +7707,13 @@ packages:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==, tarball: https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz}
engines: {node: '>=16 || 14 >=14.18'}
dependencies:
lru-cache: 10.3.0
lru-cache: 10.4.3
minipass: 7.1.2
dev: false
/[email protected]:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, tarball: https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz}
engines: {node: '>=8'}
dev: false
/[email protected]:
resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==, tarball: https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz}
@@ -7367,8 +7770,8 @@ packages:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==, tarball: https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz}
dev: false
/[email protected].39:
resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==, tarball: https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz}
/[email protected].41:
resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==, tarball: https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz}
engines: {node: ^10 || ^12 || >=14}
dependencies:
nanoid: 3.3.7
@@ -7399,6 +7802,15 @@ packages:
ansi-styles: 4.3.0
react-is: 17.0.2
/[email protected]:
resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==, tarball: https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
ansi-regex: 5.0.1
ansi-styles: 5.2.0
react-is: 17.0.2
dev: true
/[email protected]:
resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, tarball: https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -7556,11 +7968,11 @@ packages:
dependencies:
lodash: 4.17.21
react: 18.2.0
react-native: 0.74.3(@babel/[email protected]4.7)(@babel/[email protected]4.7)(@types/[email protected])([email protected])
react-native: 0.74.3(@babel/[email protected]5.2)(@babel/[email protected]5.3)(@types/[email protected])([email protected])
dev: false
/[email protected]6.2([email protected])([email protected]):
resolution: {integrity: sha512-vGFlrDKlmyI+BT+FemqVxmvO7nqxU33cgXVsn6IKAFishvlG3oV2Ds67D5nPkHMea8T+s1IcuMm0bF8ntZtAyg==, tarball: https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.16.2.tgz}
/[email protected]8.1([email protected])([email protected]):
resolution: {integrity: sha512-WF2fxQ5kTaxHghlkBM4YxO86SyGWVwrSNgJ1E8z/ZtL2xD5B3bg5agvuVFfOzvceC114yq71s6E9vKPz94ZxRw==, tarball: https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.18.1.tgz}
peerDependencies:
react: '*'
react-native: '*'
@@ -7568,10 +7980,9 @@ packages:
'@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.74.3(@babel/[email protected]4.7)(@babel/[email protected]4.7)(@types/[email protected])([email protected])
react-native: 0.74.3(@babel/[email protected]5.2)(@babel/[email protected]5.3)(@types/[email protected])([email protected])
dev: false
/[email protected]([email protected]):
@@ -7585,24 +7996,24 @@ packages:
shallowequal: 1.1.0
dev: false
/[email protected](@babel/[email protected]4.7)([email protected])([email protected]):
/[email protected](@babel/[email protected]5.2)([email protected])([email protected]):
resolution: {integrity: sha512-sfxg6vYphrDc/g4jf/7iJ7NRi+26z2+BszPmvmk0Vnrz6FL7HYljJqTf531F1x6tFmsf+FEAmuCtTUIXFLVo9w==, tarball: https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.10.1.tgz}
peerDependencies:
'@babel/core': ^7.0.0-0
react: '*'
react-native: '*'
dependencies:
'@babel/core': 7.24.7
'@babel/plugin-transform-arrow-functions': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-optional-chaining': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/[email protected]4.7)
'@babel/plugin-transform-template-literals': 7.24.7(@babel/[email protected]4.7)
'@babel/preset-typescript': 7.24.7(@babel/[email protected]4.7)
'@babel/core': 7.25.2
'@babel/plugin-transform-arrow-functions': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-optional-chaining': 7.24.8(@babel/[email protected]5.2)
'@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/[email protected]5.2)
'@babel/plugin-transform-template-literals': 7.24.7(@babel/[email protected]5.2)
'@babel/preset-typescript': 7.24.7(@babel/[email protected]5.2)
convert-source-map: 2.0.0
invariant: 2.2.4
react: 18.2.0
react-native: 0.74.3(@babel/[email protected]4.7)(@babel/[email protected]4.7)(@types/[email protected])([email protected])
react-native: 0.74.3(@babel/[email protected]5.2)(@babel/[email protected]5.3)(@types/[email protected])([email protected])
transitivePeerDependencies:
- supports-color
dev: false
@@ -7614,7 +8025,7 @@ packages:
react-native: '*'
dependencies:
react: 18.2.0
react-native: 0.74.3(@babel/[email protected]4.7)(@babel/[email protected]4.7)(@types/[email protected])([email protected])
react-native: 0.74.3(@babel/[email protected]5.2)(@babel/[email protected]5.3)(@types/[email protected])([email protected])
dev: false
/[email protected]([email protected])([email protected]):
@@ -7625,7 +8036,7 @@ packages:
dependencies:
react: 18.2.0
react-freeze: 1.0.4([email protected])
react-native: 0.74.3(@babel/[email protected]4.7)(@babel/[email protected]4.7)(@types/[email protected])([email protected])
react-native: 0.74.3(@babel/[email protected]5.2)(@babel/[email protected]5.3)(@types/[email protected])([email protected])
warn-once: 0.1.1
dev: false
@@ -7633,6 +8044,35 @@ packages:
resolution: {integrity: sha512-t4se17kALFcPb9wMbxig5dS1BE3pWRC6HPuFlM0J2Y6yhB1GsLqboy6an6R9rML8pRuGIJIxL29cbwEvPQwKxQ==, tarball: https://registry.npmjs.org/react-native-select-dropdown/-/react-native-select-dropdown-4.0.1.tgz}
dev: false
/[email protected]([email protected])([email protected])([email protected]):
resolution: {integrity: sha512-RG5fSWJT7mjCQYocgYFUo1KYPLOoypPVG5LQab+pZZO7m4ciGaQIe0mhok3W4R5jLQsEXKo0u+aQGkZV/bZG7w==, tarball: https://registry.npmjs.org/react-native-svg-transformer/-/react-native-svg-transformer-1.5.0.tgz}
peerDependencies:
react-native: '>=0.59.0'
react-native-svg: '>=12.0.0'
dependencies:
'@svgr/core': 8.1.0([email protected])
'@svgr/plugin-jsx': 8.1.0(@svgr/[email protected])
'@svgr/plugin-svgo': 8.1.0(@svgr/[email protected])([email protected])
path-dirname: 1.0.2
react-native: 0.74.3(@babel/[email protected])(@babel/[email protected])(@types/[email protected])([email protected])
react-native-svg: 15.5.0([email protected])([email protected])
transitivePeerDependencies:
- supports-color
- typescript
dev: true
/[email protected]([email protected])([email protected]):
resolution: {integrity: sha512-/DUPfmSf3eXt59WjG8hlRKVPzqVjM7duG9vJH6UYAJesj3NtYcyFsO5sYpSkovlOwagk84PibcVb92bBwMSmng==, tarball: https://registry.npmjs.org/react-native-svg/-/react-native-svg-15.5.0.tgz}
peerDependencies:
react: '*'
react-native: '*'
dependencies:
css-select: 5.1.0
css-tree: 1.1.3
react: 18.2.0
react-native: 0.74.3(@babel/[email protected])(@babel/[email protected])(@types/[email protected])([email protected])
warn-once: 0.1.1
/[email protected]:
resolution: {integrity: sha512-5ypj/hV58P+6VREdjkW0EudSibsH3WdqDERoHKnD9syFWjF+NfRWWrJb2sa3LIwI5zpzMvUiabs+DX40WHpEMw==, tarball: https://registry.npmjs.org/react-native-uuid/-/react-native-uuid-2.0.2.tgz}
engines: {node: '>=10.0.0', npm: '>=6.0.0'}
@@ -7644,8 +8084,8 @@ packages:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
'@babel/runtime': 7.24.7
'@react-native/normalize-colors': 0.74.85
'@babel/runtime': 7.25.0
'@react-native/normalize-colors': 0.74.87
fbjs: 3.0.5
inline-style-prefixer: 6.0.4
memoize-one: 6.0.0
@@ -7658,7 +8098,7 @@ packages:
- encoding
dev: false
/[email protected](@babel/[email protected]4.7)(@babel/[email protected]4.7)(@types/[email protected])([email protected]):
/[email protected](@babel/[email protected]5.2)(@babel/[email protected]5.3)(@types/[email protected])([email protected]):
resolution: {integrity: sha512-UFutCC6WEw6HkxlcpQ2BemKqi0JkwrgDchYB5Svi8Sp4Xwt4HA6LGEjNQgZ+3KM44bjyFRpofQym0uh0jACGng==, tarball: https://registry.npmjs.org/react-native/-/react-native-0.74.3.tgz}
engines: {node: '>=18'}
hasBin: true
@@ -7674,8 +8114,8 @@ packages:
'@react-native-community/cli-platform-android': 13.6.9
'@react-native-community/cli-platform-ios': 13.6.9
'@react-native/assets-registry': 0.74.85
'@react-native/codegen': 0.74.85(@babel/[email protected]4.7)
'@react-native/community-cli-plugin': 0.74.85(@babel/[email protected]4.7)(@babel/[email protected]4.7)
'@react-native/codegen': 0.74.85(@babel/[email protected]5.3)
'@react-native/community-cli-plugin': 0.74.85(@babel/[email protected]5.2)(@babel/[email protected]5.3)
'@react-native/gradle-plugin': 0.74.85
'@react-native/js-polyfills': 0.74.85
'@react-native/normalize-colors': 0.74.85
@@ -7692,8 +8132,8 @@ packages:
jest-environment-node: 29.7.0
jsc-android: 250231.0.0
memoize-one: 5.2.1
metro-runtime: 0.80.9
metro-source-map: 0.80.9
metro-runtime: 0.80.10
metro-source-map: 0.80.10
mkdirp: 0.5.6
nullthrows: 1.1.1
pretty-format: 26.6.2
@@ -7804,6 +8244,19 @@ packages:
strip-indent: 3.0.0
dev: true
/[email protected]([email protected])([email protected]):
resolution: {integrity: sha512-71LLMbUq2r02ng2We9S215LtPu3fY0KgaGE0k8WRgl6RkqxtGfl7HUozz1Dftwsb0D/5mZ8dwAaPbtnzfvbEwQ==, tarball: https://registry.npmjs.org/redux-persist/-/redux-persist-6.0.0.tgz}
peerDependencies:
react: '>=16'
redux: '>4.0.0'
peerDependenciesMeta:
react:
optional: true
dependencies:
react: 18.2.0
redux: 5.0.1
dev: false
/[email protected]([email protected]):
resolution: {integrity: sha512-Z6/S/brpwflOsGpX8Az93eujJ5fytMcaefxDfx0iib5d0DkL804zlw/Fhh/4HzZ5nXsP67j1zPUeDNWO1rhfvA==, tarball: https://registry.npmjs.org/redux-remember/-/redux-remember-5.1.0.tgz}
peerDependencies:
@@ -7842,7 +8295,7 @@ packages:
/[email protected]:
resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==, tarball: https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz}
dependencies:
'@babel/runtime': 7.24.7
'@babel/runtime': 7.25.0
/[email protected]:
resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==, tarball: https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz}
@@ -7914,6 +8367,11 @@ packages:
resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==, tarball: https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz}
engines: {node: '>=4'}
/[email protected]:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, tarball: https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz}
engines: {node: '>=4'}
dev: true
/[email protected]:
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==, tarball: https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz}
engines: {node: '>=8'}
@@ -7926,7 +8384,7 @@ packages:
resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, tarball: https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz}
hasBin: true
dependencies:
is-core-module: 2.14.0
is-core-module: 2.15.0
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
@@ -7955,16 +8413,6 @@ packages:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, tarball: https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
/[email protected]:
resolution: {integrity: sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==, tarball: https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz}
deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
requiresBuild: true
dependencies:
glob: 6.0.4
dev: false
optional: true
/[email protected]:
resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==, tarball: https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz}
deprecated: Rimraf versions prior to v4 are no longer supported
@@ -7972,14 +8420,6 @@ packages:
dependencies:
glob: 7.2.3
/[email protected]:
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==, tarball: https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz}
deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
dependencies:
glob: 7.2.3
dev: false
/[email protected]:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, tarball: https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz}
deprecated: Rimraf versions prior to v4 are no longer supported
@@ -8008,12 +8448,6 @@ packages:
/[email protected]:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, tarball: https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz}
/[email protected]:
resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==, tarball: https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz}
requiresBuild: true
dev: false
optional: true
/[email protected]:
resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==, tarball: https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz}
engines: {node: '>= 0.4'}
@@ -8052,9 +8486,9 @@ packages:
engines: {node: '>= 12.13.0'}
dependencies:
'@types/json-schema': 7.0.15
ajv: 8.16.0
ajv-formats: 2.1.1([email protected]6.0)
ajv-keywords: 5.1.0([email protected]6.0)
ajv: 8.17.1
ajv-formats: 2.1.1([email protected]7.1)
ajv-keywords: 5.1.0([email protected]7.1)
dev: false
/[email protected]:
@@ -8072,8 +8506,8 @@ packages:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, tarball: https://registry.npmjs.org/semver/-/semver-6.3.1.tgz}
hasBin: true
/[email protected].2:
resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==, tarball: https://registry.npmjs.org/semver/-/semver-7.6.2.tgz}
/[email protected].3:
resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==, tarball: https://registry.npmjs.org/semver/-/semver-7.6.3.tgz}
engines: {node: '>=10'}
hasBin: true
@@ -8115,8 +8549,8 @@ packages:
/[email protected]:
resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==, tarball: https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz}
/set-cookie-parser@2.6.0:
resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==, tarball: https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz}
/set-cookie-parser@2.7.0:
resolution: {integrity: sha512-lXLOiqpkUumhRdFF3k1osNXCy9akgx/dyPZ5p8qAg9seJzXr5ZrlqZuWIMuY6ejOsVLE6flJ5/h3lsn57fQ/PQ==, tarball: https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.0.tgz}
dev: false
/[email protected]:
@@ -8238,10 +8672,16 @@ packages:
resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==, tarball: https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz}
engines: {node: '>=8.0.0'}
/[email protected]:
resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==, tarball: https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz}
dependencies:
dot-case: 3.0.4
tslib: 2.6.3
dev: true
/[email protected]:
resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==, tarball: https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz}
engines: {node: '>=0.10.0'}
dev: false
/[email protected]:
resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==, tarball: https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz}
@@ -8535,6 +8975,24 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, tarball: https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz}
engines: {node: '>= 0.4'}
/[email protected]:
resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==, tarball: https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz}
dev: true
/[email protected]:
resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==, tarball: https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz}
engines: {node: '>=14.0.0'}
hasBin: true
dependencies:
'@trysound/sax': 0.2.0
commander: 7.2.0
css-select: 5.1.0
css-tree: 2.3.1
css-what: 6.1.0
csso: 5.0.5
picocolors: 1.0.1
dev: true
/[email protected]:
resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==, tarball: https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz}
dev: true
@@ -8594,8 +9052,8 @@ packages:
supports-hyperlinks: 2.3.0
dev: false
/[email protected].1:
resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==, tarball: https://registry.npmjs.org/terser/-/terser-5.31.1.tgz}
/[email protected].6:
resolution: {integrity: sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==, tarball: https://registry.npmjs.org/terser/-/terser-5.31.6.tgz}
engines: {node: '>=10'}
hasBin: true
dependencies:
@@ -8701,15 +9159,11 @@ packages:
/[email protected]:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==, tarball: https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz}
/[email protected]:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, tarball: https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz}
dev: false
/[email protected]:
resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==, tarball: https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz}
/turbo-stream@2.2.0:
resolution: {integrity: sha512-FKFg7A0To1VU4CH9YmSMON5QphK0BXjSoiC7D9yMh+mEEbXLUP9qJ4hEt1qcjKtzncs1OpcnjZO8NgrlVbZH+g==, tarball: https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.2.0.tgz}
/turbo-stream@2.3.0:
resolution: {integrity: sha512-PhEr9mdexoVv+rJkQ3c8TjrN3DUghX37GNJkSMksoPR4KrXIPnM2MnqRt07sViIqX9IdlhrgtTSyjoVOASq6cg==, tarball: https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.3.0.tgz}
dev: false
/[email protected]:
@@ -8811,8 +9265,11 @@ packages:
/[email protected]:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, tarball: https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz}
/[email protected]9.2:
resolution: {integrity: sha512-JfjKqIauur3Q6biAtHJ564e3bWa8VvT+7cSiOJHFbX4Erv6CLGDpg8z+Fmg/1OI/47RA+GI2QZaF48SSaLvyBA==, tarball: https://registry.npmjs.org/undici/-/undici-6.19.2.tgz}
/undici-types@6.18.2:
resolution: {integrity: sha512-5ruQbENj95yDYJNS3TvcaxPMshV7aizdv/hWYjGIKoANWKjhWNBsr2YEuYZKodQulB1b8l7ILOuDQep3afowQQ==, tarball: https://registry.npmjs.org/undici-types/-/undici-types-6.18.2.tgz}
/[email protected]:
resolution: {integrity: sha512-HR3W/bMGPSr90i8AAp2C4DM3wChFdJPLrWYpIS++LxS8K+W535qftjt+4MyjNYHeWabMj1nvtmLIi7l++iq91A==, tarball: https://registry.npmjs.org/undici/-/undici-6.19.7.tgz}
engines: {node: '>=18.17'}
dev: false
@@ -8886,22 +9343,16 @@ packages:
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==, tarball: https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz}
engines: {node: '>= 0.8'}
/[email protected]([email protected].1):
/[email protected]([email protected].3):
resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==, tarball: https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
dependencies:
browserslist: 4.23.1
browserslist: 4.23.3
escalade: 3.1.2
picocolors: 1.0.1
/[email protected]:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, tarball: https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz}
dependencies:
punycode: 2.3.1
dev: false
/[email protected]:
resolution: {integrity: sha512-EGXjXJZhIHiQMK2pQukuFcL303nskqIRzWvPvV5O8miOfwoUb9G+a/Cld60kUyeaybEI94wvVClT10DtfeAExA==, tarball: https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz}
dev: false
@@ -8913,8 +9364,8 @@ packages:
requires-port: 1.0.0
dev: true
/use-latest-callback@0.1.9([email protected]):
resolution: {integrity: sha512-CL/29uS74AwreI/f2oz2hLTW7ZqVeV5+gxFeGudzQrgkCytrHw33G4KbnQOrRlAEzzAFXi7dDLMC9zhWcVpzmw==, tarball: https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.1.9.tgz}
/use-latest-callback@0.2.1([email protected]):
resolution: {integrity: sha512-QWlq8Is8BGWBf883QOEQP5HWYX/kMI+JTbJ5rdtvJLmXTIh9XoHIO3PQcmQl8BU44VKxow1kbQUHa6mQSMALDQ==, tarball: https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.2.1.tgz}
peerDependencies:
react: '>=16.8'
dependencies:
@@ -8995,7 +9446,6 @@ packages:
/[email protected]:
resolution: {integrity: sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==, tarball: https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz}
dev: false
/[email protected]:
resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==, tarball: https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz}
@@ -9241,8 +9691,8 @@ packages:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, tarball: https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz}
dev: false
/yaml@2.4.5:
resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==, tarball: https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz}
/yaml@2.5.0:
resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==, tarball: https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz}
engines: {node: '>= 14'}
hasBin: true
+54
View File
@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="142.37779mm"
height="154.51445mm"
viewBox="0 0 142.37779 154.51445"
version="1.1"
id="svg5"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="icon-carpet-roll.svg"
inkscape:export-filename="../assets/images/icons/carpet-roll-64.png"
inkscape:export-xdpi="11.417511"
inkscape:export-ydpi="11.417511"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#585858"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.79909512"
inkscape:cx="427.98409"
inkscape:cy="198.34935"
inkscape:window-width="1920"
inkscape:window-height="1008"
inkscape:window-x="0"
inkscape:window-y="681"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-16.165914,9.5264309)">
<path
id="path1159"
style="color:#000000;fill:#000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
sodipodi:type="inkscape:offset"
inkscape:radius="0.33110365"
inkscape:original="M 85.214844 -6.9941406 C 70.013101 -6.494485 55.139955 -0.43163169 43.707031 9.5605469 C 30.013867 21.362005 20.944785 38.446198 19.085938 56.449219 C 17.358707 72.332698 21.014781 88.716233 29.230469 102.41016 C 39.520614 119.81061 56.638281 132.98252 76.03125 138.63672 C 82.65448 140.58173 89.540529 141.77025 96.458984 141.68555 C 115.61209 141.94239 134.76485 142.20153 153.91797 142.45703 C 154.55818 134.40231 155.19894 126.34763 155.83984 118.29297 C 135.18432 118.00696 114.52684 117.78015 93.873047 117.42578 C 80.647337 116.41488 67.916649 110.28207 58.582031 100.88867 C 52.070874 94.381035 47.193434 86.30892 44.728516 77.402344 C 42.589935 69.786839 42.32538 61.636547 44.011719 53.955078 C 46.999506 40.237159 56.336432 28.015139 68.902344 21.708984 C 76.179541 18.017237 84.56116 16.49232 92.609375 17.550781 C 105.47803 19.123751 117.29397 27.652918 122.69922 39.457031 C 124.2433 42.820885 125.26799 46.602101 125.57422 50.355469 C 126.08314 55.844903 125.04871 61.62513 122.51172 66.595703 C 118.69587 74.236827 111.48288 80.366569 102.99414 81.986328 C 98.380931 82.881417 93.437488 82.363391 89.1875 80.232422 C 83.668056 77.562868 79.16371 72.357272 78.208984 66.197266 C 77.642576 62.560594 78.60807 58.687652 80.996094 55.859375 C 80.898514 58.890704 81.095836 62.010499 82.367188 64.810547 C 84.05204 68.882567 87.592589 72.214241 91.904297 73.302734 C 95.777353 74.339207 99.867688 73.625621 103.61328 72.421875 C 106.30071 71.528147 108.63458 69.786802 110.41992 67.605469 C 114.58333 62.715455 116.25928 55.924687 115.11328 49.630859 C 113.74274 41.428115 107.89047 34.34961 100.46484 30.791016 C 92.86163 27.075438 83.717791 27.076984 75.933594 30.257812 C 64.775062 34.759192 56.518994 45.396663 54.443359 57.191406 C 52.491012 67.446627 54.957367 78.397692 60.941406 86.929688 C 68.583415 98.108042 81.45297 105.49998 94.955078 106.49414 C 106.54011 107.47506 118.38117 103.97767 127.69727 97.052734 C 140.03453 88.048478 148.27185 73.639108 149.67578 58.419922 C 151.00619 45.171814 147.4177 31.531028 139.85938 20.582031 C 130.27054 6.4471034 114.71504 -3.4768114 97.845703 -6.1816406 C 93.675003 -6.866132 89.439024 -7.1235453 85.214844 -6.9941406 z "
d="M 85.203125,-7.3242188 C 69.920576,-6.8219072 54.978371,-0.73159347 43.488281,9.3105469 29.730781,21.167938 20.62376,38.325311 18.755859,56.416016 c -1.734796,15.95712 1.938409,32.407948 10.191407,46.164064 10.334605,17.47423 27.516469,30.69674 46.990234,36.375 6.645281,1.95148 13.56116,3.1467 20.517578,3.0625 19.153082,0.25684 38.305822,0.51598 57.458982,0.77148 a 0.33113676,0.33113676 0 0 0 0.33399,-0.30664 c 0.64021,-8.0547 1.28097,-16.1094 1.92187,-24.16406 a 0.33113676,0.33113676 0 0 0 -0.32617,-0.35742 c -20.65485,-0.286 -41.30981,-0.51288 -61.960938,-0.86719 h -0.0039 c -13.133341,-1.00893 -25.787797,-7.10439 -35.0625,-16.4375 a 0.33113676,0.33113676 0 0 0 0,-0.002 C 52.343603,94.184995 47.495562,86.16238 45.046875,77.314453 a 0.33113676,0.33113676 0 0 0 0,-0.002 C 42.922997,69.749353 42.661672,61.651864 44.335938,54.025391 47.301902,40.407665 56.579386,28.264581 69.050781,22.005859 a 0.33113676,0.33113676 0 0 0 0.002,-0.002 c 7.218526,-3.661983 15.535683,-5.174225 23.513672,-4.125 a 0.33113676,0.33113676 0 0 0 0.002,0 c 12.749801,1.558443 24.475741,10.023864 29.830081,21.716797 1.528,3.328833 2.54287,7.075443 2.8457,10.787109 a 0.33113676,0.33113676 0 0 0 0,0.0039 c 0.50314,5.427095 -0.52104,11.148138 -3.02734,16.058593 a 0.33113676,0.33113676 0 0 0 -0.002,0.002 c -3.77296,7.555238 -10.91161,13.615485 -19.2832,15.21289 a 0.33113676,0.33113676 0 0 0 0,0.002 c -4.546338,0.882115 -9.418457,0.367934 -13.595702,-1.726562 a 0.33113676,0.33113676 0 0 0 -0.0039,-0.002 c -5.431125,-2.626837 -9.860013,-7.754966 -10.794922,-13.78711 -0.497265,-3.192735 0.282359,-6.536996 2.125,-9.185546 -0.0139,2.705038 0.257235,5.460018 1.404297,7.986328 1.724833,4.159718 5.336057,7.559506 9.757813,8.675781 3.964246,1.059122 8.116269,0.326271 11.890621,-0.886719 a 0.33113676,0.33113676 0 0 0 0.002,0 c 2.75294,-0.915515 5.13542,-2.694581 6.95508,-4.916016 l 0.004,-0.0059 c 4.22887,-4.970422 5.92559,-11.850563 4.76367,-18.238281 v -0.0039 c -1.39169,-8.320828 -7.31354,-15.475053 -14.83007,-19.078125 l -0.002,-0.002 C 92.910555,26.731743 83.676017,26.736335 75.808594,29.951172 64.535605,34.499437 56.212806,45.226465 54.117188,57.134766 c -1.968025,10.346436 0.517884,21.379932 6.552734,29.984375 7.700829,11.262849 20.653527,18.702169 34.257812,19.705079 11.668956,0.98802 23.584106,-2.53175 32.964846,-9.503908 l 0.002,-0.002 c 12.41469,-9.061773 20.69784,-23.548746 22.11133,-38.865234 v -0.002 c 1.33798,-13.328328 -2.27053,-27.040971 -9.87305,-38.054688 v -0.002 C 130.49093,6.1822132 114.86084,-3.7880615 97.898438,-6.5078125 93.705473,-7.195958 89.449462,-7.4542424 85.205078,-7.3242188 a 0.33113676,0.33113676 0 0 0 -0.002,0 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.5 KiB