@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.
Files changed (50) hide show
  1. package/README.md +44 -19
  2. package/components.md +240 -0
  3. package/dist/client.d.ts +2 -2
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +2 -2
  6. package/dist/client.js.map +1 -1
  7. package/dist/components/AccordionGroupMdx.d.ts +4 -2
  8. package/dist/components/AccordionGroupMdx.d.ts.map +1 -1
  9. package/dist/components/AccordionGroupMdx.js +5 -1
  10. package/dist/components/AccordionGroupMdx.js.map +1 -1
  11. package/dist/components/CardGroupMdx.d.ts +4 -2
  12. package/dist/components/CardGroupMdx.d.ts.map +1 -1
  13. package/dist/components/CardGroupMdx.js +5 -1
  14. package/dist/components/CardGroupMdx.js.map +1 -1
  15. package/dist/components/CodeBlock.d.ts +4 -1
  16. package/dist/components/CodeBlock.d.ts.map +1 -1
  17. package/dist/components/CodeBlock.js +77 -9
  18. package/dist/components/CodeBlock.js.map +1 -1
  19. package/dist/components/ExpandableCode.d.ts +11 -0
  20. package/dist/components/ExpandableCode.d.ts.map +1 -0
  21. package/dist/components/ExpandableCode.js +83 -0
  22. package/dist/components/ExpandableCode.js.map +1 -0
  23. package/dist/components/KeyboardMdx.d.ts +3 -4
  24. package/dist/components/KeyboardMdx.d.ts.map +1 -1
  25. package/dist/components/KeyboardMdx.js +3 -5
  26. package/dist/components/KeyboardMdx.js.map +1 -1
  27. package/dist/components/StepperMdx.d.ts +9 -5
  28. package/dist/components/StepperMdx.d.ts.map +1 -1
  29. package/dist/components/StepperMdx.js +10 -2
  30. package/dist/components/StepperMdx.js.map +1 -1
  31. package/dist/components/TabsMdx.d.ts +11 -3
  32. package/dist/components/TabsMdx.d.ts.map +1 -1
  33. package/dist/components/TabsMdx.js +66 -5
  34. package/dist/components/TabsMdx.js.map +1 -1
  35. package/dist/components/index.d.ts +5 -3
  36. package/dist/components/index.d.ts.map +1 -1
  37. package/dist/components/index.js +5 -3
  38. package/dist/components/index.js.map +1 -1
  39. package/dist/index.d.ts +5 -4
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +5 -4
  42. package/dist/index.js.map +1 -1
  43. package/dist/registry/index.d.ts.map +1 -1
  44. package/dist/registry/index.js +8 -2
  45. package/dist/registry/index.js.map +1 -1
  46. package/dist/server.d.ts +2 -2
  47. package/dist/server.d.ts.map +1 -1
  48. package/dist/server.js +2 -2
  49. package/dist/server.js.map +1 -1
  50. 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
- AccordionGroupMdx,
45
+ AccordionsMdx,
46
46
  AccordionMdx,
47
- CardGroupMdx,
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
- StepperItemMdx,
57
- StepperMdx,
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
- TooltipMdx,
70
- YoutubeMdx,
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
- TabsContent: TabsContentMdx,
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
- Stepper: StepperMdx,
92
- StepperItem: StepperItemMdx,
94
+ Step: StepMdx,
95
+ Steps: StepsMdx,
93
96
  Accordion: AccordionMdx,
94
- AccordionGroup: AccordionGroupMdx,
95
- CardGroup: CardGroupMdx,
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
+ ![Alt text for the image](https://via.placeholder.com/150)
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
@@ -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;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,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
@@ -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;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,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 AccordionGroupMdxProps = {
2
+ type AccordionsMdxProps = {
3
3
  children?: ReactNode;
4
4
  };
5
- export declare function AccordionGroupMdx({ children }: AccordionGroupMdxProps): import("react/jsx-runtime").JSX.Element;
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,sBAAsB,GAAG;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CAsBrE"}
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 AccordionGroupMdx({ children }) {
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,iBAAiB,CAAC,EAAE,QAAQ,EAA0B;IAClE,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"}
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 CardGroupMdxProps = {
2
+ type CardsMdxProps = {
3
3
  cols?: number;
4
4
  children?: ReactNode;
5
5
  style?: CSSProperties;
6
6
  };
7
- export declare function CardGroupMdx({ cols, children, style }: CardGroupMdxProps): import("react/jsx-runtime").JSX.Element;
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,iBAAiB,GAAG;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,IAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,iBAAiB,2CAmC5E"}
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 CardGroupMdx({ cols = 2, children, style }) {
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,YAAY,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAqB;IACzE,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"}
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 { ComponentProps } from "react";
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,EAAE,cAAc,EAAa,MAAM,OAAO,CAAC;AA4BvD,KAAK,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAuDF,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,2CA2BnE"}
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, FaFileAlt } from "react-icons/fa";
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(FaFileAlt, { ...iconProps }),
51
- plaintext: _jsx(FaFileAlt, { ...iconProps }),
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 = getLanguage(className);
58
- return (_jsxs("div", { style: { border: "1px solid hsl(var(--border, 210 14% 94%))", borderRadius: 12, overflow: "hidden", margin: "1rem 0" }, children: [_jsxs("div", { style: {
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
- padding: "0.45rem 0.6rem",
63
- borderBottom: "1px solid hsl(var(--border, 210 14% 94%))",
108
+ gap: "0.75rem",
64
109
  background: "hsl(var(--muted, 210 12% 96%))",
65
- }, children: [_jsxs("div", { style: { display: "flex", alignItems: "center", gap: 6, fontSize: "0.78rem", color: "hsl(var(--muted-foreground, 215 20% 65%))" }, children: [getLanguageIcon(language), _jsx("span", { children: title || language })] }), raw ? _jsx(CopyButton, { content: raw }) : null] }), _jsx("pre", { ...props, className: className, style: { margin: 0, padding: "0.9rem", overflowX: "auto" }, children: children })] }));
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":"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"}
1
+ {"version":3,"file":"CodeBlock.js","sourceRoot":"","sources":["../../src/components/CodeBlock.tsx"],"names":[],"mappings":"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"}