@fileverse-dev/ddoc 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. package/README.md +30 -0
  2. package/dist/App.d.ts +2 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.es.js +26234 -0
  5. package/dist/index.umd.js +356 -0
  6. package/dist/main.d.ts +1 -0
  7. package/dist/packages/ddoc/color-selector.d.ts +14 -0
  8. package/dist/packages/ddoc/common/button.d.ts +20 -0
  9. package/dist/packages/ddoc/common/cutsom-tooltip.d.ts +8 -0
  10. package/dist/packages/ddoc/common/dropdown.d.ts +12 -0
  11. package/dist/packages/ddoc/common/icon.d.ts +8 -0
  12. package/dist/packages/ddoc/common/spinner.d.ts +6 -0
  13. package/dist/packages/ddoc/common/surface.d.ts +7 -0
  14. package/dist/packages/ddoc/common/toolbar.d.ts +28 -0
  15. package/dist/packages/ddoc/common/types.d.ts +19 -0
  16. package/dist/packages/ddoc/ddoc-editor.d.ts +4 -0
  17. package/dist/packages/ddoc/editor-bubble-menu.d.ts +12 -0
  18. package/dist/packages/ddoc/editor-toolbar.d.ts +6 -0
  19. package/dist/packages/ddoc/editor-utils.d.ts +56 -0
  20. package/dist/packages/ddoc/extensions/action-button/action-button-node-view.d.ts +3 -0
  21. package/dist/packages/ddoc/extensions/action-button/action-button.d.ts +16 -0
  22. package/dist/packages/ddoc/extensions/action-button/index.d.ts +1 -0
  23. package/dist/packages/ddoc/extensions/action-button/modal.d.ts +8 -0
  24. package/dist/packages/ddoc/extensions/custom-keymap.d.ts +14 -0
  25. package/dist/packages/ddoc/extensions/d-block/dblock-node-view.d.ts +4 -0
  26. package/dist/packages/ddoc/extensions/d-block/dblock.d.ts +19 -0
  27. package/dist/packages/ddoc/extensions/d-block/index.d.ts +1 -0
  28. package/dist/packages/ddoc/extensions/default-extension.d.ts +5 -0
  29. package/dist/packages/ddoc/extensions/doc.d.ts +3 -0
  30. package/dist/packages/ddoc/extensions/document/document.d.ts +2 -0
  31. package/dist/packages/ddoc/extensions/document/index.d.ts +1 -0
  32. package/dist/packages/ddoc/extensions/horizontal-rule.d.ts +2 -0
  33. package/dist/packages/ddoc/extensions/iframe/iframe.d.ts +27 -0
  34. package/dist/packages/ddoc/extensions/iframe/index.d.ts +1 -0
  35. package/dist/packages/ddoc/extensions/multi-column/column-selection.d.ts +17 -0
  36. package/dist/packages/ddoc/extensions/multi-column/column.d.ts +4 -0
  37. package/dist/packages/ddoc/extensions/multi-column/columns.d.ts +18 -0
  38. package/dist/packages/ddoc/extensions/multi-column/index.d.ts +11 -0
  39. package/dist/packages/ddoc/extensions/multi-column/menus/columns-menu.d.ts +4 -0
  40. package/dist/packages/ddoc/extensions/multi-column/menus/index.d.ts +1 -0
  41. package/dist/packages/ddoc/extensions/multi-column/utils.d.ts +22 -0
  42. package/dist/packages/ddoc/extensions/resizable-media/index.d.ts +1 -0
  43. package/dist/packages/ddoc/extensions/resizable-media/media-paste-drop-plugin/index.d.ts +1 -0
  44. package/dist/packages/ddoc/extensions/resizable-media/media-paste-drop-plugin/media-paste-drop-plugin.d.ts +12 -0
  45. package/dist/packages/ddoc/extensions/resizable-media/resizable-media-node-view.d.ts +3 -0
  46. package/dist/packages/ddoc/extensions/resizable-media/resizable-media.d.ts +27 -0
  47. package/dist/packages/ddoc/extensions/supercharged-table/extension-table/index.d.ts +5 -0
  48. package/dist/packages/ddoc/extensions/supercharged-table/extension-table/table-view.d.ts +18 -0
  49. package/dist/packages/ddoc/extensions/supercharged-table/extension-table/table.d.ts +56 -0
  50. package/dist/packages/ddoc/extensions/supercharged-table/extension-table/utilities/create-cell.d.ts +3 -0
  51. package/dist/packages/ddoc/extensions/supercharged-table/extension-table/utilities/create-table.d.ts +3 -0
  52. package/dist/packages/ddoc/extensions/supercharged-table/extension-table/utilities/delete-table-when-all-cells-selected.d.ts +3 -0
  53. package/dist/packages/ddoc/extensions/supercharged-table/extension-table/utilities/get-table-node-types.d.ts +5 -0
  54. package/dist/packages/ddoc/extensions/supercharged-table/extension-table/utilities/is-cell-selection.d.ts +3 -0
  55. package/dist/packages/ddoc/extensions/supercharged-table/extension-table-cell/index.d.ts +4 -0
  56. package/dist/packages/ddoc/extensions/supercharged-table/extension-table-cell/table-cell-node-view.d.ts +4 -0
  57. package/dist/packages/ddoc/extensions/supercharged-table/extension-table-cell/table-cell.d.ts +6 -0
  58. package/dist/packages/ddoc/extensions/supercharged-table/extension-table-header/index.d.ts +4 -0
  59. package/dist/packages/ddoc/extensions/supercharged-table/extension-table-header/table-header.d.ts +6 -0
  60. package/dist/packages/ddoc/extensions/supercharged-table/extension-table-row/index.d.ts +4 -0
  61. package/dist/packages/ddoc/extensions/supercharged-table/extension-table-row/table-row-node-view.d.ts +17 -0
  62. package/dist/packages/ddoc/extensions/supercharged-table/extension-table-row/table-row.d.ts +7 -0
  63. package/dist/packages/ddoc/extensions/supercharged-table/index.d.ts +5 -0
  64. package/dist/packages/ddoc/extensions/supercharged-table/supercharged-table-kit.d.ts +3 -0
  65. package/dist/packages/ddoc/extensions/trailing-node/index.d.ts +1 -0
  66. package/dist/packages/ddoc/extensions/trailing-node/trailing-node.d.ts +12 -0
  67. package/dist/packages/ddoc/extensions/twitter-embed/embedded-tweet.d.ts +18 -0
  68. package/dist/packages/ddoc/extensions/twitter-embed/index.d.ts +1 -0
  69. package/dist/packages/ddoc/extensions/twitter-embed/tweet-component-node-view.d.ts +3 -0
  70. package/dist/packages/ddoc/hooks/use-content-item-actions.d.ts +10 -0
  71. package/dist/packages/ddoc/hooks/use-editing-context.d.ts +10 -0
  72. package/dist/packages/ddoc/hooks/use-visibility.d.ts +21 -0
  73. package/dist/packages/ddoc/navbar/navbar.d.ts +6 -0
  74. package/dist/packages/ddoc/node-selector.d.ts +10 -0
  75. package/dist/packages/ddoc/props.d.ts +27 -0
  76. package/dist/packages/ddoc/slash-comand.d.ts +5 -0
  77. package/dist/packages/ddoc/utils/debounce.d.ts +1 -0
  78. package/dist/packages/ddoc/utils/get-render-container.d.ts +4 -0
  79. package/dist/packages/ddoc/utils/upload-images.d.ts +8 -0
  80. package/dist/style.css +1 -0
  81. package/dist/vite.svg +1 -0
  82. package/package.json +81 -0
package/dist/main.d.ts ADDED
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,14 @@
1
+ import { Editor } from '@tiptap/core';
2
+ import { Dispatch, FC, SetStateAction } from 'react';
3
+
4
+ export interface BubbleColorMenuItem {
5
+ name: string;
6
+ color: string;
7
+ }
8
+ interface ColorSelectorProps {
9
+ editor: Editor;
10
+ isOpen: boolean;
11
+ setIsOpen: Dispatch<SetStateAction<boolean>>;
12
+ }
13
+ export declare const ColorSelector: FC<ColorSelectorProps>;
14
+ export {};
@@ -0,0 +1,20 @@
1
+ import { default as React } from 'react';
2
+
3
+ export type ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'quaternary' | 'ghost';
4
+ export type ButtonSize = 'medium' | 'small' | 'icon' | 'iconSmall';
5
+ export type ButtonProps = {
6
+ variant?: ButtonVariant;
7
+ active?: boolean;
8
+ activeClassname?: string;
9
+ buttonSize?: ButtonSize;
10
+ disabled?: boolean;
11
+ className?: string;
12
+ } & React.ButtonHTMLAttributes<HTMLButtonElement>;
13
+ export declare const Button: React.ForwardRefExoticComponent<{
14
+ variant?: ButtonVariant | undefined;
15
+ active?: boolean | undefined;
16
+ activeClassname?: string | undefined;
17
+ buttonSize?: ButtonSize | undefined;
18
+ disabled?: boolean | undefined;
19
+ className?: string | undefined;
20
+ } & React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,8 @@
1
+ import { ReactNode, FC } from 'react';
2
+
3
+ interface CustomTooltipProps {
4
+ content: ReactNode;
5
+ children: ReactNode;
6
+ }
7
+ declare const CustomTooltip: FC<CustomTooltipProps>;
8
+ export default CustomTooltip;
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+
3
+ export declare const DropdownCategoryTitle: ({ children, }: {
4
+ children: React.ReactNode;
5
+ }) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const DropdownButton: ({ children, isActive, onClick, disabled, className, }: {
7
+ children: React.ReactNode;
8
+ isActive?: boolean;
9
+ onClick?: () => void;
10
+ disabled?: boolean;
11
+ className?: string;
12
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { icons } from 'lucide-react';
2
+
3
+ export type IconProps = {
4
+ name: keyof typeof icons;
5
+ className?: string;
6
+ strokeWidth?: number;
7
+ };
8
+ export declare const Icon: import('react').MemoExoticComponent<({ name, className, strokeWidth }: IconProps) => import("react/jsx-runtime").JSX.Element | null>;
@@ -0,0 +1,6 @@
1
+ interface SpinnerProps {
2
+ height?: number;
3
+ width?: number;
4
+ }
5
+ export declare const Spinner: ({ height, width }: SpinnerProps) => import("react/jsx-runtime").JSX.Element;
6
+ export default Spinner;
@@ -0,0 +1,7 @@
1
+ import { HTMLProps } from 'react';
2
+
3
+ export type SurfaceProps = HTMLProps<HTMLDivElement> & {
4
+ withShadow?: boolean;
5
+ withBorder?: boolean;
6
+ };
7
+ export declare const Surface: import('react').ForwardRefExoticComponent<Omit<SurfaceProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,28 @@
1
+ import { ButtonHTMLAttributes, HTMLProps } from 'react';
2
+ import { ButtonProps } from './button';
3
+
4
+ export type ToolbarWrapperProps = {
5
+ shouldShowContent?: boolean;
6
+ isVertical?: boolean;
7
+ } & HTMLProps<HTMLDivElement>;
8
+ export type ToolbarDividerProps = {
9
+ horizontal?: boolean;
10
+ } & HTMLProps<HTMLDivElement>;
11
+ export type ToolbarButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
12
+ active?: boolean;
13
+ activeClassname?: string;
14
+ tooltip?: string;
15
+ buttonSize?: ButtonProps['buttonSize'];
16
+ variant?: ButtonProps['variant'];
17
+ };
18
+ export declare const Toolbar: {
19
+ Wrapper: import('react').ForwardRefExoticComponent<Omit<ToolbarWrapperProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
20
+ Divider: import('react').ForwardRefExoticComponent<Omit<ToolbarDividerProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
21
+ Button: import('react').ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
22
+ active?: boolean | undefined;
23
+ activeClassname?: string | undefined;
24
+ tooltip?: string | undefined;
25
+ buttonSize?: ButtonProps['buttonSize'];
26
+ variant?: ButtonProps['variant'];
27
+ } & import('react').RefAttributes<HTMLButtonElement>>;
28
+ };
@@ -0,0 +1,19 @@
1
+ import { default as React } from 'react';
2
+ import { Editor as CoreEditor } from '@tiptap/core';
3
+ import { Editor } from '@tiptap/react';
4
+ import { EditorState } from '@tiptap/pm/state';
5
+ import { EditorView } from '@tiptap/pm/view';
6
+
7
+ export interface MenuProps {
8
+ editor: Editor;
9
+ appendTo?: React.RefObject<any>;
10
+ shouldHide?: boolean;
11
+ }
12
+ export interface ShouldShowProps {
13
+ editor?: CoreEditor;
14
+ view: EditorView;
15
+ state?: EditorState;
16
+ oldState?: EditorState;
17
+ from?: number;
18
+ to?: number;
19
+ }
@@ -0,0 +1,4 @@
1
+ import { DpageProps } from './props';
2
+
3
+ declare const DdocEditor: ({ isPreviewMode, onPublish, data, togglePreviewMode, }: DpageProps) => import("react/jsx-runtime").JSX.Element;
4
+ export default DdocEditor;
@@ -0,0 +1,12 @@
1
+ import { BubbleMenuProps } from '@tiptap/react';
2
+ import { FC } from 'react';
3
+
4
+ export interface BubbleMenuItem {
5
+ name: string;
6
+ isActive: () => boolean;
7
+ command: () => void;
8
+ icon: any;
9
+ }
10
+ type EditorBubbleMenuProps = Omit<BubbleMenuProps, 'children'>;
11
+ export declare const EditorBubbleMenu: FC<EditorBubbleMenuProps>;
12
+ export {};
@@ -0,0 +1,6 @@
1
+ import { Editor } from '@tiptap/react';
2
+
3
+ declare const EditorToolBar: ({ editor }: {
4
+ editor: Editor;
5
+ }) => import("react/jsx-runtime").JSX.Element;
6
+ export default EditorToolBar;
@@ -0,0 +1,56 @@
1
+ import { default as React, Dispatch, SetStateAction } from 'react';
2
+ import { IEditorTool } from './hooks/use-visibility';
3
+ import { Editor } from '@tiptap/react';
4
+
5
+ interface IEditorToolElement {
6
+ icon: any;
7
+ title: string;
8
+ onClick: () => void;
9
+ isActive: boolean;
10
+ }
11
+ export declare const useEditorToolbar: ({ editor }: {
12
+ editor: Editor;
13
+ }) => {
14
+ toolbar: (IEditorToolElement | null)[];
15
+ toolRef: React.RefObject<HTMLDivElement>;
16
+ toolVisibilty: IEditorTool;
17
+ setToolVisibility: React.Dispatch<React.SetStateAction<IEditorTool>>;
18
+ };
19
+ export declare const TextHighlighter: ({ editor, setVisibility, elementRef, }: {
20
+ editor: Editor;
21
+ elementRef: React.RefObject<HTMLDivElement>;
22
+ setVisibility: Dispatch<SetStateAction<IEditorTool>>;
23
+ }) => import("react/jsx-runtime").JSX.Element;
24
+ export declare const EditorFontFamily: ({ elementRef, editor, setToolVisibility, }: {
25
+ elementRef: React.RefObject<HTMLDivElement>;
26
+ editor: Editor;
27
+ setToolVisibility: Dispatch<SetStateAction<IEditorTool>>;
28
+ }) => import("react/jsx-runtime").JSX.Element;
29
+ export declare const EditorAlignment: ({ elementRef, editor, setToolVisibility, }: {
30
+ elementRef: React.RefObject<HTMLDivElement>;
31
+ editor: Editor;
32
+ setToolVisibility: Dispatch<SetStateAction<IEditorTool>>;
33
+ }) => import("react/jsx-runtime").JSX.Element;
34
+ export declare const EditorList: ({ elementRef, editor, setToolVisibility, }: {
35
+ elementRef: React.RefObject<HTMLDivElement>;
36
+ editor: Editor;
37
+ setToolVisibility: Dispatch<SetStateAction<IEditorTool>>;
38
+ }) => import("react/jsx-runtime").JSX.Element;
39
+ export declare const LinkPopup: ({ elementRef, editor, setToolVisibility, bubbleMenu, setIsLinkPopupOpen, }: {
40
+ elementRef: React.RefObject<HTMLDivElement>;
41
+ editor: Editor;
42
+ setToolVisibility: Dispatch<SetStateAction<IEditorTool>>;
43
+ bubbleMenu?: boolean;
44
+ setIsLinkPopupOpen?: Dispatch<SetStateAction<boolean>>;
45
+ }) => import("react/jsx-runtime").JSX.Element;
46
+ export declare const TextColor: ({ editor, setVisibility, elementRef, }: {
47
+ editor: Editor;
48
+ elementRef: React.RefObject<HTMLDivElement>;
49
+ setVisibility: Dispatch<SetStateAction<IEditorTool>>;
50
+ }) => import("react/jsx-runtime").JSX.Element;
51
+ export declare const TextHeading: ({ editor, setVisibility, elementRef, }: {
52
+ editor: Editor;
53
+ elementRef: React.RefObject<HTMLDivElement>;
54
+ setVisibility: Dispatch<SetStateAction<IEditorTool>>;
55
+ }) => import("react/jsx-runtime").JSX.Element;
56
+ export {};
@@ -0,0 +1,3 @@
1
+ import { NodeViewProps } from '@tiptap/core';
2
+
3
+ export declare const ActionButtonNodeView: ({ node, editor, getPos, }: NodeViewProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { Node } from '@tiptap/core';
2
+
3
+ declare module '@tiptap/core' {
4
+ interface Commands<ReturnType> {
5
+ actionButton: {
6
+ /**
7
+ * Toggle a actionButton
8
+ */
9
+ setActionButton: (option?: string) => ReturnType;
10
+ };
11
+ }
12
+ }
13
+ export interface ActionButtonOptions {
14
+ HTMLAttributes: Record<string, any>;
15
+ }
16
+ export declare const actionButton: Node<ActionButtonOptions, any>;
@@ -0,0 +1 @@
1
+ export * from './action-button';
@@ -0,0 +1,8 @@
1
+ import { Editor } from '@tiptap/core';
2
+ import { Dispatch, SetStateAction } from 'react';
3
+
4
+ export declare const Modal: ({ editor, setShowModal, node, }: {
5
+ editor?: Editor;
6
+ setShowModal: Dispatch<SetStateAction<boolean>>;
7
+ node: any;
8
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { Extension } from '@tiptap/core';
2
+
3
+ declare module '@tiptap/core' {
4
+ interface Commands<ReturnType> {
5
+ customkeymap: {
6
+ /**
7
+ * Select text between node boundaries
8
+ */
9
+ selectTextWithinNodeBoundaries: () => ReturnType;
10
+ };
11
+ }
12
+ }
13
+ declare const CustomKeymap: Extension<any, any>;
14
+ export default CustomKeymap;
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { NodeViewProps } from '@tiptap/react';
3
+
4
+ export declare const DBlockNodeView: React.FC<NodeViewProps>;
@@ -0,0 +1,19 @@
1
+ import { Node } from '@tiptap/core';
2
+
3
+ export interface DBlockOptions {
4
+ HTMLAttributes: Record<string, any>;
5
+ }
6
+ export type ListTypes = 'bulletList' | 'orderedList' | 'taskList';
7
+ declare module '@tiptap/core' {
8
+ interface Commands<ReturnType> {
9
+ dBlock: {
10
+ /**
11
+ * Toggle a dBlock
12
+ */
13
+ setDBlock: (position?: number) => ReturnType;
14
+ mergeDBlocksIntoList: (listType: ListTypes) => ReturnType;
15
+ splitListToDBlocks: (listType: ListTypes) => ReturnType;
16
+ };
17
+ }
18
+ }
19
+ export declare const DBlock: Node<DBlockOptions, any>;
@@ -0,0 +1 @@
1
+ export * from './dblock';
@@ -0,0 +1,5 @@
1
+ import { NodeType } from '@tiptap/pm/model';
2
+ import { InputRule } from '@tiptap/core';
3
+
4
+ export declare const defaultExtensions: (import('@tiptap/core').Extension<any, any> | import('@tiptap/core').Node<any, any> | import('@tiptap/core').Mark<any, any>)[];
5
+ export declare const createInputRule: (pattern: RegExp, data: string, type: NodeType) => InputRule;
@@ -0,0 +1,3 @@
1
+ import { Node } from '@tiptap/core';
2
+
3
+ export declare const Document: Node<any, any>;
@@ -0,0 +1,2 @@
1
+ export declare const Document: import('@tiptap/core').Node<any, any>;
2
+ export default Document;
@@ -0,0 +1 @@
1
+ export * from './document';
@@ -0,0 +1,2 @@
1
+ export declare const HorizontalRule: import('@tiptap/core').Node<import('@tiptap/extension-horizontal-rule').HorizontalRuleOptions, any>;
2
+ export default HorizontalRule;
@@ -0,0 +1,27 @@
1
+ import { Node } from '@tiptap/core';
2
+
3
+ export interface IframeOptions {
4
+ allowFullscreen: boolean;
5
+ HTMLAttributes: {
6
+ [key: string]: any;
7
+ };
8
+ width?: number;
9
+ height?: number;
10
+ }
11
+ declare module '@tiptap/core' {
12
+ interface Commands<ReturnType> {
13
+ iframe: {
14
+ /**
15
+ * Add an iframe
16
+ */
17
+ setIframe: (options: {
18
+ src: string;
19
+ alt?: string;
20
+ title?: string;
21
+ width?: number;
22
+ height?: number;
23
+ }) => ReturnType;
24
+ };
25
+ }
26
+ }
27
+ export declare const Iframe: Node<IframeOptions, any>;
@@ -0,0 +1 @@
1
+ export * from './iframe';
@@ -0,0 +1,17 @@
1
+ import { ResolvedPos, Node } from 'prosemirror-model';
2
+ import { Selection } from 'prosemirror-state';
3
+
4
+ export declare class ColumnSelection extends Selection {
5
+ constructor(selection: Selection);
6
+ _$from: ResolvedPos;
7
+ _$to: ResolvedPos;
8
+ get $from(): ResolvedPos;
9
+ get $to(): ResolvedPos;
10
+ map(): this;
11
+ content(): import('prosemirror-model').Slice;
12
+ eq(other: Selection): boolean;
13
+ toJSON(): any;
14
+ expandSelection(doc: Node): void;
15
+ static create(doc: Node, from: number, to: number): ColumnSelection;
16
+ getFirstNode(): Node | null;
17
+ }
@@ -0,0 +1,4 @@
1
+ import { Node } from '@tiptap/core';
2
+
3
+ export declare const Column: Node<any, any>;
4
+ export default Column;
@@ -0,0 +1,18 @@
1
+ import { Node } from '@tiptap/core';
2
+
3
+ export declare enum ColumnLayout {
4
+ AlignLeft = "align-left",
5
+ AlignRight = "align-right",
6
+ AlignCenter = "align-center"
7
+ }
8
+ declare module '@tiptap/core' {
9
+ interface Commands<ReturnType> {
10
+ columns: {
11
+ unsetColumns: () => ReturnType;
12
+ setColumns: (columns: number) => ReturnType;
13
+ setLayout: (layout: ColumnLayout) => ReturnType;
14
+ };
15
+ }
16
+ }
17
+ export declare const Columns: Node<any, any>;
18
+ export default Columns;
@@ -0,0 +1,11 @@
1
+ import { Extension } from '@tiptap/core';
2
+ import { Column } from './column';
3
+ import { Columns } from './columns';
4
+
5
+ export interface ColumnExtensionOptions {
6
+ column?: boolean;
7
+ columns?: boolean;
8
+ }
9
+ export declare const ColumnExtension: Extension<ColumnExtensionOptions, any>;
10
+ export { Column, Columns };
11
+ export default ColumnExtension;
@@ -0,0 +1,4 @@
1
+ import { MenuProps } from '../../../common/types';
2
+
3
+ export declare const ColumnsMenu: ({ editor, appendTo }: MenuProps) => import("react/jsx-runtime").JSX.Element;
4
+ export default ColumnsMenu;
@@ -0,0 +1 @@
1
+ export * from './columns-menu';
@@ -0,0 +1,22 @@
1
+ import { JSONContent } from '@tiptap/core';
2
+ import { Node, ResolvedPos } from 'prosemirror-model';
3
+
4
+ export declare const buildNode: ({ type, content }: JSONContent) => JSONContent;
5
+ export declare const buildParagraph: ({ content }: Partial<JSONContent>) => JSONContent;
6
+ export declare const buildDBlock: ({ content }: Partial<JSONContent>) => JSONContent;
7
+ export declare const buildColumn: ({ content }: Partial<JSONContent>) => JSONContent;
8
+ export declare const buildColumnBlock: ({ content }: Partial<JSONContent>) => JSONContent;
9
+ export declare const buildNColumns: (n: number) => JSONContent[];
10
+ interface PredicateProps {
11
+ node: Node;
12
+ pos: number;
13
+ start: number;
14
+ }
15
+ export type Predicate = (props: PredicateProps) => boolean;
16
+ export declare const findParentNodeClosestToPos: ($pos: ResolvedPos, predicate: Predicate) => {
17
+ start: number;
18
+ depth: number;
19
+ node: Node;
20
+ pos: number;
21
+ };
22
+ export {};
@@ -0,0 +1 @@
1
+ export * from './resizable-media';
@@ -0,0 +1 @@
1
+ export * from './media-paste-drop-plugin';
@@ -0,0 +1,12 @@
1
+ import { Plugin } from 'prosemirror-state';
2
+
3
+ export type UploadFnType = (image: File) => Promise<string>;
4
+ /**
5
+ * This function creates a Prosemirror plugin that handles pasting and dropping of media files.
6
+ * It accepts an upload function as a parameter which is used to upload the media files.
7
+ * The plugin prevents the default paste and drop event, uploads the media file (if an upload function is provided),
8
+ * creates a new node with the uploaded media file and replaces the current selection with the new node.
9
+ * If no upload function is provided, it reads the media file as DataURL and uses this in the new node.
10
+ * The function returns a new instance of the Plugin.
11
+ */
12
+ export declare const getMediaPasteDropPlugin: (upload: UploadFnType) => Plugin<any>;
@@ -0,0 +1,3 @@
1
+ import { NodeViewProps } from '@tiptap/react';
2
+
3
+ export declare const ResizableMediaNodeView: ({ node, updateAttributes, deleteNode, }: NodeViewProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,27 @@
1
+ import { Node } from '@tiptap/core';
2
+ import { UploadFnType } from './media-paste-drop-plugin';
3
+
4
+ declare module '@tiptap/core' {
5
+ interface Commands<ReturnType> {
6
+ resizableMedia: {
7
+ /**
8
+ * Set media
9
+ */
10
+ setMedia: (options: {
11
+ 'media-type': 'img' | 'video';
12
+ src: string;
13
+ alt?: string;
14
+ title?: string;
15
+ width?: string;
16
+ height?: string;
17
+ }) => ReturnType;
18
+ };
19
+ }
20
+ }
21
+ export interface MediaOptions {
22
+ HTMLAttributes: Record<string, any>;
23
+ uploadFn: UploadFnType;
24
+ }
25
+ export declare const IMAGE_INPUT_REGEX: RegExp;
26
+ export declare const VIDEO_INPUT_REGEX: RegExp;
27
+ export declare const ResizableMedia: Node<MediaOptions, any>;
@@ -0,0 +1,5 @@
1
+ import { Table } from './table';
2
+
3
+ export * from './table';
4
+ export * from './utilities/create-table';
5
+ export default Table;
@@ -0,0 +1,18 @@
1
+ import { Node as ProseMirrorNode } from 'prosemirror-model';
2
+ import { NodeView } from 'prosemirror-view';
3
+
4
+ export declare function updateColumns(node: ProseMirrorNode, colgroup: Element, table: HTMLTableElement, cellMinWidth: number, overrideCol?: number, overrideValue?: string): void;
5
+ export declare class TableView implements NodeView {
6
+ node: ProseMirrorNode;
7
+ cellMinWidth: number;
8
+ dom: Element;
9
+ table: HTMLTableElement;
10
+ colgroup: Element;
11
+ contentDOM: HTMLElement;
12
+ constructor(node: ProseMirrorNode, cellMinWidth: number);
13
+ update(node: ProseMirrorNode): boolean;
14
+ ignoreMutation(mutation: MutationRecord | {
15
+ type: 'selection';
16
+ target: Element;
17
+ }): boolean;
18
+ }
@@ -0,0 +1,56 @@
1
+ import { Node, ParentConfig } from '@tiptap/core';
2
+ import { NodeView } from 'prosemirror-view';
3
+
4
+ export interface TableOptions {
5
+ HTMLAttributes: Record<string, never>;
6
+ resizable: boolean;
7
+ handleWidth: number;
8
+ cellMinWidth: number;
9
+ View: NodeView;
10
+ lastColumnResizable: boolean;
11
+ allowTableNodeSelection: boolean;
12
+ }
13
+ declare module '@tiptap/core' {
14
+ interface Commands<ReturnType> {
15
+ table: {
16
+ insertTable: (options?: {
17
+ rows?: number;
18
+ cols?: number;
19
+ withHeaderRow?: boolean;
20
+ }) => ReturnType;
21
+ addColumnBefore: () => ReturnType;
22
+ addColumnAfter: () => ReturnType;
23
+ deleteColumn: () => ReturnType;
24
+ addRowBefore: () => ReturnType;
25
+ addRowAfter: () => ReturnType;
26
+ deleteRow: () => ReturnType;
27
+ deleteTable: () => ReturnType;
28
+ mergeCells: () => ReturnType;
29
+ splitCell: () => ReturnType;
30
+ toggleHeaderColumn: () => ReturnType;
31
+ toggleHeaderRow: () => ReturnType;
32
+ toggleHeaderCell: () => ReturnType;
33
+ mergeOrSplit: () => ReturnType;
34
+ setCellAttribute: (name: string, value: never) => ReturnType;
35
+ goToNextCell: () => ReturnType;
36
+ goToPreviousCell: () => ReturnType;
37
+ fixTables: () => ReturnType;
38
+ setCellSelection: (position: {
39
+ anchorCell: number;
40
+ headCell?: number;
41
+ }) => ReturnType;
42
+ };
43
+ }
44
+ interface NodeConfig<Options, Storage> {
45
+ /**
46
+ * Table Role
47
+ */
48
+ tableRole?: string | ((this: {
49
+ name: string;
50
+ options: Options;
51
+ storage: Storage;
52
+ parent: ParentConfig<NodeConfig<Options>>['tableRole'];
53
+ }) => string);
54
+ }
55
+ }
56
+ export declare const Table: Node<TableOptions, any>;
@@ -0,0 +1,3 @@
1
+ import { Fragment, Node as ProsemirrorNode, NodeType } from 'prosemirror-model';
2
+
3
+ export declare function createCell(cellType: NodeType, cellContent?: Fragment | ProsemirrorNode | Array<ProsemirrorNode>): ProsemirrorNode | null | undefined;
@@ -0,0 +1,3 @@
1
+ import { Fragment, Node as ProsemirrorNode, Schema } from 'prosemirror-model';
2
+
3
+ export declare function createTable(schema: Schema, rowsCount: number, colsCount: number, withHeaderRow: boolean, cellContent?: Fragment | ProsemirrorNode | Array<ProsemirrorNode>): ProsemirrorNode;
@@ -0,0 +1,3 @@
1
+ import { KeyboardShortcutCommand } from '@tiptap/core';
2
+
3
+ export declare const deleteTableWhenAllCellsSelected: KeyboardShortcutCommand;
@@ -0,0 +1,5 @@
1
+ import { NodeType, Schema } from 'prosemirror-model';
2
+
3
+ export declare function getTableNodeTypes(schema: Schema): {
4
+ [key: string]: NodeType;
5
+ };
@@ -0,0 +1,3 @@
1
+ import { CellSelection } from '@_ueberdosis/prosemirror-tables';
2
+
3
+ export declare function isCellSelection(value: unknown): value is CellSelection;
@@ -0,0 +1,4 @@
1
+ import { TableCell } from './table-cell';
2
+
3
+ export * from './table-cell';
4
+ export default TableCell;
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { NodeViewProps } from '@tiptap/react';
3
+
4
+ export declare const TableCellNodeView: FC<NodeViewProps>;
@@ -0,0 +1,6 @@
1
+ import { Node } from '@tiptap/core';
2
+
3
+ export interface TableCellOptions {
4
+ HTMLAttributes: Record<string, any>;
5
+ }
6
+ export declare const TableCell: Node<TableCellOptions, any>;