@lexibase/rdx-ui 3.2.1 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/THIRD_PARTY_NOTICES.md +7 -0
- package/dist/mermaid/LICENSE +21 -0
- package/dist/mermaid/chunks/mermaid.esm.min/abnfDiagram-HYZUXDRY.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/architecture-WOLXFQ4H-GHTOFUQ5.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/architectureDiagram-FWCGMENZ.mjs +36 -0
- package/dist/mermaid/chunks/mermaid.esm.min/blockDiagram-4CSTLEIA.mjs +140 -0
- package/dist/mermaid/chunks/mermaid.esm.min/c4Diagram-XZWFQOWE.mjs +38 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-3KU6CYTB.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-4GHFHL4L.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-5EYK72AM.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-5OZTHVBM.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-674HQBI4.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-7P5HNUOW.mjs +213 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-A2CVJI47.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-ADJWZCCI.mjs +2 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-AJJEVQBW.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-BOZ75642.mjs +15 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-C5JO3OR4.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-CJ6WPRXO.mjs +2 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-D36F7FYG.mjs +14 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-DFAUXGQ3.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-DXAG4NAJ.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-EW3V7WDR.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-F6PIGZHG.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-FNR2RGIF.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-FWWDAFD2.mjs +134 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-GDOATIN3.mjs +32 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-GDTRMLOK.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-GHI2JMQX.mjs +2 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-H2SWLY5Y.mjs +3 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-IER4RZHT.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-IZVUBGS4.mjs +88 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-JOOTFCOX.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-KJ5T2YZX.mjs +62 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-KTS5TP6K.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-L2B47AAZ.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-LFUUSPDU.mjs +2 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-LGKD3V67.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-MFYRHTYG.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-MIE3LDYP.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-MMC4O45A.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-PKJCTQEK.mjs +339 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-QVIEFLGF.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-SDIBIOXT.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-TRWJJ4LR.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-USJJLVIZ.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-V3KJR4XU.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-WLHZKB66.mjs +136 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-XGFVAD2T.mjs +70 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-XOUW2DEQ.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-XS6APLAC.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-XUG7IRDC.mjs +10 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-YX6CVSZ3.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/chunk-ZZ52EIBP.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/classDiagram-v2-Y5FV6ONJ.mjs +217 -0
- package/dist/mermaid/chunks/mermaid.esm.min/cose-bilkent-MSIMRU2B.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/cynefin-EF2NZ3EQ-R54WXN27.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/cynefinDiagram-YJSODOYC.mjs +62 -0
- package/dist/mermaid/chunks/mermaid.esm.min/dagre-JKPHJXCU.mjs +4 -0
- package/dist/mermaid/chunks/mermaid.esm.min/diagram-2HKZALZE.mjs +3 -0
- package/dist/mermaid/chunks/mermaid.esm.min/diagram-HHHQHE5F.mjs +24 -0
- package/dist/mermaid/chunks/mermaid.esm.min/diagram-HPYKNB4U.mjs +200 -0
- package/dist/mermaid/chunks/mermaid.esm.min/diagram-MZWFMCCE.mjs +30 -0
- package/dist/mermaid/chunks/mermaid.esm.min/diagram-PVSZJELT.mjs +24 -0
- package/dist/mermaid/chunks/mermaid.esm.min/diagram-X6UQTMWD.mjs +41 -0
- package/dist/mermaid/chunks/mermaid.esm.min/ebnfDiagram-6GPSJLNQ.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/elk-7HBNN7NY.mjs +27 -0
- package/dist/mermaid/chunks/mermaid.esm.min/erDiagram-Y4LBXKHG.mjs +99 -0
- package/dist/mermaid/chunks/mermaid.esm.min/eventmodeling-K75KTNOO-5X7W3UBU.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/flowDiagram-KMDKLPNL.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/ganttDiagram-76A4JV4W.mjs +292 -0
- package/dist/mermaid/chunks/mermaid.esm.min/gitGraph-VSP46ZUC-FQK3UU6A.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/gitGraphDiagram-EVPX2XFH.mjs +106 -0
- package/dist/mermaid/chunks/mermaid.esm.min/info-OHQRW6UA-QF2V7E2T.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/infoDiagram-G4MRDF25.mjs +2 -0
- package/dist/mermaid/chunks/mermaid.esm.min/ishikawaDiagram-UBNKZSLF.mjs +70 -0
- package/dist/mermaid/chunks/mermaid.esm.min/journeyDiagram-5CPKFXFQ.mjs +139 -0
- package/dist/mermaid/chunks/mermaid.esm.min/kanban-definition-WEZKRRYB.mjs +89 -0
- package/dist/mermaid/chunks/mermaid.esm.min/katex-AYS4IGT2.mjs +257 -0
- package/dist/mermaid/chunks/mermaid.esm.min/mindmap-definition-O75EZIMS.mjs +98 -0
- package/dist/mermaid/chunks/mermaid.esm.min/packet-JDAUHWVQ-IBKN7U47.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/pegDiagram-LKIDSOEG.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/pie-XZMESJXO-Q2BLAFAQ.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/pieDiagram-7BIPEFMD.mjs +39 -0
- package/dist/mermaid/chunks/mermaid.esm.min/quadrantDiagram-IHCSLFLC.mjs +7 -0
- package/dist/mermaid/chunks/mermaid.esm.min/radar-ABXABTNO-DQ2FIE3D.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/railroad-I3PHUGI6-IFWMPZK5.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/railroad-abnf-LNEFI6M7-5TBVSGVF.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/railroad-ebnf-DWYD2UWJ-IQAPAQTS.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/railroad-peg-JR7BVNR7-7XRGHPYN.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/railroadDiagram-T6ZQNPER.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/requirementDiagram-NFODNGNY.mjs +84 -0
- package/dist/mermaid/chunks/mermaid.esm.min/sankeyDiagram-LAUYGPPA.mjs +40 -0
- package/dist/mermaid/chunks/mermaid.esm.min/sequenceDiagram-OV7DSCPC.mjs +169 -0
- package/dist/mermaid/chunks/mermaid.esm.min/sizeCapture-ERV5D3W5.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/stateDiagram-v2-PVXPCO6V.mjs +291 -0
- package/dist/mermaid/chunks/mermaid.esm.min/swimlanes-2OY6MWR5.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/swimlanesDiagram-OROSK42J.mjs +8 -0
- package/dist/mermaid/chunks/mermaid.esm.min/timeline-definition-W2ENXKF5.mjs +120 -0
- package/dist/mermaid/chunks/mermaid.esm.min/treeView-D4JQ5SDB-G2RRDZEV.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/treemap-SAJKECNS-GRWGXJWJ.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/usecaseDiagram-WGGL4CJY.mjs +370 -0
- package/dist/mermaid/chunks/mermaid.esm.min/vennDiagram-REWWOBY3.mjs +34 -0
- package/dist/mermaid/chunks/mermaid.esm.min/wardley-7MLQ67FV-4I27TEHZ.mjs +1 -0
- package/dist/mermaid/chunks/mermaid.esm.min/wardleyDiagram-3VXUCKTG.mjs +78 -0
- package/dist/mermaid/chunks/mermaid.esm.min/xychartDiagram-BH4T3JT5.mjs +7 -0
- package/dist/mermaid/mermaid.esm.min.d.mts +5 -0
- package/dist/mermaid/mermaid.esm.min.mjs +14 -0
- package/package.json +10 -5
- package/src/components/brand-logo.tsx +28 -0
- package/src/components/language-dropdown.tsx +84 -0
- package/src/components/localized-not-found.tsx +50 -0
- package/src/components/navbar.tsx +3 -0
- package/src/lib/i18n.ts +16 -0
- package/src/lib/mermaid.ts +3 -2
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import { ExternalLink, Languages } from 'lucide-react'
|
|
4
|
+
import Link from 'next/link'
|
|
5
|
+
import { Button } from './button'
|
|
6
|
+
import {
|
|
7
|
+
DropdownMenu,
|
|
8
|
+
DropdownMenuContent,
|
|
9
|
+
DropdownMenuGroup,
|
|
10
|
+
DropdownMenuLinkItem,
|
|
11
|
+
DropdownMenuSeparator,
|
|
12
|
+
DropdownMenuTrigger,
|
|
13
|
+
} from './dropdown-menu'
|
|
14
|
+
import { getMessages } from '../lib/i18n'
|
|
15
|
+
|
|
16
|
+
/** Locale navigation composes the shared shadcn/ui Base UI menu. */
|
|
17
|
+
export function LanguageDropdown({
|
|
18
|
+
options,
|
|
19
|
+
current,
|
|
20
|
+
lang,
|
|
21
|
+
contributionUrl,
|
|
22
|
+
}: {
|
|
23
|
+
options: { code: string; label: string; href: string }[]
|
|
24
|
+
current: string
|
|
25
|
+
lang?: string
|
|
26
|
+
contributionUrl?: string
|
|
27
|
+
}) {
|
|
28
|
+
const selected = options.find((option) => option.code === current)
|
|
29
|
+
if (!selected) return null
|
|
30
|
+
const messages = getMessages(lang)
|
|
31
|
+
return (
|
|
32
|
+
<DropdownMenu>
|
|
33
|
+
<DropdownMenuTrigger
|
|
34
|
+
render={
|
|
35
|
+
<Button
|
|
36
|
+
variant="outline"
|
|
37
|
+
size="sm"
|
|
38
|
+
aria-label={`${getMessages(lang).documentationLanguage}: ${selected.label}`}
|
|
39
|
+
data-rdx-language-trigger
|
|
40
|
+
/>
|
|
41
|
+
}
|
|
42
|
+
>
|
|
43
|
+
<Languages className="size-4" aria-hidden="true" />
|
|
44
|
+
<span className="hidden sm:inline">{selected.label}</span>
|
|
45
|
+
<span className="sm:hidden">{selected.code}</span>
|
|
46
|
+
</DropdownMenuTrigger>
|
|
47
|
+
<DropdownMenuContent align="end" collisionPadding={8}>
|
|
48
|
+
<DropdownMenuGroup>
|
|
49
|
+
{options.map((option) => (
|
|
50
|
+
<DropdownMenuLinkItem
|
|
51
|
+
key={option.code}
|
|
52
|
+
className={option.code === current ? 'bg-accent/30' : undefined}
|
|
53
|
+
closeOnClick
|
|
54
|
+
render={<Link href={option.href} hrefLang={option.code} />}
|
|
55
|
+
aria-current={option.code === current ? 'true' : undefined}
|
|
56
|
+
>
|
|
57
|
+
{option.label}
|
|
58
|
+
</DropdownMenuLinkItem>
|
|
59
|
+
))}
|
|
60
|
+
</DropdownMenuGroup>
|
|
61
|
+
{contributionUrl && (
|
|
62
|
+
<>
|
|
63
|
+
<DropdownMenuSeparator />
|
|
64
|
+
<DropdownMenuLinkItem
|
|
65
|
+
closeOnClick
|
|
66
|
+
render={
|
|
67
|
+
<a
|
|
68
|
+
href={contributionUrl}
|
|
69
|
+
target="_blank"
|
|
70
|
+
rel="noopener noreferrer"
|
|
71
|
+
/>
|
|
72
|
+
}
|
|
73
|
+
data-rdx-help-translate
|
|
74
|
+
>
|
|
75
|
+
{messages.helpTranslate}
|
|
76
|
+
<ExternalLink className="ml-auto size-3.5" aria-hidden="true" />
|
|
77
|
+
<span className="sr-only"> ({messages.opensInNewTab})</span>
|
|
78
|
+
</DropdownMenuLinkItem>
|
|
79
|
+
</>
|
|
80
|
+
)}
|
|
81
|
+
</DropdownMenuContent>
|
|
82
|
+
</DropdownMenu>
|
|
83
|
+
)
|
|
84
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import type { ComponentProps, ReactNode } from 'react'
|
|
4
|
+
import { useParams } from 'next/navigation'
|
|
5
|
+
import { Navbar } from './navbar'
|
|
6
|
+
import { NotFound } from './not-found'
|
|
7
|
+
import { LanguageDropdown } from './language-dropdown'
|
|
8
|
+
|
|
9
|
+
/** Error boundaries do not receive server route params; use Next's route context. */
|
|
10
|
+
export function LocalizedNotFound({
|
|
11
|
+
locales,
|
|
12
|
+
defaultLocale,
|
|
13
|
+
brand,
|
|
14
|
+
homepage,
|
|
15
|
+
}: {
|
|
16
|
+
locales: { code: string; path: string; label: string }[]
|
|
17
|
+
defaultLocale: string
|
|
18
|
+
brand: Pick<
|
|
19
|
+
ComponentProps<typeof Navbar>,
|
|
20
|
+
'title' | 'siteTitle' | 'github' | 'showToggleMode'
|
|
21
|
+
> & { logo: ReactNode }
|
|
22
|
+
homepage: boolean
|
|
23
|
+
}) {
|
|
24
|
+
const params = useParams<{ locale?: string }>()
|
|
25
|
+
const selected =
|
|
26
|
+
locales.find((locale) => locale.path === params.locale) ??
|
|
27
|
+
locales.find((locale) => locale.code === defaultLocale)!
|
|
28
|
+
const docsHref = `/${selected.path}/docs`
|
|
29
|
+
return (
|
|
30
|
+
<>
|
|
31
|
+
<Navbar
|
|
32
|
+
{...brand}
|
|
33
|
+
lang={selected.code}
|
|
34
|
+
homeHref={homepage ? '/' : docsHref}
|
|
35
|
+
docsHref={docsHref}
|
|
36
|
+
languageMenu={
|
|
37
|
+
<LanguageDropdown
|
|
38
|
+
lang={selected.code}
|
|
39
|
+
current={selected.code}
|
|
40
|
+
options={locales.map((locale) => ({
|
|
41
|
+
...locale,
|
|
42
|
+
href: `/${locale.path}/docs`,
|
|
43
|
+
}))}
|
|
44
|
+
/>
|
|
45
|
+
}
|
|
46
|
+
/>
|
|
47
|
+
<NotFound lang={selected.code} href={docsHref} />
|
|
48
|
+
</>
|
|
49
|
+
)
|
|
50
|
+
}
|
|
@@ -17,6 +17,7 @@ export function Navbar({
|
|
|
17
17
|
docsHref = '/docs',
|
|
18
18
|
docsLink,
|
|
19
19
|
versionMenu,
|
|
20
|
+
languageMenu,
|
|
20
21
|
search,
|
|
21
22
|
github,
|
|
22
23
|
showToggleMode = false,
|
|
@@ -29,6 +30,7 @@ export function Navbar({
|
|
|
29
30
|
docsHref?: string
|
|
30
31
|
docsLink?: ReactNode
|
|
31
32
|
versionMenu?: ReactNode
|
|
33
|
+
languageMenu?: ReactNode
|
|
32
34
|
search?: ReactNode
|
|
33
35
|
github?: { visible: boolean; url: string }
|
|
34
36
|
showToggleMode?: boolean
|
|
@@ -55,6 +57,7 @@ export function Navbar({
|
|
|
55
57
|
<div className="flex items-center gap-x-1 md:gap-x-2 h-4">
|
|
56
58
|
{search}
|
|
57
59
|
{versionMenu}
|
|
60
|
+
{languageMenu}
|
|
58
61
|
{docsLink ?? (
|
|
59
62
|
<Button variant="link" size="sm" href={docsHref}>
|
|
60
63
|
{messages.docs}
|
package/src/lib/i18n.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
/** Shared labels only: document content and author-provided names stay untouched. */
|
|
2
2
|
const en = {
|
|
3
|
+
documentationLanguage: 'Documentation language',
|
|
4
|
+
translationUnavailable: 'Translation unavailable',
|
|
5
|
+
translationFallback:
|
|
6
|
+
'This page is not available in {requested}. You are reading the {original} version.',
|
|
7
|
+
viewOriginal: 'View the original page',
|
|
8
|
+
helpTranslate: 'Help translate',
|
|
9
|
+
translateThisPage: 'Translate this page',
|
|
10
|
+
opensInNewTab: 'opens in a new tab',
|
|
3
11
|
keyboardJoiner: ' plus ',
|
|
4
12
|
keyboardControl: 'Control',
|
|
5
13
|
keyboardShift: 'Shift',
|
|
@@ -93,6 +101,14 @@ export type InterfaceMessages = { [Key in keyof typeof en]: string }
|
|
|
93
101
|
export type InterfaceLocale = 'en' | 'pt-BR'
|
|
94
102
|
|
|
95
103
|
const ptBR = {
|
|
104
|
+
documentationLanguage: 'Idioma da documentação',
|
|
105
|
+
translationUnavailable: 'Tradução indisponível',
|
|
106
|
+
translationFallback:
|
|
107
|
+
'Esta página não está disponível em {requested}. Você está lendo a versão em {original}.',
|
|
108
|
+
viewOriginal: 'Ver a página original',
|
|
109
|
+
helpTranslate: 'Ajude a traduzir',
|
|
110
|
+
translateThisPage: 'Traduza esta página',
|
|
111
|
+
opensInNewTab: 'abre em uma nova aba',
|
|
96
112
|
keyboardJoiner: ' mais ',
|
|
97
113
|
keyboardControl: 'Control',
|
|
98
114
|
keyboardShift: 'Shift',
|
package/src/lib/mermaid.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
type Mermaid =
|
|
1
|
+
type Mermaid =
|
|
2
|
+
(typeof import('../../dist/mermaid/mermaid.esm.min.mjs'))['default']
|
|
2
3
|
|
|
3
4
|
let engine: Promise<Mermaid> | undefined
|
|
4
5
|
let queue: Promise<unknown> = Promise.resolve()
|
|
5
6
|
let serial = 0
|
|
6
7
|
|
|
7
8
|
function loadMermaid() {
|
|
8
|
-
engine ??= import('mermaid')
|
|
9
|
+
engine ??= import('../../dist/mermaid/mermaid.esm.min.mjs')
|
|
9
10
|
.then((module) => module.default)
|
|
10
11
|
.catch((error: unknown) => {
|
|
11
12
|
engine = undefined
|