diff --git a/.changelog/1355.feature.md b/.changelog/1355.feature.md
new file mode 100644
index 0000000000..9fc861e9ed
--- /dev/null
+++ b/.changelog/1355.feature.md
@@ -0,0 +1 @@
+Add Pontus-X branding and configuration
diff --git a/.changelog/2224.trivial.md b/.changelog/2224.trivial.md
new file mode 100644
index 0000000000..de139eda83
--- /dev/null
+++ b/.changelog/2224.trivial.md
@@ -0,0 +1 @@
+Replace the EUROe token with EURAU
diff --git a/.changelog/2225.trivial.md b/.changelog/2225.trivial.md
new file mode 100644
index 0000000000..d7682df509
--- /dev/null
+++ b/.changelog/2225.trivial.md
@@ -0,0 +1 @@
+Update Pontus-X faucet text and link
diff --git a/.env b/.env
index eef58ab878..304cde69df 100644
--- a/.env
+++ b/.env
@@ -1,35 +1,36 @@
REACT_APP_BUILD_DATETIME=0
REACT_APP_BUILD_SHA=sha0000000000000000000000000000000000000
REACT_APP_BUILD_VERSION=
-REACT_APP_PRIVACY_POLICY=https://oasisprotocol.org/privacy-policy
-REACT_APP_ENABLE_OASIS_MATOMO_ANALYTICS=true
+REACT_APP_PRIVACY_POLICY=/privacy
+REACT_APP_ENABLE_OASIS_MATOMO_ANALYTICS=false
# REACT_APP_API=http://localhost:8008/v1/
# REACT_APP_API=https://nexus.stg.oasis.io/v1/
# REACT_APP_TESTNET_API=https://testnet.nexus.stg.oasis.io/v1/
REACT_APP_API=https://nexus.oasis.io/v1/
REACT_APP_TESTNET_API=https://testnet.nexus.oasis.io/v1/
REACT_APP_LOCALNET_API=http://localhost:8547/v1/
-REACT_APP_META_TITLE="Oasis Explorer"
-REACT_APP_META_IMAGE="Oasis Explorer - OpenGraph Banner.png"
-REACT_APP_META_MANIFEST=app.webmanifest
-REACT_APP_META_FAVICON=https://assets.oasis.io/logotypes/favicon.svg
-REACT_APP_META_APPLE_ICON="https://assets.oasis.io/logotypes/Icon Blue 192.png"
-REACT_APP_META_DESC="Official explorer for the Oasis Network."
-REACT_APP_SOCIAL_TELEGRAM=https://t.me/oasisprotocolcommunity
-REACT_APP_SOCIAL_TWITTER=https://twitter.com/oasisprotocol
-REACT_APP_SOCIAL_DISCORD=https://oasis.io/discord
-REACT_APP_SOCIAL_YOUTUBE=https://www.youtube.com/channel/UC35UFPcZ2F1wjPxhPrSsESQ
-REACT_APP_SOCIAL_REDDIT=https://www.reddit.com/r/oasisnetwork/
-# REACT_APP_SOCIAL_LINKEDIN=https://www.linkedin.com/company/oasisprotocol
-# REACT_APP_SOCIAL_DOCS=https://oasisprotocol.org/developers#overview
-# REACT_APP_SOCIAL_HOME=https://oasisprotocol.org/
-REACT_APP_PRODUCTION_URLS="https://explorer.oasis.io, https://explorer.prd.oasis.io"
-REACT_APP_STAGING_URLS=https://explorer.stg.oasis.io
-REACT_APP_SHOW_BUILD_BANNERS=true
+REACT_APP_META_TITLE=Pontus-X Explorer
+REACT_APP_META_IMAGE=pontusx/og-image.png
+REACT_APP_META_MANIFEST=pontusx.webmanifest
+REACT_APP_META_FAVICON=pontusx/favicon.ico
+REACT_APP_META_APPLE_ICON=pontusx/logo192.png
+REACT_APP_META_DESC=Official explorer for the Pontus-X Network.
+# REACT_APP_SOCIAL_TELEGRAM=https://t.me/oasisprotocolcommunity
+# REACT_APP_SOCIAL_TWITTER=https://twitter.com/oasisprotocol
+# REACT_APP_SOCIAL_DISCORD=https://oasis.io/discord
+# REACT_APP_SOCIAL_YOUTUBE=https://www.youtube.com/channel/UC35UFPcZ2F1wjPxhPrSsESQ
+# REACT_APP_SOCIAL_REDDIT=https://www.reddit.com/r/oasisnetwork/
+REACT_APP_SOCIAL_LINKEDIN=https://www.linkedin.com/company/76729586
+REACT_APP_SOCIAL_DOCS=https://docs.pontus-x.eu/
+REACT_APP_SOCIAL_HOME=https://www.pontus-x.eu/
+#REACT_APP_PRODUCTION_URLS=https://explorer.oasis.io, https://explorer.prd.oasis.io
+#REACT_APP_STAGING_URLS=https://explorer.stg.oasis.io
+REACT_APP_SHOW_BUILD_BANNERS=false
# REACT_APP_FIXED_NETWORK=testnet
-# REACT_APP_FIXED_LAYER=sapphire
-# REACT_APP_SKIP_GRAPH=true
-REACT_APP_SHOW_FIAT_VALUES=true
+# REACT_APP_FIXED_LAYER=pontusx
+REACT_APP_SKIP_GRAPH=true
+REACT_APP_SHOW_FIAT_VALUES=false
+REACT_APP_SHOW_PRIVACY_POLICY=true
# LOCALNET SETTINGS
REACT_APP_LOCALNET_CONSENSUS=false
diff --git a/.env.production b/.env.production
index 7d12ef88e7..f43601bb87 100644
--- a/.env.production
+++ b/.env.production
@@ -1,26 +1,32 @@
REACT_APP_BUILD_DATETIME=
REACT_APP_BUILD_SHA=
REACT_APP_BUILD_VERSION=
-REACT_APP_PRIVACY_POLICY=https://oasisprotocol.org/privacy-policy
-REACT_APP_ENABLE_OASIS_MATOMO_ANALYTICS=true
-REACT_APP_META_TITLE="Oasis Explorer"
-REACT_APP_META_IMAGE="Oasis Explorer - OpenGraph Banner.png"
-REACT_APP_META_MANIFEST=app.webmanifest
-REACT_APP_META_FAVICON=https://assets.oasis.io/logotypes/favicon.svg
-REACT_APP_META_APPLE_ICON="https://assets.oasis.io/logotypes/Icon Blue 192.png"
-REACT_APP_META_DESC="Official explorer for the Oasis Network."
-REACT_APP_SOCIAL_TELEGRAM=https://t.me/oasisprotocolcommunity
-REACT_APP_SOCIAL_TWITTER=https://twitter.com/oasisprotocol
-REACT_APP_SOCIAL_DISCORD=https://oasis.io/discord
-REACT_APP_SOCIAL_YOUTUBE=https://www.youtube.com/channel/UC35UFPcZ2F1wjPxhPrSsESQ
-REACT_APP_SOCIAL_REDDIT=https://www.reddit.com/r/oasisnetwork/
-# REACT_APP_SOCIAL_LINKEDIN=https://www.linkedin.com/company/oasisprotocol
-# REACT_APP_SOCIAL_DOCS=https://oasisprotocol.org/developers#overview
-# REACT_APP_SOCIAL_HOME=https://oasisprotocol.org/
-REACT_APP_PRODUCTION_URLS="https://explorer.oasis.io, https://explorer.prd.oasis.io"
-REACT_APP_STAGING_URLS=https://explorer.stg.oasis.io
-REACT_APP_SHOW_BUILD_BANNERS=true
+REACT_APP_PRIVACY_POLICY=/privacy
+REACT_APP_ENABLE_OASIS_MATOMO_ANALYTICS=false
+# REACT_APP_API=http://localhost:8008/v1/
+# REACT_APP_API=https://nexus.stg.oasis.io/v1/
+# REACT_APP_TESTNET_API=https://testnet.nexus.stg.oasis.io/v1/
+REACT_APP_API=https://nexus.oasis.io/v1/
+REACT_APP_TESTNET_API=https://testnet.nexus.oasis.io/v1/
+REACT_APP_META_TITLE=Pontus-X Explorer
+REACT_APP_META_IMAGE=pontusx/og-image.png
+REACT_APP_META_MANIFEST=pontusx.webmanifest
+REACT_APP_META_FAVICON=pontusx/favicon.ico
+REACT_APP_META_APPLE_ICON=pontusx/logo192.png
+REACT_APP_META_DESC=Official explorer for the Pontus-X Network.
+# REACT_APP_SOCIAL_TELEGRAM=https://t.me/oasisprotocolcommunity
+# REACT_APP_SOCIAL_TWITTER=https://twitter.com/oasisprotocol
+# REACT_APP_SOCIAL_DISCORD=https://oasis.io/discord
+# REACT_APP_SOCIAL_YOUTUBE=https://www.youtube.com/channel/UC35UFPcZ2F1wjPxhPrSsESQ
+# REACT_APP_SOCIAL_REDDIT=https://www.reddit.com/r/oasisnetwork/
+REACT_APP_SOCIAL_LINKEDIN=https://www.linkedin.com/company/76729586
+REACT_APP_SOCIAL_DOCS=https://docs.pontus-x.eu/
+REACT_APP_SOCIAL_HOME=https://www.pontus-x.eu/
+# REACT_APP_PRODUCTION_URLS=https://explorer.oasis.io, https://explorer.prd.oasis.io
+# REACT_APP_STAGING_URLS=https://explorer.stg.oasis.io
+REACT_APP_SHOW_BUILD_BANNERS=false
# REACT_APP_FIXED_NETWORK=testnet
-# REACT_APP_FIXED_LAYER=sapphire
-# REACT_APP_SKIP_GRAPH=true
-REACT_APP_SHOW_FIAT_VALUES=true
+# REACT_APP_FIXED_LAYER=pontusx
+REACT_APP_SKIP_GRAPH=true
+REACT_APP_SHOW_FIAT_VALUES=false
+REACT_APP_SHOW_PRIVACY_POLICY=true
diff --git a/package.json b/package.json
index 7a1cdc97e8..1be52e8697 100644
--- a/package.json
+++ b/package.json
@@ -77,6 +77,8 @@
"viem": "^2.31.4"
},
"devDependencies": {
+ "@mdx-js/react": "^1.6.22",
+ "@mdx-js/rollup": "^3.1.0",
"@testing-library/dom": "^10.4.0",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.3.0",
diff --git a/public/index.html b/public/index.html
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/public/pontusx.webmanifest b/public/pontusx.webmanifest
new file mode 100644
index 0000000000..b8812a83ea
--- /dev/null
+++ b/public/pontusx.webmanifest
@@ -0,0 +1,26 @@
+{
+ "$schema": "https://json.schemastore.org/web-manifest-combined.json",
+ "short_name": "Pontus-X Explorer",
+ "name": "Official explorer for the Pontus-X Network.",
+ "icons": [
+ {
+ "src": "./pontusx/favicon.ico",
+ "sizes": "64x64 32x32 24x24 16x16",
+ "type": "image/x-icon"
+ },
+ {
+ "src": "./pontusx/logo192.png",
+ "type": "image/png",
+ "sizes": "192x192"
+ },
+ {
+ "src": "./pontusx/logo512.png",
+ "type": "image/png",
+ "sizes": "512x512"
+ }
+ ],
+ "start_url": ".",
+ "display": "standalone",
+ "theme_color": "#000000",
+ "background_color": "#ffffff"
+}
diff --git a/public/pontusx/apple-touch.png b/public/pontusx/apple-touch.png
new file mode 100644
index 0000000000..aa467c6b31
Binary files /dev/null and b/public/pontusx/apple-touch.png differ
diff --git a/public/pontusx/favicon-16x16.png b/public/pontusx/favicon-16x16.png
new file mode 100644
index 0000000000..69da7c66b8
Binary files /dev/null and b/public/pontusx/favicon-16x16.png differ
diff --git a/public/pontusx/favicon-32x32.png b/public/pontusx/favicon-32x32.png
new file mode 100644
index 0000000000..879e4a58e1
Binary files /dev/null and b/public/pontusx/favicon-32x32.png differ
diff --git a/public/pontusx/favicon.ico b/public/pontusx/favicon.ico
new file mode 100644
index 0000000000..5964973425
Binary files /dev/null and b/public/pontusx/favicon.ico differ
diff --git a/public/pontusx/logo192.png b/public/pontusx/logo192.png
new file mode 100644
index 0000000000..4032ba6f41
Binary files /dev/null and b/public/pontusx/logo192.png differ
diff --git a/public/pontusx/logo512.png b/public/pontusx/logo512.png
new file mode 100644
index 0000000000..88006d2a7d
Binary files /dev/null and b/public/pontusx/logo512.png differ
diff --git a/public/pontusx/logo_blue.svg b/public/pontusx/logo_blue.svg
new file mode 100644
index 0000000000..986b511297
--- /dev/null
+++ b/public/pontusx/logo_blue.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/pontusx/logo_only_blue.svg b/public/pontusx/logo_only_blue.svg
new file mode 100644
index 0000000000..873ccc5566
--- /dev/null
+++ b/public/pontusx/logo_only_blue.svg
@@ -0,0 +1,15 @@
+
+
+
diff --git a/public/pontusx/logo_only_white.svg b/public/pontusx/logo_only_white.svg
new file mode 100644
index 0000000000..e5d7441ad7
--- /dev/null
+++ b/public/pontusx/logo_only_white.svg
@@ -0,0 +1,15 @@
+
+
+
diff --git a/public/pontusx/logo_white.svg b/public/pontusx/logo_white.svg
new file mode 100644
index 0000000000..83e28864b9
--- /dev/null
+++ b/public/pontusx/logo_white.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/pontusx/og-image.png b/public/pontusx/og-image.png
new file mode 100644
index 0000000000..c56245edfb
Binary files /dev/null and b/public/pontusx/og-image.png differ
diff --git a/src/app/components/CustomIcons/PontusxIcon.tsx b/src/app/components/CustomIcons/PontusxIcon.tsx
new file mode 100644
index 0000000000..f9b0495d97
--- /dev/null
+++ b/src/app/components/CustomIcons/PontusxIcon.tsx
@@ -0,0 +1,40 @@
+import { FC } from 'react'
+import SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon'
+
+export const PontusxIcon: FC = props => {
+ return (
+
+
+
+
+
+
+
+ )
+}
diff --git a/src/app/components/CustomIcons/pontusx_horizontal_white.svg b/src/app/components/CustomIcons/pontusx_horizontal_white.svg
new file mode 100644
index 0000000000..fb05dfa65b
--- /dev/null
+++ b/src/app/components/CustomIcons/pontusx_horizontal_white.svg
@@ -0,0 +1,47 @@
+
+
+
diff --git a/src/app/components/PageLayout/Header.tsx b/src/app/components/PageLayout/Header.tsx
index 2bcbddca8e..0b16e14c0e 100644
--- a/src/app/components/PageLayout/Header.tsx
+++ b/src/app/components/PageLayout/Header.tsx
@@ -11,6 +11,7 @@ import { useScopeParam } from '../../hooks/useScopeParam'
import { useScreenSize } from '../../hooks/useScreensize'
import { isScopeSelectorNeeded } from '../../utils/route-utils'
import { useTranslation } from 'react-i18next'
+import { hideRoseAppButton } from '../../../config'
export const Header: FC = () => {
const theme = useTheme()
@@ -57,7 +58,7 @@ export const Header: FC = () => {
>
)}
- {isDesktop && (
+ {isDesktop && !hideRoseAppButton && (
-
+ {!hideTokensFromDashboard && }
{paraTimesConfig[scope.layer]?.offerRoflTxTypes && }
diff --git a/src/app/pages/PontusxPrivacyPage/index.tsx b/src/app/pages/PontusxPrivacyPage/index.tsx
new file mode 100644
index 0000000000..8396a562d3
--- /dev/null
+++ b/src/app/pages/PontusxPrivacyPage/index.tsx
@@ -0,0 +1,24 @@
+import React, { FC } from 'react'
+import { useTranslation } from 'react-i18next'
+
+import { PageLayout } from '../../components/PageLayout'
+import { SubPageCard } from '../../components/SubPageCard'
+
+import Policy from '../../../docs/pontusx_privacy_2024.mdx'
+import { Network } from 'types/network'
+import { ThemeByScope } from '../../components/ThemeByScope'
+import { Layer } from '../../../oasis-nexus/api'
+
+export const PontusxPrivacyPage: FC = () => {
+ const { t } = useTranslation()
+
+ return (
+
+
+
+
+
+
+
+ )
+}
diff --git a/src/app/pages/SearchResultsPage/__tests__/SearchResultsList.test.tsx b/src/app/pages/SearchResultsPage/__tests__/SearchResultsList.test.tsx
index 77c7a29903..6b7a07794b 100644
--- a/src/app/pages/SearchResultsPage/__tests__/SearchResultsList.test.tsx
+++ b/src/app/pages/SearchResultsPage/__tests__/SearchResultsList.test.tsx
@@ -43,8 +43,8 @@ describe('SearchResultsView', () => {
isFree: true,
hasUsedCoinGecko: false,
},
- [Ticker.EUROe]: {
- ticker: Ticker.EUROe,
+ [Ticker.EURAU]: {
+ ticker: Ticker.EURAU,
isLoading: false,
hasFailed: false,
isFree: false,
@@ -95,8 +95,8 @@ describe('SearchResultsView', () => {
isFree: true,
hasUsedCoinGecko: false,
},
- [Ticker.EUROe]: {
- ticker: Ticker.EUROe,
+ [Ticker.EURAU]: {
+ ticker: Ticker.EURAU,
isLoading: false,
hasFailed: false,
isFree: false,
diff --git a/src/app/utils/faucet-links.ts b/src/app/utils/faucet-links.ts
index be3743789f..fd006b4def 100644
--- a/src/app/utils/faucet-links.ts
+++ b/src/app/utils/faucet-links.ts
@@ -52,16 +52,16 @@ export const getFaucetInfo = (
},
},
pontusxdev: {
- [Ticker.EUROe]: {
- url: `mailto:contact@delta-dao.com?subject=${encodeURIComponent('Request test tokens for Pontus-X Devnet')}`,
+ [Ticker.EURAU]: {
+ url: 'https://portal.pontus-x.eu/faucet',
description: t('pontusx.testTokens.description'),
title: t('pontusx.testTokens.header'),
label: t('pontusx.testTokens.request'),
},
},
pontusxtest: {
- [Ticker.EUROe]: {
- url: `mailto:contact@delta-dao.com?subject=${encodeURIComponent('Request test tokens for Pontus-X Testnet')}`,
+ [Ticker.EURAU]: {
+ url: 'https://portal.pontus-x.eu/faucet',
description: t('pontusx.testTokens.description'),
title: t('pontusx.testTokens.header'),
label: t('pontusx.testTokens.request'),
diff --git a/src/app/utils/route-utils.ts b/src/app/utils/route-utils.ts
index 66f4b6a691..8568330849 100644
--- a/src/app/utils/route-utils.ts
+++ b/src/app/utils/route-utils.ts
@@ -67,13 +67,19 @@ function invertSpecialScopePaths() {
invertSpecialScopePaths()
export const hiddenScopes: SearchScope[] = [
- { network: 'testnet', layer: 'pontusxdev' },
- { network: 'mainnet', layer: 'pontusxdev' },
- { network: 'mainnet', layer: 'pontusxtest' },
- // { network: 'mainnet', layer: 'sapphire' }, // This is only for testing
+ { network: 'testnet', layer: Layer.consensus },
+ { network: 'testnet', layer: Layer.sapphire },
+ { network: 'testnet', layer: Layer.emerald },
+ { network: 'testnet', layer: Layer.cipher },
+ { network: 'mainnet', layer: Layer.consensus },
+ { network: 'mainnet', layer: Layer.emerald },
+ { network: 'mainnet', layer: Layer.cipher },
+ { network: 'mainnet', layer: Layer.pontusxdev },
+ { network: 'mainnet', layer: Layer.pontusxtest },
+ // { network: Network.mainnet, layer: Layer.sapphire }, // This is only for testing
]
-export const mergeNetworksInLayerSelector = false
+export const mergeNetworksInLayerSelector = true
export const isScopeHidden = (scope: SearchScope): boolean =>
!!hiddenScopes.find(s => s.network === scope.network && s.layer === scope.layer)
@@ -104,12 +110,12 @@ export abstract class RouteUtils {
consensus: true,
},
testnet: {
- emerald: true,
- sapphire: true,
+ emerald: false,
+ sapphire: false,
cipher: false,
pontusxdev: true,
pontusxtest: true,
- consensus: true,
+ consensus: false,
},
localnet: {
emerald: import.meta.env.REACT_APP_LOCALNET_EMERALD === 'true',
diff --git a/src/config.ts b/src/config.ts
index ad2553e0f1..6b829ae1d9 100644
--- a/src/config.ts
+++ b/src/config.ts
@@ -5,6 +5,8 @@ import { NativeToken, NativeTokenInfo } from './types/ticker'
import { SearchScope } from './types/searchScope'
import { Network } from './types/network'
import type { Theme } from '@mui/material/styles/createTheme'
+import { pontusXDevnetTheme } from './styles/theme/pontusx/devnetTheme'
+import { pontusXTestnetTheme } from './styles/theme/pontusx/testnetTheme'
export const NUMBER_OF_ITEMS_ON_DASHBOARD = 5
export const FILTERING_ON_DASHBOARD = true
@@ -44,6 +46,7 @@ type LayerConfig = {
localnet?: LayerNetwork
decimals: number
type: RuntimeTypes
+ hideTokensFromDashboard?: boolean
offerRoflTxTypes?: boolean
}
@@ -110,7 +113,7 @@ const cipherConfig: LayerConfig = {
const sapphireConfig: LayerConfig = {
mainnet: {
address: 'oasis1qrd3mnzhhgst26hsp96uf45yhq6zlax0cuzdgcfc',
- // See max_batch_gas https://github.com/oasisprotocol/sapphire-paratime/blob/main/runtime/src/lib.rs#L166
+ // See max_batch_gas https://github.com/oasisprotocol/sapphire-paratime/blob/maiNativeTokenn/runtime/src/lib.rs#L166
blockGasLimit: 15_000_000,
runtimeId: '000000000000000000000000000000000000000000000000f80306c9858e7279',
tokens: [NativeToken.ROSE],
@@ -138,13 +141,13 @@ const pontusxDevConfig: LayerConfig = {
address: undefined,
blockGasLimit: undefined,
runtimeId: undefined,
- tokens: [NativeToken.EUROe],
+ tokens: [NativeToken.EURAU],
},
testnet: {
address: 'oasis1qr02702pr8ecjuff2z3es254pw9xl6z2yg9qcc6c',
blockGasLimit: 15_000_000,
runtimeId: '0000000000000000000000000000000000000000000000004febe52eb412b421',
- tokens: [NativeToken.EUROe, NativeToken.TEST],
+ tokens: [NativeToken.EURAU, NativeToken.TEST],
fiatCurrency: 'eur',
},
decimals: 18,
@@ -156,17 +159,18 @@ const pontusxTestConfig: LayerConfig = {
address: undefined,
blockGasLimit: undefined,
runtimeId: undefined,
- tokens: [NativeToken.EUROe],
+ tokens: [NativeToken.EURAU],
},
testnet: {
address: 'oasis1qrg6c89655pmdxeel08qkngs02jnrfll5v9c508v',
blockGasLimit: 15_000_000,
runtimeId: '00000000000000000000000000000000000000000000000004a6f9071c007069',
- tokens: [NativeToken.EUROe, NativeToken.TEST],
+ tokens: [NativeToken.EURAU, NativeToken.TEST],
fiatCurrency: 'eur',
},
decimals: 18,
type: RuntimeTypes.Evm,
+ hideTokensFromDashboard: true,
}
type LayersConfig = {
@@ -210,16 +214,32 @@ export const getFiatCurrencyForScope = (scope: SearchScope | undefined) =>
export const showFiatValues = import.meta.env.REACT_APP_SHOW_FIAT_VALUES === 'true'
export const specialScopeNames: Partial>>> = {
- mainnet: {},
- testnet: {},
+ mainnet: {
+ sapphire: 'Oasis Sapphire Mainnet',
+ },
+ testnet: {
+ pontusxdev: 'Pontus-X Devnet',
+ pontusxtest: 'Pontus-X Testnet',
+ },
}
export const specialScopePaths: Partial>>> = {
- mainnet: {},
- testnet: {},
+ mainnet: {
+ sapphire: ['oasis', 'sapphire'],
+ },
+ testnet: {
+ pontusxdev: ['pontusx', 'dev'],
+ pontusxtest: ['pontusx', 'test'],
+ },
}
export const specialScopeThemes: Partial>>> = {
mainnet: {},
- testnet: {},
+ testnet: {
+ pontusxdev: pontusXDevnetTheme,
+ pontusxtest: pontusXTestnetTheme,
+ },
}
+
+export const hideNetworkRibbon = true
+export const hideRoseAppButton = true
diff --git a/src/docs/pontusx_privacy_2024.mdx b/src/docs/pontusx_privacy_2024.mdx
new file mode 100644
index 0000000000..aeaba537ea
--- /dev/null
+++ b/src/docs/pontusx_privacy_2024.mdx
@@ -0,0 +1,138 @@
+This privacy policy informs you about how deltaDAO AG (in the following deltaDAO, we, us, our) processes your personal data when you visit our Pontus-X Blockchain Explorer (in the following explorer) and when you contact us. Moreover, this privacy policy informs you about your rights.
+
+_Last updated on February 23, 2024._
+
+### 1. Contact details of the controller and Data Protection Officer
+
+The controller pursuant to the EU General Data Protection Regulation ("GDPR") for the processing of your personal data is:
+
+deltaDAO AG
+Katharinenstraße 30a
+20457 Hamburg
+Germany
+E-mail: contact@delta-dao.com
+
+If you have any questions about the protection of your personal data at deltaDAO, please contact our Data Protection Officer:
+
+Data Protection Officer
+deltaDAO AG
+Katharinenstraße 30a
+20457 Hamburg
+Germany
+E-mail: privacy@delta-dao.com
+
+### 2. What's personal data?
+
+Personal data is any information that can be (directly or indirectly) related to you. deltaDAO processes a minimal amount of personal data, as we believe your personal data belongs to you. We process the following personal data.
+
+- **Logfile data and IP addresses:** Logfile data including IP addresses are processed when visiting our explorer.
+- **E-mail:** If you contact deltaDAO via e-mail, we process your e-mail address and any personal data you decide to provide in your message (such as your name).
+
+For detailed information about the processing operations, lawfulness, purposes, and how your personal data serves to reach these purposes, please take a look at the chapter "Processing operations according to Article 13 GDPR".
+
+### 3. Recipients and cross-border data transfer
+
+**Visiting our explorer**
+When visiting our explorer, your IP address and logfile data are processed by Vercel Inc., 340 S Lemon Ave #4133, Walnut, CA 91789, USA. Vercel is a service provider that hosts our explorer. Our explorer is served by Vercel using a Content Delivery Network, a geographically distributed network, with servers within and outside of the European Economic Area (EEA). This means, if you are located within the EEA, your personal data will most likely (but not guaranteed) be processed on a Vercel server within the EEA.
+
+There is no adequacy decision for the USA from the European Commission. Our cooperation with Vercel is based on a Data Processing Agreement (DPA) including Standard Contractual Clauses (SCC). You have the right to receive a copy of these SCC. To exercise your right, please contact us at [privacy@delta-dao.com](mailto:privacy@delta-dao.com).
+
+- Here you can find Vercel's current [**DPA including SCC** ↗](https://vercel.com/legal/dpa).
+- Here you can find Vercel's [**privacy policy** ↗](https://vercel.com/legal/privacy-policy).
+
+**Contact via e-mail**
+When you contact us via e-mail, our (mail) service provider Microsoft Corporation (located at 1 Microsoft Way, Redmond, Washington 98052-8300, USA) supports us in processing your personal data so we can communicate with you.
+
+There is no adequacy decision for the USA from the European Commission. However, Microsoft is EU-US DPF (EU‐US Data Privacy Framework) certified. The EU‐US DPF is an adequacy decision of the European Commission, limited to certified entities. Moreover, we have restricted storage on the EEA and signed SCC with our provider. You have the right to receive a copy of these SCC. To exercise your right, please contact us at [privacy@delta-dao.com](mailto:privacy@delta-dao.com).
+
+- Here you can find Microsoft's current [**DPA including SCC** ↗](https://www.microsoft.com/licensing/docs/view/Microsoft-Products-and-Services-Data-Protection-Addendum-DPA).
+- Here you can find Microsoft's [**privacy policy** ↗](https://privacy.microsoft.com/de-de/privacystatement).
+- Here you can find Microsoft's [**Data Privacy Framework List entry** ↗](https://www.dataprivacyframework.gov/list).
+
+### 4. Processing operations according to Article 13 GDPR
+
+#### **4.1 Providing the Pontus-X Blockchain Explorer**
+
+The Pontus-X Blockchain Explorer for the Pontus-X ParaTime enables users to inspect and analyze the transactions made on the Pontus-X ParaTime, including the tracking of transaction histories, wallet interactions, and smart contract operations. Logfile data and IP addresses are collected, used, and stored for providing our explorer and its functionalities and to maintain its security. Our explorer is hosted externally by our service provider Vercel (see also chapter 3).
+
+**Purposes:** Collecting and using your IP address is necessary for providing our explorer because it is a technical requirement for ensuring communication between your device and our explorer. Logfiles including your IP address are created for security, fraud-prevention, abuse-prevention, and troubleshooting purposes.
+
+**Legal basis:** The legal basis for this processing is our legitimate interest, pursuant to Art. 6(1)(f) GDPR.
+
+**Legitimate interests:** Our legitimate interest is to provide our explorer and its functionalities to you and to enable security, a technically error-free presentation, and the optimization of the explorer.
+
+**Retention period:** Vercel retains your personal data for as long as needed to provide their services. Additionally, Vercel does not delete the data when it is needed for the establishment, exercise, or defense of legal claims. In this case, the information is retained as long as needed for exercising respective potential legal claims.
+
+#### **4.2 Contact via e-mail**
+
+If you contact us via e-mail, deltaDAO collects, uses and stores your e-mail address, and any other information you provide us in your message, such as your name.
+
+**Purposes:**
+We collect, use and store this personal data to respond to your inquiries.
+
+**Legal basis:**
+The legal basis for this processing is our legitimate interest, according to Art. 6(1)(f) GDPR.
+
+**Legitimate interests:**
+Our legitimate interest is to answer your inquiries.
+
+**Retention period:**
+deltaDAO deletes your personal data as soon as we no longer require them for processing your inquiry, except deltaDAO is obliged to comply with legal retention periods or in case of legal disputes.
+
+### 5. Automated decision making including profiling according to Article 13(2)(f) GDPR
+
+Automated decision making including profiling does not take place.
+
+### 6. Cookies
+
+A cookie is a small file that stores Internet settings. Your web browser downloads it on the first visit to a website. The next time you open this website with the same device, the cookie and the information stored in it are either sent back to the website that created it (first-party cookie) or sent to another website it belongs to (third-party cookie). This enables the website to detect that you have opened it previously with this browser and, in some cases, to vary the displayed content.
+
+Our explorer does not use cookies.
+
+### 7. External links
+
+Our explorer contains links to external websites that are beyond the control and responsibility of deltaDAO.
+
+### 8. Your rights
+
+If you want to make use of your rights described below, do not hesitate to contact us.
+
+**8.1 Right of access (Art. 15 GDPR)**
+
+You have the right to obtain confirmation as to whether deltaDAO processes personal data about you. If we are processing personal data about you, you have the right to access these personal data and to gain the information defined in Art. 15 GDPR.
+
+**8.2 Right to rectification (Art. 16 GDPR)**
+
+You have the right to obtain without undue delay the rectification of inaccurate personal data about you. Additionally, you have the right that incomplete personal data about you are completed.
+
+**8.3 Right to erasure (Art. 17 GDPR)**
+
+You have the right to obtain without undue delay the rectification of inaccurate personal data about you. Additionally, you have the right that incomplete personal data about you are completed.
+
+**8.4 Right to restriction (Art. 18 GDPR)**
+
+Moreover, you have the right to obtain the restriction of processing your personal data where the defined legal grounds in Art. 18 GDPR apply.
+
+**8.5 Right to data portability (Art. 20 GDPR)**
+
+You have the right to receive your personal data in a structured, commonly used, and machine-readable format. Additionally, you have the right to transmit those data to another controller without hindrance, where the defined legal grounds in Art. 20 GDPR apply. You can make use of your right to data portability by contacting us.
+
+**8.6 Right to object (Art. 21 GDPR)**
+
+On grounds relating to your particular situation, you have the right to object to the processing of your personal data where we based the processing on legitimate interests (Art. 6(1)(f) GDPR). If you object, deltaDAO will no longer process your personal data unless we can demonstrate compelling legitimate grounds for the processing, overriding your rights, freedoms, and interests, or if the processing is required to establish, exercise, or defend legal claims.
+
+**8.7 Right to lodge a complaint (Art. 77 GDPR)**
+
+You have the right to lodge a complaint with a supervisory authority if you consider the processing of your personal data by deltaDAO to infringe the GDPR. You can lodge a complaint in particular
+
+- in the Member State of your habitual residence,
+- in the Member State of your place of work, and
+- in the place of the alleged infringement.
+
+### 9. Questions
+
+For any requests regarding our privacy policy, please send us an e-mail to [privacy@delta-dao.com](mailto:privacy@delta-dao.com).
+
+### 10. Changes to the Privacy Policy
+
+We adjust this policy from time to time, by publishing a new version on our explorer. You can find the date of the current version at the beginning of this policy. The latest version of this policy applies to the processing of your personal data.
diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json
index 0057a731d5..f01fad3489 100644
--- a/src/locales/en/translation.json
+++ b/src/locales/en/translation.json
@@ -127,7 +127,7 @@
"seeMore": "See more",
"select": "Select",
"size": "Size",
- "sapphire": "Sapphire",
+ "sapphire": "Oasis Sapphire",
"shares": "Shares",
"show": "Show",
"smartContract": "Smart Contract",
@@ -169,8 +169,8 @@
"online": "Online",
"outOfDate": "Indexing out of date",
"recipient": "Recipient",
- "mainnet": "Mainnet",
- "testnet": "Testnet",
+ "mainnet": "Oasis Mainnet",
+ "testnet": "Oasis Testnet",
"valuePair": "{{value, number}}"
},
"contract": {
@@ -378,7 +378,7 @@
"last": "Last"
},
"social": {
- "description": "Be part of the community and stay in the loop on everything Oasis",
+ "description": "Learn more about Pontus-X and the team behind it",
"discord": "Discord",
"header": "Join us",
"reddit": "Reddit",
@@ -714,12 +714,12 @@
"canNotReadStatus": "Can't load status paratime '{{name}}'."
},
"pontusx": {
- "devnet": "Pontus-X devnet",
- "testnet": "Pontus-X",
+ "devnet": "Pontus-X Devnet",
+ "testnet": "Pontus-X Testnet",
"testTokens": {
"description": "Do you need some tokens for testing?",
"header": "Test tokens",
- "request": "Contact us"
+ "request": "Get Tokens"
}
},
"rofl": {
@@ -796,6 +796,9 @@
"provider": "Provider",
"machineId": "Machine ID"
},
+ "privacyPolicy": {
+ "title": "Privacy Policy"
+ },
"search": {
"placeholder": "Address, Block, Contract, Transaction hash, Token name, etc.",
"error": {
diff --git a/src/routes.tsx b/src/routes.tsx
index cba71f9a89..943a54aedc 100644
--- a/src/routes.tsx
+++ b/src/routes.tsx
@@ -76,6 +76,7 @@ import { RoflAppInstanceTransactionsCard } from 'app/pages/RoflAppDetailsPage/Ro
import { RoflAppInstanceDetailsPage } from 'app/pages/RoflAppInstanceDetailsPage'
import { useRoflAppInstanceDetailsProps } from 'app/pages/RoflAppInstanceDetailsPage/hooks'
import { RoflAppInstanceRakTransactionsCard } from 'app/pages/RoflAppInstanceDetailsPage/RoflAppInstanceRakTransactionsCard'
+import { PontusxPrivacyPage } from './app/pages/PontusxPrivacyPage'
const ScopeSpecificPart = () => {
const { network, layer } = useRequiredScopeParam()
@@ -340,6 +341,10 @@ export const routes: RouteObject[] = [
},
],
},
+ {
+ path: '/privacy',
+ element: ,
+ },
],
},
]
diff --git a/src/styles/theme/pontusx/colors.ts b/src/styles/theme/pontusx/colors.ts
new file mode 100644
index 0000000000..ab44dd10a7
--- /dev/null
+++ b/src/styles/theme/pontusx/colors.ts
@@ -0,0 +1,9 @@
+import { COLORS as DEFAULT_COLORS } from '../colors'
+
+export const COLORS = {
+ ...DEFAULT_COLORS,
+ testnetBgColor: '#2A5575',
+ testnetLightBgColor: '#E4E9ED',
+ devnetBgColor: `#152B3B`,
+ devnetLightBgColor: `#8A959D`,
+} satisfies { [colorName: string]: string }
diff --git a/src/styles/theme/pontusx/devnetTheme.ts b/src/styles/theme/pontusx/devnetTheme.ts
new file mode 100644
index 0000000000..2c013ad92f
--- /dev/null
+++ b/src/styles/theme/pontusx/devnetTheme.ts
@@ -0,0 +1,21 @@
+import { deepmerge } from '@mui/utils'
+import { createTheme } from '@mui/material/styles'
+import { COLORS } from './colors'
+import { defaultTheme } from '../defaultTheme'
+
+export const pontusXDevnetTheme = createTheme(
+ deepmerge(defaultTheme, {
+ palette: {
+ background: {
+ default: COLORS.devnetLightBgColor,
+ },
+ layout: {
+ main: COLORS.devnetBgColor,
+ border: COLORS.devnetBgColor,
+ hoverBorder: COLORS.devnetBgColor,
+ contrastSecondary: COLORS.devnetBgColor,
+ secondary: COLORS.devnetBgColor,
+ },
+ },
+ }),
+)
diff --git a/src/styles/theme/pontusx/testnetTheme.ts b/src/styles/theme/pontusx/testnetTheme.ts
new file mode 100644
index 0000000000..486aed6dcb
--- /dev/null
+++ b/src/styles/theme/pontusx/testnetTheme.ts
@@ -0,0 +1,21 @@
+import { deepmerge } from '@mui/utils'
+import { createTheme } from '@mui/material/styles'
+import { COLORS } from './colors'
+import { defaultTheme } from '../defaultTheme'
+
+export const pontusXTestnetTheme = createTheme(
+ deepmerge(defaultTheme, {
+ palette: {
+ background: {
+ default: COLORS.testnetLightBgColor,
+ },
+ layout: {
+ main: COLORS.testnetBgColor,
+ border: COLORS.testnetBgColor,
+ hoverBorder: COLORS.testnetBgColor,
+ contrastSecondary: COLORS.testnetBgColor,
+ secondary: COLORS.testnetBgColor,
+ },
+ },
+ }),
+)
diff --git a/src/types/layers.ts b/src/types/layers.ts
index 5edfaf59a8..df984beb54 100644
--- a/src/types/layers.ts
+++ b/src/types/layers.ts
@@ -16,8 +16,8 @@ const layerOrder: Record = {
sapphire: 2,
emerald: 3,
cipher: 4,
- pontusxdev: 5,
- pontusxtest: 6,
+ pontusxdev: 6,
+ pontusxtest: 5,
}
export function orderByLayer(itemA: Layer, itemB: Layer): number
diff --git a/src/types/network.ts b/src/types/network.ts
index a10e810523..110a4dba15 100644
--- a/src/types/network.ts
+++ b/src/types/network.ts
@@ -4,8 +4,8 @@ export type Network = (typeof Network)[keyof typeof Network]
// eslint-disable-next-line @typescript-eslint/no-redeclare
export const Network = {
- mainnet: 'mainnet',
testnet: 'testnet',
+ mainnet: 'mainnet',
localnet: 'localnet',
} as const
diff --git a/src/types/ticker.ts b/src/types/ticker.ts
index 88d6975b5e..e8e5f3a506 100644
--- a/src/types/ticker.ts
+++ b/src/types/ticker.ts
@@ -4,7 +4,7 @@ export type Ticker = (typeof Ticker)[keyof typeof Ticker]
export const Ticker = {
ROSE: 'ROSE',
TEST: 'TEST',
- EUROe: 'EUROe',
+ EURAU: 'EURAU',
} as const
export type NativeTokenInfo = {
@@ -22,8 +22,8 @@ export const NativeToken = {
ticker: Ticker.TEST,
free: true,
},
- EUROe: {
- ticker: Ticker.EUROe,
- geckoId: 'euroe-stablecoin',
+ EURAU: {
+ ticker: Ticker.EURAU,
+ geckoId: 'allunity-eur',
},
} as const
diff --git a/vite.config.ts b/vite.config.ts
index 1c3dc757d5..60cb9275af 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,10 +1,15 @@
import { defineConfig, UserConfig } from 'vite'
import react from '@vitejs/plugin-react'
import tsconfigPaths from 'vite-tsconfig-paths'
+import mdx from '@mdx-js/rollup'
export default defineConfig((): UserConfig => {
return {
- plugins: [react(), tsconfigPaths()],
+ plugins: [
+ { enforce: 'pre', ...mdx() }, // Run MDX plugin before React plugin
+ react({ include: /\.(jsx|js|mdx|ts|tsx)$/ }), // Include .mdx files for React Fast Refresh
+ tsconfigPaths(),
+ ],
build: {
outDir: 'build',
sourcemap: true,
diff --git a/yarn.lock b/yarn.lock
index 2f656a4851..84e499ccf8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1764,6 +1764,51 @@
resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60"
integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==
+"@mdx-js/mdx@^3.0.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-3.1.0.tgz#10235cab8ad7d356c262e8c21c68df5850a97dc3"
+ integrity sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ "@types/estree-jsx" "^1.0.0"
+ "@types/hast" "^3.0.0"
+ "@types/mdx" "^2.0.0"
+ collapse-white-space "^2.0.0"
+ devlop "^1.0.0"
+ estree-util-is-identifier-name "^3.0.0"
+ estree-util-scope "^1.0.0"
+ estree-walker "^3.0.0"
+ hast-util-to-jsx-runtime "^2.0.0"
+ markdown-extensions "^2.0.0"
+ recma-build-jsx "^1.0.0"
+ recma-jsx "^1.0.0"
+ recma-stringify "^1.0.0"
+ rehype-recma "^1.0.0"
+ remark-mdx "^3.0.0"
+ remark-parse "^11.0.0"
+ remark-rehype "^11.0.0"
+ source-map "^0.7.0"
+ unified "^11.0.0"
+ unist-util-position-from-estree "^2.0.0"
+ unist-util-stringify-position "^4.0.0"
+ unist-util-visit "^5.0.0"
+ vfile "^6.0.0"
+
+"@mdx-js/react@^1.6.22":
+ version "1.6.22"
+ resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.22.tgz#ae09b4744fddc74714ee9f9d6f17a66e77c43573"
+ integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==
+
+"@mdx-js/rollup@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@mdx-js/rollup/-/rollup-3.1.0.tgz#55df5cf4db52ac95be26d0cfa039ebf4e945e6e4"
+ integrity sha512-q4xOtUXpCzeouE8GaJ8StT4rDxm/U5j6lkMHL2srb2Q3Y7cobE0aXyPzXVVlbeIMBi+5R5MpbiaVE5/vJUdnHg==
+ dependencies:
+ "@mdx-js/mdx" "^3.0.0"
+ "@rollup/pluginutils" "^5.0.0"
+ source-map "^0.7.0"
+ vfile "^6.0.0"
+
"@metamask/jazzicon@2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@metamask/jazzicon/-/jazzicon-2.0.0.tgz#5615528e91c0fc5c9d79202d1f0954a7922525a0"
@@ -2067,6 +2112,15 @@
resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.23.0.tgz#35390d0e7779626c026b11376da6789eb8389242"
integrity sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==
+"@rollup/pluginutils@^5.0.0":
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.2.0.tgz#eac25ca5b0bdda4ba735ddaca5fbf26bd435f602"
+ integrity sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ estree-walker "^2.0.2"
+ picomatch "^4.0.2"
+
"@rollup/rollup-android-arm-eabi@4.41.0":
version "4.41.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.0.tgz#9145b38faf3fbfe3ec557130110e772f797335aa"
@@ -2380,11 +2434,30 @@
dependencies:
"@types/ms" "*"
+"@types/estree-jsx@^1.0.0":
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.5.tgz#858a88ea20f34fe65111f005a689fa1ebf70dc18"
+ integrity sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==
+ dependencies:
+ "@types/estree" "*"
+
+"@types/estree@*":
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e"
+ integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==
+
"@types/estree@1.0.7", "@types/estree@^1.0.0":
version "1.0.7"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8"
integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==
+"@types/hast@^3.0.0":
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa"
+ integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==
+ dependencies:
+ "@types/unist" "*"
+
"@types/js-yaml@^4.0.9":
version "4.0.9"
resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.9.tgz#cd82382c4f902fed9691a2ed79ec68c5898af4c2"
@@ -2405,6 +2478,18 @@
resolved "https://registry.yarnpkg.com/@types/katex/-/katex-0.16.7.tgz#03ab680ab4fa4fbc6cb46ecf987ecad5d8019868"
integrity sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==
+"@types/mdast@^4.0.0":
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.4.tgz#7ccf72edd2f1aa7dd3437e180c64373585804dd6"
+ integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==
+ dependencies:
+ "@types/unist" "*"
+
+"@types/mdx@^2.0.0":
+ version "2.0.13"
+ resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.13.tgz#68f6877043d377092890ff5b298152b0a21671bd"
+ integrity sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==
+
"@types/ms@*":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78"
@@ -2480,6 +2565,11 @@
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a"
integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==
+"@types/unist@*", "@types/unist@^3.0.0":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c"
+ integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==
+
"@types/unist@^2.0.0":
version "2.0.11"
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4"
@@ -2621,6 +2711,11 @@
"@typescript-eslint/types" "7.18.0"
eslint-visitor-keys "^3.4.3"
+"@ungap/structured-clone@^1.0.0":
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8"
+ integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==
+
"@ungap/structured-clone@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"
@@ -2701,11 +2796,16 @@ abitype@1.0.8, abitype@^1.0.8:
resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.8.tgz#3554f28b2e9d6e9f35eb59878193eabd1b9f46ba"
integrity sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==
-acorn-jsx@^5.3.2:
+acorn-jsx@^5.0.0, 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@^8.0.0:
+ version "8.15.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816"
+ integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
+
acorn@^8.9.0:
version "8.10.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
@@ -2917,6 +3017,11 @@ ast-types-flow@^0.0.7:
resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==
+astring@^1.8.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/astring/-/astring-1.9.0.tgz#cc73e6062a7eb03e7d19c22d8b0b3451fd9bfeef"
+ integrity sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==
+
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@@ -3010,6 +3115,11 @@ babel-preset-react-app@^10.0.1:
babel-plugin-macros "^3.1.0"
babel-plugin-transform-react-remove-prop-types "^0.4.24"
+bail@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d"
+ integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==
+
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
@@ -3157,6 +3267,11 @@ cborg@^2.0.3:
resolved "https://registry.yarnpkg.com/cborg/-/cborg-2.0.5.tgz#b5393c8b1843d5c1a61f2b79b4c9f752052a4d44"
integrity sha512-xVW1rSIw1ZXbkwl2XhJ7o/jAv0vnVoQv/QlfQxV8a7V5PlA4UU/AcIiXqmpyybwNWy/GPQU1m/aBVNIWr7/T0w==
+ccount@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5"
+ integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==
+
chai@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/chai/-/chai-5.2.0.tgz#1358ee106763624114addf84ab02697e411c9c05"
@@ -3193,6 +3308,11 @@ chalk@^4.0.0, chalk@^4.1.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
+character-entities-html4@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b"
+ integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==
+
character-entities-legacy@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b"
@@ -3237,6 +3357,11 @@ clsx@^2.1.1:
resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999"
integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==
+collapse-white-space@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz#640257174f9f42c740b40f3b55ee752924feefca"
+ integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==
+
color-convert@^1.3.0, color-convert@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
@@ -3284,6 +3409,11 @@ combined-stream@^1.0.8:
dependencies:
delayed-stream "~1.0.0"
+comma-separated-tokens@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee"
+ integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==
+
commander@^8.3.0:
version "8.3.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
@@ -3602,7 +3732,7 @@ dequal@^2.0.0, dequal@^2.0.3:
resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
-devlop@^1.0.0:
+devlop@^1.0.0, devlop@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018"
integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==
@@ -4006,6 +4136,26 @@ es-to-primitive@^1.3.0:
is-date-object "^1.0.5"
is-symbol "^1.0.4"
+esast-util-from-estree@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz#8d1cfb51ad534d2f159dc250e604f3478a79f1ad"
+ integrity sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ devlop "^1.0.0"
+ estree-util-visit "^2.0.0"
+ unist-util-position-from-estree "^2.0.0"
+
+esast-util-from-js@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz#5147bec34cc9da44accf52f87f239a40ac3e8225"
+ integrity sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ acorn "^8.0.0"
+ esast-util-from-estree "^2.0.0"
+ vfile-message "^4.0.0"
+
esbuild@^0.25.0:
version "0.25.4"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.4.tgz#bb9a16334d4ef2c33c7301a924b8b863351a0854"
@@ -4310,7 +4460,59 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
-estree-walker@^3.0.3:
+estree-util-attach-comments@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz#344bde6a64c8a31d15231e5ee9e297566a691c2d"
+ integrity sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==
+ dependencies:
+ "@types/estree" "^1.0.0"
+
+estree-util-build-jsx@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz#b6d0bced1dcc4f06f25cf0ceda2b2dcaf98168f1"
+ integrity sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ devlop "^1.0.0"
+ estree-util-is-identifier-name "^3.0.0"
+ estree-walker "^3.0.0"
+
+estree-util-is-identifier-name@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz#0b5ef4c4ff13508b34dcd01ecfa945f61fce5dbd"
+ integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==
+
+estree-util-scope@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/estree-util-scope/-/estree-util-scope-1.0.0.tgz#9cbdfc77f5cb51e3d9ed4ad9c4adbff22d43e585"
+ integrity sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ devlop "^1.0.0"
+
+estree-util-to-js@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz#10a6fb924814e6abb62becf0d2bc4dea51d04f17"
+ integrity sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ astring "^1.8.0"
+ source-map "^0.7.0"
+
+estree-util-visit@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-2.0.0.tgz#13a9a9f40ff50ed0c022f831ddf4b58d05446feb"
+ integrity sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ "@types/unist" "^3.0.0"
+
+estree-walker@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+ integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
+estree-walker@^3.0.0, estree-walker@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d"
integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==
@@ -4352,6 +4554,11 @@ expect-type@^1.2.1:
resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.2.1.tgz#af76d8b357cf5fa76c41c09dafb79c549e75f71f"
integrity sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==
+extend@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -4765,6 +4972,56 @@ hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2:
dependencies:
function-bind "^1.1.2"
+hast-util-to-estree@^3.0.0:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz#e654c1c9374645135695cc0ab9f70b8fcaf733d7"
+ integrity sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ "@types/estree-jsx" "^1.0.0"
+ "@types/hast" "^3.0.0"
+ comma-separated-tokens "^2.0.0"
+ devlop "^1.0.0"
+ estree-util-attach-comments "^3.0.0"
+ estree-util-is-identifier-name "^3.0.0"
+ hast-util-whitespace "^3.0.0"
+ mdast-util-mdx-expression "^2.0.0"
+ mdast-util-mdx-jsx "^3.0.0"
+ mdast-util-mdxjs-esm "^2.0.0"
+ property-information "^7.0.0"
+ space-separated-tokens "^2.0.0"
+ style-to-js "^1.0.0"
+ unist-util-position "^5.0.0"
+ zwitch "^2.0.0"
+
+hast-util-to-jsx-runtime@^2.0.0:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz#ff31897aae59f62232e21594eac7ef6b63333e98"
+ integrity sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ "@types/hast" "^3.0.0"
+ "@types/unist" "^3.0.0"
+ comma-separated-tokens "^2.0.0"
+ devlop "^1.0.0"
+ estree-util-is-identifier-name "^3.0.0"
+ hast-util-whitespace "^3.0.0"
+ mdast-util-mdx-expression "^2.0.0"
+ mdast-util-mdx-jsx "^3.0.0"
+ mdast-util-mdxjs-esm "^2.0.0"
+ property-information "^7.0.0"
+ space-separated-tokens "^2.0.0"
+ style-to-js "^1.0.0"
+ unist-util-position "^5.0.0"
+ vfile-message "^4.0.0"
+
+hast-util-whitespace@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz#7778ed9d3c92dd9e8c5c8f648a49c21fc51cb621"
+ integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==
+ dependencies:
+ "@types/hast" "^3.0.0"
+
hoist-non-react-statics@^3.3.1:
version "3.3.2"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
@@ -4872,6 +5129,11 @@ ini@~4.1.0:
resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.1.tgz#d95b3d843b1e906e56d6747d5447904ff50ce7a1"
integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==
+inline-style-parser@0.2.4:
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.4.tgz#f4af5fe72e612839fcd453d989a586566d695f22"
+ integrity sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==
+
internal-slot@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802"
@@ -5086,6 +5348,11 @@ is-path-inside@^3.0.3:
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
+is-plain-obj@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0"
+ integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==
+
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"
@@ -5407,6 +5674,11 @@ long@^5.0.0:
resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1"
integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==
+longest-streak@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4"
+ integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==
+
loose-envify@^1.1.0, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
@@ -5450,6 +5722,11 @@ magic-string@^0.30.17:
dependencies:
"@jridgewell/sourcemap-codec" "^1.5.0"
+markdown-extensions@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-2.0.0.tgz#34bebc83e9938cae16e0e017e4a9814a8330d3c4"
+ integrity sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==
+
markdown-it@14.1.0:
version "14.1.0"
resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.1.0.tgz#3c3c5992883c633db4714ccb4d7b5935d98b7d45"
@@ -5508,6 +5785,122 @@ matomo-js-client-types@5.0.0:
resolved "https://registry.yarnpkg.com/matomo-js-client-types/-/matomo-js-client-types-5.0.0.tgz#6b08bd1eaa4b294663bfd82a6fc9e5c55d35c2c0"
integrity sha512-CF41gD+0MjLz/yTtEC0WDTt+NT2qJiW5kl+dZse3f6WMPM1gR9LTcHm5VH86UIKZBJmh1gqQhb71n8v3jEnzBw==
+mdast-util-from-markdown@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz#4850390ca7cf17413a9b9a0fbefcd1bc0eb4160a"
+ integrity sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ "@types/unist" "^3.0.0"
+ decode-named-character-reference "^1.0.0"
+ devlop "^1.0.0"
+ mdast-util-to-string "^4.0.0"
+ micromark "^4.0.0"
+ micromark-util-decode-numeric-character-reference "^2.0.0"
+ micromark-util-decode-string "^2.0.0"
+ micromark-util-normalize-identifier "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+ unist-util-stringify-position "^4.0.0"
+
+mdast-util-mdx-expression@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz#43f0abac9adc756e2086f63822a38c8d3c3a5096"
+ integrity sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ "@types/hast" "^3.0.0"
+ "@types/mdast" "^4.0.0"
+ devlop "^1.0.0"
+ mdast-util-from-markdown "^2.0.0"
+ mdast-util-to-markdown "^2.0.0"
+
+mdast-util-mdx-jsx@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz#fd04c67a2a7499efb905a8a5c578dddc9fdada0d"
+ integrity sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ "@types/hast" "^3.0.0"
+ "@types/mdast" "^4.0.0"
+ "@types/unist" "^3.0.0"
+ ccount "^2.0.0"
+ devlop "^1.1.0"
+ mdast-util-from-markdown "^2.0.0"
+ mdast-util-to-markdown "^2.0.0"
+ parse-entities "^4.0.0"
+ stringify-entities "^4.0.0"
+ unist-util-stringify-position "^4.0.0"
+ vfile-message "^4.0.0"
+
+mdast-util-mdx@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz#792f9cf0361b46bee1fdf1ef36beac424a099c41"
+ integrity sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==
+ dependencies:
+ mdast-util-from-markdown "^2.0.0"
+ mdast-util-mdx-expression "^2.0.0"
+ mdast-util-mdx-jsx "^3.0.0"
+ mdast-util-mdxjs-esm "^2.0.0"
+ mdast-util-to-markdown "^2.0.0"
+
+mdast-util-mdxjs-esm@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz#019cfbe757ad62dd557db35a695e7314bcc9fa97"
+ integrity sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==
+ dependencies:
+ "@types/estree-jsx" "^1.0.0"
+ "@types/hast" "^3.0.0"
+ "@types/mdast" "^4.0.0"
+ devlop "^1.0.0"
+ mdast-util-from-markdown "^2.0.0"
+ mdast-util-to-markdown "^2.0.0"
+
+mdast-util-phrasing@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz#7cc0a8dec30eaf04b7b1a9661a92adb3382aa6e3"
+ integrity sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ unist-util-is "^6.0.0"
+
+mdast-util-to-hast@^13.0.0:
+ version "13.2.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz#5ca58e5b921cc0a3ded1bc02eed79a4fe4fe41f4"
+ integrity sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==
+ dependencies:
+ "@types/hast" "^3.0.0"
+ "@types/mdast" "^4.0.0"
+ "@ungap/structured-clone" "^1.0.0"
+ devlop "^1.0.0"
+ micromark-util-sanitize-uri "^2.0.0"
+ trim-lines "^3.0.0"
+ unist-util-position "^5.0.0"
+ unist-util-visit "^5.0.0"
+ vfile "^6.0.0"
+
+mdast-util-to-markdown@^2.0.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz#f910ffe60897f04bb4b7e7ee434486f76288361b"
+ integrity sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ "@types/unist" "^3.0.0"
+ longest-streak "^3.0.0"
+ mdast-util-phrasing "^4.0.0"
+ mdast-util-to-string "^4.0.0"
+ micromark-util-classify-character "^2.0.0"
+ micromark-util-decode-string "^2.0.0"
+ unist-util-visit "^5.0.0"
+ zwitch "^2.0.0"
+
+mdast-util-to-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814"
+ integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+
mdurl@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0"
@@ -5606,6 +5999,72 @@ micromark-extension-math@3.1.0:
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
+micromark-extension-mdx-expression@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz#43d058d999532fb3041195a3c3c05c46fa84543b"
+ integrity sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ devlop "^1.0.0"
+ micromark-factory-mdx-expression "^2.0.0"
+ micromark-factory-space "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-events-to-acorn "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
+micromark-extension-mdx-jsx@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz#ffc98bdb649798902fa9fc5689f67f9c1c902044"
+ integrity sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ devlop "^1.0.0"
+ estree-util-is-identifier-name "^3.0.0"
+ micromark-factory-mdx-expression "^2.0.0"
+ micromark-factory-space "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-events-to-acorn "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+ vfile-message "^4.0.0"
+
+micromark-extension-mdx-md@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz#1d252881ea35d74698423ab44917e1f5b197b92d"
+ integrity sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==
+ dependencies:
+ micromark-util-types "^2.0.0"
+
+micromark-extension-mdxjs-esm@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz#de21b2b045fd2059bd00d36746081de38390d54a"
+ integrity sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ devlop "^1.0.0"
+ micromark-core-commonmark "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-events-to-acorn "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+ unist-util-position-from-estree "^2.0.0"
+ vfile-message "^4.0.0"
+
+micromark-extension-mdxjs@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz#b5a2e0ed449288f3f6f6c544358159557549de18"
+ integrity sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==
+ dependencies:
+ acorn "^8.0.0"
+ acorn-jsx "^5.0.0"
+ micromark-extension-mdx-expression "^3.0.0"
+ micromark-extension-mdx-jsx "^3.0.0"
+ micromark-extension-mdx-md "^2.0.0"
+ micromark-extension-mdxjs-esm "^3.0.0"
+ micromark-util-combine-extensions "^2.0.0"
+ micromark-util-types "^2.0.0"
+
micromark-factory-destination@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz#8fef8e0f7081f0474fbdd92deb50c990a0264639"
@@ -5625,6 +6084,21 @@ micromark-factory-label@^2.0.0:
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
+micromark-factory-mdx-expression@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz#bb09988610589c07d1c1e4425285895041b3dfa9"
+ integrity sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ devlop "^1.0.0"
+ micromark-factory-space "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-events-to-acorn "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+ unist-util-position-from-estree "^2.0.0"
+ vfile-message "^4.0.0"
+
micromark-factory-space@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz#36d0212e962b2b3121f8525fc7a3c7c029f334fc"
@@ -5692,11 +6166,34 @@ micromark-util-decode-numeric-character-reference@^2.0.0:
dependencies:
micromark-util-symbol "^2.0.0"
+micromark-util-decode-string@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz#6cb99582e5d271e84efca8e61a807994d7161eb2"
+ integrity sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==
+ dependencies:
+ decode-named-character-reference "^1.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-decode-numeric-character-reference "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+
micromark-util-encode@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz#0d51d1c095551cfaac368326963cf55f15f540b8"
integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==
+micromark-util-events-to-acorn@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz#e7a8a6b55a47e5a06c720d5a1c4abae8c37c98f3"
+ integrity sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ "@types/unist" "^3.0.0"
+ devlop "^1.0.0"
+ estree-util-visit "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+ vfile-message "^4.0.0"
+
micromark-util-html-tag-name@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz#e40403096481986b41c106627f98f72d4d10b825"
@@ -5768,6 +6265,29 @@ micromark@4.0.1:
micromark-util-symbol "^2.0.0"
micromark-util-types "^2.0.0"
+micromark@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.2.tgz#91395a3e1884a198e62116e33c9c568e39936fdb"
+ integrity sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==
+ dependencies:
+ "@types/debug" "^4.0.0"
+ debug "^4.0.0"
+ decode-named-character-reference "^1.0.0"
+ devlop "^1.0.0"
+ micromark-core-commonmark "^2.0.0"
+ micromark-factory-space "^2.0.0"
+ micromark-util-character "^2.0.0"
+ micromark-util-chunked "^2.0.0"
+ micromark-util-combine-extensions "^2.0.0"
+ micromark-util-decode-numeric-character-reference "^2.0.0"
+ micromark-util-encode "^2.0.0"
+ micromark-util-normalize-identifier "^2.0.0"
+ micromark-util-resolve-all "^2.0.0"
+ micromark-util-sanitize-uri "^2.0.0"
+ micromark-util-subtokenize "^2.0.0"
+ micromark-util-symbol "^2.0.0"
+ micromark-util-types "^2.0.0"
+
micromatch@^4.0.4:
version "4.0.5"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
@@ -6206,6 +6726,11 @@ prop-types@^15.6.2, prop-types@^15.8.1:
object-assign "^4.1.1"
react-is "^16.13.1"
+property-information@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/property-information/-/property-information-7.1.0.tgz#b622e8646e02b580205415586b40804d3e8bfd5d"
+ integrity sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==
+
protobufjs@~7.4.0:
version "7.4.0"
resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.4.0.tgz#7efe324ce9b3b61c82aae5de810d287bc08a248a"
@@ -6382,6 +6907,46 @@ recharts@2.15.1:
tiny-invariant "^1.3.1"
victory-vendor "^36.6.8"
+recma-build-jsx@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz#c02f29e047e103d2fab2054954e1761b8ea253c4"
+ integrity sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ estree-util-build-jsx "^3.0.0"
+ vfile "^6.0.0"
+
+recma-jsx@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/recma-jsx/-/recma-jsx-1.0.1.tgz#58e718f45e2102ed0bf2fa994f05b70d76801a1a"
+ integrity sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==
+ dependencies:
+ acorn-jsx "^5.0.0"
+ estree-util-to-js "^2.0.0"
+ recma-parse "^1.0.0"
+ recma-stringify "^1.0.0"
+ unified "^11.0.0"
+
+recma-parse@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/recma-parse/-/recma-parse-1.0.0.tgz#c351e161bb0ab47d86b92a98a9d891f9b6814b52"
+ integrity sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ esast-util-from-js "^2.0.0"
+ unified "^11.0.0"
+ vfile "^6.0.0"
+
+recma-stringify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/recma-stringify/-/recma-stringify-1.0.0.tgz#54632030631e0c7546136ff9ef8fde8e7b44f130"
+ integrity sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ estree-util-to-js "^2.0.0"
+ unified "^11.0.0"
+ vfile "^6.0.0"
+
redent@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f"
@@ -6486,6 +7051,44 @@ regjsparser@^0.9.1:
dependencies:
jsesc "~0.5.0"
+rehype-recma@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/rehype-recma/-/rehype-recma-1.0.0.tgz#d68ef6344d05916bd96e25400c6261775411aa76"
+ integrity sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ "@types/hast" "^3.0.0"
+ hast-util-to-estree "^3.0.0"
+
+remark-mdx@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-3.1.0.tgz#f979be729ecb35318fa48e2135c1169607a78343"
+ integrity sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==
+ dependencies:
+ mdast-util-mdx "^3.0.0"
+ micromark-extension-mdxjs "^3.0.0"
+
+remark-parse@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-11.0.0.tgz#aa60743fcb37ebf6b069204eb4da304e40db45a1"
+ integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==
+ dependencies:
+ "@types/mdast" "^4.0.0"
+ mdast-util-from-markdown "^2.0.0"
+ micromark-util-types "^2.0.0"
+ unified "^11.0.0"
+
+remark-rehype@^11.0.0:
+ version "11.1.2"
+ resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-11.1.2.tgz#2addaadda80ca9bd9aa0da763e74d16327683b37"
+ integrity sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==
+ dependencies:
+ "@types/hast" "^3.0.0"
+ "@types/mdast" "^4.0.0"
+ mdast-util-to-hast "^13.0.0"
+ unified "^11.0.0"
+ vfile "^6.0.0"
+
remove-accents@0.4.2:
version "0.4.2"
resolved "https://registry.yarnpkg.com/remove-accents/-/remove-accents-0.4.2.tgz#0a43d3aaae1e80db919e07ae254b285d9e1c7bb5"
@@ -6789,6 +7392,16 @@ source-map@^0.5.7:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==
+source-map@^0.7.0:
+ version "0.7.6"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.6.tgz#a3658ab87e5b6429c8a1f3ba0083d4c61ca3ef02"
+ integrity sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==
+
+space-separated-tokens@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f"
+ integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==
+
stackback@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b"
@@ -6938,6 +7551,14 @@ string_decoder@^1.1.1:
dependencies:
safe-buffer "~5.2.0"
+stringify-entities@^4.0.0:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.4.tgz#b3b79ef5f277cc4ac73caeb0236c5ba939b3a4f3"
+ integrity sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==
+ dependencies:
+ character-entities-html4 "^2.0.0"
+ character-entities-legacy "^3.0.0"
+
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
@@ -6962,6 +7583,20 @@ strip-json-comments@^3.1.1, strip-json-comments@~3.1.1:
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+style-to-js@^1.0.0:
+ version "1.1.17"
+ resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.17.tgz#488b1558a8c1fd05352943f088cc3ce376813d83"
+ integrity sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==
+ dependencies:
+ style-to-object "1.0.9"
+
+style-to-object@1.0.9:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-1.0.9.tgz#35c65b713f4a6dba22d3d0c61435f965423653f0"
+ integrity sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==
+ dependencies:
+ inline-style-parser "0.2.4"
+
stylis@4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51"
@@ -7097,6 +7732,16 @@ tr46@~0.0.3:
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
+trim-lines@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338"
+ integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==
+
+trough@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f"
+ integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==
+
ts-api-utils@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1"
@@ -7338,6 +7983,64 @@ unicode-property-aliases-ecmascript@^2.0.0:
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd"
integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==
+unified@^11.0.0:
+ version "11.0.5"
+ resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.5.tgz#f66677610a5c0a9ee90cab2b8d4d66037026d9e1"
+ integrity sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==
+ dependencies:
+ "@types/unist" "^3.0.0"
+ bail "^2.0.0"
+ devlop "^1.0.0"
+ extend "^3.0.0"
+ is-plain-obj "^4.0.0"
+ trough "^2.0.0"
+ vfile "^6.0.0"
+
+unist-util-is@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424"
+ integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==
+ dependencies:
+ "@types/unist" "^3.0.0"
+
+unist-util-position-from-estree@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz#d94da4df596529d1faa3de506202f0c9a23f2200"
+ integrity sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==
+ dependencies:
+ "@types/unist" "^3.0.0"
+
+unist-util-position@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4"
+ integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==
+ dependencies:
+ "@types/unist" "^3.0.0"
+
+unist-util-stringify-position@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2"
+ integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==
+ dependencies:
+ "@types/unist" "^3.0.0"
+
+unist-util-visit-parents@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815"
+ integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==
+ dependencies:
+ "@types/unist" "^3.0.0"
+ unist-util-is "^6.0.0"
+
+unist-util-visit@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6"
+ integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==
+ dependencies:
+ "@types/unist" "^3.0.0"
+ unist-util-is "^6.0.0"
+ unist-util-visit-parents "^6.0.0"
+
update-browserslist-db@^1.0.13:
version "1.0.13"
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4"
@@ -7378,6 +8081,22 @@ util-deprecate@^1.0.1:
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+vfile-message@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.3.tgz#87b44dddd7b70f0641c2e3ed0864ba73e2ea8df4"
+ integrity sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==
+ dependencies:
+ "@types/unist" "^3.0.0"
+ unist-util-stringify-position "^4.0.0"
+
+vfile@^6.0.0:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.3.tgz#3652ab1c496531852bf55a6bac57af981ebc38ab"
+ integrity sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==
+ dependencies:
+ "@types/unist" "^3.0.0"
+ vfile-message "^4.0.0"
+
victory-vendor@^36.6.8:
version "36.6.11"
resolved "https://registry.yarnpkg.com/victory-vendor/-/victory-vendor-36.6.11.tgz#acae770717c2dae541a54929c304ecab5ab6ac2a"
@@ -7677,3 +8396,8 @@ yocto-queue@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
+
+zwitch@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7"
+ integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==