markdown-wysiwyg-editor 0.3.0 → 0.3.3
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 +60 -39
- package/dist/bundle.css +2339 -0
- package/dist/components/EditorChrome.d.ts +1 -0
- package/dist/components/EditorChrome.d.ts.map +1 -1
- package/dist/components/FloatingToolbar.d.ts +2 -0
- package/dist/components/FloatingToolbar.d.ts.map +1 -1
- package/dist/components/ImagePicker.d.ts +1 -0
- package/dist/components/ImagePicker.d.ts.map +1 -1
- package/dist/components/MarkdownEditor.d.ts +2 -2
- package/dist/components/MarkdownEditor.d.ts.map +1 -1
- package/dist/components/MarkdownToolbar.d.ts +1 -0
- package/dist/components/MarkdownToolbar.d.ts.map +1 -1
- package/dist/components/toolbar/ToolbarButton.d.ts +1 -1
- package/dist/components/toolbar/ToolbarButton.d.ts.map +1 -1
- package/dist/hooks/useMarkdownEditor.d.ts +5 -1
- package/dist/hooks/useMarkdownEditor.d.ts.map +1 -1
- package/dist/hooks/useMarkdownInsertion.d.ts +1 -0
- package/dist/hooks/useMarkdownInsertion.d.ts.map +1 -1
- package/dist/index.css +82 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5640 -5449
- package/dist/index.js.map +1 -1
- package/dist/theme.css +36 -0
- package/dist/types/index.d.ts +24 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/security.d.ts.map +1 -1
- package/package.json +3 -2
package/dist/theme.css
CHANGED
|
@@ -94,3 +94,39 @@
|
|
|
94
94
|
--ring: 212.7 26.8% 83.9%;
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
+
|
|
98
|
+
@theme {
|
|
99
|
+
--color-background: hsl(var(--background));
|
|
100
|
+
--color-foreground: hsl(var(--foreground));
|
|
101
|
+
|
|
102
|
+
--color-card: hsl(var(--card));
|
|
103
|
+
--color-card-foreground: hsl(var(--card-foreground));
|
|
104
|
+
|
|
105
|
+
--color-popover: hsl(var(--popover));
|
|
106
|
+
--color-popover-foreground: hsl(var(--popover-foreground));
|
|
107
|
+
|
|
108
|
+
--color-primary: hsl(var(--primary));
|
|
109
|
+
--color-primary-foreground: hsl(var(--primary-foreground));
|
|
110
|
+
|
|
111
|
+
--color-secondary: hsl(var(--secondary));
|
|
112
|
+
--color-secondary-foreground: hsl(var(--secondary-foreground));
|
|
113
|
+
|
|
114
|
+
--color-muted: hsl(var(--muted));
|
|
115
|
+
--color-muted-foreground: hsl(var(--muted-foreground));
|
|
116
|
+
|
|
117
|
+
--color-accent: hsl(var(--accent));
|
|
118
|
+
--color-accent-foreground: hsl(var(--accent-foreground));
|
|
119
|
+
|
|
120
|
+
--color-destructive: hsl(var(--destructive));
|
|
121
|
+
--color-destructive-foreground: hsl(var(--destructive-foreground));
|
|
122
|
+
|
|
123
|
+
--color-border: hsl(var(--border));
|
|
124
|
+
--color-input: hsl(var(--input));
|
|
125
|
+
--color-ring: hsl(var(--ring));
|
|
126
|
+
|
|
127
|
+
--radius-lg: var(--radius);
|
|
128
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
129
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
130
|
+
|
|
131
|
+
--variant-dark: .dark &;
|
|
132
|
+
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -47,6 +47,11 @@ export interface IMarkdownEditorProps {
|
|
|
47
47
|
onContentChange?: (content: JSONContent) => void;
|
|
48
48
|
onSelectionChange?: (selectionInfo: ISelectionInfo | null) => void;
|
|
49
49
|
onEditorReady?: (editor: Editor) => void;
|
|
50
|
+
/**
|
|
51
|
+
* Callback to handle image file selection or drop/paste.
|
|
52
|
+
* Returns a URL (persistent or blob:) to be used in the markdown image node.
|
|
53
|
+
*/
|
|
54
|
+
onImageSourceSelect?: (file: File) => string | Promise<string>;
|
|
50
55
|
extensions?: unknown[];
|
|
51
56
|
supportedLanguages?: ILanguageOption[];
|
|
52
57
|
showSyntaxStatus?: boolean;
|
|
@@ -66,6 +71,24 @@ export interface IMarkdownEditorProps {
|
|
|
66
71
|
showPasteDebug?: boolean;
|
|
67
72
|
debug?: boolean;
|
|
68
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Interface for exposing internal editor functionality to the host application
|
|
76
|
+
*/
|
|
77
|
+
export interface IMarkdownEditorRef {
|
|
78
|
+
/**
|
|
79
|
+
* Returns the current markdown content of the editor.
|
|
80
|
+
*/
|
|
81
|
+
getMarkdown: () => string;
|
|
82
|
+
/**
|
|
83
|
+
* Returns a map of blob: URLs and their associated File objects that have not been uploaded yet.
|
|
84
|
+
*/
|
|
85
|
+
getPendingFiles: () => Map<string, File>;
|
|
86
|
+
/**
|
|
87
|
+
* Uploads all pending images using the provided function and replaces blob: URLs with the returned URLs.
|
|
88
|
+
* Returns the updated markdown content.
|
|
89
|
+
*/
|
|
90
|
+
finalizeImages: (uploadFn: (file: File) => Promise<string>) => Promise<string>;
|
|
91
|
+
}
|
|
69
92
|
/**
|
|
70
93
|
* i18n translation keys (for external i18n systems)
|
|
71
94
|
* Use these keys with your i18n library (e.g., react-i18next, next-i18n)
|
|
@@ -189,6 +212,7 @@ export declare const I18N_KEYS: {
|
|
|
189
212
|
readonly altLabel: "markdown_editor.image.alt_label";
|
|
190
213
|
readonly altPlaceholder: "markdown_editor.image.alt_placeholder";
|
|
191
214
|
readonly insert: "markdown_editor.image.insert";
|
|
215
|
+
readonly chooseFile: "markdown_editor.image.choose_file";
|
|
192
216
|
};
|
|
193
217
|
};
|
|
194
218
|
type NestedValues<T> = T extends string ? T : T extends Record<string, unknown> ? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAEnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAGnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAG9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAG5B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACjD,iBAAiB,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IACnE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,OAOxC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MAQ3C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,IAczD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,KAAK,MAAM,EACX,UAAU;IACR,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,KACA,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,OAOxC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MAQ3C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,IAczD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,KAAK,MAAM,EACX,UAAU;IACR,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,KACA,MAAM,GAAG,IAmEX,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAsCzC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "markdown-wysiwyg-editor",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"description": "Lightweight Markdown WYSIWYG editor with TipTap, Mermaid support",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -18,9 +18,10 @@
|
|
|
18
18
|
"workspaces": ["example"],
|
|
19
19
|
"scripts": {
|
|
20
20
|
"dev": "bun build --watch ./src/index.ts --outdir ./dist --external react --external react-dom --external mermaid",
|
|
21
|
-
"build": "bun run build:js && bun run build:css && bun run typecheck",
|
|
21
|
+
"build": "bun run build:js && bun run build:css && bun run build:bundle && bun run typecheck",
|
|
22
22
|
"build:js": "vite build",
|
|
23
23
|
"build:css": "cp ./src/index.css ./dist/index.css && cp ./src/theme.css ./dist/theme.css",
|
|
24
|
+
"build:bundle": "bunx @tailwindcss/cli -i ./src/bundle.css -o ./dist/bundle.css",
|
|
24
25
|
"typecheck": "tsc --emitDeclarationOnly --declaration --outDir dist",
|
|
25
26
|
"test": "vitest run",
|
|
26
27
|
"test:coverage": "vitest run --coverage",
|