@markweave/react 0.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 (35) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +18 -0
  3. package/dist/index.js +2982 -0
  4. package/dist/types/MarkweaveEditor.d.ts +73 -0
  5. package/dist/types/MarkweaveEditor.d.ts.map +1 -0
  6. package/dist/types/create-editor-extensions.d.ts +10 -0
  7. package/dist/types/create-editor-extensions.d.ts.map +1 -0
  8. package/dist/types/editor-mode-state.d.ts +3 -0
  9. package/dist/types/editor-mode-state.d.ts.map +1 -0
  10. package/dist/types/index.d.ts +6 -0
  11. package/dist/types/index.d.ts.map +1 -0
  12. package/dist/types/media/image-node.d.ts +12 -0
  13. package/dist/types/media/image-node.d.ts.map +1 -0
  14. package/dist/types/media/video-node.d.ts +12 -0
  15. package/dist/types/media/video-node.d.ts.map +1 -0
  16. package/dist/types/ui/codeblock/CodeBlockControls.d.ts +12 -0
  17. package/dist/types/ui/codeblock/CodeBlockControls.d.ts.map +1 -0
  18. package/dist/types/ui/floating-toolbar/FloatingToolbar.d.ts +16 -0
  19. package/dist/types/ui/floating-toolbar/FloatingToolbar.d.ts.map +1 -0
  20. package/dist/types/ui/floating-toolbar/behavior-contract.d.ts +3 -0
  21. package/dist/types/ui/floating-toolbar/behavior-contract.d.ts.map +1 -0
  22. package/dist/types/ui/math/MathEditorPopover.d.ts +11 -0
  23. package/dist/types/ui/math/MathEditorPopover.d.ts.map +1 -0
  24. package/dist/types/ui/mermaid/MermaidPreview.d.ts +9 -0
  25. package/dist/types/ui/mermaid/MermaidPreview.d.ts.map +1 -0
  26. package/dist/types/ui/slash-command/SlashCommandMenu.d.ts +37 -0
  27. package/dist/types/ui/slash-command/SlashCommandMenu.d.ts.map +1 -0
  28. package/dist/types/ui/table/TableControls.d.ts +18 -0
  29. package/dist/types/ui/table/TableControls.d.ts.map +1 -0
  30. package/dist/types/ui/table/TableSelectionOverlay.d.ts +10 -0
  31. package/dist/types/ui/table/TableSelectionOverlay.d.ts.map +1 -0
  32. package/dist/types/ui/toc/MarkweaveInnerToc.d.ts +11 -0
  33. package/dist/types/ui/toc/MarkweaveInnerToc.d.ts.map +1 -0
  34. package/package.json +69 -0
  35. package/styles.css +1 -0
@@ -0,0 +1,73 @@
1
+ import { type Editor } from "@tiptap/react";
2
+ import { type ComponentProps, type HTMLAttributes } from "react";
3
+ import { type MarkweaveLang } from "markweave/internal/i18n";
4
+ import { type MermaidPreviewMode } from "markweave/internal/plugins/mermaid/mermaid-renderer";
5
+ import { type MarkweaveSlashCommandUploadHandler } from "markweave/internal/plugins/slash-command/upload";
6
+ import type { MarkweaveMenuCopyPayload } from "markweave/internal/plugins/table/table-clipboard";
7
+ import { type TableFocusState } from "markweave/internal/plugins/table/table-focus-state";
8
+ import { CodeBlockControls } from "./ui/codeblock/CodeBlockControls";
9
+ import { FloatingToolbar } from "./ui/floating-toolbar/FloatingToolbar";
10
+ import { MathEditorPopover } from "./ui/math/MathEditorPopover";
11
+ import { SlashCommandMenu } from "./ui/slash-command/SlashCommandMenu";
12
+ import { TableControls } from "./ui/table/TableControls";
13
+ import { TableSelectionOverlay } from "./ui/table/TableSelectionOverlay";
14
+ import { MarkweaveInnerToc } from "./ui/toc/MarkweaveInnerToc";
15
+ import { type MarkweaveEditorMode } from "markweave/internal/core/editor-mode-state";
16
+ import type { FloatingToolbarAssistantRequest, MarkweaveContentFormat, MarkweaveContentValue, MarkweaveEditorRuntimeSnapshot, MarkweaveEditorSetContentOptions, MarkweaveEditorUpdatePayload, TableCommandResult, TableEditWithAiRequest } from "markweave/internal/core/public-types";
17
+ import { type MarkweaveTocState } from "markweave/internal/core/toc-state";
18
+ export interface MarkweaveEditorControllerActions {
19
+ readonly closeSlashMenu: () => void;
20
+ readonly focusFirstTableBodyCell: () => boolean;
21
+ readonly setContent: (content: MarkweaveContentValue, options?: MarkweaveEditorSetContentOptions) => boolean;
22
+ }
23
+ export interface MarkweaveEditorOverlayProps {
24
+ readonly floatingToolbar: ComponentProps<typeof FloatingToolbar> | null;
25
+ readonly slashCommandMenu: ComponentProps<typeof SlashCommandMenu> | null;
26
+ readonly tableControls: ComponentProps<typeof TableControls> | null;
27
+ readonly tableSelectionOverlay: ComponentProps<typeof TableSelectionOverlay> | null;
28
+ readonly codeBlockControls: ComponentProps<typeof CodeBlockControls> | null;
29
+ readonly innerToc: ComponentProps<typeof MarkweaveInnerToc> | null;
30
+ readonly mathEditorPopover: ComponentProps<typeof MathEditorPopover> | null;
31
+ }
32
+ export interface MarkweaveEditorFrameProps extends HTMLAttributes<HTMLElement> {
33
+ readonly "data-testid": string;
34
+ readonly "data-markweave-mode": MarkweaveEditorMode;
35
+ readonly "data-markweave-inner-toc": "true" | "false";
36
+ readonly "data-mermaid-mode": MermaidPreviewMode;
37
+ readonly "data-table-focus-mode": TableFocusState["mode"];
38
+ }
39
+ export interface MarkweaveEditorController {
40
+ readonly editor: Editor | null;
41
+ readonly frameProps: MarkweaveEditorFrameProps;
42
+ readonly overlayProps: MarkweaveEditorOverlayProps;
43
+ readonly runtimeSnapshot: MarkweaveEditorRuntimeSnapshot;
44
+ readonly actions: MarkweaveEditorControllerActions;
45
+ }
46
+ export interface MarkweaveEditorControllerOptions {
47
+ readonly defaultContent?: MarkweaveContentValue;
48
+ readonly defaultContentFormat?: MarkweaveContentFormat;
49
+ readonly content?: MarkweaveContentValue;
50
+ readonly contentFormat?: MarkweaveContentFormat;
51
+ readonly editable?: boolean;
52
+ readonly mode?: MarkweaveEditorMode;
53
+ readonly innerToc?: boolean;
54
+ readonly autofocus?: boolean;
55
+ readonly lang?: MarkweaveLang;
56
+ readonly ariaLabel?: string;
57
+ readonly autoFocusFirstTableBodyCell?: boolean;
58
+ readonly onUpdate?: (payload: MarkweaveEditorUpdatePayload) => void;
59
+ readonly onEditWithAi?: (request: TableEditWithAiRequest) => void;
60
+ readonly onRewriteSelection?: (request: FloatingToolbarAssistantRequest) => void;
61
+ readonly onExtractToNote?: (request: FloatingToolbarAssistantRequest) => void;
62
+ readonly onSlashCommandUpload?: MarkweaveSlashCommandUploadHandler;
63
+ readonly onTableCopyPayload?: (payload: MarkweaveMenuCopyPayload) => void;
64
+ readonly onTableCommandResult?: (result: TableCommandResult) => void;
65
+ readonly onRuntimeStateChange?: (snapshot: MarkweaveEditorRuntimeSnapshot) => void;
66
+ readonly onTocChange?: (state: MarkweaveTocState) => void;
67
+ }
68
+ export interface MarkweaveEditorProps extends MarkweaveEditorControllerOptions {
69
+ readonly className?: string;
70
+ }
71
+ export declare function useMarkweaveEditorController({ ariaLabel, autoFocusFirstTableBodyCell, autofocus, content, contentFormat, defaultContent, defaultContentFormat, editable, innerToc, lang, mode, onEditWithAi, onExtractToNote, onRewriteSelection, onRuntimeStateChange, onSlashCommandUpload, onTableCommandResult, onTableCopyPayload, onTocChange, onUpdate, }?: MarkweaveEditorControllerOptions): MarkweaveEditorController;
72
+ export declare function MarkweaveEditor({ className, ...controllerOptions }: MarkweaveEditorProps): import("react").JSX.Element | null;
73
+ //# sourceMappingURL=MarkweaveEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkweaveEditor.d.ts","sourceRoot":"","sources":["../../src/MarkweaveEditor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { MarkweaveLang } from "markweave/internal/i18n";
2
+ import type { MarkweaveSlashCommandUploadHandler } from "markweave/internal/plugins/slash-command/upload";
3
+ export interface CreateMarkweaveReactEditorExtensionsOptions {
4
+ readonly lang?: MarkweaveLang;
5
+ readonly onImageUpload?: MarkweaveSlashCommandUploadHandler;
6
+ readonly onVideoUpload?: MarkweaveSlashCommandUploadHandler;
7
+ }
8
+ export declare function createMarkweaveReactEditorExtensions(options?: CreateMarkweaveReactEditorExtensionsOptions): (import("@tiptap/core").Node<any, any> | import("@tiptap/core").Node<import("@tiptap/extension-image").ImageOptions, any> | import("@tiptap/core").Node<import("markweave/internal/plugins/media/core-media-nodes").MarkweaveCoreVideoOptions, any> | import("@tiptap/core").AnyExtension | import("@tiptap/core").Extension<import("@tiptap/markdown").MarkdownExtensionOptions, import("@tiptap/markdown").MarkdownExtensionStorage> | import("@tiptap/core").Extension<import("@tiptap/starter-kit").StarterKitOptions, any> | import("@tiptap/core").Mark<import("@tiptap/extension-text-style").TextStyleOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-text-style").ColorOptions, any> | import("@tiptap/core").Mark<import("@tiptap/extension-subscript").SubscriptExtensionOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-text-align").TextAlignOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-mathematics").MathematicsOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-code-block-lowlight").CodeBlockLowlightOptions, any> | import("@tiptap/core").Mark<import("@tiptap/extension-link").LinkOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-emoji").EmojiOptions, import("@tiptap/extension-emoji").EmojiStorage> | import("@tiptap/core").Mark<import("@tiptap/extension-highlight").HighlightOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-horizontal-rule").HorizontalRuleOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-task-list").TaskListOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-task-item").TaskItemOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-table").TableOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-table").TableRowOptions, any>)[];
9
+ export { createMarkweaveReactEditorExtensions as createMarkweaveEditorExtensions };
10
+ //# sourceMappingURL=create-editor-extensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-editor-extensions.d.ts","sourceRoot":"","sources":["../../src/create-editor-extensions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,iDAAiD,CAAC;AAG1G,MAAM,WAAW,2CAA2C;IAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,kCAAkC,CAAC;IAC5D,QAAQ,CAAC,aAAa,CAAC,EAAE,kCAAkC,CAAC;CAC7D;AAED,wBAAgB,oCAAoC,CAAC,OAAO,GAAE,2CAAgD,k0DAW7G;AAED,OAAO,EAAE,oCAAoC,IAAI,+BAA+B,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Editor } from "@tiptap/core";
2
+ export declare function useMarkweaveEditorModeState(editor: Editor | null | undefined): import("markweave").MarkweaveEditorModeState;
3
+ //# sourceMappingURL=editor-mode-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-mode-state.d.ts","sourceRoot":"","sources":["../../src/editor-mode-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAS3C,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,gDAM5E"}
@@ -0,0 +1,6 @@
1
+ export { createMarkweaveReactEditorExtensions, createMarkweaveEditorExtensions } from "./create-editor-extensions";
2
+ export type { CreateMarkweaveReactEditorExtensionsOptions } from "./create-editor-extensions";
3
+ export { MarkweaveEditor, useMarkweaveEditorController } from "./MarkweaveEditor";
4
+ export type { MarkweaveEditorController, MarkweaveEditorControllerActions, MarkweaveEditorControllerOptions, MarkweaveEditorFrameProps, MarkweaveEditorOverlayProps, MarkweaveEditorProps, } from "./MarkweaveEditor";
5
+ export type { FloatingToolbarAssistantRequest, MarkweaveContentFormat, MarkweaveContentValue, MarkweaveEditorRuntimeSnapshot, MarkweaveEditorSetContentOptions, MarkweaveEditorUpdatePayload, TableCommandResult, TableEditWithAiRequest, MarkweaveEditorMode, MarkweaveTocItem, MarkweaveTocState, MarkweaveLang, MarkweaveUploadRequest, MarkweaveUploadResult, MarkweaveSlashCommandUploadHandler, MarkweaveMenuCopyPayload, } from "markweave";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AACnH,YAAY,EAAE,2CAA2C,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAClF,YAAY,EACV,yBAAyB,EACzB,gCAAgC,EAChC,gCAAgC,EAChC,yBAAyB,EACzB,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,+BAA+B,EAC/B,sBAAsB,EACtB,qBAAqB,EACrB,8BAA8B,EAC9B,gCAAgC,EAChC,4BAA4B,EAC5B,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,kCAAkC,EAClC,wBAAwB,GACzB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { ImageOptions } from "@tiptap/extension-image";
2
+ import { type MarkweaveSlashCommandUploadHandler } from "markweave/internal/plugins/slash-command/upload";
3
+ import { normalizeMarkweaveCoreImageAlign, type MarkweaveCoreImageAlign } from "markweave/internal/plugins/media/core-media-nodes";
4
+ import { type MarkweaveMessages } from "markweave/internal/i18n";
5
+ export type MarkweaveImageAlign = MarkweaveCoreImageAlign;
6
+ export interface MarkweaveImageOptions extends ImageOptions {
7
+ readonly messages?: MarkweaveMessages;
8
+ readonly onUpload?: MarkweaveSlashCommandUploadHandler;
9
+ }
10
+ export declare const normalizeMarkweaveImageAlign: typeof normalizeMarkweaveCoreImageAlign;
11
+ export declare const MarkweaveImage: import("@tiptap/core").Node<MarkweaveImageOptions, any>;
12
+ //# sourceMappingURL=image-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-node.d.ts","sourceRoot":"","sources":["../../../src/media/image-node.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAc5D,OAAO,EAGL,KAAK,kCAAkC,EAExC,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAML,gCAAgC,EAGhC,KAAK,uBAAuB,EAC7B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAIvF,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAE1D,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,kCAAkC,CAAC;CACxD;AAED,eAAO,MAAM,4BAA4B,yCAAmC,CAAC;AAob7E,eAAO,MAAM,cAAc,yDAkBzB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type MarkweaveSlashCommandUploadHandler } from "markweave/internal/plugins/slash-command/upload";
2
+ import { type MarkweaveCoreVideoEmbed, type MarkweaveCoreVideoProvider, type MarkweaveCoreVideoOptions } from "markweave/internal/plugins/media/core-media-nodes";
3
+ import { type MarkweaveMessages } from "markweave/internal/i18n";
4
+ export { isDirectMarkweaveVideoUrl as isDirectVideoUrl, parseMarkweaveVideoEmbed } from "markweave/internal/plugins/media/core-media-nodes";
5
+ export type MarkweaveVideoProvider = MarkweaveCoreVideoProvider;
6
+ export interface MarkweaveVideoOptions extends MarkweaveCoreVideoOptions {
7
+ readonly messages?: MarkweaveMessages;
8
+ readonly onUpload?: MarkweaveSlashCommandUploadHandler;
9
+ }
10
+ export type MarkweaveVideoEmbed = MarkweaveCoreVideoEmbed;
11
+ export declare const MarkweaveVideo: import("@tiptap/core").Node<MarkweaveVideoOptions, any>;
12
+ //# sourceMappingURL=video-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-node.d.ts","sourceRoot":"","sources":["../../../src/media/video-node.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,kCAAkC,EAExC,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAQL,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC/B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAIvF,OAAO,EAAE,yBAAyB,IAAI,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC5I,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAEhE,MAAM,WAAW,qBAAsB,SAAQ,yBAAyB;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,kCAAkC,CAAC;CACxD;AAED,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAiQ1D,eAAO,MAAM,cAAc,yDAkBzB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Editor } from "@tiptap/react";
2
+ import type { MermaidPreviewMode } from "markweave/internal/plugins/mermaid/mermaid-renderer";
3
+ export { mergeStableMermaidTabPositions } from "markweave/internal/plugins/codeblock/codeblock-ui-model";
4
+ interface CodeBlockControlsProps {
5
+ readonly active: boolean;
6
+ readonly editor: Editor;
7
+ readonly mermaidMode: MermaidPreviewMode;
8
+ readonly onMermaidModeChange: (mode: MermaidPreviewMode) => void;
9
+ readonly readOnly?: boolean;
10
+ }
11
+ export declare function CodeBlockControls({ active, editor, mermaidMode, onMermaidModeChange, readOnly }: CodeBlockControlsProps): import("react").JSX.Element | null;
12
+ //# sourceMappingURL=CodeBlockControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlockControls.d.ts","sourceRoot":"","sources":["../../../../src/ui/codeblock/CodeBlockControls.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AA6C5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AAE9F,OAAO,EAAE,8BAA8B,EAAE,MAAM,yDAAyD,CAAC;AAEzG,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAwGD,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAgB,EAAE,EAAE,sBAAsB,sCAkuB/H"}
@@ -0,0 +1,16 @@
1
+ import type { Editor } from "@tiptap/react";
2
+ import { type EditorSelectionSnapshot } from "markweave/internal/editor-core/selection-state";
3
+ import type { FloatingToolbarAssistantRequest } from "markweave/internal/core/public-types";
4
+ import { type MarkweaveMessages } from "markweave/internal/i18n";
5
+ export { applyFloatingToolbarLink, createFloatingToolbarAssistantRequest, floatingToolbarBlockTypes, floatingToolbarColorOptions, floatingToolbarHighlightColorOptions, floatingToolbarMoreActions, floatingToolbarTextColorOptions, floatingToolbarTurnIntoOptions, getCurrentFloatingToolbarBlockType, getFloatingToolbarBlockTypes, getFloatingToolbarButtonCount, getFloatingToolbarButtonModels, getFloatingToolbarHighlightColorOptions, getFloatingToolbarLinkHref, getFloatingToolbarMoreActions, getFloatingToolbarTextColorOptions, getFloatingToolbarTooltipModel, getFloatingToolbarTurnIntoOptions, insertFloatingToolbarInlineMath, openFloatingToolbarLinkHref, preventFloatingToolbarPointerFocusLoss, removeFloatingToolbarLink, runFloatingToolbarMoreAction, setFloatingToolbarBlockType, setFloatingToolbarCalloutType, setFloatingToolbarHighlightColor, setFloatingToolbarTextAlign, setFloatingToolbarTextColor, setFloatingToolbarTurnInto, } from "markweave/internal/editor-core/floating-toolbar-model";
6
+ export type { FloatingToolbarBlockType, FloatingToolbarButtonGroup, FloatingToolbarButtonId, FloatingToolbarButtonModel, FloatingToolbarColorOption, FloatingToolbarMenu, FloatingToolbarMoreAction, FloatingToolbarMoreActionId, FloatingToolbarTextAlign, FloatingToolbarTooltipModel, FloatingToolbarTurnIntoId, FloatingToolbarTurnIntoOption, } from "markweave/internal/editor-core/floating-toolbar-model";
7
+ interface FloatingToolbarProps {
8
+ readonly editor: Editor;
9
+ readonly messages?: MarkweaveMessages;
10
+ readonly selectionSnapshot: EditorSelectionSnapshot | null;
11
+ readonly onRewriteSelection?: (request: FloatingToolbarAssistantRequest) => void;
12
+ readonly onExtractToNote?: (request: FloatingToolbarAssistantRequest) => void;
13
+ }
14
+ export declare function getFloatingToolbarSelectionDomRects(editor: Editor): DOMRect[] | null;
15
+ export declare function FloatingToolbar({ editor, messages, selectionSnapshot, onRewriteSelection }: FloatingToolbarProps): import("react").JSX.Element;
16
+ //# sourceMappingURL=FloatingToolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingToolbar.d.ts","sourceRoot":"","sources":["../../../../src/ui/floating-toolbar/FloatingToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAkC5C,OAAO,EASL,KAAK,uBAAuB,EAE7B,MAAM,gDAAgD,CAAC;AA6BxD,OAAO,KAAK,EAAE,+BAA+B,EAAkC,MAAM,sCAAsC,CAAC;AAE5H,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EACL,wBAAwB,EACxB,qCAAqC,EACrC,yBAAyB,EACzB,2BAA2B,EAC3B,oCAAoC,EACpC,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,EAC9B,kCAAkC,EAClC,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,uCAAuC,EACvC,0BAA0B,EAC1B,6BAA6B,EAC7B,kCAAkC,EAClC,8BAA8B,EAC9B,iCAAiC,EACjC,+BAA+B,EAC/B,2BAA2B,EAC3B,sCAAsC,EACtC,yBAAyB,EACzB,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,gCAAgC,EAChC,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,uDAAuD,CAAC;AAC/D,YAAY,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,uDAAuD,CAAC;AAE/D,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC3D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,+BAA+B,KAAK,IAAI,CAAC;IACjF,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,+BAA+B,KAAK,IAAI,CAAC;CAC/E;AAoMD,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,MAAM,oBAEjE;AA6BD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,QAAmC,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,EAAE,oBAAoB,+BAwV3I"}
@@ -0,0 +1,3 @@
1
+ export declare const floatingToolbarRules: readonly ["show-on-non-empty-text-selection", "hide-on-collapsed-selection", "hide-on-suppressed-node-selection", "do-not-steal-editor-focus", "narrow-controls-for-table-selection", "stable-position-after-selection-settles", "animate-show-hide", "show-button-tooltips"];
2
+ export type FloatingToolbarRule = (typeof floatingToolbarRules)[number];
3
+ //# sourceMappingURL=behavior-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"behavior-contract.d.ts","sourceRoot":"","sources":["../../../../src/ui/floating-toolbar/behavior-contract.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,+QASvB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Editor } from "@tiptap/react";
2
+ import type { MarkweaveMessages } from "markweave/internal/i18n";
3
+ import { type MarkweaveMathTarget } from "markweave/internal/plugins/math/math-ui-model";
4
+ export interface MathEditorPopoverProps {
5
+ readonly editor: Editor;
6
+ readonly messages: MarkweaveMessages;
7
+ readonly target: MarkweaveMathTarget;
8
+ readonly onClose: () => void;
9
+ }
10
+ export declare function MathEditorPopover({ editor, messages, onClose, target }: MathEditorPopoverProps): import("react").JSX.Element;
11
+ //# sourceMappingURL=MathEditorPopover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MathEditorPopover.d.ts","sourceRoot":"","sources":["../../../../src/ui/math/MathEditorPopover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EASL,KAAK,mBAAmB,EACzB,MAAM,+CAA+C,CAAC;AAEvD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,sBAAsB,+BAgN9F"}
@@ -0,0 +1,9 @@
1
+ import { type MermaidPreviewMode } from "markweave/internal/plugins/mermaid/mermaid-renderer";
2
+ interface MermaidPreviewProps {
3
+ readonly active: boolean;
4
+ readonly mode: MermaidPreviewMode;
5
+ readonly source: string;
6
+ }
7
+ export declare function MermaidPreview({ active, mode, source }: MermaidPreviewProps): import("react").JSX.Element | null;
8
+ export {};
9
+ //# sourceMappingURL=MermaidPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MermaidPreview.d.ts","sourceRoot":"","sources":["../../../../src/ui/mermaid/MermaidPreview.tsx"],"names":[],"mappings":"AACA,OAAO,EAAuD,KAAK,kBAAkB,EAA4B,MAAM,qDAAqD,CAAC;AAE7K,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAQD,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,mBAAmB,sCAkD3E"}
@@ -0,0 +1,37 @@
1
+ import { type SlashCommandSpec } from "markweave/internal/plugins/slash-command/command-spec";
2
+ import type { SlashCommandMenuPosition } from "markweave/internal/plugins/slash-command/slash-runtime";
3
+ import type { SlashCommandState } from "markweave/internal/plugins/slash-command/slash-state";
4
+ import { type MarkweaveSlashCommandUploadHandler, type MarkweaveUploadResult } from "markweave/internal/plugins/slash-command/upload";
5
+ import { type MarkweaveMessages } from "markweave/internal/i18n";
6
+ type SlashCommandSelectOptions = {
7
+ readonly emoji?: string;
8
+ readonly uploadResult?: MarkweaveUploadResult;
9
+ };
10
+ interface SlashCommandMenuProps {
11
+ readonly commands: readonly SlashCommandSpec[];
12
+ readonly messages?: MarkweaveMessages;
13
+ readonly state: SlashCommandState;
14
+ readonly position: SlashCommandMenuPosition | null;
15
+ readonly inputCommand?: SlashCommandSpec | null;
16
+ readonly onActiveIndexChange?: (index: number) => void;
17
+ readonly onInputCommandChange?: (command: SlashCommandSpec | null) => void;
18
+ readonly onSelect: (command: SlashCommandSpec, options?: SlashCommandSelectOptions) => void;
19
+ readonly onUpload?: MarkweaveSlashCommandUploadHandler;
20
+ }
21
+ export type SlashCommandMenuPresentation = {
22
+ readonly visible: false;
23
+ readonly empty: false;
24
+ readonly activeIndex: -1;
25
+ } | {
26
+ readonly visible: true;
27
+ readonly empty: true;
28
+ readonly activeIndex: -1;
29
+ } | {
30
+ readonly visible: true;
31
+ readonly empty: false;
32
+ readonly activeIndex: number;
33
+ };
34
+ export declare function getSlashCommandMenuPresentation(state: SlashCommandState, commands: readonly SlashCommandSpec[], position: SlashCommandMenuPosition | null): SlashCommandMenuPresentation;
35
+ export declare function SlashCommandMenu({ commands, messages, state, position, inputCommand, onActiveIndexChange, onInputCommandChange, onSelect, onUpload, }: SlashCommandMenuProps): import("react").JSX.Element | null;
36
+ export {};
37
+ //# sourceMappingURL=SlashCommandMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlashCommandMenu.d.ts","sourceRoot":"","sources":["../../../../src/ui/slash-command/SlashCommandMenu.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAIL,KAAK,gBAAgB,EAEtB,MAAM,uDAAuD,CAAC;AAE/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AACvG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAGL,KAAK,kCAAkC,EAEvC,KAAK,qBAAqB,EAC3B,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,KAAK,yBAAyB,GAAG;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAE5G,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3E,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAC5F,QAAQ,CAAC,QAAQ,CAAC,EAAE,kCAAkC,CAAC;CACxD;AAED,MAAM,MAAM,4BAA4B,GACpC;IACE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,CAAC;AAiCN,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EACrC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,GACxC,4BAA4B,CAsB9B;AAuMD,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,QAA0B,EAC1B,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,QAAQ,EACR,QAAQ,GACT,EAAE,qBAAqB,sCA8FvB"}
@@ -0,0 +1,18 @@
1
+ import type { Editor } from "@tiptap/react";
2
+ import { type MarkweaveMenuCopyPayload } from "markweave/internal/plugins/table/table-clipboard";
3
+ import { type TableInteractionState } from "markweave/internal/plugins/table/table-interaction-layer";
4
+ import { calculateTableControlsPosition, calculateTableEdgeHandlePosition, calculateTableMenuPosition, canRunTableCommand, formatTableCopyFeedback, getAvailableCellMenuCommandSpecs, getTableAxisSelectionModel, getTableCommandSnapshot, getTableCopyFeedbackSnapshot, getTableEditWithAiRequest, runTableCommand, selectTableAxisFromCell, writeMarkweaveMenuPayloadToClipboard } from "markweave/internal/plugins/table/table-ui-model";
5
+ import { type MarkweaveMessages } from "markweave/internal/i18n";
6
+ import type { TableCommandResult, TableEditWithAiRequest } from "markweave/internal/core/public-types";
7
+ export { calculateTableControlsPosition, calculateTableEdgeHandlePosition, calculateTableMenuPosition, canRunTableCommand, formatTableCopyFeedback, getAvailableCellMenuCommandSpecs, getTableAxisSelectionModel, getTableCopyFeedbackSnapshot, getTableCommandSnapshot, getTableEditWithAiRequest, runTableCommand, selectTableAxisFromCell, writeMarkweaveMenuPayloadToClipboard, };
8
+ interface TableControlsProps {
9
+ readonly editor: Editor;
10
+ readonly active: boolean;
11
+ readonly interactionState?: TableInteractionState;
12
+ readonly messages?: MarkweaveMessages;
13
+ readonly onCopyPayload?: (payload: MarkweaveMenuCopyPayload) => void;
14
+ readonly onCommandResult?: (result: TableCommandResult) => void;
15
+ readonly onEditWithAi?: (request: TableEditWithAiRequest) => void;
16
+ }
17
+ export declare function TableControls({ active, editor, interactionState, messages, onCopyPayload, onCommandResult, onEditWithAi, }: TableControlsProps): import("react").JSX.Element | null;
18
+ //# sourceMappingURL=TableControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableControls.d.ts","sourceRoot":"","sources":["../../../../src/ui/table/TableControls.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,kDAAkD,CAAC;AAG1D,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAEL,8BAA8B,EAC9B,gCAAgC,EAChC,0BAA0B,EAC1B,kBAAkB,EAElB,uBAAuB,EAEvB,gCAAgC,EAEhC,0BAA0B,EAE1B,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EAKzB,eAAe,EACf,uBAAuB,EAGvB,oCAAoC,EAMrC,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAEvG,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,EAChC,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,EACvB,gCAAgC,EAChC,0BAA0B,EAC1B,4BAA4B,EAC5B,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EACf,uBAAuB,EACvB,oCAAoC,GACrC,CAAC;AAEF,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACnE;AAID,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,MAAM,EACN,gBAA+C,EAC/C,QAA+B,EAC/B,aAAa,EACb,eAAe,EACf,YAAY,GACb,EAAE,kBAAkB,sCAmZpB"}
@@ -0,0 +1,10 @@
1
+ import type { Editor } from "@tiptap/react";
2
+ import type { TableFocusState } from "markweave/internal/plugins/table/table-focus-state";
3
+ import { measureTableSelectionOverlay } from "markweave/internal/plugins/table/table-ui-model";
4
+ interface TableSelectionOverlayProps {
5
+ readonly editor: Editor;
6
+ readonly focusState: TableFocusState;
7
+ }
8
+ export { measureTableSelectionOverlay };
9
+ export declare function TableSelectionOverlay({ editor, focusState }: TableSelectionOverlayProps): import("react").JSX.Element | null;
10
+ //# sourceMappingURL=TableSelectionOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSelectionOverlay.d.ts","sourceRoot":"","sources":["../../../../src/ui/table/TableSelectionOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EACL,4BAA4B,EAE7B,MAAM,iDAAiD,CAAC;AAEzD,UAAU,0BAA0B;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;CACtC;AAED,OAAO,EAAE,4BAA4B,EAAE,CAAC;AAExC,wBAAgB,qBAAqB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,0BAA0B,sCAwDvF"}
@@ -0,0 +1,11 @@
1
+ import type { Editor } from "@tiptap/core";
2
+ import type { MarkweaveMessages } from "markweave/internal/i18n";
3
+ import { type MarkweaveTocState } from "markweave/internal/core/toc-state";
4
+ export interface MarkweaveInnerTocProps {
5
+ readonly editor: Editor;
6
+ readonly state: MarkweaveTocState;
7
+ readonly messages: MarkweaveMessages;
8
+ readonly editable: boolean;
9
+ }
10
+ export declare function MarkweaveInnerToc({ editor, state, messages, editable }: MarkweaveInnerTocProps): import("react").JSX.Element | null;
11
+ //# sourceMappingURL=MarkweaveInnerToc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkweaveInnerToc.d.ts","sourceRoot":"","sources":["../../../../src/ui/toc/MarkweaveInnerToc.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAmD,KAAK,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE5H,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAMD,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,sBAAsB,sCAwC9F"}
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "@markweave/react",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "description": "React adapter for the Markweave Markdown-first WYSIWYG editor.",
6
+ "license": "MIT",
7
+ "keywords": [
8
+ "markdown",
9
+ "wysiwyg",
10
+ "editor",
11
+ "tiptap",
12
+ "prosemirror",
13
+ "react",
14
+ "markweave"
15
+ ],
16
+ "homepage": "https://github.com/Refinex-Space/markweave#readme",
17
+ "bugs": {
18
+ "url": "https://github.com/Refinex-Space/markweave/issues"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "git+https://github.com/Refinex-Space/markweave.git",
23
+ "directory": "packages/markweave-react"
24
+ },
25
+ "publishConfig": {
26
+ "registry": "https://registry.npmjs.org/",
27
+ "access": "public"
28
+ },
29
+ "sideEffects": [
30
+ "**/*.css"
31
+ ],
32
+ "style": "./styles.css",
33
+ "main": "./dist/index.js",
34
+ "module": "./dist/index.js",
35
+ "types": "./dist/types/index.d.ts",
36
+ "exports": {
37
+ ".": {
38
+ "types": "./dist/types/index.d.ts",
39
+ "import": "./dist/index.js"
40
+ },
41
+ "./styles.css": "./styles.css"
42
+ },
43
+ "files": [
44
+ "dist",
45
+ "styles.css",
46
+ "README.md",
47
+ "LICENSE"
48
+ ],
49
+ "dependencies": {
50
+ "@tiptap/core": "^3.27.1",
51
+ "@tiptap/extension-image": "^3.27.1",
52
+ "@tiptap/pm": "^3.27.1",
53
+ "@tiptap/react": "^3.27.1",
54
+ "lucide-react": "^0.547.0",
55
+ "markweave": "^0.1.0"
56
+ },
57
+ "peerDependencies": {
58
+ "react": "^18.2.0 || ^19.0.0",
59
+ "react-dom": "^18.2.0 || ^19.0.0"
60
+ },
61
+ "devDependencies": {
62
+ "@types/react": "^19.2.17",
63
+ "@types/react-dom": "^19.2.3"
64
+ },
65
+ "scripts": {
66
+ "build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && vite build && tsc -p tsconfig.build.json",
67
+ "typecheck": "tsc -p tsconfig.json --noEmit"
68
+ }
69
+ }
package/styles.css ADDED
@@ -0,0 +1 @@
1
+ @import "markweave/styles.css";