@c2-markdown-ui/react 0.4.4 → 0.4.5
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 +24 -6
- package/dist/index.js +4365 -3733
- package/package.json +2 -2
- package/src/lib/MarkdownUI.tsx +47 -9
- package/src/lib/widgets.css +2188 -1372
- package/src/widgets/Button.tsx +39 -39
- package/src/widgets/ButtonGroup.tsx +47 -47
- package/src/widgets/Cascader.tsx +3 -2
- package/src/widgets/Chart.tsx +237 -237
- package/src/widgets/DatePicker.tsx +451 -434
- package/src/widgets/Form.tsx +512 -372
- package/src/widgets/Incomplete.tsx +3 -3
- package/src/widgets/MultipleChoiceQuestion.tsx +82 -82
- package/src/widgets/Quiz.tsx +320 -320
- package/src/widgets/Radio.tsx +57 -26
- package/src/widgets/Select.tsx +178 -142
- package/src/widgets/SelectMulti.tsx +105 -72
- package/src/widgets/ShortAnswerQuestion.tsx +101 -101
- package/src/widgets/Slider.tsx +70 -56
- package/src/widgets/Switch.tsx +14 -2
- package/src/widgets/TextInput.tsx +76 -38
- package/src/widgets/TreeSelect.tsx +649 -0
- package/src/widgets/Widget.tsx +130 -82
- package/src/widgets/choiceUtils.ts +90 -45
- package/src/widgets/index.ts +17 -16
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/MarkdownUI.d.ts +0 -10
- package/dist/lib/MarkdownUI.d.ts.map +0 -1
- package/dist/lib/index.d.ts +0 -4
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/widgets/Button.d.ts +0 -15
- package/dist/widgets/Button.d.ts.map +0 -1
- package/dist/widgets/ButtonGroup.d.ts +0 -11
- package/dist/widgets/ButtonGroup.d.ts.map +0 -1
- package/dist/widgets/Cascader.d.ts +0 -34
- package/dist/widgets/Cascader.d.ts.map +0 -1
- package/dist/widgets/Chart.d.ts +0 -20
- package/dist/widgets/Chart.d.ts.map +0 -1
- package/dist/widgets/DatePicker.d.ts +0 -28
- package/dist/widgets/DatePicker.d.ts.map +0 -1
- package/dist/widgets/Form.d.ts +0 -47
- package/dist/widgets/Form.d.ts.map +0 -1
- package/dist/widgets/Incomplete.d.ts +0 -3
- package/dist/widgets/Incomplete.d.ts.map +0 -1
- package/dist/widgets/MultipleChoiceQuestion.d.ts +0 -15
- package/dist/widgets/MultipleChoiceQuestion.d.ts.map +0 -1
- package/dist/widgets/NumberInput.d.ts +0 -26
- package/dist/widgets/NumberInput.d.ts.map +0 -1
- package/dist/widgets/Quiz.d.ts +0 -37
- package/dist/widgets/Quiz.d.ts.map +0 -1
- package/dist/widgets/Radio.d.ts +0 -24
- package/dist/widgets/Radio.d.ts.map +0 -1
- package/dist/widgets/Select.d.ts +0 -15
- package/dist/widgets/Select.d.ts.map +0 -1
- package/dist/widgets/SelectMulti.d.ts +0 -20
- package/dist/widgets/SelectMulti.d.ts.map +0 -1
- package/dist/widgets/ShortAnswerQuestion.d.ts +0 -16
- package/dist/widgets/ShortAnswerQuestion.d.ts.map +0 -1
- package/dist/widgets/Slider.d.ts +0 -13
- package/dist/widgets/Slider.d.ts.map +0 -1
- package/dist/widgets/Switch.d.ts +0 -17
- package/dist/widgets/Switch.d.ts.map +0 -1
- package/dist/widgets/TextInput.d.ts +0 -11
- package/dist/widgets/TextInput.d.ts.map +0 -1
- package/dist/widgets/Widget.d.ts +0 -7
- package/dist/widgets/Widget.d.ts.map +0 -1
- package/dist/widgets/chartRemoteData.d.ts +0 -18
- package/dist/widgets/chartRemoteData.d.ts.map +0 -1
- package/dist/widgets/choiceUtils.d.ts +0 -24
- package/dist/widgets/choiceUtils.d.ts.map +0 -1
- package/dist/widgets/index.d.ts +0 -18
- package/dist/widgets/index.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @markdown-ui/react
|
|
1
|
+
# @c2-markdown-ui/react
|
|
2
2
|
**Transform Markdown into interactive React components—instantly.**
|
|
3
3
|
|
|
4
4
|
Turn static docs into live experiences users can click, select, and submit.
|
|
@@ -8,14 +8,14 @@ Turn static docs into live experiences users can click, select, and submit.
|
|
|
8
8
|
## Get started in 30 seconds
|
|
9
9
|
|
|
10
10
|
```bash
|
|
11
|
-
npm install @markdown-ui/react @markdown-ui/marked-ext marked
|
|
11
|
+
npm install @c2-markdown-ui/react @c2-markdown-ui/marked-ext marked
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
```tsx
|
|
15
|
-
import { MarkdownUI } from '@markdown-ui/react';
|
|
16
|
-
import '@markdown-ui/react/widgets.css';
|
|
15
|
+
import { MarkdownUI } from '@c2-markdown-ui/react';
|
|
16
|
+
import '@c2-markdown-ui/react/widgets.css';
|
|
17
17
|
import { Marked } from 'marked';
|
|
18
|
-
import { markedUiExtension } from '@markdown-ui/marked-ext';
|
|
18
|
+
import { markedUiExtension } from '@c2-markdown-ui/marked-ext';
|
|
19
19
|
|
|
20
20
|
const marked = new Marked();
|
|
21
21
|
marked.use(markedUiExtension);
|
|
@@ -74,6 +74,24 @@ const handleWidgetEvent = (event) => {
|
|
|
74
74
|
const { id, value } = event.detail;
|
|
75
75
|
// That's it - perfect event data
|
|
76
76
|
};
|
|
77
|
+
|
|
78
|
+
// Form submit (fires after validation passes)
|
|
79
|
+
const handleSubmit = (event) => {
|
|
80
|
+
const { id, value } = event.detail; // value = full form data (visible fields only)
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
// Form field stats (fires on every field change)
|
|
84
|
+
const handleFormChange = (event) => {
|
|
85
|
+
const { visibleCount, filledCount, values } = event.detail.stats;
|
|
86
|
+
// e.g. "3/5 fields filled" - perfect for progress indicators
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
<MarkdownUI
|
|
90
|
+
html={html}
|
|
91
|
+
onWidgetEvent={handleWidgetEvent}
|
|
92
|
+
onSubmit={handleSubmit}
|
|
93
|
+
onFormChange={handleFormChange}
|
|
94
|
+
/>
|
|
77
95
|
```
|
|
78
96
|
|
|
79
97
|
## TypeScript ready
|
|
@@ -86,7 +104,7 @@ Full type safety out of the box. All components and events are properly typed fo
|
|
|
86
104
|
|
|
87
105
|
```tsx
|
|
88
106
|
// Just import and use - SSR handled automatically
|
|
89
|
-
import { MarkdownUI } from '@markdown-ui/react';
|
|
107
|
+
import { MarkdownUI } from '@c2-markdown-ui/react';
|
|
90
108
|
```
|
|
91
109
|
|
|
92
110
|
**Compatibility:** React 18+, Next.js, Remix, Create React App, Vite, and all modern React frameworks.
|