@collabchron/notiq 0.3.0 → 1.0.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.
- package/LICENSE +21 -0
- package/README.md +230 -39
- package/dist/CodeActionMenuPlugin-EINOY4U4.mjs +15 -0
- package/dist/DynamicBlockComponent-NRQJ4WW4.mjs +161 -0
- package/dist/EquationComponent-CB6DFIHV.mjs +154 -0
- package/dist/ExcalidrawComponent-XW6646OH.mjs +528 -0
- package/dist/ExcalidrawPlugin-ZFHT62IF.mjs +14 -0
- package/dist/ExportPlugin-V2RLM63S.mjs +11 -0
- package/dist/FloatingLinkEditorPlugin-TRTCMSP4.mjs +12 -0
- package/dist/FloatingTextFormatToolbarPlugin-F2GY6LMI.mjs +30 -0
- package/dist/HintComponet-BRL6EAMS.mjs +217 -0
- package/dist/InlineImageComponent-UWIUWBHI.mjs +453 -0
- package/dist/MobileToolbar-BOOZAMQE.mjs +268 -0
- package/dist/SlashCommand-GMT5JI33.mjs +28 -0
- package/dist/StoryBuilderComponent-JGDBM5JU.mjs +562 -0
- package/{src/components/editor/plugins/TableCellActionMenuPlugin/index.tsx → dist/TableCellActionMenuPlugin-PGK2K3VG.mjs} +667 -759
- package/{src/components/editor/plugins/TableHoverActionsPlugin/index.tsx → dist/TableHoverActionsPlugin-GJVE6VRW.mjs} +258 -314
- package/dist/TemplatePlugin-ZD3QEVTI.mjs +9 -0
- package/dist/ToolbarPlugin-7TOZRD2R.mjs +1547 -0
- package/dist/babel-JZ2EV6AX.mjs +7233 -0
- package/dist/background-color-XZTYLGO2.mjs +362 -0
- package/dist/block-format-YJCV2DIY.mjs +15 -0
- package/dist/chunk-2FNEAMSP.mjs +127 -0
- package/dist/chunk-3CPBODXA.mjs +84 -0
- package/dist/chunk-3G37YKTV.mjs +83 -0
- package/dist/chunk-3JVFG7ER.mjs +184 -0
- package/dist/chunk-456TN7IM.mjs +110 -0
- package/dist/chunk-4EXYCTGJ.mjs +27 -0
- package/{src/utils/getSelectedNode.ts → dist/chunk-4HBCVSE6.mjs} +26 -27
- package/dist/chunk-4MEDW3T6.mjs +125 -0
- package/dist/chunk-4VWFVWYP.mjs +36 -0
- package/dist/chunk-5BAKY5KN.mjs +84 -0
- package/dist/chunk-5QSNIVIG.mjs +333 -0
- package/dist/chunk-64Z3FI7T.mjs +37 -0
- package/{src/components/editor/nodes/Stepper/index.tsx → dist/chunk-6RNZQOH2.mjs} +214 -260
- package/dist/chunk-77KXU36M.mjs +64 -0
- package/dist/chunk-77UA6HYR.mjs +165 -0
- package/dist/chunk-7NZAPJ4G.mjs +102 -0
- package/dist/chunk-7VUMHWWL.mjs +152 -0
- package/dist/chunk-AMMKBSST.mjs +1256 -0
- package/dist/chunk-BIU7WTLX.mjs +95 -0
- package/dist/chunk-EGMI62PP.mjs +83 -0
- package/dist/chunk-EHNQD5KO.mjs +88 -0
- package/dist/chunk-FSM26655.mjs +37 -0
- package/{src/components/editor/nodes/Hint/index.tsx → dist/chunk-G53GLEAY.mjs} +158 -190
- package/dist/chunk-GK35L7UY.mjs +28 -0
- package/dist/chunk-GXYD4VZM.mjs +193 -0
- package/dist/chunk-GYIOYVCN.mjs +538 -0
- package/dist/chunk-GZPNVR7L.mjs +157 -0
- package/dist/chunk-JXDPPUJI.mjs +52 -0
- package/dist/chunk-K36V4SIW.mjs +141 -0
- package/dist/chunk-KJ6AJ44Q.mjs +128 -0
- package/dist/chunk-KJV3FAZ7.mjs +142 -0
- package/{src/components/editor/plugins/ImagesPlugin/index.tsx → dist/chunk-LGG4IUIA.mjs} +189 -222
- package/dist/chunk-LQN3CMKV.mjs +1906 -0
- package/dist/chunk-N3WN46VL.mjs +236 -0
- package/dist/chunk-PBD6LMLC.mjs +366 -0
- package/dist/chunk-POGRR73N.mjs +33 -0
- package/{src/components/editor/utils/editorFormatting.ts → dist/chunk-PZSUSXQG.mjs} +238 -282
- package/dist/chunk-QEIFVK5M.mjs +29 -0
- package/dist/chunk-QHIQKMVN.mjs +427 -0
- package/dist/chunk-TCYK7DM7.mjs +36 -0
- package/dist/chunk-TTHQCW5F.mjs +47 -0
- package/dist/chunk-U47ABU5Z.mjs +53 -0
- package/dist/chunk-WDG7J2DY.mjs +116 -0
- package/dist/chunk-WJRHXI2C.mjs +733 -0
- package/dist/chunk-XLER2DHM.mjs +357 -0
- package/dist/chunk-XWC4TK2N.mjs +315 -0
- package/dist/chunk-YHPNOWFH.mjs +15 -0
- package/dist/chunk-YKC3SO4Z.mjs +32 -0
- package/dist/chunk-YMBXLRW5.mjs +374 -0
- package/dist/chunk-YPHOEJ46.mjs +64 -0
- package/dist/chunk-YUDCJRJM.mjs +25 -0
- package/dist/chunk-Z4EWP7BI.mjs +65 -0
- package/dist/chunk-ZB5LZQKC.mjs +191 -0
- package/dist/chunk-ZJRKATOJ.mjs +65 -0
- package/dist/color-BPKOPQKN.mjs +12 -0
- package/dist/estree-XC56IUFX.mjs +4414 -0
- package/dist/font-FEZ3GKSF.mjs +13 -0
- package/dist/font-size-EK775WRH.mjs +15 -0
- package/dist/html-S3ACX7NI.mjs +2738 -0
- package/dist/image-2PJIAYAT.mjs +993 -0
- package/dist/index.d.mts +145 -0
- package/dist/index.d.ts +145 -0
- package/dist/index.js +57855 -0
- package/dist/index.mjs +1790 -0
- package/dist/insert-gif-SAIDYURE.mjs +100 -0
- package/dist/insert-image-U3RJN3OW.mjs +259 -0
- package/dist/insert-node-5P2CRJ7S.mjs +201 -0
- package/dist/insert-poll-HCPM7MO6.mjs +33 -0
- package/dist/insert-table-24XYUS2W.mjs +66 -0
- package/dist/markdown-SNVBOSRA.mjs +3487 -0
- package/dist/poll-component-2R4MDLHS.mjs +303 -0
- package/dist/postcss-ONF3VDIM.mjs +5051 -0
- package/dist/standalone-EOIALU3M.mjs +2373 -0
- package/dist/stepper-FSARL6X6.mjs +304 -0
- package/dist/styles/notiq.css +1149 -0
- package/dist/text-align-VLECWO4H.mjs +118 -0
- package/dist/text-format-BG5WOOPZ.mjs +16 -0
- package/dist/typescript-AMPI6OVS.mjs +13135 -0
- package/package.json +66 -11
- package/src/styles/notiq.css +1149 -0
- package/src/styles/tailwind-plugin.ts +134 -0
- package/components.json +0 -21
- package/eslint.config.mjs +0 -16
- package/next.config.ts +0 -12
- package/postcss.config.mjs +0 -5
- package/public/file.svg +0 -1
- package/public/globe.svg +0 -1
- package/public/images/icons/plus.svg +0 -10
- package/public/next.svg +0 -1
- package/public/vercel.svg +0 -1
- package/public/window.svg +0 -1
- package/src/app/actions.ts +0 -2
- package/src/app/api/ai/route.ts +0 -175
- package/src/app/api/edgestore/[...edgestore]/route.ts +0 -28
- package/src/app/favicon.ico +0 -0
- package/src/app/globals.css +0 -205
- package/src/app/layout.tsx +0 -38
- package/src/app/page.tsx +0 -12
- package/src/components/editor/Core.tsx +0 -220
- package/src/components/editor/hooks/instructions-messages.ts +0 -300
- package/src/components/editor/hooks/use-mobile.ts +0 -19
- package/src/components/editor/hooks/useReport.ts +0 -67
- package/src/components/editor/hooks/useResizeObservert.ts +0 -22
- package/src/components/editor/index.tsx +0 -39
- package/src/components/editor/lexical-on-change.tsx +0 -28
- package/src/components/editor/nodes/CollapsibleNode/CollapsibleContainerNode.ts +0 -92
- package/src/components/editor/nodes/CollapsibleNode/CollapsibleContentNode.ts +0 -65
- package/src/components/editor/nodes/CollapsibleNode/CollapsibleTitleNode.ts +0 -105
- package/src/components/editor/nodes/EquationNode/EquationComponent.tsx +0 -143
- package/src/components/editor/nodes/EquationNode/EquationNode.tsx +0 -170
- package/src/components/editor/nodes/ExcalidrawNode/ExcalidrawComponent.tsx +0 -228
- package/src/components/editor/nodes/ExcalidrawNode/ExcalidrawImage.tsx +0 -137
- package/src/components/editor/nodes/ExcalidrawNode/ImageResizer.tsx +0 -317
- package/src/components/editor/nodes/ExcalidrawNode/index.tsx +0 -204
- package/src/components/editor/nodes/FigmaNode/FigmaNode.tsx +0 -134
- package/src/components/editor/nodes/Hint/HintComponet.tsx +0 -221
- package/src/components/editor/nodes/ImageNode/index.tsx +0 -328
- package/src/components/editor/nodes/InlineImageNode/InlineImageComponent.tsx +0 -383
- package/src/components/editor/nodes/InlineImageNode/InlineImageNode.css +0 -94
- package/src/components/editor/nodes/InlineImageNode/InlineImageNode.tsx +0 -309
- package/src/components/editor/nodes/LayoutNode/LayoutContainerNode.ts +0 -146
- package/src/components/editor/nodes/LayoutNode/LayoutItemNode.ts +0 -79
- package/src/components/editor/nodes/PollNode/index.tsx +0 -204
- package/src/components/editor/nodes/TweetNode/index.tsx +0 -214
- package/src/components/editor/nodes/index.ts +0 -81
- package/src/components/editor/plugins/AutoEmbedPlugin/index.tsx +0 -350
- package/src/components/editor/plugins/AutoLinkPlugin/index.tsx +0 -56
- package/src/components/editor/plugins/CodeActionMenuPlugin/components/CopyButton.tsx +0 -70
- package/src/components/editor/plugins/CodeActionMenuPlugin/components/PrettierButton.tsx +0 -192
- package/src/components/editor/plugins/CodeActionMenuPlugin/index.tsx +0 -217
- package/src/components/editor/plugins/CodeActionMenuPlugin/utils.ts +0 -26
- package/src/components/editor/plugins/CodeHighlightPlugin/index.ts +0 -21
- package/src/components/editor/plugins/CollapsiblePlugin/Collapsible.css +0 -76
- package/src/components/editor/plugins/CollapsiblePlugin/index.ts +0 -228
- package/src/components/editor/plugins/DragDropPastePlugin/index.tsx +0 -44
- package/src/components/editor/plugins/DraggableBlockPlugin/index.tsx +0 -52
- package/src/components/editor/plugins/EquationsPlugin/index.tsx +0 -85
- package/src/components/editor/plugins/ExcalidrawPlugin/index.tsx +0 -98
- package/src/components/editor/plugins/FigmaPlugin/index.tsx +0 -42
- package/src/components/editor/plugins/FloatingLinkEditorPlugin/index.tsx +0 -445
- package/src/components/editor/plugins/FloatingTextFormatToolbarPlugin/index.tsx +0 -275
- package/src/components/editor/plugins/InlineImagePlugin/index.tsx +0 -351
- package/src/components/editor/plugins/LayoutPlugin/index.tsx +0 -238
- package/src/components/editor/plugins/LinkPlugin/index.tsx +0 -36
- package/src/components/editor/plugins/LinkWithMetaData/index.tsx +0 -271
- package/src/components/editor/plugins/MarkdownShortcutPlugin/index.tsx +0 -11
- package/src/components/editor/plugins/MarkdownTransformers/index.tsx +0 -304
- package/src/components/editor/plugins/PollPlugin/index.tsx +0 -49
- package/src/components/editor/plugins/ShortcutsPlugin/index.tsx +0 -180
- package/src/components/editor/plugins/ShortcutsPlugin/shortcuts.ts +0 -253
- package/src/components/editor/plugins/SlashCommand/index.tsx +0 -621
- package/src/components/editor/plugins/SpeechToTextPlugin/index.ts +0 -127
- package/src/components/editor/plugins/TabFocusPlugin/index.ts +0 -58
- package/src/components/editor/plugins/TableCellResizer/index.tsx +0 -438
- package/src/components/editor/plugins/TablePlugin/index.tsx +0 -99
- package/src/components/editor/plugins/ToolbarPlugin/index.tsx +0 -522
- package/src/components/editor/plugins/TwitterPlugin/index.ts +0 -35
- package/src/components/editor/plugins/YouTubeNode/index.tsx +0 -179
- package/src/components/editor/plugins/YouTubePlugin/index.ts +0 -41
- package/src/components/editor/themes/editor-theme.ts +0 -113
- package/src/components/editor/themes/theme.css +0 -377
- package/src/components/editor/utils/ai.ts +0 -291
- package/src/components/editor/utils/canUseDOM.ts +0 -12
- package/src/components/editor/utils/environment.ts +0 -50
- package/src/components/editor/utils/extract-data.ts +0 -166
- package/src/components/editor/utils/getAllLexicalChildren.ts +0 -13
- package/src/components/editor/utils/getDOMRangeRect.ts +0 -27
- package/src/components/editor/utils/getSelectedNode.ts +0 -27
- package/src/components/editor/utils/gif.ts +0 -29
- package/src/components/editor/utils/invariant.ts +0 -15
- package/src/components/editor/utils/setFloatingElemPosition.ts +0 -51
- package/src/components/editor/utils/setFloatingElemPositionForLinkEditor.ts +0 -40
- package/src/components/editor/utils/setNodePlaceholderFromSelection/getNodePlaceholder.ts +0 -51
- package/src/components/editor/utils/setNodePlaceholderFromSelection/setNodePlaceholderFromSelection.ts +0 -15
- package/src/components/editor/utils/setNodePlaceholderFromSelection/setPlaceholderOnSelection.ts +0 -114
- package/src/components/editor/utils/setNodePlaceholderFromSelection/styles.css +0 -6
- package/src/components/editor/utils/url.ts +0 -109
- package/src/components/editor/utils/useLayoutEffect.ts +0 -13
- package/src/components/providers/QueryProvider.tsx +0 -15
- package/src/components/providers/SharedHistoryContext.tsx +0 -28
- package/src/components/providers/ToolbarContext.tsx +0 -123
- package/src/components/providers/theme-provider.tsx +0 -11
- package/src/components/theme/ModeToggle.tsx +0 -40
- package/src/components/ui/FileInput.tsx +0 -40
- package/src/components/ui/Input.css +0 -32
- package/src/components/ui/Select.css +0 -42
- package/src/components/ui/Select.tsx +0 -36
- package/src/components/ui/TextInput.tsx +0 -48
- package/src/components/ui/ai/ai-button.tsx +0 -574
- package/src/components/ui/ai/border.tsx +0 -99
- package/src/components/ui/ai/placeholder-input-vanish.tsx +0 -282
- package/src/components/ui/button.tsx +0 -89
- package/src/components/ui/card.tsx +0 -76
- package/src/components/ui/checkbox.tsx +0 -30
- package/src/components/ui/command.tsx +0 -153
- package/src/components/ui/dialog/Dialog.css +0 -25
- package/src/components/ui/dialog/Dialog.tsx +0 -34
- package/src/components/ui/dialog.tsx +0 -122
- package/src/components/ui/drop-downs/background-color.tsx +0 -183
- package/src/components/ui/drop-downs/block-format.tsx +0 -159
- package/src/components/ui/drop-downs/code.tsx +0 -42
- package/src/components/ui/drop-downs/color.tsx +0 -177
- package/src/components/ui/drop-downs/font-size.tsx +0 -138
- package/src/components/ui/drop-downs/font.tsx +0 -155
- package/src/components/ui/drop-downs/index.tsx +0 -122
- package/src/components/ui/drop-downs/insert-node.tsx +0 -213
- package/src/components/ui/drop-downs/text-align.tsx +0 -123
- package/src/components/ui/drop-downs/text-format.tsx +0 -104
- package/src/components/ui/dropdown-menu.tsx +0 -201
- package/src/components/ui/equation/EquationEditor.css +0 -38
- package/src/components/ui/equation/EquationEditor.tsx +0 -56
- package/src/components/ui/equation/KatexEquationAlterer.css +0 -41
- package/src/components/ui/equation/KatexEquationAlterer.tsx +0 -83
- package/src/components/ui/equation/KatexRenderer.tsx +0 -66
- package/src/components/ui/excalidraw/ExcalidrawModal.css +0 -64
- package/src/components/ui/excalidraw/ExcalidrawModal.tsx +0 -234
- package/src/components/ui/excalidraw/Modal.css +0 -62
- package/src/components/ui/excalidraw/Modal.tsx +0 -110
- package/src/components/ui/hover-card.tsx +0 -29
- package/src/components/ui/image/error-image.tsx +0 -17
- package/src/components/ui/image/file-upload.tsx +0 -240
- package/src/components/ui/image/image-resizer.tsx +0 -297
- package/src/components/ui/image/image-toolbar.tsx +0 -264
- package/src/components/ui/image/index.tsx +0 -408
- package/src/components/ui/image/lazy-image.tsx +0 -68
- package/src/components/ui/image/lazy-video.tsx +0 -71
- package/src/components/ui/input.tsx +0 -22
- package/src/components/ui/models/custom-dialog.tsx +0 -320
- package/src/components/ui/models/insert-gif.tsx +0 -90
- package/src/components/ui/models/insert-image.tsx +0 -52
- package/src/components/ui/models/insert-poll.tsx +0 -29
- package/src/components/ui/models/insert-table.tsx +0 -62
- package/src/components/ui/models/use-model.tsx +0 -91
- package/src/components/ui/poll/poll-component.tsx +0 -304
- package/src/components/ui/popover.tsx +0 -33
- package/src/components/ui/progress.tsx +0 -28
- package/src/components/ui/scroll-area.tsx +0 -48
- package/src/components/ui/separator.tsx +0 -31
- package/src/components/ui/skeleton.tsx +0 -15
- package/src/components/ui/sonner.tsx +0 -31
- package/src/components/ui/stepper/step.tsx +0 -179
- package/src/components/ui/stepper/stepper.tsx +0 -89
- package/src/components/ui/textarea.tsx +0 -22
- package/src/components/ui/toggle.tsx +0 -71
- package/src/components/ui/tooltip.tsx +0 -32
- package/src/components/ui/write/text-format-floting-toolbar.tsx +0 -346
- package/src/lib/edgestore.ts +0 -9
- package/src/lib/pinecone-client.ts +0 -0
- package/src/lib/utils.ts +0 -6
- package/src/utils/docSerialization.ts +0 -77
- package/src/utils/emoji-list.ts +0 -16615
- package/src/utils/getDOMRangeRect.ts +0 -27
- package/src/utils/getThemeSelector.ts +0 -25
- package/src/utils/isMobileWidth.ts +0 -7
- package/src/utils/joinClasses.ts +0 -13
- package/src/utils/setFloatingElemPosition.ts +0 -74
- package/src/utils/setFloatingElemPositionForLinkEditor.ts +0 -46
- package/src/utils/swipe.ts +0 -127
- package/src/utils/url.ts +0 -38
- package/tsconfig.json +0 -27
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import React__default, { ReactNode } from 'react';
|
|
3
|
+
import { ElementFormatType } from 'lexical';
|
|
4
|
+
import { HistoryState } from '@lexical/react/LexicalHistoryPlugin';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Configuration for AI features in the Notiq editor.
|
|
8
|
+
*/
|
|
9
|
+
interface AIConfig {
|
|
10
|
+
/**
|
|
11
|
+
* The API endpoint for AI completions. Defaults to "/api/ai".
|
|
12
|
+
*/
|
|
13
|
+
apiEndpoint?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Hook to access the current AI configuration.
|
|
17
|
+
*/
|
|
18
|
+
declare const useAI: () => AIConfig;
|
|
19
|
+
/**
|
|
20
|
+
* Provider component for AI configuration.
|
|
21
|
+
*/
|
|
22
|
+
declare const AIProvider: ({ config, children }: {
|
|
23
|
+
config?: AIConfig;
|
|
24
|
+
children: ReactNode;
|
|
25
|
+
}) => React__default.JSX.Element;
|
|
26
|
+
|
|
27
|
+
interface UploadResponse {
|
|
28
|
+
url: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A function that handles file uploads.
|
|
32
|
+
* @param file The file to upload.
|
|
33
|
+
* @param onProgress Callback to report upload progress (0-100).
|
|
34
|
+
* @returns A promise that resolves to an object containing the uploaded file's URL.
|
|
35
|
+
*/
|
|
36
|
+
type UploadHandler = (file: File, onProgress?: (progress: number) => void) => Promise<UploadResponse>;
|
|
37
|
+
interface UploadConfig {
|
|
38
|
+
/**
|
|
39
|
+
* Custom upload handler. If not provided, the editor will attempt to use its default
|
|
40
|
+
* (which currently depends on EdgeStore if configured).
|
|
41
|
+
*/
|
|
42
|
+
uploadHandler?: UploadHandler;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Hook to access the current Upload configuration.
|
|
46
|
+
*/
|
|
47
|
+
declare const useUpload: () => UploadConfig | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Provider component for Upload configuration.
|
|
50
|
+
*/
|
|
51
|
+
declare const UploadProvider: ({ config, children }: {
|
|
52
|
+
config?: UploadConfig;
|
|
53
|
+
children: ReactNode;
|
|
54
|
+
}) => React__default.JSX.Element;
|
|
55
|
+
|
|
56
|
+
type ToolbarItem = "undo" | "redo" | "block-format" | "font-family" | "font-size" | "bold" | "italic" | "underline" | "code" | "link" | "color" | "bg-color" | "text-format" | "insert" | "align" | "speech" | "template" | "download" | "export-md" | "export-pdf" | "separator";
|
|
57
|
+
type ToolbarConfig = {
|
|
58
|
+
items?: ToolbarItem[];
|
|
59
|
+
className?: string;
|
|
60
|
+
itemClassName?: string;
|
|
61
|
+
activeItemClassName?: string;
|
|
62
|
+
mobileClassName?: string;
|
|
63
|
+
mobileItemClassName?: string;
|
|
64
|
+
};
|
|
65
|
+
declare function Editor({ isEditable, content, aiConfig, uploadConfig, toolbarConfig, }: {
|
|
66
|
+
isEditable: boolean;
|
|
67
|
+
content?: unknown;
|
|
68
|
+
aiConfig?: AIConfig;
|
|
69
|
+
uploadConfig?: UploadConfig;
|
|
70
|
+
toolbarConfig?: ToolbarConfig;
|
|
71
|
+
}): React__default.JSX.Element;
|
|
72
|
+
|
|
73
|
+
declare const MIN_ALLOWED_FONT_SIZE = 8;
|
|
74
|
+
declare const MAX_ALLOWED_FONT_SIZE = 72;
|
|
75
|
+
declare const DEFAULT_FONT_SIZE = 15;
|
|
76
|
+
declare const rootTypeToRootName: {
|
|
77
|
+
root: string;
|
|
78
|
+
table: string;
|
|
79
|
+
};
|
|
80
|
+
declare const blockTypeToBlockName: {
|
|
81
|
+
bullet: string;
|
|
82
|
+
check: string;
|
|
83
|
+
code: string;
|
|
84
|
+
h1: string;
|
|
85
|
+
h2: string;
|
|
86
|
+
h3: string;
|
|
87
|
+
h4: string;
|
|
88
|
+
h5: string;
|
|
89
|
+
h6: string;
|
|
90
|
+
number: string;
|
|
91
|
+
paragraph: string;
|
|
92
|
+
quote: string;
|
|
93
|
+
};
|
|
94
|
+
declare const INITIAL_TOOLBAR_STATE: {
|
|
95
|
+
bgColor: string;
|
|
96
|
+
blockType: keyof typeof blockTypeToBlockName;
|
|
97
|
+
canRedo: boolean;
|
|
98
|
+
canUndo: boolean;
|
|
99
|
+
codeLanguage: string;
|
|
100
|
+
elementFormat: ElementFormatType;
|
|
101
|
+
fontColor: string;
|
|
102
|
+
fontFamily: string;
|
|
103
|
+
fontSize: string;
|
|
104
|
+
fontSizeInputValue: string;
|
|
105
|
+
isBold: boolean;
|
|
106
|
+
isCode: boolean;
|
|
107
|
+
isImageCaption: boolean;
|
|
108
|
+
isItalic: boolean;
|
|
109
|
+
isLink: boolean;
|
|
110
|
+
isRTL: boolean;
|
|
111
|
+
isStrikethrough: boolean;
|
|
112
|
+
isSubscript: boolean;
|
|
113
|
+
isSuperscript: boolean;
|
|
114
|
+
isUnderline: boolean;
|
|
115
|
+
isLowercase: boolean;
|
|
116
|
+
isUppercase: boolean;
|
|
117
|
+
isCapitalize: boolean;
|
|
118
|
+
rootType: keyof typeof rootTypeToRootName;
|
|
119
|
+
};
|
|
120
|
+
type ToolbarState = typeof INITIAL_TOOLBAR_STATE;
|
|
121
|
+
type ToolbarStateKey = keyof ToolbarState;
|
|
122
|
+
type ToolbarStateValue<Key extends ToolbarStateKey> = ToolbarState[Key];
|
|
123
|
+
type ContextShape$1 = {
|
|
124
|
+
toolbarState: ToolbarState;
|
|
125
|
+
updateToolbarState<Key extends ToolbarStateKey>(key: Key, value: ToolbarStateValue<Key>): void;
|
|
126
|
+
};
|
|
127
|
+
declare const ToolbarContext: ({ children, }: {
|
|
128
|
+
children: ReactNode;
|
|
129
|
+
}) => React__default.JSX.Element;
|
|
130
|
+
declare const useToolbarState: () => ContextShape$1;
|
|
131
|
+
|
|
132
|
+
type ContextShape = {
|
|
133
|
+
historyState?: HistoryState;
|
|
134
|
+
};
|
|
135
|
+
declare const SharedHistoryContext: ({ children, }: {
|
|
136
|
+
children: ReactNode;
|
|
137
|
+
}) => React.JSX.Element;
|
|
138
|
+
declare const useSharedHistoryContext: () => ContextShape;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* A Tailwind CSS plugin that adds Notiq's custom theme variables and styles.
|
|
142
|
+
*/
|
|
143
|
+
declare const notiqPlugin: any;
|
|
144
|
+
|
|
145
|
+
export { type AIConfig, AIProvider, type ContextShape$1 as ContextShape, DEFAULT_FONT_SIZE, Editor, MAX_ALLOWED_FONT_SIZE, MIN_ALLOWED_FONT_SIZE, SharedHistoryContext, type ToolbarConfig, ToolbarContext, type ToolbarItem, type UploadConfig, type UploadHandler, UploadProvider, type UploadResponse, blockTypeToBlockName, notiqPlugin, useAI, useSharedHistoryContext, useToolbarState, useUpload };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import React__default, { ReactNode } from 'react';
|
|
3
|
+
import { ElementFormatType } from 'lexical';
|
|
4
|
+
import { HistoryState } from '@lexical/react/LexicalHistoryPlugin';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Configuration for AI features in the Notiq editor.
|
|
8
|
+
*/
|
|
9
|
+
interface AIConfig {
|
|
10
|
+
/**
|
|
11
|
+
* The API endpoint for AI completions. Defaults to "/api/ai".
|
|
12
|
+
*/
|
|
13
|
+
apiEndpoint?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Hook to access the current AI configuration.
|
|
17
|
+
*/
|
|
18
|
+
declare const useAI: () => AIConfig;
|
|
19
|
+
/**
|
|
20
|
+
* Provider component for AI configuration.
|
|
21
|
+
*/
|
|
22
|
+
declare const AIProvider: ({ config, children }: {
|
|
23
|
+
config?: AIConfig;
|
|
24
|
+
children: ReactNode;
|
|
25
|
+
}) => React__default.JSX.Element;
|
|
26
|
+
|
|
27
|
+
interface UploadResponse {
|
|
28
|
+
url: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A function that handles file uploads.
|
|
32
|
+
* @param file The file to upload.
|
|
33
|
+
* @param onProgress Callback to report upload progress (0-100).
|
|
34
|
+
* @returns A promise that resolves to an object containing the uploaded file's URL.
|
|
35
|
+
*/
|
|
36
|
+
type UploadHandler = (file: File, onProgress?: (progress: number) => void) => Promise<UploadResponse>;
|
|
37
|
+
interface UploadConfig {
|
|
38
|
+
/**
|
|
39
|
+
* Custom upload handler. If not provided, the editor will attempt to use its default
|
|
40
|
+
* (which currently depends on EdgeStore if configured).
|
|
41
|
+
*/
|
|
42
|
+
uploadHandler?: UploadHandler;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Hook to access the current Upload configuration.
|
|
46
|
+
*/
|
|
47
|
+
declare const useUpload: () => UploadConfig | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Provider component for Upload configuration.
|
|
50
|
+
*/
|
|
51
|
+
declare const UploadProvider: ({ config, children }: {
|
|
52
|
+
config?: UploadConfig;
|
|
53
|
+
children: ReactNode;
|
|
54
|
+
}) => React__default.JSX.Element;
|
|
55
|
+
|
|
56
|
+
type ToolbarItem = "undo" | "redo" | "block-format" | "font-family" | "font-size" | "bold" | "italic" | "underline" | "code" | "link" | "color" | "bg-color" | "text-format" | "insert" | "align" | "speech" | "template" | "download" | "export-md" | "export-pdf" | "separator";
|
|
57
|
+
type ToolbarConfig = {
|
|
58
|
+
items?: ToolbarItem[];
|
|
59
|
+
className?: string;
|
|
60
|
+
itemClassName?: string;
|
|
61
|
+
activeItemClassName?: string;
|
|
62
|
+
mobileClassName?: string;
|
|
63
|
+
mobileItemClassName?: string;
|
|
64
|
+
};
|
|
65
|
+
declare function Editor({ isEditable, content, aiConfig, uploadConfig, toolbarConfig, }: {
|
|
66
|
+
isEditable: boolean;
|
|
67
|
+
content?: unknown;
|
|
68
|
+
aiConfig?: AIConfig;
|
|
69
|
+
uploadConfig?: UploadConfig;
|
|
70
|
+
toolbarConfig?: ToolbarConfig;
|
|
71
|
+
}): React__default.JSX.Element;
|
|
72
|
+
|
|
73
|
+
declare const MIN_ALLOWED_FONT_SIZE = 8;
|
|
74
|
+
declare const MAX_ALLOWED_FONT_SIZE = 72;
|
|
75
|
+
declare const DEFAULT_FONT_SIZE = 15;
|
|
76
|
+
declare const rootTypeToRootName: {
|
|
77
|
+
root: string;
|
|
78
|
+
table: string;
|
|
79
|
+
};
|
|
80
|
+
declare const blockTypeToBlockName: {
|
|
81
|
+
bullet: string;
|
|
82
|
+
check: string;
|
|
83
|
+
code: string;
|
|
84
|
+
h1: string;
|
|
85
|
+
h2: string;
|
|
86
|
+
h3: string;
|
|
87
|
+
h4: string;
|
|
88
|
+
h5: string;
|
|
89
|
+
h6: string;
|
|
90
|
+
number: string;
|
|
91
|
+
paragraph: string;
|
|
92
|
+
quote: string;
|
|
93
|
+
};
|
|
94
|
+
declare const INITIAL_TOOLBAR_STATE: {
|
|
95
|
+
bgColor: string;
|
|
96
|
+
blockType: keyof typeof blockTypeToBlockName;
|
|
97
|
+
canRedo: boolean;
|
|
98
|
+
canUndo: boolean;
|
|
99
|
+
codeLanguage: string;
|
|
100
|
+
elementFormat: ElementFormatType;
|
|
101
|
+
fontColor: string;
|
|
102
|
+
fontFamily: string;
|
|
103
|
+
fontSize: string;
|
|
104
|
+
fontSizeInputValue: string;
|
|
105
|
+
isBold: boolean;
|
|
106
|
+
isCode: boolean;
|
|
107
|
+
isImageCaption: boolean;
|
|
108
|
+
isItalic: boolean;
|
|
109
|
+
isLink: boolean;
|
|
110
|
+
isRTL: boolean;
|
|
111
|
+
isStrikethrough: boolean;
|
|
112
|
+
isSubscript: boolean;
|
|
113
|
+
isSuperscript: boolean;
|
|
114
|
+
isUnderline: boolean;
|
|
115
|
+
isLowercase: boolean;
|
|
116
|
+
isUppercase: boolean;
|
|
117
|
+
isCapitalize: boolean;
|
|
118
|
+
rootType: keyof typeof rootTypeToRootName;
|
|
119
|
+
};
|
|
120
|
+
type ToolbarState = typeof INITIAL_TOOLBAR_STATE;
|
|
121
|
+
type ToolbarStateKey = keyof ToolbarState;
|
|
122
|
+
type ToolbarStateValue<Key extends ToolbarStateKey> = ToolbarState[Key];
|
|
123
|
+
type ContextShape$1 = {
|
|
124
|
+
toolbarState: ToolbarState;
|
|
125
|
+
updateToolbarState<Key extends ToolbarStateKey>(key: Key, value: ToolbarStateValue<Key>): void;
|
|
126
|
+
};
|
|
127
|
+
declare const ToolbarContext: ({ children, }: {
|
|
128
|
+
children: ReactNode;
|
|
129
|
+
}) => React__default.JSX.Element;
|
|
130
|
+
declare const useToolbarState: () => ContextShape$1;
|
|
131
|
+
|
|
132
|
+
type ContextShape = {
|
|
133
|
+
historyState?: HistoryState;
|
|
134
|
+
};
|
|
135
|
+
declare const SharedHistoryContext: ({ children, }: {
|
|
136
|
+
children: ReactNode;
|
|
137
|
+
}) => React.JSX.Element;
|
|
138
|
+
declare const useSharedHistoryContext: () => ContextShape;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* A Tailwind CSS plugin that adds Notiq's custom theme variables and styles.
|
|
142
|
+
*/
|
|
143
|
+
declare const notiqPlugin: any;
|
|
144
|
+
|
|
145
|
+
export { type AIConfig, AIProvider, type ContextShape$1 as ContextShape, DEFAULT_FONT_SIZE, Editor, MAX_ALLOWED_FONT_SIZE, MIN_ALLOWED_FONT_SIZE, SharedHistoryContext, type ToolbarConfig, ToolbarContext, type ToolbarItem, type UploadConfig, type UploadHandler, UploadProvider, type UploadResponse, blockTypeToBlockName, notiqPlugin, useAI, useSharedHistoryContext, useToolbarState, useUpload };
|