@docubook/mdx-content 1.0.1 → 2.1.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 +44 -19
- package/components.md +240 -0
- package/dist/client.d.ts +2 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +2 -2
- package/dist/client.js.map +1 -1
- package/dist/components/AccordionGroupMdx.d.ts +4 -2
- package/dist/components/AccordionGroupMdx.d.ts.map +1 -1
- package/dist/components/AccordionGroupMdx.js +5 -1
- package/dist/components/AccordionGroupMdx.js.map +1 -1
- package/dist/components/CardGroupMdx.d.ts +4 -2
- package/dist/components/CardGroupMdx.d.ts.map +1 -1
- package/dist/components/CardGroupMdx.js +5 -1
- package/dist/components/CardGroupMdx.js.map +1 -1
- package/dist/components/CodeBlock.d.ts +4 -1
- package/dist/components/CodeBlock.d.ts.map +1 -1
- package/dist/components/CodeBlock.js +77 -9
- package/dist/components/CodeBlock.js.map +1 -1
- package/dist/components/ExpandableCode.d.ts +11 -0
- package/dist/components/ExpandableCode.d.ts.map +1 -0
- package/dist/components/ExpandableCode.js +83 -0
- package/dist/components/ExpandableCode.js.map +1 -0
- package/dist/components/KeyboardMdx.d.ts +3 -4
- package/dist/components/KeyboardMdx.d.ts.map +1 -1
- package/dist/components/KeyboardMdx.js +3 -5
- package/dist/components/KeyboardMdx.js.map +1 -1
- package/dist/components/StepperMdx.d.ts +9 -5
- package/dist/components/StepperMdx.d.ts.map +1 -1
- package/dist/components/StepperMdx.js +10 -2
- package/dist/components/StepperMdx.js.map +1 -1
- package/dist/components/TabsMdx.d.ts +11 -3
- package/dist/components/TabsMdx.d.ts.map +1 -1
- package/dist/components/TabsMdx.js +66 -5
- package/dist/components/TabsMdx.js.map +1 -1
- package/dist/components/index.d.ts +5 -3
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +5 -3
- package/dist/components/index.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +8 -2
- package/dist/registry/index.js.map +1 -1
- package/dist/server.d.ts +2 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/package.json +69 -69
package/README.md
CHANGED
|
@@ -42,9 +42,9 @@ Create `lib/mdx-components.ts` to define the full component map. Import built-in
|
|
|
42
42
|
import {
|
|
43
43
|
createMdxComponents,
|
|
44
44
|
type MdxComponentMap,
|
|
45
|
-
|
|
45
|
+
AccordionsMdx,
|
|
46
46
|
AccordionMdx,
|
|
47
|
-
|
|
47
|
+
CardsMdx,
|
|
48
48
|
ChangesMdx,
|
|
49
49
|
CodeBlock,
|
|
50
50
|
FileMdx,
|
|
@@ -53,8 +53,10 @@ import {
|
|
|
53
53
|
KbdMdx,
|
|
54
54
|
NoteMdx,
|
|
55
55
|
ReleaseMdx,
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
StepsMdx,
|
|
57
|
+
StepMdx,
|
|
58
|
+
TabMdx,
|
|
59
|
+
TabsMdx,
|
|
58
60
|
TableBodyMdx,
|
|
59
61
|
TableCellMdx,
|
|
60
62
|
TableFooterMdx,
|
|
@@ -62,21 +64,23 @@ import {
|
|
|
62
64
|
TableHeaderMdx,
|
|
63
65
|
TableMdx,
|
|
64
66
|
TableRowMdx,
|
|
67
|
+
TooltipMdx,
|
|
68
|
+
YoutubeMdx,
|
|
69
|
+
// Legacy components (deprecated, kept for migration compatibility)
|
|
65
70
|
TabsContentMdx,
|
|
66
71
|
TabsListMdx,
|
|
67
|
-
TabsMdx,
|
|
68
72
|
TabsTriggerMdx,
|
|
69
|
-
|
|
70
|
-
|
|
73
|
+
AccordionGroupMdx,
|
|
74
|
+
CardGroupMdx,
|
|
75
|
+
StepperItemMdx,
|
|
76
|
+
StepperMdx,
|
|
71
77
|
} from "@docubook/mdx-content";
|
|
72
78
|
import { ImageMdx, LinkMdx, ButtonMdx, CardMdx } from "@docubook/mdx-content/next";
|
|
73
79
|
import { customMdxComponents } from "@/lib/mdx";
|
|
74
80
|
|
|
75
81
|
const builtInOverrides: MdxComponentMap = {
|
|
76
82
|
Tabs: TabsMdx,
|
|
77
|
-
|
|
78
|
-
TabsList: TabsListMdx,
|
|
79
|
-
TabsTrigger: TabsTriggerMdx,
|
|
83
|
+
Tab: TabMdx,
|
|
80
84
|
table: TableMdx,
|
|
81
85
|
thead: TableHeaderMdx,
|
|
82
86
|
tbody: TableBodyMdx,
|
|
@@ -85,14 +89,14 @@ const builtInOverrides: MdxComponentMap = {
|
|
|
85
89
|
th: TableHeadMdx,
|
|
86
90
|
td: TableCellMdx,
|
|
87
91
|
pre: CodeBlock,
|
|
88
|
-
Card: CardMdx,
|
|
89
92
|
Button: ButtonMdx,
|
|
90
93
|
Note: NoteMdx,
|
|
91
|
-
|
|
92
|
-
|
|
94
|
+
Step: StepMdx,
|
|
95
|
+
Steps: StepsMdx,
|
|
93
96
|
Accordion: AccordionMdx,
|
|
94
|
-
|
|
95
|
-
|
|
97
|
+
Accordions: AccordionsMdx,
|
|
98
|
+
Card: CardMdx,
|
|
99
|
+
Cards: CardsMdx,
|
|
96
100
|
Kbd: KbdMdx,
|
|
97
101
|
Release: ReleaseMdx,
|
|
98
102
|
Changes: ChangesMdx,
|
|
@@ -104,6 +108,15 @@ const builtInOverrides: MdxComponentMap = {
|
|
|
104
108
|
img: ImageMdx,
|
|
105
109
|
a: LinkMdx,
|
|
106
110
|
Link: LinkMdx,
|
|
111
|
+
|
|
112
|
+
// Legacy aliases (deprecated, kept for migration compatibility)
|
|
113
|
+
Stepper: StepperMdx,
|
|
114
|
+
StepperItem: StepperItemMdx,
|
|
115
|
+
AccordionGroup: AccordionGroupMdx,
|
|
116
|
+
CardGroup: CardGroupMdx,
|
|
117
|
+
TabsContent: TabsContentMdx,
|
|
118
|
+
TabsList: TabsListMdx,
|
|
119
|
+
TabsTrigger: TabsTriggerMdx,
|
|
107
120
|
};
|
|
108
121
|
|
|
109
122
|
export const mdxComponents = createMdxComponents({
|
|
@@ -182,15 +195,27 @@ export const customMdxComponents: MdxComponentMap = {
|
|
|
182
195
|
|
|
183
196
|
---
|
|
184
197
|
|
|
198
|
+
## API Migration Policy
|
|
199
|
+
|
|
200
|
+
The current rename rollout uses a migration phase, not an immediate hard-breaking change:
|
|
201
|
+
|
|
202
|
+
- New tags are the primary API (`Accordions`, `Cards`, `Steps`, `Step`).
|
|
203
|
+
- Legacy tags are still supported as deprecated aliases for backward compatibility (`AccordionGroup`, `CardGroup`, `Stepper`, `StepperItem`).
|
|
204
|
+
- A true breaking change happens when deprecated aliases are removed in a future major release.
|
|
205
|
+
|
|
206
|
+
For migration examples, see [components.md](./components.md).
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
185
210
|
## Available Components
|
|
186
211
|
|
|
187
212
|
For full usage examples of all built-in components, refer to [components.md](./components.md).
|
|
188
213
|
|
|
189
214
|
Components included out of the box:
|
|
190
215
|
|
|
191
|
-
- `Accordion` / `AccordionGroup`
|
|
216
|
+
- `Accordion` / `Accordions` (legacy alias for migration: `AccordionGroup`)
|
|
192
217
|
- `Button`
|
|
193
|
-
- `Card` / `CardGroup`
|
|
218
|
+
- `Card` / `Cards` (legacy alias for migration: `CardGroup`)
|
|
194
219
|
- Code Block (`pre`)
|
|
195
220
|
- `Files` / `Folder` / `File`
|
|
196
221
|
- `Image` / `img`
|
|
@@ -198,8 +223,8 @@ Components included out of the box:
|
|
|
198
223
|
- `Link` / `a`
|
|
199
224
|
- `Note`
|
|
200
225
|
- `Release` / `Changes`
|
|
201
|
-
- `Stepper` / `StepperItem`
|
|
202
|
-
- `Tabs` / `TabsList` / `TabsTrigger` / `TabsContent`
|
|
226
|
+
- `Steps` / `Step` (legacy aliases for migration: `Stepper` / `StepperItem`)
|
|
227
|
+
- `Tabs` / `Tab` (legacy aliases for migration: `TabsList` / `TabsTrigger` / `TabsContent`)
|
|
203
228
|
- `Tooltip`
|
|
204
229
|
- `Youtube`
|
|
205
230
|
- Table (`table`, `thead`, `tbody`, `tfoot`, `tr`, `th`, `td`)
|
package/components.md
ADDED
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
## accordion
|
|
2
|
+
|
|
3
|
+
for example :
|
|
4
|
+
<Accordion title="Click to expand">
|
|
5
|
+
This is a simple accordion component that can be toggled by clicking the header. The content can include any valid React nodes, including text, components, and markdown.
|
|
6
|
+
</Accordion>
|
|
7
|
+
|
|
8
|
+
with icon (lucide icon name string only) :
|
|
9
|
+
<Accordion title="Code Block" icon="Code">
|
|
10
|
+
```javascript:main.js showLineNumbers {3-4}
|
|
11
|
+
function isRocketAboutToCrash() {
|
|
12
|
+
// Check if the rocket is stable
|
|
13
|
+
if (!isStable()) {
|
|
14
|
+
NoCrash(); // Prevent the crash
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
</Accordion>
|
|
19
|
+
|
|
20
|
+
## accordion group
|
|
21
|
+
|
|
22
|
+
for example :
|
|
23
|
+
<Accordions>
|
|
24
|
+
<Accordion title="Basic Usage">
|
|
25
|
+
This accordion includes a [Lucide Icon](https://lucide.dev/icons/) because the `icon` prop is provided.
|
|
26
|
+
</Accordion>
|
|
27
|
+
|
|
28
|
+
<Accordion title="With icon props" icon="MousePointerClick">
|
|
29
|
+
This accordion includes a Lucide icon because the `icon` prop is provided.
|
|
30
|
+
</Accordion>
|
|
31
|
+
|
|
32
|
+
<Accordion title="With Code Block">
|
|
33
|
+
You can put other components inside Accordions.
|
|
34
|
+
```jsx:helloword.jsx
|
|
35
|
+
class HelloWorld {
|
|
36
|
+
public static void main(String[] args) {
|
|
37
|
+
System.out.println("Hello, World!");
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
</Accordion>
|
|
42
|
+
</Accordions>
|
|
43
|
+
|
|
44
|
+
deprecated alias: `AccordionGroup`
|
|
45
|
+
|
|
46
|
+
## button
|
|
47
|
+
|
|
48
|
+
for example :
|
|
49
|
+
<Button
|
|
50
|
+
text="Learn More"
|
|
51
|
+
href="https://learn.example.com"
|
|
52
|
+
icon="MoveUpRight"
|
|
53
|
+
size="md"
|
|
54
|
+
target="_blank"
|
|
55
|
+
variant="primary"
|
|
56
|
+
/>
|
|
57
|
+
|
|
58
|
+
## card
|
|
59
|
+
|
|
60
|
+
for example :
|
|
61
|
+
<Card title="Card with Link and icon" icon="Link" href="/docs/components/card-group">
|
|
62
|
+
This is how you use a card with an icon and a link. Clicking on this card
|
|
63
|
+
brings you to the Card Group page.
|
|
64
|
+
</Card>
|
|
65
|
+
|
|
66
|
+
## card group
|
|
67
|
+
|
|
68
|
+
for example :
|
|
69
|
+
<Cards cols={2}>
|
|
70
|
+
<Card title="Heading 1" icon="Heading1">
|
|
71
|
+
This is an example of card content with columns.
|
|
72
|
+
</Card>
|
|
73
|
+
<Card title="Heading 2" icon="Heading2">
|
|
74
|
+
This is an example of card content with columns.
|
|
75
|
+
</Card>
|
|
76
|
+
<Card title="Grid Card" icon="Grid" horizontal>
|
|
77
|
+
This is a horizontal card layout.
|
|
78
|
+
</Card>
|
|
79
|
+
<Card title="Horizontal Card" icon="Layout" horizontal>
|
|
80
|
+
This is a horizontal card layout.
|
|
81
|
+
</Card>
|
|
82
|
+
</Cards>
|
|
83
|
+
|
|
84
|
+
deprecated alias: `CardGroup`
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
## code block
|
|
88
|
+
|
|
89
|
+
for example :
|
|
90
|
+
```javascript:main.js showLineNumbers {3-4}
|
|
91
|
+
function isRocketAboutToCrash() {
|
|
92
|
+
// Check if the rocket is stable
|
|
93
|
+
if (!isStable()) {
|
|
94
|
+
NoCrash(); // Prevent the crash
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## file tree
|
|
100
|
+
|
|
101
|
+
for example :
|
|
102
|
+
<Files>
|
|
103
|
+
<Folder name="src">
|
|
104
|
+
<File name="App.tsx" />
|
|
105
|
+
<File name="index.tsx" />
|
|
106
|
+
<Folder name="components">
|
|
107
|
+
<File name="Button.tsx" />
|
|
108
|
+
<File name="Card.tsx" />
|
|
109
|
+
</Folder>
|
|
110
|
+
<Folder name="pages">
|
|
111
|
+
<File name="Home.tsx" />
|
|
112
|
+
<File name="About.tsx" />
|
|
113
|
+
</Folder>
|
|
114
|
+
</Folder>
|
|
115
|
+
</Files>
|
|
116
|
+
|
|
117
|
+
## image
|
|
118
|
+
|
|
119
|
+
for example :
|
|
120
|
+

|
|
121
|
+
|
|
122
|
+
## keyboard
|
|
123
|
+
|
|
124
|
+
for example :
|
|
125
|
+
{/* Windows style (default) */}
|
|
126
|
+
<Kbd show="ctrl" /> + <Kbd show="v" />
|
|
127
|
+
|
|
128
|
+
{/* Mac style */}
|
|
129
|
+
<Kbd show="cmd" type="mac" /> + <Kbd show="v" type="mac" />
|
|
130
|
+
|
|
131
|
+
## link
|
|
132
|
+
|
|
133
|
+
for example :
|
|
134
|
+
[Visit OpenAI](https://www.openai.com)
|
|
135
|
+
|
|
136
|
+
## note
|
|
137
|
+
|
|
138
|
+
for example :
|
|
139
|
+
<Note type="note" title="Note">
|
|
140
|
+
This is a general note to convey information to the user.
|
|
141
|
+
</Note>
|
|
142
|
+
<Note type="danger" title="Danger">
|
|
143
|
+
This is a danger alert to notify the user of a critical issue.
|
|
144
|
+
</Note>
|
|
145
|
+
<Note type="warning" title="Warning">
|
|
146
|
+
This is a warning alert for issues that require attention.
|
|
147
|
+
</Note>
|
|
148
|
+
<Note type="success" title="Success">
|
|
149
|
+
This is a success message to inform the user of successful actions.
|
|
150
|
+
</Note>
|
|
151
|
+
|
|
152
|
+
## release
|
|
153
|
+
|
|
154
|
+
for example :
|
|
155
|
+
<Release version="1.10.1" date="2025-05-24" title="Accessibility Improvements and Bug Fixes">
|
|
156
|
+
<Changes type="added">
|
|
157
|
+
- New feature to improve accessibility
|
|
158
|
+
- Keyboard navigation support for dialog components
|
|
159
|
+
</Changes>
|
|
160
|
+
<Changes type="fixed">
|
|
161
|
+
- Bug fix for mobile menu
|
|
162
|
+
- Fixed loading issues on documentation pages
|
|
163
|
+
</Changes>
|
|
164
|
+
</Release>
|
|
165
|
+
|
|
166
|
+
## stepper
|
|
167
|
+
|
|
168
|
+
for example :
|
|
169
|
+
<Steps>
|
|
170
|
+
<Step title="Step 1: Clone the DocuBook Repository">
|
|
171
|
+
```bash
|
|
172
|
+
git clone https://github.com/DocuBook/docubook.git
|
|
173
|
+
```
|
|
174
|
+
</Step>
|
|
175
|
+
<Step title="Step 2: Access the Project Directory">
|
|
176
|
+
```bash
|
|
177
|
+
cd docubook
|
|
178
|
+
```
|
|
179
|
+
</Step>
|
|
180
|
+
<Step title="Step 3: Install Required Dependencies">
|
|
181
|
+
```bash
|
|
182
|
+
pnpm install
|
|
183
|
+
```
|
|
184
|
+
</Step>
|
|
185
|
+
</Steps>
|
|
186
|
+
|
|
187
|
+
deprecated aliases: `Stepper`, `StepperItem`
|
|
188
|
+
|
|
189
|
+
## tabs
|
|
190
|
+
|
|
191
|
+
default active tab will use the first `Tab` item.
|
|
192
|
+
|
|
193
|
+
for example :
|
|
194
|
+
<Tabs className="pt-5 pb-1">
|
|
195
|
+
<Tab title="Java">
|
|
196
|
+
```java:HelloWorld.java
|
|
197
|
+
// HelloWorld.java
|
|
198
|
+
public class HelloWorld {
|
|
199
|
+
public static void main(String[] args) {
|
|
200
|
+
System.out.println("Hello, World!");
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
</Tab>
|
|
205
|
+
<Tab title="TypeScript">
|
|
206
|
+
```typescript:helloWorld.ts
|
|
207
|
+
// helloWorld.ts
|
|
208
|
+
function helloWorld(): void {
|
|
209
|
+
console.log("Hello, World!");
|
|
210
|
+
}
|
|
211
|
+
helloWorld();
|
|
212
|
+
```
|
|
213
|
+
</Tab>
|
|
214
|
+
</Tabs>
|
|
215
|
+
|
|
216
|
+
deprecated legacy API: `TabsList`, `TabsTrigger`, `TabsContent`
|
|
217
|
+
|
|
218
|
+
## tooltips
|
|
219
|
+
|
|
220
|
+
for example :
|
|
221
|
+
What do you know about <Tooltip text="DocuBook" tip="npx @docubook/create@latest" /> ? Create interactive nested documentations using MDX.
|
|
222
|
+
|
|
223
|
+
## tables
|
|
224
|
+
|
|
225
|
+
for example :
|
|
226
|
+
| Property | Description | Type | Default |
|
|
227
|
+
| ------------- | ---------------------------- | -------- | ------- |
|
|
228
|
+
| `title` | The title of the table | `string` | - |
|
|
229
|
+
| `description` | The description of the table | `string` | - |
|
|
230
|
+
|
|
231
|
+
| Left | Center | Right |
|
|
232
|
+
| :--- | :---: | ---: |
|
|
233
|
+
| Left-aligned text | Center-aligned text | Right-aligned text |
|
|
234
|
+
| Left-aligned text | Center-aligned text | Right-aligned text |
|
|
235
|
+
|
|
236
|
+
## youtube
|
|
237
|
+
|
|
238
|
+
for example :
|
|
239
|
+
<Youtube videoId="OPM2t54T-Vo" />
|
|
240
|
+
|
package/dist/client.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { AccordionMdx } from "./components/AccordionMdx";
|
|
2
|
-
export { AccordionGroupMdx } from "./components/AccordionGroupMdx";
|
|
2
|
+
export { AccordionsMdx, AccordionGroupMdx } from "./components/AccordionGroupMdx";
|
|
3
3
|
export { CopyButton } from "./components/CopyButton";
|
|
4
4
|
export { NoteMdx } from "./components/NoteMdx";
|
|
5
|
-
export { TabsMdx, TabsListMdx, TabsTriggerMdx, TabsContentMdx } from "./components/TabsMdx";
|
|
5
|
+
export { TabMdx, TabsMdx, TabsListMdx, TabsTriggerMdx, TabsContentMdx } from "./components/TabsMdx";
|
|
6
6
|
export { TooltipMdx } from "./components/TooltipsMdx";
|
|
7
7
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/client.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { AccordionMdx } from "./components/AccordionMdx";
|
|
2
|
-
export { AccordionGroupMdx } from "./components/AccordionGroupMdx";
|
|
2
|
+
export { AccordionsMdx, AccordionGroupMdx } from "./components/AccordionGroupMdx";
|
|
3
3
|
export { CopyButton } from "./components/CopyButton";
|
|
4
4
|
export { NoteMdx } from "./components/NoteMdx";
|
|
5
|
-
export { TabsMdx, TabsListMdx, TabsTriggerMdx, TabsContentMdx } from "./components/TabsMdx";
|
|
5
|
+
export { TabMdx, TabsMdx, TabsListMdx, TabsTriggerMdx, TabsContentMdx } from "./components/TabsMdx";
|
|
6
6
|
export { TooltipMdx } from "./components/TooltipsMdx";
|
|
7
7
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
|
-
type
|
|
2
|
+
type AccordionsMdxProps = {
|
|
3
3
|
children?: ReactNode;
|
|
4
4
|
};
|
|
5
|
-
export declare function
|
|
5
|
+
export declare function AccordionsMdx({ children }: AccordionsMdxProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
/** @deprecated Use `AccordionsMdx` instead. */
|
|
7
|
+
export declare function AccordionGroupMdx(props: AccordionsMdxProps): import("react/jsx-runtime").JSX.Element;
|
|
6
8
|
export {};
|
|
7
9
|
//# sourceMappingURL=AccordionGroupMdx.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionGroupMdx.d.ts","sourceRoot":"","sources":["../../src/components/AccordionGroupMdx.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG1D,KAAK,
|
|
1
|
+
{"version":3,"file":"AccordionGroupMdx.d.ts","sourceRoot":"","sources":["../../src/components/AccordionGroupMdx.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG1D,KAAK,kBAAkB,GAAG;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,kBAAkB,2CAsB7D;AAED,+CAA+C;AAC/C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,2CAE1D"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useMemo, useState } from "react";
|
|
4
4
|
import { AccordionGroupContext } from "./AccordionContext";
|
|
5
|
-
export function
|
|
5
|
+
export function AccordionsMdx({ children }) {
|
|
6
6
|
const [openTitle, setOpenTitle] = useState(null);
|
|
7
7
|
const value = useMemo(() => ({ inGroup: true, openTitle, setOpenTitle }), [openTitle]);
|
|
8
8
|
return (_jsx(AccordionGroupContext.Provider, { value: value, children: _jsx("div", { className: "mdx-accordion-group", style: {
|
|
@@ -11,4 +11,8 @@ export function AccordionGroupMdx({ children }) {
|
|
|
11
11
|
gap: "0.85rem",
|
|
12
12
|
}, children: children }) }));
|
|
13
13
|
}
|
|
14
|
+
/** @deprecated Use `AccordionsMdx` instead. */
|
|
15
|
+
export function AccordionGroupMdx(props) {
|
|
16
|
+
return _jsx(AccordionsMdx, { ...props });
|
|
17
|
+
}
|
|
14
18
|
//# sourceMappingURL=AccordionGroupMdx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionGroupMdx.js","sourceRoot":"","sources":["../../src/components/AccordionGroupMdx.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAM3D,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"AccordionGroupMdx.js","sourceRoot":"","sources":["../../src/components/AccordionGroupMdx.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAM3D,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAsB;IAC1D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAEhE,MAAM,KAAK,GAAG,OAAO,CACjB,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,EAClD,CAAC,SAAS,CAAC,CACd,CAAC;IAEF,OAAO,CACH,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACxC,cACI,SAAS,EAAC,qBAAqB,EAC/B,KAAK,EAAE;gBACH,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,MAAM;gBACf,GAAG,EAAE,SAAS;aACjB,YAEA,QAAQ,GACP,GACuB,CACpC,CAAC;AACN,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACvD,OAAO,KAAC,aAAa,OAAK,KAAK,GAAI,CAAC;AACxC,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { CSSProperties, ReactNode } from "react";
|
|
2
|
-
type
|
|
2
|
+
type CardsMdxProps = {
|
|
3
3
|
cols?: number;
|
|
4
4
|
children?: ReactNode;
|
|
5
5
|
style?: CSSProperties;
|
|
6
6
|
};
|
|
7
|
-
export declare function
|
|
7
|
+
export declare function CardsMdx({ cols, children, style }: CardsMdxProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
/** @deprecated Use `CardsMdx` instead. */
|
|
9
|
+
export declare function CardGroupMdx(props: CardsMdxProps): import("react/jsx-runtime").JSX.Element;
|
|
8
10
|
export {};
|
|
9
11
|
//# sourceMappingURL=CardGroupMdx.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardGroupMdx.d.ts","sourceRoot":"","sources":["../../src/components/CardGroupMdx.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,KAAK,
|
|
1
|
+
{"version":3,"file":"CardGroupMdx.d.ts","sourceRoot":"","sources":["../../src/components/CardGroupMdx.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,KAAK,aAAa,GAAG;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EAAE,IAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,aAAa,2CAmCpE;AAED,0CAA0C;AAC1C,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,2CAEhD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
export function
|
|
2
|
+
export function CardsMdx({ cols = 2, children, style }) {
|
|
3
3
|
const columnCount = Math.max(1, Math.min(4, cols));
|
|
4
4
|
return (_jsxs(_Fragment, { children: [_jsx("div", { className: "docubook-card-group", style: {
|
|
5
5
|
"--docubook-card-group-template": `repeat(${columnCount}, minmax(240px, 1fr))`,
|
|
@@ -22,4 +22,8 @@ export function CardGroupMdx({ cols = 2, children, style }) {
|
|
|
22
22
|
}
|
|
23
23
|
` })] }));
|
|
24
24
|
}
|
|
25
|
+
/** @deprecated Use `CardsMdx` instead. */
|
|
26
|
+
export function CardGroupMdx(props) {
|
|
27
|
+
return _jsx(CardsMdx, { ...props });
|
|
28
|
+
}
|
|
25
29
|
//# sourceMappingURL=CardGroupMdx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardGroupMdx.js","sourceRoot":"","sources":["../../src/components/CardGroupMdx.tsx"],"names":[],"mappings":";AAQA,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"CardGroupMdx.js","sourceRoot":"","sources":["../../src/components/CardGroupMdx.tsx"],"names":[],"mappings":";AAQA,MAAM,UAAU,QAAQ,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAiB;IACjE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAEnD,OAAO,CACH,8BACI,cACI,SAAS,EAAC,qBAAqB,EAC/B,KAAK,EACD;oBACI,gCAAgC,EAAE,UAAU,WAAW,uBAAuB;oBAC9E,GAAG,KAAK;iBACM,YAGrB,QAAQ,GACP,EACN,0BAAQ;;;;;;;;;;;;;;;;aAgBP,GAAS,IACX,CACN,CAAC;AACN,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,YAAY,CAAC,KAAoB;IAC7C,OAAO,KAAC,QAAQ,OAAK,KAAK,GAAI,CAAC;AACnC,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ComponentProps } from "react";
|
|
2
2
|
type CodeBlockProps = ComponentProps<"pre"> & {
|
|
3
3
|
raw?: string;
|
|
4
4
|
"data-title"?: string;
|
|
5
|
+
"data-language"?: string;
|
|
6
|
+
"data-expandable"?: string;
|
|
7
|
+
"data-expandable-lines"?: string;
|
|
5
8
|
};
|
|
6
9
|
export declare function CodeBlock({ children, raw, ...rest }: CodeBlockProps): import("react/jsx-runtime").JSX.Element;
|
|
7
10
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../src/components/CodeBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../src/components/CodeBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,cAAc,EAAkB,MAAM,OAAO,CAAA;AA6B3E,KAAK,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC,CAAA;AAuFD,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,2CA2GnE"}
|
|
@@ -1,12 +1,31 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { isValidElement } from "react";
|
|
2
3
|
import { SiJavascript, SiTypescript, SiReact, SiPython, SiGo, SiPhp, SiRuby, SiSwift, SiKotlin, SiHtml5, SiCss, SiSass, SiPostgresql, SiGraphql, SiYaml, SiToml, SiDocker, SiNginx, SiGit, SiGnubash, SiMarkdown, } from "react-icons/si";
|
|
3
|
-
import { FaJava, FaCode,
|
|
4
|
+
import { FaJava, FaCode, FaRegFileAlt } from "react-icons/fa";
|
|
4
5
|
import { TbJson } from "react-icons/tb";
|
|
5
6
|
import { CopyButton } from "./CopyButton";
|
|
7
|
+
import { ExpandableCode } from "./ExpandableCode";
|
|
6
8
|
function getLanguage(className = "") {
|
|
7
9
|
const match = className.match(/language-(\w+)/);
|
|
8
10
|
return match ? match[1] : "text";
|
|
9
11
|
}
|
|
12
|
+
function resolveLanguage(preClassName, dataLanguage, children) {
|
|
13
|
+
if (typeof dataLanguage === "string" && dataLanguage.trim().length > 0) {
|
|
14
|
+
return dataLanguage.trim().toLowerCase();
|
|
15
|
+
}
|
|
16
|
+
const languageFromPre = getLanguage(preClassName ?? "");
|
|
17
|
+
if (languageFromPre !== "text")
|
|
18
|
+
return languageFromPre;
|
|
19
|
+
if (isValidElement(children)) {
|
|
20
|
+
const childProps = children.props;
|
|
21
|
+
if (typeof childProps.className === "string") {
|
|
22
|
+
const languageFromCode = getLanguage(childProps.className);
|
|
23
|
+
if (languageFromCode !== "text")
|
|
24
|
+
return languageFromCode;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return "text";
|
|
28
|
+
}
|
|
10
29
|
function getLanguageIcon(language) {
|
|
11
30
|
const normalized = language.toLowerCase();
|
|
12
31
|
const iconProps = { size: 14 };
|
|
@@ -47,21 +66,70 @@ function getLanguageIcon(language) {
|
|
|
47
66
|
css: _jsx(SiCss, { ...iconProps }),
|
|
48
67
|
scss: _jsx(SiSass, { ...iconProps }),
|
|
49
68
|
sass: _jsx(SiSass, { ...iconProps }),
|
|
50
|
-
text: _jsx(
|
|
51
|
-
plaintext: _jsx(
|
|
69
|
+
text: _jsx(FaRegFileAlt, { ...iconProps }),
|
|
70
|
+
plaintext: _jsx(FaRegFileAlt, { ...iconProps }),
|
|
52
71
|
};
|
|
53
72
|
return map[normalized] || _jsx(FaCode, { ...iconProps });
|
|
54
73
|
}
|
|
74
|
+
function countCodeLines(raw) {
|
|
75
|
+
let normalized = raw.replace(/\r\n/g, "\n");
|
|
76
|
+
if (normalized.startsWith("\n"))
|
|
77
|
+
normalized = normalized.slice(1);
|
|
78
|
+
if (normalized.endsWith("\n"))
|
|
79
|
+
normalized = normalized.slice(0, -1);
|
|
80
|
+
if (normalized.length === 0)
|
|
81
|
+
return 0;
|
|
82
|
+
return normalized.split("\n").length;
|
|
83
|
+
}
|
|
55
84
|
export function CodeBlock({ children, raw, ...rest }) {
|
|
56
|
-
const { className, "data-title": title, ...props } = rest;
|
|
57
|
-
const language =
|
|
58
|
-
|
|
85
|
+
const { className, "data-title": title, "data-language": dataLanguage, "data-expandable": isExpandable, "data-expandable-lines": totalLinesStr, ...props } = rest;
|
|
86
|
+
const language = resolveLanguage(typeof className === "string" ? className : undefined, dataLanguage, children);
|
|
87
|
+
const totalLinesFromMeta = parseInt(totalLinesStr, 10) || 0;
|
|
88
|
+
const totalLinesFromRaw = raw ? countCodeLines(raw) : 0;
|
|
89
|
+
const totalLines = totalLinesFromRaw || totalLinesFromMeta;
|
|
90
|
+
const hasExpandableClass = typeof className === "string" && className.split(" ").includes("mdx-expandable-code");
|
|
91
|
+
const shouldExpand = isExpandable === "true" || hasExpandableClass;
|
|
92
|
+
const preProps = {
|
|
93
|
+
...props,
|
|
94
|
+
"data-expandable": isExpandable,
|
|
95
|
+
"data-expandable-lines": totalLinesStr,
|
|
96
|
+
};
|
|
97
|
+
return (_jsxs("div", { className: "code-block-container", style: {
|
|
98
|
+
position: "relative",
|
|
99
|
+
margin: "1.5rem 0",
|
|
100
|
+
border: "1px solid hsl(var(--border))",
|
|
101
|
+
overflow: "hidden",
|
|
102
|
+
fontSize: "0.875rem",
|
|
103
|
+
borderRadius: "0.75rem",
|
|
104
|
+
}, children: [_jsxs("div", { className: "code-block-header", style: {
|
|
59
105
|
display: "flex",
|
|
60
106
|
alignItems: "center",
|
|
61
107
|
justifyContent: "space-between",
|
|
62
|
-
|
|
63
|
-
borderBottom: "1px solid hsl(var(--border, 210 14% 94%))",
|
|
108
|
+
gap: "0.75rem",
|
|
64
109
|
background: "hsl(var(--muted, 210 12% 96%))",
|
|
65
|
-
|
|
110
|
+
padding: "0.5rem 1rem",
|
|
111
|
+
borderBottom: "1px solid hsl(var(--border, 210 14% 94%))",
|
|
112
|
+
color: "hsl(var(--muted-foreground, 210 12% 40%))",
|
|
113
|
+
fontFamily: "monospace",
|
|
114
|
+
fontSize: "0.8rem",
|
|
115
|
+
}, children: [_jsxs("div", { style: {
|
|
116
|
+
display: "flex",
|
|
117
|
+
alignItems: "center",
|
|
118
|
+
gap: 6,
|
|
119
|
+
fontSize: "0.78rem",
|
|
120
|
+
color: "hsl(var(--muted-foreground, 210 12% 40%))",
|
|
121
|
+
}, children: [getLanguageIcon(language), _jsx("span", { children: title || language })] }), raw ? (_jsx("div", { className: "code-block-actions", style: {
|
|
122
|
+
display: "inline-flex",
|
|
123
|
+
alignItems: "center",
|
|
124
|
+
marginLeft: "auto",
|
|
125
|
+
}, children: _jsx("div", { style: {
|
|
126
|
+
color: "hsl(var(--muted-foreground))",
|
|
127
|
+
transition: "color 0.2s ease-in-out",
|
|
128
|
+
}, children: _jsx(CopyButton, { content: raw }) }) })) : null] }), _jsx("div", { className: "code-block-body", style: {
|
|
129
|
+
overflowY: "visible",
|
|
130
|
+
backgroundColor: "hsl(var(--background))",
|
|
131
|
+
willChange: "transform",
|
|
132
|
+
borderBottom: "none",
|
|
133
|
+
}, children: _jsx(ExpandableCode, { isExpandable: shouldExpand, totalLines: totalLines, preContent: children, preProps: preProps, className: className }) })] }));
|
|
66
134
|
}
|
|
67
135
|
//# sourceMappingURL=CodeBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlock.js","sourceRoot":"","sources":["../../src/components/CodeBlock.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"CodeBlock.js","sourceRoot":"","sources":["../../src/components/CodeBlock.tsx"],"names":[],"mappings":"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"}
|