@lexibase/rdx-ui 3.3.0 → 3.5.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.
Files changed (123) hide show
  1. package/README.md +6 -0
  2. package/THIRD_PARTY_NOTICES.md +7 -0
  3. package/dist/mermaid/LICENSE +21 -0
  4. package/dist/mermaid/chunks/mermaid.esm.min/abnfDiagram-HYZUXDRY.mjs +1 -0
  5. package/dist/mermaid/chunks/mermaid.esm.min/architecture-WOLXFQ4H-GHTOFUQ5.mjs +1 -0
  6. package/dist/mermaid/chunks/mermaid.esm.min/architectureDiagram-FWCGMENZ.mjs +36 -0
  7. package/dist/mermaid/chunks/mermaid.esm.min/blockDiagram-4CSTLEIA.mjs +140 -0
  8. package/dist/mermaid/chunks/mermaid.esm.min/c4Diagram-XZWFQOWE.mjs +38 -0
  9. package/dist/mermaid/chunks/mermaid.esm.min/chunk-3KU6CYTB.mjs +1 -0
  10. package/dist/mermaid/chunks/mermaid.esm.min/chunk-4GHFHL4L.mjs +1 -0
  11. package/dist/mermaid/chunks/mermaid.esm.min/chunk-5EYK72AM.mjs +1 -0
  12. package/dist/mermaid/chunks/mermaid.esm.min/chunk-5OZTHVBM.mjs +1 -0
  13. package/dist/mermaid/chunks/mermaid.esm.min/chunk-674HQBI4.mjs +1 -0
  14. package/dist/mermaid/chunks/mermaid.esm.min/chunk-7P5HNUOW.mjs +213 -0
  15. package/dist/mermaid/chunks/mermaid.esm.min/chunk-A2CVJI47.mjs +1 -0
  16. package/dist/mermaid/chunks/mermaid.esm.min/chunk-ADJWZCCI.mjs +2 -0
  17. package/dist/mermaid/chunks/mermaid.esm.min/chunk-AJJEVQBW.mjs +1 -0
  18. package/dist/mermaid/chunks/mermaid.esm.min/chunk-BOZ75642.mjs +15 -0
  19. package/dist/mermaid/chunks/mermaid.esm.min/chunk-C5JO3OR4.mjs +1 -0
  20. package/dist/mermaid/chunks/mermaid.esm.min/chunk-CJ6WPRXO.mjs +2 -0
  21. package/dist/mermaid/chunks/mermaid.esm.min/chunk-D36F7FYG.mjs +14 -0
  22. package/dist/mermaid/chunks/mermaid.esm.min/chunk-DFAUXGQ3.mjs +1 -0
  23. package/dist/mermaid/chunks/mermaid.esm.min/chunk-DXAG4NAJ.mjs +1 -0
  24. package/dist/mermaid/chunks/mermaid.esm.min/chunk-EW3V7WDR.mjs +1 -0
  25. package/dist/mermaid/chunks/mermaid.esm.min/chunk-F6PIGZHG.mjs +1 -0
  26. package/dist/mermaid/chunks/mermaid.esm.min/chunk-FNR2RGIF.mjs +1 -0
  27. package/dist/mermaid/chunks/mermaid.esm.min/chunk-FWWDAFD2.mjs +134 -0
  28. package/dist/mermaid/chunks/mermaid.esm.min/chunk-GDOATIN3.mjs +32 -0
  29. package/dist/mermaid/chunks/mermaid.esm.min/chunk-GDTRMLOK.mjs +1 -0
  30. package/dist/mermaid/chunks/mermaid.esm.min/chunk-GHI2JMQX.mjs +2 -0
  31. package/dist/mermaid/chunks/mermaid.esm.min/chunk-H2SWLY5Y.mjs +3 -0
  32. package/dist/mermaid/chunks/mermaid.esm.min/chunk-IER4RZHT.mjs +1 -0
  33. package/dist/mermaid/chunks/mermaid.esm.min/chunk-IZVUBGS4.mjs +88 -0
  34. package/dist/mermaid/chunks/mermaid.esm.min/chunk-JOOTFCOX.mjs +1 -0
  35. package/dist/mermaid/chunks/mermaid.esm.min/chunk-KJ5T2YZX.mjs +62 -0
  36. package/dist/mermaid/chunks/mermaid.esm.min/chunk-KTS5TP6K.mjs +1 -0
  37. package/dist/mermaid/chunks/mermaid.esm.min/chunk-L2B47AAZ.mjs +1 -0
  38. package/dist/mermaid/chunks/mermaid.esm.min/chunk-LFUUSPDU.mjs +2 -0
  39. package/dist/mermaid/chunks/mermaid.esm.min/chunk-LGKD3V67.mjs +1 -0
  40. package/dist/mermaid/chunks/mermaid.esm.min/chunk-MFYRHTYG.mjs +1 -0
  41. package/dist/mermaid/chunks/mermaid.esm.min/chunk-MIE3LDYP.mjs +1 -0
  42. package/dist/mermaid/chunks/mermaid.esm.min/chunk-MMC4O45A.mjs +1 -0
  43. package/dist/mermaid/chunks/mermaid.esm.min/chunk-PKJCTQEK.mjs +339 -0
  44. package/dist/mermaid/chunks/mermaid.esm.min/chunk-QVIEFLGF.mjs +1 -0
  45. package/dist/mermaid/chunks/mermaid.esm.min/chunk-SDIBIOXT.mjs +1 -0
  46. package/dist/mermaid/chunks/mermaid.esm.min/chunk-TRWJJ4LR.mjs +1 -0
  47. package/dist/mermaid/chunks/mermaid.esm.min/chunk-USJJLVIZ.mjs +1 -0
  48. package/dist/mermaid/chunks/mermaid.esm.min/chunk-V3KJR4XU.mjs +1 -0
  49. package/dist/mermaid/chunks/mermaid.esm.min/chunk-WLHZKB66.mjs +136 -0
  50. package/dist/mermaid/chunks/mermaid.esm.min/chunk-XGFVAD2T.mjs +70 -0
  51. package/dist/mermaid/chunks/mermaid.esm.min/chunk-XOUW2DEQ.mjs +1 -0
  52. package/dist/mermaid/chunks/mermaid.esm.min/chunk-XS6APLAC.mjs +1 -0
  53. package/dist/mermaid/chunks/mermaid.esm.min/chunk-XUG7IRDC.mjs +10 -0
  54. package/dist/mermaid/chunks/mermaid.esm.min/chunk-YX6CVSZ3.mjs +1 -0
  55. package/dist/mermaid/chunks/mermaid.esm.min/chunk-ZZ52EIBP.mjs +1 -0
  56. package/dist/mermaid/chunks/mermaid.esm.min/classDiagram-v2-Y5FV6ONJ.mjs +217 -0
  57. package/dist/mermaid/chunks/mermaid.esm.min/cose-bilkent-MSIMRU2B.mjs +1 -0
  58. package/dist/mermaid/chunks/mermaid.esm.min/cynefin-EF2NZ3EQ-R54WXN27.mjs +1 -0
  59. package/dist/mermaid/chunks/mermaid.esm.min/cynefinDiagram-YJSODOYC.mjs +62 -0
  60. package/dist/mermaid/chunks/mermaid.esm.min/dagre-JKPHJXCU.mjs +4 -0
  61. package/dist/mermaid/chunks/mermaid.esm.min/diagram-2HKZALZE.mjs +3 -0
  62. package/dist/mermaid/chunks/mermaid.esm.min/diagram-HHHQHE5F.mjs +24 -0
  63. package/dist/mermaid/chunks/mermaid.esm.min/diagram-HPYKNB4U.mjs +200 -0
  64. package/dist/mermaid/chunks/mermaid.esm.min/diagram-MZWFMCCE.mjs +30 -0
  65. package/dist/mermaid/chunks/mermaid.esm.min/diagram-PVSZJELT.mjs +24 -0
  66. package/dist/mermaid/chunks/mermaid.esm.min/diagram-X6UQTMWD.mjs +41 -0
  67. package/dist/mermaid/chunks/mermaid.esm.min/ebnfDiagram-6GPSJLNQ.mjs +1 -0
  68. package/dist/mermaid/chunks/mermaid.esm.min/elk-7HBNN7NY.mjs +27 -0
  69. package/dist/mermaid/chunks/mermaid.esm.min/erDiagram-Y4LBXKHG.mjs +99 -0
  70. package/dist/mermaid/chunks/mermaid.esm.min/eventmodeling-K75KTNOO-5X7W3UBU.mjs +1 -0
  71. package/dist/mermaid/chunks/mermaid.esm.min/flowDiagram-KMDKLPNL.mjs +1 -0
  72. package/dist/mermaid/chunks/mermaid.esm.min/ganttDiagram-76A4JV4W.mjs +292 -0
  73. package/dist/mermaid/chunks/mermaid.esm.min/gitGraph-VSP46ZUC-FQK3UU6A.mjs +1 -0
  74. package/dist/mermaid/chunks/mermaid.esm.min/gitGraphDiagram-EVPX2XFH.mjs +106 -0
  75. package/dist/mermaid/chunks/mermaid.esm.min/info-OHQRW6UA-QF2V7E2T.mjs +1 -0
  76. package/dist/mermaid/chunks/mermaid.esm.min/infoDiagram-G4MRDF25.mjs +2 -0
  77. package/dist/mermaid/chunks/mermaid.esm.min/ishikawaDiagram-UBNKZSLF.mjs +70 -0
  78. package/dist/mermaid/chunks/mermaid.esm.min/journeyDiagram-5CPKFXFQ.mjs +139 -0
  79. package/dist/mermaid/chunks/mermaid.esm.min/kanban-definition-WEZKRRYB.mjs +89 -0
  80. package/dist/mermaid/chunks/mermaid.esm.min/katex-AYS4IGT2.mjs +257 -0
  81. package/dist/mermaid/chunks/mermaid.esm.min/mindmap-definition-O75EZIMS.mjs +98 -0
  82. package/dist/mermaid/chunks/mermaid.esm.min/packet-JDAUHWVQ-IBKN7U47.mjs +1 -0
  83. package/dist/mermaid/chunks/mermaid.esm.min/pegDiagram-LKIDSOEG.mjs +1 -0
  84. package/dist/mermaid/chunks/mermaid.esm.min/pie-XZMESJXO-Q2BLAFAQ.mjs +1 -0
  85. package/dist/mermaid/chunks/mermaid.esm.min/pieDiagram-7BIPEFMD.mjs +39 -0
  86. package/dist/mermaid/chunks/mermaid.esm.min/quadrantDiagram-IHCSLFLC.mjs +7 -0
  87. package/dist/mermaid/chunks/mermaid.esm.min/radar-ABXABTNO-DQ2FIE3D.mjs +1 -0
  88. package/dist/mermaid/chunks/mermaid.esm.min/railroad-I3PHUGI6-IFWMPZK5.mjs +1 -0
  89. package/dist/mermaid/chunks/mermaid.esm.min/railroad-abnf-LNEFI6M7-5TBVSGVF.mjs +1 -0
  90. package/dist/mermaid/chunks/mermaid.esm.min/railroad-ebnf-DWYD2UWJ-IQAPAQTS.mjs +1 -0
  91. package/dist/mermaid/chunks/mermaid.esm.min/railroad-peg-JR7BVNR7-7XRGHPYN.mjs +1 -0
  92. package/dist/mermaid/chunks/mermaid.esm.min/railroadDiagram-T6ZQNPER.mjs +1 -0
  93. package/dist/mermaid/chunks/mermaid.esm.min/requirementDiagram-NFODNGNY.mjs +84 -0
  94. package/dist/mermaid/chunks/mermaid.esm.min/sankeyDiagram-LAUYGPPA.mjs +40 -0
  95. package/dist/mermaid/chunks/mermaid.esm.min/sequenceDiagram-OV7DSCPC.mjs +169 -0
  96. package/dist/mermaid/chunks/mermaid.esm.min/sizeCapture-ERV5D3W5.mjs +1 -0
  97. package/dist/mermaid/chunks/mermaid.esm.min/stateDiagram-v2-PVXPCO6V.mjs +291 -0
  98. package/dist/mermaid/chunks/mermaid.esm.min/swimlanes-2OY6MWR5.mjs +1 -0
  99. package/dist/mermaid/chunks/mermaid.esm.min/swimlanesDiagram-OROSK42J.mjs +8 -0
  100. package/dist/mermaid/chunks/mermaid.esm.min/timeline-definition-W2ENXKF5.mjs +120 -0
  101. package/dist/mermaid/chunks/mermaid.esm.min/treeView-D4JQ5SDB-G2RRDZEV.mjs +1 -0
  102. package/dist/mermaid/chunks/mermaid.esm.min/treemap-SAJKECNS-GRWGXJWJ.mjs +1 -0
  103. package/dist/mermaid/chunks/mermaid.esm.min/usecaseDiagram-WGGL4CJY.mjs +370 -0
  104. package/dist/mermaid/chunks/mermaid.esm.min/vennDiagram-REWWOBY3.mjs +34 -0
  105. package/dist/mermaid/chunks/mermaid.esm.min/wardley-7MLQ67FV-4I27TEHZ.mjs +1 -0
  106. package/dist/mermaid/chunks/mermaid.esm.min/wardleyDiagram-3VXUCKTG.mjs +78 -0
  107. package/dist/mermaid/chunks/mermaid.esm.min/xychartDiagram-BH4T3JT5.mjs +7 -0
  108. package/dist/mermaid/mermaid.esm.min.d.mts +5 -0
  109. package/dist/mermaid/mermaid.esm.min.mjs +14 -0
  110. package/package.json +8 -3
  111. package/src/components/brand-logo.tsx +28 -0
  112. package/src/components/button-group.tsx +87 -0
  113. package/src/components/card.tsx +102 -0
  114. package/src/components/copy-page.tsx +124 -0
  115. package/src/components/docs-sidebar.tsx +16 -2
  116. package/src/components/docs-toc.tsx +6 -2
  117. package/src/components/edit-page-link.tsx +22 -0
  118. package/src/components/heading-permalink.tsx +74 -0
  119. package/src/components/mdx-components.tsx +47 -18
  120. package/src/components/steps.tsx +141 -0
  121. package/src/lib/i18n.ts +24 -0
  122. package/src/lib/mermaid.ts +3 -2
  123. package/src/styles/globals.css +12 -0
@@ -0,0 +1,141 @@
1
+ 'use client'
2
+
3
+ import { motion, useReducedMotion } from 'motion/react'
4
+ import { Children, useEffect, useRef, useState, type ReactNode } from 'react'
5
+
6
+ import { cn } from '../lib/utils'
7
+ import { formatMessage } from '../lib/i18n'
8
+ import { useMessages } from '../providers/locale-provider'
9
+ import { Button } from './button'
10
+ import { Card, CardContent, CardFooter, CardHeader, CardTitle } from './card'
11
+
12
+ function StepPanel({
13
+ children,
14
+ active,
15
+ }: {
16
+ children: ReactNode
17
+ active: boolean
18
+ }) {
19
+ const panel = useRef<HTMLDivElement>(null)
20
+ const wasActive = useRef(active)
21
+
22
+ useEffect(() => {
23
+ if (active && !wasActive.current)
24
+ panel.current?.focus({ preventScroll: true })
25
+ wasActive.current = active
26
+ }, [active])
27
+
28
+ return (
29
+ <div
30
+ ref={panel}
31
+ data-slot="step-panel"
32
+ tabIndex={-1}
33
+ inert={!active}
34
+ aria-hidden={!active || undefined}
35
+ className="min-w-0 shrink-0 basis-full focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring"
36
+ >
37
+ {children}
38
+ </div>
39
+ )
40
+ }
41
+
42
+ export function Steps({ children }: { children: ReactNode }) {
43
+ const messages = useMessages()
44
+ const reduceMotion = useReducedMotion()
45
+ const steps = Children.toArray(children)
46
+ const [page, setPage] = useState(0)
47
+ const index = Math.min(page, steps.length - 1)
48
+ if (index < 0) return null
49
+
50
+ function navigate(direction: number) {
51
+ setPage((current) =>
52
+ Math.max(
53
+ 0,
54
+ Math.min(
55
+ Math.min(current, steps.length - 1) + direction,
56
+ steps.length - 1
57
+ )
58
+ )
59
+ )
60
+ }
61
+
62
+ return (
63
+ <Card
64
+ className="mx-auto my-6 w-full min-w-0 max-w-xl text-base"
65
+ data-slot="steps"
66
+ >
67
+ <CardHeader>
68
+ <div aria-hidden="true" className="flex gap-1.5">
69
+ {steps.map((_, position) => (
70
+ <span
71
+ key={position}
72
+ className={cn(
73
+ 'h-1.5 min-w-0 rounded-full motion-safe:transition-[flex-basis,background-color] motion-safe:duration-200',
74
+ position === index
75
+ ? 'basis-10 bg-rdx-selected'
76
+ : 'basis-2.5 bg-muted-foreground/25'
77
+ )}
78
+ />
79
+ ))}
80
+ </div>
81
+ <p
82
+ role="status"
83
+ className="m-0 mt-2 text-sm font-medium text-muted-foreground"
84
+ >
85
+ {formatMessage(messages.stepProgress, {
86
+ current: String(index + 1),
87
+ total: String(steps.length),
88
+ })}
89
+ </p>
90
+ </CardHeader>
91
+ <CardContent className="min-w-0">
92
+ <div className="min-h-32 overflow-clip">
93
+ <motion.div
94
+ className="flex items-start"
95
+ initial={false}
96
+ animate={{ x: `${-index * 100}%` }}
97
+ transition={{
98
+ duration: reduceMotion ? 0 : 0.24,
99
+ ease: 'easeInOut',
100
+ }}
101
+ >
102
+ {steps.map((step, position) => (
103
+ <StepPanel key={position} active={position === index}>
104
+ {step}
105
+ </StepPanel>
106
+ ))}
107
+ </motion.div>
108
+ </div>
109
+ </CardContent>
110
+ {steps.length > 1 && (
111
+ <CardFooter className="justify-between gap-2">
112
+ <Button
113
+ type="button"
114
+ variant="outline"
115
+ size="sm"
116
+ disabled={index === 0}
117
+ onClick={() => navigate(-1)}
118
+ >
119
+ {messages.previous}
120
+ </Button>
121
+ <Button
122
+ type="button"
123
+ size="sm"
124
+ disabled={index === steps.length - 1}
125
+ onClick={() => navigate(1)}
126
+ >
127
+ {messages.next}
128
+ </Button>
129
+ </CardFooter>
130
+ )}
131
+ </Card>
132
+ )
133
+ }
134
+
135
+ export function Step({ children }: { children: ReactNode }) {
136
+ return <div className="min-w-0 [&>:last-child]:mb-0">{children}</div>
137
+ }
138
+
139
+ export function StepTitle({ children }: { children: ReactNode }) {
140
+ return <CardTitle className="text-lg font-semibold">{children}</CardTitle>
141
+ }
package/src/lib/i18n.ts CHANGED
@@ -31,8 +31,12 @@ const en = {
31
31
  closeSidebar: 'Close sidebar',
32
32
  previous: 'Previous',
33
33
  next: 'Next',
34
+ stepProgress: 'Step {current} of {total}',
34
35
  previousPage: 'Previous page',
35
36
  nextPage: 'Next page',
37
+ sidebarImportant: 'Important',
38
+ sidebarNew: 'New',
39
+ editThisPage: 'Edit this page',
36
40
  onThisPage: 'On this page',
37
41
  search: 'Search…',
38
42
  searchDocumentation: 'Search documentation',
@@ -60,6 +64,14 @@ const en = {
60
64
  copyCodeError: 'Could not copy. Select the code and copy it manually.',
61
65
  copyRetry: 'Could not copy. Try again or copy manually.',
62
66
  copied: 'Copied!',
67
+ copyThisPage: 'Copy this page',
68
+ copyPageOptions: 'Page copy options',
69
+ viewMarkdown: 'View Markdown',
70
+ pageCopied: 'Page Markdown copied to clipboard.',
71
+ copyPageError:
72
+ 'Could not copy the page. Open View Markdown to copy it manually.',
73
+ sectionPermalink: 'Copy link to this section',
74
+ sectionLinkCopied: 'Section link copied to clipboard.',
63
75
  copyTab: 'Copy active tab',
64
76
  documentationTabs: 'Documentation tabs',
65
77
  tabCopied: 'Tab content copied to clipboard.',
@@ -132,8 +144,12 @@ const ptBR = {
132
144
  closeSidebar: 'Fechar menu lateral',
133
145
  previous: 'Anterior',
134
146
  next: 'Próxima',
147
+ stepProgress: 'Etapa {current} de {total}',
135
148
  previousPage: 'Página anterior',
136
149
  nextPage: 'Próxima página',
150
+ sidebarImportant: 'Importante',
151
+ sidebarNew: 'Novo',
152
+ editThisPage: 'Editar esta página',
137
153
  onThisPage: 'Nesta página',
138
154
  search: 'Buscar…',
139
155
  searchDocumentation: 'Buscar na documentação',
@@ -162,6 +178,14 @@ const ptBR = {
162
178
  'Não foi possível copiar. Selecione o código e copie manualmente.',
163
179
  copyRetry: 'Não foi possível copiar. Tente novamente ou copie manualmente.',
164
180
  copied: 'Copiado!',
181
+ copyThisPage: 'Copiar esta página',
182
+ copyPageOptions: 'Opções de cópia da página',
183
+ viewMarkdown: 'Ver Markdown',
184
+ pageCopied: 'Markdown da página copiado para a área de transferência.',
185
+ copyPageError:
186
+ 'Não foi possível copiar a página. Abra Ver Markdown para copiar manualmente.',
187
+ sectionPermalink: 'Copiar link para esta seção',
188
+ sectionLinkCopied: 'Link da seção copiado para a área de transferência.',
165
189
  copyTab: 'Copiar aba ativa',
166
190
  documentationTabs: 'Abas da documentação',
167
191
  tabCopied: 'Conteúdo da aba copiado para a área de transferência.',
@@ -1,11 +1,12 @@
1
- type Mermaid = (typeof import('mermaid'))['default']
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
@@ -236,6 +236,18 @@
236
236
  }
237
237
  }
238
238
 
239
+ @keyframes rdx-sidebar-highlight {
240
+ 0% {
241
+ opacity: 0.35;
242
+ transform: scale(1);
243
+ }
244
+ 65%,
245
+ 100% {
246
+ opacity: 0;
247
+ transform: scale(2.5);
248
+ }
249
+ }
250
+
239
251
  @keyframes rdx-page-enter {
240
252
  from {
241
253
  opacity: 0;