mirror of
https://github.com/supabase/supabase.git
synced 2026-10-06 09:55:06 +03:00
chore: remove mermaid, use static SVG (#28083)
This commit is contained in:
1 parent
3601bb52f5
commit
14e29dc0a0
10 files changed
+24
-958
No files matched your search
@@ -1,2 +0,0 @@
|
||||
import { Mermaid } from 'mdx-mermaid/lib/Mermaid'
|
||||
export default Mermaid
|
||||
@@ -1,13 +0,0 @@
|
||||
'use client'
|
||||
|
||||
import { Suspense, lazy } from 'react'
|
||||
|
||||
const MermaidHeavy = lazy(() => import('./Mermaid'))
|
||||
|
||||
export function Mermaid(props) {
|
||||
return (
|
||||
<Suspense>
|
||||
<MermaidHeavy {...props} />
|
||||
</Suspense>
|
||||
)
|
||||
}
|
||||
@@ -77,7 +77,6 @@ import { AppleSecretGenerator } from './AppleSecretGenerator'
|
||||
import { AuthSmsProviderConfig } from './AuthSmsProviderConfig'
|
||||
import { Extensions } from './Extensions'
|
||||
import { JwtGenerator } from './JwtGenerator'
|
||||
import { Mermaid } from './Mermaid'
|
||||
import { RealtimeLimitsEstimator } from './RealtimeLimitsEstimator'
|
||||
|
||||
const components = {
|
||||
@@ -146,7 +145,6 @@ const components = {
|
||||
JwtGenerator,
|
||||
KotlinProjectSetup,
|
||||
Link,
|
||||
Mermaid,
|
||||
MigrationWarnings,
|
||||
NavData,
|
||||
OAuthPkceFlow,
|
||||
|
||||
@@ -34,16 +34,13 @@ Supabase Auth provides:
|
||||
|
||||
Below is a flow chart illustrating how these APIs work together to enable MFA features in your app.
|
||||
|
||||
<Mermaid
|
||||
chart={`
|
||||
graph TD;
|
||||
InitS((Setup flow)) --> SAAL1[/Session is AAL1/] --> Enroll[Enroll API] --> ShowQR[Show QR code] --> Scan([User: Scan QR code in authenticator]) --> Enter([User: Enter code]) --> Verify[Challenge + Verify API] --> Check{{Is code correct?}}
|
||||
Check -->|Yes| AAL2[/Upgrade to AAL2/] --> Done((Done))
|
||||
Check -->|No| Enter
|
||||
InitA((Login flow)) --> SignIn([User: Sign-in]) --> AAL1[/Upgrade to AAL1/] --> ListFactors[List Factors API]
|
||||
ListFactors -->|1 or more factors| OpenAuth([User: Open authenticator]) --> Enter
|
||||
ListFactors -->|0 factors| Setup[[Setup flow]]
|
||||
`}
|
||||
<Image
|
||||
alt="Diagram showing the flow of Multi-Factor authentication"
|
||||
src={{
|
||||
light: '/docs/img/guides/auth-mfa/auth-mfa-flow.svg',
|
||||
dark: '/docs/img/guides/auth-mfa/auth-mfa-flow.svg',
|
||||
}}
|
||||
containerClassName="max-w-[700px]"
|
||||
/>
|
||||
|
||||
These sets of APIs let you control the MFA experience that works for you. You can create flows where MFA is optional, mandatory for all, or only specific groups of users.
|
||||
|
||||
@@ -26,7 +26,6 @@ import {
|
||||
SocialProviderSettingsSupabase,
|
||||
SocialProviderSetup,
|
||||
} from '~/components/MDX/partials'
|
||||
import { Mermaid } from '~/components/Mermaid'
|
||||
import { NavData } from '~/components/NavData'
|
||||
import { ProjectConfigVariables } from '~/components/ProjectConfigVariables'
|
||||
import { RealtimeLimitsEstimator } from '~/components/RealtimeLimitsEstimator'
|
||||
@@ -62,7 +61,6 @@ const components = {
|
||||
JwtGenerator,
|
||||
KotlinProjectSetup,
|
||||
Link,
|
||||
Mermaid,
|
||||
MigrationWarnings,
|
||||
NavData,
|
||||
OAuthPkceFlow,
|
||||
|
||||
@@ -62,17 +62,7 @@ const nextConfig = {
|
||||
transform: 'lodash/{{member}}',
|
||||
},
|
||||
},
|
||||
transpilePackages: [
|
||||
'ui',
|
||||
'ui-patterns',
|
||||
'common',
|
||||
'mermaid',
|
||||
'mdx-mermaid',
|
||||
'dayjs',
|
||||
'shared-data',
|
||||
'api-types',
|
||||
'icons',
|
||||
],
|
||||
transpilePackages: ['ui', 'ui-patterns', 'common', 'dayjs', 'shared-data', 'api-types', 'icons'],
|
||||
/**
|
||||
* The SQL to REST API translator relies on libpg-query, which packages a
|
||||
* native Node.js module that wraps the Postgres query parser.
|
||||
|
||||
@@ -54,8 +54,6 @@
|
||||
"mdast-util-mdx": "^2.0.0",
|
||||
"mdast-util-to-markdown": "^1.5.0",
|
||||
"mdast-util-to-string": "^3.1.1",
|
||||
"mdx-mermaid": "^2.0.0",
|
||||
"mermaid": "^10.0.2",
|
||||
"micromark-extension-mdxjs": "^1.0.0",
|
||||
"next": "^14.2.3",
|
||||
"next-mdx-remote": "^4.4.1",
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
<svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -8 715.6328125 968.234375" style="max-width: 100%;" xmlns="http://www.w3.org/2000/svg" width="100%" id="graph-div" height="100%" xmlns:xlink="http://www.w3.org/1999/xlink"><style>#graph-div{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#graph-div .error-icon{fill:#552222;}#graph-div .error-text{fill:#552222;stroke:#552222;}#graph-div .edge-thickness-normal{stroke-width:2px;}#graph-div .edge-thickness-thick{stroke-width:3.5px;}#graph-div .edge-pattern-solid{stroke-dasharray:0;}#graph-div .edge-pattern-dashed{stroke-dasharray:3;}#graph-div .edge-pattern-dotted{stroke-dasharray:2;}#graph-div .marker{fill:#333333;stroke:#333333;}#graph-div .marker.cross{stroke:#333333;}#graph-div svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#graph-div .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#graph-div .cluster-label text{fill:#333;}#graph-div .cluster-label span,#graph-div p{color:#333;}#graph-div .label text,#graph-div span,#graph-div p{fill:#333;color:#333;}#graph-div .node rect,#graph-div .node circle,#graph-div .node ellipse,#graph-div .node polygon,#graph-div .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#graph-div .flowchart-label text{text-anchor:middle;}#graph-div .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#graph-div .node .label{text-align:center;}#graph-div .node.clickable{cursor:pointer;}#graph-div .arrowheadPath{fill:#333333;}#graph-div .edgePath .path{stroke:#333333;stroke-width:2.0px;}#graph-div .flowchart-link{stroke:#333333;fill:none;}#graph-div .edgeLabel{background-color:#e8e8e8;text-align:center;}#graph-div .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#graph-div .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#graph-div .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#graph-div .cluster text{fill:#333;}#graph-div .cluster span,#graph-div p{color:#333;}#graph-div div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#graph-div .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#graph-div :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="6" viewBox="0 0 10 10" class="marker flowchart" id="graph-div_flowchart-pointEnd"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 0 L 10 5 L 0 10 z"></path></marker><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="4.5" viewBox="0 0 10 10" class="marker flowchart" id="graph-div_flowchart-pointStart"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 5 L 10 10 L 10 0 z"></path></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="11" viewBox="0 0 10 10" class="marker flowchart" id="graph-div_flowchart-circleEnd"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"></circle></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="-1" viewBox="0 0 10 10" class="marker flowchart" id="graph-div_flowchart-circleStart"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"></circle></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="12" viewBox="0 0 11 11" class="marker cross flowchart" id="graph-div_flowchart-crossEnd"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"></path></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="-1" viewBox="0 0 11 11" class="marker cross flowchart" id="graph-div_flowchart-crossStart"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"></path></marker><g class="root"><g class="clusters"></g><g class="edgePaths"><path marker-end="url(#graph-div_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-InitS LE-SAAL1" id="L-InitS-SAAL1-0" d="M142.477,91.367L142.477,95.534C142.477,99.701,142.477,108.034,142.543,115.567C142.609,123.101,142.741,129.835,142.807,133.201L142.873,136.568"></path><path marker-end="url(#graph-div_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-SAAL1 LE-Enroll" id="L-SAAL1-Enroll-0" d="M142.977,180.867L142.893,184.951C142.81,189.034,142.643,197.201,142.56,204.567C142.477,211.934,142.477Line truncated
|
||||
|
After Width: | Height: | Size: 23 KiB |
@@ -0,0 +1,7 @@
|
||||
graph TD;
|
||||
InitS((Setup flow)) --> SAAL1[/Session is AAL1/] --> Enroll[Enroll API] --> ShowQR[Show QR code] --> Scan([User: Scan QR code in authenticator]) --> Enter([User: Enter code]) --> Verify[Challenge + Verify API] --> Check{{Is code correct?}}
|
||||
Check -->|Yes| AAL2[/Upgrade to AAL2/] --> Done((Done))
|
||||
Check -->|No| Enter
|
||||
InitA((Login flow)) --> SignIn([User: Sign-in]) --> AAL1[/Upgrade to AAL1/] --> ListFactors[List Factors API]
|
||||
ListFactors -->|1 or more factors| OpenAuth([User: Open authenticator]) --> Enter
|
||||
ListFactors -->|0 factors| Setup[[Setup flow]]
|
||||
Generated
+8
-916
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user