@trycourier/react-designer 0.0.0-canary-20250424162557
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 +402 -0
- package/dist/cjs/index.css +2 -0
- package/dist/cjs/index.css.map +7 -0
- package/dist/cjs/index.js +187 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/styles.css +3151 -0
- package/dist/components/BrandEditor/BrandEditor.d.ts +6 -0
- package/dist/components/BrandEditor/BrandEditor.types.d.ts +46 -0
- package/dist/components/BrandEditor/Editor/BrandFooter/BrandFooter.d.ts +13 -0
- package/dist/components/BrandEditor/Editor/BrandFooter/index.d.ts +1 -0
- package/dist/components/BrandEditor/Editor/Editor.d.ts +48 -0
- package/dist/components/BrandEditor/Editor/LogoUploader/LogoUploader.d.ts +4 -0
- package/dist/components/BrandEditor/Editor/LogoUploader/index.d.ts +1 -0
- package/dist/components/BrandEditor/Editor/SideBar/SideBar.d.ts +7 -0
- package/dist/components/BrandEditor/Editor/SideBar/index.d.ts +1 -0
- package/dist/components/BrandEditor/Editor/index.d.ts +1 -0
- package/dist/components/BrandEditor/Editor/useBlockEditor.d.ts +23 -0
- package/dist/components/BrandEditor/index.d.ts +1 -0
- package/dist/components/BrandEditor/store.d.ts +34 -0
- package/dist/components/ElementalValue/ElementalValue.d.ts +8 -0
- package/dist/components/ElementalValue/index.d.ts +1 -0
- package/dist/components/Providers/BrandProvider.d.ts +14 -0
- package/dist/components/Providers/Providers.types.d.ts +8 -0
- package/dist/components/Providers/TemplateProvider.d.ts +18 -0
- package/dist/components/Providers/api/brand.d.ts +6 -0
- package/dist/components/Providers/api/common.d.ts +5 -0
- package/dist/components/Providers/api/index.d.ts +3 -0
- package/dist/components/Providers/api/template.d.ts +6 -0
- package/dist/components/Providers/index.d.ts +3 -0
- package/dist/components/Providers/store.d.ts +116 -0
- package/dist/components/TemplateEditor/Editor/Editor.d.ts +11 -0
- package/dist/components/TemplateEditor/Editor/SideBar/SideBar.d.ts +7 -0
- package/dist/components/TemplateEditor/Editor/SideBar/SideBarItem/SideBarItem.d.ts +12 -0
- package/dist/components/TemplateEditor/Editor/SideBar/SideBarItem/index.d.ts +1 -0
- package/dist/components/TemplateEditor/Editor/SideBar/SideBarItemDetails/SideBarItemDetails.d.ts +8 -0
- package/dist/components/TemplateEditor/Editor/SideBar/SideBarItemDetails/index.d.ts +1 -0
- package/dist/components/TemplateEditor/Editor/SideBar/SideBarSortableItemWrapper/SideBarSortableItemWrapper.d.ts +30 -0
- package/dist/components/TemplateEditor/Editor/SideBar/SideBarSortableItemWrapper/index.d.ts +1 -0
- package/dist/components/TemplateEditor/Editor/SideBar/index.d.ts +1 -0
- package/dist/components/TemplateEditor/Editor/index.d.ts +1 -0
- package/dist/components/TemplateEditor/Editor/useBlockEditor.d.ts +23 -0
- package/dist/components/TemplateEditor/TemplateEditor.d.ts +15 -0
- package/dist/components/TemplateEditor/index.d.ts +1 -0
- package/dist/components/TemplateEditor/store.d.ts +7 -0
- package/dist/components/extensions/Blockquote/Blockquote.d.ts +4 -0
- package/dist/components/extensions/Blockquote/Blockquote.types.d.ts +24 -0
- package/dist/components/extensions/Blockquote/BlockquoteComponent.d.ts +5 -0
- package/dist/components/extensions/Blockquote/BlockquoteForm.d.ts +8 -0
- package/dist/components/extensions/Blockquote/index.d.ts +3 -0
- package/dist/components/extensions/Button/Button.d.ts +14 -0
- package/dist/components/extensions/Button/Button.types.d.ts +63 -0
- package/dist/components/extensions/Button/ButtonComponent.d.ts +11 -0
- package/dist/components/extensions/Button/ButtonForm.d.ts +8 -0
- package/dist/components/extensions/Button/ButtonIcon.d.ts +6 -0
- package/dist/components/extensions/Button/index.d.ts +3 -0
- package/dist/components/extensions/Divider/Divider.d.ts +12 -0
- package/dist/components/extensions/Divider/Divider.types.d.ts +27 -0
- package/dist/components/extensions/Divider/DividerComponent.d.ts +9 -0
- package/dist/components/extensions/Divider/DividerForm.d.ts +8 -0
- package/dist/components/extensions/Divider/index.d.ts +4 -0
- package/dist/components/extensions/Document/Document.d.ts +2 -0
- package/dist/components/extensions/Document/index.d.ts +1 -0
- package/dist/components/extensions/DragPlaceholder/DragPlaceholder.d.ts +17 -0
- package/dist/components/extensions/DragPlaceholder/DragPlaceholderComponent.d.ts +3 -0
- package/dist/components/extensions/DragPlaceholder/index.d.ts +2 -0
- package/dist/components/extensions/FileHandler/FileHandler.d.ts +11 -0
- package/dist/components/extensions/FileHandler/index.d.ts +1 -0
- package/dist/components/extensions/Heading/Heading.d.ts +19 -0
- package/dist/components/extensions/Heading/index.d.ts +1 -0
- package/dist/components/extensions/Image/Image.d.ts +2 -0
- package/dist/components/extensions/Image/index.d.ts +1 -0
- package/dist/components/extensions/ImageBlock/ImageBlock.d.ts +17 -0
- package/dist/components/extensions/ImageBlock/ImageBlock.types.d.ts +47 -0
- package/dist/components/extensions/ImageBlock/components/ImageBlockForm.d.ts +7 -0
- package/dist/components/extensions/ImageBlock/components/ImageBlockMenu.d.ts +8 -0
- package/dist/components/extensions/ImageBlock/components/ImageBlockView.d.ts +13 -0
- package/dist/components/extensions/ImageBlock/components/ImageBlockWidth.d.ts +5 -0
- package/dist/components/extensions/ImageBlock/index.d.ts +4 -0
- package/dist/components/extensions/Link/Link.d.ts +2 -0
- package/dist/components/extensions/Link/LinkForm.d.ts +12 -0
- package/dist/components/extensions/Link/index.d.ts +2 -0
- package/dist/components/extensions/Paragraph/Paragraph.d.ts +13 -0
- package/dist/components/extensions/Paragraph/index.d.ts +1 -0
- package/dist/components/extensions/Selection/Selection.d.ts +16 -0
- package/dist/components/extensions/Selection/index.d.ts +1 -0
- package/dist/components/extensions/SlashMenu/MenuList.d.ts +2 -0
- package/dist/components/extensions/SlashMenu/SlashMenu.d.ts +2 -0
- package/dist/components/extensions/SlashMenu/SlashMenu.types.d.ts +19 -0
- package/dist/components/extensions/SlashMenu/commands.d.ts +2 -0
- package/dist/components/extensions/SlashMenu/index.d.ts +2 -0
- package/dist/components/extensions/TextBlock/TextBlock.types.d.ts +48 -0
- package/dist/components/extensions/TextBlock/TextBlockComponent.d.ts +10 -0
- package/dist/components/extensions/TextBlock/TextBlockForm.d.ts +8 -0
- package/dist/components/extensions/TextBlock/index.d.ts +3 -0
- package/dist/components/extensions/UniqueId/UniqueId.d.ts +14 -0
- package/dist/components/extensions/UniqueId/index.d.ts +1 -0
- package/dist/components/extensions/Variable/Variable.d.ts +4 -0
- package/dist/components/extensions/Variable/Variable.types.d.ts +40 -0
- package/dist/components/extensions/Variable/VariableSuggestions.d.ts +7 -0
- package/dist/components/extensions/Variable/VariableView.d.ts +3 -0
- package/dist/components/extensions/Variable/index.d.ts +2 -0
- package/dist/components/extensions/Variable/suggestion.d.ts +2 -0
- package/dist/components/extensions/extension-kit.d.ts +9 -0
- package/dist/components/extensions/index.d.ts +23 -0
- package/dist/components/hooks/index.d.ts +1 -0
- package/dist/components/hooks/useNodeAttributes.d.ts +13 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/ui/Blocks/Block.d.ts +7 -0
- package/dist/components/ui/Blocks/BlockquoteBlock/BlockquoteBlock.d.ts +2 -0
- package/dist/components/ui/Blocks/BlockquoteBlock/index.d.ts +1 -0
- package/dist/components/ui/Blocks/ButtonBlock/ButtonBlock.d.ts +3 -0
- package/dist/components/ui/Blocks/ButtonBlock/index.d.ts +1 -0
- package/dist/components/ui/Blocks/DividerBlock/DividerBlock.d.ts +3 -0
- package/dist/components/ui/Blocks/DividerBlock/index.d.ts +1 -0
- package/dist/components/ui/Blocks/HeadingBlock/Heading.d.ts +3 -0
- package/dist/components/ui/Blocks/HeadingBlock/index.d.ts +1 -0
- package/dist/components/ui/Blocks/ImageBlock/ImageBlock.d.ts +3 -0
- package/dist/components/ui/Blocks/ImageBlock/index.d.ts +1 -0
- package/dist/components/ui/Blocks/SpacerBlock/SpacerBlock.d.ts +2 -0
- package/dist/components/ui/Blocks/SpacerBlock/index.d.ts +1 -0
- package/dist/components/ui/Blocks/TextBlock/TextBlock.d.ts +3 -0
- package/dist/components/ui/Blocks/TextBlock/index.d.ts +1 -0
- package/dist/components/ui/Blocks/index.d.ts +8 -0
- package/dist/components/ui/ContentIcon/ContentIcon.d.ts +7 -0
- package/dist/components/ui/ContentIcon/index.d.ts +1 -0
- package/dist/components/ui/ContentItemMenu/ContentItemMenu.d.ts +5 -0
- package/dist/components/ui/ContentItemMenu/hooks/useContentItemActions.d.ts +10 -0
- package/dist/components/ui/ContentItemMenu/hooks/useData.d.ts +13 -0
- package/dist/components/ui/ContentItemMenu/index.d.ts +1 -0
- package/dist/components/ui/Dropdown/Dropdown.d.ts +11 -0
- package/dist/components/ui/Dropdown/index.d.ts +1 -0
- package/dist/components/ui/EditorLayout/EditorLayout.d.ts +6 -0
- package/dist/components/ui/EditorLayout/index.d.ts +1 -0
- package/dist/components/ui/FormHeader/FormHeader.d.ts +5 -0
- package/dist/components/ui/FormHeader/index.d.ts +1 -0
- package/dist/components/ui/Handle/Handle.d.ts +1 -0
- package/dist/components/ui/Handle/index.d.ts +1 -0
- package/dist/components/ui/Header/Header.d.ts +5 -0
- package/dist/components/ui/Header/index.d.ts +1 -0
- package/dist/components/ui/Loader/Loader.d.ts +3 -0
- package/dist/components/ui/Loader/index.d.ts +1 -0
- package/dist/components/ui/Panel/index.d.ts +25 -0
- package/dist/components/ui/PreviewPanel/PreviewPanel.d.ts +6 -0
- package/dist/components/ui/PreviewPanel/index.d.ts +1 -0
- package/dist/components/ui/SortableItemWrapper/SortableItemWrapper.d.ts +26 -0
- package/dist/components/ui/SortableItemWrapper/index.d.ts +1 -0
- package/dist/components/ui/Spinner/Spinner.d.ts +2 -0
- package/dist/components/ui/Spinner/index.d.ts +1 -0
- package/dist/components/ui/Status/Status.d.ts +7 -0
- package/dist/components/ui/Status/index.d.ts +1 -0
- package/dist/components/ui/Surface.d.ts +6 -0
- package/dist/components/ui/TextInput/TextInput.d.ts +9 -0
- package/dist/components/ui/TextInput/index.d.ts +2 -0
- package/dist/components/ui/TextMenu/TextMenu.d.ts +5 -0
- package/dist/components/ui/TextMenu/components/ContentTypePicker.d.ts +22 -0
- package/dist/components/ui/TextMenu/components/index.d.ts +1 -0
- package/dist/components/ui/TextMenu/config.d.ts +20 -0
- package/dist/components/ui/TextMenu/hooks/useTextmenuCommands.d.ts +14 -0
- package/dist/components/ui/TextMenu/hooks/useTextmenuContentTypes.d.ts +3 -0
- package/dist/components/ui/TextMenu/hooks/useTextmenuStates.d.ts +18 -0
- package/dist/components/ui/TextMenu/index.d.ts +1 -0
- package/dist/components/ui/TextMenu/store.d.ts +89 -0
- package/dist/components/ui/Toggle/Toggle.d.ts +6 -0
- package/dist/components/ui/Toggle/index.d.ts +1 -0
- package/dist/components/ui/Toolbar.d.ts +27 -0
- package/dist/components/ui/Tooltip/index.d.ts +3 -0
- package/dist/components/ui/Tooltip/types.d.ts +15 -0
- package/dist/components/ui/index.d.ts +6 -0
- package/dist/components/ui-kit/Button/Button.d.ts +19 -0
- package/dist/components/ui-kit/Button/index.d.ts +1 -0
- package/dist/components/ui-kit/Divider/Divider.d.ts +2 -0
- package/dist/components/ui-kit/Divider/index.d.ts +1 -0
- package/dist/components/ui-kit/DropdownMenu/DropdownMenu.d.ts +29 -0
- package/dist/components/ui-kit/DropdownMenu/index.d.ts +1 -0
- package/dist/components/ui-kit/Form/Form.d.ts +23 -0
- package/dist/components/ui-kit/Form/index.d.ts +1 -0
- package/dist/components/ui-kit/Icon/ArrowUpIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/BinIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/BoldIcon.d.ts +2 -0
- package/dist/components/ui-kit/Icon/BorderRadiusIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/BorderWidthIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/BulletListIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/CenterAlignIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/CloseIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/ColorIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/CopyIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/DesktopIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/DistributeIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/DownIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/DuplicateIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/FacebookIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/FontSizeIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/H1Icon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/H2Icon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/H3Icon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/Icon.d.ts +9 -0
- package/dist/components/ui-kit/Icon/InstagramIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/ItalicIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/LeftAlignIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/LetterSpacingIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/LineHeightIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/LinkIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/LinkedinIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/MediumIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/MobileIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/NumberedListIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/PaddingHorizontalIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/PaddingVerticalIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/ParagraphIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/QuoteIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/RemoveFormattingIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/RightAlignIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/RightArrowIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/StrikethroughIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/UnderlineIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/UpIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/VariableIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/XIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/index.d.ts +42 -0
- package/dist/components/ui-kit/Input/Input.d.ts +6 -0
- package/dist/components/ui-kit/Input/index.d.ts +1 -0
- package/dist/components/ui-kit/InputColor/ColorPicker.d.ts +9 -0
- package/dist/components/ui-kit/InputColor/InputColor.d.ts +12 -0
- package/dist/components/ui-kit/InputColor/index.d.ts +1 -0
- package/dist/components/ui-kit/Label/Label.d.ts +6 -0
- package/dist/components/ui-kit/Label/index.d.ts +1 -0
- package/dist/components/ui-kit/Popover/Popover.d.ts +9 -0
- package/dist/components/ui-kit/Popover/index.d.ts +1 -0
- package/dist/components/ui-kit/Slider/Slider.d.ts +4 -0
- package/dist/components/ui-kit/Slider/index.d.ts +1 -0
- package/dist/components/ui-kit/Switch/Switch.d.ts +4 -0
- package/dist/components/ui-kit/Switch/index.d.ts +1 -0
- package/dist/components/ui-kit/Tabs/Tabs.d.ts +7 -0
- package/dist/components/ui-kit/Tabs/index.d.ts +1 -0
- package/dist/components/ui-kit/Textarea/Textarea.d.ts +5 -0
- package/dist/components/ui-kit/Textarea/index.d.ts +1 -0
- package/dist/components/ui-kit/ThemeProvider/ThemeContext.d.ts +2 -0
- package/dist/components/ui-kit/ThemeProvider/ThemeProvider.d.ts +9 -0
- package/dist/components/ui-kit/ThemeProvider/ThemeProvider.types.d.ts +23 -0
- package/dist/components/ui-kit/ThemeProvider/index.d.ts +1 -0
- package/dist/components/ui-kit/Toaster/Toaster.d.ts +4 -0
- package/dist/components/ui-kit/Toaster/index.d.ts +1 -0
- package/dist/components/ui-kit/Toggle/Toggle.d.ts +12 -0
- package/dist/components/ui-kit/Toggle/index.d.ts +1 -0
- package/dist/components/ui-kit/ToggleGroup/ToggleGroup.d.ts +12 -0
- package/dist/components/ui-kit/ToggleGroup/index.d.ts +1 -0
- package/dist/components/ui-kit/index.d.ts +16 -0
- package/dist/components/utils/createOrDuplicateNode.d.ts +3 -0
- package/dist/components/utils/generateNodeIds.d.ts +8 -0
- package/dist/components/utils/getFlattenedVariables.d.ts +14 -0
- package/dist/components/utils/index.d.ts +6 -0
- package/dist/components/utils/isCustomNodeSelected.d.ts +4 -0
- package/dist/components/utils/isTextSelected.d.ts +5 -0
- package/dist/components/utils/multipleContainersKeyboardCoordinates.d.ts +2 -0
- package/dist/esm/index.css +2 -0
- package/dist/esm/index.css.map +7 -0
- package/dist/esm/index.js +187 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/styles.css +3151 -0
- package/dist/hooks/useAutoSave.d.ts +12 -0
- package/dist/index.d.ts +4 -0
- package/dist/lib/api/UploadImageAPI.d.ts +4 -0
- package/dist/lib/api/uploadImage.d.ts +6 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/utils/convertElementalToTiptap/convertElementalToTiptap.d.ts +3 -0
- package/dist/lib/utils/convertElementalToTiptap/index.d.ts +1 -0
- package/dist/lib/utils/convertMarkdownToTiptap/convertMarkdownToTiptap.d.ts +2 -0
- package/dist/lib/utils/convertMarkdownToTiptap/index.d.ts +1 -0
- package/dist/lib/utils/convertTiptapToElemental/convertTiptapToElemental.d.ts +17 -0
- package/dist/lib/utils/convertTiptapToElemental/index.d.ts +1 -0
- package/dist/lib/utils/convertTiptapToMarkdown/convertTiptapToMarkdown.d.ts +2 -0
- package/dist/lib/utils/getRenderContainer/getRenderContainer.d.ts +3 -0
- package/dist/lib/utils/getRenderContainer/index.d.ts +1 -0
- package/dist/lib/utils/image.d.ts +7 -0
- package/dist/lib/utils/index.d.ts +7 -0
- package/dist/lib/utils/useForwardedRefCallback/index.d.ts +1 -0
- package/dist/lib/utils/useForwardedRefCallback/useForwardedRefCallback.d.ts +21 -0
- package/dist/lib/utils/useForwardedRefCallback/useForwardedRefCallback.test.d.ts +1 -0
- package/dist/store.d.ts +3 -0
- package/dist/styles.css +3151 -0
- package/dist/types/elemental.schema.d.ts +25 -0
- package/dist/types/elemental.types.d.ts +195 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/tiptap.types.d.ts +15 -0
- package/package.json +150 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { ElementalNode } from "./elemental.types";
|
|
3
|
+
export declare const ElementalNodeType: z.ZodType<ElementalNode>;
|
|
4
|
+
export declare const ElementalSchema: z.ZodObject<{
|
|
5
|
+
version: z.ZodLiteral<"2022-01-01">;
|
|
6
|
+
elements: z.ZodArray<z.ZodType<ElementalNode, z.ZodTypeDef, ElementalNode>, "many">;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
elements: ElementalNode[];
|
|
9
|
+
version: "2022-01-01";
|
|
10
|
+
}, {
|
|
11
|
+
elements: ElementalNode[];
|
|
12
|
+
version: "2022-01-01";
|
|
13
|
+
}>;
|
|
14
|
+
export declare const validateElemental: (json: unknown) => {
|
|
15
|
+
success: boolean;
|
|
16
|
+
data: {
|
|
17
|
+
elements: ElementalNode[];
|
|
18
|
+
version: "2022-01-01";
|
|
19
|
+
};
|
|
20
|
+
errors?: undefined;
|
|
21
|
+
} | {
|
|
22
|
+
success: boolean;
|
|
23
|
+
errors: z.ZodIssue[];
|
|
24
|
+
data?: undefined;
|
|
25
|
+
};
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
export type Align = "left" | "center" | "right" | "full";
|
|
2
|
+
export type IActionButtonStyle = "button" | "link";
|
|
3
|
+
export type TextStyle = "text" | "h1" | "h2" | "subtext";
|
|
4
|
+
export interface IBorderConfig {
|
|
5
|
+
enabled?: boolean;
|
|
6
|
+
radius?: string;
|
|
7
|
+
color?: string;
|
|
8
|
+
size?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface BorderConfig {
|
|
11
|
+
enabled?: boolean;
|
|
12
|
+
color?: string;
|
|
13
|
+
radius?: number;
|
|
14
|
+
size?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface ElementalContent {
|
|
17
|
+
version: "2022-01-01";
|
|
18
|
+
elements: ElementalNode[];
|
|
19
|
+
}
|
|
20
|
+
export type ElementalNode = ElementalTextNode | ElementalMetaNode | ElementalChannelNode | ElementalImageNode | ElementalActionNode | ElementalDividerNode | ElementalGroupNode | ElementalQuoteNode | ElementalHtmlNode | ElementalCommentNode | ElementalTextContentNode | ElementalListNode | ElementalListItemNode;
|
|
21
|
+
export interface ElementalListNode extends IsElementalNode {
|
|
22
|
+
type: "list";
|
|
23
|
+
list_type: "ordered" | "unordered";
|
|
24
|
+
elements: ElementalListItemNode[];
|
|
25
|
+
/** Allows bullets to be rendered using an image */
|
|
26
|
+
imgSrc?: string;
|
|
27
|
+
imgHref?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface ElementalListItemNode extends IsElementalNode {
|
|
30
|
+
type: "list-item";
|
|
31
|
+
background_color?: string;
|
|
32
|
+
elements: (ElementalTextContentNode | ElementalListNode)[];
|
|
33
|
+
}
|
|
34
|
+
export type ElementalTextNode = ElementalTextNodeWithContent | ElementalTextNodeWithElements;
|
|
35
|
+
export interface ElementalTextNodeWithElements extends IsElementalTextNode {
|
|
36
|
+
elements: ElementalTextContentNode[];
|
|
37
|
+
}
|
|
38
|
+
export interface ElementalTextNodeWithContent extends IsElementalTextNode {
|
|
39
|
+
content: string;
|
|
40
|
+
}
|
|
41
|
+
export interface IsElementalTextNode extends IsElementalNode {
|
|
42
|
+
type: "text";
|
|
43
|
+
align?: Align;
|
|
44
|
+
text_style?: TextStyle;
|
|
45
|
+
background_color?: string;
|
|
46
|
+
format?: "markdown";
|
|
47
|
+
padding?: string;
|
|
48
|
+
color?: string;
|
|
49
|
+
border?: BorderConfig;
|
|
50
|
+
locales?: ElementalLocales<{
|
|
51
|
+
content?: string;
|
|
52
|
+
}>;
|
|
53
|
+
}
|
|
54
|
+
export type ElementalTextContentNode = ElementalStringTextContent | ElementalLinkTextContent | ElementalImageTextContent;
|
|
55
|
+
export interface IsElementalTextContent extends IsElementalNode {
|
|
56
|
+
/** CSS color syntax */
|
|
57
|
+
color?: string;
|
|
58
|
+
/** CSS color syntax */
|
|
59
|
+
highlight?: string;
|
|
60
|
+
bold?: boolean;
|
|
61
|
+
italic?: boolean;
|
|
62
|
+
strikethrough?: boolean;
|
|
63
|
+
underline?: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface ElementalStringTextContent extends IsElementalTextContent {
|
|
66
|
+
type: "string";
|
|
67
|
+
content: string;
|
|
68
|
+
}
|
|
69
|
+
export interface ElementalLinkTextContent extends IsElementalTextContent {
|
|
70
|
+
type: "link";
|
|
71
|
+
content: string;
|
|
72
|
+
href?: string;
|
|
73
|
+
disable_tracking?: boolean;
|
|
74
|
+
}
|
|
75
|
+
export interface ElementalImageTextContent extends IsElementalTextContent {
|
|
76
|
+
type: "img";
|
|
77
|
+
src: string;
|
|
78
|
+
href?: string;
|
|
79
|
+
disable_tracking?: boolean;
|
|
80
|
+
alt_text?: string;
|
|
81
|
+
/** CSS width syntax */
|
|
82
|
+
width?: string;
|
|
83
|
+
}
|
|
84
|
+
export interface ElementalMetaNode extends IsElementalNode {
|
|
85
|
+
type: "meta";
|
|
86
|
+
title?: string;
|
|
87
|
+
locales?: ElementalLocales<{
|
|
88
|
+
title?: string;
|
|
89
|
+
}>;
|
|
90
|
+
}
|
|
91
|
+
export interface ElementalChannelNode extends IsElementalNode {
|
|
92
|
+
type: "channel";
|
|
93
|
+
channel: string;
|
|
94
|
+
elements?: ElementalNode[];
|
|
95
|
+
raw?: {
|
|
96
|
+
html?: string;
|
|
97
|
+
transformers?: string[];
|
|
98
|
+
subject?: string;
|
|
99
|
+
title?: string;
|
|
100
|
+
text?: string;
|
|
101
|
+
[templateName: string]: unknown;
|
|
102
|
+
};
|
|
103
|
+
locales?: ElementalLocales<{
|
|
104
|
+
elements?: ElementalNode[];
|
|
105
|
+
raw?: {
|
|
106
|
+
[templateName: string]: unknown;
|
|
107
|
+
};
|
|
108
|
+
}>;
|
|
109
|
+
}
|
|
110
|
+
export interface ElementalImageNode extends IsElementalNode {
|
|
111
|
+
type: "image";
|
|
112
|
+
src: string;
|
|
113
|
+
href?: string;
|
|
114
|
+
align?: Align;
|
|
115
|
+
alt_text?: string;
|
|
116
|
+
width?: string;
|
|
117
|
+
border?: IBorderConfig;
|
|
118
|
+
locales?: ElementalLocales<{
|
|
119
|
+
href?: string;
|
|
120
|
+
src?: string;
|
|
121
|
+
}>;
|
|
122
|
+
}
|
|
123
|
+
export interface ElementalActionNode extends IsElementalNode {
|
|
124
|
+
type: "action";
|
|
125
|
+
content: string;
|
|
126
|
+
href: string;
|
|
127
|
+
action_id?: string;
|
|
128
|
+
style?: IActionButtonStyle;
|
|
129
|
+
align?: Align;
|
|
130
|
+
background_color?: string;
|
|
131
|
+
color?: string;
|
|
132
|
+
border?: BorderConfig;
|
|
133
|
+
padding?: string;
|
|
134
|
+
disable_tracking?: boolean;
|
|
135
|
+
locales?: ElementalLocales<{
|
|
136
|
+
content?: string;
|
|
137
|
+
href?: string;
|
|
138
|
+
}>;
|
|
139
|
+
}
|
|
140
|
+
export interface ElementalDividerNode extends IsElementalNode {
|
|
141
|
+
type: "divider";
|
|
142
|
+
dividerColor?: string;
|
|
143
|
+
borderWidth?: string;
|
|
144
|
+
padding?: string;
|
|
145
|
+
}
|
|
146
|
+
export interface ElementalGroupNode extends IsElementalNode {
|
|
147
|
+
type: "group";
|
|
148
|
+
elements: ElementalNode[];
|
|
149
|
+
locales?: ElementalLocales<{
|
|
150
|
+
elements?: ElementalNode[];
|
|
151
|
+
}>;
|
|
152
|
+
}
|
|
153
|
+
export interface ElementalQuoteNode extends IsElementalNode {
|
|
154
|
+
type: "quote";
|
|
155
|
+
content: string;
|
|
156
|
+
align?: Align;
|
|
157
|
+
border_color?: string;
|
|
158
|
+
text_style?: "text" | "h1" | "h2" | "subtext";
|
|
159
|
+
locales?: ElementalLocales<{
|
|
160
|
+
content?: string;
|
|
161
|
+
}>;
|
|
162
|
+
}
|
|
163
|
+
export interface ElementalHtmlNode extends IsElementalNode {
|
|
164
|
+
type: "html";
|
|
165
|
+
content: string;
|
|
166
|
+
locales?: ElementalLocales<{
|
|
167
|
+
content?: string;
|
|
168
|
+
}>;
|
|
169
|
+
}
|
|
170
|
+
export interface ElementalCommentNode extends IsElementalNode {
|
|
171
|
+
type: "comment";
|
|
172
|
+
comment?: string;
|
|
173
|
+
object?: unknown;
|
|
174
|
+
}
|
|
175
|
+
interface IsElementalNode {
|
|
176
|
+
type: string;
|
|
177
|
+
channels?: string[];
|
|
178
|
+
ref?: string;
|
|
179
|
+
if?: string;
|
|
180
|
+
loop?: string;
|
|
181
|
+
data?: Record<string, unknown>;
|
|
182
|
+
}
|
|
183
|
+
export interface ElementalLocales<T extends object> {
|
|
184
|
+
[locale: string]: T;
|
|
185
|
+
}
|
|
186
|
+
export type ElementalIR = ElementalNodeIR[];
|
|
187
|
+
export type ElementalNodeIR = WithIRMetadata<ElementalNode>;
|
|
188
|
+
/** Recursively augments the passed type and its children with the fields supplied after & */
|
|
189
|
+
export type WithIRMetadata<T extends IsElementalNode> = {
|
|
190
|
+
[K in keyof T]: T[K] extends IsElementalNode[] ? WithIRMetadata<T[K][number]>[] : T[K];
|
|
191
|
+
} & {
|
|
192
|
+
index: number;
|
|
193
|
+
visible: boolean;
|
|
194
|
+
};
|
|
195
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface TiptapNode {
|
|
2
|
+
type: string;
|
|
3
|
+
attrs?: Record<string, unknown>;
|
|
4
|
+
content?: TiptapNode[];
|
|
5
|
+
marks?: TiptapMark[];
|
|
6
|
+
text?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface TiptapMark {
|
|
9
|
+
type: string;
|
|
10
|
+
attrs?: Record<string, unknown>;
|
|
11
|
+
}
|
|
12
|
+
export interface TiptapDoc {
|
|
13
|
+
type: "doc";
|
|
14
|
+
content: TiptapNode[];
|
|
15
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@trycourier/react-designer",
|
|
3
|
+
"version": "0.0.0-canary-20250424162557",
|
|
4
|
+
"description": "React-based rich text designer component",
|
|
5
|
+
"main": "./dist/cjs/index.js",
|
|
6
|
+
"module": "./dist/esm/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"sideEffects": [
|
|
9
|
+
"**/*.css"
|
|
10
|
+
],
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"publishConfig": {
|
|
13
|
+
"access": "public"
|
|
14
|
+
},
|
|
15
|
+
"exports": {
|
|
16
|
+
".": {
|
|
17
|
+
"import": {
|
|
18
|
+
"types": "./dist/index.d.ts",
|
|
19
|
+
"default": "./dist/esm/index.js"
|
|
20
|
+
},
|
|
21
|
+
"require": {
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"default": "./dist/cjs/index.js"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"./styles.css": {
|
|
27
|
+
"import": "./dist/esm/styles.css",
|
|
28
|
+
"require": "./dist/cjs/styles.css",
|
|
29
|
+
"default": "./dist/styles.css"
|
|
30
|
+
},
|
|
31
|
+
"./next": {
|
|
32
|
+
"import": "./dist/esm/index.js",
|
|
33
|
+
"require": "./dist/cjs/index.js",
|
|
34
|
+
"types": "./dist/index.d.ts"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"@dnd-kit/core": "^6.3.1",
|
|
39
|
+
"@dnd-kit/modifiers": "^9.0.0",
|
|
40
|
+
"@dnd-kit/sortable": "^10.0.0",
|
|
41
|
+
"@dnd-kit/utilities": "^3.2.2",
|
|
42
|
+
"@hookform/resolvers": "^3.9.1",
|
|
43
|
+
"@radix-ui/react-dropdown-menu": "^2.1.4",
|
|
44
|
+
"@radix-ui/react-label": "^2.1.0",
|
|
45
|
+
"@radix-ui/react-popover": "^1.1.4",
|
|
46
|
+
"@radix-ui/react-slider": "^1.2.3",
|
|
47
|
+
"@radix-ui/react-slot": "^1.1.0",
|
|
48
|
+
"@radix-ui/react-switch": "^1.1.3",
|
|
49
|
+
"@radix-ui/react-tabs": "^1.1.3",
|
|
50
|
+
"@radix-ui/react-toggle": "^1.1.0",
|
|
51
|
+
"@radix-ui/react-toggle-group": "^1.1.0",
|
|
52
|
+
"@tippyjs/react": "^4.2.6",
|
|
53
|
+
"@tiptap/core": "^2.0.0",
|
|
54
|
+
"@tiptap/extension-code-block-lowlight": "^2.10.3",
|
|
55
|
+
"@tiptap/extension-color": "^2.10.2",
|
|
56
|
+
"@tiptap/extension-hard-break": "^2.11.2",
|
|
57
|
+
"@tiptap/extension-image": "^2.10.3",
|
|
58
|
+
"@tiptap/extension-link": "^2.10.3",
|
|
59
|
+
"@tiptap/extension-placeholder": "^2.0.0",
|
|
60
|
+
"@tiptap/extension-text-align": "^2.10.2",
|
|
61
|
+
"@tiptap/extension-typography": "^2.10.2",
|
|
62
|
+
"@tiptap/extension-underline": "^2.10.2",
|
|
63
|
+
"@tiptap/pm": "^2.0.0",
|
|
64
|
+
"@tiptap/react": "^2.0.0",
|
|
65
|
+
"@tiptap/starter-kit": "^2.0.0",
|
|
66
|
+
"@tiptap/suggestion": "^2.10.3",
|
|
67
|
+
"class-variance-authority": "^0.7.0",
|
|
68
|
+
"clsx": "^2.0.0",
|
|
69
|
+
"jotai": "^2.11.1",
|
|
70
|
+
"lucide-react": "^0.473.0",
|
|
71
|
+
"next-themes": "^0.4.5",
|
|
72
|
+
"react-hook-form": "^7.53.2",
|
|
73
|
+
"sonner": "^2.0.1",
|
|
74
|
+
"tailwind-merge": "^1.14.0",
|
|
75
|
+
"tailwindcss-animate": "^1.0.0",
|
|
76
|
+
"uuid": "^11.0.3",
|
|
77
|
+
"yjs": "^13.6.24",
|
|
78
|
+
"zod": "^3.23.8"
|
|
79
|
+
},
|
|
80
|
+
"devDependencies": {
|
|
81
|
+
"@playwright/test": "^1.0.0",
|
|
82
|
+
"@testing-library/jest-dom": "^6.0.0",
|
|
83
|
+
"@testing-library/react": "^14.0.0",
|
|
84
|
+
"@testing-library/user-event": "^14.0.0",
|
|
85
|
+
"@types/node": "^20.0.0",
|
|
86
|
+
"@types/react": "^18.2.0",
|
|
87
|
+
"@types/react-dom": "^18.0.0",
|
|
88
|
+
"@vitejs/plugin-react": "^4.0.0",
|
|
89
|
+
"autoprefixer": "^10.4.20",
|
|
90
|
+
"dotenv": "^16.4.7",
|
|
91
|
+
"esbuild": "^0.19.0",
|
|
92
|
+
"esbuild-plugin-d.ts": "^1.3.1",
|
|
93
|
+
"esbuild-style-plugin": "^1.6.3",
|
|
94
|
+
"jsdom": "^22.1.0",
|
|
95
|
+
"postcss": "^8.4.49",
|
|
96
|
+
"postcss-import": "^16.1.0",
|
|
97
|
+
"postcss-nested": "^7.0.2",
|
|
98
|
+
"react": "^18.2.0",
|
|
99
|
+
"react-dom": "^18.2.0",
|
|
100
|
+
"tailwindcss": "^3.4.15",
|
|
101
|
+
"typescript": "^5.0.0",
|
|
102
|
+
"vitest": "^0.34.0"
|
|
103
|
+
},
|
|
104
|
+
"peerDependencies": {
|
|
105
|
+
"react": "^18.2.0",
|
|
106
|
+
"react-dom": "^18.2.0"
|
|
107
|
+
},
|
|
108
|
+
"type": "module",
|
|
109
|
+
"files": [
|
|
110
|
+
"dist"
|
|
111
|
+
],
|
|
112
|
+
"keywords": [
|
|
113
|
+
"react",
|
|
114
|
+
"editor",
|
|
115
|
+
"rich-text",
|
|
116
|
+
"wysiwyg",
|
|
117
|
+
"tiptap"
|
|
118
|
+
],
|
|
119
|
+
"engines": {
|
|
120
|
+
"node": ">=16"
|
|
121
|
+
},
|
|
122
|
+
"browserslist": [
|
|
123
|
+
">0.2%",
|
|
124
|
+
"not dead",
|
|
125
|
+
"not op_mini all"
|
|
126
|
+
],
|
|
127
|
+
"repository": {
|
|
128
|
+
"type": "git",
|
|
129
|
+
"url": "https://github.com/trycourier/react-editor.git"
|
|
130
|
+
},
|
|
131
|
+
"bugs": {
|
|
132
|
+
"url": "https://github.com/trycourier/react-editor/issues"
|
|
133
|
+
},
|
|
134
|
+
"scripts": {
|
|
135
|
+
"build": "tsc && node build.js",
|
|
136
|
+
"dev": "node build.js --watch",
|
|
137
|
+
"lint": "eslint \"src/**/*.ts*\"",
|
|
138
|
+
"test": "vitest run",
|
|
139
|
+
"test:watch": "vitest",
|
|
140
|
+
"test:e2e": "playwright test",
|
|
141
|
+
"clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist",
|
|
142
|
+
"analyze": "node build.js --analyze",
|
|
143
|
+
"release": "node scripts/publish.js",
|
|
144
|
+
"release:patch": "node scripts/publish.js --version=patch",
|
|
145
|
+
"release:minor": "node scripts/publish.js --version=minor",
|
|
146
|
+
"release:major": "node scripts/publish.js --version=major",
|
|
147
|
+
"release:dry-run": "node scripts/publish.js --dry-run",
|
|
148
|
+
"release:canary": "node scripts/publish.js --canary"
|
|
149
|
+
}
|
|
150
|
+
}
|