diff --git a/app.config.js b/app.config.js
index 69bed71dd..84509c4e5 100644
--- a/app.config.js
+++ b/app.config.js
@@ -38,8 +38,8 @@ module.exports = {
'expo-font',
{
fonts: [
- 'node_modules/@lad-tech/mobydick-core/src/typography/assets/fonts/Inter.ttf',
- 'node_modules/@lad-tech/mobydick-core/src/styles/icons/font/assets/fonts/Neotis.ttf',
+ 'node_modules/@lad-tech/mobydick-core/src/styles/icons/font/assets/fonts',
+ 'node_modules/expo-google-fonts/inter',
],
},
],
diff --git a/docs/docs/guides/core/Introduction.mdx b/docs/docs/guides/core/Introduction.mdx
index e723a28e5..d8a169558 100644
--- a/docs/docs/guides/core/Introduction.mdx
+++ b/docs/docs/guides/core/Introduction.mdx
@@ -14,7 +14,7 @@ sidebar_position: 0
npm install @lad-tech/mobydick-core react-native-svg react-native-svg-transformer react-native-safe-area-context
```
-## Font
+### Bare React Native
To use typography font, you must install the font. To do this, in `react-native.config.js` you need to add the path to it to `assets`:
@@ -28,6 +28,9 @@ module.exports = {
...,
// highlight-next-line
'node_modules/@lad-tech/mobydick-core/src/typography/assets/fonts/',
+ // highlight-next-line
+ 'node_modules/@lad-tech/mobydick-core/src/styles/icons/font/assets/fonts/',
+
],
};
```
@@ -38,27 +41,76 @@ and run the command
npx react-native-asset
```
-## Icons
+### Expo
-To use font icons, you must install the font. To do this, in `react-native.config.js` you need to add the path to it to `assets`:
+add new fonts into `app.json` (`app.config.js`)
```js
-module.exports = {
- project: {
- ios: {},
- android: {},
- },
- assets: [
- ...,
- // highlight-next-line
- 'node_modules/@lad-tech/mobydick-core/src/styles/icons/font/assets/fonts/',
+plugins: [
+ ...
+ [
+ 'expo-font',
+ {
+ fonts: [
+ // highlight-next-line
+ 'node_modules/@lad-tech/mobydick-core/src/styles/icons/font/assets/fonts',
+ // highlight-next-line
+ 'node_modules/expo-google-fonts/inter',
+ ],
+ },
],
-};
+],
```
+and load them into `_layout.ts`
+
+```ts
+import {useFonts} from 'expo-font';
+import {SplashScreen} from 'expo-router';
+import {useEffect} from 'react';
+import {
+ Inter_100Thin,
+ Inter_200ExtraLight,
+ Inter_300Light,
+ Inter_400Regular,
+ Inter_500Medium,
+ Inter_600SemiBold,
+ Inter_700Bold,
+ Inter_800ExtraBold,
+ Inter_900Black,
+} from '@expo-google-fonts/inter';
+
+
+// Prevent the splash screen from auto-hiding before asset loading is complete.
+SplashScreen.preventAutoHideAsync();
+
+export default () => {
+ const [loaded] = useFonts({
+ Inter_100Thin,
+ Inter_200ExtraLight,
+ Inter_300Light,
+ Inter_400Regular,
+ Inter_500Medium,
+ Inter_600SemiBold,
+ Inter_700Bold,
+ Inter_800ExtraBold,
+ Inter_900Black,
+ Neotis: require('@lad-tech/mobydick-core/src/styles/icons/font/assets/fonts/Neotis.ttf'),
+ });
+
+ useEffect(() => {
+ if (loaded) {
+ SplashScreen.hideAsync();
+ }
+ }, [loaded]);
+
+ if (!loaded) {
+ return null;
+ }
+
+ return (
+ ...
+ );
+};
-and run the command
-
-```bash
-npx react-native-asset
```
diff --git a/docs/docs/guides/core/Theme.mdx b/docs/docs/guides/core/Theme.mdx
index 919f322c1..1161c4bef 100644
--- a/docs/docs/guides/core/Theme.mdx
+++ b/docs/docs/guides/core/Theme.mdx
@@ -10,13 +10,34 @@ You can control you theme by theme props in `ThemeProvider`
import {
CurrentTheme,
defaultSpaces,
- getShadows,
- ThemeProvider,
+ getShadows,TFontWeight,
+ ThemeProvider
} from '@lad-tech/mobydick-core';
import {Navigation} from '@/pages/Navigation';
import {themeColors} from '@/shared/lib/theme';
-import {fonts} from '@/shared/lib/theme/deafultFont';
-
+import { Platform } from 'react-native';
+
+export const fontResolver = (weight: TFontWeight) => {
+ const map = {
+ [TFontWeight.Bold]: Platform.select({
+ android: 'Inter_700Bold',
+ ios: 'Inter-Bold',
+ }),
+ [TFontWeight.SemiBold]: Platform.select({
+ android: 'Inter_600SemiBold',
+ ios: 'Inter-SemiBold',
+ }),
+ [TFontWeight.Medium]: Platform.select({
+ android: 'Inter_500Medium',
+ ios: 'Inter-Medium',
+ }),
+ [TFontWeight.Regular]: Platform.select({
+ android: 'Inter_400Regular',
+ ios: 'Inter-Regular',
+ }),
+ };
+ return map[weight];
+};
function App() {
return (
@@ -27,11 +48,11 @@ function App() {
spaces: {
...defaultSpaces,
},
- fonts: fonts,
shadows: getShadows({
spaces: defaultSpaces,
currentTheme: CurrentTheme.light,
}),
+ customFontResolver: fontResolver
}}>
@@ -67,14 +88,6 @@ All possible colors group by theme
All possible spaces
-###
Required
**`fonts`**
-
-| TYPE |
-|:--------------------------------------------------------------------------------------------------------|
-| [fonts](https://github.com/lad-tech/mobydick/blob/main/packages/core/src/styles/constants/theme.ts#L31) |
-
-Map for font
-
### Required
**`shadows`**
| TYPE |
@@ -82,3 +95,11 @@ Map for font
| [shadow](https://github.com/lad-tech/mobydick/blob/main/packages/core/src/styles/constants/theme.ts#L69) |
Map for shadow
+
+### **`customFontResolver`**
+
+| TYPE |
+|:------------------------------------------------------------------------------------------------------------------------------------|
+| [(weigth: string) => string)](https://github.com/lad-tech/mobydick/blob/main/packages/core/src/typography/utils/fontResolver.ts#L5) |
+
+Custom function for font resolve. (If your app need use another font instead of Inter)
diff --git a/jest.config.js b/jest.config.js
index 616605fac..665440ba7 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -1,5 +1,5 @@
module.exports = {
- 'preset': 'react-native',
+ "preset": "jest-expo",
'moduleFileExtensions': [
'ts',
'tsx',
@@ -10,8 +10,8 @@ module.exports = {
],
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.(ts|tsx?)$',
"setupFiles": ["@shopify/react-native-skia/jestSetup.js", "./node_modules/react-native-gesture-handler/jestSetup.js"],
- 'transformIgnorePatterns': [
- 'node_modules/(?!(jest-)?react-native|@react-native-community|@react-native|@react-navigation/.*|@shopify/react-native-skia)',
+ "transformIgnorePatterns": [
+ "node_modules/(?!((jest-)?react-native|@react-native(-community)?)|expo(nent)?|@expo(nent)?/.*|@expo-google-fonts/.*|react-navigation|@react-navigation/.*|@sentry/react-native|native-base|react-native-svg)"
],
'setupFilesAfterEnv': [
'/__mocks__/globalMock.ts',
diff --git a/package.json b/package.json
index c4102f8d7..abb01b304 100644
--- a/package.json
+++ b/package.json
@@ -31,11 +31,11 @@
"packages/*"
],
"dependencies": {
+ "@expo-google-fonts/inter": "^0.2.3",
"@react-navigation/bottom-tabs": "^6.5.18",
"@react-navigation/native": "^6.1.9",
"@react-navigation/native-stack": "^6.9.17",
"@shopify/react-native-skia": "1.2.3",
- "add": "^2.0.6",
"expo": "~51.0.34",
"expo-linking": "^6.3.1",
"expo-router": "^3.5.23",
@@ -68,7 +68,7 @@
"@semantic-release/npm": "^11.0.2",
"@testing-library/react-hooks": "^8.0.0",
"@testing-library/react-native": "^9.1.0",
- "@types/jest": "^29.5.12",
+ "@types/jest": "^29.5.13",
"@types/react": "^18.2.6",
"@types/react-native": "^0.67.3",
"@types/react-test-renderer": "^18.0.0",
@@ -79,6 +79,7 @@
"babel-plugin-module-resolver": "^5.0.0",
"eslint": "^8.56.0",
"jest": "^29.7.0",
+ "jest-expo": "^51.0.4",
"jest-sonar-reporter": "^2.0.0",
"lefthook": "^1.7.16",
"prettier": "^3.2.4",
diff --git a/packages/chart/package.json b/packages/chart/package.json
index cab3faac8..e03a91660 100644
--- a/packages/chart/package.json
+++ b/packages/chart/package.json
@@ -35,8 +35,9 @@
"react-native": ">=0.66.4",
"react": ">=17.0.2",
"@lad-tech/mobydick-core": "7.35.0-next.7",
+ "@expo-google-fonts/inter": "^0.2.3",
"@shopify/react-native-skia": ">=0.1.234",
"react-native-reanimated": ">=3.6.1",
"react-native-gesture-handler": ">=2.14.1"
}
-}
\ No newline at end of file
+}
diff --git a/packages/chart/src/BarChart/index.tsx b/packages/chart/src/BarChart/index.tsx
index 052db96d8..84998ed69 100644
--- a/packages/chart/src/BarChart/index.tsx
+++ b/packages/chart/src/BarChart/index.tsx
@@ -12,6 +12,7 @@ import {useSafeAreaFrame} from 'react-native-safe-area-context';
import {useDerivedValue, useSharedValue} from 'react-native-reanimated';
import {useTheme, View} from '@lad-tech/mobydick-core';
import {StyleProp, ViewStyle} from 'react-native';
+import {Inter_400Regular} from '@expo-google-fonts/inter';
import {
IDataset,
@@ -47,11 +48,7 @@ export const BarChart = ({
formatterY,
formatterX,
}: IBarChartProps) => {
- const font = useFont(
- // eslint-disable-next-line @typescript-eslint/no-var-requires
- require('@lad-tech/mobydick-core/src/typography/assets/fonts/Inter-Regular.ttf'),
- 12,
- );
+ const font = useFont(Inter_400Regular, 12);
const {colors, spaces} = useTheme();
const ref = useCanvasRef();
diff --git a/packages/chart/src/LineChart/index.tsx b/packages/chart/src/LineChart/index.tsx
index 0b869c918..85bad411d 100644
--- a/packages/chart/src/LineChart/index.tsx
+++ b/packages/chart/src/LineChart/index.tsx
@@ -19,6 +19,17 @@ import {
GestureDetector,
GestureHandlerRootView,
} from 'react-native-gesture-handler';
+import {
+ Inter_100Thin,
+ Inter_200ExtraLight,
+ Inter_300Light,
+ Inter_400Regular,
+ Inter_500Medium,
+ Inter_600SemiBold,
+ Inter_700Bold,
+ Inter_800ExtraBold,
+ Inter_900Black,
+} from '@expo-google-fonts/inter';
import Coordinates from '../components/Coordinates';
import {
@@ -70,17 +81,19 @@ export const LineChart = ({
const {colors, spaces} = useTheme();
const fontMgr = useFonts({
Inter: [
- require('@lad-tech/mobydick-core/src/typography/assets/fonts/Inter-Bold.ttf'),
- require('@lad-tech/mobydick-core/src/typography/assets/fonts/Inter-Italic.ttf'),
- require('@lad-tech/mobydick-core/src/typography/assets/fonts/Inter-Regular.ttf'),
+ Inter_100Thin,
+ Inter_200ExtraLight,
+ Inter_300Light,
+ Inter_400Regular,
+ Inter_500Medium,
+ Inter_600SemiBold,
+ Inter_700Bold,
+ Inter_800ExtraBold,
+ Inter_900Black,
],
});
- const font = useFont(
- // eslint-disable-next-line @typescript-eslint/no-var-requires
- require('@lad-tech/mobydick-core/src/typography/assets/fonts/Inter-Medium.ttf'),
- 12,
- );
+ const font = useFont(Inter_500Medium, 12);
const ref = useCanvasRef();
diff --git a/packages/core/package.json b/packages/core/package.json
index 3456623ab..4d972bef0 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -37,6 +37,7 @@
"react-native-svg-transformer": ">=1.0.0"
},
"dependencies": {
+ "@expo-google-fonts/inter": "^0.2.3",
"@tabler/icons-react-native": "^3.7.0"
}
-}
\ No newline at end of file
+}
diff --git a/packages/core/src/cta/components/Button/__tests__/__snapshots__/Button.test.tsx.snap b/packages/core/src/cta/components/Button/__tests__/__snapshots__/Button.test.tsx.snap
index 0ce4e81ef..e6fda8145 100644
--- a/packages/core/src/cta/components/Button/__tests__/__snapshots__/Button.test.tsx.snap
+++ b/packages/core/src/cta/components/Button/__tests__/__snapshots__/Button.test.tsx.snap
@@ -202,7 +202,7 @@ exports[`@lad-tech/mobydick-core/Button renders correctly destructive 1`] = `
[
{
"color": "#2B78EE",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 16,
"fontWeight": "600",
"lineHeight": 20,
@@ -868,7 +868,7 @@ exports[`@lad-tech/mobydick-core/Button renders correctly loading types 3`] = `
[
{
"color": "#2B78EE",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 16,
"fontWeight": "600",
"lineHeight": 20,
@@ -957,7 +957,7 @@ exports[`@lad-tech/mobydick-core/Button renders correctly loading types 4`] = `
[
{
"color": "#FFFFFF",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 16,
"fontWeight": "600",
"lineHeight": 20,
@@ -1046,7 +1046,7 @@ exports[`@lad-tech/mobydick-core/Button renders correctly loading types 5`] = `
[
{
"color": "#FFFFFF",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 16,
"fontWeight": "600",
"lineHeight": 20,
@@ -1199,7 +1199,7 @@ exports[`@lad-tech/mobydick-core/Button renders correctly loading types 7`] = `
[
{
"color": "#2B78EE",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 16,
"fontWeight": "600",
"lineHeight": 20,
@@ -1288,7 +1288,7 @@ exports[`@lad-tech/mobydick-core/Button renders correctly loading types 8`] = `
[
{
"color": "#2B78EE",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 16,
"fontWeight": "600",
"lineHeight": 20,
diff --git a/packages/core/src/other/components/Avatar/__tests__/__snapshots__/Avatar.test.tsx.snap b/packages/core/src/other/components/Avatar/__tests__/__snapshots__/Avatar.test.tsx.snap
index 046fe4149..d5b408f8f 100644
--- a/packages/core/src/other/components/Avatar/__tests__/__snapshots__/Avatar.test.tsx.snap
+++ b/packages/core/src/other/components/Avatar/__tests__/__snapshots__/Avatar.test.tsx.snap
@@ -128,7 +128,7 @@ exports[`Avatar render avatar badge counter 1`] = `
[
{
"color": "#F54C3D",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 10,
"fontWeight": "600",
"lineHeight": 14,
diff --git a/packages/core/src/other/components/Badge/Counter/__tests__/__snapshots__/Counter.test.tsx.snap b/packages/core/src/other/components/Badge/Counter/__tests__/__snapshots__/Counter.test.tsx.snap
index 5dc11ecc4..caf7ca8ae 100644
--- a/packages/core/src/other/components/Badge/Counter/__tests__/__snapshots__/Counter.test.tsx.snap
+++ b/packages/core/src/other/components/Badge/Counter/__tests__/__snapshots__/Counter.test.tsx.snap
@@ -26,7 +26,7 @@ exports[`Counter render counter ICounterSize.medium 1`] = `
[
{
"color": "#FFFFFF",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 16,
"fontWeight": "600",
"lineHeight": 20,
@@ -71,7 +71,7 @@ exports[`Counter render counter ICounterSize.small 1`] = `
[
{
"color": "#FFFFFF",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 10,
"fontWeight": "600",
"lineHeight": 14,
@@ -116,7 +116,7 @@ exports[`Counter render counter ICounterTypes.accent 1`] = `
[
{
"color": "#FFFFFF",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 16,
"fontWeight": "600",
"lineHeight": 20,
@@ -161,7 +161,7 @@ exports[`Counter render counter ICounterTypes.accentLight 1`] = `
[
{
"color": "#2B78EE",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 16,
"fontWeight": "600",
"lineHeight": 20,
@@ -206,7 +206,7 @@ exports[`Counter render counter ICounterTypes.attention 1`] = `
[
{
"color": "#FFFFFF",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 16,
"fontWeight": "600",
"lineHeight": 20,
@@ -251,7 +251,7 @@ exports[`Counter render counter ICounterTypes.attentionLight 1`] = `
[
{
"color": "#F54C3D",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 16,
"fontWeight": "600",
"lineHeight": 20,
@@ -296,7 +296,7 @@ exports[`Counter render counter ICounterTypes.muted 1`] = `
[
{
"color": "#FFFFFF",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 16,
"fontWeight": "600",
"lineHeight": 20,
@@ -341,7 +341,7 @@ exports[`Counter render counter ICounterTypes.mutedLight 1`] = `
[
{
"color": "#9BA1B0",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 16,
"fontWeight": "600",
"lineHeight": 20,
@@ -388,7 +388,7 @@ exports[`Counter render counter style 1`] = `
[
{
"color": "#FFFFFF",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 16,
"fontWeight": "600",
"lineHeight": 20,
@@ -433,7 +433,7 @@ exports[`Counter render font 1`] = `
[
{
"color": "#151C2C",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-Bold",
"fontSize": 10,
"fontWeight": "700",
"lineHeight": 14,
diff --git a/packages/core/src/styles/constants/theme.ts b/packages/core/src/styles/constants/theme.ts
index 5a006259c..58ced15a8 100644
--- a/packages/core/src/styles/constants/theme.ts
+++ b/packages/core/src/styles/constants/theme.ts
@@ -71,8 +71,6 @@ export const defaultTheme: IDefaultTheme = {
spaces: {
...defaultSpaces,
},
- fonts: defaultFonts,
- font: defaultFont,
shadows: getShadows({
spaces: defaultSpaces,
currentTheme: CurrentTheme.light,
diff --git a/packages/core/src/styles/context/ThemeProvider.tsx b/packages/core/src/styles/context/ThemeProvider.tsx
index 91a0e0e24..4ecda130e 100644
--- a/packages/core/src/styles/context/ThemeProvider.tsx
+++ b/packages/core/src/styles/context/ThemeProvider.tsx
@@ -23,8 +23,6 @@ const ThemeProvider: FC<
currentThemeState
] as (typeof defaultTheme.colors)[0], // I think no one don't be setting currentTheme to not keys of colors,
spaces: themeState.spaces,
- fonts: themeState.fonts,
- font: themeState.font,
shadows: getShadows({
spaces: themeState.spaces,
currentTheme: currentThemeState,
diff --git a/packages/core/src/styles/context/context.ts b/packages/core/src/styles/context/context.ts
index ff4ec4663..f8fef478a 100644
--- a/packages/core/src/styles/context/context.ts
+++ b/packages/core/src/styles/context/context.ts
@@ -1,6 +1,6 @@
import {createContext} from 'react';
-import {defaultFont, defaultFonts, defaultTheme} from '../constants/theme';
+import {defaultTheme} from '../constants/theme';
import {IThemeContext} from '../types';
export const MissingThemeProviderError = new Error(
@@ -18,8 +18,6 @@ export const defaultThemeContext: IThemeContext = {
defaultTheme.currentTheme
] as (typeof defaultTheme.colors)[0],
currentTheme: defaultTheme.currentTheme,
- fonts: defaultFonts,
- font: defaultFont,
shadows: defaultTheme.shadows,
setTheme: missingFunc,
diff --git a/packages/core/src/styles/types.ts b/packages/core/src/styles/types.ts
index bfe7a493d..b69062d1d 100644
--- a/packages/core/src/styles/types.ts
+++ b/packages/core/src/styles/types.ts
@@ -1,6 +1,6 @@
import {ImageStyle, TextStyle, ViewStyle} from 'react-native';
-import {TWeights} from '../typography';
+import {TFontWeight} from '../typography';
import {
CurrentTheme,
@@ -37,9 +37,7 @@ export interface IDefaultTheme {
IAdditionalColors
>;
spaces: IDefaultSpaces;
- /** @deprecated use font **/
- fonts: TWeights;
- font: string;
+
shadows: IShadow;
}
@@ -57,8 +55,7 @@ export interface IThemeContext {
IBannerColors &
IAdditionalColors;
spaces: IDefaultSpaces;
- fonts: TWeights;
- font: string;
+ customFontResolver?: (weight: TFontWeight) => string;
shadows: IShadow;
setTheme: (theme: IDefaultTheme) => void;
diff --git a/packages/core/src/typography/assets/fonts/Inter-Bold.ttf b/packages/core/src/typography/assets/fonts/Inter-Bold.ttf
deleted file mode 100644
index 906232896..000000000
Binary files a/packages/core/src/typography/assets/fonts/Inter-Bold.ttf and /dev/null differ
diff --git a/packages/core/src/typography/assets/fonts/Inter-BoldItalic.ttf b/packages/core/src/typography/assets/fonts/Inter-BoldItalic.ttf
deleted file mode 100644
index ea08781c6..000000000
Binary files a/packages/core/src/typography/assets/fonts/Inter-BoldItalic.ttf and /dev/null differ
diff --git a/packages/core/src/typography/assets/fonts/Inter-Italic.ttf b/packages/core/src/typography/assets/fonts/Inter-Italic.ttf
deleted file mode 100644
index 384165534..000000000
Binary files a/packages/core/src/typography/assets/fonts/Inter-Italic.ttf and /dev/null differ
diff --git a/packages/core/src/typography/assets/fonts/Inter-Medium.ttf b/packages/core/src/typography/assets/fonts/Inter-Medium.ttf
deleted file mode 100644
index 49b53ab34..000000000
Binary files a/packages/core/src/typography/assets/fonts/Inter-Medium.ttf and /dev/null differ
diff --git a/packages/core/src/typography/assets/fonts/Inter-Regular.ttf b/packages/core/src/typography/assets/fonts/Inter-Regular.ttf
deleted file mode 100644
index f17b596c9..000000000
Binary files a/packages/core/src/typography/assets/fonts/Inter-Regular.ttf and /dev/null differ
diff --git a/packages/core/src/typography/assets/fonts/Inter-SemiBold.ttf b/packages/core/src/typography/assets/fonts/Inter-SemiBold.ttf
deleted file mode 100644
index 01523b222..000000000
Binary files a/packages/core/src/typography/assets/fonts/Inter-SemiBold.ttf and /dev/null differ
diff --git a/packages/core/src/typography/assets/fonts/Inter.ttf b/packages/core/src/typography/assets/fonts/Inter.ttf
deleted file mode 100644
index e72470871..000000000
Binary files a/packages/core/src/typography/assets/fonts/Inter.ttf and /dev/null differ
diff --git a/packages/core/src/typography/components/Title/__tests__/__snapshots__/Title.test.tsx.snap b/packages/core/src/typography/components/Title/__tests__/__snapshots__/Title.test.tsx.snap
index 7f5f9f81b..810e582e0 100644
--- a/packages/core/src/typography/components/Title/__tests__/__snapshots__/Title.test.tsx.snap
+++ b/packages/core/src/typography/components/Title/__tests__/__snapshots__/Title.test.tsx.snap
@@ -7,7 +7,7 @@ exports[`@lad-tech/mobydick-core/Header renders default correctly 1`] = `
[
{
"color": "#20242D",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-SemiBold",
"fontSize": 36,
"fontWeight": "600",
"lineHeight": 40,
diff --git a/packages/core/src/typography/components/Typography/__tests__/__snapshots__/Typography.test.tsx.snap b/packages/core/src/typography/components/Typography/__tests__/__snapshots__/Typography.test.tsx.snap
index 77c3beb32..59adc6065 100644
--- a/packages/core/src/typography/components/Typography/__tests__/__snapshots__/Typography.test.tsx.snap
+++ b/packages/core/src/typography/components/Typography/__tests__/__snapshots__/Typography.test.tsx.snap
@@ -7,7 +7,7 @@ exports[`@lad-tech/mobydick-core/Typography renders default correctly 1`] = `
[
{
"color": "#20242D",
- "fontFamily": "Inter",
+ "fontFamily": "Inter-Regular",
"fontSize": 14,
"fontWeight": "400",
"lineHeight": 18,
diff --git a/packages/core/src/typography/hooks/useFont.ts b/packages/core/src/typography/hooks/useFont.ts
index b987735ec..9b860f7cb 100644
--- a/packages/core/src/typography/hooks/useFont.ts
+++ b/packages/core/src/typography/hooks/useFont.ts
@@ -6,18 +6,19 @@ import {
TFontWeight,
TypographyLegacyProp,
} from '../types';
-import {getSize} from '../utils';
+import {fontResolver, getSize} from '../utils';
export const useFont = (font: TypographyLegacyProp = 'Regular-Primary-S') => {
- const {colors, theme} = useTheme();
- const getWeight = (weight: TFontWeight): string => theme.fonts[weight];
+ const {colors, customFontResolver} = useTheme();
const [weight, color, size] = font.split('-');
const {fontSize, lineHeight} = getSize(size as TFontSize);
const fontStyle = {
color: colors[`${TEXT}${color as TFontColor}`],
- fontFamily: getWeight(weight as TFontWeight),
+ fontFamily: customFontResolver
+ ? customFontResolver(weight as TFontWeight)
+ : fontResolver(weight as TFontWeight),
fontSize,
lineHeight,
minHeight: lineHeight,
diff --git a/packages/core/src/typography/hooks/useFontBody.ts b/packages/core/src/typography/hooks/useFontBody.ts
index 6c9a218d1..e9ff9f97d 100644
--- a/packages/core/src/typography/hooks/useFontBody.ts
+++ b/packages/core/src/typography/hooks/useFontBody.ts
@@ -8,22 +8,24 @@ import {
TFontWeight,
TypographyProp,
} from '../types';
-import {getSize} from '../utils';
+import {fontResolver, getSize} from '../utils';
import {getWeight} from '../utils/getWeight';
export const useFontBody = (font: TypographyProp = 'Regular-Primary-S') => {
- const {colors, theme} = useTheme();
+ const {colors, customFontResolver} = useTheme();
- const [wight, color, size] = font.split('-');
+ const [weight, color, size] = font.split('-');
const {fontSize, lineHeight} = getSize(size as TFontSize);
const fontStyle: TextStyle = {
color: colors[`${TEXT}${color as TFontColor}`],
- fontFamily: theme.font,
+ fontFamily: customFontResolver
+ ? customFontResolver(weight as TFontWeight)
+ : fontResolver(weight as TFontWeight),
fontSize,
lineHeight,
minHeight: lineHeight,
- fontWeight: getWeight(wight as TFontWeight),
+ fontWeight: getWeight(weight as TFontWeight),
};
return {fontStyle};
diff --git a/packages/core/src/typography/hooks/useFontHeader.ts b/packages/core/src/typography/hooks/useFontHeader.ts
index 3e91c45b5..071cffe17 100644
--- a/packages/core/src/typography/hooks/useFontHeader.ts
+++ b/packages/core/src/typography/hooks/useFontHeader.ts
@@ -2,18 +2,20 @@ import {TextStyle} from 'react-native';
import useTheme from '../../styles/hooks/useTheme';
import {TEXT, TFontColor, TFontSize, TFontWeight, TitleProp} from '../types';
-import {getSize} from '../utils';
+import {fontResolver, getSize} from '../utils';
import {getWeight} from '../utils/getWeight';
export const useFontHeader = (font: TitleProp = 'Primary-H1') => {
- const {colors, theme} = useTheme();
+ const {colors, customFontResolver} = useTheme();
const [color, size] = font.split('-');
const {fontSize, lineHeight} = getSize(size as TFontSize);
const fontStyle: TextStyle = {
color: colors[`${TEXT}${color as TFontColor}`],
- fontFamily: theme.font,
+ fontFamily: customFontResolver
+ ? customFontResolver(TFontWeight.SemiBold)
+ : fontResolver(TFontWeight.SemiBold),
fontSize,
lineHeight,
minHeight: lineHeight,
diff --git a/packages/core/src/typography/utils/fontResolver.ts b/packages/core/src/typography/utils/fontResolver.ts
new file mode 100644
index 000000000..f4ea05e7f
--- /dev/null
+++ b/packages/core/src/typography/utils/fontResolver.ts
@@ -0,0 +1,30 @@
+import {Platform} from 'react-native';
+
+import {TFontWeight} from '../types';
+
+export const fontResolver = (weight: TFontWeight) => {
+ const map = {
+ [TFontWeight.Bold]: Platform.select({
+ android: 'Inter_700Bold',
+ ios: 'Inter-Bold',
+ default: 'Inter_700Bold',
+ }),
+ [TFontWeight.SemiBold]: Platform.select({
+ android: 'Inter_600SemiBold',
+ ios: 'Inter-SemiBold',
+ default: 'Inter_600SemiBold',
+ }),
+ [TFontWeight.Medium]: Platform.select({
+ android: 'Inter_500Medium',
+ ios: 'Inter-Medium',
+ default: 'Inter_500Medium',
+ }),
+ [TFontWeight.Regular]: Platform.select({
+ android: 'Inter_400Regular',
+ ios: 'Inter-Regular',
+ default: 'Inter_400Regular',
+ }),
+ };
+
+ return map[weight];
+};
diff --git a/packages/core/src/typography/utils/index.ts b/packages/core/src/typography/utils/index.ts
index 3bc7799b5..30de0edb5 100644
--- a/packages/core/src/typography/utils/index.ts
+++ b/packages/core/src/typography/utils/index.ts
@@ -1 +1,2 @@
export * from './getSize';
+export {fontResolver} from './fontResolver';
diff --git a/src/app/_layout.tsx b/src/app/_layout.tsx
index 5ee5a664c..1cf35353b 100644
--- a/src/app/_layout.tsx
+++ b/src/app/_layout.tsx
@@ -5,6 +5,17 @@ import {SplashScreen} from 'expo-router';
import {useEffect} from 'react';
import {StatusBar} from 'expo-status-bar';
import {Appearance, Platform} from 'react-native';
+import {
+ Inter_100Thin,
+ Inter_200ExtraLight,
+ Inter_300Light,
+ Inter_400Regular,
+ Inter_500Medium,
+ Inter_600SemiBold,
+ Inter_700Bold,
+ Inter_800ExtraBold,
+ Inter_900Black,
+} from '@expo-google-fonts/inter';
import {PopupsProvider, ThemeProvider} from '@/shared/ui';
import MainStack from '@/pages/MainStack/ui';
@@ -32,7 +43,15 @@ const NavigationThemeWrapper = () => {
export default () => {
const [loaded] = useFonts({
- Inter: require('@lad-tech/mobydick-core/src/typography/assets/fonts/Inter.ttf'),
+ Inter_100Thin,
+ Inter_200ExtraLight,
+ Inter_300Light,
+ Inter_400Regular,
+ Inter_500Medium,
+ Inter_600SemiBold,
+ Inter_700Bold,
+ Inter_800ExtraBold,
+ Inter_900Black,
Neotis: require('@lad-tech/mobydick-core/src/styles/icons/font/assets/fonts/Neotis.ttf'),
});
diff --git a/src/pages/MainStack/Home/Core/Typography/Typography/ui/index.tsx b/src/pages/MainStack/Home/Core/Typography/Typography/ui/index.tsx
index 77a251172..00b5fa14d 100644
--- a/src/pages/MainStack/Home/Core/Typography/Typography/ui/index.tsx
+++ b/src/pages/MainStack/Home/Core/Typography/Typography/ui/index.tsx
@@ -27,8 +27,8 @@ const getAllTypography = (): TypographyProp[] => {
) as unknown as TFontColor[];
const result: TypographyProp[] = [];
- weights.forEach(weight => {
- colors.forEach(color => {
+ colors.forEach(color => {
+ weights.forEach(weight => {
sizes.forEach(size => {
result.push(`${weight}-${color}-${size}`);
});
diff --git a/src/widgets/Chart/ui/RenderHeader.tsx b/src/widgets/Chart/ui/RenderHeader.tsx
index 467f7360c..57f949051 100644
--- a/src/widgets/Chart/ui/RenderHeader.tsx
+++ b/src/widgets/Chart/ui/RenderHeader.tsx
@@ -1,7 +1,7 @@
import Animated, {useAnimatedProps} from 'react-native-reanimated';
import {TextInput} from 'react-native';
-import {IRenderHeader, TypographyLegacy, useFont, View} from '@/shared/ui';
+import {IRenderHeader, TypographyLegacy, useFontBody, View} from '@/shared/ui';
interface IRenderHeaderProps {
header: Parameters[number];
@@ -11,7 +11,7 @@ export const AnimatedText = Animated.createAnimatedComponent(TextInput);
Animated.addWhitelistedNativeProps({text: true});
const RenderHeader = ({header}: IRenderHeaderProps) => {
- const {fontStyle} = useFont('Regular-Primary-XS');
+ const {fontStyle} = useFontBody('Regular-Primary-XS');
const animatedPropsPeriod = useAnimatedProps(() => {
return {
text: header.selectedPeriodName.value,
diff --git a/yarn.lock b/yarn.lock
index 2ad002657..2d4a75fb1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2000,6 +2000,11 @@
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b"
integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==
+"@expo-google-fonts/inter@^0.2.3":
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/@expo-google-fonts/inter/-/inter-0.2.3.tgz#82bf7224bb76fc6614a00393a9e9ee4d6dd09dcb"
+ integrity sha512-iHK9FI+dnE45X5c2Z5hSFwNH4zUWethizpbv3XUn0FIGw5jwvzriENz0a6wCdkI4/d+1QkurnHo5XHti7TbNJA==
+
"@expo/bunyan@^4.0.0":
version "4.0.1"
resolved "https://registry.yarnpkg.com/@expo/bunyan/-/bunyan-4.0.1.tgz#ab9e17e36c71c704a0ce72168378a487368da736"
@@ -2465,7 +2470,7 @@
slash "^3.0.0"
strip-ansi "^6.0.0"
-"@jest/create-cache-key-function@^29.6.3":
+"@jest/create-cache-key-function@^29.2.1", "@jest/create-cache-key-function@^29.6.3":
version "29.7.0"
resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0"
integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==
@@ -4014,6 +4019,11 @@
dependencies:
pretty-format "^27.0.0"
+"@tootallnate/once@2":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
+ integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
+
"@trysound/sax@0.2.0":
version "0.2.0"
resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad"
@@ -4129,14 +4139,23 @@
dependencies:
"@types/istanbul-lib-report" "*"
-"@types/jest@^29.5.12":
- version "29.5.12"
- resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544"
- integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==
+"@types/jest@^29.5.13":
+ version "29.5.13"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.13.tgz#8bc571659f401e6a719a7bf0dbcb8b78c71a8adc"
+ integrity sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==
dependencies:
expect "^29.0.0"
pretty-format "^29.0.0"
+"@types/jsdom@^20.0.0":
+ version "20.0.1"
+ resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808"
+ integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==
+ dependencies:
+ "@types/node" "*"
+ "@types/tough-cookie" "*"
+ parse5 "^7.0.0"
+
"@types/json-schema@^7.0.12", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.9":
version "7.0.15"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
@@ -4243,6 +4262,11 @@
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8"
integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==
+"@types/tough-cookie@*":
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304"
+ integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==
+
"@types/triple-beam@^1.3.2":
version "1.3.5"
resolved "https://registry.yarnpkg.com/@types/triple-beam/-/triple-beam-1.3.5.tgz#74fef9ffbaa198eb8b588be029f38b00299caa2c"
@@ -4475,6 +4499,11 @@ JSONStream@^1.3.5:
jsonparse "^1.2.0"
through ">=2.2.7 <3"
+abab@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291"
+ integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==
+
abbrev@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf"
@@ -4495,26 +4524,41 @@ accepts@^1.3.7, accepts@^1.3.8, accepts@~1.3.5, accepts@~1.3.7:
mime-types "~2.1.34"
negotiator "0.6.3"
+acorn-globals@^7.0.0:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3"
+ integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==
+ dependencies:
+ acorn "^8.1.0"
+ acorn-walk "^8.0.2"
+
acorn-jsx@^5.3.2:
version "5.3.2"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+acorn-walk@^8.0.2:
+ version "8.3.4"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7"
+ integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==
+ dependencies:
+ acorn "^8.11.0"
+
acorn-walk@^8.1.1:
version "8.3.2"
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa"
integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==
+acorn@^8.1.0, acorn@^8.11.0, acorn@^8.8.1:
+ version "8.12.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248"
+ integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==
+
acorn@^8.4.1, acorn@^8.8.2, acorn@^8.9.0:
version "8.11.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a"
integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
-add@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/add/-/add-2.0.6.tgz#248f0a9f6e5a528ef2295dbeec30532130ae2235"
- integrity sha512-j5QzrmsokwWWp6kUcJQySpbG+xfOBqqKnup3OIk1pz+kB/80SLorZ9V8zHFLO92Lcd+hbvq8bT+zOGoPkmBV0Q==
-
agent-base@6:
version "6.0.2"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
@@ -4599,13 +4643,18 @@ anser@^1.4.9:
resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.10.tgz#befa3eddf282684bd03b63dcda3927aef8c2e35b"
integrity sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==
-ansi-escapes@^4.2.1, ansi-escapes@^4.3.2:
+ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.2:
version "4.3.2"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
dependencies:
type-fest "^0.21.3"
+ansi-escapes@^6.0.0:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.1.tgz#76c54ce9b081dad39acec4b5d53377913825fb0f"
+ integrity sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==
+
ansi-escapes@^6.2.0:
version "6.2.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.0.tgz#8a13ce75286f417f1963487d86ba9f90dccf9947"
@@ -4891,7 +4940,7 @@ babel-core@^7.0.0-bridge.0:
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==
-babel-jest@^29.6.3, babel-jest@^29.7.0:
+babel-jest@^29.2.1, babel-jest@^29.6.3, babel-jest@^29.7.0:
version "29.7.0"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5"
integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==
@@ -5374,6 +5423,14 @@ chalk@^2.0.1, chalk@^2.3.2, chalk@^2.4.2:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
+chalk@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
+ integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
chalk@^5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385"
@@ -5384,6 +5441,11 @@ char-regex@^1.0.2:
resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
+char-regex@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.1.tgz#6dafdb25f9d3349914079f010ba8d0e6ff9cd01e"
+ integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==
+
charenc@0.0.2, charenc@~0.0.1:
version "0.0.2"
resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
@@ -5973,6 +6035,23 @@ csso@^5.0.5:
dependencies:
css-tree "~2.2.0"
+cssom@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36"
+ integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==
+
+cssom@~0.3.6:
+ version "0.3.8"
+ resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
+ integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
+
+cssstyle@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852"
+ integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==
+ dependencies:
+ cssom "~0.3.6"
+
csstype@^3.0.2:
version "3.1.3"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
@@ -5993,6 +6072,15 @@ data-uri-to-buffer@^3.0.1:
resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636"
integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==
+data-urls@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143"
+ integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==
+ dependencies:
+ abab "^2.0.6"
+ whatwg-mimetype "^3.0.0"
+ whatwg-url "^11.0.0"
+
dayjs@^1.8.15:
version "1.11.10"
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0"
@@ -6032,6 +6120,11 @@ decamelize@^1.1.0, decamelize@^1.2.0:
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
+decimal.js@^10.4.2:
+ version "10.4.3"
+ resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23"
+ integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==
+
decode-uri-component@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9"
@@ -6208,6 +6301,13 @@ domelementtype@^2.3.0:
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
+domexception@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673"
+ integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==
+ dependencies:
+ webidl-conversions "^7.0.0"
+
domhandler@^5.0.2, domhandler@^5.0.3:
version "5.0.3"
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31"
@@ -6537,6 +6637,17 @@ escape-string-regexp@^4.0.0:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+escodegen@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17"
+ integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==
+ dependencies:
+ esprima "^4.0.1"
+ estraverse "^5.2.0"
+ esutils "^2.0.2"
+ optionalDependencies:
+ source-map "~0.6.1"
+
eslint-config-prettier@^9.1.0:
version "9.1.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f"
@@ -6710,7 +6821,7 @@ espree@^9.3.1, espree@^9.6.0, espree@^9.6.1:
acorn-jsx "^5.3.2"
eslint-visitor-keys "^3.4.1"
-esprima@^4.0.0, esprima@~4.0.0:
+esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
@@ -7226,6 +7337,15 @@ form-data@^3.0.1:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+form-data@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
+ integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
freeport-async@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/freeport-async/-/freeport-async-2.0.0.tgz#6adf2ec0c629d11abff92836acd04b399135bab4"
@@ -7772,6 +7892,13 @@ hosted-git-info@^7.0.0, hosted-git-info@^7.0.1:
dependencies:
lru-cache "^10.0.1"
+html-encoding-sniffer@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9"
+ integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==
+ dependencies:
+ whatwg-encoding "^2.0.0"
+
html-escaper@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
@@ -7793,6 +7920,15 @@ http-errors@2.0.0:
statuses "2.0.1"
toidentifier "1.0.1"
+http-proxy-agent@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
+ integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==
+ dependencies:
+ "@tootallnate/once" "2"
+ agent-base "6"
+ debug "4"
+
http-proxy-agent@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz#e9096c5afd071a3fce56e6252bb321583c124673"
@@ -7832,7 +7968,7 @@ hyphenate-style-name@^1.0.3:
resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz#1797bf50369588b47b72ca6d5e65374607cf4436"
integrity sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==
-iconv-lite@^0.6.2:
+iconv-lite@0.6.3, iconv-lite@^0.6.2:
version "0.6.3"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
@@ -8230,6 +8366,11 @@ is-plain-object@^2.0.4:
dependencies:
isobject "^3.0.1"
+is-potential-custom-element-name@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
+ integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
+
is-regex@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
@@ -8587,6 +8728,20 @@ jest-each@^29.7.0:
jest-util "^29.7.0"
pretty-format "^29.7.0"
+jest-environment-jsdom@^29.2.1:
+ version "29.7.0"
+ resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f"
+ integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==
+ dependencies:
+ "@jest/environment" "^29.7.0"
+ "@jest/fake-timers" "^29.7.0"
+ "@jest/types" "^29.6.3"
+ "@types/jsdom" "^20.0.0"
+ "@types/node" "*"
+ jest-mock "^29.7.0"
+ jest-util "^29.7.0"
+ jsdom "^20.0.0"
+
jest-environment-node@^29.6.3, jest-environment-node@^29.7.0:
version "29.7.0"
resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376"
@@ -8599,6 +8754,24 @@ jest-environment-node@^29.6.3, jest-environment-node@^29.7.0:
jest-mock "^29.7.0"
jest-util "^29.7.0"
+jest-expo@^51.0.4:
+ version "51.0.4"
+ resolved "https://registry.yarnpkg.com/jest-expo/-/jest-expo-51.0.4.tgz#a780e5a2f7d3c54534f799666fd00a5a11de0ac7"
+ integrity sha512-WmlR4rUur1TNF/F14brKCmPdX3TWf7Bno/6A1PuxnflN79LEIXpXuPKMlMWwCCChTohGB5FRniknRibblWu1ug==
+ dependencies:
+ "@expo/config" "~9.0.0-beta.0"
+ "@expo/json-file" "^8.3.0"
+ "@jest/create-cache-key-function" "^29.2.1"
+ babel-jest "^29.2.1"
+ find-up "^5.0.0"
+ jest-environment-jsdom "^29.2.1"
+ jest-watch-select-projects "^2.0.0"
+ jest-watch-typeahead "2.2.1"
+ json5 "^2.2.3"
+ lodash "^4.17.19"
+ react-test-renderer "18.2.0"
+ stacktrace-js "^2.0.2"
+
jest-get-type@^29.6.3:
version "29.6.3"
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1"
@@ -8670,7 +8843,7 @@ jest-pnp-resolver@^1.2.2:
resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e"
integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==
-jest-regex-util@^29.6.3:
+jest-regex-util@^29.0.0, jest-regex-util@^29.6.3:
version "29.6.3"
resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52"
integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==
@@ -8810,7 +8983,29 @@ jest-validate@^29.6.3, jest-validate@^29.7.0:
leven "^3.1.0"
pretty-format "^29.7.0"
-jest-watcher@^29.7.0:
+jest-watch-select-projects@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/jest-watch-select-projects/-/jest-watch-select-projects-2.0.0.tgz#4373d7e4de862aae28b46e036b669a4c913ea867"
+ integrity sha512-j00nW4dXc2NiCW6znXgFLF9g8PJ0zP25cpQ1xRro/HU2GBfZQFZD0SoXnAlaoKkIY4MlfTMkKGbNXFpvCdjl1w==
+ dependencies:
+ ansi-escapes "^4.3.0"
+ chalk "^3.0.0"
+ prompts "^2.2.1"
+
+jest-watch-typeahead@2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-2.2.1.tgz#36601520a2a30fd561788552dbda9c76bb44814a"
+ integrity sha512-jYpYmUnTzysmVnwq49TAxlmtOAwp8QIqvZyoofQFn8fiWhEDZj33ZXzg3JA4nGnzWFm1hbWf3ADpteUokvXgFA==
+ dependencies:
+ ansi-escapes "^6.0.0"
+ chalk "^4.0.0"
+ jest-regex-util "^29.0.0"
+ jest-watcher "^29.0.0"
+ slash "^5.0.0"
+ string-length "^5.0.1"
+ strip-ansi "^7.0.1"
+
+jest-watcher@^29.0.0, jest-watcher@^29.7.0:
version "29.7.0"
resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2"
integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==
@@ -8920,6 +9115,38 @@ jscodeshift@^0.14.0:
temp "^0.8.4"
write-file-atomic "^2.3.0"
+jsdom@^20.0.0:
+ version "20.0.3"
+ resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db"
+ integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==
+ dependencies:
+ abab "^2.0.6"
+ acorn "^8.8.1"
+ acorn-globals "^7.0.0"
+ cssom "^0.5.0"
+ cssstyle "^2.3.0"
+ data-urls "^3.0.2"
+ decimal.js "^10.4.2"
+ domexception "^4.0.0"
+ escodegen "^2.0.0"
+ form-data "^4.0.0"
+ html-encoding-sniffer "^3.0.0"
+ http-proxy-agent "^5.0.0"
+ https-proxy-agent "^5.0.1"
+ is-potential-custom-element-name "^1.0.1"
+ nwsapi "^2.2.2"
+ parse5 "^7.1.1"
+ saxes "^6.0.0"
+ symbol-tree "^3.2.4"
+ tough-cookie "^4.1.2"
+ w3c-xmlserializer "^4.0.0"
+ webidl-conversions "^7.0.0"
+ whatwg-encoding "^2.0.0"
+ whatwg-mimetype "^3.0.0"
+ whatwg-url "^11.0.0"
+ ws "^8.11.0"
+ xml-name-validator "^4.0.0"
+
jsesc@^2.5.1:
version "2.5.2"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
@@ -9471,7 +9698,7 @@ lodash.upperfirst@^4.3.1:
resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce"
integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==
-lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4:
+lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -10541,6 +10768,11 @@ nullthrows@^1.1.1:
resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1"
integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==
+nwsapi@^2.2.2:
+ version "2.2.12"
+ resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.12.tgz#fb6af5c0ec35b27b4581eb3bbad34ec9e5c696f8"
+ integrity sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==
+
ob1@0.80.8:
version "0.80.8"
resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.80.8.tgz#08be1b8398d004719074ad702c975a5c7e1b29f2"
@@ -10933,6 +11165,13 @@ parse-png@^2.1.0:
dependencies:
pngjs "^3.3.0"
+parse5@^7.0.0, parse5@^7.1.1:
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32"
+ integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==
+ dependencies:
+ entities "^4.4.0"
+
parseurl@~1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
@@ -11247,7 +11486,7 @@ promise@^8.3.0:
dependencies:
asap "~2.0.6"
-prompts@^2.0.1, prompts@^2.3.2, prompts@^2.4.2:
+prompts@^2.0.1, prompts@^2.2.1, prompts@^2.3.2, prompts@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
@@ -11276,6 +11515,11 @@ proto-list@~1.2.1:
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==
+psl@^1.1.33:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
+ integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
+
pump@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.2.tgz#836f3edd6bc2ee599256c924ffe0d88573ddcbf8"
@@ -11319,6 +11563,11 @@ querystring@^0.2.1:
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd"
integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==
+querystringify@^2.1.1:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
+ integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
+
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
@@ -11839,6 +12088,11 @@ requireg@^0.2.2:
rc "~1.2.7"
resolve "~1.7.1"
+requires-port@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
+ integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
+
reselect@^4.1.7:
version "4.1.8"
resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.8.tgz#3f5dc671ea168dccdeb3e141236f69f02eaec524"
@@ -11999,6 +12253,13 @@ sax@>=0.6.0:
resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f"
integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==
+saxes@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5"
+ integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==
+ dependencies:
+ xmlchars "^2.2.0"
+
scheduler@0.24.0-canary-efb381bbf-20230505:
version "0.24.0-canary-efb381bbf-20230505"
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz#5dddc60e29f91cd7f8b983d7ce4a99c2202d178f"
@@ -12325,7 +12586,7 @@ slash@^3.0.0:
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-slash@^5.1.0:
+slash@^5.0.0, slash@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-5.1.0.tgz#be3adddcdf09ac38eebe8dcdc7b1a57a75b095ce"
integrity sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==
@@ -12400,6 +12661,11 @@ source-map-support@^0.5.16, source-map-support@^0.5.21, source-map-support@~0.5.
buffer-from "^1.0.0"
source-map "^0.6.0"
+source-map@0.5.6:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
+ integrity sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==
+
source-map@^0.5.0, source-map@^0.5.6:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
@@ -12489,6 +12755,13 @@ ssri@^10.0.0, ssri@^10.0.5:
dependencies:
minipass "^7.0.3"
+stack-generator@^2.0.5:
+ version "2.0.10"
+ resolved "https://registry.yarnpkg.com/stack-generator/-/stack-generator-2.0.10.tgz#8ae171e985ed62287d4f1ed55a1633b3fb53bb4d"
+ integrity sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==
+ dependencies:
+ stackframe "^1.3.4"
+
stack-trace@0.0.x:
version "0.0.10"
resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
@@ -12506,6 +12779,23 @@ stackframe@^1.3.4:
resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310"
integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==
+stacktrace-gps@^3.0.4:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz#0c40b24a9b119b20da4525c398795338966a2fb0"
+ integrity sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==
+ dependencies:
+ source-map "0.5.6"
+ stackframe "^1.3.4"
+
+stacktrace-js@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.2.tgz#4ca93ea9f494752d55709a081d400fdaebee897b"
+ integrity sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==
+ dependencies:
+ error-stack-parser "^2.0.6"
+ stack-generator "^2.0.5"
+ stacktrace-gps "^3.0.4"
+
stacktrace-parser@^0.1.10:
version "0.1.10"
resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a"
@@ -12554,6 +12844,14 @@ string-length@^4.0.1:
char-regex "^1.0.2"
strip-ansi "^6.0.0"
+string-length@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/string-length/-/string-length-5.0.1.tgz#3d647f497b6e8e8d41e422f7e0b23bc536c8381e"
+ integrity sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==
+ dependencies:
+ char-regex "^2.0.0"
+ strip-ansi "^7.0.1"
+
"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
@@ -12811,6 +13109,11 @@ svgo@^3.0.2:
csso "^5.0.5"
picocolors "^1.0.0"
+symbol-tree@^3.2.4:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
+ integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
+
synckit@^0.8.6:
version "0.8.8"
resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.8.tgz#fe7fe446518e3d3d49f5e429f443cf08b6edfcd7"
@@ -13020,6 +13323,23 @@ toidentifier@1.0.1:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
+tough-cookie@^4.1.2:
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36"
+ integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==
+ dependencies:
+ psl "^1.1.33"
+ punycode "^2.1.1"
+ universalify "^0.2.0"
+ url-parse "^1.5.3"
+
+tr46@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9"
+ integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==
+ dependencies:
+ punycode "^2.1.1"
+
tr46@~0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
@@ -13378,6 +13698,11 @@ universalify@^0.1.0:
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+universalify@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
+ integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==
+
universalify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d"
@@ -13426,6 +13751,14 @@ url-join@^5.0.0:
resolved "https://registry.yarnpkg.com/url-join/-/url-join-5.0.0.tgz#c2f1e5cbd95fa91082a93b58a1f42fecb4bdbcf1"
integrity sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==
+url-parse@^1.5.3:
+ version "1.5.10"
+ resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
+ integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
+ dependencies:
+ querystringify "^2.1.1"
+ requires-port "^1.0.0"
+
use-latest-callback@^0.1.7:
version "0.1.9"
resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.1.9.tgz#10191dc54257e65a8e52322127643a8940271e2a"
@@ -13531,6 +13864,13 @@ vue-eslint-parser@^9.1.0:
lodash "^4.17.21"
semver "^7.3.6"
+w3c-xmlserializer@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073"
+ integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==
+ dependencies:
+ xml-name-validator "^4.0.0"
+
walk-up-path@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-3.0.1.tgz#c8d78d5375b4966c717eb17ada73dbd41490e886"
@@ -13579,11 +13919,28 @@ webidl-conversions@^5.0.0:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
+webidl-conversions@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
+ integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==
+
+whatwg-encoding@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53"
+ integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==
+ dependencies:
+ iconv-lite "0.6.3"
+
whatwg-fetch@^3.0.0:
version "3.6.20"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz#580ce6d791facec91d37c72890995a0b48d31c70"
integrity sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==
+whatwg-mimetype@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7"
+ integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==
+
whatwg-url-without-unicode@8.0.0-3:
version "8.0.0-3"
resolved "https://registry.yarnpkg.com/whatwg-url-without-unicode/-/whatwg-url-without-unicode-8.0.0-3.tgz#ab6df4bf6caaa6c85a59f6e82c026151d4bb376b"
@@ -13593,6 +13950,14 @@ whatwg-url-without-unicode@8.0.0-3:
punycode "^2.1.1"
webidl-conversions "^5.0.0"
+whatwg-url@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018"
+ integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==
+ dependencies:
+ tr46 "^3.0.0"
+ webidl-conversions "^7.0.0"
+
whatwg-url@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
@@ -13805,7 +14170,7 @@ ws@^7, ws@^7.5.1:
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
-ws@^8.12.1:
+ws@^8.11.0, ws@^8.12.1:
version "8.18.0"
resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc"
integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==
@@ -13823,6 +14188,11 @@ xdate@^0.8.0:
resolved "https://registry.yarnpkg.com/xdate/-/xdate-0.8.2.tgz#d7b033c00485d02695baf0044f4eacda3fc961a3"
integrity sha512-sNBlLfOC8S3V0vLDEUianQOXcTsc9j4lfeKU/klHe0RjHAYn0CXsSttumTot8dzalboV8gZbH38B+WcCIBjhFQ==
+xml-name-validator@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835"
+ integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==
+
xml2js@0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.6.0.tgz#07afc447a97d2bd6507a1f76eeadddb09f7a8282"
@@ -13851,6 +14221,11 @@ xmlbuilder@~11.0.0:
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
+xmlchars@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
+ integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
+
xtend@~4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"