@trycourier/react-designer 0.0.9 → 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.
- package/dist/channels.d.ts +1 -1
- package/dist/cjs/index.css +1 -1
- package/dist/cjs/index.css.map +2 -2
- package/dist/cjs/index.js +47 -49
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/styles.css +386 -1
- package/dist/components/TemplateEditor/Channels/Email/Email.d.ts +2 -2
- package/dist/components/TemplateEditor/Channels/Email/EmailEditor.d.ts +0 -5
- package/dist/components/TemplateEditor/Channels/MSTeams/MSTeams.d.ts +40 -0
- package/dist/components/TemplateEditor/Channels/MSTeams/MSTeamsEditor.d.ts +4 -0
- package/dist/components/TemplateEditor/Channels/MSTeams/MSTeamsFrame.d.ts +6 -0
- package/dist/components/TemplateEditor/Channels/MSTeams/MSTeamsLayout.d.ts +7 -0
- package/dist/components/TemplateEditor/Channels/MSTeams/SideBar/SideBar.d.ts +6 -0
- package/dist/components/TemplateEditor/Channels/MSTeams/SideBar/index.d.ts +1 -0
- package/dist/components/TemplateEditor/Channels/MSTeams/index.d.ts +5 -0
- package/dist/components/TemplateEditor/Channels/Push/Push.d.ts +2 -6
- package/dist/components/TemplateEditor/Channels/SMS/SMS.d.ts +2 -5
- package/dist/components/TemplateEditor/Channels/Slack/SideBar/SideBar.d.ts +6 -0
- package/dist/components/TemplateEditor/Channels/Slack/SideBar/SlackButtonForm.d.ts +8 -0
- package/dist/components/TemplateEditor/Channels/Slack/SideBar/SlackSideBarItemDetails.d.ts +8 -0
- package/dist/components/TemplateEditor/Channels/Slack/SideBar/index.d.ts +3 -0
- package/dist/components/TemplateEditor/Channels/Slack/Slack.d.ts +40 -0
- package/dist/components/TemplateEditor/Channels/Slack/SlackEditor.d.ts +4 -0
- package/dist/components/TemplateEditor/Channels/Slack/SlackFrame.d.ts +6 -0
- package/dist/components/TemplateEditor/Channels/Slack/SlackLayout.d.ts +7 -0
- package/dist/components/TemplateEditor/Channels/Slack/index.d.ts +5 -0
- package/dist/components/TemplateEditor/Channels/index.d.ts +2 -0
- package/dist/components/TemplateEditor/Layout/Layout.d.ts +2 -2
- package/dist/components/TemplateEditor/hooks/useEditorDnd.d.ts +31 -0
- package/dist/components/TemplateEditor/hooks/useSyncEditorItems.d.ts +14 -0
- package/dist/components/TemplateEditor/index.d.ts +6 -2
- package/dist/components/TemplateEditor/store.d.ts +1 -1
- package/dist/components/extensions/Button/Button.types.d.ts +2 -2
- package/dist/components/extensions/ImageBlock/ImageBlock.types.d.ts +2 -2
- package/dist/components/extensions/TextBlock/TextBlock.types.d.ts +2 -2
- package/dist/components/ui/PreviewPanel/PreviewPanel.d.ts +2 -1
- package/dist/components/ui-kit/Icon/MSTeamsIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/SlackIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/UnionIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/UserIcon.d.ts +3 -0
- package/dist/components/ui-kit/Icon/index.d.ts +6 -2
- package/dist/esm/index.css +1 -1
- package/dist/esm/index.css.map +2 -2
- package/dist/esm/index.js +47 -49
- package/dist/esm/index.js.map +4 -4
- package/dist/esm/styles.css +386 -1
- package/dist/lib/testHelpers.d.ts +46 -0
- package/dist/lib/utils/getTitle/index.d.ts +1 -1
- package/dist/lib/utils/getTitle/preserveStorageFormat.d.ts +9 -1
- package/dist/lib/utils/updateElemental/updateElemental.d.ts +1 -1
- package/dist/styles.css +386 -1
- package/dist/types/elemental.types.d.ts +2 -2
- package/package.json +5 -2
- package/dist/components/Providers/TemplateProvider.test.d.ts +0 -1
- package/dist/components/TemplateEditor/Channels/Email/Email.test.d.ts +0 -1
- package/dist/components/TemplateEditor/Channels/Email/EmailEditor.test.d.ts +0 -1
- package/dist/components/TemplateEditor/Channels/Inbox/Inbox.test.d.ts +0 -1
- package/dist/components/TemplateEditor/Channels/Inbox/InboxEditor.test.d.ts +0 -1
- package/dist/components/TemplateEditor/Channels/Push/Push.test.d.ts +0 -1
- package/dist/components/TemplateEditor/Channels/Push/PushEditor.test.d.ts +0 -1
- package/dist/components/TemplateEditor/Channels/SMS/SMS.test.d.ts +0 -1
- package/dist/components/TemplateEditor/Channels/SMS/SMSEditor.test.d.ts +0 -1
- package/dist/components/TemplateEditor/Channels/useChannels.test.d.ts +0 -1
- package/dist/components/TemplateEditor/TemplateEditor.test.d.ts +0 -1
- package/dist/components/extensions/Blockquote/Blockquote.test.d.ts +0 -1
- package/dist/components/extensions/Button/Button.test.d.ts +0 -1
- package/dist/components/extensions/ButtonRow/ButtonRow.test.d.ts +0 -1
- package/dist/components/extensions/CustomCode/CustomCode.test.d.ts +0 -1
- package/dist/components/extensions/Divider/Divider.test.d.ts +0 -1
- package/dist/components/extensions/DragPlaceholder/DragPlaceholder.test.d.ts +0 -1
- package/dist/components/extensions/FileHandler/FileHandler.test.d.ts +0 -1
- package/dist/components/extensions/FixedChannelPaste/FixedChannelPaste.test.d.ts +0 -1
- package/dist/components/extensions/FixedChannelSelection/FixedChannelSelection.test.d.ts +0 -1
- package/dist/components/extensions/Heading/Heading.test.d.ts +0 -1
- package/dist/components/extensions/Image/Image.test.d.ts +0 -1
- package/dist/components/extensions/ImageBlock/ImageBlock.test.d.ts +0 -1
- package/dist/components/extensions/Link/Link.test.d.ts +0 -1
- package/dist/components/extensions/Paragraph/Paragraph.test.d.ts +0 -1
- package/dist/components/extensions/Selection/Selection.test.d.ts +0 -1
- package/dist/components/extensions/TextBlock/TextBlock.test.d.ts +0 -1
- package/dist/components/extensions/UniqueId/UniqueId.test.d.ts +0 -1
- package/dist/components/extensions/Variable/Variable.test.d.ts +0 -1
- package/dist/components/extensions/Variable/VariablePaste.test.d.ts +0 -1
- package/dist/lib/utils/convertElementalToTiptap/convertElementalToTiptap.test.d.ts +0 -1
- package/dist/lib/utils/convertMarkdownToTiptap/convertMarkdownToTiptap.test.d.ts +0 -1
- package/dist/lib/utils/convertTiptapToElemental/convertTiptapToElemental.test.d.ts +0 -1
- package/dist/lib/utils/convertTiptapToMarkdown/convertTiptapToMarkdown.test.d.ts +0 -1
- package/dist/lib/utils/getTitle/getTitle.test.d.ts +0 -1
- package/dist/lib/utils/getTitle/preserveStorageFormat.test.d.ts +0 -1
- package/dist/lib/utils/updateElemental/updateElemental.test.d.ts +0 -1
- package/dist/lib/utils/useForwardedRefCallback/useForwardedRefCallback.test.d.ts +0 -1
|
@@ -28,13 +28,13 @@ export interface EmailProps extends Pick<TemplateEditorProps, "hidePublish" | "b
|
|
|
28
28
|
channels?: ChannelType[];
|
|
29
29
|
routing?: MessageRouting;
|
|
30
30
|
}) => React.ReactNode;
|
|
31
|
-
render?: ({ subject, handleSubjectChange, selectedNode, setSelectedNode, previewMode,
|
|
31
|
+
render?: ({ subject, handleSubjectChange, selectedNode, setSelectedNode, previewMode, templateEditor, ref, isBrandApply, brandSettings, items, content, strategy, syncEditorItems, brandEditorContent, templateData, togglePreviewMode, }: {
|
|
32
32
|
subject: string | null;
|
|
33
33
|
handleSubjectChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
34
34
|
selectedNode: Node | null;
|
|
35
35
|
setSelectedNode: (node: Node | null) => void;
|
|
36
36
|
previewMode: "desktop" | "mobile" | undefined;
|
|
37
|
-
|
|
37
|
+
templateEditor: Editor | null;
|
|
38
38
|
ref: React.RefObject<HTMLDivElement> | null;
|
|
39
39
|
isBrandApply: boolean;
|
|
40
40
|
brandSettings: BrandSettingsData | null;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { MessageRouting } from "@/components/Providers/store";
|
|
2
|
+
import type { TextMenuConfig } from "@/components/ui/TextMenu/config";
|
|
3
|
+
import type { TiptapDoc } from "@/lib/utils";
|
|
4
|
+
import type { ChannelType } from "@/store";
|
|
5
|
+
import type { ElementalNode } from "@/types/elemental.types";
|
|
6
|
+
import { type UniqueIdentifier } from "@dnd-kit/core";
|
|
7
|
+
import type { Node } from "@tiptap/pm/model";
|
|
8
|
+
import type { AnyExtension, Editor } from "@tiptap/react";
|
|
9
|
+
import React, { type HTMLAttributes } from "react";
|
|
10
|
+
import type { TemplateEditorProps } from "../../TemplateEditor";
|
|
11
|
+
export declare const defaultMSTeamsContent: ElementalNode[];
|
|
12
|
+
export declare const MSTeamsEditorContent: ({ value }: {
|
|
13
|
+
value?: TiptapDoc;
|
|
14
|
+
}) => null;
|
|
15
|
+
export interface MSTeamsRenderProps {
|
|
16
|
+
content: TiptapDoc;
|
|
17
|
+
extensions: AnyExtension[];
|
|
18
|
+
editable: boolean;
|
|
19
|
+
autofocus: boolean;
|
|
20
|
+
onUpdate: ({ editor }: {
|
|
21
|
+
editor: Editor;
|
|
22
|
+
}) => void;
|
|
23
|
+
items: {
|
|
24
|
+
Sidebar: string[];
|
|
25
|
+
Editor: UniqueIdentifier[];
|
|
26
|
+
};
|
|
27
|
+
selectedNode: Node | null;
|
|
28
|
+
msteamsEditor: Editor | null;
|
|
29
|
+
}
|
|
30
|
+
export interface MSTeamsProps extends Pick<TemplateEditorProps, "hidePublish" | "theme" | "variables" | "channels" | "routing" | "value">, Omit<HTMLAttributes<HTMLDivElement>, "value" | "onChange"> {
|
|
31
|
+
readOnly?: boolean;
|
|
32
|
+
headerRenderer?: ({ hidePublish, channels, routing, }: {
|
|
33
|
+
hidePublish?: boolean;
|
|
34
|
+
channels?: ChannelType[];
|
|
35
|
+
routing?: MessageRouting;
|
|
36
|
+
}) => React.ReactNode;
|
|
37
|
+
render?: (props: MSTeamsRenderProps) => React.ReactNode;
|
|
38
|
+
}
|
|
39
|
+
export declare const MSTeamsConfig: TextMenuConfig;
|
|
40
|
+
export declare const MSTeams: React.MemoExoticComponent<React.ForwardRefExoticComponent<MSTeamsProps & React.RefAttributes<HTMLDivElement>>>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { MSTeamsRenderProps } from "./MSTeams";
|
|
2
|
+
export interface MSTeamsEditorProps extends MSTeamsRenderProps {
|
|
3
|
+
}
|
|
4
|
+
export declare const MSTeamsEditor: ({ content, extensions, editable, autofocus, onUpdate, items, }: MSTeamsEditorProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { MSTeamsProps } from "./MSTeams";
|
|
2
|
+
import { type HTMLAttributes } from "react";
|
|
3
|
+
export interface MSTeamsLayoutProps extends MSTeamsProps {
|
|
4
|
+
}
|
|
5
|
+
export declare const MSTeamsEditorContainer: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
6
|
+
export declare const MSTeamsEditorMain: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export declare const MSTeamsLayout: ({ hidePublish, theme, variables, channels, routing, }: MSTeamsLayoutProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./SideBar";
|
|
@@ -2,6 +2,7 @@ import type { MessageRouting } from "@/components/Providers/store";
|
|
|
2
2
|
import type { TextMenuConfig } from "@/components/ui/TextMenu/config";
|
|
3
3
|
import type { TiptapDoc } from "@/lib/utils";
|
|
4
4
|
import type { ChannelType } from "@/store";
|
|
5
|
+
import type { ElementalNode } from "@/types/elemental.types";
|
|
5
6
|
import type { AnyExtension, Editor } from "@tiptap/react";
|
|
6
7
|
import type { HTMLAttributes } from "react";
|
|
7
8
|
import type { TemplateEditorProps } from "../../TemplateEditor";
|
|
@@ -26,11 +27,6 @@ export interface PushProps extends Pick<TemplateEditorProps, "hidePublish" | "th
|
|
|
26
27
|
}) => React.ReactNode;
|
|
27
28
|
render?: (props: PushRenderProps) => React.ReactNode;
|
|
28
29
|
}
|
|
29
|
-
export declare const defaultPushContent:
|
|
30
|
-
raw: {
|
|
31
|
-
title: string;
|
|
32
|
-
text: string;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
30
|
+
export declare const defaultPushContent: ElementalNode[];
|
|
35
31
|
export declare const PushConfig: TextMenuConfig;
|
|
36
32
|
export declare const Push: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<PushProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import type { TextMenuConfig } from "@/components/ui/TextMenu/config";
|
|
2
2
|
import type { TiptapDoc } from "@/lib/utils";
|
|
3
|
+
import type { ElementalNode } from "@/types/elemental.types";
|
|
3
4
|
import type { AnyExtension, Editor } from "@tiptap/react";
|
|
4
5
|
import type { HTMLAttributes } from "react";
|
|
5
6
|
import type { MessageRouting } from "../../../Providers/store";
|
|
6
7
|
import type { ChannelType } from "@/store";
|
|
7
8
|
import type { TemplateEditorProps } from "../../TemplateEditor";
|
|
8
|
-
export declare const defaultSMSContent:
|
|
9
|
-
raw: {
|
|
10
|
-
text: string;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
9
|
+
export declare const defaultSMSContent: ElementalNode[];
|
|
13
10
|
export declare const SMSEditorContent: ({ value }: {
|
|
14
11
|
value?: TiptapDoc | null;
|
|
15
12
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Node as ProseMirrorNode } from "@tiptap/pm/model";
|
|
2
|
+
import type { Editor } from "@tiptap/react";
|
|
3
|
+
interface SlackButtonFormProps {
|
|
4
|
+
element?: ProseMirrorNode;
|
|
5
|
+
editor: Editor | null;
|
|
6
|
+
}
|
|
7
|
+
export declare const SlackButtonForm: ({ element, editor }: SlackButtonFormProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Node as ProseMirrorNode } from "@tiptap/pm/model";
|
|
2
|
+
import type { Editor } from "@tiptap/react";
|
|
3
|
+
export interface SlackSideBarItemDetailsProps {
|
|
4
|
+
element: ProseMirrorNode | null;
|
|
5
|
+
editor: Editor | null;
|
|
6
|
+
defaultElement: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare const SlackSideBarItemDetails: ({ element, editor, defaultElement, }: SlackSideBarItemDetailsProps) => string | number | boolean | Iterable<import("react").ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { MessageRouting } from "@/components/Providers/store";
|
|
2
|
+
import type { TextMenuConfig } from "@/components/ui/TextMenu/config";
|
|
3
|
+
import type { TiptapDoc } from "@/lib/utils";
|
|
4
|
+
import type { ChannelType } from "@/store";
|
|
5
|
+
import type { ElementalNode } from "@/types/elemental.types";
|
|
6
|
+
import { type UniqueIdentifier } from "@dnd-kit/core";
|
|
7
|
+
import type { Node } from "@tiptap/pm/model";
|
|
8
|
+
import type { AnyExtension, Editor } from "@tiptap/react";
|
|
9
|
+
import React, { type HTMLAttributes } from "react";
|
|
10
|
+
import type { TemplateEditorProps } from "../../TemplateEditor";
|
|
11
|
+
export declare const defaultSlackContent: ElementalNode[];
|
|
12
|
+
export declare const SlackEditorContent: ({ value }: {
|
|
13
|
+
value?: TiptapDoc;
|
|
14
|
+
}) => null;
|
|
15
|
+
export interface SlackRenderProps {
|
|
16
|
+
content: TiptapDoc;
|
|
17
|
+
extensions: AnyExtension[];
|
|
18
|
+
editable: boolean;
|
|
19
|
+
autofocus: boolean;
|
|
20
|
+
onUpdate: ({ editor }: {
|
|
21
|
+
editor: Editor;
|
|
22
|
+
}) => void;
|
|
23
|
+
items: {
|
|
24
|
+
Sidebar: string[];
|
|
25
|
+
Editor: UniqueIdentifier[];
|
|
26
|
+
};
|
|
27
|
+
selectedNode: Node | null;
|
|
28
|
+
slackEditor: Editor | null;
|
|
29
|
+
}
|
|
30
|
+
export interface SlackProps extends Pick<TemplateEditorProps, "hidePublish" | "theme" | "variables" | "channels" | "routing" | "value">, Omit<HTMLAttributes<HTMLDivElement>, "value" | "onChange"> {
|
|
31
|
+
readOnly?: boolean;
|
|
32
|
+
headerRenderer?: ({ hidePublish, channels, routing, }: {
|
|
33
|
+
hidePublish?: boolean;
|
|
34
|
+
channels?: ChannelType[];
|
|
35
|
+
routing?: MessageRouting;
|
|
36
|
+
}) => React.ReactNode;
|
|
37
|
+
render?: (props: SlackRenderProps) => React.ReactNode;
|
|
38
|
+
}
|
|
39
|
+
export declare const SlackConfig: TextMenuConfig;
|
|
40
|
+
export declare const Slack: React.MemoExoticComponent<React.ForwardRefExoticComponent<SlackProps & React.RefAttributes<HTMLDivElement>>>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { SlackRenderProps } from "./Slack";
|
|
2
|
+
export interface SlackEditorProps extends SlackRenderProps {
|
|
3
|
+
}
|
|
4
|
+
export declare const SlackEditor: ({ content, extensions, editable, autofocus, onUpdate, items, }: SlackEditorProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SlackProps } from "./Slack";
|
|
2
|
+
import { type HTMLAttributes } from "react";
|
|
3
|
+
export interface SlackLayoutProps extends SlackProps {
|
|
4
|
+
}
|
|
5
|
+
export declare const SlackEditorContainer: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
6
|
+
export declare const SlackEditorMain: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export declare const SlackLayout: ({ hidePublish, theme, variables, channels, routing, }: SlackLayoutProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type HTMLAttributes } from "react";
|
|
2
2
|
export declare const ChannelRootContainer: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
3
|
-
previewMode
|
|
3
|
+
previewMode?: "desktop" | "mobile" | undefined;
|
|
4
4
|
readOnly?: boolean;
|
|
5
5
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
6
6
|
export declare const EditorSidebar: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
7
|
-
previewMode
|
|
7
|
+
previewMode?: "desktop" | "mobile" | undefined;
|
|
8
8
|
skipExpanded?: boolean;
|
|
9
9
|
width?: string;
|
|
10
10
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { MeasuringStrategy, type CollisionDetection, type DragEndEvent, type DragMoveEvent, type DragStartEvent, type UniqueIdentifier } from "@dnd-kit/core";
|
|
2
|
+
import type { Editor } from "@tiptap/react";
|
|
3
|
+
interface UseEditorDndProps {
|
|
4
|
+
items: {
|
|
5
|
+
Sidebar: string[];
|
|
6
|
+
Editor: UniqueIdentifier[];
|
|
7
|
+
};
|
|
8
|
+
setItems: React.Dispatch<React.SetStateAction<{
|
|
9
|
+
Sidebar: string[];
|
|
10
|
+
Editor: UniqueIdentifier[];
|
|
11
|
+
}>>;
|
|
12
|
+
editor?: Editor | null;
|
|
13
|
+
}
|
|
14
|
+
export declare const useEditorDnd: ({ items, setItems, editor }: UseEditorDndProps) => {
|
|
15
|
+
dndProps: {
|
|
16
|
+
sensors: import("@dnd-kit/core").SensorDescriptor<import("@dnd-kit/core").SensorOptions>[];
|
|
17
|
+
collisionDetection: CollisionDetection;
|
|
18
|
+
measuring: {
|
|
19
|
+
droppable: {
|
|
20
|
+
strategy: MeasuringStrategy;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
onDragStart: ({ active }: DragStartEvent) => void;
|
|
24
|
+
onDragMove: ({ active, over }: DragMoveEvent) => void;
|
|
25
|
+
onDragEnd: ({ active, over }: DragEndEvent) => void;
|
|
26
|
+
onDragCancel: () => void;
|
|
27
|
+
};
|
|
28
|
+
activeDragType: string | null;
|
|
29
|
+
activeId: UniqueIdentifier | null;
|
|
30
|
+
};
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { UniqueIdentifier } from "@dnd-kit/core";
|
|
2
|
+
import type { Editor } from "@tiptap/react";
|
|
3
|
+
interface UseSyncEditorItemsProps {
|
|
4
|
+
setItems: React.Dispatch<React.SetStateAction<{
|
|
5
|
+
Sidebar: string[];
|
|
6
|
+
Editor: UniqueIdentifier[];
|
|
7
|
+
}>>;
|
|
8
|
+
rafId: React.MutableRefObject<number | null>;
|
|
9
|
+
editor?: Editor | null;
|
|
10
|
+
}
|
|
11
|
+
export declare const useSyncEditorItems: ({ setItems, rafId, editor }: UseSyncEditorItemsProps) => {
|
|
12
|
+
syncEditorItems: (editor: Editor) => () => void;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -8,15 +8,19 @@ export { default as EmailEditor } from "./Channels/Email/EmailEditor";
|
|
|
8
8
|
export * from "./TemplateEditor";
|
|
9
9
|
export { SideBar as EmailSideBar, SideBarItemDetails as EmailSideBarItemDetails, } from "./Channels/Email/SideBar";
|
|
10
10
|
export { SideBar as InboxSideBar } from "./Channels/Inbox/SideBar";
|
|
11
|
+
export { MSTeamsSideBar } from "./Channels/MSTeams/SideBar";
|
|
12
|
+
export { SlackSideBar, SlackSideBarItemDetails } from "./Channels/Slack/SideBar";
|
|
11
13
|
export declare const EmailChannel: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./Channels").EmailProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
12
14
|
export declare const SMSChannel: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./Channels").SMSProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
13
15
|
export declare const PushChannel: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./Channels").PushProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
14
16
|
export declare const InboxChannel: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./Channels").InboxProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
15
|
-
export
|
|
17
|
+
export declare const MSTeamsChannel: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./Channels").MSTeamsProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
18
|
+
export declare const SlackChannel: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./Channels").SlackProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
19
|
+
export { EmailEditorContainer, EmailEditorMain, type EmailEditorProps, type InboxEditorProps, type MSTeamsEditorProps, type PushEditorProps, type SlackEditorProps, type SMSEditorProps, } from "./Channels";
|
|
16
20
|
export type { ChannelType } from "@/store";
|
|
17
21
|
export type { ElementalContent } from "@/types";
|
|
18
22
|
export { ChannelRootContainer, EditorSidebar } from "./Layout";
|
|
19
|
-
export { InboxEditor, PushEditor, SMSEditor } from "./Channels";
|
|
23
|
+
export { InboxEditor, MSTeamsEditor, PushEditor, SlackEditor, SMSEditor } from "./Channels";
|
|
20
24
|
export { useAutoSave } from "@/hooks/useAutoSave";
|
|
21
25
|
export { Status as TemplateStatus } from "@/components/ui/Status";
|
|
22
26
|
export { MonacoCodeEditor } from "@/components/extensions/CustomCode/MonacoCodeEditor";
|
|
@@ -12,7 +12,7 @@ export declare const templateEditorPublishedAtAtom: import("jotai").PrimitiveAto
|
|
|
12
12
|
export declare const templateEditorVersionAtom: import("jotai").PrimitiveAtom<string | null | undefined> & {
|
|
13
13
|
init: string | null | undefined;
|
|
14
14
|
};
|
|
15
|
-
export declare const
|
|
15
|
+
export declare const templateEditorAtom: import("jotai").PrimitiveAtom<Editor | null> & {
|
|
16
16
|
init: Editor | null;
|
|
17
17
|
};
|
|
18
18
|
export declare const brandEditorAtom: import("jotai").PrimitiveAtom<Editor | null> & {
|
|
@@ -16,12 +16,12 @@ export declare const buttonSchema: z.ZodObject<{
|
|
|
16
16
|
isStrike: z.ZodBoolean;
|
|
17
17
|
}, "strip", z.ZodTypeAny, {
|
|
18
18
|
padding: number;
|
|
19
|
-
borderWidth: number;
|
|
20
19
|
label: string;
|
|
21
20
|
backgroundColor: string;
|
|
22
21
|
textColor: string;
|
|
23
22
|
borderColor: string;
|
|
24
23
|
size: "full" | "default";
|
|
24
|
+
borderWidth: number;
|
|
25
25
|
borderRadius: number;
|
|
26
26
|
alignment: "left" | "center" | "right";
|
|
27
27
|
fontStyle: "italic" | "normal";
|
|
@@ -31,12 +31,12 @@ export declare const buttonSchema: z.ZodObject<{
|
|
|
31
31
|
link?: string | undefined;
|
|
32
32
|
}, {
|
|
33
33
|
padding: number;
|
|
34
|
-
borderWidth: number;
|
|
35
34
|
label: string;
|
|
36
35
|
backgroundColor: string;
|
|
37
36
|
textColor: string;
|
|
38
37
|
borderColor: string;
|
|
39
38
|
size: "full" | "default";
|
|
39
|
+
borderWidth: number;
|
|
40
40
|
borderRadius: number;
|
|
41
41
|
alignment: "left" | "center" | "right";
|
|
42
42
|
fontStyle: "italic" | "normal";
|
|
@@ -12,8 +12,8 @@ export declare const imageBlockSchema: z.ZodObject<{
|
|
|
12
12
|
imageNaturalWidth: z.ZodNumber;
|
|
13
13
|
}, "strip", z.ZodTypeAny, {
|
|
14
14
|
width: number;
|
|
15
|
-
borderWidth: number;
|
|
16
15
|
borderColor: string;
|
|
16
|
+
borderWidth: number;
|
|
17
17
|
borderRadius: number;
|
|
18
18
|
alignment: "left" | "center" | "right";
|
|
19
19
|
sourcePath: string;
|
|
@@ -23,8 +23,8 @@ export declare const imageBlockSchema: z.ZodObject<{
|
|
|
23
23
|
isUploading?: boolean | undefined;
|
|
24
24
|
}, {
|
|
25
25
|
width: number;
|
|
26
|
-
borderWidth: number;
|
|
27
26
|
borderColor: string;
|
|
27
|
+
borderWidth: number;
|
|
28
28
|
borderRadius: number;
|
|
29
29
|
alignment: "left" | "center" | "right";
|
|
30
30
|
sourcePath: string;
|
|
@@ -11,23 +11,23 @@ export declare const textBlockSchema: z.ZodObject<{
|
|
|
11
11
|
selected: z.ZodDefault<z.ZodBoolean>;
|
|
12
12
|
id: z.ZodOptional<z.ZodString>;
|
|
13
13
|
}, "strip", z.ZodTypeAny, {
|
|
14
|
-
borderWidth: number;
|
|
15
14
|
backgroundColor: string;
|
|
16
15
|
textColor: string;
|
|
17
16
|
paddingVertical: number;
|
|
18
17
|
paddingHorizontal: number;
|
|
19
18
|
borderColor: string;
|
|
19
|
+
borderWidth: number;
|
|
20
20
|
borderRadius: number;
|
|
21
21
|
textAlign: "left" | "center" | "right" | "justify";
|
|
22
22
|
selected: boolean;
|
|
23
23
|
id?: string | undefined;
|
|
24
24
|
}, {
|
|
25
|
-
borderWidth: number;
|
|
26
25
|
backgroundColor: string;
|
|
27
26
|
textColor: string;
|
|
28
27
|
paddingVertical: number;
|
|
29
28
|
paddingHorizontal: number;
|
|
30
29
|
borderColor: string;
|
|
30
|
+
borderWidth: number;
|
|
31
31
|
borderRadius: number;
|
|
32
32
|
id?: string | undefined;
|
|
33
33
|
textAlign?: "left" | "center" | "right" | "justify" | undefined;
|
|
@@ -2,6 +2,7 @@ import type { HTMLAttributes } from "react";
|
|
|
2
2
|
interface PreviewPanelProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
3
|
previewMode: "desktop" | "mobile" | undefined;
|
|
4
4
|
togglePreviewMode: (mode?: "desktop" | "mobile" | undefined) => void;
|
|
5
|
+
hideMobileToggle?: boolean;
|
|
5
6
|
}
|
|
6
|
-
export declare const PreviewPanel: ({ previewMode, togglePreviewMode, ...props }: PreviewPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare const PreviewPanel: ({ previewMode, togglePreviewMode, hideMobileToggle, ...props }: PreviewPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
export {};
|
|
@@ -28,8 +28,9 @@ export { ItalicIcon } from "./ItalicIcon";
|
|
|
28
28
|
export { LeftAlignIcon } from "./LeftAlignIcon";
|
|
29
29
|
export { LetterSpacingIcon } from "./LetterSpacingIcon";
|
|
30
30
|
export { LineHeightIcon } from "./LineHeightIcon";
|
|
31
|
-
export { LinkedinIcon } from "./LinkedinIcon";
|
|
32
31
|
export { LinkIcon } from "./LinkIcon";
|
|
32
|
+
export { LinkedinIcon } from "./LinkedinIcon";
|
|
33
|
+
export { MSTeamsIcon } from "./MSTeamsIcon";
|
|
33
34
|
export { MediumIcon } from "./MediumIcon";
|
|
34
35
|
export { MobileIcon } from "./MobileIcon";
|
|
35
36
|
export { MoreMenuIcon } from "./MoreMenuIcon";
|
|
@@ -43,11 +44,14 @@ export { RemoveFormattingIcon } from "./RemoveFormattingIcon";
|
|
|
43
44
|
export { RightAlignIcon } from "./RightAlignIcon";
|
|
44
45
|
export { RightArrowIcon } from "./RightArrowIcon";
|
|
45
46
|
export { RightToLineIcon } from "./RightToLineIcon";
|
|
46
|
-
export { SignalIcon } from "./SignalIcon";
|
|
47
47
|
export { SMSIcon } from "./SMSIcon";
|
|
48
|
+
export { SignalIcon } from "./SignalIcon";
|
|
49
|
+
export { SlackIcon } from "./SlackIcon";
|
|
48
50
|
export { StrikethroughIcon } from "./StrikethroughIcon";
|
|
49
51
|
export { UnderlineIcon } from "./UnderlineIcon";
|
|
52
|
+
export { UnionIcon } from "./UnionIcon";
|
|
50
53
|
export { UpIcon } from "./UpIcon";
|
|
54
|
+
export { UserIcon } from "./UserIcon";
|
|
51
55
|
export { VariableIcon } from "./VariableIcon";
|
|
52
56
|
export { WiFiIcon } from "./WiFiIcon";
|
|
53
57
|
export { XIcon } from "./XIcon";
|
package/dist/esm/index.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.ProseMirror{h1{@apply courier-text-3xl;}h2{@apply courier-text-2xl;}h3{@apply courier-text-xl;}h4{@apply courier-text-lg;}h5{@apply courier-text-base;}h6{@apply courier-text-sm;}h1,h2,h3,h4,h5,h6{@apply courier-font-bold first:courier-mt-0 last:courier-mb-0;}h1,h2,h3{@apply courier-mt-12;}h4,h5,h6{@apply courier-mt-8;}a.link{@apply courier-text-blue-700 courier-underline;}mark{@apply courier-bg-red-500 courier-rounded-sm courier-decoration-clone courier-text-inherit courier-py-1 courier-px-0 dark:courier-bg-red-400;}& img{@apply courier-h-auto courier-w-full courier-max-w-full;}[data-type=divider]{@apply courier-py-4 courier-transition-all courier-duration-100 courier-ease-in-out courier-cursor-pointer;&.ProseMirror-selectednode{@apply courier-bg-black/5 dark:courier-bg-white/10;hr{@apply courier-border-t-black/30 dark:courier-border-t-white/30;}}hr{@apply courier-border-0 courier-border-t courier-border-black/20 courier-bg-black/80 courier-m-0 courier-h-px;@apply dark:courier-border-white/20 dark:courier-bg-white/80;}}[data-type=emoji]{display:inline-block;img{width:1em;height:1em;object-fit:cover;display:block}}}.theme-container{--color-scheme: light;--background: #ffffff;--foreground: #404040;--muted: #D9D9D9;--muted-foreground: #A3A3A3;--popover: #ffffff;--popover-foreground: #292929;--border: #DCDEE4;--input: #DCDEE4;--card: #FAF9F8;--card-foreground: #292929;--primary: #ffffff;--primary-foreground: #696F8C;--secondary: #F5F5F5;--secondary-foreground: #171717;--accent: #E5F3FF;--accent-foreground: #1D4ED8;--destructive: #292929;--destructive-foreground: #FF3363;--ring: #80849D;--radius: 6px}.ProseMirror{>*:first-child,[data-type=column]>*{@apply first:courier-mt-0 last:courier-mb-0;}>*+*{margin-top:.75em}.node-imageUpload{@apply courier-rounded courier-border-2 courier-border-dotted courier-border-black courier-border-opacity-10 courier-p-2 dark:courier-border-neutral-500;transition:border .16s cubic-bezier(.45,.05,.55,.95);&:hover{@apply courier-border-opacity-30;}&:has(.is-active),&.has-focus{@apply courier-border-opacity-40;}}[data-type=columns]{&.has-focus [data-type=column],&:hover [data-type=column]{@apply courier-border-neutral-300 dark:courier-border-neutral-700;}[data-type=column].has-focus{@apply courier-border-neutral-400 dark:courier-border-neutral-600;}}[data-type=column]{@apply courier-rounded courier-border-2 courier-border-dotted courier-border-transparent courier-p-1;transition:border .16s cubic-bezier(.45,.05,.55,.95);&:hover{@apply courier-border-neutral-100 dark:courier-border-neutral-900;}&:has(.is-active),&.has-focus{@apply courier-border-neutral-100 dark:courier-border-neutral-900;}}.node-imageBlock{& img{@apply courier-border-2 courier-border-transparent courier-rounded-xl courier-overflow-hidden;}&:hover img{@apply courier-border-2 courier-border-neutral-100 dark:courier-border-neutral-900;}&:has(.is-active) img,&.has-focus img{@apply courier-border-2 courier-border-neutral-800 dark:courier-border-neutral-200;}}.node-aiWriter,.node-aiImage,.node-tableOfContentsNode{&.has-focus [data-node-view-wrapper]>*{@apply courier-shadow-[0_0_0_2px] courier-shadow-black/30 dark:courier-shadow-white/30 courier-transition-all courier-rounded-lg;}}.ProseMirror-gapcursor+.node-imageBlock,.ProseMirror-gapcursor+.node-imageUpload,.ProseMirror-gapcursor+.node-blockquote{@apply courier-outline-neutral-700 hover:courier-outline-neutral-600 dark:courier-outline-neutral-300 dark:hover:courier-outline-neutral-400;}}@tailwind base;@tailwind components;@tailwind utilities;@keyframes pop{0%{transform:scale(1);box-shadow:var(--box-shadow)}to{transform:scale(var(--scale));box-shadow:var(--box-shadow-picked-up)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@layer base{*{@apply courier-border-border courier-outline-ring;}body{@apply courier-font-sans courier-antialiased courier-bg-background courier-text-foreground;}}.courier-main-layout{@apply courier-relative courier-flex-grow courier-rounded-sm courier-border courier-border-border courier-bg-card courier-flex courier-flex-col courier-text-foreground courier-min-w-[812px] courier-h-[700px] courier-overflow-hidden courier-z-10;&:before{@apply courier-absolute courier-inset-0 -courier-z-10;content:"";background:radial-gradient(#0A0A0A32 1px,transparent 1px);background-size:15px 15px}}.courier-editor-container{@apply courier-relative courier-flex-1 courier-flex courier-flex-col courier-p-6 courier-overflow-y-auto courier-transition-all courier-duration-300 courier-ease-in-out;}.courier-editor-sidebar{@apply courier-rounded-br-sm courier-border-border courier-bg-white courier-border-l courier-overflow-y-auto courier-transition-all courier-duration-300 courier-ease-in-out dark:courier-bg-black;}.courier-editor-loading{@apply courier-w-full courier-h-full courier-flex courier-items-center courier-justify-center courier-grow courier-z-50 courier-absolute courier-top-0 courier-left-0 courier-right-0 courier-bottom-0 courier-bg-card;}.courier-brand-editor-readonly{@apply courier-pointer-events-none;.ProseMirror{@apply courier-cursor-default courier-p-0;.react-renderer{@apply courier-cursor-default;&.node-paragraph{p{@apply courier-text-sm;}.is-empty{p{&:after{content:""}}}}.draggable-item{@apply courier-p-0;}}}}.courier-theme-editor-main{@apply courier-bg-white courier-rounded-lg courier-border courier-border-border courier-shadow-sm courier-max-w-2xl courier-select-none courier-self-center courier-w-full;>div{@apply courier-w-full;.ProseMirror{@apply courier-p-0;.react-renderer{&.node-paragraph{.selected-element{.node-element{&:before{@apply courier-hidden;}}.courier-actions-panel{@apply courier-hidden;}}p{@apply courier-text-sm;}.is-empty{p{&:after{content:"Write footer text..."}}}&:hover{.draggable-item{>button{@apply courier-hidden;}}}.draggable-item{@apply courier-p-0;}}}}}}.courier-editor-main{@apply courier-relative courier-bg-white courier-rounded-lg courier-border courier-border-border courier-shadow-sm courier-max-w-2xl courier-select-none courier-self-center courier-w-full;>div{@apply courier-w-full;}}.courier-editor-preview-mode,.courier-editor-readonly{&.courier-editor-preview-mode-mobile{.courier-editor-main{@apply courier-max-w-sm;&:hover{>button{@apply courier-hidden;}}}}.ProseMirror{@apply courier-pointer-events-none;>.react-renderer{&.node-imageBlock,&.node-button,&.node-divider,&.node-paragraph,&.node-heading,&.node-blockquote,&.node-buttonRow,&.node-customCode{*{@apply courier-cursor-default courier-pointer-events-none;}[data-cypress=draggable-handle]{@apply courier-hidden;}.selected-element{.courier-actions-panel{@apply courier-hidden;}.node-element{&:before{@apply courier-hidden;}}}&:hover,&:active{[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div,>hr,&.courier-empty-image{&:before{@apply courier-hidden;}}}}}&.node-imageBlock{.courier-empty-image{@apply courier-hidden;}}&.node-paragraph,&.node-blockquote{.is-empty{p,blockquote{&:after{@apply courier-hidden;}}}}&.node-heading{.is-empty{h1,h2,h3{&:after{@apply courier-hidden;}}}}}}}.courier-sms-editor{@apply courier-flex courier-flex-col courier-py-2 courier-rounded-lg courier-bg-card courier-m-6 courier-mr-14 courier-mt-10;.ProseMirror{@apply courier-p-0;>.react-renderer{.draggable-item{@apply courier-px-4;}&.node-paragraph{.selected-element{.node-element{&:before{@apply courier-hidden;}}.courier-actions-panel{@apply courier-hidden;}}}&:hover{.draggable-item{@apply courier-px-4;}[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div{&:before{@apply courier-hidden;}}}}}}}.courier-push-editor{@apply courier-py-2 courier-pr-4 courier-rounded-lg courier-bg-card courier-m-6 courier-relative;&:before{content:"now";@apply courier-absolute courier-top-3 courier-right-3 courier-z-10 courier-text-xs courier-text-gray-500;}.ProseMirror{@apply courier-p-0 courier-gap-0.5 courier-flex courier-flex-col;>.react-renderer{.node-element{>div{@apply !courier-p-0;}h2,p{@apply courier-text-sm;}}.draggable-item{@apply courier-px-4;}&.node-paragraph,&.node-heading{.selected-element{.node-element{&:before{@apply courier-hidden;}}.courier-actions-panel{@apply courier-hidden;}}}&:hover{.draggable-item{@apply courier-px-4;}[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div{&:before{@apply courier-hidden;}}}}}}}.courier-inbox-editor{@apply courier-overflow-auto courier-flex-1 courier-border-y courier-border-border;max-height:calc(90% - 56px);.ProseMirror{@apply courier-p-4 courier-pr-10 courier-gap-0.5 courier-flex courier-flex-col;&:before{content:"now";@apply courier-absolute courier-top-4 courier-right-4 courier-z-10 courier-text-sm courier-text-gray-500;}>.react-renderer{.node-element{>div{@apply !courier-p-0;}h2,p{@apply courier-text-sm;}}&.node-button{@apply courier-mt-2;.node-element{>div{>div{@apply courier-py-1 courier-px-2 courier-text-sm;}}}}&.node-buttonRow{@apply courier-mt-2;.draggable-item{justify-content:flex-start!important}[data-cypress=draggable-handle]{@apply courier-hidden;}}.draggable-item{@apply courier-p-0;}&.node-paragraph,&.node-heading,&.node-buttonRow{.selected-element{.node-element{&:before{@apply courier-hidden;}}.courier-actions-panel{@apply courier-hidden;}}}&:hover{[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div{&:before{@apply courier-hidden;}}}}}}}.ProseMirror{@apply courier-caret-black dark:courier-caret-white courier-outline-0 courier-pr-10 courier-pl-4 courier-py-10 courier-z-0 lg:courier-pl-2 lg:courier-pr-10 courier-max-w-2xl courier-h-full;.selection{@apply courier-inline;}.selection,*::selection{@apply courier-bg-black/10 dark:courier-bg-white/20 courier-inline;}>.react-renderer{@apply courier-my-12 first:courier-mt-0 last:courier-mb-0;&.node-divider{@apply courier-flex courier-flex-col courier-justify-center;}&.node-variable{@apply courier-inline-block courier-m-0;}&.node-dragPlaceholder{@apply courier-m-0;}&.node-paragraph{@apply courier-m-0;&:focus,&:focus-visible{outline:none}}&.node-paragraph,&.node-blockquote,&.node-customCode{p{>div{@apply courier-block courier-relative courier-cursor-text;&[contenteditable=true]{outline:none;caret-color:currentColor}}}.is-empty{p,blockquote{position:relative;&:after{content:"Write body text...";@apply courier-absolute courier-top-0 courier-left-0 courier-text-neutral-500 dark:courier-text-neutral-400 -courier-z-10;}}.courier-custom-code{&:after{content:"Add custom HTML code...";@apply courier-absolute courier-left-0 courier-text-neutral-500 dark:courier-text-neutral-400 -courier-z-10;}}}}&.node-heading{h1,h2,h3{>div{@apply courier-block courier-relative courier-cursor-text;&[contenteditable=true]{outline:none;caret-color:currentColor}}}.is-empty{h1,h2,h3{position:relative;&:after{content:"Write heading...";@apply courier-absolute courier-top-0 courier-left-0 courier-text-neutral-500 dark:courier-text-neutral-400 -courier-z-10;}}}}&.node-imageBlock,&.node-button,&.node-divider,&.node-paragraph,&.node-heading,&.node-blockquote,&.node-customCode{@apply courier-m-0 courier-relative;[data-cypress=draggable-handle]{@apply courier-invisible;}&:hover,&:active{[data-cypress=draggable-handle]{@apply courier-visible;}.node-element{>div,>hr,&.courier-empty-image{&:before{@apply courier-left-[-12px] courier-right-[-12px] courier-top-0 courier-bottom-0 courier-rounded-md courier-border-2 courier-border-border courier-absolute courier-content-[""];}}}}.node-element{@apply courier-relative;&:focus,&:focus-visible{outline:none}}.selected-element{.node-element{@apply courier-relative courier-z-20;&:before{@apply courier-left-[-12px] courier-right-[-12px] courier-top-0 courier-bottom-0 courier-rounded-md courier-border courier-border-[#0085FF] courier-absolute courier-content-[""] -courier-z-10;}.node-element{&:before{@apply courier-hidden;}}}.courier-actions-panel{@apply courier-block;}}}&.node-blockquote{@apply courier-m-0;@apply courier-text-foreground;@apply dark:courier-text-white;&:hover,&:active{[data-cypress=draggable-handle]{@apply courier-visible;}.node-element{&:before{@apply courier-left-[-12px] courier-right-[-12px] courier-top-0 courier-bottom-0 courier-rounded-md !courier-border-2 !courier-border-border courier-absolute courier-content-[""] -courier-z-20;}>div{&:before{@apply courier-hidden;}}.node-element{&:before{@apply courier-hidden;}}}.selected-element{.node-element{.node-element{&:before{@apply courier-hidden -courier-z-20;}}}}}}}&.resize-cursor{@apply courier-cursor-col-resize;}.ProseMirror-gapcursor{@apply courier-relative courier-w-full courier-max-w-2xl courier-mx-auto;&:after{@apply courier-border-t-black/40 dark:courier-border-t-white/40 courier-w-full courier-top-[-1.5em] courier-max-w-2xl courier-mx-auto courier-left-0 courier-right-0;}}}[data-theme=slash-command]{@apply courier-w-full;}.tiptap{outline:none;:first-child{margin-top:0}ul,ol{padding:0 1rem;margin:1.25rem 1rem 1.25rem .4rem;li p{margin-top:.25em;margin-bottom:.25em}}h1,h2,h3,h4,h5,h6{line-height:1.1;margin-top:2.5rem;text-wrap:pretty}h1,h2{margin-top:3.5rem;margin-bottom:1.5rem}h1{font-size:1.4rem}h2{font-size:1.2rem}h3{font-size:1.1rem}h4,h5,h6{font-size:1rem}code{background-color:var(--purple-light);border-radius:.4rem;color:var(--black);font-size:.85rem;padding:.25em .3em}pre{background:var(--black);border-radius:.5rem;color:var(--white);font-family:JetBrainsMono,monospace;margin:1.5rem 0;padding:.75rem 1rem;code{background:none;color:inherit;font-size:.8rem;padding:0}}}@layer utilities{.animate-pop{animation:pop .2s cubic-bezier(.18,.67,.6,1.22)}.animate-fadeIn{animation:fadeIn .5s ease}.touch-transparent{-webkit-tap-highlight-color:transparent}.courier-editor-preview-mode{&.courier-main-content{flex-grow:1;width:100%}>div:last-child{width:0}}}
|
|
1
|
+
.ProseMirror{h1{@apply courier-text-3xl;}h2{@apply courier-text-2xl;}h3{@apply courier-text-xl;}h4{@apply courier-text-lg;}h5{@apply courier-text-base;}h6{@apply courier-text-sm;}h1,h2,h3,h4,h5,h6{@apply courier-font-bold first:courier-mt-0 last:courier-mb-0;}h1,h2,h3{@apply courier-mt-12;}h4,h5,h6{@apply courier-mt-8;}a.link{@apply courier-text-blue-700 courier-underline;}mark{@apply courier-bg-red-500 courier-rounded-sm courier-decoration-clone courier-text-inherit courier-py-1 courier-px-0 dark:courier-bg-red-400;}& img{@apply courier-h-auto courier-w-full courier-max-w-full;}[data-type=divider]{@apply courier-py-4 courier-transition-all courier-duration-100 courier-ease-in-out courier-cursor-pointer;&.ProseMirror-selectednode{@apply courier-bg-black/5 dark:courier-bg-white/10;hr{@apply courier-border-t-black/30 dark:courier-border-t-white/30;}}hr{@apply courier-border-0 courier-border-t courier-border-black/20 courier-bg-black/80 courier-m-0 courier-h-px;@apply dark:courier-border-white/20 dark:courier-bg-white/80;}}[data-type=emoji]{display:inline-block;img{width:1em;height:1em;object-fit:cover;display:block}}}.theme-container{--color-scheme: light;--background: #ffffff;--foreground: #404040;--muted: #D9D9D9;--muted-foreground: #A3A3A3;--popover: #ffffff;--popover-foreground: #292929;--border: #DCDEE4;--input: #DCDEE4;--card: #FAF9F8;--card-foreground: #292929;--primary: #ffffff;--primary-foreground: #696F8C;--secondary: #F5F5F5;--secondary-foreground: #171717;--accent: #E5F3FF;--accent-foreground: #1D4ED8;--destructive: #292929;--destructive-foreground: #FF3363;--ring: #80849D;--radius: 6px}.ProseMirror{>*:first-child,[data-type=column]>*{@apply first:courier-mt-0 last:courier-mb-0;}>*+*{margin-top:.75em}.node-imageUpload{@apply courier-rounded courier-border-2 courier-border-dotted courier-border-black courier-border-opacity-10 courier-p-2 dark:courier-border-neutral-500;transition:border .16s cubic-bezier(.45,.05,.55,.95);&:hover{@apply courier-border-opacity-30;}&:has(.is-active),&.has-focus{@apply courier-border-opacity-40;}}[data-type=columns]{&.has-focus [data-type=column],&:hover [data-type=column]{@apply courier-border-neutral-300 dark:courier-border-neutral-700;}[data-type=column].has-focus{@apply courier-border-neutral-400 dark:courier-border-neutral-600;}}[data-type=column]{@apply courier-rounded courier-border-2 courier-border-dotted courier-border-transparent courier-p-1;transition:border .16s cubic-bezier(.45,.05,.55,.95);&:hover{@apply courier-border-neutral-100 dark:courier-border-neutral-900;}&:has(.is-active),&.has-focus{@apply courier-border-neutral-100 dark:courier-border-neutral-900;}}.node-imageBlock{& img{@apply courier-border-2 courier-border-transparent courier-rounded-xl courier-overflow-hidden;}&:hover img{@apply courier-border-2 courier-border-neutral-100 dark:courier-border-neutral-900;}&:has(.is-active) img,&.has-focus img{@apply courier-border-2 courier-border-neutral-800 dark:courier-border-neutral-200;}}.node-aiWriter,.node-aiImage,.node-tableOfContentsNode{&.has-focus [data-node-view-wrapper]>*{@apply courier-shadow-[0_0_0_2px] courier-shadow-black/30 dark:courier-shadow-white/30 courier-transition-all courier-rounded-lg;}}.ProseMirror-gapcursor+.node-imageBlock,.ProseMirror-gapcursor+.node-imageUpload,.ProseMirror-gapcursor+.node-blockquote{@apply courier-outline-neutral-700 hover:courier-outline-neutral-600 dark:courier-outline-neutral-300 dark:hover:courier-outline-neutral-400;}}@tailwind base;@tailwind components;@tailwind utilities;@keyframes pop{0%{transform:scale(1);box-shadow:var(--box-shadow)}to{transform:scale(var(--scale));box-shadow:var(--box-shadow-picked-up)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@layer base{*{@apply courier-border-border courier-outline-ring;}body{@apply courier-font-sans courier-antialiased courier-bg-background courier-text-foreground;}}.courier-main-layout{@apply courier-relative courier-flex-grow courier-rounded-sm courier-border courier-border-border courier-bg-card courier-flex courier-flex-col courier-text-foreground courier-min-w-[812px] courier-h-[700px] courier-overflow-hidden courier-z-10;&:before{@apply courier-absolute courier-inset-0 -courier-z-10;content:"";background:radial-gradient(#0A0A0A32 1px,transparent 1px);background-size:15px 15px}}.courier-editor-container{@apply courier-relative courier-flex-1 courier-flex courier-flex-col courier-p-6 courier-overflow-y-auto courier-transition-all courier-duration-300 courier-ease-in-out;}.courier-editor-sidebar{@apply courier-rounded-br-sm courier-border-border courier-bg-white courier-border-l courier-overflow-y-auto courier-transition-all courier-duration-300 courier-ease-in-out dark:courier-bg-black;}.courier-editor-loading{@apply courier-w-full courier-h-full courier-flex courier-items-center courier-justify-center courier-grow courier-z-50 courier-absolute courier-top-0 courier-left-0 courier-right-0 courier-bottom-0 courier-bg-card;}.courier-brand-editor-readonly{@apply courier-pointer-events-none;.ProseMirror{@apply courier-cursor-default courier-p-0;.react-renderer{@apply courier-cursor-default;&.node-paragraph{p{@apply courier-text-sm;}.is-empty{p{&:after{content:""}}}}.draggable-item{@apply courier-p-0;}}}}.courier-theme-editor-main{@apply courier-bg-white courier-rounded-lg courier-border courier-border-border courier-shadow-sm courier-max-w-2xl courier-select-none courier-self-center courier-w-full;>div{@apply courier-w-full;.ProseMirror{@apply courier-p-0;.react-renderer{&.node-paragraph{.selected-element{.node-element{&:before{@apply courier-hidden;}}.courier-actions-panel{@apply courier-hidden;}}p{@apply courier-text-sm;}.is-empty{p{&:after{content:"Write footer text..."}}}&:hover{.draggable-item{>button{@apply courier-hidden;}}}.draggable-item{@apply courier-p-0;}}}}}}.courier-editor-main{@apply courier-relative courier-bg-white courier-rounded-lg courier-border courier-border-border courier-shadow-sm courier-max-w-2xl courier-select-none courier-self-center courier-w-full;>div{@apply courier-w-full;}}.courier-editor-preview-mode,.courier-editor-readonly{&.courier-editor-preview-mode-mobile{.courier-editor-main{@apply courier-max-w-sm;&:hover{>button{@apply courier-hidden;}}}}.ProseMirror{@apply courier-pointer-events-none;>.react-renderer{&.node-imageBlock,&.node-button,&.node-divider,&.node-paragraph,&.node-heading,&.node-blockquote,&.node-buttonRow,&.node-customCode{*{@apply courier-cursor-default courier-pointer-events-none;}[data-cypress=draggable-handle]{@apply courier-hidden;}.selected-element{.courier-actions-panel{@apply courier-hidden;}.node-element{&:before{@apply courier-hidden;}}}&:hover,&:active{[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div,>hr,&.courier-empty-image{&:before{@apply courier-hidden;}}}}}&.node-imageBlock{.courier-empty-image{@apply courier-hidden;}}&.node-paragraph,&.node-blockquote{.is-empty{p,blockquote{&:after{@apply courier-hidden;}}}}&.node-heading{.is-empty{h1,h2,h3{&:after{@apply courier-hidden;}}}}}}}.courier-sms-editor{@apply courier-flex courier-flex-col courier-py-2 courier-rounded-lg courier-bg-card courier-m-6 courier-mr-14 courier-mt-10;.ProseMirror{@apply courier-p-0;>.react-renderer{.draggable-item{@apply courier-px-4;}&.node-paragraph{.selected-element{.node-element{&:before{@apply courier-hidden;}}.courier-actions-panel{@apply courier-hidden;}}}&:hover{.draggable-item{@apply courier-px-4;}[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div{&:before{@apply courier-hidden;}}}}}}}.courier-push-editor{@apply courier-py-2 courier-pr-4 courier-rounded-lg courier-bg-card courier-m-6 courier-relative;&:before{content:"now";@apply courier-absolute courier-top-3 courier-right-3 courier-z-10 courier-text-xs courier-text-gray-500;}.ProseMirror{@apply courier-p-0 courier-gap-0.5 courier-flex courier-flex-col;>.react-renderer{.node-element{>div{@apply !courier-p-0;}h2,p{@apply courier-text-sm;}}.draggable-item{@apply courier-px-4;}&.node-paragraph,&.node-heading{.selected-element{.node-element{&:before{@apply courier-hidden;}}.courier-actions-panel{@apply courier-hidden;}}}&:hover{.draggable-item{@apply courier-px-4;}[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div{&:before{@apply courier-hidden;}}}}}}}.courier-inbox-editor{@apply courier-overflow-auto courier-flex-1 courier-border-y courier-border-border;max-height:calc(90% - 56px);.ProseMirror{@apply courier-p-4 courier-pr-10 courier-gap-0.5 courier-flex courier-flex-col;&:before{content:"now";@apply courier-absolute courier-top-4 courier-right-4 courier-z-10 courier-text-sm courier-text-gray-500;}>.react-renderer{.node-element{>div{@apply !courier-p-0;}h2,p{@apply courier-text-sm;}}&.node-button{@apply courier-mt-2;.node-element{>div{>div{@apply courier-py-1 courier-px-2 courier-text-sm;}}}}&.node-buttonRow{@apply courier-mt-2;.draggable-item{justify-content:flex-start!important}[data-cypress=draggable-handle]{@apply courier-hidden;}}.draggable-item{@apply courier-p-0;}&.node-paragraph,&.node-heading,&.node-buttonRow{.selected-element{.node-element{&:before{@apply courier-hidden;}}.courier-actions-panel{@apply courier-hidden;}}}&:hover{[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div{&:before{@apply courier-hidden;}}}}}}}.ProseMirror{@apply courier-caret-black dark:courier-caret-white courier-outline-0 courier-pr-10 courier-pl-4 courier-py-10 courier-z-0 lg:courier-pl-2 lg:courier-pr-10 courier-max-w-2xl courier-h-full;.selection{@apply courier-inline;}.selection,*::selection{@apply courier-bg-black/10 dark:courier-bg-white/20 courier-inline;}>.react-renderer{@apply courier-my-12 first:courier-mt-0 last:courier-mb-0;&.node-divider{@apply courier-flex courier-flex-col courier-justify-center;}&.node-variable{@apply courier-inline-block courier-m-0;}&.node-dragPlaceholder{@apply courier-m-0;}&.node-paragraph{@apply courier-m-0;&:focus,&:focus-visible{outline:none}}&.node-paragraph,&.node-blockquote,&.node-customCode{p{>div{@apply courier-block courier-relative courier-cursor-text;&[contenteditable=true]{outline:none;caret-color:currentColor}}}.is-empty{p,blockquote{position:relative;&:after{content:"Write body text...";@apply courier-absolute courier-top-0 courier-left-0 courier-text-neutral-500 dark:courier-text-neutral-400 -courier-z-10;}}.courier-custom-code{&:after{content:"Use the right panel to add custom HTML code...";@apply courier-absolute courier-left-0 courier-text-neutral-500 dark:courier-text-neutral-400 -courier-z-10;}}}}&.node-heading{h1,h2,h3{>div{@apply courier-block courier-relative courier-cursor-text;&[contenteditable=true]{outline:none;caret-color:currentColor}}}.is-empty{h1,h2,h3{position:relative;&:after{content:"Write heading...";@apply courier-absolute courier-top-0 courier-left-0 courier-text-neutral-500 dark:courier-text-neutral-400 -courier-z-10;}}}}&.node-imageBlock,&.node-button,&.node-divider,&.node-paragraph,&.node-heading,&.node-blockquote,&.node-customCode{@apply courier-m-0 courier-relative;[data-cypress=draggable-handle]{@apply courier-invisible;}&:hover,&:active{[data-cypress=draggable-handle]{@apply courier-visible;}.node-element{>div,>hr,&.courier-empty-image{&:before{@apply courier-left-[-12px] courier-right-[-12px] courier-top-0 courier-bottom-0 courier-rounded-md courier-border-2 courier-border-border courier-absolute courier-content-[""];}}}}.node-element{@apply courier-relative;&:focus,&:focus-visible{outline:none}}.selected-element{.node-element{@apply courier-relative courier-z-20;&:before{@apply courier-left-[-12px] courier-right-[-12px] courier-top-0 courier-bottom-0 courier-rounded-md courier-border courier-border-[#0085FF] courier-absolute courier-content-[""] -courier-z-10;}.node-element{&:before{@apply courier-hidden;}}}.courier-actions-panel{@apply courier-block;}}}&.node-blockquote{@apply courier-m-0;@apply courier-text-foreground;@apply dark:courier-text-white;&:hover,&:active{[data-cypress=draggable-handle]{@apply courier-visible;}.node-element{&:before{@apply courier-left-[-12px] courier-right-[-12px] courier-top-0 courier-bottom-0 courier-rounded-md !courier-border-2 !courier-border-border courier-absolute courier-content-[""] -courier-z-20;}>div{&:before{@apply courier-hidden;}}.node-element{&:before{@apply courier-hidden;}}}.selected-element{.node-element{.node-element{&:before{@apply courier-hidden -courier-z-20;}}}}}}}&.resize-cursor{@apply courier-cursor-col-resize;}.ProseMirror-gapcursor{@apply courier-relative courier-w-full courier-max-w-2xl courier-mx-auto;&:after{@apply courier-border-t-black/40 dark:courier-border-t-white/40 courier-w-full courier-top-[-1.5em] courier-max-w-2xl courier-mx-auto courier-left-0 courier-right-0;}}}.courier-slack-editor,.courier-msteams-editor{.ProseMirror{@apply courier-p-0;>.react-renderer{@apply courier-my-2 first:courier-mt-0 last:courier-mb-0;&.node-dragPlaceholder{@apply courier-m-0;}&.node-button,&.node-divider,&.node-paragraph,&.node-heading,&.node-blockquote,&.node-buttonRow{@apply courier-m-0 courier-relative;&.node-button{.node-element{>div{@apply !courier-justify-start;>div{@apply !courier-bg-transparent !courier-mr-auto !courier-ml-0;border:1px solid #E5E5E5!important;border-radius:6px!important;color:#171717!important;padding:6px 9.6px!important;font-weight:500!important;font-size:14px!important;font-style:normal!important;line-height:24px!important;box-shadow:0 1px 2px #0000000f!important;&:hover{@apply courier-bg-gray-50;}}}}}[data-cypress=draggable-handle]{@apply courier-invisible;}&:hover,&:active{[data-cypress=draggable-handle]{@apply courier-visible;}.node-element{>div,>hr{&:before{@apply courier-left-[-12px] courier-right-[-12px] courier-top-0 courier-bottom-0 courier-rounded-md courier-border-2 courier-border-border courier-absolute courier-content-[""];}}}}.node-element{@apply courier-relative;&:focus,&:focus-visible{outline:none}}.selected-element{.node-element{@apply courier-relative courier-z-20;&:before{@apply courier-left-[-12px] courier-right-[-12px] courier-top-0 courier-bottom-0 courier-rounded-md courier-border courier-border-[#0085FF] courier-absolute courier-content-[""] -courier-z-10;}.node-element{&:before{@apply courier-hidden;}}}.courier-actions-panel{@apply courier-block;}}}}}}[data-theme=slash-command]{@apply courier-w-full;}.tiptap{outline:none;:first-child{margin-top:0}ul,ol{padding:0 1rem;margin:1.25rem 1rem 1.25rem .4rem;li p{margin-top:.25em;margin-bottom:.25em}}h1,h2,h3,h4,h5,h6{line-height:1.1;margin-top:2.5rem;text-wrap:pretty}h1,h2{margin-top:3.5rem;margin-bottom:1.5rem}h1{font-size:1.4rem}h2{font-size:1.2rem}h3{font-size:1.1rem}h4,h5,h6{font-size:1rem}code{background-color:var(--purple-light);border-radius:.4rem;color:var(--black);font-size:.85rem;padding:.25em .3em}pre{background:var(--black);border-radius:.5rem;color:var(--white);font-family:JetBrainsMono,monospace;margin:1.5rem 0;padding:.75rem 1rem;code{background:none;color:inherit;font-size:.8rem;padding:0}}}@layer utilities{.animate-pop{animation:pop .2s cubic-bezier(.18,.67,.6,1.22)}.animate-fadeIn{animation:fadeIn .5s ease}.touch-transparent{-webkit-tap-highlight-color:transparent}.courier-editor-preview-mode{&.courier-main-content{flex-grow:1;width:100%}>div:last-child{width:0}}}
|
|
2
2
|
/*# sourceMappingURL=index.css.map */
|