@daisychainapp/maily-to-core 0.4.0 → 0.4.1
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/extensions/index.cjs +12 -71
- package/dist/extensions/index.cjs.map +1 -1
- package/dist/extensions/index.mjs +11 -70
- package/dist/extensions/index.mjs.map +1 -1
- package/dist/index.cjs +657 -837
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +12 -19
- package/dist/index.css.map +1 -1
- package/dist/index.mjs +503 -683
- package/dist/index.mjs.map +1 -1
- package/package.json +10 -10
- package/LICENSE +0 -21
package/dist/index.mjs
CHANGED
|
@@ -53,7 +53,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
53
53
|
|
|
54
54
|
// src/editor/index.tsx
|
|
55
55
|
import { EditorContent, useEditor } from "@tiptap/react";
|
|
56
|
-
import { useMemo as
|
|
56
|
+
import { useMemo as useMemo12, useRef as useRef13 } from "react";
|
|
57
57
|
|
|
58
58
|
// src/editor/components/column-menu/columns-bubble-menu.tsx
|
|
59
59
|
import { BubbleMenu } from "@tiptap/react";
|
|
@@ -4997,126 +4997,6 @@ var EditorMenuBar = (props) => {
|
|
|
4997
4997
|
);
|
|
4998
4998
|
};
|
|
4999
4999
|
|
|
5000
|
-
// src/editor/components/html-menu/html-menu.tsx
|
|
5001
|
-
import { BubbleMenu as BubbleMenu2 } from "@tiptap/react";
|
|
5002
|
-
import { CodeXmlIcon, ViewIcon } from "lucide-react";
|
|
5003
|
-
import { useCallback as useCallback4 } from "react";
|
|
5004
|
-
import { sticky as sticky2 } from "tippy.js";
|
|
5005
|
-
|
|
5006
|
-
// src/editor/components/html-menu/use-html-state.ts
|
|
5007
|
-
import { useEditorState as useEditorState2 } from "@tiptap/react";
|
|
5008
|
-
import deepEql2 from "fast-deep-equal";
|
|
5009
|
-
var useHtmlState = (editor) => {
|
|
5010
|
-
const states = useEditorState2({
|
|
5011
|
-
editor,
|
|
5012
|
-
selector: (ctx) => {
|
|
5013
|
-
var _a, _b;
|
|
5014
|
-
return {
|
|
5015
|
-
activeTab: ((_a = ctx.editor.getAttributes("htmlCodeBlock")) == null ? void 0 : _a.activeTab) || "code",
|
|
5016
|
-
currentShowIfKey: ((_b = ctx.editor.getAttributes("htmlCodeBlock")) == null ? void 0 : _b.showIfKey) || ""
|
|
5017
|
-
};
|
|
5018
|
-
},
|
|
5019
|
-
equalityFn: deepEql2
|
|
5020
|
-
});
|
|
5021
|
-
return states;
|
|
5022
|
-
};
|
|
5023
|
-
|
|
5024
|
-
// src/editor/components/html-menu/html-menu.tsx
|
|
5025
|
-
import { jsx as jsx16, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
5026
|
-
function HTMLBubbleMenu(props) {
|
|
5027
|
-
const { appendTo, editor } = props;
|
|
5028
|
-
if (!editor) {
|
|
5029
|
-
return null;
|
|
5030
|
-
}
|
|
5031
|
-
const state = useHtmlState(editor);
|
|
5032
|
-
const getReferenceClientRect = useCallback4(() => {
|
|
5033
|
-
const renderContainer = getRenderContainer(editor, "htmlCodeBlock");
|
|
5034
|
-
const rect = (renderContainer == null ? void 0 : renderContainer.getBoundingClientRect()) || new DOMRect(-1e3, -1e3, 0, 0);
|
|
5035
|
-
return rect;
|
|
5036
|
-
}, [editor]);
|
|
5037
|
-
const bubbleMenuProps = __spreadProps(__spreadValues(__spreadValues({}, props), appendTo ? { appendTo: appendTo.current } : {}), {
|
|
5038
|
-
shouldShow: ({ editor: editor2 }) => {
|
|
5039
|
-
return editor2.isActive("htmlCodeBlock");
|
|
5040
|
-
},
|
|
5041
|
-
tippyOptions: {
|
|
5042
|
-
offset: [0, 8],
|
|
5043
|
-
popperOptions: {
|
|
5044
|
-
modifiers: [{ name: "flip", enabled: false }]
|
|
5045
|
-
},
|
|
5046
|
-
getReferenceClientRect,
|
|
5047
|
-
appendTo: () => appendTo == null ? void 0 : appendTo.current,
|
|
5048
|
-
plugins: [sticky2],
|
|
5049
|
-
sticky: "popper",
|
|
5050
|
-
maxWidth: "auto"
|
|
5051
|
-
},
|
|
5052
|
-
pluginKey: "htmlCodeBlockBubbleMenu"
|
|
5053
|
-
});
|
|
5054
|
-
const { activeTab = "code" } = state;
|
|
5055
|
-
return /* @__PURE__ */ jsx16(
|
|
5056
|
-
BubbleMenu2,
|
|
5057
|
-
__spreadProps(__spreadValues({}, bubbleMenuProps), {
|
|
5058
|
-
className: "mly:flex mly:items-stretch mly:rounded-lg mly:border mly:border-gray-200 mly:bg-white mly:p-0.5 mly:shadow-md",
|
|
5059
|
-
children: /* @__PURE__ */ jsxs8(TooltipProvider, { children: [
|
|
5060
|
-
/* @__PURE__ */ jsxs8("div", { className: "mly:flex mly:items-center mly:h-7 mly:rounded-md mly:bg-soft-gray mly:px-0.5", children: [
|
|
5061
|
-
/* @__PURE__ */ jsxs8(Tooltip, { children: [
|
|
5062
|
-
/* @__PURE__ */ jsx16(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx16(
|
|
5063
|
-
"button",
|
|
5064
|
-
{
|
|
5065
|
-
className: cn(
|
|
5066
|
-
"mly:flex mly:size-6 mly:shrink-0 mly:items-center mly:justify-center mly:rounded mly:focus-visible:relative mly:focus-visible:z-10 mly:focus-visible:outline-hidden mly:focus-visible:ring-2 mly:focus-visible:ring-gray-400 mly:focus-visible:ring-offset-2",
|
|
5067
|
-
activeTab === "code" && "mly:bg-white"
|
|
5068
|
-
),
|
|
5069
|
-
disabled: activeTab === "code",
|
|
5070
|
-
onClick: () => {
|
|
5071
|
-
var _a;
|
|
5072
|
-
(_a = editor == null ? void 0 : editor.commands) == null ? void 0 : _a.updateHtmlCodeBlock({
|
|
5073
|
-
activeTab: "code"
|
|
5074
|
-
});
|
|
5075
|
-
},
|
|
5076
|
-
children: /* @__PURE__ */ jsx16(CodeXmlIcon, { className: "mly:size-3 mly:shrink-0 mly:stroke-[2.5]" })
|
|
5077
|
-
}
|
|
5078
|
-
) }),
|
|
5079
|
-
/* @__PURE__ */ jsx16(TooltipContent, { sideOffset: 8, children: "HTML Code" })
|
|
5080
|
-
] }),
|
|
5081
|
-
/* @__PURE__ */ jsxs8(Tooltip, { children: [
|
|
5082
|
-
/* @__PURE__ */ jsx16(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx16(
|
|
5083
|
-
"button",
|
|
5084
|
-
{
|
|
5085
|
-
className: cn(
|
|
5086
|
-
"mly:flex mly:size-6 mly:shrink-0 mly:items-center mly:justify-center mly:rounded mly:focus-visible:relative mly:focus-visible:z-10 mly:focus-visible:outline-hidden mly:focus-visible:ring-2 mly:focus-visible:ring-gray-400 mly:focus-visible:ring-offset-2",
|
|
5087
|
-
activeTab === "preview" && "mly:bg-white"
|
|
5088
|
-
),
|
|
5089
|
-
disabled: activeTab === "preview",
|
|
5090
|
-
onClick: () => {
|
|
5091
|
-
var _a;
|
|
5092
|
-
(_a = editor == null ? void 0 : editor.commands) == null ? void 0 : _a.updateHtmlCodeBlock({
|
|
5093
|
-
activeTab: "preview"
|
|
5094
|
-
});
|
|
5095
|
-
},
|
|
5096
|
-
children: /* @__PURE__ */ jsx16(ViewIcon, { className: "mly:size-3 mly:shrink-0 mly:stroke-[2.5]" })
|
|
5097
|
-
}
|
|
5098
|
-
) }),
|
|
5099
|
-
/* @__PURE__ */ jsx16(TooltipContent, { sideOffset: 8, children: "Preview" })
|
|
5100
|
-
] })
|
|
5101
|
-
] }),
|
|
5102
|
-
/* @__PURE__ */ jsx16(Divider, {}),
|
|
5103
|
-
/* @__PURE__ */ jsx16(
|
|
5104
|
-
ShowPopover,
|
|
5105
|
-
{
|
|
5106
|
-
showIfKey: state.currentShowIfKey,
|
|
5107
|
-
onShowIfKeyValueChange: (value) => {
|
|
5108
|
-
editor.commands.updateHtmlCodeBlock({
|
|
5109
|
-
showIfKey: value
|
|
5110
|
-
});
|
|
5111
|
-
},
|
|
5112
|
-
editor
|
|
5113
|
-
}
|
|
5114
|
-
)
|
|
5115
|
-
] })
|
|
5116
|
-
})
|
|
5117
|
-
);
|
|
5118
|
-
}
|
|
5119
|
-
|
|
5120
5000
|
// src/editor/nodes/logo/logo.ts
|
|
5121
5001
|
import TiptapImage from "@tiptap/extension-image";
|
|
5122
5002
|
import { ReactNodeViewRenderer } from "@tiptap/react";
|
|
@@ -5421,12 +5301,12 @@ var SectionExtension = Node3.create({
|
|
|
5421
5301
|
|
|
5422
5302
|
// src/editor/nodes/logo/logo-view.tsx
|
|
5423
5303
|
import { NodeViewWrapper as NodeViewWrapper2 } from "@tiptap/react";
|
|
5424
|
-
import { useCallback as
|
|
5304
|
+
import { useCallback as useCallback6, useEffect as useEffect5 } from "react";
|
|
5425
5305
|
import { useState as useState5 } from "react";
|
|
5426
5306
|
|
|
5427
5307
|
// src/editor/nodes/image/image-view.tsx
|
|
5428
5308
|
import {
|
|
5429
|
-
useCallback as
|
|
5309
|
+
useCallback as useCallback5,
|
|
5430
5310
|
useEffect as useEffect4,
|
|
5431
5311
|
useRef as useRef5,
|
|
5432
5312
|
useState as useState4
|
|
@@ -5570,13 +5450,13 @@ function useImageUploadOptions(editor) {
|
|
|
5570
5450
|
}
|
|
5571
5451
|
|
|
5572
5452
|
// src/editor/utils/use-event.ts
|
|
5573
|
-
import { useCallback as
|
|
5453
|
+
import { useCallback as useCallback4, useLayoutEffect, useRef as useRef4 } from "react";
|
|
5574
5454
|
var useEvent = (handler) => {
|
|
5575
5455
|
const handlerRef = useRef4(null);
|
|
5576
5456
|
useLayoutEffect(() => {
|
|
5577
5457
|
handlerRef.current = handler;
|
|
5578
5458
|
}, [handler]);
|
|
5579
|
-
return
|
|
5459
|
+
return useCallback4((...args) => {
|
|
5580
5460
|
if (handlerRef.current === null) {
|
|
5581
5461
|
throw new Error("Handler is not assigned");
|
|
5582
5462
|
}
|
|
@@ -5599,7 +5479,7 @@ function getNewWidth(height, aspectRatio) {
|
|
|
5599
5479
|
}
|
|
5600
5480
|
|
|
5601
5481
|
// src/editor/nodes/image/image-view.tsx
|
|
5602
|
-
import { Fragment as Fragment3, jsx as
|
|
5482
|
+
import { Fragment as Fragment3, jsx as jsx16, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
5603
5483
|
var MIN_WIDTH = 20;
|
|
5604
5484
|
var IMAGE_MAX_WIDTH = 600;
|
|
5605
5485
|
var IMAGE_MAX_HEIGHT = 400;
|
|
@@ -5668,12 +5548,12 @@ function ImageView(props) {
|
|
|
5668
5548
|
window.addEventListener("mouseup", removeListeners);
|
|
5669
5549
|
}
|
|
5670
5550
|
);
|
|
5671
|
-
const dragCornerButton =
|
|
5551
|
+
const dragCornerButton = useCallback5(
|
|
5672
5552
|
(direction) => {
|
|
5673
5553
|
if (isPlaceholderImage) {
|
|
5674
5554
|
return null;
|
|
5675
5555
|
}
|
|
5676
|
-
return /* @__PURE__ */
|
|
5556
|
+
return /* @__PURE__ */ jsx16(
|
|
5677
5557
|
"div",
|
|
5678
5558
|
{
|
|
5679
5559
|
role: "button",
|
|
@@ -5726,7 +5606,7 @@ function ImageView(props) {
|
|
|
5726
5606
|
const file = e.target.files[0];
|
|
5727
5607
|
yield handleImageUpload(file);
|
|
5728
5608
|
});
|
|
5729
|
-
const handleImageUpload =
|
|
5609
|
+
const handleImageUpload = useCallback5(
|
|
5730
5610
|
(file) => __async(this, null, function* () {
|
|
5731
5611
|
if (!isDroppable) {
|
|
5732
5612
|
return;
|
|
@@ -5782,7 +5662,7 @@ function ImageView(props) {
|
|
|
5782
5662
|
img.onerror = null;
|
|
5783
5663
|
};
|
|
5784
5664
|
}, [src]);
|
|
5785
|
-
const handleDragOver =
|
|
5665
|
+
const handleDragOver = useCallback5(
|
|
5786
5666
|
(e) => {
|
|
5787
5667
|
if (!isDroppable) {
|
|
5788
5668
|
return;
|
|
@@ -5793,7 +5673,7 @@ function ImageView(props) {
|
|
|
5793
5673
|
},
|
|
5794
5674
|
[onImageUpload]
|
|
5795
5675
|
);
|
|
5796
|
-
const handleDragLeave =
|
|
5676
|
+
const handleDragLeave = useCallback5(
|
|
5797
5677
|
(e) => {
|
|
5798
5678
|
if (!isDroppable) {
|
|
5799
5679
|
return;
|
|
@@ -5804,7 +5684,7 @@ function ImageView(props) {
|
|
|
5804
5684
|
},
|
|
5805
5685
|
[onImageUpload]
|
|
5806
5686
|
);
|
|
5807
|
-
const handleDrop =
|
|
5687
|
+
const handleDrop = useCallback5(
|
|
5808
5688
|
(e) => __async(this, null, function* () {
|
|
5809
5689
|
var _a2;
|
|
5810
5690
|
if (!isDroppable) {
|
|
@@ -5829,7 +5709,7 @@ function ImageView(props) {
|
|
|
5829
5709
|
const heightValue = height && height !== "auto" ? `${height}px` : void 0;
|
|
5830
5710
|
const hasExplicitWidth = Boolean(widthValue || (resizingStyle == null ? void 0 : resizingStyle.width));
|
|
5831
5711
|
const hasExplicitHeight = Boolean(heightValue || (resizingStyle == null ? void 0 : resizingStyle.height));
|
|
5832
|
-
return /* @__PURE__ */
|
|
5712
|
+
return /* @__PURE__ */ jsxs8(
|
|
5833
5713
|
NodeViewWrapper,
|
|
5834
5714
|
__spreadProps(__spreadValues({
|
|
5835
5715
|
as: "div",
|
|
@@ -5858,7 +5738,7 @@ function ImageView(props) {
|
|
|
5858
5738
|
onDrop: handleDrop
|
|
5859
5739
|
} : {}), {
|
|
5860
5740
|
children: [
|
|
5861
|
-
!hasImageSrc && status === "idle" && /* @__PURE__ */
|
|
5741
|
+
!hasImageSrc && status === "idle" && /* @__PURE__ */ jsx16(
|
|
5862
5742
|
ImageStatusLabel,
|
|
5863
5743
|
{
|
|
5864
5744
|
status: "idle",
|
|
@@ -5866,11 +5746,11 @@ function ImageView(props) {
|
|
|
5866
5746
|
isDropZone: isDroppable
|
|
5867
5747
|
}
|
|
5868
5748
|
),
|
|
5869
|
-
!hasImageSrc && status === "loading" && !isSrcVariable && /* @__PURE__ */
|
|
5870
|
-
hasImageSrc && isSrcVariable && /* @__PURE__ */
|
|
5871
|
-
hasImageSrc && status === "loading" && !isSrcVariable && /* @__PURE__ */
|
|
5872
|
-
hasImageSrc && status === "error" && !isSrcVariable && /* @__PURE__ */
|
|
5873
|
-
isDroppable && /* @__PURE__ */
|
|
5749
|
+
!hasImageSrc && status === "loading" && !isSrcVariable && /* @__PURE__ */ jsx16(ImageStatusLabel, { status: "loading", minHeight: height }),
|
|
5750
|
+
hasImageSrc && isSrcVariable && /* @__PURE__ */ jsx16(ImageStatusLabel, { status: "variable", minHeight: height }),
|
|
5751
|
+
hasImageSrc && status === "loading" && !isSrcVariable && /* @__PURE__ */ jsx16(ImageStatusLabel, { status: "loading", minHeight: height }),
|
|
5752
|
+
hasImageSrc && status === "error" && !isSrcVariable && /* @__PURE__ */ jsx16(ImageStatusLabel, { status: "error", minHeight: height }),
|
|
5753
|
+
isDroppable && /* @__PURE__ */ jsx16(
|
|
5874
5754
|
"input",
|
|
5875
5755
|
{
|
|
5876
5756
|
type: "file",
|
|
@@ -5880,8 +5760,8 @@ function ImageView(props) {
|
|
|
5880
5760
|
multiple: false
|
|
5881
5761
|
}
|
|
5882
5762
|
),
|
|
5883
|
-
hasImageSrc && status === "loaded" && !isSrcVariable && /* @__PURE__ */
|
|
5884
|
-
/* @__PURE__ */
|
|
5763
|
+
hasImageSrc && status === "loaded" && !isSrcVariable && /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
5764
|
+
/* @__PURE__ */ jsx16(
|
|
5885
5765
|
"img",
|
|
5886
5766
|
__spreadProps(__spreadValues({}, attrs), {
|
|
5887
5767
|
ref: imgRef,
|
|
@@ -5901,13 +5781,13 @@ function ImageView(props) {
|
|
|
5901
5781
|
)
|
|
5902
5782
|
})
|
|
5903
5783
|
),
|
|
5904
|
-
selected && editor.isEditable && !isPlaceholderImage && /* @__PURE__ */
|
|
5784
|
+
selected && editor.isEditable && !isPlaceholderImage && /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
5905
5785
|
[
|
|
5906
5786
|
{ left: 0, top: 0, height: "100%", width: "1px" },
|
|
5907
5787
|
{ right: 0, top: 0, height: "100%", width: "1px" },
|
|
5908
5788
|
{ top: 0, left: 0, width: "100%", height: "1px" },
|
|
5909
5789
|
{ bottom: 0, left: 0, width: "100%", height: "1px" }
|
|
5910
|
-
].map((style, i) => /* @__PURE__ */
|
|
5790
|
+
].map((style, i) => /* @__PURE__ */ jsx16(
|
|
5911
5791
|
"div",
|
|
5912
5792
|
{
|
|
5913
5793
|
className: "mly:bg-rose-500",
|
|
@@ -5931,7 +5811,7 @@ function ImageStatusLabel(props) {
|
|
|
5931
5811
|
const _a = props, { status, minHeight, className, style, isDropZone } = _a, rest = __objRest(_a, ["status", "minHeight", "className", "style", "isDropZone"]);
|
|
5932
5812
|
const resolvedMinHeight = minHeight != null ? minHeight : isDropZone ? 36 : void 0;
|
|
5933
5813
|
const resolvedPaddingY = isDropZone ? 8 : void 0;
|
|
5934
|
-
return /* @__PURE__ */
|
|
5814
|
+
return /* @__PURE__ */ jsxs8(
|
|
5935
5815
|
"div",
|
|
5936
5816
|
__spreadProps(__spreadValues({}, rest), {
|
|
5937
5817
|
className: cn(
|
|
@@ -5949,25 +5829,25 @@ function ImageStatusLabel(props) {
|
|
|
5949
5829
|
paddingBottom: resolvedPaddingY
|
|
5950
5830
|
} : {}), style),
|
|
5951
5831
|
children: [
|
|
5952
|
-
status === "idle" && !isDropZone && /* @__PURE__ */
|
|
5953
|
-
/* @__PURE__ */
|
|
5954
|
-
/* @__PURE__ */
|
|
5832
|
+
status === "idle" && !isDropZone && /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
5833
|
+
/* @__PURE__ */ jsx16(ImageOffIcon, { className: "mly:size-4 mly:stroke-[2.5]" }),
|
|
5834
|
+
/* @__PURE__ */ jsx16("span", { children: "No image selected" })
|
|
5955
5835
|
] }),
|
|
5956
|
-
status === "idle" && isDropZone && /* @__PURE__ */
|
|
5957
|
-
/* @__PURE__ */
|
|
5958
|
-
/* @__PURE__ */
|
|
5836
|
+
status === "idle" && isDropZone && /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
5837
|
+
/* @__PURE__ */ jsx16(GrabIcon, { className: "mly:size-4 mly:stroke-[2.5]" }),
|
|
5838
|
+
/* @__PURE__ */ jsx16("span", { children: "Click or Drop image here" })
|
|
5959
5839
|
] }),
|
|
5960
|
-
status === "loading" && /* @__PURE__ */
|
|
5961
|
-
/* @__PURE__ */
|
|
5962
|
-
/* @__PURE__ */
|
|
5840
|
+
status === "loading" && /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
5841
|
+
/* @__PURE__ */ jsx16(Loader2, { className: "mly:size-4 mly:animate-spin mly:stroke-[2.5]" }),
|
|
5842
|
+
/* @__PURE__ */ jsx16("span", { children: "Loading image..." })
|
|
5963
5843
|
] }),
|
|
5964
|
-
status === "error" && /* @__PURE__ */
|
|
5965
|
-
/* @__PURE__ */
|
|
5966
|
-
/* @__PURE__ */
|
|
5844
|
+
status === "error" && /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
5845
|
+
/* @__PURE__ */ jsx16(Ban, { className: "mly:size-4 mly:stroke-[2.5]" }),
|
|
5846
|
+
/* @__PURE__ */ jsx16("span", { children: "Error loading image" })
|
|
5967
5847
|
] }),
|
|
5968
|
-
status === "variable" && /* @__PURE__ */
|
|
5969
|
-
/* @__PURE__ */
|
|
5970
|
-
/* @__PURE__ */
|
|
5848
|
+
status === "variable" && /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
5849
|
+
/* @__PURE__ */ jsx16(BracesIcon, { className: "mly:size-4 mly:stroke-[2.5]" }),
|
|
5850
|
+
/* @__PURE__ */ jsx16("span", { children: "Variable Image URL" })
|
|
5971
5851
|
] })
|
|
5972
5852
|
]
|
|
5973
5853
|
})
|
|
@@ -5975,7 +5855,7 @@ function ImageStatusLabel(props) {
|
|
|
5975
5855
|
}
|
|
5976
5856
|
|
|
5977
5857
|
// src/editor/nodes/logo/logo-view.tsx
|
|
5978
|
-
import { jsx as
|
|
5858
|
+
import { jsx as jsx17, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
5979
5859
|
function LogoView(props) {
|
|
5980
5860
|
const { node, editor, updateAttributes: updateAttributes2 } = props;
|
|
5981
5861
|
const [status, setStatus] = useState5("idle");
|
|
@@ -5997,7 +5877,7 @@ function LogoView(props) {
|
|
|
5997
5877
|
const file = e.target.files[0];
|
|
5998
5878
|
yield handleImageUpload(file);
|
|
5999
5879
|
});
|
|
6000
|
-
const handleImageUpload =
|
|
5880
|
+
const handleImageUpload = useCallback6(
|
|
6001
5881
|
(file) => __async(this, null, function* () {
|
|
6002
5882
|
if (!isDroppable) {
|
|
6003
5883
|
return;
|
|
@@ -6015,7 +5895,7 @@ function LogoView(props) {
|
|
|
6015
5895
|
}),
|
|
6016
5896
|
[onImageUpload, updateAttributes2]
|
|
6017
5897
|
);
|
|
6018
|
-
const handleDragOver =
|
|
5898
|
+
const handleDragOver = useCallback6(
|
|
6019
5899
|
(e) => {
|
|
6020
5900
|
if (!isDroppable) {
|
|
6021
5901
|
return;
|
|
@@ -6026,7 +5906,7 @@ function LogoView(props) {
|
|
|
6026
5906
|
},
|
|
6027
5907
|
[onImageUpload]
|
|
6028
5908
|
);
|
|
6029
|
-
const handleDragLeave =
|
|
5909
|
+
const handleDragLeave = useCallback6(
|
|
6030
5910
|
(e) => {
|
|
6031
5911
|
if (!isDroppable) {
|
|
6032
5912
|
return;
|
|
@@ -6037,7 +5917,7 @@ function LogoView(props) {
|
|
|
6037
5917
|
},
|
|
6038
5918
|
[onImageUpload]
|
|
6039
5919
|
);
|
|
6040
|
-
const handleDrop =
|
|
5920
|
+
const handleDrop = useCallback6(
|
|
6041
5921
|
(e) => __async(this, null, function* () {
|
|
6042
5922
|
var _a;
|
|
6043
5923
|
if (!isDroppable) {
|
|
@@ -6081,7 +5961,7 @@ function LogoView(props) {
|
|
|
6081
5961
|
};
|
|
6082
5962
|
}, [logoSrc]);
|
|
6083
5963
|
const logoSize = logoSizes[size];
|
|
6084
|
-
return /* @__PURE__ */
|
|
5964
|
+
return /* @__PURE__ */ jsxs9(
|
|
6085
5965
|
NodeViewWrapper2,
|
|
6086
5966
|
__spreadProps(__spreadValues({
|
|
6087
5967
|
as: "div",
|
|
@@ -6101,7 +5981,7 @@ function LogoView(props) {
|
|
|
6101
5981
|
onDrop: handleDrop
|
|
6102
5982
|
} : {}), {
|
|
6103
5983
|
children: [
|
|
6104
|
-
!hasImageSrc && status === "idle" && /* @__PURE__ */
|
|
5984
|
+
!hasImageSrc && status === "idle" && /* @__PURE__ */ jsx17(
|
|
6105
5985
|
ImageStatusLabel,
|
|
6106
5986
|
{
|
|
6107
5987
|
status: "idle",
|
|
@@ -6109,11 +5989,11 @@ function LogoView(props) {
|
|
|
6109
5989
|
isDropZone: isDroppable
|
|
6110
5990
|
}
|
|
6111
5991
|
),
|
|
6112
|
-
!hasImageSrc && status === "loading" && !isSrcVariable && /* @__PURE__ */
|
|
6113
|
-
hasImageSrc && isSrcVariable && /* @__PURE__ */
|
|
6114
|
-
hasImageSrc && status === "loading" && !isSrcVariable && /* @__PURE__ */
|
|
6115
|
-
hasImageSrc && status === "error" && !isSrcVariable && /* @__PURE__ */
|
|
6116
|
-
isDroppable && /* @__PURE__ */
|
|
5992
|
+
!hasImageSrc && status === "loading" && !isSrcVariable && /* @__PURE__ */ jsx17(ImageStatusLabel, { status: "loading", minHeight: logoSize }),
|
|
5993
|
+
hasImageSrc && isSrcVariable && /* @__PURE__ */ jsx17(ImageStatusLabel, { status: "variable", minHeight: logoSize }),
|
|
5994
|
+
hasImageSrc && status === "loading" && !isSrcVariable && /* @__PURE__ */ jsx17(ImageStatusLabel, { status: "loading", minHeight: logoSize }),
|
|
5995
|
+
hasImageSrc && status === "error" && !isSrcVariable && /* @__PURE__ */ jsx17(ImageStatusLabel, { status: "error", minHeight: logoSize }),
|
|
5996
|
+
isDroppable && /* @__PURE__ */ jsx17(
|
|
6117
5997
|
"input",
|
|
6118
5998
|
{
|
|
6119
5999
|
type: "file",
|
|
@@ -6123,7 +6003,7 @@ function LogoView(props) {
|
|
|
6123
6003
|
multiple: false
|
|
6124
6004
|
}
|
|
6125
6005
|
),
|
|
6126
|
-
hasImageSrc && status === "loaded" && !isSrcVariable && /* @__PURE__ */
|
|
6006
|
+
hasImageSrc && status === "loaded" && !isSrcVariable && /* @__PURE__ */ jsx17(
|
|
6127
6007
|
"img",
|
|
6128
6008
|
{
|
|
6129
6009
|
src: logoSrc,
|
|
@@ -6274,13 +6154,13 @@ var borderRadius = [
|
|
|
6274
6154
|
];
|
|
6275
6155
|
|
|
6276
6156
|
// src/editor/components/image-menu/image-bubble-menu.tsx
|
|
6277
|
-
import { BubbleMenu as
|
|
6157
|
+
import { BubbleMenu as BubbleMenu2 } from "@tiptap/react";
|
|
6278
6158
|
import { ImageDown, LockIcon, LockOpenIcon } from "lucide-react";
|
|
6279
|
-
import { sticky as
|
|
6159
|
+
import { sticky as sticky2 } from "tippy.js";
|
|
6280
6160
|
|
|
6281
6161
|
// src/editor/components/alignment-switch.tsx
|
|
6282
6162
|
import { AlignCenter as AlignCenter2, AlignLeft as AlignLeft2, AlignRight as AlignRight2 } from "lucide-react";
|
|
6283
|
-
import { jsx as
|
|
6163
|
+
import { jsx as jsx18, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
6284
6164
|
function AlignmentSwitch(props) {
|
|
6285
6165
|
const { alignment: rawAlignment, onAlignmentChange } = props;
|
|
6286
6166
|
const alignment = allowedLogoAlignment.includes(
|
|
@@ -6310,20 +6190,20 @@ function AlignmentSwitch(props) {
|
|
|
6310
6190
|
}
|
|
6311
6191
|
};
|
|
6312
6192
|
const activeAlignment = alignments[alignment];
|
|
6313
|
-
return /* @__PURE__ */
|
|
6314
|
-
/* @__PURE__ */
|
|
6315
|
-
/* @__PURE__ */
|
|
6193
|
+
return /* @__PURE__ */ jsxs10(Popover, { children: [
|
|
6194
|
+
/* @__PURE__ */ jsxs10(Tooltip, { children: [
|
|
6195
|
+
/* @__PURE__ */ jsx18(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx18(
|
|
6316
6196
|
PopoverTrigger,
|
|
6317
6197
|
{
|
|
6318
6198
|
className: cn(
|
|
6319
6199
|
"mly:flex mly:size-7 mly:items-center mly:justify-center mly:gap-1 mly:rounded-md mly:px-1.5 mly:text-sm mly:data-[state=open]:bg-soft-gray mly:hover:bg-soft-gray mly:focus-visible:relative mly:focus-visible:z-10 mly:focus-visible:outline-hidden mly:focus-visible:ring-2 mly:focus-visible:ring-gray-400 mly:focus-visible:ring-offset-2"
|
|
6320
6200
|
),
|
|
6321
|
-
children: /* @__PURE__ */
|
|
6201
|
+
children: /* @__PURE__ */ jsx18(activeAlignment.icon, { className: "mly:h-3 mly:w-3 mly:stroke-[2.5]" })
|
|
6322
6202
|
}
|
|
6323
6203
|
) }),
|
|
6324
|
-
/* @__PURE__ */
|
|
6204
|
+
/* @__PURE__ */ jsx18(TooltipContent, { sideOffset: 8, children: "Alignment" })
|
|
6325
6205
|
] }),
|
|
6326
|
-
/* @__PURE__ */
|
|
6206
|
+
/* @__PURE__ */ jsx18(
|
|
6327
6207
|
PopoverContent,
|
|
6328
6208
|
{
|
|
6329
6209
|
className: "mly:flex mly:w-max mly:gap-0.5 mly:rounded-lg mly:p-0.5!",
|
|
@@ -6337,7 +6217,7 @@ function AlignmentSwitch(props) {
|
|
|
6337
6217
|
e.preventDefault();
|
|
6338
6218
|
},
|
|
6339
6219
|
children: Object.entries(alignments).map(([key, value]) => {
|
|
6340
|
-
return /* @__PURE__ */
|
|
6220
|
+
return /* @__PURE__ */ jsx18(
|
|
6341
6221
|
BubbleMenuButton,
|
|
6342
6222
|
{
|
|
6343
6223
|
icon: value.icon,
|
|
@@ -6365,12 +6245,12 @@ import { FootprintsIcon as FootprintsIcon2, Heading1 as Heading12 } from "lucide
|
|
|
6365
6245
|
|
|
6366
6246
|
// src/blocks/button.tsx
|
|
6367
6247
|
import { MousePointer, ArrowUpRightSquare } from "lucide-react";
|
|
6368
|
-
import { jsx as
|
|
6248
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
6369
6249
|
var button = {
|
|
6370
6250
|
title: "Button",
|
|
6371
6251
|
description: "Add a call to action button to email.",
|
|
6372
6252
|
searchTerms: ["link", "button", "cta"],
|
|
6373
|
-
icon: /* @__PURE__ */
|
|
6253
|
+
icon: /* @__PURE__ */ jsx19(MousePointer, { className: "mly:h-4 mly:w-4" }),
|
|
6374
6254
|
command: ({ editor, range }) => {
|
|
6375
6255
|
editor.chain().focus().deleteRange(range).setButton().run();
|
|
6376
6256
|
}
|
|
@@ -6379,7 +6259,7 @@ var linkCard = {
|
|
|
6379
6259
|
title: "Link Card",
|
|
6380
6260
|
description: "Add a link card to email.",
|
|
6381
6261
|
searchTerms: ["link", "button", "image"],
|
|
6382
|
-
icon: /* @__PURE__ */
|
|
6262
|
+
icon: /* @__PURE__ */ jsx19(ArrowUpRightSquare, { className: "mly:h-4 mly:w-4" }),
|
|
6383
6263
|
command: ({ editor, range }) => {
|
|
6384
6264
|
editor.chain().focus().deleteRange(range).setLinkCard().run();
|
|
6385
6265
|
},
|
|
@@ -6391,13 +6271,13 @@ var linkCard = {
|
|
|
6391
6271
|
};
|
|
6392
6272
|
|
|
6393
6273
|
// src/blocks/code.tsx
|
|
6394
|
-
import { CodeXmlIcon
|
|
6395
|
-
import { jsx as
|
|
6274
|
+
import { CodeXmlIcon } from "lucide-react";
|
|
6275
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
6396
6276
|
var htmlCodeBlock = {
|
|
6397
6277
|
title: "Custom HTML",
|
|
6398
6278
|
description: "Insert a custom HTML block",
|
|
6399
6279
|
searchTerms: ["html", "code", "custom"],
|
|
6400
|
-
icon: /* @__PURE__ */
|
|
6280
|
+
icon: /* @__PURE__ */ jsx20(CodeXmlIcon, { className: "mly:h-4 mly:w-4" }),
|
|
6401
6281
|
command: ({ editor, range }) => {
|
|
6402
6282
|
editor.chain().focus().deleteRange(range).setHtmlCodeBlock({ language: "html" }).run();
|
|
6403
6283
|
}
|
|
@@ -6406,12 +6286,12 @@ var htmlCodeBlock = {
|
|
|
6406
6286
|
// src/blocks/image.tsx
|
|
6407
6287
|
import { TextSelection as TextSelection2 } from "@tiptap/pm/state";
|
|
6408
6288
|
import { ImageIcon } from "lucide-react";
|
|
6409
|
-
import { jsx as
|
|
6289
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
6410
6290
|
var image = {
|
|
6411
6291
|
title: "Image",
|
|
6412
6292
|
description: "Full width image",
|
|
6413
6293
|
searchTerms: ["image"],
|
|
6414
|
-
icon: /* @__PURE__ */
|
|
6294
|
+
icon: /* @__PURE__ */ jsx21(ImageIcon, { className: "mly:h-4 mly:w-4" }),
|
|
6415
6295
|
command: ({ editor, range }) => {
|
|
6416
6296
|
editor.chain().focus().deleteRange(range).setImage({ src: "" }).run();
|
|
6417
6297
|
}
|
|
@@ -6420,7 +6300,7 @@ var logo = {
|
|
|
6420
6300
|
title: "Logo",
|
|
6421
6301
|
description: "Add your brand logo",
|
|
6422
6302
|
searchTerms: ["image", "logo"],
|
|
6423
|
-
icon: /* @__PURE__ */
|
|
6303
|
+
icon: /* @__PURE__ */ jsx21(ImageIcon, { className: "mly:h-4 mly:w-4" }),
|
|
6424
6304
|
command: ({ editor, range }) => {
|
|
6425
6305
|
editor.chain().focus().deleteRange(range).setLogoImage({ src: "" }).run();
|
|
6426
6306
|
}
|
|
@@ -6429,7 +6309,7 @@ var inlineImage = {
|
|
|
6429
6309
|
title: "Inline Image",
|
|
6430
6310
|
description: "Inline image",
|
|
6431
6311
|
searchTerms: ["image", "inline"],
|
|
6432
|
-
icon: /* @__PURE__ */
|
|
6312
|
+
icon: /* @__PURE__ */ jsx21(ImageIcon, { className: "mly:h-4 mly:w-4" }),
|
|
6433
6313
|
command: ({ editor, range }) => {
|
|
6434
6314
|
editor.chain().focus().deleteRange(range).setInlineImage({
|
|
6435
6315
|
src: "https://maily.to/brand/logo.png"
|
|
@@ -6459,12 +6339,12 @@ import {
|
|
|
6459
6339
|
RectangleHorizontal,
|
|
6460
6340
|
Minus
|
|
6461
6341
|
} from "lucide-react";
|
|
6462
|
-
import { jsx as
|
|
6342
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
6463
6343
|
var columns = {
|
|
6464
6344
|
title: "Columns",
|
|
6465
6345
|
description: "Add columns to email.",
|
|
6466
6346
|
searchTerms: ["layout", "columns"],
|
|
6467
|
-
icon: /* @__PURE__ */
|
|
6347
|
+
icon: /* @__PURE__ */ jsx22(ColumnsIcon, { className: "mly:h-4 mly:w-4" }),
|
|
6468
6348
|
command: ({ editor, range }) => {
|
|
6469
6349
|
editor.chain().focus().deleteRange(range).setColumns().focus(editor.state.selection.head - 2).run();
|
|
6470
6350
|
}
|
|
@@ -6473,7 +6353,7 @@ var section = {
|
|
|
6473
6353
|
title: "Section",
|
|
6474
6354
|
description: "Add a section to email.",
|
|
6475
6355
|
searchTerms: ["layout", "section"],
|
|
6476
|
-
icon: /* @__PURE__ */
|
|
6356
|
+
icon: /* @__PURE__ */ jsx22(RectangleHorizontal, { className: "mly:h-4 mly:w-4" }),
|
|
6477
6357
|
command: ({ editor, range }) => {
|
|
6478
6358
|
editor.chain().focus().deleteRange(range).setSection().run();
|
|
6479
6359
|
}
|
|
@@ -6482,7 +6362,7 @@ var repeat = {
|
|
|
6482
6362
|
title: "Repeat",
|
|
6483
6363
|
description: "Loop over an array of items.",
|
|
6484
6364
|
searchTerms: ["repeat", "for", "loop"],
|
|
6485
|
-
icon: /* @__PURE__ */
|
|
6365
|
+
icon: /* @__PURE__ */ jsx22(Repeat2, { className: "mly:h-4 mly:w-4" }),
|
|
6486
6366
|
command: ({ editor, range }) => {
|
|
6487
6367
|
editor.chain().focus().deleteRange(range).setRepeat().run();
|
|
6488
6368
|
}
|
|
@@ -6491,7 +6371,7 @@ var spacer = {
|
|
|
6491
6371
|
title: "Spacer",
|
|
6492
6372
|
description: "Add space between blocks.",
|
|
6493
6373
|
searchTerms: ["space", "gap", "divider"],
|
|
6494
|
-
icon: /* @__PURE__ */
|
|
6374
|
+
icon: /* @__PURE__ */ jsx22(MoveVertical, { className: "mly:h-4 mly:w-4" }),
|
|
6495
6375
|
command: ({ editor, range }) => {
|
|
6496
6376
|
editor.chain().focus().deleteRange(range).setSpacer({ height: "sm" }).run();
|
|
6497
6377
|
}
|
|
@@ -6500,7 +6380,7 @@ var divider = {
|
|
|
6500
6380
|
title: "Divider",
|
|
6501
6381
|
description: "Add a horizontal divider.",
|
|
6502
6382
|
searchTerms: ["divider", "line"],
|
|
6503
|
-
icon: /* @__PURE__ */
|
|
6383
|
+
icon: /* @__PURE__ */ jsx22(Minus, { className: "mly:h-4 mly:w-4" }),
|
|
6504
6384
|
command: ({ editor, range }) => {
|
|
6505
6385
|
editor.chain().focus().deleteRange(range).setHorizontalRule().run();
|
|
6506
6386
|
}
|
|
@@ -6508,12 +6388,12 @@ var divider = {
|
|
|
6508
6388
|
|
|
6509
6389
|
// src/blocks/list.tsx
|
|
6510
6390
|
import { List, ListOrdered } from "lucide-react";
|
|
6511
|
-
import { jsx as
|
|
6391
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
6512
6392
|
var bulletList = {
|
|
6513
6393
|
title: "Bullet List",
|
|
6514
6394
|
description: "Create a simple bullet list.",
|
|
6515
6395
|
searchTerms: ["unordered", "point"],
|
|
6516
|
-
icon: /* @__PURE__ */
|
|
6396
|
+
icon: /* @__PURE__ */ jsx23(List, { className: "mly:h-4 mly:w-4" }),
|
|
6517
6397
|
command: ({ editor, range }) => {
|
|
6518
6398
|
editor.chain().focus().deleteRange(range).toggleBulletList().run();
|
|
6519
6399
|
}
|
|
@@ -6522,7 +6402,7 @@ var orderedList = {
|
|
|
6522
6402
|
title: "Numbered List",
|
|
6523
6403
|
description: "Create a list with numbering.",
|
|
6524
6404
|
searchTerms: ["ordered"],
|
|
6525
|
-
icon: /* @__PURE__ */
|
|
6405
|
+
icon: /* @__PURE__ */ jsx23(ListOrdered, { className: "mly:h-4 mly:w-4" }),
|
|
6526
6406
|
command: ({ editor, range }) => {
|
|
6527
6407
|
editor.chain().focus().deleteRange(range).toggleOrderedList().run();
|
|
6528
6408
|
}
|
|
@@ -6539,12 +6419,12 @@ import {
|
|
|
6539
6419
|
FootprintsIcon,
|
|
6540
6420
|
EraserIcon as EraserIcon2
|
|
6541
6421
|
} from "lucide-react";
|
|
6542
|
-
import { jsx as
|
|
6422
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
6543
6423
|
var text = {
|
|
6544
6424
|
title: "Text",
|
|
6545
6425
|
description: "Just start typing with plain text.",
|
|
6546
6426
|
searchTerms: ["p", "paragraph"],
|
|
6547
|
-
icon: /* @__PURE__ */
|
|
6427
|
+
icon: /* @__PURE__ */ jsx24(Text, { className: "mly:h-4 mly:w-4" }),
|
|
6548
6428
|
command: ({ editor, range }) => {
|
|
6549
6429
|
editor.chain().focus().deleteRange(range).toggleNode("paragraph", "paragraph").run();
|
|
6550
6430
|
}
|
|
@@ -6553,7 +6433,7 @@ var heading1 = {
|
|
|
6553
6433
|
title: "Heading 1",
|
|
6554
6434
|
description: "Big heading.",
|
|
6555
6435
|
searchTerms: ["h1", "title", "big", "large"],
|
|
6556
|
-
icon: /* @__PURE__ */
|
|
6436
|
+
icon: /* @__PURE__ */ jsx24(Heading1, { className: "mly:h-4 mly:w-4" }),
|
|
6557
6437
|
command: ({ editor, range }) => {
|
|
6558
6438
|
editor.chain().focus().deleteRange(range).setNode("heading", { level: 1 }).run();
|
|
6559
6439
|
}
|
|
@@ -6562,7 +6442,7 @@ var heading2 = {
|
|
|
6562
6442
|
title: "Heading 2",
|
|
6563
6443
|
description: "Medium heading.",
|
|
6564
6444
|
searchTerms: ["h2", "subtitle", "medium"],
|
|
6565
|
-
icon: /* @__PURE__ */
|
|
6445
|
+
icon: /* @__PURE__ */ jsx24(Heading2, { className: "mly:h-4 mly:w-4" }),
|
|
6566
6446
|
command: ({ editor, range }) => {
|
|
6567
6447
|
editor.chain().focus().deleteRange(range).setNode("heading", { level: 2 }).run();
|
|
6568
6448
|
}
|
|
@@ -6571,7 +6451,7 @@ var heading3 = {
|
|
|
6571
6451
|
title: "Heading 3",
|
|
6572
6452
|
description: "Small heading.",
|
|
6573
6453
|
searchTerms: ["h3", "subtitle", "small"],
|
|
6574
|
-
icon: /* @__PURE__ */
|
|
6454
|
+
icon: /* @__PURE__ */ jsx24(Heading3, { className: "mly:h-4 mly:w-4" }),
|
|
6575
6455
|
command: ({ editor, range }) => {
|
|
6576
6456
|
editor.chain().focus().deleteRange(range).setNode("heading", { level: 3 }).run();
|
|
6577
6457
|
}
|
|
@@ -6580,7 +6460,7 @@ var hardBreak = {
|
|
|
6580
6460
|
title: "Hard Break",
|
|
6581
6461
|
description: "Add a break between lines.",
|
|
6582
6462
|
searchTerms: ["break", "line"],
|
|
6583
|
-
icon: /* @__PURE__ */
|
|
6463
|
+
icon: /* @__PURE__ */ jsx24(DivideIcon, { className: "mly:h-4 mly:w-4" }),
|
|
6584
6464
|
command: ({ editor, range }) => {
|
|
6585
6465
|
editor.chain().focus().deleteRange(range).setHardBreak().run();
|
|
6586
6466
|
}
|
|
@@ -6589,7 +6469,7 @@ var blockquote = {
|
|
|
6589
6469
|
title: "Blockquote",
|
|
6590
6470
|
description: "Add blockquote.",
|
|
6591
6471
|
searchTerms: ["quote", "blockquote"],
|
|
6592
|
-
icon: /* @__PURE__ */
|
|
6472
|
+
icon: /* @__PURE__ */ jsx24(TextQuote, { className: "mly:h-4 mly:w-4" }),
|
|
6593
6473
|
command: ({ editor, range }) => {
|
|
6594
6474
|
editor.chain().focus().deleteRange(range).toggleBlockquote().run();
|
|
6595
6475
|
}
|
|
@@ -6598,7 +6478,7 @@ var footer = {
|
|
|
6598
6478
|
title: "Footer",
|
|
6599
6479
|
description: "Add a footer text to email.",
|
|
6600
6480
|
searchTerms: ["footer", "text"],
|
|
6601
|
-
icon: /* @__PURE__ */
|
|
6481
|
+
icon: /* @__PURE__ */ jsx24(FootprintsIcon, { className: "mly:h-4 mly:w-4" }),
|
|
6602
6482
|
command: ({ editor, range }) => {
|
|
6603
6483
|
editor.chain().focus().deleteRange(range).setFooter().run();
|
|
6604
6484
|
}
|
|
@@ -6607,16 +6487,16 @@ var clearLine = {
|
|
|
6607
6487
|
title: "Clear Line",
|
|
6608
6488
|
description: "Clear the current line.",
|
|
6609
6489
|
searchTerms: ["clear", "line"],
|
|
6610
|
-
icon: /* @__PURE__ */
|
|
6490
|
+
icon: /* @__PURE__ */ jsx24(EraserIcon2, { className: "mly:h-4 mly:w-4" }),
|
|
6611
6491
|
command: ({ editor, range }) => {
|
|
6612
6492
|
editor.chain().focus().selectParentNode().deleteSelection().run();
|
|
6613
6493
|
}
|
|
6614
6494
|
};
|
|
6615
6495
|
|
|
6616
6496
|
// src/editor/components/icons/logo-with-cover-image.tsx
|
|
6617
|
-
import { jsx as
|
|
6497
|
+
import { jsx as jsx25, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
6618
6498
|
function LogoWithCoverImageIcon(props) {
|
|
6619
|
-
return /* @__PURE__ */
|
|
6499
|
+
return /* @__PURE__ */ jsxs11(
|
|
6620
6500
|
"svg",
|
|
6621
6501
|
__spreadProps(__spreadValues({
|
|
6622
6502
|
width: "14",
|
|
@@ -6626,7 +6506,7 @@ function LogoWithCoverImageIcon(props) {
|
|
|
6626
6506
|
xmlns: "http://www.w3.org/2000/svg"
|
|
6627
6507
|
}, props), {
|
|
6628
6508
|
children: [
|
|
6629
|
-
/* @__PURE__ */
|
|
6509
|
+
/* @__PURE__ */ jsx25(
|
|
6630
6510
|
"path",
|
|
6631
6511
|
{
|
|
6632
6512
|
fillRule: "evenodd",
|
|
@@ -6635,7 +6515,7 @@ function LogoWithCoverImageIcon(props) {
|
|
|
6635
6515
|
fill: "currentColor"
|
|
6636
6516
|
}
|
|
6637
6517
|
),
|
|
6638
|
-
/* @__PURE__ */
|
|
6518
|
+
/* @__PURE__ */ jsx25(
|
|
6639
6519
|
"path",
|
|
6640
6520
|
{
|
|
6641
6521
|
fillRule: "evenodd",
|
|
@@ -6644,7 +6524,7 @@ function LogoWithCoverImageIcon(props) {
|
|
|
6644
6524
|
fill: "currentColor"
|
|
6645
6525
|
}
|
|
6646
6526
|
),
|
|
6647
|
-
/* @__PURE__ */
|
|
6527
|
+
/* @__PURE__ */ jsx25(
|
|
6648
6528
|
"path",
|
|
6649
6529
|
{
|
|
6650
6530
|
fillRule: "evenodd",
|
|
@@ -6653,8 +6533,8 @@ function LogoWithCoverImageIcon(props) {
|
|
|
6653
6533
|
fill: "currentColor"
|
|
6654
6534
|
}
|
|
6655
6535
|
),
|
|
6656
|
-
/* @__PURE__ */
|
|
6657
|
-
/* @__PURE__ */
|
|
6536
|
+
/* @__PURE__ */ jsx25("mask", { id: "path-4-inside-1_1046_19527", fill: "white", children: /* @__PURE__ */ jsx25("rect", { x: "3", y: "4", width: "8", height: "3", rx: "0.5" }) }),
|
|
6537
|
+
/* @__PURE__ */ jsx25(
|
|
6658
6538
|
"rect",
|
|
6659
6539
|
{
|
|
6660
6540
|
x: "3",
|
|
@@ -6667,7 +6547,7 @@ function LogoWithCoverImageIcon(props) {
|
|
|
6667
6547
|
mask: "url(#path-4-inside-1_1046_19527)"
|
|
6668
6548
|
}
|
|
6669
6549
|
),
|
|
6670
|
-
/* @__PURE__ */
|
|
6550
|
+
/* @__PURE__ */ jsx25(
|
|
6671
6551
|
"rect",
|
|
6672
6552
|
{
|
|
6673
6553
|
x: "6.25",
|
|
@@ -6679,16 +6559,16 @@ function LogoWithCoverImageIcon(props) {
|
|
|
6679
6559
|
strokeWidth: "0.5"
|
|
6680
6560
|
}
|
|
6681
6561
|
),
|
|
6682
|
-
/* @__PURE__ */
|
|
6562
|
+
/* @__PURE__ */ jsx25("rect", { x: "3", y: "8", width: "2", height: "1", rx: "0.5", fill: "currentColor" })
|
|
6683
6563
|
]
|
|
6684
6564
|
})
|
|
6685
6565
|
);
|
|
6686
6566
|
}
|
|
6687
6567
|
|
|
6688
6568
|
// src/editor/components/icons/logo-with-text-horizon.tsx
|
|
6689
|
-
import { jsx as
|
|
6569
|
+
import { jsx as jsx26, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
6690
6570
|
function LogoWithTextHorizonIcon(props) {
|
|
6691
|
-
return /* @__PURE__ */
|
|
6571
|
+
return /* @__PURE__ */ jsxs12(
|
|
6692
6572
|
"svg",
|
|
6693
6573
|
__spreadProps(__spreadValues({
|
|
6694
6574
|
width: "14",
|
|
@@ -6698,7 +6578,7 @@ function LogoWithTextHorizonIcon(props) {
|
|
|
6698
6578
|
xmlns: "http://www.w3.org/2000/svg"
|
|
6699
6579
|
}, props), {
|
|
6700
6580
|
children: [
|
|
6701
|
-
/* @__PURE__ */
|
|
6581
|
+
/* @__PURE__ */ jsx26(
|
|
6702
6582
|
"path",
|
|
6703
6583
|
{
|
|
6704
6584
|
fillRule: "evenodd",
|
|
@@ -6707,7 +6587,7 @@ function LogoWithTextHorizonIcon(props) {
|
|
|
6707
6587
|
fill: "currentColor"
|
|
6708
6588
|
}
|
|
6709
6589
|
),
|
|
6710
|
-
/* @__PURE__ */
|
|
6590
|
+
/* @__PURE__ */ jsx26(
|
|
6711
6591
|
"rect",
|
|
6712
6592
|
{
|
|
6713
6593
|
x: "6.25",
|
|
@@ -6719,8 +6599,8 @@ function LogoWithTextHorizonIcon(props) {
|
|
|
6719
6599
|
strokeWidth: "0.5"
|
|
6720
6600
|
}
|
|
6721
6601
|
),
|
|
6722
|
-
/* @__PURE__ */
|
|
6723
|
-
/* @__PURE__ */
|
|
6602
|
+
/* @__PURE__ */ jsx26("rect", { x: "3", y: "6.5", width: "2", height: "1", rx: "0.5", fill: "currentColor" }),
|
|
6603
|
+
/* @__PURE__ */ jsx26(
|
|
6724
6604
|
"path",
|
|
6725
6605
|
{
|
|
6726
6606
|
fillRule: "evenodd",
|
|
@@ -6729,7 +6609,7 @@ function LogoWithTextHorizonIcon(props) {
|
|
|
6729
6609
|
fill: "currentColor"
|
|
6730
6610
|
}
|
|
6731
6611
|
),
|
|
6732
|
-
/* @__PURE__ */
|
|
6612
|
+
/* @__PURE__ */ jsx26(
|
|
6733
6613
|
"path",
|
|
6734
6614
|
{
|
|
6735
6615
|
fillRule: "evenodd",
|
|
@@ -6744,9 +6624,9 @@ function LogoWithTextHorizonIcon(props) {
|
|
|
6744
6624
|
}
|
|
6745
6625
|
|
|
6746
6626
|
// src/editor/components/icons/logo-with-text-vertical.tsx
|
|
6747
|
-
import { jsx as
|
|
6627
|
+
import { jsx as jsx27, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
6748
6628
|
function LogoWithTextVerticalIcon(props) {
|
|
6749
|
-
return /* @__PURE__ */
|
|
6629
|
+
return /* @__PURE__ */ jsxs13(
|
|
6750
6630
|
"svg",
|
|
6751
6631
|
__spreadProps(__spreadValues({
|
|
6752
6632
|
width: "14",
|
|
@@ -6756,7 +6636,7 @@ function LogoWithTextVerticalIcon(props) {
|
|
|
6756
6636
|
xmlns: "http://www.w3.org/2000/svg"
|
|
6757
6637
|
}, props), {
|
|
6758
6638
|
children: [
|
|
6759
|
-
/* @__PURE__ */
|
|
6639
|
+
/* @__PURE__ */ jsx27(
|
|
6760
6640
|
"path",
|
|
6761
6641
|
{
|
|
6762
6642
|
fillRule: "evenodd",
|
|
@@ -6765,7 +6645,7 @@ function LogoWithTextVerticalIcon(props) {
|
|
|
6765
6645
|
fill: "currentColor"
|
|
6766
6646
|
}
|
|
6767
6647
|
),
|
|
6768
|
-
/* @__PURE__ */
|
|
6648
|
+
/* @__PURE__ */ jsx27(
|
|
6769
6649
|
"rect",
|
|
6770
6650
|
{
|
|
6771
6651
|
x: "4.25",
|
|
@@ -6777,8 +6657,8 @@ function LogoWithTextVerticalIcon(props) {
|
|
|
6777
6657
|
strokeWidth: "0.5"
|
|
6778
6658
|
}
|
|
6779
6659
|
),
|
|
6780
|
-
/* @__PURE__ */
|
|
6781
|
-
/* @__PURE__ */
|
|
6660
|
+
/* @__PURE__ */ jsx27("rect", { x: "6", y: "6", width: "2", height: "1", rx: "0.5", fill: "currentColor" }),
|
|
6661
|
+
/* @__PURE__ */ jsx27(
|
|
6782
6662
|
"path",
|
|
6783
6663
|
{
|
|
6784
6664
|
fillRule: "evenodd",
|
|
@@ -6787,7 +6667,7 @@ function LogoWithTextVerticalIcon(props) {
|
|
|
6787
6667
|
fill: "currentColor"
|
|
6788
6668
|
}
|
|
6789
6669
|
),
|
|
6790
|
-
/* @__PURE__ */
|
|
6670
|
+
/* @__PURE__ */ jsx27(
|
|
6791
6671
|
"path",
|
|
6792
6672
|
{
|
|
6793
6673
|
fillRule: "evenodd",
|
|
@@ -6802,12 +6682,12 @@ function LogoWithTextVerticalIcon(props) {
|
|
|
6802
6682
|
}
|
|
6803
6683
|
|
|
6804
6684
|
// src/blocks/headers.tsx
|
|
6805
|
-
import { jsx as
|
|
6685
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
6806
6686
|
var headerLogoWithTextHorizontal = {
|
|
6807
6687
|
title: "Logo with Text (Horizontal)",
|
|
6808
6688
|
description: "Logo and a text horizontally",
|
|
6809
6689
|
searchTerms: ["logo", "text"],
|
|
6810
|
-
icon: /* @__PURE__ */
|
|
6690
|
+
icon: /* @__PURE__ */ jsx28(LogoWithTextHorizonIcon, { className: "mly:h-4 mly:w-4" }),
|
|
6811
6691
|
command: ({ editor, range }) => {
|
|
6812
6692
|
editor.chain().deleteRange(range).insertContent({
|
|
6813
6693
|
type: "columns",
|
|
@@ -6871,7 +6751,7 @@ var headerLogoWithTextVertical = {
|
|
|
6871
6751
|
title: "Logo with Text (Vertical)",
|
|
6872
6752
|
description: "Logo and a text vertically",
|
|
6873
6753
|
searchTerms: ["logo", "text"],
|
|
6874
|
-
icon: /* @__PURE__ */
|
|
6754
|
+
icon: /* @__PURE__ */ jsx28(LogoWithTextVerticalIcon, { className: "mly:h-4 mly:w-4" }),
|
|
6875
6755
|
command: ({ editor, range }) => {
|
|
6876
6756
|
editor.chain().deleteRange(range).insertContent([
|
|
6877
6757
|
{
|
|
@@ -6902,7 +6782,7 @@ var headerLogoWithCoverImage = {
|
|
|
6902
6782
|
title: "Logo with Cover Image",
|
|
6903
6783
|
description: "Logo and a cover image",
|
|
6904
6784
|
searchTerms: ["logo", "cover", "image"],
|
|
6905
|
-
icon: /* @__PURE__ */
|
|
6785
|
+
icon: /* @__PURE__ */ jsx28(LogoWithCoverImageIcon, { className: "mly:h-4 mly:w-4" }),
|
|
6906
6786
|
command: ({ editor, range }) => {
|
|
6907
6787
|
const todayFormatted = (/* @__PURE__ */ new Date()).toLocaleDateString("en-US", {
|
|
6908
6788
|
year: "numeric",
|
|
@@ -6995,12 +6875,12 @@ import {
|
|
|
6995
6875
|
LayoutTemplateIcon,
|
|
6996
6876
|
RectangleHorizontalIcon
|
|
6997
6877
|
} from "lucide-react";
|
|
6998
|
-
import { jsx as
|
|
6878
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
6999
6879
|
var footerCopyrightText = {
|
|
7000
6880
|
title: "Footer Copyright",
|
|
7001
6881
|
description: "Copyright text for the footer.",
|
|
7002
6882
|
searchTerms: ["footer", "copyright"],
|
|
7003
|
-
icon: /* @__PURE__ */
|
|
6883
|
+
icon: /* @__PURE__ */ jsx29(CopyrightIcon, { className: "mly:h-4 mly:w-4" }),
|
|
7004
6884
|
command: ({ editor, range }) => {
|
|
7005
6885
|
const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
|
|
7006
6886
|
editor.chain().focus().deleteRange(range).insertContent({
|
|
@@ -7020,7 +6900,7 @@ var footerCommunityFeedbackCta = {
|
|
|
7020
6900
|
title: "Footer Community Feedback CTA",
|
|
7021
6901
|
description: "Community feedback CTA for the footer.",
|
|
7022
6902
|
searchTerms: ["footer", "community", "feedback", "cta"],
|
|
7023
|
-
icon: /* @__PURE__ */
|
|
6903
|
+
icon: /* @__PURE__ */ jsx29(RectangleHorizontalIcon, { className: "mly:h-4 mly:w-4" }),
|
|
7024
6904
|
command: ({ editor, range }) => {
|
|
7025
6905
|
editor.chain().focus().deleteRange(range).insertContent([
|
|
7026
6906
|
{
|
|
@@ -7063,7 +6943,7 @@ var footerCompanySignature = {
|
|
|
7063
6943
|
title: "Footer Company Signature",
|
|
7064
6944
|
description: "Company signature for the footer.",
|
|
7065
6945
|
searchTerms: ["footer", "company", "signature"],
|
|
7066
|
-
icon: /* @__PURE__ */
|
|
6946
|
+
icon: /* @__PURE__ */ jsx29(LayoutTemplateIcon, { className: "mly:h-4 mly:w-4" }),
|
|
7067
6947
|
command: ({ editor, range }) => {
|
|
7068
6948
|
editor.chain().focus().deleteRange(range).insertContent([
|
|
7069
6949
|
{ type: "horizontalRule" },
|
|
@@ -7217,7 +7097,7 @@ var footerCompanySignature = {
|
|
|
7217
7097
|
};
|
|
7218
7098
|
|
|
7219
7099
|
// src/editor/extensions/slash-command/default-slash-commands.tsx
|
|
7220
|
-
import { jsx as
|
|
7100
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
7221
7101
|
var DEFAULT_SLASH_COMMANDS = [
|
|
7222
7102
|
{
|
|
7223
7103
|
title: "Blocks",
|
|
@@ -7252,7 +7132,7 @@ var DEFAULT_SLASH_COMMANDS = [
|
|
|
7252
7132
|
title: "Headers",
|
|
7253
7133
|
description: "Add pre-designed headers block",
|
|
7254
7134
|
searchTerms: ["header", "headers"],
|
|
7255
|
-
icon: /* @__PURE__ */
|
|
7135
|
+
icon: /* @__PURE__ */ jsx30(Heading12, { className: "mly:h-4 mly:w-4" }),
|
|
7256
7136
|
preview: "https://cdn.usemaily.com/previews/header-preview-xyz.png",
|
|
7257
7137
|
commands: [
|
|
7258
7138
|
headerLogoWithTextVertical,
|
|
@@ -7265,7 +7145,7 @@ var DEFAULT_SLASH_COMMANDS = [
|
|
|
7265
7145
|
title: "Footers",
|
|
7266
7146
|
description: "Add pre-designed footers block",
|
|
7267
7147
|
searchTerms: ["footers"],
|
|
7268
|
-
icon: /* @__PURE__ */
|
|
7148
|
+
icon: /* @__PURE__ */ jsx30(FootprintsIcon2, { className: "mly:h-4 mly:w-4" }),
|
|
7269
7149
|
commands: [
|
|
7270
7150
|
footerCopyrightText,
|
|
7271
7151
|
footerCommunityFeedbackCta,
|
|
@@ -7278,7 +7158,7 @@ var DEFAULT_SLASH_COMMANDS = [
|
|
|
7278
7158
|
];
|
|
7279
7159
|
|
|
7280
7160
|
// src/editor/provider.tsx
|
|
7281
|
-
import { jsx as
|
|
7161
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
7282
7162
|
var DEFAULT_PLACEHOLDER_URL = "https://maily.to/";
|
|
7283
7163
|
var MailyContext = createContext({
|
|
7284
7164
|
placeholderUrl: DEFAULT_PLACEHOLDER_URL,
|
|
@@ -7286,7 +7166,7 @@ var MailyContext = createContext({
|
|
|
7286
7166
|
});
|
|
7287
7167
|
function MailyProvider(props) {
|
|
7288
7168
|
const _a = props, { children } = _a, defaultValues = __objRest(_a, ["children"]);
|
|
7289
|
-
return /* @__PURE__ */
|
|
7169
|
+
return /* @__PURE__ */ jsx31(MailyContext.Provider, { value: defaultValues, children });
|
|
7290
7170
|
}
|
|
7291
7171
|
function useMailyContext() {
|
|
7292
7172
|
const values = useContext(MailyContext);
|
|
@@ -7319,7 +7199,7 @@ import {
|
|
|
7319
7199
|
useRef as useRef6,
|
|
7320
7200
|
useState as useState6
|
|
7321
7201
|
} from "react";
|
|
7322
|
-
import { jsx as
|
|
7202
|
+
import { jsx as jsx32, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
7323
7203
|
var VariableSuggestionsPopover = forwardRef5((props, ref) => {
|
|
7324
7204
|
const { items, onSelectItem } = props;
|
|
7325
7205
|
const [selectedIndex, setSelectedIndex] = useState6(0);
|
|
@@ -7365,17 +7245,17 @@ var VariableSuggestionsPopover = forwardRef5((props, ref) => {
|
|
|
7365
7245
|
onSelectItem(item);
|
|
7366
7246
|
}
|
|
7367
7247
|
}));
|
|
7368
|
-
return /* @__PURE__ */
|
|
7369
|
-
/* @__PURE__ */
|
|
7370
|
-
/* @__PURE__ */
|
|
7371
|
-
/* @__PURE__ */
|
|
7248
|
+
return /* @__PURE__ */ jsxs14("div", { className: "mly:z-50 mly:w-64 mly:rounded-lg mly:border mly:border-gray-200 mly:bg-white mly:shadow-md mly:transition-all", children: [
|
|
7249
|
+
/* @__PURE__ */ jsxs14("div", { className: "mly:flex mly:items-center mly:justify-between mly:gap-2 mly:border-b mly:border-gray-200 mly:bg-soft-gray/40 mly:px-1 mly:py-1.5 mly:text-gray-500", children: [
|
|
7250
|
+
/* @__PURE__ */ jsx32("span", { className: "mly:text-xs mly:uppercase", children: "Variables" }),
|
|
7251
|
+
/* @__PURE__ */ jsx32(VariableIcon, { children: /* @__PURE__ */ jsx32(Braces, { className: "mly:size-3 mly:stroke-[2.5]" }) })
|
|
7372
7252
|
] }),
|
|
7373
|
-
/* @__PURE__ */
|
|
7253
|
+
/* @__PURE__ */ jsx32(
|
|
7374
7254
|
"div",
|
|
7375
7255
|
{
|
|
7376
7256
|
ref: scrollContainerRef,
|
|
7377
7257
|
className: "mly:max-h-52 mly:overflow-y-auto mly:scrollbar-thin mly:scrollbar-track-transparent mly:scrollbar-thumb-gray-200",
|
|
7378
|
-
children: /* @__PURE__ */
|
|
7258
|
+
children: /* @__PURE__ */ jsx32("div", { className: "mly:flex mly:w-fit mly:min-w-full mly:flex-col mly:gap-0.5 mly:p-1", children: (items == null ? void 0 : items.length) ? items == null ? void 0 : items.map((item, index) => /* @__PURE__ */ jsxs14(
|
|
7379
7259
|
"button",
|
|
7380
7260
|
{
|
|
7381
7261
|
ref: (el) => itemRefs.current[index] = el,
|
|
@@ -7385,27 +7265,27 @@ var VariableSuggestionsPopover = forwardRef5((props, ref) => {
|
|
|
7385
7265
|
index === selectedIndex ? "mly:bg-soft-gray" : "mly:bg-white"
|
|
7386
7266
|
),
|
|
7387
7267
|
children: [
|
|
7388
|
-
/* @__PURE__ */
|
|
7268
|
+
/* @__PURE__ */ jsx32(Braces, { className: "mly:size-3 mly:stroke-[2.5] mly:text-rose-600" }),
|
|
7389
7269
|
(item == null ? void 0 : item.label) || item.name
|
|
7390
7270
|
]
|
|
7391
7271
|
},
|
|
7392
7272
|
index
|
|
7393
|
-
)) : /* @__PURE__ */
|
|
7273
|
+
)) : /* @__PURE__ */ jsx32("div", { className: "mly:flex mly:h-7 mly:w-full mly:items-center mly:gap-2 mly:rounded-md mly:px-2 mly:py-1 mly:text-left mly:font-mono mly:text-[13px] mly:text-gray-900 mly:hover:bg-soft-gray", children: "No result" }) })
|
|
7394
7274
|
}
|
|
7395
7275
|
),
|
|
7396
|
-
/* @__PURE__ */
|
|
7397
|
-
/* @__PURE__ */
|
|
7398
|
-
/* @__PURE__ */
|
|
7399
|
-
/* @__PURE__ */
|
|
7400
|
-
/* @__PURE__ */
|
|
7276
|
+
/* @__PURE__ */ jsxs14("div", { className: "mly:flex mly:items-center mly:justify-between mly:gap-2 mly:border-t mly:border-gray-200 mly:px-1 mly:py-1.5 mly:text-gray-500", children: [
|
|
7277
|
+
/* @__PURE__ */ jsxs14("div", { className: "mly:flex mly:items-center mly:gap-1", children: [
|
|
7278
|
+
/* @__PURE__ */ jsx32(VariableIcon, { children: /* @__PURE__ */ jsx32(ArrowDownIcon, { className: "mly:size-3 mly:stroke-[2.5]" }) }),
|
|
7279
|
+
/* @__PURE__ */ jsx32(VariableIcon, { children: /* @__PURE__ */ jsx32(ArrowUpIcon, { className: "mly:size-3 mly:stroke-[2.5]" }) }),
|
|
7280
|
+
/* @__PURE__ */ jsx32("span", { className: "mly:text-xs mly:text-gray-500", children: "Navigate" })
|
|
7401
7281
|
] }),
|
|
7402
|
-
/* @__PURE__ */
|
|
7282
|
+
/* @__PURE__ */ jsx32(VariableIcon, { children: /* @__PURE__ */ jsx32(CornerDownLeftIcon, { className: "mly:size-3 mly:stroke-[2.5]" }) })
|
|
7403
7283
|
] })
|
|
7404
7284
|
] });
|
|
7405
7285
|
});
|
|
7406
7286
|
function VariableIcon(props) {
|
|
7407
7287
|
const { className, children } = props;
|
|
7408
|
-
return /* @__PURE__ */
|
|
7288
|
+
return /* @__PURE__ */ jsx32(
|
|
7409
7289
|
"div",
|
|
7410
7290
|
{
|
|
7411
7291
|
className: cn(
|
|
@@ -7421,7 +7301,7 @@ function VariableIcon(props) {
|
|
|
7421
7301
|
import { NodeViewWrapper as NodeViewWrapper3 } from "@tiptap/react";
|
|
7422
7302
|
import { AlertTriangle, Braces as Braces2, Pencil } from "lucide-react";
|
|
7423
7303
|
import { useMemo as useMemo5 } from "react";
|
|
7424
|
-
import { Fragment as Fragment4, jsx as
|
|
7304
|
+
import { Fragment as Fragment4, jsx as jsx33, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
7425
7305
|
function VariableView(props) {
|
|
7426
7306
|
const { node, updateAttributes: updateAttributes2, editor } = props;
|
|
7427
7307
|
const {
|
|
@@ -7436,19 +7316,19 @@ function VariableView(props) {
|
|
|
7436
7316
|
const variableRender = (_b = (_a = getNodeOptions(editor, "variable")) == null ? void 0 : _a.renderVariable) != null ? _b : DEFAULT_RENDER_VARIABLE_FUNCTION;
|
|
7437
7317
|
return variableRender;
|
|
7438
7318
|
}, [editor]);
|
|
7439
|
-
return /* @__PURE__ */
|
|
7319
|
+
return /* @__PURE__ */ jsx33(
|
|
7440
7320
|
NodeViewWrapper3,
|
|
7441
7321
|
{
|
|
7442
7322
|
className: "react-component mly:inline-block mly:leading-none",
|
|
7443
7323
|
draggable: "false",
|
|
7444
|
-
children: /* @__PURE__ */
|
|
7324
|
+
children: /* @__PURE__ */ jsxs15(
|
|
7445
7325
|
Popover,
|
|
7446
7326
|
{
|
|
7447
7327
|
onOpenChange: (open) => {
|
|
7448
7328
|
editor.storage.variable.popover = open;
|
|
7449
7329
|
},
|
|
7450
7330
|
children: [
|
|
7451
|
-
/* @__PURE__ */
|
|
7331
|
+
/* @__PURE__ */ jsx33(PopoverTrigger, { children: renderVariable({
|
|
7452
7332
|
variable: {
|
|
7453
7333
|
name: id,
|
|
7454
7334
|
required,
|
|
@@ -7459,7 +7339,7 @@ function VariableView(props) {
|
|
|
7459
7339
|
editor,
|
|
7460
7340
|
from: "content-variable"
|
|
7461
7341
|
}) }),
|
|
7462
|
-
/* @__PURE__ */
|
|
7342
|
+
/* @__PURE__ */ jsx33(
|
|
7463
7343
|
PopoverContent,
|
|
7464
7344
|
{
|
|
7465
7345
|
align: "start",
|
|
@@ -7468,10 +7348,10 @@ function VariableView(props) {
|
|
|
7468
7348
|
sideOffset: 8,
|
|
7469
7349
|
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
7470
7350
|
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
7471
|
-
children: /* @__PURE__ */
|
|
7472
|
-
/* @__PURE__ */
|
|
7473
|
-
/* @__PURE__ */
|
|
7474
|
-
/* @__PURE__ */
|
|
7351
|
+
children: /* @__PURE__ */ jsx33(TooltipProvider, { children: /* @__PURE__ */ jsxs15("div", { className: "mly:flex mly:items-stretch mly:text-midnight-gray", children: [
|
|
7352
|
+
/* @__PURE__ */ jsxs15("label", { className: "mly:relative", children: [
|
|
7353
|
+
/* @__PURE__ */ jsx33("span", { className: "mly:inline-block mly:px-2 mly:text-xs mly:text-midnight-gray", children: "Variable" }),
|
|
7354
|
+
/* @__PURE__ */ jsx33(
|
|
7475
7355
|
"input",
|
|
7476
7356
|
__spreadProps(__spreadValues({}, AUTOCOMPLETE_PASSWORD_MANAGERS_OFF), {
|
|
7477
7357
|
value: id != null ? id : "",
|
|
@@ -7485,11 +7365,11 @@ function VariableView(props) {
|
|
|
7485
7365
|
})
|
|
7486
7366
|
)
|
|
7487
7367
|
] }),
|
|
7488
|
-
!hideDefaultValue && /* @__PURE__ */
|
|
7489
|
-
/* @__PURE__ */
|
|
7490
|
-
/* @__PURE__ */
|
|
7491
|
-
/* @__PURE__ */
|
|
7492
|
-
/* @__PURE__ */
|
|
7368
|
+
!hideDefaultValue && /* @__PURE__ */ jsxs15(Fragment4, { children: [
|
|
7369
|
+
/* @__PURE__ */ jsx33(Divider, { className: "mly:mx-1.5" }),
|
|
7370
|
+
/* @__PURE__ */ jsxs15("label", { className: "mly:relative", children: [
|
|
7371
|
+
/* @__PURE__ */ jsx33("span", { className: "mly:inline-block mly:px-2 mly:pl-1 mly:text-xs mly:text-midnight-gray", children: "Default" }),
|
|
7372
|
+
/* @__PURE__ */ jsx33(
|
|
7493
7373
|
"input",
|
|
7494
7374
|
__spreadProps(__spreadValues({}, AUTOCOMPLETE_PASSWORD_MANAGERS_OFF), {
|
|
7495
7375
|
value: fallback != null ? fallback : "",
|
|
@@ -7502,7 +7382,7 @@ function VariableView(props) {
|
|
|
7502
7382
|
className: "mly:h-7 mly:w-32 mly:rounded-md mly:bg-soft-gray mly:px-2 mly:pr-6 mly:text-sm mly:text-midnight-gray mly:focus:bg-soft-gray mly:focus:outline-none"
|
|
7503
7383
|
})
|
|
7504
7384
|
),
|
|
7505
|
-
/* @__PURE__ */
|
|
7385
|
+
/* @__PURE__ */ jsx33("div", { className: "mly:absolute mly:inset-y-0 mly:right-1 mly:flex mly:items-center", children: /* @__PURE__ */ jsx33(Pencil, { className: "mly:h-3 mly:w-3 mly:stroke-[2.5] mly:text-midnight-gray" }) })
|
|
7506
7386
|
] })
|
|
7507
7387
|
] })
|
|
7508
7388
|
] }) })
|
|
@@ -7519,13 +7399,13 @@ var DefaultRenderVariable = (props) => {
|
|
|
7519
7399
|
const { name, required, valid, label } = variable;
|
|
7520
7400
|
const variableLabel = label || name;
|
|
7521
7401
|
if (from === "button-variable") {
|
|
7522
|
-
return /* @__PURE__ */
|
|
7523
|
-
/* @__PURE__ */
|
|
7524
|
-
/* @__PURE__ */
|
|
7402
|
+
return /* @__PURE__ */ jsxs15("div", { className: "mly:inline-grid mly:max-w-xs mly:grid-cols-[12px_1fr] mly:items-center mly:gap-1.5 mly:rounded-md mly:border mly:border-(--button-var-border-color) mly:px-2 mly:py-px mly:font-mono mly:text-xs", children: [
|
|
7403
|
+
/* @__PURE__ */ jsx33(Braces2, { className: "mly:h-3 mly:w-3 mly:shrink-0 mly:stroke-[2.5]" }),
|
|
7404
|
+
/* @__PURE__ */ jsx33("span", { className: "mly:min-w-0 mly:truncate mly:text-left", children: variableLabel })
|
|
7525
7405
|
] });
|
|
7526
7406
|
}
|
|
7527
7407
|
if (from === "bubble-variable") {
|
|
7528
|
-
return /* @__PURE__ */
|
|
7408
|
+
return /* @__PURE__ */ jsxs15(
|
|
7529
7409
|
"div",
|
|
7530
7410
|
{
|
|
7531
7411
|
className: cn(
|
|
@@ -7533,21 +7413,21 @@ var DefaultRenderVariable = (props) => {
|
|
|
7533
7413
|
!valid && "mly:border-rose-400 mly:bg-rose-50 mly:text-rose-600 mly:hover:bg-rose-100"
|
|
7534
7414
|
),
|
|
7535
7415
|
children: [
|
|
7536
|
-
/* @__PURE__ */
|
|
7537
|
-
/* @__PURE__ */
|
|
7416
|
+
/* @__PURE__ */ jsx33(Braces2, { className: "mly:h-3 mly:w-3 mly:shrink-0 mly:stroke-[2.5] mly:text-rose-600" }),
|
|
7417
|
+
/* @__PURE__ */ jsx33("span", { className: "mly:min-w-0 mly:truncate mly:text-left", children: variableLabel })
|
|
7538
7418
|
]
|
|
7539
7419
|
}
|
|
7540
7420
|
);
|
|
7541
7421
|
}
|
|
7542
|
-
return /* @__PURE__ */
|
|
7422
|
+
return /* @__PURE__ */ jsxs15(
|
|
7543
7423
|
"span",
|
|
7544
7424
|
{
|
|
7545
7425
|
tabIndex: -1,
|
|
7546
7426
|
className: "mly:inline-flex mly:items-center mly:gap-(--variable-icon-gap) mly:rounded-full mly:border mly:border-gray-200 mly:px-1.5 mly:py-0.5 mly:leading-none",
|
|
7547
7427
|
children: [
|
|
7548
|
-
/* @__PURE__ */
|
|
7428
|
+
/* @__PURE__ */ jsx33(Braces2, { className: "mly:size-[var(--variable-icon-size)] mly:shrink-0 mly:stroke-[2.5] mly:text-rose-600" }),
|
|
7549
7429
|
variableLabel,
|
|
7550
|
-
required && !fallback && /* @__PURE__ */
|
|
7430
|
+
required && !fallback && /* @__PURE__ */ jsx33(AlertTriangle, { className: "mly:size-[var(--variable-icon-size)] mly:shrink-0 mly:stroke-[2.5]" })
|
|
7551
7431
|
]
|
|
7552
7432
|
}
|
|
7553
7433
|
);
|
|
@@ -7728,7 +7608,7 @@ var VariableExtension = Node4.create({
|
|
|
7728
7608
|
});
|
|
7729
7609
|
|
|
7730
7610
|
// src/editor/components/ui/link-input-popover.tsx
|
|
7731
|
-
import { jsx as
|
|
7611
|
+
import { jsx as jsx34, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
7732
7612
|
function LinkInputPopover(props) {
|
|
7733
7613
|
var _a, _b;
|
|
7734
7614
|
const {
|
|
@@ -7758,7 +7638,7 @@ function LinkInputPopover(props) {
|
|
|
7758
7638
|
editor
|
|
7759
7639
|
}).map((variable) => variable.name);
|
|
7760
7640
|
}, [variables, variableTriggerCharacter, defaultValue, editor]);
|
|
7761
|
-
const popoverButton = /* @__PURE__ */
|
|
7641
|
+
const popoverButton = /* @__PURE__ */ jsx34(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx34(
|
|
7762
7642
|
BaseButton,
|
|
7763
7643
|
{
|
|
7764
7644
|
variant: "ghost",
|
|
@@ -7766,10 +7646,10 @@ function LinkInputPopover(props) {
|
|
|
7766
7646
|
type: "button",
|
|
7767
7647
|
className: "mly:h-7! mly:w-7!",
|
|
7768
7648
|
"data-state": !!defaultValue,
|
|
7769
|
-
children: /* @__PURE__ */
|
|
7649
|
+
children: /* @__PURE__ */ jsx34(Icon, { className: "mly:h-3 mly:w-3 mly:shrink-0 mly:stroke-[2.5] mly:text-midnight-gray" })
|
|
7770
7650
|
}
|
|
7771
7651
|
) });
|
|
7772
|
-
return /* @__PURE__ */
|
|
7652
|
+
return /* @__PURE__ */ jsxs16(
|
|
7773
7653
|
Popover,
|
|
7774
7654
|
{
|
|
7775
7655
|
open: isOpen,
|
|
@@ -7783,11 +7663,11 @@ function LinkInputPopover(props) {
|
|
|
7783
7663
|
}
|
|
7784
7664
|
},
|
|
7785
7665
|
children: [
|
|
7786
|
-
tooltip ? /* @__PURE__ */
|
|
7787
|
-
/* @__PURE__ */
|
|
7788
|
-
/* @__PURE__ */
|
|
7666
|
+
tooltip ? /* @__PURE__ */ jsxs16(Tooltip, { children: [
|
|
7667
|
+
/* @__PURE__ */ jsx34(TooltipTrigger, { asChild: true, children: popoverButton }),
|
|
7668
|
+
/* @__PURE__ */ jsx34(TooltipContent, { sideOffset: 8, children: tooltip })
|
|
7789
7669
|
] }) : popoverButton,
|
|
7790
|
-
/* @__PURE__ */
|
|
7670
|
+
/* @__PURE__ */ jsx34(
|
|
7791
7671
|
PopoverContent,
|
|
7792
7672
|
{
|
|
7793
7673
|
align: "end",
|
|
@@ -7795,7 +7675,7 @@ function LinkInputPopover(props) {
|
|
|
7795
7675
|
className: "mly:w-max mly:rounded-none mly:border-none mly:bg-transparent mly:p-0! mly:shadow-none",
|
|
7796
7676
|
sideOffset: 8,
|
|
7797
7677
|
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
7798
|
-
children: /* @__PURE__ */
|
|
7678
|
+
children: /* @__PURE__ */ jsx34(
|
|
7799
7679
|
"form",
|
|
7800
7680
|
{
|
|
7801
7681
|
onSubmit: (e) => {
|
|
@@ -7807,8 +7687,8 @@ function LinkInputPopover(props) {
|
|
|
7807
7687
|
onValueChange == null ? void 0 : onValueChange(input.value);
|
|
7808
7688
|
setIsOpen(false);
|
|
7809
7689
|
},
|
|
7810
|
-
children: /* @__PURE__ */
|
|
7811
|
-
!isEditing && /* @__PURE__ */
|
|
7690
|
+
children: /* @__PURE__ */ jsxs16("div", { className: "mly:isolate mly:flex mly:rounded-lg", children: [
|
|
7691
|
+
!isEditing && /* @__PURE__ */ jsx34("div", { className: "mly:flex mly:h-8 mly:items-center mly:rounded-lg mly:border mly:border-gray-300 mly:bg-white mly:px-0.5", children: /* @__PURE__ */ jsx34(
|
|
7812
7692
|
"button",
|
|
7813
7693
|
{
|
|
7814
7694
|
onClick: () => {
|
|
@@ -7829,9 +7709,9 @@ function LinkInputPopover(props) {
|
|
|
7829
7709
|
})
|
|
7830
7710
|
}
|
|
7831
7711
|
) }),
|
|
7832
|
-
isEditing && /* @__PURE__ */
|
|
7833
|
-
/* @__PURE__ */
|
|
7834
|
-
/* @__PURE__ */
|
|
7712
|
+
isEditing && /* @__PURE__ */ jsxs16("div", { className: "mly:relative", children: [
|
|
7713
|
+
/* @__PURE__ */ jsx34("div", { className: "mly:absolute mly:inset-y-0 mly:left-1.5 mly:z-10 mly:flex mly:items-center", children: /* @__PURE__ */ jsx34(LinkIcon2, { className: "mly:h-3 mly:w-3 mly:stroke-[2.5] mly:text-midnight-gray" }) }),
|
|
7714
|
+
/* @__PURE__ */ jsx34(
|
|
7835
7715
|
InputAutocomplete,
|
|
7836
7716
|
{
|
|
7837
7717
|
editor,
|
|
@@ -7867,12 +7747,12 @@ function LinkInputPopover(props) {
|
|
|
7867
7747
|
}
|
|
7868
7748
|
|
|
7869
7749
|
// src/editor/components/image-menu/image-size.tsx
|
|
7870
|
-
import { jsx as
|
|
7750
|
+
import { jsx as jsx35, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
7871
7751
|
function ImageSize(props) {
|
|
7872
7752
|
const { value, onValueChange, dimension } = props;
|
|
7873
|
-
return /* @__PURE__ */
|
|
7874
|
-
/* @__PURE__ */
|
|
7875
|
-
/* @__PURE__ */
|
|
7753
|
+
return /* @__PURE__ */ jsxs17("label", { className: "mly:relative mly:flex mly:items-center", children: [
|
|
7754
|
+
/* @__PURE__ */ jsx35("span", { className: "mly:absolute mly:inset-y-0 mly:left-2 mly:flex mly:items-center mly:text-xs mly:leading-none mly:text-gray-400", children: dimension === "width" ? "W" : "H" }),
|
|
7755
|
+
/* @__PURE__ */ jsx35(
|
|
7876
7756
|
"input",
|
|
7877
7757
|
__spreadProps(__spreadValues({}, AUTOCOMPLETE_PASSWORD_MANAGERS_OFF), {
|
|
7878
7758
|
className: "hide-number-controls mly:h-auto mly:max-w-20 mly:appearance-none mly:border-0 mly:border-none mly:p-1 mly:px-[26px] mly:text-sm mly:uppercase mly:tabular-nums mly:outline-hidden mly:focus-visible:outline-hidden",
|
|
@@ -7881,15 +7761,15 @@ function ImageSize(props) {
|
|
|
7881
7761
|
onChange: (e) => onValueChange(e.target.value)
|
|
7882
7762
|
})
|
|
7883
7763
|
),
|
|
7884
|
-
/* @__PURE__ */
|
|
7764
|
+
/* @__PURE__ */ jsx35("span", { className: "mly:absolute mly:inset-y-0 mly:right-1 mly:flex mly:items-center mly:text-xs mly:leading-none mly:text-gray-400", children: "PX" })
|
|
7885
7765
|
] });
|
|
7886
7766
|
}
|
|
7887
7767
|
|
|
7888
7768
|
// src/editor/components/image-menu/use-image-state.tsx
|
|
7889
|
-
import { useEditorState as
|
|
7890
|
-
import
|
|
7769
|
+
import { useEditorState as useEditorState2 } from "@tiptap/react";
|
|
7770
|
+
import deepEql2 from "fast-deep-equal";
|
|
7891
7771
|
var useImageState = (editor) => {
|
|
7892
|
-
const states =
|
|
7772
|
+
const states = useEditorState2({
|
|
7893
7773
|
editor,
|
|
7894
7774
|
selector: ({ editor: editor2 }) => {
|
|
7895
7775
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
|
|
@@ -7910,13 +7790,13 @@ var useImageState = (editor) => {
|
|
|
7910
7790
|
currentShowIfKey: ((_o = editor2.getAttributes("image")) == null ? void 0 : _o.showIfKey) || ((_p = editor2.getAttributes("logo")) == null ? void 0 : _p.showIfKey) || ""
|
|
7911
7791
|
};
|
|
7912
7792
|
},
|
|
7913
|
-
equalityFn:
|
|
7793
|
+
equalityFn: deepEql2
|
|
7914
7794
|
});
|
|
7915
7795
|
return states;
|
|
7916
7796
|
};
|
|
7917
7797
|
|
|
7918
7798
|
// src/editor/components/image-menu/image-bubble-menu.tsx
|
|
7919
|
-
import { Fragment as Fragment5, jsx as
|
|
7799
|
+
import { Fragment as Fragment5, jsx as jsx36, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
7920
7800
|
function ImageBubbleMenu(props) {
|
|
7921
7801
|
var _a, _b, _c, _d;
|
|
7922
7802
|
const { editor, appendTo } = props;
|
|
@@ -7935,19 +7815,19 @@ function ImageBubbleMenu(props) {
|
|
|
7935
7815
|
popperOptions: {
|
|
7936
7816
|
modifiers: [{ name: "flip", enabled: false }]
|
|
7937
7817
|
},
|
|
7938
|
-
plugins: [
|
|
7818
|
+
plugins: [sticky2],
|
|
7939
7819
|
sticky: "popper",
|
|
7940
7820
|
maxWidth: "100%"
|
|
7941
7821
|
}
|
|
7942
7822
|
});
|
|
7943
7823
|
const { lockAspectRatio } = state;
|
|
7944
|
-
return /* @__PURE__ */
|
|
7945
|
-
|
|
7824
|
+
return /* @__PURE__ */ jsx36(
|
|
7825
|
+
BubbleMenu2,
|
|
7946
7826
|
__spreadProps(__spreadValues({}, bubbleMenuProps), {
|
|
7947
7827
|
className: "mly:flex mly:rounded-lg mly:border mly:border-gray-200 mly:bg-white mly:p-0.5 mly:shadow-md",
|
|
7948
|
-
children: /* @__PURE__ */
|
|
7949
|
-
state.isLogoActive && state.imageSrc && /* @__PURE__ */
|
|
7950
|
-
/* @__PURE__ */
|
|
7828
|
+
children: /* @__PURE__ */ jsxs18(TooltipProvider, { children: [
|
|
7829
|
+
state.isLogoActive && state.imageSrc && /* @__PURE__ */ jsxs18(Fragment5, { children: [
|
|
7830
|
+
/* @__PURE__ */ jsx36(
|
|
7951
7831
|
Select,
|
|
7952
7832
|
{
|
|
7953
7833
|
label: "Size",
|
|
@@ -7962,10 +7842,10 @@ function ImageBubbleMenu(props) {
|
|
|
7962
7842
|
}
|
|
7963
7843
|
}
|
|
7964
7844
|
),
|
|
7965
|
-
/* @__PURE__ */
|
|
7845
|
+
/* @__PURE__ */ jsx36(Divider, {})
|
|
7966
7846
|
] }),
|
|
7967
|
-
/* @__PURE__ */
|
|
7968
|
-
/* @__PURE__ */
|
|
7847
|
+
/* @__PURE__ */ jsxs18("div", { className: "mly:flex mly:gap-x-0.5", children: [
|
|
7848
|
+
/* @__PURE__ */ jsx36(
|
|
7969
7849
|
AlignmentSwitch,
|
|
7970
7850
|
{
|
|
7971
7851
|
alignment: state.alignment,
|
|
@@ -7979,7 +7859,7 @@ function ImageBubbleMenu(props) {
|
|
|
7979
7859
|
}
|
|
7980
7860
|
}
|
|
7981
7861
|
),
|
|
7982
|
-
/* @__PURE__ */
|
|
7862
|
+
/* @__PURE__ */ jsx36(
|
|
7983
7863
|
LinkInputPopover,
|
|
7984
7864
|
{
|
|
7985
7865
|
defaultValue: (_a = state == null ? void 0 : state.imageSrc) != null ? _a : "",
|
|
@@ -8002,7 +7882,7 @@ function ImageBubbleMenu(props) {
|
|
|
8002
7882
|
isVariable: state.isSrcVariable
|
|
8003
7883
|
}
|
|
8004
7884
|
),
|
|
8005
|
-
state.isImageActive && /* @__PURE__ */
|
|
7885
|
+
state.isImageActive && /* @__PURE__ */ jsx36(
|
|
8006
7886
|
LinkInputPopover,
|
|
8007
7887
|
{
|
|
8008
7888
|
defaultValue: (_b = state == null ? void 0 : state.imageExternalLink) != null ? _b : "",
|
|
@@ -8018,9 +7898,9 @@ function ImageBubbleMenu(props) {
|
|
|
8018
7898
|
}
|
|
8019
7899
|
)
|
|
8020
7900
|
] }),
|
|
8021
|
-
state.isImageActive && state.imageSrc && /* @__PURE__ */
|
|
8022
|
-
/* @__PURE__ */
|
|
8023
|
-
/* @__PURE__ */
|
|
7901
|
+
state.isImageActive && state.imageSrc && /* @__PURE__ */ jsxs18(Fragment5, { children: [
|
|
7902
|
+
/* @__PURE__ */ jsx36(Divider, {}),
|
|
7903
|
+
/* @__PURE__ */ jsx36(
|
|
8024
7904
|
Select,
|
|
8025
7905
|
{
|
|
8026
7906
|
label: "Border Radius",
|
|
@@ -8038,8 +7918,8 @@ function ImageBubbleMenu(props) {
|
|
|
8038
7918
|
className: "mly:capitalize"
|
|
8039
7919
|
}
|
|
8040
7920
|
),
|
|
8041
|
-
/* @__PURE__ */
|
|
8042
|
-
/* @__PURE__ */
|
|
7921
|
+
/* @__PURE__ */ jsxs18("div", { className: "mly:flex mly:gap-x-0.5", children: [
|
|
7922
|
+
/* @__PURE__ */ jsx36(
|
|
8043
7923
|
ImageSize,
|
|
8044
7924
|
{
|
|
8045
7925
|
dimension: "width",
|
|
@@ -8059,7 +7939,7 @@ function ImageBubbleMenu(props) {
|
|
|
8059
7939
|
}
|
|
8060
7940
|
}
|
|
8061
7941
|
),
|
|
8062
|
-
/* @__PURE__ */
|
|
7942
|
+
/* @__PURE__ */ jsx36(
|
|
8063
7943
|
ImageSize,
|
|
8064
7944
|
{
|
|
8065
7945
|
dimension: "height",
|
|
@@ -8079,7 +7959,7 @@ function ImageBubbleMenu(props) {
|
|
|
8079
7959
|
}
|
|
8080
7960
|
}
|
|
8081
7961
|
),
|
|
8082
|
-
/* @__PURE__ */
|
|
7962
|
+
/* @__PURE__ */ jsx36(
|
|
8083
7963
|
BubbleMenuButton,
|
|
8084
7964
|
{
|
|
8085
7965
|
isActive: () => lockAspectRatio,
|
|
@@ -8104,8 +7984,8 @@ function ImageBubbleMenu(props) {
|
|
|
8104
7984
|
}
|
|
8105
7985
|
|
|
8106
7986
|
// src/editor/components/inline-image-menu/inline-image-bubble-menu.tsx
|
|
8107
|
-
import { BubbleMenu as
|
|
8108
|
-
import { sticky as
|
|
7987
|
+
import { BubbleMenu as BubbleMenu3 } from "@tiptap/react";
|
|
7988
|
+
import { sticky as sticky3 } from "tippy.js";
|
|
8109
7989
|
|
|
8110
7990
|
// src/editor/nodes/inline-image/inline-image.tsx
|
|
8111
7991
|
import { mergeAttributes as mergeAttributes4, Node as Node5 } from "@tiptap/core";
|
|
@@ -8222,10 +8102,10 @@ var InlineImageExtension = Node5.create({
|
|
|
8222
8102
|
});
|
|
8223
8103
|
|
|
8224
8104
|
// src/editor/components/inline-image-menu/use-inline-image-state.tsx
|
|
8225
|
-
import { useEditorState as
|
|
8226
|
-
import
|
|
8105
|
+
import { useEditorState as useEditorState3 } from "@tiptap/react";
|
|
8106
|
+
import deepEql3 from "fast-deep-equal";
|
|
8227
8107
|
var useInlineImageState = (editor) => {
|
|
8228
|
-
const states =
|
|
8108
|
+
const states = useEditorState3({
|
|
8229
8109
|
editor,
|
|
8230
8110
|
selector: ({ editor: editor2 }) => {
|
|
8231
8111
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
@@ -8238,14 +8118,14 @@ var useInlineImageState = (editor) => {
|
|
|
8238
8118
|
isExternalLinkVariable: (_h = (_g = editor2.getAttributes("inlineImage")) == null ? void 0 : _g.isExternalLinkVariable) != null ? _h : false
|
|
8239
8119
|
};
|
|
8240
8120
|
},
|
|
8241
|
-
equalityFn:
|
|
8121
|
+
equalityFn: deepEql3
|
|
8242
8122
|
});
|
|
8243
8123
|
return states;
|
|
8244
8124
|
};
|
|
8245
8125
|
|
|
8246
8126
|
// src/editor/components/inline-image-menu/inline-image-bubble-menu.tsx
|
|
8247
8127
|
import { ImageDownIcon } from "lucide-react";
|
|
8248
|
-
import { jsx as
|
|
8128
|
+
import { jsx as jsx37, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
8249
8129
|
function InlineImageBubbleMenu(props) {
|
|
8250
8130
|
var _a, _b;
|
|
8251
8131
|
const { editor, appendTo } = props;
|
|
@@ -8264,17 +8144,17 @@ function InlineImageBubbleMenu(props) {
|
|
|
8264
8144
|
popperOptions: {
|
|
8265
8145
|
modifiers: [{ name: "flip", enabled: false }]
|
|
8266
8146
|
},
|
|
8267
|
-
plugins: [
|
|
8147
|
+
plugins: [sticky3],
|
|
8268
8148
|
sticky: "popper",
|
|
8269
8149
|
maxWidth: "100%"
|
|
8270
8150
|
}
|
|
8271
8151
|
});
|
|
8272
|
-
return /* @__PURE__ */
|
|
8273
|
-
|
|
8152
|
+
return /* @__PURE__ */ jsx37(
|
|
8153
|
+
BubbleMenu3,
|
|
8274
8154
|
__spreadProps(__spreadValues({}, bubbleMenuProps), {
|
|
8275
8155
|
className: "mly:flex mly:rounded-lg mly:border mly:border-gray-200 mly:bg-white mly:p-0.5 mly:shadow-md",
|
|
8276
|
-
children: /* @__PURE__ */
|
|
8277
|
-
/* @__PURE__ */
|
|
8156
|
+
children: /* @__PURE__ */ jsx37(TooltipProvider, { children: /* @__PURE__ */ jsxs19("div", { className: "mly:flex mly:gap-x-0.5", children: [
|
|
8157
|
+
/* @__PURE__ */ jsx37(
|
|
8278
8158
|
LinkInputPopover,
|
|
8279
8159
|
{
|
|
8280
8160
|
defaultValue: (_a = state == null ? void 0 : state.src) != null ? _a : "",
|
|
@@ -8290,7 +8170,7 @@ function InlineImageBubbleMenu(props) {
|
|
|
8290
8170
|
isVariable: state.isSrcVariable
|
|
8291
8171
|
}
|
|
8292
8172
|
),
|
|
8293
|
-
/* @__PURE__ */
|
|
8173
|
+
/* @__PURE__ */ jsx37(
|
|
8294
8174
|
LinkInputPopover,
|
|
8295
8175
|
{
|
|
8296
8176
|
defaultValue: (_b = state == null ? void 0 : state.imageExternalLink) != null ? _b : "",
|
|
@@ -8305,7 +8185,7 @@ function InlineImageBubbleMenu(props) {
|
|
|
8305
8185
|
isVariable: state.isExternalLinkVariable
|
|
8306
8186
|
}
|
|
8307
8187
|
),
|
|
8308
|
-
/* @__PURE__ */
|
|
8188
|
+
/* @__PURE__ */ jsx37(
|
|
8309
8189
|
ImageSize,
|
|
8310
8190
|
{
|
|
8311
8191
|
dimension: "height",
|
|
@@ -8324,16 +8204,16 @@ function InlineImageBubbleMenu(props) {
|
|
|
8324
8204
|
}
|
|
8325
8205
|
|
|
8326
8206
|
// src/editor/components/repeat-menu/repeat-bubble-menu.tsx
|
|
8327
|
-
import { BubbleMenu as
|
|
8207
|
+
import { BubbleMenu as BubbleMenu4, findChildren } from "@tiptap/react";
|
|
8328
8208
|
import { InfoIcon as InfoIcon2 } from "lucide-react";
|
|
8329
|
-
import { useCallback as
|
|
8330
|
-
import { sticky as
|
|
8209
|
+
import { useCallback as useCallback7, useMemo as useMemo7, useRef as useRef8, useState as useState8 } from "react";
|
|
8210
|
+
import { sticky as sticky4 } from "tippy.js";
|
|
8331
8211
|
|
|
8332
8212
|
// src/editor/components/repeat-menu/use-repeat-state.ts
|
|
8333
|
-
import { useEditorState as
|
|
8334
|
-
import
|
|
8213
|
+
import { useEditorState as useEditorState4 } from "@tiptap/react";
|
|
8214
|
+
import deepEql4 from "fast-deep-equal";
|
|
8335
8215
|
var useRepeatState = (editor) => {
|
|
8336
|
-
const states =
|
|
8216
|
+
const states = useEditorState4({
|
|
8337
8217
|
editor,
|
|
8338
8218
|
selector: (ctx) => {
|
|
8339
8219
|
var _a, _b;
|
|
@@ -8343,20 +8223,20 @@ var useRepeatState = (editor) => {
|
|
|
8343
8223
|
isSectionActive: ctx.editor.isActive("section")
|
|
8344
8224
|
};
|
|
8345
8225
|
},
|
|
8346
|
-
equalityFn:
|
|
8226
|
+
equalityFn: deepEql4
|
|
8347
8227
|
});
|
|
8348
8228
|
return states;
|
|
8349
8229
|
};
|
|
8350
8230
|
|
|
8351
8231
|
// src/editor/components/repeat-menu/repeat-bubble-menu.tsx
|
|
8352
|
-
import { jsx as
|
|
8232
|
+
import { jsx as jsx38, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
8353
8233
|
function RepeatBubbleMenu(props) {
|
|
8354
8234
|
const { appendTo, editor } = props;
|
|
8355
8235
|
if (!editor) {
|
|
8356
8236
|
return null;
|
|
8357
8237
|
}
|
|
8358
8238
|
const state = useRepeatState(editor);
|
|
8359
|
-
const getReferenceClientRect =
|
|
8239
|
+
const getReferenceClientRect = useCallback7(() => {
|
|
8360
8240
|
const renderContainer = getRenderContainer(editor, "repeat");
|
|
8361
8241
|
const rect = (renderContainer == null ? void 0 : renderContainer.getBoundingClientRect()) || new DOMRect(-1e3, -1e3, 0, 0);
|
|
8362
8242
|
return rect;
|
|
@@ -8381,7 +8261,7 @@ function RepeatBubbleMenu(props) {
|
|
|
8381
8261
|
},
|
|
8382
8262
|
getReferenceClientRect,
|
|
8383
8263
|
appendTo: () => appendTo == null ? void 0 : appendTo.current,
|
|
8384
|
-
plugins: [
|
|
8264
|
+
plugins: [sticky4],
|
|
8385
8265
|
sticky: "popper",
|
|
8386
8266
|
maxWidth: "auto"
|
|
8387
8267
|
},
|
|
@@ -8401,21 +8281,21 @@ function RepeatBubbleMenu(props) {
|
|
|
8401
8281
|
}).map((variable) => variable.name);
|
|
8402
8282
|
}, [variables, eachKey, editor]);
|
|
8403
8283
|
const isValidEachKey = eachKey;
|
|
8404
|
-
return /* @__PURE__ */
|
|
8405
|
-
|
|
8284
|
+
return /* @__PURE__ */ jsx38(
|
|
8285
|
+
BubbleMenu4,
|
|
8406
8286
|
__spreadProps(__spreadValues({}, bubbleMenuProps), {
|
|
8407
8287
|
className: "mly:flex mly:items-stretch mly:rounded-lg mly:border mly:border-gray-200 mly:bg-white mly:p-0.5 mly:shadow-md",
|
|
8408
|
-
children: /* @__PURE__ */
|
|
8409
|
-
/* @__PURE__ */
|
|
8288
|
+
children: /* @__PURE__ */ jsxs20(TooltipProvider, { children: [
|
|
8289
|
+
/* @__PURE__ */ jsxs20("div", { className: "mly:flex mly:items-center mly:gap-1.5 mly:px-1.5 mly:text-sm mly:leading-none", children: [
|
|
8410
8290
|
"Repeat",
|
|
8411
|
-
/* @__PURE__ */
|
|
8412
|
-
/* @__PURE__ */
|
|
8291
|
+
/* @__PURE__ */ jsxs20(Tooltip, { children: [
|
|
8292
|
+
/* @__PURE__ */ jsx38(TooltipTrigger, { children: /* @__PURE__ */ jsx38(
|
|
8413
8293
|
InfoIcon2,
|
|
8414
8294
|
{
|
|
8415
8295
|
className: cn("mly:size-3 mly:stroke-[2.5] mly:text-gray-500")
|
|
8416
8296
|
}
|
|
8417
8297
|
) }),
|
|
8418
|
-
/* @__PURE__ */
|
|
8298
|
+
/* @__PURE__ */ jsx38(
|
|
8419
8299
|
TooltipContent,
|
|
8420
8300
|
{
|
|
8421
8301
|
sideOffset: 14,
|
|
@@ -8426,7 +8306,7 @@ function RepeatBubbleMenu(props) {
|
|
|
8426
8306
|
)
|
|
8427
8307
|
] })
|
|
8428
8308
|
] }),
|
|
8429
|
-
!isUpdatingKey && /* @__PURE__ */
|
|
8309
|
+
!isUpdatingKey && /* @__PURE__ */ jsx38(
|
|
8430
8310
|
"button",
|
|
8431
8311
|
{
|
|
8432
8312
|
onClick: () => {
|
|
@@ -8447,7 +8327,7 @@ function RepeatBubbleMenu(props) {
|
|
|
8447
8327
|
})
|
|
8448
8328
|
}
|
|
8449
8329
|
),
|
|
8450
|
-
isUpdatingKey && /* @__PURE__ */
|
|
8330
|
+
isUpdatingKey && /* @__PURE__ */ jsx38(
|
|
8451
8331
|
"form",
|
|
8452
8332
|
{
|
|
8453
8333
|
onSubmit: (e) => {
|
|
@@ -8459,7 +8339,7 @@ function RepeatBubbleMenu(props) {
|
|
|
8459
8339
|
setIsUpdatingKey(false);
|
|
8460
8340
|
}
|
|
8461
8341
|
},
|
|
8462
|
-
children: /* @__PURE__ */
|
|
8342
|
+
children: /* @__PURE__ */ jsx38(
|
|
8463
8343
|
InputAutocomplete,
|
|
8464
8344
|
{
|
|
8465
8345
|
editor,
|
|
@@ -8485,8 +8365,8 @@ function RepeatBubbleMenu(props) {
|
|
|
8485
8365
|
)
|
|
8486
8366
|
}
|
|
8487
8367
|
),
|
|
8488
|
-
/* @__PURE__ */
|
|
8489
|
-
/* @__PURE__ */
|
|
8368
|
+
/* @__PURE__ */ jsx38(Divider, {}),
|
|
8369
|
+
/* @__PURE__ */ jsx38(
|
|
8490
8370
|
ShowPopover,
|
|
8491
8371
|
{
|
|
8492
8372
|
showIfKey: state.currentShowIfKey,
|
|
@@ -8504,16 +8384,16 @@ function RepeatBubbleMenu(props) {
|
|
|
8504
8384
|
}
|
|
8505
8385
|
|
|
8506
8386
|
// src/editor/components/section-menu/section-bubble-menu.tsx
|
|
8507
|
-
import { BubbleMenu as
|
|
8387
|
+
import { BubbleMenu as BubbleMenu5, findChildren as findChildren2 } from "@tiptap/react";
|
|
8508
8388
|
import { ChevronUp, Trash as Trash3 } from "lucide-react";
|
|
8509
|
-
import { useCallback as
|
|
8510
|
-
import { sticky as
|
|
8389
|
+
import { useCallback as useCallback8 } from "react";
|
|
8390
|
+
import { sticky as sticky5 } from "tippy.js";
|
|
8511
8391
|
|
|
8512
8392
|
// src/editor/components/icons/border-color.tsx
|
|
8513
|
-
import { jsx as
|
|
8393
|
+
import { jsx as jsx39, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
8514
8394
|
function BorderColor(props) {
|
|
8515
8395
|
const _a = props, { topBarClassName } = _a, rest = __objRest(_a, ["topBarClassName"]);
|
|
8516
|
-
return /* @__PURE__ */
|
|
8396
|
+
return /* @__PURE__ */ jsxs21(
|
|
8517
8397
|
"svg",
|
|
8518
8398
|
__spreadProps(__spreadValues({
|
|
8519
8399
|
width: 11,
|
|
@@ -8523,8 +8403,8 @@ function BorderColor(props) {
|
|
|
8523
8403
|
xmlns: "http://www.w3.org/2000/svg"
|
|
8524
8404
|
}, rest), {
|
|
8525
8405
|
children: [
|
|
8526
|
-
/* @__PURE__ */
|
|
8527
|
-
/* @__PURE__ */
|
|
8406
|
+
/* @__PURE__ */ jsx39("path", { d: "M0 11H10.6667", stroke: "currentColor", strokeWidth: "1.5" }),
|
|
8407
|
+
/* @__PURE__ */ jsx39(
|
|
8528
8408
|
"path",
|
|
8529
8409
|
{
|
|
8530
8410
|
d: "M0.666504 9V6.33333C0.666504 3.38781 3.05432 1 5.99984 1H10.6665",
|
|
@@ -8538,9 +8418,9 @@ function BorderColor(props) {
|
|
|
8538
8418
|
}
|
|
8539
8419
|
|
|
8540
8420
|
// src/editor/components/icons/margin-icon.tsx
|
|
8541
|
-
import { jsx as
|
|
8421
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
8542
8422
|
function MarginIcon(props) {
|
|
8543
|
-
return /* @__PURE__ */
|
|
8423
|
+
return /* @__PURE__ */ jsx40(
|
|
8544
8424
|
"svg",
|
|
8545
8425
|
__spreadProps(__spreadValues({
|
|
8546
8426
|
width: 12,
|
|
@@ -8549,7 +8429,7 @@ function MarginIcon(props) {
|
|
|
8549
8429
|
fill: "none",
|
|
8550
8430
|
xmlns: "http://www.w3.org/2000/svg"
|
|
8551
8431
|
}, props), {
|
|
8552
|
-
children: /* @__PURE__ */
|
|
8432
|
+
children: /* @__PURE__ */ jsx40(
|
|
8553
8433
|
"path",
|
|
8554
8434
|
{
|
|
8555
8435
|
d: "M10.5 10.499V1.49902M1.5 10.499V1.49902M4.5 5.99902C4.5 5.53308 4.5 5.30011 4.57612 5.11634C4.67761 4.87131 4.87229 4.67664 5.11732 4.57514C5.30109 4.49902 5.53406 4.49902 6 4.49902C6.46594 4.49902 6.69891 4.49902 6.88268 4.57514C7.12771 4.67664 7.32239 4.87131 7.42388 5.11634C7.5 5.30011 7.5 5.53308 7.5 5.99902C7.5 6.46496 7.5 6.69794 7.42388 6.88171C7.32239 7.12673 7.12771 7.32141 6.88268 7.4229C6.69891 7.49902 6.46594 7.49902 6 7.49902C5.53406 7.49902 5.30109 7.49902 5.11732 7.4229C4.87229 7.32141 4.67761 7.12673 4.57612 6.88171C4.5 6.69794 4.5 6.46496 4.5 5.99902Z",
|
|
@@ -8563,9 +8443,9 @@ function MarginIcon(props) {
|
|
|
8563
8443
|
}
|
|
8564
8444
|
|
|
8565
8445
|
// src/editor/components/icons/padding-icon.tsx
|
|
8566
|
-
import { jsx as
|
|
8446
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
8567
8447
|
function PaddingIcon(props) {
|
|
8568
|
-
return /* @__PURE__ */
|
|
8448
|
+
return /* @__PURE__ */ jsx41(
|
|
8569
8449
|
"svg",
|
|
8570
8450
|
__spreadProps(__spreadValues({
|
|
8571
8451
|
width: 10,
|
|
@@ -8574,7 +8454,7 @@ function PaddingIcon(props) {
|
|
|
8574
8454
|
fill: "none",
|
|
8575
8455
|
xmlns: "http://www.w3.org/2000/svg"
|
|
8576
8456
|
}, props), {
|
|
8577
|
-
children: /* @__PURE__ */
|
|
8457
|
+
children: /* @__PURE__ */ jsx41(
|
|
8578
8458
|
"path",
|
|
8579
8459
|
{
|
|
8580
8460
|
d: "M9.50244 0.501526L9.10244 0.501526C8.54239 0.501526 8.26236 0.501526 8.04845 0.610519C7.86029 0.706392 7.70731 0.859373 7.61144 1.04754C7.50244 1.26145 7.50244 1.54147 7.50244 2.10153V7.90153C7.50244 8.46158 7.50244 8.74161 7.61144 8.95552C7.70731 9.14368 7.86029 9.29666 8.04845 9.39253C8.26236 9.50153 8.54239 9.50153 9.10244 9.50153H9.50244M0.502441 0.501527L0.902441 0.501527C1.46249 0.501527 1.74252 0.501527 1.95643 0.61052C2.14459 0.706393 2.29757 0.859374 2.39345 1.04754C2.50244 1.26145 2.50244 1.54147 2.50244 2.10153L2.50244 7.90153C2.50244 8.46158 2.50244 8.74161 2.39345 8.95552C2.29757 9.14368 2.14459 9.29666 1.95643 9.39253C1.74252 9.50153 1.46249 9.50153 0.902442 9.50153H0.502442M4.99994 7.99903V1.99903",
|
|
@@ -8589,7 +8469,7 @@ function PaddingIcon(props) {
|
|
|
8589
8469
|
|
|
8590
8470
|
// src/editor/components/ui/color-picker.tsx
|
|
8591
8471
|
import { HexColorPicker, HexColorInput } from "react-colorful";
|
|
8592
|
-
import { jsx as
|
|
8472
|
+
import { jsx as jsx42, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
8593
8473
|
function ColorPicker(props) {
|
|
8594
8474
|
const {
|
|
8595
8475
|
color,
|
|
@@ -8607,14 +8487,14 @@ function ColorPicker(props) {
|
|
|
8607
8487
|
onColorChange(color2);
|
|
8608
8488
|
});
|
|
8609
8489
|
};
|
|
8610
|
-
const popoverButton = /* @__PURE__ */
|
|
8490
|
+
const popoverButton = /* @__PURE__ */ jsx42(PopoverTrigger, { asChild: true, children: children || /* @__PURE__ */ jsx42(
|
|
8611
8491
|
BaseButton,
|
|
8612
8492
|
{
|
|
8613
8493
|
variant: "ghost",
|
|
8614
8494
|
className: "mly:h-7 mly:w-7 mly:shrink-0",
|
|
8615
8495
|
size: "sm",
|
|
8616
8496
|
type: "button",
|
|
8617
|
-
children: /* @__PURE__ */
|
|
8497
|
+
children: /* @__PURE__ */ jsx42(
|
|
8618
8498
|
"div",
|
|
8619
8499
|
{
|
|
8620
8500
|
className: cn(
|
|
@@ -8628,7 +8508,7 @@ function ColorPicker(props) {
|
|
|
8628
8508
|
)
|
|
8629
8509
|
}
|
|
8630
8510
|
) });
|
|
8631
|
-
return /* @__PURE__ */
|
|
8511
|
+
return /* @__PURE__ */ jsxs22(
|
|
8632
8512
|
Popover,
|
|
8633
8513
|
{
|
|
8634
8514
|
onOpenChange: (open) => {
|
|
@@ -8637,17 +8517,17 @@ function ColorPicker(props) {
|
|
|
8637
8517
|
}
|
|
8638
8518
|
},
|
|
8639
8519
|
children: [
|
|
8640
|
-
tooltip ? /* @__PURE__ */
|
|
8641
|
-
/* @__PURE__ */
|
|
8642
|
-
/* @__PURE__ */
|
|
8520
|
+
tooltip ? /* @__PURE__ */ jsxs22(Tooltip, { children: [
|
|
8521
|
+
/* @__PURE__ */ jsx42(TooltipTrigger, { asChild: true, children: popoverButton }),
|
|
8522
|
+
/* @__PURE__ */ jsx42(TooltipContent, { sideOffset: 8, children: tooltip })
|
|
8643
8523
|
] }) : popoverButton,
|
|
8644
|
-
/* @__PURE__ */
|
|
8524
|
+
/* @__PURE__ */ jsx42(
|
|
8645
8525
|
PopoverContent,
|
|
8646
8526
|
{
|
|
8647
8527
|
className: "mly:w-full mly:rounded-none mly:border-0 mly:bg-transparent! mly:p-0! mly:shadow-none mly:drop-shadow-md",
|
|
8648
8528
|
sideOffset: 8,
|
|
8649
|
-
children: /* @__PURE__ */
|
|
8650
|
-
/* @__PURE__ */
|
|
8529
|
+
children: /* @__PURE__ */ jsxs22("div", { className: "mly:min-w-[260px] mly:rounded-xl mly:border mly:border-gray-200 mly:bg-white mly:p-4", children: [
|
|
8530
|
+
/* @__PURE__ */ jsx42(
|
|
8651
8531
|
HexColorPicker,
|
|
8652
8532
|
{
|
|
8653
8533
|
color,
|
|
@@ -8655,7 +8535,7 @@ function ColorPicker(props) {
|
|
|
8655
8535
|
className: "mly:flex mly:w-full! mly:flex-col mly:gap-4"
|
|
8656
8536
|
}
|
|
8657
8537
|
),
|
|
8658
|
-
/* @__PURE__ */
|
|
8538
|
+
/* @__PURE__ */ jsx42(
|
|
8659
8539
|
HexColorInput,
|
|
8660
8540
|
{
|
|
8661
8541
|
alpha: true,
|
|
@@ -8665,10 +8545,10 @@ function ColorPicker(props) {
|
|
|
8665
8545
|
prefixed: true
|
|
8666
8546
|
}
|
|
8667
8547
|
),
|
|
8668
|
-
suggestedColors.length > 0 && /* @__PURE__ */
|
|
8669
|
-
/* @__PURE__ */
|
|
8670
|
-
/* @__PURE__ */
|
|
8671
|
-
/* @__PURE__ */
|
|
8548
|
+
suggestedColors.length > 0 && /* @__PURE__ */ jsxs22("div", { children: [
|
|
8549
|
+
/* @__PURE__ */ jsx42("div", { className: "-mly:mx-4 mly:my-4 mly:h-px mly:bg-gray-200" }),
|
|
8550
|
+
/* @__PURE__ */ jsx42("h2", { className: "mly:text-xs mly:text-gray-500", children: "Recently used" }),
|
|
8551
|
+
/* @__PURE__ */ jsx42("div", { className: "mly:mt-2 mly:flex mly:flex-wrap mly:gap-0.5", children: suggestedColors.map((suggestedColor) => /* @__PURE__ */ jsx42(
|
|
8672
8552
|
BaseButton,
|
|
8673
8553
|
{
|
|
8674
8554
|
variant: "ghost",
|
|
@@ -8676,7 +8556,7 @@ function ColorPicker(props) {
|
|
|
8676
8556
|
className: "!mly:size-7 mly:shrink-0",
|
|
8677
8557
|
type: "button",
|
|
8678
8558
|
onClick: () => handleColorChange(suggestedColor),
|
|
8679
|
-
children: /* @__PURE__ */
|
|
8559
|
+
children: /* @__PURE__ */ jsx42(
|
|
8680
8560
|
"div",
|
|
8681
8561
|
{
|
|
8682
8562
|
className: "mly:h-4 mly:w-4 mly:shrink-0 mly:rounded",
|
|
@@ -8698,10 +8578,10 @@ function ColorPicker(props) {
|
|
|
8698
8578
|
}
|
|
8699
8579
|
|
|
8700
8580
|
// src/editor/components/section-menu/use-section-state.tsx
|
|
8701
|
-
import { useEditorState as
|
|
8702
|
-
import
|
|
8581
|
+
import { useEditorState as useEditorState5 } from "@tiptap/react";
|
|
8582
|
+
import deepEql5 from "fast-deep-equal";
|
|
8703
8583
|
var useSectionState = (editor) => {
|
|
8704
|
-
const states =
|
|
8584
|
+
const states = useEditorState5({
|
|
8705
8585
|
editor,
|
|
8706
8586
|
selector: (ctx) => {
|
|
8707
8587
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
@@ -8723,19 +8603,19 @@ var useSectionState = (editor) => {
|
|
|
8723
8603
|
currentShowIfKey: ((_n = ctx.editor.getAttributes("section")) == null ? void 0 : _n.showIfKey) || ""
|
|
8724
8604
|
};
|
|
8725
8605
|
},
|
|
8726
|
-
equalityFn:
|
|
8606
|
+
equalityFn: deepEql5
|
|
8727
8607
|
});
|
|
8728
8608
|
return states;
|
|
8729
8609
|
};
|
|
8730
8610
|
|
|
8731
8611
|
// src/editor/components/section-menu/section-bubble-menu.tsx
|
|
8732
|
-
import { Fragment as Fragment6, jsx as
|
|
8612
|
+
import { Fragment as Fragment6, jsx as jsx43, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
8733
8613
|
function SectionBubbleMenu(props) {
|
|
8734
8614
|
const { appendTo, editor } = props;
|
|
8735
8615
|
if (!editor) {
|
|
8736
8616
|
return null;
|
|
8737
8617
|
}
|
|
8738
|
-
const getReferenceClientRect =
|
|
8618
|
+
const getReferenceClientRect = useCallback8(() => {
|
|
8739
8619
|
const renderContainer = getRenderContainer(editor, "section");
|
|
8740
8620
|
const rect = (renderContainer == null ? void 0 : renderContainer.getBoundingClientRect()) || new DOMRect(-1e3, -1e3, 0, 0);
|
|
8741
8621
|
return rect;
|
|
@@ -8764,7 +8644,7 @@ function SectionBubbleMenu(props) {
|
|
|
8764
8644
|
},
|
|
8765
8645
|
getReferenceClientRect,
|
|
8766
8646
|
appendTo: () => appendTo == null ? void 0 : appendTo.current,
|
|
8767
|
-
plugins: [
|
|
8647
|
+
plugins: [sticky5],
|
|
8768
8648
|
sticky: "popper",
|
|
8769
8649
|
maxWidth: "auto"
|
|
8770
8650
|
},
|
|
@@ -8776,12 +8656,12 @@ function SectionBubbleMenu(props) {
|
|
|
8776
8656
|
{ value: "6", label: "Smooth" },
|
|
8777
8657
|
{ value: "9999", label: "Round" }
|
|
8778
8658
|
];
|
|
8779
|
-
return /* @__PURE__ */
|
|
8780
|
-
|
|
8659
|
+
return /* @__PURE__ */ jsx43(
|
|
8660
|
+
BubbleMenu5,
|
|
8781
8661
|
__spreadProps(__spreadValues({}, bubbleMenuProps), {
|
|
8782
8662
|
className: "mly:flex mly:items-stretch mly:rounded-lg mly:border mly:border-gray-200 mly:bg-white mly:p-0.5 mly:shadow-md",
|
|
8783
|
-
children: /* @__PURE__ */
|
|
8784
|
-
/* @__PURE__ */
|
|
8663
|
+
children: /* @__PURE__ */ jsxs23(TooltipProvider, { children: [
|
|
8664
|
+
/* @__PURE__ */ jsx43(
|
|
8785
8665
|
AlignmentSwitch,
|
|
8786
8666
|
{
|
|
8787
8667
|
alignment: state.currentAlignment,
|
|
@@ -8793,9 +8673,9 @@ function SectionBubbleMenu(props) {
|
|
|
8793
8673
|
}
|
|
8794
8674
|
}
|
|
8795
8675
|
),
|
|
8796
|
-
/* @__PURE__ */
|
|
8797
|
-
/* @__PURE__ */
|
|
8798
|
-
/* @__PURE__ */
|
|
8676
|
+
/* @__PURE__ */ jsx43(Divider, {}),
|
|
8677
|
+
/* @__PURE__ */ jsxs23("div", { className: "mly:flex mly:gap-x-0.5", children: [
|
|
8678
|
+
/* @__PURE__ */ jsx43(
|
|
8799
8679
|
Select,
|
|
8800
8680
|
{
|
|
8801
8681
|
label: "Border Radius",
|
|
@@ -8811,7 +8691,7 @@ function SectionBubbleMenu(props) {
|
|
|
8811
8691
|
className: "mly:capitalize"
|
|
8812
8692
|
}
|
|
8813
8693
|
),
|
|
8814
|
-
/* @__PURE__ */
|
|
8694
|
+
/* @__PURE__ */ jsx43(
|
|
8815
8695
|
Select,
|
|
8816
8696
|
{
|
|
8817
8697
|
label: "Border Width",
|
|
@@ -8833,8 +8713,8 @@ function SectionBubbleMenu(props) {
|
|
|
8833
8713
|
}
|
|
8834
8714
|
)
|
|
8835
8715
|
] }),
|
|
8836
|
-
/* @__PURE__ */
|
|
8837
|
-
/* @__PURE__ */
|
|
8716
|
+
/* @__PURE__ */ jsx43(Divider, {}),
|
|
8717
|
+
/* @__PURE__ */ jsx43(
|
|
8838
8718
|
Select,
|
|
8839
8719
|
{
|
|
8840
8720
|
icon: MarginIcon,
|
|
@@ -8862,8 +8742,8 @@ function SectionBubbleMenu(props) {
|
|
|
8862
8742
|
className: "mly:capitalize"
|
|
8863
8743
|
}
|
|
8864
8744
|
),
|
|
8865
|
-
/* @__PURE__ */
|
|
8866
|
-
/* @__PURE__ */
|
|
8745
|
+
/* @__PURE__ */ jsx43(Divider, {}),
|
|
8746
|
+
/* @__PURE__ */ jsx43(
|
|
8867
8747
|
Select,
|
|
8868
8748
|
{
|
|
8869
8749
|
icon: PaddingIcon,
|
|
@@ -8891,9 +8771,9 @@ function SectionBubbleMenu(props) {
|
|
|
8891
8771
|
className: "mly:capitalize"
|
|
8892
8772
|
}
|
|
8893
8773
|
),
|
|
8894
|
-
/* @__PURE__ */
|
|
8895
|
-
/* @__PURE__ */
|
|
8896
|
-
/* @__PURE__ */
|
|
8774
|
+
/* @__PURE__ */ jsx43(Divider, {}),
|
|
8775
|
+
/* @__PURE__ */ jsxs23("div", { className: "mly:flex mly:gap-x-0.5", children: [
|
|
8776
|
+
/* @__PURE__ */ jsx43(
|
|
8897
8777
|
ColorPicker,
|
|
8898
8778
|
{
|
|
8899
8779
|
color: state.currentBorderColor,
|
|
@@ -8904,14 +8784,14 @@ function SectionBubbleMenu(props) {
|
|
|
8904
8784
|
});
|
|
8905
8785
|
},
|
|
8906
8786
|
tooltip: "Border Color",
|
|
8907
|
-
children: /* @__PURE__ */
|
|
8787
|
+
children: /* @__PURE__ */ jsx43(
|
|
8908
8788
|
BaseButton,
|
|
8909
8789
|
{
|
|
8910
8790
|
variant: "ghost",
|
|
8911
8791
|
className: "mly:h-7 mly:w-7 mly:shrink-0",
|
|
8912
8792
|
size: "sm",
|
|
8913
8793
|
type: "button",
|
|
8914
|
-
children: /* @__PURE__ */
|
|
8794
|
+
children: /* @__PURE__ */ jsx43(
|
|
8915
8795
|
BorderColor,
|
|
8916
8796
|
{
|
|
8917
8797
|
className: "mly:size-3 mly:shrink-0",
|
|
@@ -8925,7 +8805,7 @@ function SectionBubbleMenu(props) {
|
|
|
8925
8805
|
)
|
|
8926
8806
|
}
|
|
8927
8807
|
),
|
|
8928
|
-
/* @__PURE__ */
|
|
8808
|
+
/* @__PURE__ */ jsx43(
|
|
8929
8809
|
ColorPicker,
|
|
8930
8810
|
{
|
|
8931
8811
|
color: state.currentBackgroundColor,
|
|
@@ -8941,8 +8821,8 @@ function SectionBubbleMenu(props) {
|
|
|
8941
8821
|
}
|
|
8942
8822
|
)
|
|
8943
8823
|
] }),
|
|
8944
|
-
/* @__PURE__ */
|
|
8945
|
-
/* @__PURE__ */
|
|
8824
|
+
/* @__PURE__ */ jsx43(Divider, {}),
|
|
8825
|
+
/* @__PURE__ */ jsx43(
|
|
8946
8826
|
BubbleMenuButton,
|
|
8947
8827
|
{
|
|
8948
8828
|
icon: Trash3,
|
|
@@ -8952,14 +8832,14 @@ function SectionBubbleMenu(props) {
|
|
|
8952
8832
|
}
|
|
8953
8833
|
}
|
|
8954
8834
|
),
|
|
8955
|
-
state.isColumnsActive && /* @__PURE__ */
|
|
8956
|
-
/* @__PURE__ */
|
|
8957
|
-
/* @__PURE__ */
|
|
8958
|
-
/* @__PURE__ */
|
|
8835
|
+
state.isColumnsActive && /* @__PURE__ */ jsxs23(Fragment6, { children: [
|
|
8836
|
+
/* @__PURE__ */ jsx43(Divider, {}),
|
|
8837
|
+
/* @__PURE__ */ jsxs23(Popover, { children: [
|
|
8838
|
+
/* @__PURE__ */ jsxs23(PopoverTrigger, { className: "mly:flex mly:items-center mly:gap-1 mly:rounded-md mly:px-1.5 mly:text-sm mly:data-[state=open]:bg-soft-gray mly:hover:bg-soft-gray", children: [
|
|
8959
8839
|
"Column",
|
|
8960
|
-
/* @__PURE__ */
|
|
8840
|
+
/* @__PURE__ */ jsx43(ChevronUp, { className: "mly:h-3 mly:w-3" })
|
|
8961
8841
|
] }),
|
|
8962
|
-
/* @__PURE__ */
|
|
8842
|
+
/* @__PURE__ */ jsx43(
|
|
8963
8843
|
PopoverContent,
|
|
8964
8844
|
{
|
|
8965
8845
|
className: "mly:w-max mly:rounded-lg mly:p-0.5!",
|
|
@@ -8972,7 +8852,7 @@ function SectionBubbleMenu(props) {
|
|
|
8972
8852
|
onCloseAutoFocus: (e) => {
|
|
8973
8853
|
e.preventDefault();
|
|
8974
8854
|
},
|
|
8975
|
-
children: /* @__PURE__ */
|
|
8855
|
+
children: /* @__PURE__ */ jsx43(ColumnsBubbleMenuContent, { editor })
|
|
8976
8856
|
}
|
|
8977
8857
|
)
|
|
8978
8858
|
] })
|
|
@@ -8983,13 +8863,13 @@ function SectionBubbleMenu(props) {
|
|
|
8983
8863
|
}
|
|
8984
8864
|
|
|
8985
8865
|
// src/editor/components/spacer-menu/spacer-bubble-menu.tsx
|
|
8986
|
-
import { BubbleMenu as
|
|
8866
|
+
import { BubbleMenu as BubbleMenu6 } from "@tiptap/react";
|
|
8987
8867
|
|
|
8988
8868
|
// src/editor/components/spacer-menu/use-spacer-state.ts
|
|
8989
|
-
import { useEditorState as
|
|
8990
|
-
import
|
|
8869
|
+
import { useEditorState as useEditorState6 } from "@tiptap/react";
|
|
8870
|
+
import deepEql6 from "fast-deep-equal";
|
|
8991
8871
|
var useSpacerState = (editor) => {
|
|
8992
|
-
const states =
|
|
8872
|
+
const states = useEditorState6({
|
|
8993
8873
|
editor,
|
|
8994
8874
|
selector: (ctx) => {
|
|
8995
8875
|
var _a;
|
|
@@ -8997,14 +8877,14 @@ var useSpacerState = (editor) => {
|
|
|
8997
8877
|
currentShowIfKey: ((_a = ctx.editor.getAttributes("spacer")) == null ? void 0 : _a.showIfKey) || ""
|
|
8998
8878
|
};
|
|
8999
8879
|
},
|
|
9000
|
-
equalityFn:
|
|
8880
|
+
equalityFn: deepEql6
|
|
9001
8881
|
});
|
|
9002
8882
|
return states;
|
|
9003
8883
|
};
|
|
9004
8884
|
|
|
9005
8885
|
// src/editor/components/spacer-menu/spacer-bubble-menu.tsx
|
|
9006
8886
|
import { useMemo as useMemo8 } from "react";
|
|
9007
|
-
import { jsx as
|
|
8887
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
9008
8888
|
function SpacerBubbleMenu(props) {
|
|
9009
8889
|
const { editor, appendTo } = props;
|
|
9010
8890
|
if (!editor) {
|
|
@@ -9036,11 +8916,11 @@ function SpacerBubbleMenu(props) {
|
|
|
9036
8916
|
}
|
|
9037
8917
|
});
|
|
9038
8918
|
const state = useSpacerState(editor);
|
|
9039
|
-
return /* @__PURE__ */
|
|
9040
|
-
|
|
8919
|
+
return /* @__PURE__ */ jsx44(
|
|
8920
|
+
BubbleMenu6,
|
|
9041
8921
|
__spreadProps(__spreadValues({}, bubbleMenuProps), {
|
|
9042
8922
|
className: "mly:flex mly:gap-0.5 mly:rounded-lg mly:border mly:border-gray-200 mly:bg-white mly:p-0.5 mly:shadow-md",
|
|
9043
|
-
children: /* @__PURE__ */
|
|
8923
|
+
children: /* @__PURE__ */ jsx44(TooltipProvider, { children: items.map((item, index) => /* @__PURE__ */ jsx44(
|
|
9044
8924
|
BubbleMenuButton,
|
|
9045
8925
|
__spreadValues({
|
|
9046
8926
|
className: "!mly:h-7 mly:w-7 mly:shrink-0 mly:p-0",
|
|
@@ -9281,11 +9161,11 @@ import { NodeViewWrapper as NodeViewWrapper4 } from "@tiptap/react";
|
|
|
9281
9161
|
|
|
9282
9162
|
// src/editor/components/input.tsx
|
|
9283
9163
|
import * as React5 from "react";
|
|
9284
|
-
import { jsx as
|
|
9164
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
9285
9165
|
var Input = React5.forwardRef(
|
|
9286
9166
|
(_a, ref) => {
|
|
9287
9167
|
var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
|
|
9288
|
-
return /* @__PURE__ */
|
|
9168
|
+
return /* @__PURE__ */ jsx45(
|
|
9289
9169
|
"input",
|
|
9290
9170
|
__spreadValues(__spreadProps(__spreadValues({}, AUTOCOMPLETE_PASSWORD_MANAGERS_OFF), {
|
|
9291
9171
|
type,
|
|
@@ -9303,11 +9183,11 @@ Input.displayName = "Input";
|
|
|
9303
9183
|
|
|
9304
9184
|
// src/editor/components/textarea.tsx
|
|
9305
9185
|
import * as React6 from "react";
|
|
9306
|
-
import { jsx as
|
|
9186
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
9307
9187
|
var Textarea = React6.forwardRef(
|
|
9308
9188
|
(_a, ref) => {
|
|
9309
9189
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
9310
|
-
return /* @__PURE__ */
|
|
9190
|
+
return /* @__PURE__ */ jsx46(
|
|
9311
9191
|
"textarea",
|
|
9312
9192
|
__spreadValues({
|
|
9313
9193
|
className: cn(
|
|
@@ -9323,18 +9203,18 @@ var Textarea = React6.forwardRef(
|
|
|
9323
9203
|
Textarea.displayName = "Textarea";
|
|
9324
9204
|
|
|
9325
9205
|
// src/editor/nodes/link-card.tsx
|
|
9326
|
-
import { jsx as
|
|
9206
|
+
import { jsx as jsx47, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
9327
9207
|
function LinkCardComponent(props) {
|
|
9328
9208
|
const { title, description, link, linkTitle, image: image2, badgeText, subTitle } = props.node.attrs;
|
|
9329
9209
|
const { getPos, editor } = props;
|
|
9330
|
-
return /* @__PURE__ */
|
|
9210
|
+
return /* @__PURE__ */ jsx47(
|
|
9331
9211
|
NodeViewWrapper4,
|
|
9332
9212
|
{
|
|
9333
9213
|
className: `react-component ${props.selected && "ProseMirror-selectednode"}`,
|
|
9334
9214
|
draggable: editor.isEditable,
|
|
9335
9215
|
"data-drag-handle": editor.isEditable,
|
|
9336
|
-
children: /* @__PURE__ */
|
|
9337
|
-
/* @__PURE__ */
|
|
9216
|
+
children: /* @__PURE__ */ jsxs24(Popover, { open: props.selected, children: [
|
|
9217
|
+
/* @__PURE__ */ jsx47(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx47(
|
|
9338
9218
|
"div",
|
|
9339
9219
|
{
|
|
9340
9220
|
tabIndex: -1,
|
|
@@ -9343,8 +9223,8 @@ function LinkCardComponent(props) {
|
|
|
9343
9223
|
const pos = getPos();
|
|
9344
9224
|
editor.commands.setNodeSelection(pos);
|
|
9345
9225
|
},
|
|
9346
|
-
children: /* @__PURE__ */
|
|
9347
|
-
image2 && /* @__PURE__ */
|
|
9226
|
+
children: /* @__PURE__ */ jsxs24("div", { className: "mly:no-prose mly:flex mly:flex-col mly:rounded-lg mly:border mly:border-gray-300", children: [
|
|
9227
|
+
image2 && /* @__PURE__ */ jsx47("div", { className: "mly:relative mly:mb-1.5 mly:w-full mly:shrink-0", children: /* @__PURE__ */ jsx47(
|
|
9348
9228
|
"img",
|
|
9349
9229
|
{
|
|
9350
9230
|
src: image2,
|
|
@@ -9353,23 +9233,23 @@ function LinkCardComponent(props) {
|
|
|
9353
9233
|
draggable: editor.isEditable
|
|
9354
9234
|
}
|
|
9355
9235
|
) }),
|
|
9356
|
-
/* @__PURE__ */
|
|
9357
|
-
/* @__PURE__ */
|
|
9358
|
-
/* @__PURE__ */
|
|
9359
|
-
badgeText && /* @__PURE__ */
|
|
9236
|
+
/* @__PURE__ */ jsx47("div", { className: "mly:flex mly:items-stretch mly:p-3", children: /* @__PURE__ */ jsxs24("div", { className: cn("mly:flex mly:flex-col"), children: [
|
|
9237
|
+
/* @__PURE__ */ jsxs24("div", { className: "!mly:mb-1.5 mly:flex mly:items-center mly:gap-1.5", children: [
|
|
9238
|
+
/* @__PURE__ */ jsx47("h2", { className: "!mly:mb-0 mly:text-lg! mly:font-semibold", children: title }),
|
|
9239
|
+
badgeText && /* @__PURE__ */ jsx47("span", { className: "!mly:font-base mly:rounded-md mly:bg-yellow-200 mly:px-2 mly:py-1 mly:font-semibold mly:leading-none text-xs", children: badgeText }),
|
|
9360
9240
|
" ",
|
|
9361
|
-
subTitle && !badgeText && /* @__PURE__ */
|
|
9241
|
+
subTitle && !badgeText && /* @__PURE__ */ jsx47("span", { className: "!mly:font-base mly:font-regular mly:rounded-md mly:leading-none mly:text-gray-400 text-xs", children: subTitle })
|
|
9362
9242
|
] }),
|
|
9363
|
-
/* @__PURE__ */
|
|
9243
|
+
/* @__PURE__ */ jsxs24("p", { className: "!mly:my-0 mly:text-base! mly:text-gray-500", children: [
|
|
9364
9244
|
description,
|
|
9365
9245
|
" ",
|
|
9366
|
-
linkTitle ? /* @__PURE__ */
|
|
9246
|
+
linkTitle ? /* @__PURE__ */ jsx47("a", { href: link, className: "mly:font-semibold", children: linkTitle }) : null
|
|
9367
9247
|
] })
|
|
9368
9248
|
] }) })
|
|
9369
9249
|
] })
|
|
9370
9250
|
}
|
|
9371
9251
|
) }),
|
|
9372
|
-
/* @__PURE__ */
|
|
9252
|
+
/* @__PURE__ */ jsxs24(
|
|
9373
9253
|
PopoverContent,
|
|
9374
9254
|
{
|
|
9375
9255
|
align: "end",
|
|
@@ -9378,9 +9258,9 @@ function LinkCardComponent(props) {
|
|
|
9378
9258
|
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
9379
9259
|
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
9380
9260
|
children: [
|
|
9381
|
-
/* @__PURE__ */
|
|
9382
|
-
/* @__PURE__ */
|
|
9383
|
-
/* @__PURE__ */
|
|
9261
|
+
/* @__PURE__ */ jsxs24("label", { className: "mly:w-full mly:space-y-1", children: [
|
|
9262
|
+
/* @__PURE__ */ jsx47("span", { className: "mly:text-xs mly:font-normal mly:text-slate-400", children: "Image" }),
|
|
9263
|
+
/* @__PURE__ */ jsx47(
|
|
9384
9264
|
Input,
|
|
9385
9265
|
{
|
|
9386
9266
|
placeholder: "Add Image",
|
|
@@ -9394,9 +9274,9 @@ function LinkCardComponent(props) {
|
|
|
9394
9274
|
}
|
|
9395
9275
|
)
|
|
9396
9276
|
] }),
|
|
9397
|
-
/* @__PURE__ */
|
|
9398
|
-
/* @__PURE__ */
|
|
9399
|
-
/* @__PURE__ */
|
|
9277
|
+
/* @__PURE__ */ jsxs24("label", { className: "mly:w-full mly:space-y-1", children: [
|
|
9278
|
+
/* @__PURE__ */ jsx47("span", { className: "mly:text-xs mly:font-normal mly:text-slate-400", children: "Title" }),
|
|
9279
|
+
/* @__PURE__ */ jsx47(
|
|
9400
9280
|
Input,
|
|
9401
9281
|
{
|
|
9402
9282
|
placeholder: "Add title",
|
|
@@ -9409,9 +9289,9 @@ function LinkCardComponent(props) {
|
|
|
9409
9289
|
}
|
|
9410
9290
|
)
|
|
9411
9291
|
] }),
|
|
9412
|
-
/* @__PURE__ */
|
|
9413
|
-
/* @__PURE__ */
|
|
9414
|
-
/* @__PURE__ */
|
|
9292
|
+
/* @__PURE__ */ jsxs24("label", { className: "mly:w-full mly:space-y-1", children: [
|
|
9293
|
+
/* @__PURE__ */ jsx47("span", { className: "mly:text-xs mly:font-normal mly:text-slate-400", children: "Description" }),
|
|
9294
|
+
/* @__PURE__ */ jsx47(
|
|
9415
9295
|
Textarea,
|
|
9416
9296
|
{
|
|
9417
9297
|
placeholder: "Add description here",
|
|
@@ -9424,10 +9304,10 @@ function LinkCardComponent(props) {
|
|
|
9424
9304
|
}
|
|
9425
9305
|
)
|
|
9426
9306
|
] }),
|
|
9427
|
-
/* @__PURE__ */
|
|
9428
|
-
/* @__PURE__ */
|
|
9429
|
-
/* @__PURE__ */
|
|
9430
|
-
/* @__PURE__ */
|
|
9307
|
+
/* @__PURE__ */ jsxs24("div", { className: "mly:grid mly:grid-cols-2 mly:gap-2", children: [
|
|
9308
|
+
/* @__PURE__ */ jsxs24("label", { className: "mly:w-full mly:space-y-1", children: [
|
|
9309
|
+
/* @__PURE__ */ jsx47("span", { className: "mly:text-xs mly:font-normal mly:text-slate-400", children: "Link Title" }),
|
|
9310
|
+
/* @__PURE__ */ jsx47(
|
|
9431
9311
|
Input,
|
|
9432
9312
|
{
|
|
9433
9313
|
placeholder: "Add link title here",
|
|
@@ -9440,9 +9320,9 @@ function LinkCardComponent(props) {
|
|
|
9440
9320
|
}
|
|
9441
9321
|
)
|
|
9442
9322
|
] }),
|
|
9443
|
-
/* @__PURE__ */
|
|
9444
|
-
/* @__PURE__ */
|
|
9445
|
-
/* @__PURE__ */
|
|
9323
|
+
/* @__PURE__ */ jsxs24("label", { className: "mly:w-full mly:space-y-1", children: [
|
|
9324
|
+
/* @__PURE__ */ jsx47("span", { className: "mly:text-xs mly:font-normal mly:text-slate-400", children: "Link" }),
|
|
9325
|
+
/* @__PURE__ */ jsx47(
|
|
9446
9326
|
Input,
|
|
9447
9327
|
{
|
|
9448
9328
|
placeholder: "Add link here",
|
|
@@ -9456,10 +9336,10 @@ function LinkCardComponent(props) {
|
|
|
9456
9336
|
)
|
|
9457
9337
|
] })
|
|
9458
9338
|
] }),
|
|
9459
|
-
/* @__PURE__ */
|
|
9460
|
-
/* @__PURE__ */
|
|
9461
|
-
/* @__PURE__ */
|
|
9462
|
-
/* @__PURE__ */
|
|
9339
|
+
/* @__PURE__ */ jsxs24("div", { className: "mly:grid mly:grid-cols-2 mly:gap-2", children: [
|
|
9340
|
+
/* @__PURE__ */ jsxs24("label", { className: "mly:w-full mly:space-y-1", children: [
|
|
9341
|
+
/* @__PURE__ */ jsx47("span", { className: "mly:text-xs mly:font-normal mly:text-slate-400", children: "Badge Text" }),
|
|
9342
|
+
/* @__PURE__ */ jsx47(
|
|
9463
9343
|
Input,
|
|
9464
9344
|
{
|
|
9465
9345
|
placeholder: "Add badge text here",
|
|
@@ -9472,9 +9352,9 @@ function LinkCardComponent(props) {
|
|
|
9472
9352
|
}
|
|
9473
9353
|
)
|
|
9474
9354
|
] }),
|
|
9475
|
-
/* @__PURE__ */
|
|
9476
|
-
/* @__PURE__ */
|
|
9477
|
-
/* @__PURE__ */
|
|
9355
|
+
/* @__PURE__ */ jsxs24("label", { className: "mly:w-full mly:space-y-1", children: [
|
|
9356
|
+
/* @__PURE__ */ jsx47("span", { className: "mly:text-xs mly:font-normal mly:text-slate-400", children: "Sub Title" }),
|
|
9357
|
+
/* @__PURE__ */ jsx47(
|
|
9478
9358
|
Input,
|
|
9479
9359
|
{
|
|
9480
9360
|
placeholder: "Add sub title here",
|
|
@@ -9577,7 +9457,7 @@ import { useMemo as useMemo10 } from "react";
|
|
|
9577
9457
|
|
|
9578
9458
|
// src/editor/nodes/button/button-label-input.tsx
|
|
9579
9459
|
import { useMemo as useMemo9, useRef as useRef9, useState as useState9 } from "react";
|
|
9580
|
-
import { jsx as
|
|
9460
|
+
import { jsx as jsx48, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
9581
9461
|
function ButtonLabelInput(props) {
|
|
9582
9462
|
var _a, _b;
|
|
9583
9463
|
const { value, onValueChange, isVariable, editor } = props;
|
|
@@ -9599,8 +9479,8 @@ function ButtonLabelInput(props) {
|
|
|
9599
9479
|
editor
|
|
9600
9480
|
}).map((variable) => variable.name);
|
|
9601
9481
|
}, [variables, value, editor]);
|
|
9602
|
-
return /* @__PURE__ */
|
|
9603
|
-
!isEditing && /* @__PURE__ */
|
|
9482
|
+
return /* @__PURE__ */ jsxs25("div", { className: "mly:isolate mly:flex mly:items-center mly:rounded-lg", children: [
|
|
9483
|
+
!isEditing && /* @__PURE__ */ jsx48(
|
|
9604
9484
|
"button",
|
|
9605
9485
|
{
|
|
9606
9486
|
onClick: () => {
|
|
@@ -9621,7 +9501,7 @@ function ButtonLabelInput(props) {
|
|
|
9621
9501
|
})
|
|
9622
9502
|
}
|
|
9623
9503
|
),
|
|
9624
|
-
isEditing && /* @__PURE__ */
|
|
9504
|
+
isEditing && /* @__PURE__ */ jsx48(
|
|
9625
9505
|
InputAutocomplete,
|
|
9626
9506
|
{
|
|
9627
9507
|
editor,
|
|
@@ -9648,7 +9528,7 @@ function ButtonLabelInput(props) {
|
|
|
9648
9528
|
}
|
|
9649
9529
|
|
|
9650
9530
|
// src/editor/nodes/button/button-view.tsx
|
|
9651
|
-
import { jsx as
|
|
9531
|
+
import { jsx as jsx49, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
9652
9532
|
function ButtonView(props) {
|
|
9653
9533
|
const { node, editor, getPos, updateAttributes: updateAttributes2 } = props;
|
|
9654
9534
|
const {
|
|
@@ -9691,7 +9571,7 @@ function ButtonView(props) {
|
|
|
9691
9571
|
([, { paddingX, paddingY }]) => paddingRight === paddingX && paddingTop === paddingY
|
|
9692
9572
|
)) == null ? void 0 : _a[0];
|
|
9693
9573
|
}, [paddingRight, paddingTop, sizes]);
|
|
9694
|
-
return /* @__PURE__ */
|
|
9574
|
+
return /* @__PURE__ */ jsx49(
|
|
9695
9575
|
NodeViewWrapper5,
|
|
9696
9576
|
{
|
|
9697
9577
|
draggable: editor.isEditable,
|
|
@@ -9700,8 +9580,8 @@ function ButtonView(props) {
|
|
|
9700
9580
|
style: {
|
|
9701
9581
|
textAlign: alignment
|
|
9702
9582
|
},
|
|
9703
|
-
children: /* @__PURE__ */
|
|
9704
|
-
/* @__PURE__ */
|
|
9583
|
+
children: /* @__PURE__ */ jsxs26(Popover, { open: props.selected && editor.isEditable, children: [
|
|
9584
|
+
/* @__PURE__ */ jsx49(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx49("div", { children: /* @__PURE__ */ jsx49(
|
|
9705
9585
|
"button",
|
|
9706
9586
|
{
|
|
9707
9587
|
className: cn(
|
|
@@ -9744,7 +9624,7 @@ function ButtonView(props) {
|
|
|
9744
9624
|
}) : text2
|
|
9745
9625
|
}
|
|
9746
9626
|
) }) }),
|
|
9747
|
-
/* @__PURE__ */
|
|
9627
|
+
/* @__PURE__ */ jsx49(
|
|
9748
9628
|
PopoverContent,
|
|
9749
9629
|
{
|
|
9750
9630
|
align: "end",
|
|
@@ -9753,8 +9633,8 @@ function ButtonView(props) {
|
|
|
9753
9633
|
sideOffset: 8,
|
|
9754
9634
|
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
9755
9635
|
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
9756
|
-
children: /* @__PURE__ */
|
|
9757
|
-
/* @__PURE__ */
|
|
9636
|
+
children: /* @__PURE__ */ jsx49(TooltipProvider, { children: /* @__PURE__ */ jsxs26("div", { className: "mly:flex mly:items-stretch mly:text-midnight-gray", children: [
|
|
9637
|
+
/* @__PURE__ */ jsx49(
|
|
9758
9638
|
ButtonLabelInput,
|
|
9759
9639
|
{
|
|
9760
9640
|
value: text2,
|
|
@@ -9768,9 +9648,9 @@ function ButtonView(props) {
|
|
|
9768
9648
|
editor
|
|
9769
9649
|
}
|
|
9770
9650
|
),
|
|
9771
|
-
/* @__PURE__ */
|
|
9772
|
-
/* @__PURE__ */
|
|
9773
|
-
/* @__PURE__ */
|
|
9651
|
+
/* @__PURE__ */ jsx49(Divider, {}),
|
|
9652
|
+
/* @__PURE__ */ jsxs26("div", { className: "mly:flex mly:gap-x-0.5", children: [
|
|
9653
|
+
/* @__PURE__ */ jsx49(
|
|
9774
9654
|
Select,
|
|
9775
9655
|
{
|
|
9776
9656
|
label: "Border Radius",
|
|
@@ -9788,7 +9668,7 @@ function ButtonView(props) {
|
|
|
9788
9668
|
className: "mly:capitalize"
|
|
9789
9669
|
}
|
|
9790
9670
|
),
|
|
9791
|
-
/* @__PURE__ */
|
|
9671
|
+
/* @__PURE__ */ jsx49(
|
|
9792
9672
|
Select,
|
|
9793
9673
|
{
|
|
9794
9674
|
label: "Style",
|
|
@@ -9806,7 +9686,7 @@ function ButtonView(props) {
|
|
|
9806
9686
|
className: "mly:capitalize"
|
|
9807
9687
|
}
|
|
9808
9688
|
),
|
|
9809
|
-
/* @__PURE__ */
|
|
9689
|
+
/* @__PURE__ */ jsx49(
|
|
9810
9690
|
Select,
|
|
9811
9691
|
{
|
|
9812
9692
|
label: "Size",
|
|
@@ -9830,9 +9710,9 @@ function ButtonView(props) {
|
|
|
9830
9710
|
}
|
|
9831
9711
|
)
|
|
9832
9712
|
] }),
|
|
9833
|
-
/* @__PURE__ */
|
|
9834
|
-
/* @__PURE__ */
|
|
9835
|
-
/* @__PURE__ */
|
|
9713
|
+
/* @__PURE__ */ jsx49(Divider, {}),
|
|
9714
|
+
/* @__PURE__ */ jsxs26("div", { className: "mly:flex mly:gap-x-0.5", children: [
|
|
9715
|
+
/* @__PURE__ */ jsx49(
|
|
9836
9716
|
AlignmentSwitch,
|
|
9837
9717
|
{
|
|
9838
9718
|
alignment,
|
|
@@ -9843,7 +9723,7 @@ function ButtonView(props) {
|
|
|
9843
9723
|
}
|
|
9844
9724
|
}
|
|
9845
9725
|
),
|
|
9846
|
-
/* @__PURE__ */
|
|
9726
|
+
/* @__PURE__ */ jsx49(
|
|
9847
9727
|
LinkInputPopover,
|
|
9848
9728
|
{
|
|
9849
9729
|
defaultValue: externalLink || "",
|
|
@@ -9859,9 +9739,9 @@ function ButtonView(props) {
|
|
|
9859
9739
|
}
|
|
9860
9740
|
)
|
|
9861
9741
|
] }),
|
|
9862
|
-
/* @__PURE__ */
|
|
9863
|
-
/* @__PURE__ */
|
|
9864
|
-
/* @__PURE__ */
|
|
9742
|
+
/* @__PURE__ */ jsx49(Divider, {}),
|
|
9743
|
+
/* @__PURE__ */ jsxs26("div", { className: "mly:flex mly:gap-x-0.5", children: [
|
|
9744
|
+
/* @__PURE__ */ jsx49(
|
|
9865
9745
|
BackgroundColorPickerPopup,
|
|
9866
9746
|
{
|
|
9867
9747
|
variant,
|
|
@@ -9873,7 +9753,7 @@ function ButtonView(props) {
|
|
|
9873
9753
|
}
|
|
9874
9754
|
}
|
|
9875
9755
|
),
|
|
9876
|
-
/* @__PURE__ */
|
|
9756
|
+
/* @__PURE__ */ jsx49(
|
|
9877
9757
|
TextColorPickerPopup,
|
|
9878
9758
|
{
|
|
9879
9759
|
color: textColor || "transparent",
|
|
@@ -9894,20 +9774,20 @@ function ButtonView(props) {
|
|
|
9894
9774
|
}
|
|
9895
9775
|
function BackgroundColorPickerPopup(props) {
|
|
9896
9776
|
const { color, onChange, variant } = props;
|
|
9897
|
-
return /* @__PURE__ */
|
|
9777
|
+
return /* @__PURE__ */ jsx49(
|
|
9898
9778
|
ColorPicker,
|
|
9899
9779
|
{
|
|
9900
9780
|
color,
|
|
9901
9781
|
onColorChange: onChange,
|
|
9902
9782
|
tooltip: "Background Color",
|
|
9903
|
-
children: /* @__PURE__ */
|
|
9783
|
+
children: /* @__PURE__ */ jsx49(
|
|
9904
9784
|
BaseButton,
|
|
9905
9785
|
{
|
|
9906
9786
|
variant: "ghost",
|
|
9907
9787
|
size: "sm",
|
|
9908
9788
|
type: "button",
|
|
9909
9789
|
className: "mly:size-7",
|
|
9910
|
-
children: /* @__PURE__ */
|
|
9790
|
+
children: /* @__PURE__ */ jsx49(
|
|
9911
9791
|
"div",
|
|
9912
9792
|
{
|
|
9913
9793
|
className: "mly:h-4 mly:w-4 mly:shrink-0 mly:rounded-full mly:shadow",
|
|
@@ -9926,16 +9806,16 @@ function BackgroundColorPickerPopup(props) {
|
|
|
9926
9806
|
}
|
|
9927
9807
|
function TextColorPickerPopup(props) {
|
|
9928
9808
|
const { color, onChange } = props;
|
|
9929
|
-
return /* @__PURE__ */
|
|
9809
|
+
return /* @__PURE__ */ jsx49(ColorPicker, { color, onColorChange: onChange, tooltip: "Text Color", children: /* @__PURE__ */ jsx49(
|
|
9930
9810
|
BaseButton,
|
|
9931
9811
|
{
|
|
9932
9812
|
variant: "ghost",
|
|
9933
9813
|
size: "sm",
|
|
9934
9814
|
type: "button",
|
|
9935
9815
|
className: "mly:size-7",
|
|
9936
|
-
children: /* @__PURE__ */
|
|
9937
|
-
/* @__PURE__ */
|
|
9938
|
-
/* @__PURE__ */
|
|
9816
|
+
children: /* @__PURE__ */ jsxs26("div", { className: "mly:flex mly:flex-col mly:items-center mly:justify-center mly:gap-px", children: [
|
|
9817
|
+
/* @__PURE__ */ jsx49("span", { className: "mly:font-bolder mly:font-mono mly:text-xs mly:text-midnight-gray", children: "A" }),
|
|
9818
|
+
/* @__PURE__ */ jsx49(
|
|
9939
9819
|
"div",
|
|
9940
9820
|
{
|
|
9941
9821
|
className: "mly:h-[2px] mly:w-3 mly:shrink-0 mly:rounded-md mly:shadow",
|
|
@@ -10266,83 +10146,24 @@ import { createLowlight, common } from "lowlight";
|
|
|
10266
10146
|
|
|
10267
10147
|
// src/editor/nodes/html/html-view.tsx
|
|
10268
10148
|
import { NodeViewContent, NodeViewWrapper as NodeViewWrapper6 } from "@tiptap/react";
|
|
10269
|
-
import {
|
|
10270
|
-
import { jsx as jsx51, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
10149
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
10271
10150
|
function HTMLCodeBlockView(props) {
|
|
10272
|
-
const { node
|
|
10273
|
-
|
|
10274
|
-
activeTab || (activeTab = "code");
|
|
10151
|
+
const { node } = props;
|
|
10152
|
+
const { language } = node.attrs;
|
|
10275
10153
|
const languageClass = language ? `language-${language}` : "";
|
|
10276
|
-
|
|
10277
|
-
const text2 = node.content.content.reduce((acc, cur) => {
|
|
10278
|
-
if (cur.type.name === "text") {
|
|
10279
|
-
return acc + cur.text;
|
|
10280
|
-
} else if (cur.type.name === "variable") {
|
|
10281
|
-
const { id: variable, fallback } = (cur == null ? void 0 : cur.attrs) || {};
|
|
10282
|
-
const formattedVariable = fallback ? `{{${variable},fallback=${fallback}}}` : `{{${variable}}}`;
|
|
10283
|
-
return acc + formattedVariable;
|
|
10284
|
-
}
|
|
10285
|
-
return acc;
|
|
10286
|
-
}, "");
|
|
10287
|
-
const htmlParser = new DOMParser();
|
|
10288
|
-
const htmlDoc = htmlParser.parseFromString(text2, "text/html");
|
|
10289
|
-
const style = htmlDoc.querySelectorAll("style");
|
|
10290
|
-
const body = htmlDoc.body;
|
|
10291
|
-
const combinedStyle = Array.from(style).map((s) => s.innerHTML).join("\n");
|
|
10292
|
-
return `<style>${combinedStyle}</style>${body.innerHTML}`;
|
|
10293
|
-
}, [activeTab]);
|
|
10294
|
-
const isEmpty = html2 === "";
|
|
10295
|
-
return /* @__PURE__ */ jsxs28(
|
|
10154
|
+
return /* @__PURE__ */ jsx50(
|
|
10296
10155
|
NodeViewWrapper6,
|
|
10297
10156
|
{
|
|
10298
10157
|
draggable: false,
|
|
10299
10158
|
"data-drag-handle": false,
|
|
10300
10159
|
"data-type": "htmlCodeBlock",
|
|
10301
|
-
children:
|
|
10302
|
-
|
|
10303
|
-
|
|
10304
|
-
|
|
10305
|
-
|
|
10306
|
-
|
|
10307
|
-
|
|
10308
|
-
) }),
|
|
10309
|
-
activeTab === "preview" && /* @__PURE__ */ jsx51(
|
|
10310
|
-
"div",
|
|
10311
|
-
{
|
|
10312
|
-
className: cn(
|
|
10313
|
-
"mly:not-prose mly:rounded-lg mly:border mly:border-gray-200 mly:p-2",
|
|
10314
|
-
isEmpty && "mly:min-h-[42px]"
|
|
10315
|
-
),
|
|
10316
|
-
ref: (node2) => {
|
|
10317
|
-
if (!node2 || (node2 == null ? void 0 : node2.shadowRoot)) {
|
|
10318
|
-
return;
|
|
10319
|
-
}
|
|
10320
|
-
const shadow = node2.attachShadow({ mode: "open" });
|
|
10321
|
-
const sheet = new CSSStyleSheet();
|
|
10322
|
-
sheet.replaceSync(`
|
|
10323
|
-
* { font-family: 'Inter', sans-serif; }
|
|
10324
|
-
blockquote, h1, h2, h3, img, li, ol, p, ul {
|
|
10325
|
-
margin-top: 0;
|
|
10326
|
-
margin-bottom: 0;
|
|
10327
|
-
}
|
|
10328
|
-
`);
|
|
10329
|
-
shadow.adoptedStyleSheets = [sheet];
|
|
10330
|
-
const container = document.createElement("div");
|
|
10331
|
-
container.innerHTML = html2;
|
|
10332
|
-
shadow.appendChild(container);
|
|
10333
|
-
},
|
|
10334
|
-
contentEditable: false,
|
|
10335
|
-
onClick: () => {
|
|
10336
|
-
if (!isEmpty) {
|
|
10337
|
-
return;
|
|
10338
|
-
}
|
|
10339
|
-
updateAttributes2({
|
|
10340
|
-
activeTab: "code"
|
|
10341
|
-
});
|
|
10342
|
-
}
|
|
10343
|
-
}
|
|
10344
|
-
)
|
|
10345
|
-
]
|
|
10160
|
+
children: /* @__PURE__ */ jsx50("pre", { className: "mly-html-code-pre", children: /* @__PURE__ */ jsx50(
|
|
10161
|
+
NodeViewContent,
|
|
10162
|
+
{
|
|
10163
|
+
as: "code",
|
|
10164
|
+
className: cn("is-editable", languageClass)
|
|
10165
|
+
}
|
|
10166
|
+
) })
|
|
10346
10167
|
}
|
|
10347
10168
|
);
|
|
10348
10169
|
}
|
|
@@ -10486,10 +10307,10 @@ import { ReactNodeViewRenderer as ReactNodeViewRenderer6 } from "@tiptap/react";
|
|
|
10486
10307
|
// src/editor/nodes/repeat/repeat-view.tsx
|
|
10487
10308
|
import { NodeViewWrapper as NodeViewWrapper7, NodeViewContent as NodeViewContent2 } from "@tiptap/react";
|
|
10488
10309
|
import { Repeat2 as Repeat22 } from "lucide-react";
|
|
10489
|
-
import { jsx as
|
|
10310
|
+
import { jsx as jsx51, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
10490
10311
|
function RepeatView(props) {
|
|
10491
10312
|
const { editor, getPos } = props;
|
|
10492
|
-
return /* @__PURE__ */
|
|
10313
|
+
return /* @__PURE__ */ jsxs27(
|
|
10493
10314
|
NodeViewWrapper7,
|
|
10494
10315
|
{
|
|
10495
10316
|
"data-type": "repeat",
|
|
@@ -10497,8 +10318,8 @@ function RepeatView(props) {
|
|
|
10497
10318
|
"data-drag-handle": editor.isEditable,
|
|
10498
10319
|
className: "mly:relative",
|
|
10499
10320
|
children: [
|
|
10500
|
-
/* @__PURE__ */
|
|
10501
|
-
/* @__PURE__ */
|
|
10321
|
+
/* @__PURE__ */ jsx51(NodeViewContent2, { className: "is-editable" }),
|
|
10322
|
+
/* @__PURE__ */ jsxs27(
|
|
10502
10323
|
"div",
|
|
10503
10324
|
{
|
|
10504
10325
|
role: "button",
|
|
@@ -10509,8 +10330,8 @@ function RepeatView(props) {
|
|
|
10509
10330
|
editor.commands.setNodeSelection(getPos());
|
|
10510
10331
|
},
|
|
10511
10332
|
children: [
|
|
10512
|
-
/* @__PURE__ */
|
|
10513
|
-
/* @__PURE__ */
|
|
10333
|
+
/* @__PURE__ */ jsx51(Repeat22, { className: "mly:size-3 mly:stroke-[2.5] mly:text-midnight-gray" }),
|
|
10334
|
+
/* @__PURE__ */ jsx51("div", { className: "mly:w-[1.5px] mly:grow mly:rounded-full mly:bg-rose-300" })
|
|
10514
10335
|
]
|
|
10515
10336
|
}
|
|
10516
10337
|
)
|
|
@@ -10755,7 +10576,7 @@ import { ReactRenderer } from "@tiptap/react";
|
|
|
10755
10576
|
import {
|
|
10756
10577
|
forwardRef as forwardRef8,
|
|
10757
10578
|
Fragment as Fragment8,
|
|
10758
|
-
useCallback as
|
|
10579
|
+
useCallback as useCallback10,
|
|
10759
10580
|
useEffect as useEffect8,
|
|
10760
10581
|
useImperativeHandle as useImperativeHandle2,
|
|
10761
10582
|
useLayoutEffect as useLayoutEffect2,
|
|
@@ -10766,8 +10587,8 @@ import tippy2 from "tippy.js";
|
|
|
10766
10587
|
|
|
10767
10588
|
// src/editor/extensions/slash-command/slash-command-item.tsx
|
|
10768
10589
|
import { ChevronRightIcon } from "lucide-react";
|
|
10769
|
-
import { useCallback as
|
|
10770
|
-
import { Fragment as Fragment7, jsx as
|
|
10590
|
+
import { useCallback as useCallback9, useState as useState10, useRef as useRef10, useEffect as useEffect7 } from "react";
|
|
10591
|
+
import { Fragment as Fragment7, jsx as jsx52, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
10771
10592
|
function SlashCommandItem(props) {
|
|
10772
10593
|
var _a;
|
|
10773
10594
|
const {
|
|
@@ -10790,19 +10611,19 @@ function SlashCommandItem(props) {
|
|
|
10790
10611
|
const shouldOpenTooltip = !!(item == null ? void 0 : item.preview) && (isHovered || isActive && !hoveredItemKey);
|
|
10791
10612
|
const hasRenderFunction = typeof item.render === "function";
|
|
10792
10613
|
const renderFunctionValue = hasRenderFunction ? (_a = item.render) == null ? void 0 : _a.call(item, editor) : null;
|
|
10793
|
-
let value = /* @__PURE__ */
|
|
10794
|
-
/* @__PURE__ */
|
|
10795
|
-
/* @__PURE__ */
|
|
10796
|
-
/* @__PURE__ */
|
|
10797
|
-
/* @__PURE__ */
|
|
10614
|
+
let value = /* @__PURE__ */ jsxs28(Fragment7, { children: [
|
|
10615
|
+
/* @__PURE__ */ jsx52("div", { className: "mly:flex mly:h-6 mly:w-6 mly:shrink-0 mly:items-center mly:justify-center", children: item.icon }),
|
|
10616
|
+
/* @__PURE__ */ jsxs28("div", { className: "mly:grow", children: [
|
|
10617
|
+
/* @__PURE__ */ jsx52("p", { className: "mly:font-medium", children: item.title }),
|
|
10618
|
+
/* @__PURE__ */ jsx52("p", { className: "mly:text-xs mly:text-gray-400", children: item.description })
|
|
10798
10619
|
] }),
|
|
10799
|
-
isSubCommand2 && /* @__PURE__ */
|
|
10620
|
+
isSubCommand2 && /* @__PURE__ */ jsx52("span", { className: "mly:block mly:px-1 mly:text-gray-400", children: /* @__PURE__ */ jsx52(ChevronRightIcon, { className: "mly:size-3.5 mly:stroke-[2.5]" }) })
|
|
10800
10621
|
] });
|
|
10801
10622
|
if (renderFunctionValue !== null && renderFunctionValue !== true) {
|
|
10802
10623
|
value = renderFunctionValue;
|
|
10803
10624
|
}
|
|
10804
10625
|
const openTimerRef = useRef10(0);
|
|
10805
|
-
const handleDelayedOpen =
|
|
10626
|
+
const handleDelayedOpen = useCallback9(() => {
|
|
10806
10627
|
window.clearTimeout(openTimerRef.current);
|
|
10807
10628
|
const delay = 200;
|
|
10808
10629
|
openTimerRef.current = window.setTimeout(() => {
|
|
@@ -10827,8 +10648,8 @@ function SlashCommandItem(props) {
|
|
|
10827
10648
|
}
|
|
10828
10649
|
};
|
|
10829
10650
|
}, []);
|
|
10830
|
-
return /* @__PURE__ */
|
|
10831
|
-
/* @__PURE__ */
|
|
10651
|
+
return /* @__PURE__ */ jsxs28(Tooltip, { open, children: [
|
|
10652
|
+
/* @__PURE__ */ jsx52(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx52(
|
|
10832
10653
|
"button",
|
|
10833
10654
|
{
|
|
10834
10655
|
className: cn(
|
|
@@ -10843,14 +10664,14 @@ function SlashCommandItem(props) {
|
|
|
10843
10664
|
children: value
|
|
10844
10665
|
}
|
|
10845
10666
|
) }),
|
|
10846
|
-
/* @__PURE__ */
|
|
10667
|
+
/* @__PURE__ */ jsx52(
|
|
10847
10668
|
TooltipContent,
|
|
10848
10669
|
{
|
|
10849
10670
|
side: "right",
|
|
10850
10671
|
sideOffset: 10,
|
|
10851
10672
|
className: "mly:w-52 mly:rounded-lg mly:border-none mly:p-1 mly:shadow",
|
|
10852
|
-
children: typeof item.preview === "function" ? item == null ? void 0 : item.preview(editor) : /* @__PURE__ */
|
|
10853
|
-
/* @__PURE__ */
|
|
10673
|
+
children: typeof item.preview === "function" ? item == null ? void 0 : item.preview(editor) : /* @__PURE__ */ jsxs28(Fragment7, { children: [
|
|
10674
|
+
/* @__PURE__ */ jsx52("figure", { className: "mly:relative mly:aspect-[2.5] mly:w-full mly:overflow-hidden mly:rounded-md mly:border mly:border-gray-200", children: /* @__PURE__ */ jsx52(
|
|
10854
10675
|
"img",
|
|
10855
10676
|
{
|
|
10856
10677
|
src: item == null ? void 0 : item.preview,
|
|
@@ -10858,7 +10679,7 @@ function SlashCommandItem(props) {
|
|
|
10858
10679
|
className: "mly:absolute mly:inset-0 mly:h-full mly:w-full mly:object-cover"
|
|
10859
10680
|
}
|
|
10860
10681
|
) }),
|
|
10861
|
-
/* @__PURE__ */
|
|
10682
|
+
/* @__PURE__ */ jsx52("p", { className: "mly:mt-2 mly:px-0.5 mly:text-gray-500", children: item.description })
|
|
10862
10683
|
] })
|
|
10863
10684
|
}
|
|
10864
10685
|
)
|
|
@@ -10947,7 +10768,7 @@ function processCommand(options) {
|
|
|
10947
10768
|
}
|
|
10948
10769
|
|
|
10949
10770
|
// src/editor/extensions/slash-command/slash-command-view.tsx
|
|
10950
|
-
import { jsx as
|
|
10771
|
+
import { jsx as jsx53, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
10951
10772
|
var CommandList = forwardRef8((props, ref) => {
|
|
10952
10773
|
const { items: groups, command, editor, range, query } = props;
|
|
10953
10774
|
const [selectedGroupIndex, setSelectedGroupIndex] = useState11(0);
|
|
@@ -10956,7 +10777,7 @@ var CommandList = forwardRef8((props, ref) => {
|
|
|
10956
10777
|
const prevQuery = useRef11("");
|
|
10957
10778
|
const prevSelectedGroupIndex = useRef11(0);
|
|
10958
10779
|
const prevSelectedCommandIndex = useRef11(0);
|
|
10959
|
-
const selectItem =
|
|
10780
|
+
const selectItem = useCallback10(
|
|
10960
10781
|
(groupIndex, commandIndex) => {
|
|
10961
10782
|
const item = groups[groupIndex].commands[commandIndex];
|
|
10962
10783
|
if (!item) {
|
|
@@ -11085,15 +10906,15 @@ var CommandList = forwardRef8((props, ref) => {
|
|
|
11085
10906
|
if (!groups || groups.length === 0) {
|
|
11086
10907
|
return null;
|
|
11087
10908
|
}
|
|
11088
|
-
return /* @__PURE__ */
|
|
11089
|
-
/* @__PURE__ */
|
|
10909
|
+
return /* @__PURE__ */ jsx53(TooltipProvider, { children: /* @__PURE__ */ jsxs29("div", { className: "mly:z-50 mly:w-72 mly:overflow-hidden mly:rounded-md mly:border mly:border-gray-200 mly:bg-white mly:shadow-md mly:transition-all", children: [
|
|
10910
|
+
/* @__PURE__ */ jsx53(
|
|
11090
10911
|
"div",
|
|
11091
10912
|
{
|
|
11092
10913
|
id: "slash-command",
|
|
11093
10914
|
ref: commandListContainer,
|
|
11094
10915
|
className: "mly:no-scrollbar mly:h-auto mly:max-h-[330px] mly:overflow-y-auto",
|
|
11095
|
-
children: groups.map((group, groupIndex) => /* @__PURE__ */
|
|
11096
|
-
/* @__PURE__ */
|
|
10916
|
+
children: groups.map((group, groupIndex) => /* @__PURE__ */ jsxs29(Fragment8, { children: [
|
|
10917
|
+
/* @__PURE__ */ jsx53(
|
|
11097
10918
|
"span",
|
|
11098
10919
|
{
|
|
11099
10920
|
className: cn(
|
|
@@ -11103,9 +10924,9 @@ var CommandList = forwardRef8((props, ref) => {
|
|
|
11103
10924
|
children: group.title
|
|
11104
10925
|
}
|
|
11105
10926
|
),
|
|
11106
|
-
/* @__PURE__ */
|
|
10927
|
+
/* @__PURE__ */ jsx53("div", { className: "mly:space-y-0.5 mly:p-1", children: group.commands.map((item, commandIndex) => {
|
|
11107
10928
|
const itemKey = `${groupIndex}-${commandIndex}`;
|
|
11108
|
-
return /* @__PURE__ */
|
|
10929
|
+
return /* @__PURE__ */ jsx53(
|
|
11109
10930
|
SlashCommandItem,
|
|
11110
10931
|
{
|
|
11111
10932
|
item,
|
|
@@ -11125,16 +10946,16 @@ var CommandList = forwardRef8((props, ref) => {
|
|
|
11125
10946
|
] }, groupIndex))
|
|
11126
10947
|
}
|
|
11127
10948
|
),
|
|
11128
|
-
/* @__PURE__ */
|
|
11129
|
-
/* @__PURE__ */
|
|
11130
|
-
/* @__PURE__ */
|
|
11131
|
-
/* @__PURE__ */
|
|
10949
|
+
/* @__PURE__ */ jsx53("div", { className: "mly:border-t mly:border-gray-200 mly:px-1 mly:py-3 mly:pl-4", children: /* @__PURE__ */ jsxs29("div", { className: "mly:flex mly:items-center", children: [
|
|
10950
|
+
/* @__PURE__ */ jsxs29("p", { className: "mly:text-center mly:text-xs mly:text-gray-400", children: [
|
|
10951
|
+
/* @__PURE__ */ jsx53("kbd", { className: "mly:rounded mly:border mly:border-gray-200 mly:p-1 mly:px-2 mly:font-medium", children: "\u2191" }),
|
|
10952
|
+
/* @__PURE__ */ jsx53("kbd", { className: "mly:ml-1 mly:rounded mly:border mly:border-gray-200 mly:p-1 mly:px-2 mly:font-medium", children: "\u2193" }),
|
|
11132
10953
|
" ",
|
|
11133
10954
|
"to navigate"
|
|
11134
10955
|
] }),
|
|
11135
|
-
/* @__PURE__ */
|
|
11136
|
-
/* @__PURE__ */
|
|
11137
|
-
/* @__PURE__ */
|
|
10956
|
+
/* @__PURE__ */ jsx53("span", { "aria-hidden": "true", className: "mly:select-none mly:px-1", children: "\xB7" }),
|
|
10957
|
+
/* @__PURE__ */ jsxs29("p", { className: "mly:text-center mly:text-xs mly:text-gray-400", children: [
|
|
10958
|
+
/* @__PURE__ */ jsx53("kbd", { className: "mly:rounded mly:border mly:border-gray-200 mly:p-1 mly:px-1.5 mly:font-medium", children: "Enter" }),
|
|
11138
10959
|
" ",
|
|
11139
10960
|
"to select"
|
|
11140
10961
|
] })
|
|
@@ -11214,7 +11035,7 @@ function getSlashCommandSuggestions(groups = DEFAULT_SLASH_COMMANDS) {
|
|
|
11214
11035
|
import { ReactRenderer as ReactRenderer2 } from "@tiptap/react";
|
|
11215
11036
|
import { forwardRef as forwardRef9, useImperativeHandle as useImperativeHandle3, useRef as useRef12 } from "react";
|
|
11216
11037
|
import tippy3 from "tippy.js";
|
|
11217
|
-
import { jsx as
|
|
11038
|
+
import { jsx as jsx54 } from "react/jsx-runtime";
|
|
11218
11039
|
var VariableList = forwardRef9((props, ref) => {
|
|
11219
11040
|
var _a;
|
|
11220
11041
|
const { items = [], editor } = props;
|
|
@@ -11243,7 +11064,7 @@ var VariableList = forwardRef9((props, ref) => {
|
|
|
11243
11064
|
return false;
|
|
11244
11065
|
}
|
|
11245
11066
|
}));
|
|
11246
|
-
return /* @__PURE__ */
|
|
11067
|
+
return /* @__PURE__ */ jsx54(
|
|
11247
11068
|
VariableSuggestionPopoverComponent,
|
|
11248
11069
|
{
|
|
11249
11070
|
items,
|
|
@@ -11427,7 +11248,7 @@ var isCustomNodeSelected = (editor, node) => {
|
|
|
11427
11248
|
};
|
|
11428
11249
|
|
|
11429
11250
|
// src/editor/components/text-menu/text-bubble-menu.tsx
|
|
11430
|
-
import { BubbleMenu as
|
|
11251
|
+
import { BubbleMenu as BubbleMenu7 } from "@tiptap/react";
|
|
11431
11252
|
|
|
11432
11253
|
// src/editor/components/text-menu/text-bubble-content.tsx
|
|
11433
11254
|
import {
|
|
@@ -11441,11 +11262,11 @@ import {
|
|
|
11441
11262
|
} from "lucide-react";
|
|
11442
11263
|
|
|
11443
11264
|
// src/editor/components/text-menu/use-text-menu-state.tsx
|
|
11444
|
-
import { useEditorState as
|
|
11445
|
-
import
|
|
11265
|
+
import { useEditorState as useEditorState7 } from "@tiptap/react";
|
|
11266
|
+
import deepEql7 from "fast-deep-equal";
|
|
11446
11267
|
var DEFAULT_TEXT_COLOR = "#374151";
|
|
11447
11268
|
var useTextMenuState = (editor) => {
|
|
11448
|
-
const states =
|
|
11269
|
+
const states = useEditorState7({
|
|
11449
11270
|
editor,
|
|
11450
11271
|
selector: (ctx) => {
|
|
11451
11272
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
@@ -11461,13 +11282,13 @@ var useTextMenuState = (editor) => {
|
|
|
11461
11282
|
paragraphShowIfKey: ((_h = ctx.editor.getAttributes("paragraph")) == null ? void 0 : _h.showIfKey) || ""
|
|
11462
11283
|
};
|
|
11463
11284
|
},
|
|
11464
|
-
equalityFn:
|
|
11285
|
+
equalityFn: deepEql7
|
|
11465
11286
|
});
|
|
11466
11287
|
return states;
|
|
11467
11288
|
};
|
|
11468
11289
|
|
|
11469
11290
|
// src/editor/components/text-menu/text-bubble-content.tsx
|
|
11470
|
-
import { Fragment as Fragment9, jsx as
|
|
11291
|
+
import { Fragment as Fragment9, jsx as jsx55, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
11471
11292
|
function TextBubbleContent(props) {
|
|
11472
11293
|
var _a, _b, _c, _d;
|
|
11473
11294
|
const { editor, showListMenu = true } = props;
|
|
@@ -11511,9 +11332,9 @@ function TextBubbleContent(props) {
|
|
|
11511
11332
|
tooltip: "Code"
|
|
11512
11333
|
}
|
|
11513
11334
|
];
|
|
11514
|
-
return /* @__PURE__ */
|
|
11515
|
-
items.map((item, index) => /* @__PURE__ */
|
|
11516
|
-
/* @__PURE__ */
|
|
11335
|
+
return /* @__PURE__ */ jsxs30(Fragment9, { children: [
|
|
11336
|
+
items.map((item, index) => /* @__PURE__ */ jsx55(BubbleMenuButton, __spreadValues({}, item), index)),
|
|
11337
|
+
/* @__PURE__ */ jsx55(
|
|
11517
11338
|
AlignmentSwitch,
|
|
11518
11339
|
{
|
|
11519
11340
|
alignment: state.textAlign,
|
|
@@ -11522,8 +11343,8 @@ function TextBubbleContent(props) {
|
|
|
11522
11343
|
}
|
|
11523
11344
|
}
|
|
11524
11345
|
),
|
|
11525
|
-
!state.isListActive && showListMenu && /* @__PURE__ */
|
|
11526
|
-
/* @__PURE__ */
|
|
11346
|
+
!state.isListActive && showListMenu && /* @__PURE__ */ jsxs30(Fragment9, { children: [
|
|
11347
|
+
/* @__PURE__ */ jsx55(
|
|
11527
11348
|
BubbleMenuButton,
|
|
11528
11349
|
{
|
|
11529
11350
|
icon: List2,
|
|
@@ -11533,7 +11354,7 @@ function TextBubbleContent(props) {
|
|
|
11533
11354
|
tooltip: "Bullet List"
|
|
11534
11355
|
}
|
|
11535
11356
|
),
|
|
11536
|
-
/* @__PURE__ */
|
|
11357
|
+
/* @__PURE__ */ jsx55(
|
|
11537
11358
|
BubbleMenuButton,
|
|
11538
11359
|
{
|
|
11539
11360
|
icon: ListOrdered2,
|
|
@@ -11544,7 +11365,7 @@ function TextBubbleContent(props) {
|
|
|
11544
11365
|
}
|
|
11545
11366
|
)
|
|
11546
11367
|
] }),
|
|
11547
|
-
/* @__PURE__ */
|
|
11368
|
+
/* @__PURE__ */ jsx55(
|
|
11548
11369
|
LinkInputPopover,
|
|
11549
11370
|
{
|
|
11550
11371
|
defaultValue: (_d = state == null ? void 0 : state.linkUrl) != null ? _d : "",
|
|
@@ -11560,8 +11381,8 @@ function TextBubbleContent(props) {
|
|
|
11560
11381
|
isVariable: state.isUrlVariable
|
|
11561
11382
|
}
|
|
11562
11383
|
),
|
|
11563
|
-
/* @__PURE__ */
|
|
11564
|
-
/* @__PURE__ */
|
|
11384
|
+
/* @__PURE__ */ jsx55(Divider, {}),
|
|
11385
|
+
/* @__PURE__ */ jsx55(
|
|
11565
11386
|
ColorPicker,
|
|
11566
11387
|
{
|
|
11567
11388
|
color: state.currentTextColor,
|
|
@@ -11570,16 +11391,16 @@ function TextBubbleContent(props) {
|
|
|
11570
11391
|
},
|
|
11571
11392
|
tooltip: "Text Color",
|
|
11572
11393
|
suggestedColors,
|
|
11573
|
-
children: /* @__PURE__ */
|
|
11394
|
+
children: /* @__PURE__ */ jsx55(
|
|
11574
11395
|
BaseButton,
|
|
11575
11396
|
{
|
|
11576
11397
|
variant: "ghost",
|
|
11577
11398
|
size: "sm",
|
|
11578
11399
|
type: "button",
|
|
11579
11400
|
className: "mly:h-7 mly:w-7 mly:shrink-0 mly:p-0",
|
|
11580
|
-
children: /* @__PURE__ */
|
|
11581
|
-
/* @__PURE__ */
|
|
11582
|
-
/* @__PURE__ */
|
|
11401
|
+
children: /* @__PURE__ */ jsxs30("div", { className: "mly:flex mly:flex-col mly:items-center mly:justify-center mly:gap-px", children: [
|
|
11402
|
+
/* @__PURE__ */ jsx55("span", { className: "mly:font-bolder mly:font-mono mly:text-xs mly:text-slate-700", children: "A" }),
|
|
11403
|
+
/* @__PURE__ */ jsx55(
|
|
11583
11404
|
"div",
|
|
11584
11405
|
{
|
|
11585
11406
|
className: "mly:h-[2px] mly:w-3",
|
|
@@ -11596,34 +11417,34 @@ function TextBubbleContent(props) {
|
|
|
11596
11417
|
|
|
11597
11418
|
// src/editor/components/text-menu/turn-into-block.tsx
|
|
11598
11419
|
import { ChevronDownIcon as ChevronDownIcon2, PilcrowIcon } from "lucide-react";
|
|
11599
|
-
import { useMemo as
|
|
11600
|
-
import { jsx as
|
|
11420
|
+
import { useMemo as useMemo11 } from "react";
|
|
11421
|
+
import { jsx as jsx56, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
11601
11422
|
var isOption = (option) => option.type === "option";
|
|
11602
11423
|
var isCategory = (option) => option.type === "category";
|
|
11603
11424
|
function TurnIntoBlock(props) {
|
|
11604
11425
|
const { options } = props;
|
|
11605
|
-
const activeItem =
|
|
11426
|
+
const activeItem = useMemo11(
|
|
11606
11427
|
() => options.find((option) => option.type === "option" && option.isActive()),
|
|
11607
11428
|
[options]
|
|
11608
11429
|
);
|
|
11609
11430
|
const { icon: ActiveIcon = PilcrowIcon } = activeItem || {};
|
|
11610
|
-
return /* @__PURE__ */
|
|
11611
|
-
/* @__PURE__ */
|
|
11612
|
-
/* @__PURE__ */
|
|
11431
|
+
return /* @__PURE__ */ jsxs31(Popover, { children: [
|
|
11432
|
+
/* @__PURE__ */ jsxs31(Tooltip, { children: [
|
|
11433
|
+
/* @__PURE__ */ jsx56(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxs31(
|
|
11613
11434
|
PopoverTrigger,
|
|
11614
11435
|
{
|
|
11615
11436
|
className: cn(
|
|
11616
11437
|
"mly:flex mly:aspect-square mly:h-7 mly:items-center mly:justify-center mly:gap-1 mly:rounded-md mly:px-1.5 mly:text-sm mly:data-[state=open]:bg-soft-gray mly:hover:bg-soft-gray mly:focus-visible:relative mly:focus-visible:z-10 mly:focus-visible:outline-hidden mly:focus-visible:ring-2 mly:focus-visible:ring-gray-400 mly:focus-visible:ring-offset-2"
|
|
11617
11438
|
),
|
|
11618
11439
|
children: [
|
|
11619
|
-
/* @__PURE__ */
|
|
11620
|
-
/* @__PURE__ */
|
|
11440
|
+
/* @__PURE__ */ jsx56(ActiveIcon, { className: "mly:h-3 mly:w-3 mly:shrink-0 mly:stroke-[2.5]" }),
|
|
11441
|
+
/* @__PURE__ */ jsx56(ChevronDownIcon2, { className: "mly:h-3 mly:w-3 mly:shrink-0 mly:stroke-[2.5]" })
|
|
11621
11442
|
]
|
|
11622
11443
|
}
|
|
11623
11444
|
) }),
|
|
11624
|
-
/* @__PURE__ */
|
|
11445
|
+
/* @__PURE__ */ jsx56(TooltipContent, { sideOffset: 8, children: "Turn into" })
|
|
11625
11446
|
] }),
|
|
11626
|
-
/* @__PURE__ */
|
|
11447
|
+
/* @__PURE__ */ jsx56(
|
|
11627
11448
|
PopoverContent,
|
|
11628
11449
|
{
|
|
11629
11450
|
align: "start",
|
|
@@ -11632,21 +11453,21 @@ function TurnIntoBlock(props) {
|
|
|
11632
11453
|
className: "mly:flex mly:w-[160px] mly:flex-col mly:rounded-md mly:p-1",
|
|
11633
11454
|
children: options.map((option, index) => {
|
|
11634
11455
|
if (isOption(option)) {
|
|
11635
|
-
return /* @__PURE__ */
|
|
11456
|
+
return /* @__PURE__ */ jsxs31(
|
|
11636
11457
|
BaseButton,
|
|
11637
11458
|
{
|
|
11638
11459
|
onClick: option.onClick,
|
|
11639
11460
|
variant: "ghost",
|
|
11640
11461
|
className: "mly:mb-0.5 mly:h-auto mly:justify-start mly:gap-2 mly:rounded! mly:!px-2.5 mly:py-1 mly:!pl-3.5 mly:text-sm mly:font-normal mly:text-midnight-gray",
|
|
11641
11462
|
children: [
|
|
11642
|
-
/* @__PURE__ */
|
|
11463
|
+
/* @__PURE__ */ jsx56(option.icon, { className: "mly:size-[15px] mly:shrink-0" }),
|
|
11643
11464
|
option.label
|
|
11644
11465
|
]
|
|
11645
11466
|
},
|
|
11646
11467
|
option.id
|
|
11647
11468
|
);
|
|
11648
11469
|
} else if (isCategory(option)) {
|
|
11649
|
-
return /* @__PURE__ */
|
|
11470
|
+
return /* @__PURE__ */ jsx56(
|
|
11650
11471
|
"label",
|
|
11651
11472
|
{
|
|
11652
11473
|
className: cn(
|
|
@@ -11665,7 +11486,7 @@ function TurnIntoBlock(props) {
|
|
|
11665
11486
|
}
|
|
11666
11487
|
|
|
11667
11488
|
// src/editor/components/text-menu/use-turn-into-block-options.tsx
|
|
11668
|
-
import { useEditorState as
|
|
11489
|
+
import { useEditorState as useEditorState8 } from "@tiptap/react";
|
|
11669
11490
|
import {
|
|
11670
11491
|
Heading1Icon,
|
|
11671
11492
|
Heading2Icon,
|
|
@@ -11675,7 +11496,7 @@ import {
|
|
|
11675
11496
|
PilcrowIcon as PilcrowIcon2
|
|
11676
11497
|
} from "lucide-react";
|
|
11677
11498
|
function useTurnIntoBlockOptions(editor) {
|
|
11678
|
-
return
|
|
11499
|
+
return useEditorState8({
|
|
11679
11500
|
editor,
|
|
11680
11501
|
selector: ({ editor: editor2 }) => [
|
|
11681
11502
|
{
|
|
@@ -11747,7 +11568,7 @@ function useTurnIntoBlockOptions(editor) {
|
|
|
11747
11568
|
}
|
|
11748
11569
|
|
|
11749
11570
|
// src/editor/components/text-menu/text-bubble-menu.tsx
|
|
11750
|
-
import { jsx as
|
|
11571
|
+
import { jsx as jsx57, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
11751
11572
|
function TextBubbleMenu(props) {
|
|
11752
11573
|
const { editor, appendTo } = props;
|
|
11753
11574
|
if (!editor) {
|
|
@@ -11798,23 +11619,23 @@ function TextBubbleMenu(props) {
|
|
|
11798
11619
|
}
|
|
11799
11620
|
});
|
|
11800
11621
|
const turnIntoBlockOptions = useTurnIntoBlockOptions(editor);
|
|
11801
|
-
return /* @__PURE__ */
|
|
11802
|
-
|
|
11622
|
+
return /* @__PURE__ */ jsx57(
|
|
11623
|
+
BubbleMenu7,
|
|
11803
11624
|
__spreadProps(__spreadValues({}, bubbleMenuProps), {
|
|
11804
11625
|
className: "mly:flex mly:gap-0.5 mly:rounded-lg mly:border mly:border-gray-200 mly:bg-white mly:p-0.5 mly:shadow-md",
|
|
11805
|
-
children: /* @__PURE__ */
|
|
11806
|
-
/* @__PURE__ */
|
|
11807
|
-
/* @__PURE__ */
|
|
11808
|
-
/* @__PURE__ */
|
|
11626
|
+
children: /* @__PURE__ */ jsxs32(TooltipProvider, { children: [
|
|
11627
|
+
/* @__PURE__ */ jsx57(TurnIntoBlock, { options: turnIntoBlockOptions }),
|
|
11628
|
+
/* @__PURE__ */ jsx57(Divider, { className: "mly:mx-0" }),
|
|
11629
|
+
/* @__PURE__ */ jsx57(TextBubbleContent, { editor })
|
|
11809
11630
|
] })
|
|
11810
11631
|
})
|
|
11811
11632
|
);
|
|
11812
11633
|
}
|
|
11813
11634
|
|
|
11814
11635
|
// src/editor/components/variable-menu/variable-bubble-menu.tsx
|
|
11815
|
-
import { BubbleMenu as
|
|
11816
|
-
import { sticky as
|
|
11817
|
-
import { jsx as
|
|
11636
|
+
import { BubbleMenu as BubbleMenu8 } from "@tiptap/react";
|
|
11637
|
+
import { sticky as sticky6 } from "tippy.js";
|
|
11638
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
11818
11639
|
function VariableBubbleMenu(props) {
|
|
11819
11640
|
const { editor, appendTo } = props;
|
|
11820
11641
|
if (!editor) {
|
|
@@ -11830,18 +11651,18 @@ function VariableBubbleMenu(props) {
|
|
|
11830
11651
|
popperOptions: {
|
|
11831
11652
|
modifiers: [{ name: "flip", enabled: false }]
|
|
11832
11653
|
},
|
|
11833
|
-
plugins: [
|
|
11654
|
+
plugins: [sticky6],
|
|
11834
11655
|
sticky: "popper",
|
|
11835
11656
|
maxWidth: "100%",
|
|
11836
11657
|
appendTo: () => (appendTo == null ? void 0 : appendTo.current) || "parent",
|
|
11837
11658
|
placement: "top-start"
|
|
11838
11659
|
}
|
|
11839
11660
|
});
|
|
11840
|
-
return /* @__PURE__ */
|
|
11841
|
-
|
|
11661
|
+
return /* @__PURE__ */ jsx58(
|
|
11662
|
+
BubbleMenu8,
|
|
11842
11663
|
__spreadProps(__spreadValues({}, bubbleMenuProps), {
|
|
11843
11664
|
className: "mly:flex mly:gap-0.5 mly:rounded-lg mly:border mly:border-slate-200 mly:bg-white mly:p-0.5 mly:shadow-md",
|
|
11844
|
-
children: /* @__PURE__ */
|
|
11665
|
+
children: /* @__PURE__ */ jsx58(TooltipProvider, { children: /* @__PURE__ */ jsx58(TextBubbleContent, { showListMenu: false, editor }) })
|
|
11845
11666
|
})
|
|
11846
11667
|
);
|
|
11847
11668
|
}
|
|
@@ -11927,8 +11748,8 @@ function replaceDeprecatedNode(json) {
|
|
|
11927
11748
|
}
|
|
11928
11749
|
|
|
11929
11750
|
// src/editor/index.tsx
|
|
11930
|
-
import { jsx as
|
|
11931
|
-
function
|
|
11751
|
+
import { jsx as jsx59, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
11752
|
+
function Editor12(props) {
|
|
11932
11753
|
const {
|
|
11933
11754
|
config: {
|
|
11934
11755
|
wrapClassName = "",
|
|
@@ -11951,7 +11772,7 @@ function Editor13(props) {
|
|
|
11951
11772
|
scrollThreshold = 40,
|
|
11952
11773
|
scrollMargin = 40
|
|
11953
11774
|
} = props;
|
|
11954
|
-
const formattedContent =
|
|
11775
|
+
const formattedContent = useMemo12(() => {
|
|
11955
11776
|
if (contentJson) {
|
|
11956
11777
|
const json = (contentJson == null ? void 0 : contentJson.type) === "doc" ? contentJson : {
|
|
11957
11778
|
type: "doc",
|
|
@@ -12000,7 +11821,7 @@ function Editor13(props) {
|
|
|
12000
11821
|
if (!editor) {
|
|
12001
11822
|
return null;
|
|
12002
11823
|
}
|
|
12003
|
-
return /* @__PURE__ */
|
|
11824
|
+
return /* @__PURE__ */ jsx59(MailyProvider, { placeholderUrl, children: /* @__PURE__ */ jsxs33(
|
|
12004
11825
|
"div",
|
|
12005
11826
|
{
|
|
12006
11827
|
id: "mly-editor",
|
|
@@ -12011,8 +11832,8 @@ function Editor13(props) {
|
|
|
12011
11832
|
),
|
|
12012
11833
|
ref: menuContainerRef,
|
|
12013
11834
|
children: [
|
|
12014
|
-
hasMenuBar && /* @__PURE__ */
|
|
12015
|
-
/* @__PURE__ */
|
|
11835
|
+
hasMenuBar && /* @__PURE__ */ jsx59(EditorMenuBar, { config: props.config, editor }),
|
|
11836
|
+
/* @__PURE__ */ jsxs33(
|
|
12016
11837
|
"div",
|
|
12017
11838
|
{
|
|
12018
11839
|
className: cn(
|
|
@@ -12020,17 +11841,16 @@ function Editor13(props) {
|
|
|
12020
11841
|
bodyClassName
|
|
12021
11842
|
),
|
|
12022
11843
|
children: [
|
|
12023
|
-
/* @__PURE__ */
|
|
12024
|
-
/* @__PURE__ */
|
|
12025
|
-
/* @__PURE__ */
|
|
12026
|
-
/* @__PURE__ */
|
|
12027
|
-
/* @__PURE__ */
|
|
12028
|
-
/* @__PURE__ */
|
|
12029
|
-
!hideContextMenu && /* @__PURE__ */
|
|
12030
|
-
/* @__PURE__ */
|
|
12031
|
-
/* @__PURE__ */
|
|
12032
|
-
/* @__PURE__ */
|
|
12033
|
-
/* @__PURE__ */ jsx60(InlineImageBubbleMenu, { editor, appendTo: menuContainerRef })
|
|
11844
|
+
/* @__PURE__ */ jsx59(TextBubbleMenu, { editor, appendTo: menuContainerRef }),
|
|
11845
|
+
/* @__PURE__ */ jsx59(ImageBubbleMenu, { editor, appendTo: menuContainerRef }),
|
|
11846
|
+
/* @__PURE__ */ jsx59(SpacerBubbleMenu, { editor, appendTo: menuContainerRef }),
|
|
11847
|
+
/* @__PURE__ */ jsx59(EditorContent, { editor }),
|
|
11848
|
+
/* @__PURE__ */ jsx59(SectionBubbleMenu, { editor, appendTo: menuContainerRef }),
|
|
11849
|
+
/* @__PURE__ */ jsx59(ColumnsBubbleMenu, { editor, appendTo: menuContainerRef }),
|
|
11850
|
+
!hideContextMenu && /* @__PURE__ */ jsx59(ContentMenu, { editor }),
|
|
11851
|
+
/* @__PURE__ */ jsx59(VariableBubbleMenu, { editor, appendTo: menuContainerRef }),
|
|
11852
|
+
/* @__PURE__ */ jsx59(RepeatBubbleMenu, { editor, appendTo: menuContainerRef }),
|
|
11853
|
+
/* @__PURE__ */ jsx59(InlineImageBubbleMenu, { editor, appendTo: menuContainerRef })
|
|
12034
11854
|
]
|
|
12035
11855
|
}
|
|
12036
11856
|
)
|
|
@@ -12039,6 +11859,6 @@ function Editor13(props) {
|
|
|
12039
11859
|
) });
|
|
12040
11860
|
}
|
|
12041
11861
|
export {
|
|
12042
|
-
|
|
11862
|
+
Editor12 as Editor
|
|
12043
11863
|
};
|
|
12044
11864
|
//# sourceMappingURL=index.mjs.map
|