@react-email/editor 0.0.0-experimental.41 → 0.0.0-experimental.43
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/core/index.cjs +4 -3
- package/dist/core/index.d.cts +2 -2
- package/dist/core/index.d.mts +3 -3
- package/dist/core/index.mjs +3 -3
- package/dist/{create-paste-handler-CGR738bC.d.mts → create-paste-handler-DsJYKisA.d.mts} +1 -1
- package/dist/{create-paste-handler-CGR738bC.d.mts.map → create-paste-handler-DsJYKisA.d.mts.map} +1 -1
- package/dist/{event-bus-fb8U7hrl.cjs → event-bus-BJn1dJM1.cjs} +20 -3
- package/dist/{event-bus-CHEzOS_O.mjs → event-bus-DJpnfDHw.mjs} +14 -3
- package/dist/{event-bus-CHEzOS_O.mjs.map → event-bus-DJpnfDHw.mjs.map} +1 -1
- package/dist/{extension-w5VaUeSw.cjs → extension-CF0s-pGh.cjs} +301 -37
- package/dist/{extension-DyY8_bh4.mjs → extension-DcToBuV0.mjs} +301 -13
- package/dist/extension-DcToBuV0.mjs.map +1 -0
- package/dist/extensions/index.cjs +3 -3
- package/dist/extensions/index.d.cts +1 -1
- package/dist/extensions/index.d.cts.map +1 -1
- package/dist/extensions/index.d.mts +2 -2
- package/dist/extensions/index.d.mts.map +1 -1
- package/dist/extensions/index.mjs +3 -3
- package/dist/{extensions-CkjPj2JO.cjs → extensions-B6VCxUmi.cjs} +68 -25
- package/dist/{extensions-BvfmaKCn.mjs → extensions-mStGDfMH.mjs} +63 -20
- package/dist/extensions-mStGDfMH.mjs.map +1 -0
- package/dist/{styles-C-cCyJCn.cjs → global-content-C5WjNoMX.cjs} +88 -0
- package/dist/{styles-_TMw3YxC.mjs → global-content-CjA49_jE.mjs} +78 -2
- package/dist/global-content-CjA49_jE.mjs.map +1 -0
- package/dist/{index-C4KcMQ0R.d.cts → index-LCPnE_xx.d.cts} +66 -3
- package/dist/index-LCPnE_xx.d.cts.map +1 -0
- package/dist/{index-CxX7W63O.d.mts → index-i5JdL0UD.d.mts} +67 -4
- package/dist/index-i5JdL0UD.d.mts.map +1 -0
- package/dist/index.cjs +4 -4
- package/dist/index.d.mts +3 -3
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/plugins/index.cjs +1 -5
- package/dist/plugins/index.d.cts +5 -123
- package/dist/plugins/index.d.cts.map +1 -1
- package/dist/plugins/index.d.mts +5 -123
- package/dist/plugins/index.d.mts.map +1 -1
- package/dist/plugins/index.mjs +2 -2
- package/dist/{root-pS4l8bVZ.mjs → root-BVs63m-4.mjs} +39 -39
- package/dist/root-BVs63m-4.mjs.map +1 -0
- package/dist/{root-Jq1R3tkX.cjs → root-D6lslKju.cjs} +2 -2
- package/dist/{set-text-alignment-OA8IMWmO.mjs → set-text-alignment-GMXOPMlJ.mjs} +1 -1
- package/dist/{set-text-alignment-OA8IMWmO.mjs.map → set-text-alignment-GMXOPMlJ.mjs.map} +1 -1
- package/dist/types-BNEbRz-a.d.cts +47 -0
- package/dist/types-BNEbRz-a.d.cts.map +1 -0
- package/dist/types-C8k-blF7.d.mts +47 -0
- package/dist/types-C8k-blF7.d.mts.map +1 -0
- package/dist/ui/index.cjs +645 -2
- package/dist/ui/index.d.cts +307 -128
- package/dist/ui/index.d.cts.map +1 -1
- package/dist/ui/index.d.mts +263 -84
- package/dist/ui/index.d.mts.map +1 -1
- package/dist/ui/index.mjs +630 -3
- package/dist/ui/index.mjs.map +1 -1
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.mjs +1 -1
- package/package.json +2 -2
- package/dist/extension-DyY8_bh4.mjs.map +0 -1
- package/dist/extensions-BvfmaKCn.mjs.map +0 -1
- package/dist/global-content-D_WYaFgX.mjs +0 -78
- package/dist/global-content-D_WYaFgX.mjs.map +0 -1
- package/dist/global-content-bJgotqmA.cjs +0 -89
- package/dist/index-C4KcMQ0R.d.cts.map +0 -1
- package/dist/index-CxX7W63O.d.mts.map +0 -1
- package/dist/root-pS4l8bVZ.mjs.map +0 -1
- package/dist/styles-_TMw3YxC.mjs.map +0 -1
- /package/dist/{set-text-alignment-Cv72txmv.cjs → set-text-alignment-aNb7Ml9N.cjs} +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as getGlobalContent } from "./global-content-D_WYaFgX.mjs";
|
|
1
|
+
import { n as getGlobalContent, r as ensureBorderStyleFallback } from "./global-content-CjA49_jE.mjs";
|
|
3
2
|
import { useEditorState } from "@tiptap/react";
|
|
4
3
|
import { Body, Head, Html, Preview } from "@react-email/components";
|
|
5
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -105,7 +104,47 @@ const THEME_BASIC = [
|
|
|
105
104
|
id: "body",
|
|
106
105
|
title: "Background",
|
|
107
106
|
classReference: "body",
|
|
108
|
-
inputs: [
|
|
107
|
+
inputs: [
|
|
108
|
+
{
|
|
109
|
+
label: "Background",
|
|
110
|
+
type: "color",
|
|
111
|
+
value: "#ffffff",
|
|
112
|
+
prop: "backgroundColor",
|
|
113
|
+
classReference: "body"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
label: "Padding Top",
|
|
117
|
+
type: "number",
|
|
118
|
+
value: 0,
|
|
119
|
+
unit: "px",
|
|
120
|
+
prop: "paddingTop",
|
|
121
|
+
classReference: "body"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
label: "Padding Right",
|
|
125
|
+
type: "number",
|
|
126
|
+
value: 0,
|
|
127
|
+
unit: "px",
|
|
128
|
+
prop: "paddingRight",
|
|
129
|
+
classReference: "body"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
label: "Padding Bottom",
|
|
133
|
+
type: "number",
|
|
134
|
+
value: 0,
|
|
135
|
+
unit: "px",
|
|
136
|
+
prop: "paddingBottom",
|
|
137
|
+
classReference: "body"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
label: "Padding Left",
|
|
141
|
+
type: "number",
|
|
142
|
+
value: 0,
|
|
143
|
+
unit: "px",
|
|
144
|
+
prop: "paddingLeft",
|
|
145
|
+
classReference: "body"
|
|
146
|
+
}
|
|
147
|
+
]
|
|
109
148
|
},
|
|
110
149
|
{
|
|
111
150
|
id: "container",
|
|
@@ -133,11 +172,32 @@ const THEME_BASIC = [
|
|
|
133
172
|
classReference: "container"
|
|
134
173
|
},
|
|
135
174
|
{
|
|
136
|
-
label: "
|
|
175
|
+
label: "Height",
|
|
176
|
+
type: "number",
|
|
177
|
+
unit: "px",
|
|
178
|
+
prop: "height",
|
|
179
|
+
classReference: "container"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
label: "Text",
|
|
183
|
+
type: "color",
|
|
184
|
+
value: "#000000",
|
|
185
|
+
prop: "color",
|
|
186
|
+
classReference: "container"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
label: "Background",
|
|
190
|
+
type: "color",
|
|
191
|
+
value: "#ffffff",
|
|
192
|
+
prop: "backgroundColor",
|
|
193
|
+
classReference: "container"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
label: "Padding Top",
|
|
137
197
|
type: "number",
|
|
138
198
|
value: 0,
|
|
139
199
|
unit: "px",
|
|
140
|
-
prop: "
|
|
200
|
+
prop: "paddingTop",
|
|
141
201
|
classReference: "container"
|
|
142
202
|
},
|
|
143
203
|
{
|
|
@@ -147,6 +207,37 @@ const THEME_BASIC = [
|
|
|
147
207
|
unit: "px",
|
|
148
208
|
prop: "paddingRight",
|
|
149
209
|
classReference: "container"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
label: "Padding Bottom",
|
|
213
|
+
type: "number",
|
|
214
|
+
value: 0,
|
|
215
|
+
unit: "px",
|
|
216
|
+
prop: "paddingBottom",
|
|
217
|
+
classReference: "container"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
label: "Padding Left",
|
|
221
|
+
type: "number",
|
|
222
|
+
value: 0,
|
|
223
|
+
unit: "px",
|
|
224
|
+
prop: "paddingLeft",
|
|
225
|
+
classReference: "container"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
label: "Corner radius",
|
|
229
|
+
type: "number",
|
|
230
|
+
value: 0,
|
|
231
|
+
unit: "px",
|
|
232
|
+
prop: "borderRadius",
|
|
233
|
+
classReference: "container"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
label: "Border color",
|
|
237
|
+
type: "color",
|
|
238
|
+
value: "#000000",
|
|
239
|
+
prop: "borderColor",
|
|
240
|
+
classReference: "container"
|
|
150
241
|
}
|
|
151
242
|
]
|
|
152
243
|
},
|
|
@@ -364,10 +455,206 @@ const THEME_BASIC = [
|
|
|
364
455
|
]
|
|
365
456
|
}
|
|
366
457
|
];
|
|
367
|
-
const THEME_MINIMAL =
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
458
|
+
const THEME_MINIMAL = [
|
|
459
|
+
{
|
|
460
|
+
id: "body",
|
|
461
|
+
title: "Background",
|
|
462
|
+
classReference: "body",
|
|
463
|
+
inputs: [
|
|
464
|
+
{
|
|
465
|
+
label: "Background",
|
|
466
|
+
type: "color",
|
|
467
|
+
value: "#ffffff",
|
|
468
|
+
prop: "backgroundColor",
|
|
469
|
+
classReference: "body"
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
label: "Padding Top",
|
|
473
|
+
type: "number",
|
|
474
|
+
value: 0,
|
|
475
|
+
unit: "px",
|
|
476
|
+
prop: "paddingTop",
|
|
477
|
+
classReference: "body"
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
label: "Padding Right",
|
|
481
|
+
type: "number",
|
|
482
|
+
value: 0,
|
|
483
|
+
unit: "px",
|
|
484
|
+
prop: "paddingRight",
|
|
485
|
+
classReference: "body"
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
label: "Padding Bottom",
|
|
489
|
+
type: "number",
|
|
490
|
+
value: 0,
|
|
491
|
+
unit: "px",
|
|
492
|
+
prop: "paddingBottom",
|
|
493
|
+
classReference: "body"
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
label: "Padding Left",
|
|
497
|
+
type: "number",
|
|
498
|
+
value: 0,
|
|
499
|
+
unit: "px",
|
|
500
|
+
prop: "paddingLeft",
|
|
501
|
+
classReference: "body"
|
|
502
|
+
}
|
|
503
|
+
]
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
id: "container",
|
|
507
|
+
title: "Content",
|
|
508
|
+
classReference: "container",
|
|
509
|
+
inputs: [
|
|
510
|
+
{
|
|
511
|
+
label: "Align",
|
|
512
|
+
type: "select",
|
|
513
|
+
value: "left",
|
|
514
|
+
options: {
|
|
515
|
+
left: "Left",
|
|
516
|
+
center: "Center",
|
|
517
|
+
right: "Right"
|
|
518
|
+
},
|
|
519
|
+
prop: "align",
|
|
520
|
+
classReference: "container"
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
label: "Width",
|
|
524
|
+
type: "number",
|
|
525
|
+
value: 600,
|
|
526
|
+
unit: "px",
|
|
527
|
+
prop: "width",
|
|
528
|
+
classReference: "container"
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
label: "Height",
|
|
532
|
+
type: "number",
|
|
533
|
+
unit: "px",
|
|
534
|
+
prop: "height",
|
|
535
|
+
classReference: "container"
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
label: "Text",
|
|
539
|
+
type: "color",
|
|
540
|
+
value: "#000000",
|
|
541
|
+
prop: "color",
|
|
542
|
+
classReference: "container"
|
|
543
|
+
},
|
|
544
|
+
{
|
|
545
|
+
label: "Background",
|
|
546
|
+
type: "color",
|
|
547
|
+
value: "#ffffff",
|
|
548
|
+
prop: "backgroundColor",
|
|
549
|
+
classReference: "container"
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
label: "Padding Top",
|
|
553
|
+
type: "number",
|
|
554
|
+
value: 0,
|
|
555
|
+
unit: "px",
|
|
556
|
+
prop: "paddingTop",
|
|
557
|
+
classReference: "container"
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
label: "Padding Right",
|
|
561
|
+
type: "number",
|
|
562
|
+
value: 0,
|
|
563
|
+
unit: "px",
|
|
564
|
+
prop: "paddingRight",
|
|
565
|
+
classReference: "container"
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
label: "Padding Bottom",
|
|
569
|
+
type: "number",
|
|
570
|
+
value: 0,
|
|
571
|
+
unit: "px",
|
|
572
|
+
prop: "paddingBottom",
|
|
573
|
+
classReference: "container"
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
label: "Padding Left",
|
|
577
|
+
type: "number",
|
|
578
|
+
value: 0,
|
|
579
|
+
unit: "px",
|
|
580
|
+
prop: "paddingLeft",
|
|
581
|
+
classReference: "container"
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
label: "Corner radius",
|
|
585
|
+
type: "number",
|
|
586
|
+
value: 0,
|
|
587
|
+
unit: "px",
|
|
588
|
+
prop: "borderRadius",
|
|
589
|
+
classReference: "container"
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
label: "Border color",
|
|
593
|
+
type: "color",
|
|
594
|
+
value: "#000000",
|
|
595
|
+
prop: "borderColor",
|
|
596
|
+
classReference: "container"
|
|
597
|
+
}
|
|
598
|
+
]
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
id: "typography",
|
|
602
|
+
title: "Text",
|
|
603
|
+
classReference: "body",
|
|
604
|
+
inputs: []
|
|
605
|
+
},
|
|
606
|
+
{
|
|
607
|
+
id: "h1",
|
|
608
|
+
title: "Title",
|
|
609
|
+
category: "Text",
|
|
610
|
+
classReference: "h1",
|
|
611
|
+
inputs: []
|
|
612
|
+
},
|
|
613
|
+
{
|
|
614
|
+
id: "h2",
|
|
615
|
+
title: "Subtitle",
|
|
616
|
+
category: "Text",
|
|
617
|
+
classReference: "h2",
|
|
618
|
+
inputs: []
|
|
619
|
+
},
|
|
620
|
+
{
|
|
621
|
+
id: "h3",
|
|
622
|
+
title: "Heading",
|
|
623
|
+
category: "Text",
|
|
624
|
+
classReference: "h3",
|
|
625
|
+
inputs: []
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
id: "link",
|
|
629
|
+
title: "Link",
|
|
630
|
+
classReference: "link",
|
|
631
|
+
inputs: []
|
|
632
|
+
},
|
|
633
|
+
{
|
|
634
|
+
id: "image",
|
|
635
|
+
title: "Image",
|
|
636
|
+
classReference: "image",
|
|
637
|
+
inputs: []
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
id: "button",
|
|
641
|
+
title: "Button",
|
|
642
|
+
classReference: "button",
|
|
643
|
+
inputs: []
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
id: "code-block",
|
|
647
|
+
title: "Code Block",
|
|
648
|
+
classReference: "codeBlock",
|
|
649
|
+
inputs: []
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
id: "inline-code",
|
|
653
|
+
title: "Inline Code",
|
|
654
|
+
classReference: "inlineCode",
|
|
655
|
+
inputs: []
|
|
656
|
+
}
|
|
657
|
+
];
|
|
371
658
|
const RESET_BASIC = {
|
|
372
659
|
reset: {
|
|
373
660
|
margin: "0",
|
|
@@ -468,7 +755,9 @@ const RESET_MINIMAL = {
|
|
|
468
755
|
acc[key] = {};
|
|
469
756
|
return acc;
|
|
470
757
|
}, {}),
|
|
471
|
-
reset: RESET_BASIC.reset
|
|
758
|
+
reset: RESET_BASIC.reset,
|
|
759
|
+
button: RESET_BASIC.button,
|
|
760
|
+
image: RESET_BASIC.image
|
|
472
761
|
};
|
|
473
762
|
const RESET_THEMES = {
|
|
474
763
|
basic: RESET_BASIC,
|
|
@@ -927,7 +1216,6 @@ function getMergedCssJs(theme, panelStyles) {
|
|
|
927
1216
|
const RESET_NODE_TYPES = new Set([
|
|
928
1217
|
"body",
|
|
929
1218
|
"bulletList",
|
|
930
|
-
"container",
|
|
931
1219
|
"button",
|
|
932
1220
|
"columns",
|
|
933
1221
|
"div",
|
|
@@ -1106,5 +1394,5 @@ const EmailTheming = Extension.create({
|
|
|
1106
1394
|
});
|
|
1107
1395
|
|
|
1108
1396
|
//#endregion
|
|
1109
|
-
export { resolveResetValue as _, setCurrentTheme as a,
|
|
1110
|
-
//# sourceMappingURL=extension-
|
|
1397
|
+
export { resolveResetValue as _, setCurrentTheme as a, stylesToCss as c, EDITOR_THEMES as d, INBOX_EMAIL_DEFAULTS as f, getThemeBodyFontSizePx as g, getPanelTitle as h, getThemeComponentKey as i, useEmailTheming as l, SUPPORTED_CSS_PROPERTIES as m, getMergedCssJs as n, setGlobalCssInjected as o, RESET_THEMES as p, getResolvedNodeStyles as r, setGlobalStyles as s, EmailTheming as t, DEFAULT_INBOX_FONT_SIZE_PX as u };
|
|
1398
|
+
//# sourceMappingURL=extension-DcToBuV0.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension-DcToBuV0.mjs","names":["acc"],"sources":["../src/plugins/email-theming/css-transforms.ts","../src/plugins/email-theming/themes.ts","../src/plugins/email-theming/normalization.ts","../src/plugins/email-theming/extension.tsx"],"sourcesContent":["import { ensureBorderStyleFallback } from '../../utils/styles';\nimport type { CssJs, PanelGroup } from './types';\n\nexport function transformToCssJs(\n styleArray: PanelGroup[],\n baseFontSize: number,\n): CssJs {\n const cssJS = {} as CssJs;\n\n if (!Array.isArray(styleArray)) {\n return cssJS;\n }\n\n for (const style of styleArray) {\n for (const input of style.inputs) {\n let value = input.value;\n\n // If there's a unit property, append it to the value\n if (input.unit && typeof value === 'number') {\n // if font size prop convert px unit to em to adjust size in mobile\n if (input.prop === 'fontSize') {\n value = `${value / baseFontSize}em`;\n } else {\n value = `${value}${input.unit}`;\n }\n }\n\n if (!input.classReference) {\n continue;\n }\n\n if (!cssJS[input.classReference]) {\n cssJS[input.classReference] = {};\n }\n\n // @ts-expect-error -- backward compatibility: 'h-padding' is a legacy prop not in KnownCssProperties\n if (input.prop === 'h-padding') {\n cssJS[input.classReference].paddingLeft = value;\n cssJS[input.classReference].paddingRight = value;\n\n continue;\n }\n\n // @ts-expect-error -- input.prop is KnownCssProperties but CssJs values are React.CSSProperties; dynamic assignment is intentional\n cssJS[input.classReference][input.prop] = value;\n }\n }\n\n for (const key of Object.keys(cssJS)) {\n ensureBorderStyleFallback(\n cssJS[key as keyof CssJs] as Record<string, string | number>,\n );\n }\n\n return cssJS;\n}\n\nexport function mergeCssJs(original: CssJs, newCssJs: CssJs) {\n const merged = { ...original };\n\n for (const key in newCssJs) {\n const keyType = key as keyof CssJs;\n\n if (\n Object.hasOwn(merged, key) &&\n typeof merged[keyType] === 'object' &&\n !Array.isArray(merged[keyType])\n ) {\n merged[keyType] = {\n ...merged[keyType],\n ...newCssJs[keyType],\n };\n } else {\n merged[keyType] = newCssJs[keyType];\n }\n }\n\n return merged;\n}\n\nexport function injectThemeCss(\n styles: CssJs,\n options: { styleId?: string; scopeSelector?: string } = {},\n) {\n const container =\n options.scopeSelector ?? '.tiptap-extended .tiptap.ProseMirror';\n const prefix = '.node-';\n const styleId = options.styleId ?? 'tiptap-extended-theme-css';\n\n const css = Object.entries(styles).reduce((acc, [key, value]) => {\n const className =\n key === 'body' ? container : `${container} ${prefix}${key}`;\n\n const cssString = Object.entries(value).reduce((acc, [prop, val]) => {\n const normalizeProp = prop.replace(/([A-Z])/g, '-$1').toLowerCase();\n\n return `${acc}${normalizeProp}:${val};`;\n }, '');\n\n return `${acc}${className}{${cssString}}`;\n }, '');\n\n let styleTag = document.getElementById(styleId) as HTMLStyleElement;\n\n if (!styleTag) {\n styleTag = document.createElement('style');\n styleTag.textContent = css;\n styleTag.id = styleId;\n\n document.head.appendChild(styleTag);\n\n return;\n }\n\n styleTag.textContent = css;\n}\n\nexport function injectGlobalPlainCss(\n css?: string | null,\n options: { styleId?: string; scopeSelector?: string } = {},\n) {\n if (!css) {\n return;\n }\n\n const styleId = options.styleId ?? 'global-editor-style';\n const container = options.scopeSelector ?? '.tiptap-extended .ProseMirror';\n let styleElement = document.getElementById(styleId);\n\n if (!styleElement) {\n styleElement = document.createElement('style');\n styleElement.id = styleId;\n document.head.appendChild(styleElement);\n }\n\n // Remove CSS within @media (prefers-color-scheme: dark) blocks\n const cleanedCSS = css.replace(\n /@media\\s?\\(prefers-color-scheme:\\s?dark\\)\\s?{([\\s\\S]+?})\\s*}/g,\n '',\n );\n\n // TODO: Figure out a way to extract the body and apply the styles out of the nested .tiptap-extended\n styleElement.textContent = `${container} { ${cleanedCSS} }`;\n}\n","import type {\n EditorTheme,\n PanelGroup,\n PanelSectionId,\n ResetTheme,\n SupportedCssProperties,\n} from './types';\n\n/**\n * Single source of truth for panel section display titles.\n * Titles are resolved from here at render time via `getPanelTitle`,\n * so they never depend on what's persisted in the DB.\n */\nconst PANEL_SECTION_TITLES: Record<PanelSectionId, string> = {\n body: 'Background',\n container: 'Body',\n typography: 'Text',\n h1: 'Title',\n h2: 'Subtitle',\n h3: 'Heading',\n link: 'Link',\n image: 'Image',\n button: 'Button',\n 'code-block': 'Code Block',\n 'inline-code': 'Inline Code',\n};\n\n/**\n * Resolves the display title for a panel group.\n * Uses the `id` lookup when available, falls back to the\n * DB-persisted `title` for backwards compatibility.\n */\nexport function getPanelTitle(group: PanelGroup): string {\n if (group.id && group.id in PANEL_SECTION_TITLES) {\n return PANEL_SECTION_TITLES[group.id];\n }\n return group.title;\n}\n\nconst THEME_BASIC: PanelGroup[] = [\n {\n id: 'body',\n title: 'Background',\n classReference: 'body',\n inputs: [\n {\n label: 'Background',\n type: 'color',\n value: '#ffffff',\n prop: 'backgroundColor',\n classReference: 'body',\n },\n {\n label: 'Padding Top',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingTop',\n classReference: 'body',\n },\n {\n label: 'Padding Right',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingRight',\n classReference: 'body',\n },\n {\n label: 'Padding Bottom',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingBottom',\n classReference: 'body',\n },\n {\n label: 'Padding Left',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingLeft',\n classReference: 'body',\n },\n ],\n },\n {\n id: 'container',\n title: 'Content',\n classReference: 'container',\n inputs: [\n {\n label: 'Align',\n type: 'select',\n value: 'left',\n options: {\n left: 'Left',\n center: 'Center',\n right: 'Right',\n },\n prop: 'align',\n classReference: 'container',\n },\n {\n label: 'Width',\n type: 'number',\n value: 600,\n unit: 'px',\n prop: 'width',\n classReference: 'container',\n },\n {\n label: 'Height',\n type: 'number',\n unit: 'px',\n prop: 'height',\n classReference: 'container',\n },\n {\n label: 'Text',\n type: 'color',\n value: '#000000',\n prop: 'color',\n classReference: 'container',\n },\n {\n label: 'Background',\n type: 'color',\n value: '#ffffff',\n prop: 'backgroundColor',\n classReference: 'container',\n },\n {\n label: 'Padding Top',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingTop',\n classReference: 'container',\n },\n {\n label: 'Padding Right',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingRight',\n classReference: 'container',\n },\n {\n label: 'Padding Bottom',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingBottom',\n classReference: 'container',\n },\n {\n label: 'Padding Left',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingLeft',\n classReference: 'container',\n },\n {\n label: 'Corner radius',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'borderRadius',\n classReference: 'container',\n },\n {\n label: 'Border color',\n type: 'color',\n value: '#000000',\n prop: 'borderColor',\n classReference: 'container',\n },\n ],\n },\n {\n id: 'typography',\n title: 'Text',\n classReference: 'body',\n inputs: [\n {\n label: 'Font size',\n type: 'number',\n value: 14,\n unit: 'px',\n prop: 'fontSize',\n classReference: 'body',\n },\n {\n label: 'Line Height',\n type: 'number',\n value: 155,\n unit: '%',\n prop: 'lineHeight',\n classReference: 'container',\n },\n ],\n },\n {\n id: 'h1',\n title: 'Title',\n category: 'Text',\n classReference: 'h1',\n inputs: [],\n },\n {\n id: 'h2',\n title: 'Subtitle',\n category: 'Text',\n classReference: 'h2',\n inputs: [],\n },\n {\n id: 'h3',\n title: 'Heading',\n category: 'Text',\n classReference: 'h3',\n inputs: [],\n },\n {\n id: 'link',\n title: 'Link',\n classReference: 'link',\n inputs: [\n {\n label: 'Color',\n type: 'color',\n value: '#0670DB',\n prop: 'color',\n classReference: 'link',\n },\n {\n label: 'Decoration',\n type: 'select',\n value: 'underline',\n prop: 'textDecoration',\n options: {\n underline: 'Underline',\n none: 'None',\n },\n classReference: 'link',\n },\n ],\n },\n {\n id: 'image',\n title: 'Image',\n classReference: 'image',\n inputs: [\n {\n label: 'Border radius',\n type: 'number',\n value: 8,\n unit: 'px',\n prop: 'borderRadius',\n classReference: 'image',\n },\n ],\n },\n {\n id: 'button',\n title: 'Button',\n classReference: 'button',\n inputs: [\n {\n label: 'Background',\n type: 'color',\n value: '#000000',\n prop: 'backgroundColor',\n classReference: 'button',\n },\n {\n label: 'Text color',\n type: 'color',\n value: '#ffffff',\n prop: 'color',\n classReference: 'button',\n },\n {\n label: 'Radius',\n type: 'number',\n value: 4,\n unit: 'px',\n prop: 'borderRadius',\n classReference: 'button',\n },\n {\n label: 'Padding Top',\n type: 'number',\n value: 7,\n unit: 'px',\n prop: 'paddingTop',\n classReference: 'button',\n },\n {\n label: 'Padding Right',\n type: 'number',\n value: 12,\n unit: 'px',\n prop: 'paddingRight',\n classReference: 'button',\n },\n {\n label: 'Padding Bottom',\n type: 'number',\n value: 7,\n unit: 'px',\n prop: 'paddingBottom',\n classReference: 'button',\n },\n {\n label: 'Padding Left',\n type: 'number',\n value: 12,\n unit: 'px',\n prop: 'paddingLeft',\n classReference: 'button',\n },\n ],\n },\n {\n id: 'code-block',\n title: 'Code Block',\n classReference: 'codeBlock',\n inputs: [\n {\n label: 'Border Radius',\n type: 'number',\n value: 4,\n unit: 'px',\n prop: 'borderRadius',\n classReference: 'codeBlock',\n },\n {\n label: 'Padding Top',\n type: 'number',\n value: 12,\n unit: 'px',\n prop: 'paddingTop',\n classReference: 'codeBlock',\n },\n {\n label: 'Padding Bottom',\n type: 'number',\n value: 12,\n unit: 'px',\n prop: 'paddingBottom',\n classReference: 'codeBlock',\n },\n {\n label: 'Padding Left',\n type: 'number',\n value: 16,\n unit: 'px',\n prop: 'paddingLeft',\n classReference: 'codeBlock',\n },\n {\n label: 'Padding Right',\n type: 'number',\n value: 16,\n unit: 'px',\n prop: 'paddingRight',\n classReference: 'codeBlock',\n },\n ],\n },\n {\n id: 'inline-code',\n title: 'Inline Code',\n classReference: 'inlineCode',\n inputs: [\n {\n label: 'Background',\n type: 'color',\n value: '#e5e7eb',\n prop: 'backgroundColor',\n classReference: 'inlineCode',\n },\n {\n label: 'Text color',\n type: 'color',\n value: '#1e293b',\n prop: 'color',\n classReference: 'inlineCode',\n },\n {\n label: 'Radius',\n type: 'number',\n value: 4,\n unit: 'px',\n prop: 'borderRadius',\n classReference: 'inlineCode',\n },\n ],\n },\n];\n\nconst THEME_MINIMAL = [\n {\n id: 'body',\n title: 'Background',\n classReference: 'body',\n inputs: [\n {\n label: 'Background',\n type: 'color',\n value: '#ffffff',\n prop: 'backgroundColor',\n classReference: 'body',\n },\n {\n label: 'Padding Top',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingTop',\n classReference: 'body',\n },\n {\n label: 'Padding Right',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingRight',\n classReference: 'body',\n },\n {\n label: 'Padding Bottom',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingBottom',\n classReference: 'body',\n },\n {\n label: 'Padding Left',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingLeft',\n classReference: 'body',\n },\n ],\n },\n {\n id: 'container',\n title: 'Content',\n classReference: 'container',\n inputs: [\n {\n label: 'Align',\n type: 'select',\n value: 'left',\n options: {\n left: 'Left',\n center: 'Center',\n right: 'Right',\n },\n prop: 'align',\n classReference: 'container',\n },\n {\n label: 'Width',\n type: 'number',\n value: 600,\n unit: 'px',\n prop: 'width',\n classReference: 'container',\n },\n {\n label: 'Height',\n type: 'number',\n unit: 'px',\n prop: 'height',\n classReference: 'container',\n },\n {\n label: 'Text',\n type: 'color',\n value: '#000000',\n prop: 'color',\n classReference: 'container',\n },\n {\n label: 'Background',\n type: 'color',\n value: '#ffffff',\n prop: 'backgroundColor',\n classReference: 'container',\n },\n {\n label: 'Padding Top',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingTop',\n classReference: 'container',\n },\n {\n label: 'Padding Right',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingRight',\n classReference: 'container',\n },\n {\n label: 'Padding Bottom',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingBottom',\n classReference: 'container',\n },\n {\n label: 'Padding Left',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'paddingLeft',\n classReference: 'container',\n },\n {\n label: 'Corner radius',\n type: 'number',\n value: 0,\n unit: 'px',\n prop: 'borderRadius',\n classReference: 'container',\n },\n {\n label: 'Border color',\n type: 'color',\n value: '#000000',\n prop: 'borderColor',\n classReference: 'container',\n },\n ],\n },\n {\n id: 'typography',\n title: 'Text',\n classReference: 'body',\n inputs: [],\n },\n {\n id: 'h1',\n title: 'Title',\n category: 'Text',\n classReference: 'h1',\n inputs: [],\n },\n {\n id: 'h2',\n title: 'Subtitle',\n category: 'Text',\n classReference: 'h2',\n inputs: [],\n },\n {\n id: 'h3',\n title: 'Heading',\n category: 'Text',\n classReference: 'h3',\n inputs: [],\n },\n {\n id: 'link',\n title: 'Link',\n classReference: 'link',\n inputs: [],\n },\n {\n id: 'image',\n title: 'Image',\n classReference: 'image',\n inputs: [],\n },\n {\n id: 'button',\n title: 'Button',\n classReference: 'button',\n inputs: [],\n },\n {\n id: 'code-block',\n title: 'Code Block',\n classReference: 'codeBlock',\n inputs: [],\n },\n {\n id: 'inline-code',\n title: 'Inline Code',\n classReference: 'inlineCode',\n inputs: [],\n },\n];\n\nconst RESET_BASIC: ResetTheme = {\n reset: {\n margin: '0',\n padding: '0',\n },\n body: {\n fontFamily:\n \"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\",\n fontSize: '14px',\n minHeight: '100%',\n lineHeight: '155%',\n },\n container: {},\n h1: {\n fontSize: '2.25em',\n lineHeight: '1.44em',\n paddingTop: '0.389em',\n fontWeight: 600,\n },\n h2: {\n fontSize: '1.8em',\n lineHeight: '1.44em',\n paddingTop: '0.389em',\n fontWeight: 600,\n },\n h3: {\n fontSize: '1.4em',\n lineHeight: '1.08em',\n paddingTop: '0.389em',\n fontWeight: 600,\n },\n paragraph: {\n fontSize: '1em',\n paddingTop: '0.5em',\n paddingBottom: '0.5em',\n },\n list: {\n paddingLeft: '1.1em',\n paddingBottom: '1em',\n },\n nestedList: {\n paddingLeft: '1.1em',\n paddingBottom: '0',\n },\n listItem: {\n marginLeft: '1em',\n marginBottom: '0.3em',\n marginTop: '0.3em',\n },\n listParagraph: { padding: '0', margin: '0' },\n blockquote: {\n borderLeft: '3px solid #acb3be',\n color: '#7e8a9a',\n marginLeft: 0,\n paddingLeft: '0.8em',\n fontSize: '1.1em',\n fontFamily:\n \"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\",\n },\n link: { textDecoration: 'underline' },\n footer: {\n fontSize: '0.8em',\n },\n hr: {\n paddingBottom: '1em',\n borderWidth: '2px',\n },\n image: {\n maxWidth: '100%',\n },\n button: {\n lineHeight: '100%',\n display: 'inline-block',\n },\n inlineCode: {\n paddingTop: '0.25em',\n paddingBottom: '0.25em',\n paddingLeft: '0.4em',\n paddingRight: '0.4em',\n background: '#e5e7eb',\n color: '#1e293b',\n borderRadius: '4px',\n },\n codeBlock: {\n fontFamily: 'monospace',\n fontWeight: '500',\n fontSize: '.92em',\n },\n codeTag: {\n lineHeight: '130%',\n fontFamily: 'monospace',\n fontSize: '.92em',\n },\n section: {\n padding: '10px 20px 10px 20px',\n boxSizing: 'border-box' as const,\n },\n};\n\nconst RESET_MINIMAL: ResetTheme = {\n ...Object.keys(RESET_BASIC).reduce<ResetTheme>((acc, key) => {\n acc[key as keyof ResetTheme] = {};\n return acc;\n }, {} as ResetTheme),\n reset: RESET_BASIC.reset,\n button: RESET_BASIC.button,\n image: RESET_BASIC.image,\n};\n\nexport const RESET_THEMES: Record<EditorTheme, ResetTheme> = {\n basic: RESET_BASIC,\n minimal: RESET_MINIMAL,\n};\n\nexport function resolveResetValue(\n value: string | number | undefined,\n targetUnit: 'px' | '%',\n bodyFontSizePx: number,\n): number | undefined {\n if (value === undefined) {\n return undefined;\n }\n const str = String(value);\n const num = Number.parseFloat(str);\n if (Number.isNaN(num)) {\n return undefined;\n }\n if (str.endsWith('em')) {\n return targetUnit === 'px' ? Math.floor(num * bodyFontSizePx) : num * 100;\n }\n return num;\n}\n\nexport const EDITOR_THEMES: Record<EditorTheme, PanelGroup[]> = {\n minimal: THEME_MINIMAL,\n basic: THEME_BASIC,\n};\n\nexport function getThemeBodyFontSizePx(theme: EditorTheme): number {\n for (const group of EDITOR_THEMES[theme]) {\n if (group.classReference !== 'body') {\n continue;\n }\n for (const input of group.inputs) {\n if (input.prop === 'fontSize' && typeof input.value === 'number') {\n return input.value;\n }\n }\n }\n return 14;\n}\n\n/**\n * Use to make the preview nicer once the theme might miss some\n * important properties to make layout accurate\n */\nexport const DEFAULT_INBOX_FONT_SIZE_PX = 14;\nexport const INBOX_EMAIL_DEFAULTS: Partial<ResetTheme> = {\n body: {\n color: '#000000',\n fontFamily:\n \"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\",\n fontSize: `${DEFAULT_INBOX_FONT_SIZE_PX}px`,\n lineHeight: '155%',\n },\n container: {\n width: 600,\n },\n};\n\nexport const SUPPORTED_CSS_PROPERTIES: SupportedCssProperties = {\n align: {\n label: 'Align',\n type: 'select',\n options: {\n left: 'Left',\n center: 'Center',\n right: 'Right',\n },\n defaultValue: 'left',\n category: 'layout',\n },\n backgroundColor: {\n label: 'Background',\n type: 'color',\n excludeNodes: ['image', 'youtube'],\n defaultValue: '#ffffff',\n category: 'appearance',\n },\n color: {\n label: 'Text color',\n type: 'color',\n excludeNodes: ['image', 'youtube'],\n defaultValue: '#000000',\n category: 'typography',\n },\n fontSize: {\n label: 'Font size',\n type: 'number',\n unit: 'px',\n excludeNodes: ['image', 'youtube'],\n defaultValue: 14,\n category: 'typography',\n },\n fontWeight: {\n label: 'Font weight',\n type: 'select',\n options: {\n 300: 'Light',\n 400: 'Normal',\n 600: 'Semi Bold',\n 700: 'Bold',\n 800: 'Extra Bold',\n },\n excludeNodes: ['image', 'youtube'],\n defaultValue: 400,\n category: 'typography',\n },\n letterSpacing: {\n label: 'Letter spacing',\n type: 'number',\n unit: 'px',\n excludeNodes: ['image', 'youtube'],\n defaultValue: 0,\n category: 'typography',\n },\n lineHeight: {\n label: 'Line height',\n type: 'number',\n unit: '%',\n defaultValue: 155,\n category: 'typography',\n },\n textDecoration: {\n label: 'Text decoration',\n type: 'select',\n options: {\n none: 'None',\n underline: 'Underline',\n 'line-through': 'Line-through',\n },\n defaultValue: 'none',\n category: 'typography',\n },\n borderRadius: {\n label: 'Border Radius',\n type: 'number',\n unit: 'px',\n defaultValue: 8,\n category: 'appearance',\n },\n borderTopLeftRadius: {\n label: 'Border Radius (Top-Left)',\n type: 'number',\n unit: 'px',\n defaultValue: 8,\n category: 'appearance',\n },\n borderTopRightRadius: {\n label: 'Border Radius (Top-Right)',\n type: 'number',\n unit: 'px',\n defaultValue: 8,\n category: 'appearance',\n },\n borderBottomLeftRadius: {\n label: 'Border Radius (Bottom-Left)',\n type: 'number',\n unit: 'px',\n defaultValue: 8,\n category: 'appearance',\n },\n borderBottomRightRadius: {\n label: 'Border Radius (Bottom-Right)',\n type: 'number',\n unit: 'px',\n defaultValue: 8,\n category: 'appearance',\n },\n borderWidth: {\n label: 'Border Width',\n type: 'number',\n unit: 'px',\n defaultValue: 1,\n category: 'appearance',\n },\n borderTopWidth: {\n label: 'Border Top Width',\n type: 'number',\n unit: 'px',\n defaultValue: 1,\n category: 'appearance',\n },\n borderRightWidth: {\n label: 'Border Right Width',\n type: 'number',\n unit: 'px',\n defaultValue: 1,\n category: 'appearance',\n },\n borderBottomWidth: {\n label: 'Border Bottom Width',\n type: 'number',\n unit: 'px',\n defaultValue: 1,\n category: 'appearance',\n },\n borderLeftWidth: {\n label: 'Border Left Width',\n type: 'number',\n unit: 'px',\n defaultValue: 1,\n category: 'appearance',\n },\n borderStyle: {\n label: 'Border Style',\n type: 'select',\n options: {\n solid: 'Solid',\n dashed: 'Dashed',\n dotted: 'Dotted',\n },\n defaultValue: 'solid',\n category: 'appearance',\n },\n borderTopStyle: {\n label: 'Border Top Style',\n type: 'select',\n options: {\n solid: 'Solid',\n dashed: 'Dashed',\n dotted: 'Dotted',\n },\n defaultValue: 'solid',\n category: 'appearance',\n },\n borderRightStyle: {\n label: 'Border Right Style',\n type: 'select',\n options: {\n solid: 'Solid',\n dashed: 'Dashed',\n dotted: 'Dotted',\n },\n defaultValue: 'solid',\n category: 'appearance',\n },\n borderBottomStyle: {\n label: 'Border Bottom Style',\n type: 'select',\n options: {\n solid: 'Solid',\n dashed: 'Dashed',\n dotted: 'Dotted',\n },\n defaultValue: 'solid',\n category: 'appearance',\n },\n borderLeftStyle: {\n label: 'Border Left Style',\n type: 'select',\n options: {\n solid: 'Solid',\n dashed: 'Dashed',\n dotted: 'Dotted',\n },\n defaultValue: 'solid',\n category: 'appearance',\n },\n borderColor: {\n label: 'Border Color',\n type: 'color',\n defaultValue: '#000000',\n category: 'appearance',\n },\n borderTopColor: {\n label: 'Border Top Color',\n type: 'color',\n defaultValue: '#000000',\n category: 'appearance',\n },\n borderRightColor: {\n label: 'Border Right Color',\n type: 'color',\n defaultValue: '#000000',\n category: 'appearance',\n },\n borderBottomColor: {\n label: 'Border Bottom Color',\n type: 'color',\n defaultValue: '#000000',\n category: 'appearance',\n },\n borderLeftColor: {\n label: 'Border Left Color',\n type: 'color',\n defaultValue: '#000000',\n category: 'appearance',\n },\n padding: {\n label: 'Padding',\n type: 'number',\n unit: 'px',\n defaultValue: 8,\n category: 'layout',\n },\n paddingTop: {\n label: 'Padding Top',\n type: 'number',\n unit: 'px',\n defaultValue: 8,\n category: 'layout',\n },\n paddingLeft: {\n label: 'Padding Left',\n type: 'number',\n unit: 'px',\n defaultValue: 8,\n category: 'layout',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n type: 'number',\n unit: 'px',\n defaultValue: 8,\n category: 'layout',\n },\n paddingRight: {\n label: 'Padding Right',\n type: 'number',\n unit: 'px',\n defaultValue: 8,\n category: 'layout',\n },\n width: {\n label: 'Width',\n type: 'number',\n unit: 'px',\n defaultValue: 600,\n category: 'layout',\n },\n height: {\n label: 'Height',\n type: 'number',\n unit: 'px',\n defaultValue: 400,\n category: 'layout',\n },\n};\n","import { EDITOR_THEMES } from './themes';\nimport type {\n EditorTheme,\n KnownThemeComponents,\n PanelGroup,\n PanelSectionId,\n} from './types';\n\nconst PANEL_SECTION_IDS = new Set<PanelSectionId>([\n 'body',\n 'container',\n 'typography',\n 'link',\n 'image',\n 'button',\n 'code-block',\n 'inline-code',\n]);\n\nconst PANEL_SECTION_IDS_BY_TITLE: Record<string, PanelSectionId> = {\n background: 'body',\n body: 'body',\n content: 'container',\n container: 'container',\n typography: 'typography',\n link: 'link',\n image: 'image',\n button: 'button',\n 'code block': 'code-block',\n 'inline code': 'inline-code',\n};\n\nconst PANEL_SECTION_IDS_BY_CLASS_REFERENCE: Partial<\n Record<KnownThemeComponents, PanelSectionId>\n> = {\n container: 'container',\n link: 'link',\n image: 'image',\n button: 'button',\n codeBlock: 'code-block',\n inlineCode: 'inline-code',\n};\n\nfunction isPanelSectionId(value: unknown): value is PanelSectionId {\n return (\n typeof value === 'string' && PANEL_SECTION_IDS.has(value as PanelSectionId)\n );\n}\n\nfunction normalizeTitle(title: string | undefined): string {\n return title?.trim().toLowerCase().replace(/\\s+/g, ' ') ?? '';\n}\n\nfunction resolvePanelSectionId(group: PanelGroup): PanelSectionId | null {\n if (isPanelSectionId(group.id)) {\n return group.id;\n }\n\n const normalizedTitle = normalizeTitle(group.title);\n\n if (group.classReference === 'body') {\n if (normalizedTitle === 'typography') {\n return 'typography';\n }\n\n return 'body';\n }\n\n if (\n group.classReference &&\n PANEL_SECTION_IDS_BY_CLASS_REFERENCE[group.classReference]\n ) {\n return PANEL_SECTION_IDS_BY_CLASS_REFERENCE[group.classReference] ?? null;\n }\n\n return PANEL_SECTION_IDS_BY_TITLE[normalizedTitle] ?? null;\n}\n\nfunction normalizePanelInputs(\n inputs: PanelGroup['inputs'],\n defaultInputs: PanelGroup['inputs'],\n fallbackClassReference?: KnownThemeComponents,\n): PanelGroup['inputs'] {\n if (!Array.isArray(inputs)) {\n return [];\n }\n\n return inputs.map((input) => {\n const defaultInput = defaultInputs.find(\n (candidate) => candidate.prop === input.prop,\n );\n\n return {\n ...defaultInput,\n ...input,\n classReference:\n input.classReference ??\n defaultInput?.classReference ??\n fallbackClassReference,\n };\n });\n}\n\nexport function inferThemeFromPanelStyles(\n panelStyles: PanelGroup[] | null | undefined,\n): EditorTheme | null {\n if (!Array.isArray(panelStyles) || panelStyles.length === 0) {\n return null;\n }\n\n let finalTheme: EditorTheme | null = null;\n for (const group of panelStyles) {\n if (!Array.isArray(group?.inputs)) {\n finalTheme = null;\n break;\n }\n\n if (group.inputs.length !== 0) {\n finalTheme = 'basic';\n break;\n }\n\n finalTheme = 'minimal';\n }\n\n return finalTheme;\n}\n\nexport function normalizeThemePanelStyles(\n theme: EditorTheme,\n panelStyles: PanelGroup[] | null | undefined,\n): PanelGroup[] | null {\n if (!Array.isArray(panelStyles)) {\n return null;\n }\n\n return panelStyles.map((group) => {\n const panelId = resolvePanelSectionId(group);\n\n if (!panelId) {\n return group;\n }\n\n const defaultGroup = EDITOR_THEMES[theme].find(\n (candidate) => candidate.id === panelId,\n );\n\n if (!defaultGroup) {\n return group;\n }\n\n return {\n ...group,\n id: panelId,\n title: defaultGroup.title,\n classReference: defaultGroup.classReference,\n inputs: normalizePanelInputs(\n group.inputs,\n defaultGroup.inputs,\n defaultGroup.classReference,\n ),\n };\n });\n}\n","import { Body, Head, Html, Preview } from '@react-email/components';\nimport type { Editor, JSONContent } from '@tiptap/core';\nimport { Extension } from '@tiptap/core';\nimport { Plugin, PluginKey } from '@tiptap/pm/state';\nimport { useEditorState } from '@tiptap/react';\nimport type * as React from 'react';\nimport type { SerializerPlugin } from '../../core/serializer/serializer-plugin';\nimport { getGlobalContent } from '../../extensions/global-content';\nimport {\n injectGlobalPlainCss,\n injectThemeCss,\n mergeCssJs,\n transformToCssJs,\n} from './css-transforms';\nimport {\n inferThemeFromPanelStyles,\n normalizeThemePanelStyles,\n} from './normalization';\nimport {\n DEFAULT_INBOX_FONT_SIZE_PX,\n EDITOR_THEMES,\n RESET_THEMES,\n} from './themes';\nimport type {\n CssJs,\n EditorTheme,\n KnownThemeComponents,\n PanelGroup,\n} from './types';\n\n/**\n * Maps a document node (type + attrs) to the theme component key used for style lookup.\n * Centralizes all node-type → theme-component knowledge.\n */\nexport function getThemeComponentKey(\n nodeType: string,\n depth: number,\n attrs: Record<string, unknown> = {},\n): KnownThemeComponents | null {\n switch (nodeType) {\n case 'paragraph':\n if (depth > 0) {\n return 'listParagraph';\n }\n return 'paragraph';\n case 'heading': {\n const level = attrs.level as number | undefined;\n return `h${level ?? 1}` as KnownThemeComponents;\n }\n case 'blockquote':\n return 'blockquote';\n case 'button':\n return 'button';\n case 'container':\n return 'container';\n case 'section':\n return 'section';\n case 'footer':\n return 'footer';\n case 'image':\n return 'image';\n case 'youtube':\n case 'twitter':\n return 'image';\n case 'orderedList':\n case 'bulletList':\n if (depth > 0) {\n return 'nestedList';\n }\n return 'list';\n case 'listItem':\n return 'listItem';\n case 'codeBlock':\n return 'codeBlock';\n case 'code':\n return 'inlineCode';\n case 'link':\n return 'link';\n case 'horizontalRule':\n return 'hr';\n default:\n return null;\n }\n}\n\n/**\n * Returns merged theme styles (reset + panel styles) for the given editor.\n * Use when you have editor access and need the full CssJs map.\n */\nexport function getMergedCssJs(\n theme: EditorTheme,\n panelStyles: PanelGroup[] | undefined,\n): CssJs {\n const panels: PanelGroup[] =\n normalizeThemePanelStyles(theme, panelStyles) ?? EDITOR_THEMES[theme];\n const parsed = transformToCssJs(panels, DEFAULT_INBOX_FONT_SIZE_PX);\n const merged = mergeCssJs(RESET_THEMES[theme], parsed);\n\n return merged;\n}\n\n/**\n * Returns resolved React.CSSProperties for a node when you already have merged CssJs\n * (e.g. in the serializer where there is no editor). Centralizes which theme keys\n * apply to which node type.\n */\nconst RESET_NODE_TYPES = new Set([\n 'body',\n 'bulletList',\n 'button',\n 'columns',\n 'div',\n 'h1',\n 'h2',\n 'h3',\n 'list',\n 'listItem',\n 'listParagraph',\n 'nestedList',\n 'orderedList',\n 'table',\n 'paragraph',\n 'tableCell',\n 'tableHeader',\n 'tableRow',\n 'youtube',\n]);\n\nexport function getResolvedNodeStyles(\n node: JSONContent,\n depth: number,\n mergedCssJs: CssJs,\n): React.CSSProperties {\n const key = getThemeComponentKey(node.type ?? '', depth, node.attrs ?? {});\n if (!key) {\n if (RESET_NODE_TYPES.has(node.type ?? '')) {\n return mergedCssJs.reset ?? {};\n }\n return {};\n }\n const component = mergedCssJs[key] ?? {};\n const shouldReset =\n RESET_NODE_TYPES.has(key) || RESET_NODE_TYPES.has(node.type ?? '');\n if (shouldReset) {\n const reset = mergedCssJs.reset ?? {};\n return { ...reset, ...component };\n }\n return { ...component };\n}\n\nexport function stylesToCss(\n styles: PanelGroup[],\n theme: EditorTheme,\n): Record<KnownThemeComponents, React.CSSProperties> {\n const parsed = transformToCssJs(\n normalizeThemePanelStyles(theme, styles) ?? EDITOR_THEMES[theme],\n DEFAULT_INBOX_FONT_SIZE_PX,\n );\n return mergeCssJs(RESET_THEMES[theme], parsed);\n}\n\nfunction getEmailTheming(editor: Editor) {\n const theme = getEmailTheme(editor);\n const normalizedStyles =\n normalizeThemePanelStyles(theme, getEmailStyles(editor)) ??\n EDITOR_THEMES[theme];\n\n return {\n styles: normalizedStyles,\n theme,\n css: getEmailCss(editor),\n };\n}\n\nexport function useEmailTheming(editor: Editor | null) {\n return useEditorState({\n editor,\n selector({ editor: ed }) {\n if (!ed) {\n return null;\n }\n return getEmailTheming(ed);\n },\n });\n}\n\nfunction getEmailStyles(editor: Editor) {\n return getGlobalContent('styles', editor) as PanelGroup[] | null;\n}\n\n/**\n * Sets the global panel styles on the editor document.\n * Persists into the `GlobalContent` node under the `'styles'` key.\n */\nexport function setGlobalStyles(editor: Editor, styles: PanelGroup[]): boolean {\n return editor.commands.setGlobalContent('styles', styles);\n}\n\n/**\n * Sets the current email theme on the editor document.\n * Persists into the `GlobalContent` node under the `'theme'` key.\n */\nexport function setCurrentTheme(editor: Editor, theme: EditorTheme): boolean {\n return editor.commands.setGlobalContent('theme', theme);\n}\n\n/**\n * Sets the global CSS string injected into the email `<head>`.\n * Persists into the `GlobalContent` node under the `'css'` key.\n */\nexport function setGlobalCssInjected(editor: Editor, css: string): boolean {\n return editor.commands.setGlobalContent('css', css);\n}\n\nfunction getEmailTheme(editor: Editor) {\n const extensionTheme = (\n editor.extensionManager.extensions.find(\n (extension) => extension.name === 'theming',\n ) as { options?: { theme?: EditorTheme } }\n )?.options?.theme;\n if (extensionTheme === 'basic' || extensionTheme === 'minimal') {\n return extensionTheme;\n }\n\n const globalTheme = getGlobalContent('theme', editor) as EditorTheme | null;\n if (globalTheme === 'basic' || globalTheme === 'minimal') {\n return globalTheme;\n }\n\n const inferredTheme = inferThemeFromPanelStyles(getEmailStyles(editor));\n if (inferredTheme) {\n return inferredTheme;\n }\n\n return 'basic';\n}\n\nfunction getEmailCss(editor: Editor) {\n return getGlobalContent('css', editor) as string | null;\n}\n\nexport const EmailTheming = Extension.create<{\n theme?: EditorTheme;\n serializerPlugin: SerializerPlugin;\n}>({\n name: 'theming',\n\n addOptions() {\n return {\n theme: undefined as EditorTheme | undefined,\n serializerPlugin: {\n getNodeStyles(node, depth, editor): React.CSSProperties {\n const theming = getEmailTheming(editor);\n\n return getResolvedNodeStyles(\n node,\n depth,\n getMergedCssJs(theming.theme, theming.styles),\n );\n },\n BaseTemplate({ previewText, children, editor }) {\n const { css: globalCss, styles, theme } = getEmailTheming(editor);\n const mergedStyles = getMergedCssJs(theme, styles);\n\n return (\n <Html>\n <Head>\n <meta content=\"width=device-width\" name=\"viewport\" />\n <meta content=\"IE=edge\" httpEquiv=\"X-UA-Compatible\" />\n <meta name=\"x-apple-disable-message-reformatting\" />\n <meta\n content=\"telephone=no,address=no,email=no,date=no,url=no\"\n name=\"format-detection\"\n />\n\n {globalCss && <style>{globalCss}</style>}\n </Head>\n {previewText && previewText !== '' && (\n <Preview>{previewText}</Preview>\n )}\n\n <Body style={mergedStyles.body}>{children}</Body>\n </Html>\n );\n },\n } satisfies SerializerPlugin,\n };\n },\n\n addProseMirrorPlugins() {\n const { editor } = this;\n const scopeId = `tiptap-theme-${Math.random().toString(36).slice(2, 10)}`;\n const scopeAttribute = 'data-editor-theme-scope';\n const scopeSelector = `.tiptap.ProseMirror[${scopeAttribute}=\"${scopeId}\"]`;\n const themeStyleId = `${scopeId}-theme`;\n const globalStyleId = `${scopeId}-global`;\n\n return [\n new Plugin({\n key: new PluginKey('themingStyleInjector'),\n view(view) {\n let prevStyles: PanelGroup[] | null = null;\n let prevTheme: EditorTheme | null = null;\n let prevCss: string | null = null;\n\n view.dom.setAttribute(scopeAttribute, scopeId);\n\n const sync = () => {\n const theme = getEmailTheme(editor);\n const styles = getEmailStyles(editor);\n const resolvedStyles = styles ?? EDITOR_THEMES[theme];\n const css = getEmailCss(editor);\n\n if (styles !== prevStyles || theme !== prevTheme) {\n prevStyles = styles as PanelGroup[] | null;\n prevTheme = theme;\n const mergedCssJs = getMergedCssJs(theme, resolvedStyles);\n injectThemeCss(mergedCssJs, {\n scopeSelector,\n styleId: themeStyleId,\n });\n }\n\n if (css !== prevCss) {\n prevCss = css;\n injectGlobalPlainCss(css, {\n scopeSelector,\n styleId: globalStyleId,\n });\n }\n };\n\n sync();\n\n return {\n update: sync,\n destroy() {\n document.getElementById(themeStyleId)?.remove();\n document.getElementById(globalStyleId)?.remove();\n view.dom.removeAttribute(scopeAttribute);\n },\n };\n },\n }),\n ];\n },\n});\n"],"mappings":"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CN,OAAO;IACP,SAAS;KACP,MAAM;KACN,QAAQ;KACR,OAAO;KACR;IACD,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,gBAAgB;IACjB;GACF;EACF;CACD;EACE,IAAI;EACJ,OAAO;EACP,gBAAgB;EAChB,QAAQ,CACN;GACE,OAAO;GACP,MAAM;GACN,OAAO;GACP,MAAM;GACN,MAAM;GACN,gBAAgB;GACjB,EACD;GACE,OAAO;GACP,MAAM;GACN,OAAO;GACP,MAAM;GACN,MAAM;GACN,gBAAgB;GACjB,CACF;EACF;CACD;EACE,IAAI;EACJ,OAAO;EACP,UAAU;EACV,gBAAgB;EAChB,QAAQ,EAAE;EACX;CACD;EACE,IAAI;EACJ,OAAO;EACP,UAAU;EACV,gBAAgB;EAChB,QAAQ,EAAE;EACX;CACD;EACE,IAAI;EACJ,OAAO;EACP,UAAU;EACV,gBAAgB;EAChB,QAAQ,EAAE;EACX;CACD;EACE,IAAI;EACJ,OAAO;EACP,gBAAgB;EAChB,QAAQ,CACN;GACE,OAAO;GACP,MAAM;GACN,OAAO;GACP,MAAM;GACN,gBAAgB;GACjB,EACD;GACE,OAAO;GACP,MAAM;GACN,OAAO;GACP,MAAM;GACN,SAAS;IACP,WAAW;IACX,MAAM;IACP;GACD,gBAAgB;GACjB,CACF;EACF;CACD;EACE,IAAI;EACJ,OAAO;EACP,gBAAgB;EAChB,QAAQ,CACN;GACE,OAAO;GACP,MAAM;GACN,OAAO;GACP,MAAM;GACN,MAAM;GACN,gBAAgB;GACjB,CACF;EACF;CACD;EACE,IAAI;EACJ,OAAO;EACP,gBAAgB;EAChB,QAAQ;GACN;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACF;EACF;CACD;EACE,IAAI;EACJ,OAAO;EACP,gBAAgB;EAChB,QAAQ;GACN;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACF;EACF;CACD;EACE,IAAI;EACJ,OAAO;EACP,gBAAgB;EAChB,QAAQ;GACN;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACF;EACF;CACF;AAED,MAAM,gBAAgB;CACpB;EACE,IAAI;EACJ,OAAO;EACP,gBAAgB;EAChB,QAAQ;GACN;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACF;EACF;CACD;EACE,IAAI;EACJ,OAAO;EACP,gBAAgB;EAChB,QAAQ;GACN;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;KACP,MAAM;KACN,QAAQ;KACR,OAAO;KACR;IACD,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,gBAAgB;IACjB;GACD;IACE,OAAO;IACP,MAAM;IACN,OAAO;IACP,M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nB,OAAO;EACP,MAAM;EACN,MAAM;EACN,cAAc;EACd,UAAU;EACX;CACD,sBAAsB;EACpB,OAAO;EACP,MAAM;EACN,MAAM;EACN,cAAc;EACd,UAAU;EACX;CACD,wBAAwB;EACtB,OAAO;EACP,MAAM;EACN,MAAM;EACN,cAAc;EACd,UAAU;EACX;CACD,yBAAyB;EACvB,OAAO;EACP,MAAM;EACN,MAAM;EACN,cAAc;EACd,UAAU;EACX;CACD,aAAa;EACX,OAAO;EACP,MAAM;EACN,MAAM;EACN,cAAc;EACd,UAAU;EACX;CACD,gBAAgB;EACd,OAAO;EACP,MAAM;EACN,MAAM;EACN,cAAc;EACd,UAAU;EACX;CACD,kBAAkB;EAChB,OAAO;EACP,MAAM;EACN,MAAM;EACN,cAAc;EACd,UAAU;EACX;CACD,mBAAmB;EACjB,OAAO;EACP,MAAM;EACN,MAAM;EACN,cAAc;EACd,UAAU;EACX;CACD,iBAAiB;EACf,OAAO;EACP,MAAM;EACN,MAAM;EACN,cAAc;EACd,UAAU;EACX;CACD,aAAa;EACX,OAAO;EACP,MAAM;EACN,SAAS;GACP,OAAO;GACP,QAAQ;GACR,QAAQ;GACT;EACD,cAAc;EACd,UAAU;EACX;CACD,gBAAgB;EACd,OAAO;EACP,MAAM;EACN,SAAS;GACP,OAAO;GACP,QAAQ;GACR,QAAQ;GACT;EACD,cAAc;EACd,UAAU;EACX;CACD,kBAAkB;EAChB,OAAO;EACP,MAAM;EACN,SAAS;GACP,OAAO;GACP,QAAQ;GACR,QAAQ;GACT;EACD,cAAc;EACd,UAAU;EACX;CACD,mBAAmB;EACjB,OAAO;EACP,MAAM;EACN,SAAS;GACP,OAAO;GACP,QAAQ;GACR,QAAQ;GACT;EACD,cAAc;EACd,UAAU;EACX;CACD,iBAAiB;EACf,OAAO;EACP,MAAM;EACN,SAAS;GACP,OAAO;GACP,QAAQ;GACR,QAAQ;GACT;EACD,cAAc;EACd,UAAU;EACX;CACD,aAAa;EACX,OAAO;EACP,MAAM;EACN,cAAc;EACd,UAAU;EACX;CACD,gBAAgB;EACd,OAAO;EACP,MAAM;EACN,cAAc;E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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const require_event_bus = require('../event-bus-
|
|
2
|
-
const require_extensions = require('../extensions-
|
|
3
|
-
const require_global_content = require('../global-content-
|
|
1
|
+
const require_event_bus = require('../event-bus-BJn1dJM1.cjs');
|
|
2
|
+
const require_extensions = require('../extensions-B6VCxUmi.cjs');
|
|
3
|
+
const require_global_content = require('../global-content-C5WjNoMX.cjs');
|
|
4
4
|
|
|
5
5
|
exports.AlignmentAttribute = require_extensions.AlignmentAttribute;
|
|
6
6
|
exports.Blockquote = require_extensions.Blockquote;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as EmailNode, d as EmailMark } from "../index-LCPnE_xx.cjs";
|
|
2
2
|
import { Node } from "@tiptap/pm/model";
|
|
3
3
|
import { Editor, Extension, Node as Node$1, ParentConfig } from "@tiptap/core";
|
|
4
4
|
import { BlockquoteOptions } from "@tiptap/extension-blockquote";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/extensions/alignment-attribute.tsx","../../src/extensions/body.tsx","../../src/extensions/bold.tsx","../../src/extensions/button.tsx","../../src/extensions/class-attribute.tsx","../../src/extensions/code-block.tsx","../../src/extensions/container.tsx","../../src/extensions/div.tsx","../../src/extensions/divider.tsx","../../src/extensions/global-content.ts","../../src/extensions/heading.tsx","../../src/extensions/link.tsx","../../src/extensions/max-nesting.ts","../../src/extensions/placeholder.ts","../../src/extensions/preview-text.ts","../../src/extensions/section.tsx","../../src/extensions/style-attribute.tsx","../../src/extensions/sup.tsx","../../src/extensions/table.tsx","../../src/extensions/trailing-node.tsx","../../src/extensions/underline.tsx","../../src/extensions/uppercase.tsx","../../src/extensions/blockquote.tsx","../../src/extensions/bullet-list.tsx","../../src/extensions/code.tsx","../../src/extensions/columns.tsx","../../src/extensions/hard-break.tsx","../../src/extensions/italic.tsx","../../src/extensions/list-item.tsx","../../src/extensions/ordered-list.tsx","../../src/extensions/paragraph.tsx","../../src/extensions/preserved-style.tsx","../../src/extensions/strike.tsx","../../src/extensions/text.tsx","../../src/extensions/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;UAEiB,gBAAA;;;;;;;;;;2CAW0B;;;;cAK9B,oBAAkB,UAAA;;;UCTd,WAAA;kBACC;;cAGL,MAAI,UAAA,aAAA;;;KCTL,WAAA,GAAc;cAqBb,MAAM,UAAU;;;UChBZ,mBAAA;kBACC;;;;;;uBAOK;iCACU,4BAA4B;;;;cAKhD,QAAM,UAAA,qBAAA;;;UCrBF,qBAAA;;;;;;;;;;uCAWsB;;;;wBAIf;;;;cAKX,gBAAc,UAAA;;;UCVV,qBAAA,SAA8B;;;;cAKlC,gBAAc,UAAA;;;UCgCV,gBAAA;kBACC;;cAGL,WAAS,UAAA,kBAAA;;;UC5CL,UAAA;kBACC;;cAGL,KAAG,UAAA,YAAA;;;KCRJ,cAAA,GAAiB;cAMhB,SAAS,UAAU;;;UCPf,oBAAA;;QAET;;;;uDAK+C;;;mBAIpC,cAAc;;;iBAoCjB,gBAAA,sBAAsC;cAQzC,eAAa,OAAA;;;KCvDd,cAAA,GAAiB;cAWhB,SAAS,UAAU;;;KCXpB,WAAA,GAAc;cAOb,MAAM,UAAU;;;UCPZ,iBAAA;;;;cAKJ,YAAU,UAAA;;;UCJN,kBAAA;;UACyB;;;;cAI7B,aAAa,UAAU;;;UCRnB,kBAAA;kBACC;;cAGL,aAAW,OAAA;;;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/extensions/alignment-attribute.tsx","../../src/extensions/body.tsx","../../src/extensions/bold.tsx","../../src/extensions/button.tsx","../../src/extensions/class-attribute.tsx","../../src/extensions/code-block.tsx","../../src/extensions/container.tsx","../../src/extensions/div.tsx","../../src/extensions/divider.tsx","../../src/extensions/global-content.ts","../../src/extensions/heading.tsx","../../src/extensions/link.tsx","../../src/extensions/max-nesting.ts","../../src/extensions/placeholder.ts","../../src/extensions/preview-text.ts","../../src/extensions/section.tsx","../../src/extensions/style-attribute.tsx","../../src/extensions/sup.tsx","../../src/extensions/table.tsx","../../src/extensions/trailing-node.tsx","../../src/extensions/underline.tsx","../../src/extensions/uppercase.tsx","../../src/extensions/blockquote.tsx","../../src/extensions/bullet-list.tsx","../../src/extensions/code.tsx","../../src/extensions/columns.tsx","../../src/extensions/hard-break.tsx","../../src/extensions/italic.tsx","../../src/extensions/list-item.tsx","../../src/extensions/ordered-list.tsx","../../src/extensions/paragraph.tsx","../../src/extensions/preserved-style.tsx","../../src/extensions/strike.tsx","../../src/extensions/text.tsx","../../src/extensions/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;UAEiB,gBAAA;;;;;;;;;;2CAW0B;;;;cAK9B,oBAAkB,UAAA;;;UCTd,WAAA;kBACC;;cAGL,MAAI,UAAA,aAAA;;;KCTL,WAAA,GAAc;cAqBb,MAAM,UAAU;;;UChBZ,mBAAA;kBACC;;;;;;uBAOK;iCACU,4BAA4B;;;;cAKhD,QAAM,UAAA,qBAAA;;;UCrBF,qBAAA;;;;;;;;;;uCAWsB;;;;wBAIf;;;;cAKX,gBAAc,UAAA;;;UCVV,qBAAA,SAA8B;;;;cAKlC,gBAAc,UAAA;;;UCgCV,gBAAA;kBACC;;cAGL,WAAS,UAAA,kBAAA;;;UC5CL,UAAA;kBACC;;cAGL,KAAG,UAAA,YAAA;;;KCRJ,cAAA,GAAiB;cAMhB,SAAS,UAAU;;;UCPf,oBAAA;;QAET;;;;uDAK+C;;;mBAIpC,cAAc;;;iBAoCjB,gBAAA,sBAAsC;cAQzC,eAAa,OAAA;;;KCvDd,cAAA,GAAiB;cAWhB,SAAS,UAAU;;;KCXpB,WAAA,GAAc;cAOb,MAAM,UAAU;;;UCPZ,iBAAA;;;;cAKJ,YAAU,UAAA;;;UCJN,kBAAA;;UACyB;;;;cAI7B,aAAa,UAAU;;;UCRnB,kBAAA;kBACC;;cAGL,aAAW,OAAA;;;UCMP,cAAA;kBACC;;;;;;2BAOS;;;;cAKd,SAAO,UAAA,gBAAA;;;UCvBH,qBAAA;;;;;;;;;;mCAWkB;;;;wBAIX;;;;cAKX,gBAAc,UAAA;;;KClBf,UAAA,GAAa;;;;;;;oBAQL;;;;uBAIG;;;;sBAID;;;;cA8BT,KAAK,UAAU;;;;;;;;;;;;eCzBT;eACA;cACD,aAAa,WAAW;;;;UAKzB,YAAA;kBACC;;cAGL,OAAK,UAAA,cAAA;UAwED,eAAA,SAAwB;mBACtB;AlB3GnB;AAGC,ckB2GY,QlB3GZ,EkB2GoB,SlB3GpB,CkB2GoB,elB3GpB,EkB2GoB,MlB3GpB,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAAA,UkBqKgB,gBAAA,SAAyB,MlBrKzC,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA;EAAA,cAQ0C,CAAA,EkB8JxB,MlB9JwB,CAAA,MAAU,EAAA,OAAA,CAAA;;AAAA,ckBiKxC,SlBjKwC,EkBiK/B,SlBjK+B,CkBiK/B,gBlBjK+B,EkBiK/B,MlBjK+B,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAKxC,ckByNA,WlBtIX,EkBsIsB,MlBzNO,CAAA,GAAA,EAAA,GAAA,CAAA;;;cmBZlB,oBAAA;;;;;;UAqBI,mBAAA;;;;;;;;;;;;;;;;;AnBzBjB;AAGC;;;;;AAaD;;;cmBoCa,cAAY,UAAA;;;KClDb,gBAAA,GAAmB;cAElB,WAAW,UAAU;;;UCHjB,gBAAA;kBACC;;;;;0BAMQ;6BACG;4BACD;;;;cAKf,WAAS,UAAA,kBAAA;;;cCXT,YAAY,UAAU;;;cCDtB,YAAY,UAAU;;;cCDtB,MAAI,UAIf,uBAAA,CAJe,WAAA;;;;;;2CCW0B;;;;cAK9B;cAQA,iBAAA;iBAEG,eAAA,MAAqB;cA2HxB,YAAU,UAAA,uBAAA;cACV,cAAY,UAAA,uBAAA;cACZ,aAAW,UAAA,uBAAA;cAEX,eAAa,UAAA,uBAAA;;;cCzJb,WAAW,UAAU;;;cCArB,QAAQ,UAAU;;;cCElB,UAAU,UAAU;;;cCDpB,aAAa,UAAU;;;cCCvB,WAAW,UAAU;;;cCFrB,gBAAc,UAAA,uBAAA;;;;;;iBA4FX,sBAAA;;;cC5FH,QAAQ,UAAU;;;cCDlB,MAAI;;;A7BEhB,K8BmJW,iBAAA,G9BnJX;EAAA,cAAA,E8BoJiB,O9BpJjB,C8BoJyB,qB9BpJzB,CAAA,GAAA,KAAA;EAAA,IAAA,E8BqJO,O9BrJP,C8BqJe,W9B7IuB,CAIf,GAAA,KAAA;EAAU,UAAA,E8B0IpB,O9B1IoB,C8B0IZ,M9B1IY,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA,GAAA,KAAA;EAAA,YAAA,E8B2IlB,O9B3IkB,C8B2IV,M9B3IU,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA,GAAA,KAAA;EAKrB,WAAA,E8BuIE,O9B9Eb,C8B8EqB,M9B9ErB,CAAA,MAzDyB,EAAA,KAAA,CAAA,CAAA,GAAA,KAAA;iB8BwIV,QAAQ;aACZ,QAAQ;cACP,QAAQ;E7BpJL,WAAA,E6BqJF,O7BrJE,C6BqJM,kB7BrJwB,CAAA,GAAA,KAAA;EAKlC,YAAA,E6BiJG,O7BmBf,C6BnBuB,mB7BjJG,CAAA,GAAA,KAAA;c6BkJb,QAAQ;YACV,QAAQ;aACP,QAAQ;E5BpHJ,MAAA,E4BqHP,O5BrHO,C4BqHC,a5BrHe,CAAA,GACf,KAAM;EAGX,WAAA,E4BkHE,O5BiBb,C4BjBqB,kB5BiBrB,CAAA,GAAA,KAAA;EAnIoB,WAAA,E4BmHP,O5BnHO,C4BmHC,kB5BnHD,CAAA,GAAA,KAAA;EAAA,IAAA,E4BoHd,O5BpHc,C4BoHN,W5BpHM,CAAA,GAAA,KAAA;EAAA,MAAA,E4BqHZ,O5BrHY,C4BqHJ,a5BrHI,CAAA,GAAA,KAAA;EAAA,OAAA,E4BsHX,O5BtHW,C4BsHH,c5BtHG,CAAA,GAAA,KAAA;W4BuHX,QAAQ;QACX,QAAQ;OACT,QAAQ;E3BrKE,SAAA,E2BsKJ,O3BtKc,C2BsKN,gB3BrKG,CAAA,GAAA,KAAA;EAGX,SA+DX,E2BoGW,O3BpGX,C2BoGmB,gB3BpGnB,CAAA,GAAA,KAAA;EA/Dc,cAAA,E2BoKE,O3BpKF,C2BoKU,M3BpKV,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA,GAAA,KAAA;EAAA,KAAA,E2BqKP,O3BrKO,C2BqKC,Y3BrKD,CAAA,GAAA,KAAA;EAAA,QAAA,E2BsKJ,O3BtKI,C2BsKI,e3BtKJ,CAAA,GAAA,KAAA;EAAA,SAAA,E2BuKH,O3BvKG,C2BuKK,gB3BvKL,CAAA,GAAA,KAAA;e2BwKD,QAAQ;QACf,QAAQ;aACH,QAAQ;E1BlLT,GAAA,E0BmLL,O1BnLK,C0BmLG,U1BnLW,CAAA,GAAA,KAAG;EAMhB,IAAA,E0B8KL,M1BtHP,CAAA,MAAA,EAAA,KAxD+B,CAAA,GAAA,KAAA;U0B+KtB,QAAQ;WACP,QAAQ;iBACF,QAAQ;EzBxLR,kBAAA,EyByLK,OzBzLe,CyByLP,gBzBvLhB,CAAA,GAAA,KAAA;EACb,cAAA,EyBuLiB,OzBvLjB,CyBuLyB,qBzBvLzB,CAAA,GAAA,KAAA;EAAA,cAAA,EyBwLiB,OzBxLjB,CyBwLyB,qBzBxLzB,CAAA,GAAA,KAAA;EAAA,UAAA,EyByLa,OzBzLb,CyByLqB,iBzBzLrB,CAAA,GAAA,KAAA;EAIsD,gBAAA,EyBsLnC,OzBtLmC,CyBsL3B,mBzBtL2B,CAAA,GAAA,KAAA;;AAIpC,cyBqLN,UzBrLM,EyBqLI,SzBrLJ,CyBqLI,iBzBrLJ,EAAA,GAAA,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "../create-paste-handler-
|
|
1
|
+
import { c as EmailNode, d as EmailMark } from "../index-i5JdL0UD.mjs";
|
|
2
|
+
import "../create-paste-handler-DsJYKisA.mjs";
|
|
3
3
|
import { Editor, Extension, Node, ParentConfig } from "@tiptap/core";
|
|
4
4
|
import { StarterKitOptions as StarterKitOptions$1 } from "@tiptap/starter-kit";
|
|
5
5
|
import { BlockquoteOptions } from "@tiptap/extension-blockquote";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/extensions/alignment-attribute.tsx","../../src/extensions/body.tsx","../../src/extensions/bold.tsx","../../src/extensions/button.tsx","../../src/extensions/class-attribute.tsx","../../src/extensions/code-block.tsx","../../src/extensions/container.tsx","../../src/extensions/div.tsx","../../src/extensions/divider.tsx","../../src/extensions/global-content.ts","../../src/extensions/heading.tsx","../../src/extensions/link.tsx","../../src/extensions/max-nesting.ts","../../src/extensions/placeholder.ts","../../src/extensions/preview-text.ts","../../src/extensions/section.tsx","../../src/extensions/style-attribute.tsx","../../src/extensions/sup.tsx","../../src/extensions/table.tsx","../../src/extensions/trailing-node.tsx","../../src/extensions/underline.tsx","../../src/extensions/uppercase.tsx","../../src/extensions/blockquote.tsx","../../src/extensions/bullet-list.tsx","../../src/extensions/code.tsx","../../src/extensions/columns.tsx","../../src/extensions/hard-break.tsx","../../src/extensions/italic.tsx","../../src/extensions/list-item.tsx","../../src/extensions/ordered-list.tsx","../../src/extensions/paragraph.tsx","../../src/extensions/preserved-style.tsx","../../src/extensions/strike.tsx","../../src/extensions/text.tsx","../../src/extensions/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;UAEiB,gBAAA;;;;;;;;;;2CAW0B;;;;cAK9B,oBAAkB,UAAA;;;UCTd,WAAA;kBACC;;cAGL,MAAI,UAAA,aAAA;;;KCTL,WAAA,GAAc;cAqBb,MAAM,UAAU;;;UChBZ,mBAAA;kBACC;;;;;;uBAOK;iCACU,4BAA4B;;;;cAKhD,QAAM,UAAA,qBAAA;;;UCrBF,qBAAA;;;;;;;;;;uCAWsB;;;;wBAIf;;;;cAKX,gBAAc,UAAA;;;UCVV,qBAAA,SAA8B;;;;cAKlC,gBAAc,UAAA;;;UCgCV,gBAAA;kBACC;;cAGL,WAAS,UAAA,kBAAA;;;UC5CL,UAAA;kBACC;;cAGL,KAAG,UAAA,YAAA;;;KCRJ,cAAA,GAAiB;cAMhB,SAAS,UAAU;;;UCPf,oBAAA;;QAET;;;;uDAK+C;;;mBAIpC,cAAc;;;iBAoCjB,gBAAA,sBAAsC;cAQzC,eAAa,KAAA;;;KCvDd,cAAA,GAAiB;cAWhB,SAAS,UAAU;;;KCXpB,WAAA,GAAc;cAOb,MAAM,UAAU;;;UCPZ,iBAAA;;;;cAKJ,YAAU,UAAA;;;UCJN,kBAAA;;UACyB;;;;cAI7B,aAAa,UAAU;;;UCRnB,kBAAA;kBACC;;cAGL,aAAW,KAAA;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/extensions/alignment-attribute.tsx","../../src/extensions/body.tsx","../../src/extensions/bold.tsx","../../src/extensions/button.tsx","../../src/extensions/class-attribute.tsx","../../src/extensions/code-block.tsx","../../src/extensions/container.tsx","../../src/extensions/div.tsx","../../src/extensions/divider.tsx","../../src/extensions/global-content.ts","../../src/extensions/heading.tsx","../../src/extensions/link.tsx","../../src/extensions/max-nesting.ts","../../src/extensions/placeholder.ts","../../src/extensions/preview-text.ts","../../src/extensions/section.tsx","../../src/extensions/style-attribute.tsx","../../src/extensions/sup.tsx","../../src/extensions/table.tsx","../../src/extensions/trailing-node.tsx","../../src/extensions/underline.tsx","../../src/extensions/uppercase.tsx","../../src/extensions/blockquote.tsx","../../src/extensions/bullet-list.tsx","../../src/extensions/code.tsx","../../src/extensions/columns.tsx","../../src/extensions/hard-break.tsx","../../src/extensions/italic.tsx","../../src/extensions/list-item.tsx","../../src/extensions/ordered-list.tsx","../../src/extensions/paragraph.tsx","../../src/extensions/preserved-style.tsx","../../src/extensions/strike.tsx","../../src/extensions/text.tsx","../../src/extensions/index.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as Div, B as AlignmentAttribute, C as processStylesForUnlink, D as Divider, E as HardBreak, F as Button, I as BulletList, L as Bold, M as CodeBlockPrism, N as Code, P as ClassAttribute, R as Body, S as PreservedStyle, T as Heading, _ as Paragraph, a as skipTrailingNodeMeta, b as ListItem, c as TableCell, d as Sup, f as StyleAttribute, g as Placeholder, h as PreviewText, i as TrailingNode, j as Container, l as TableHeader, m as Section, n as Uppercase, o as Text, p as Strike, r as Underline, s as Table, t as StarterKit, u as TableRow, v as OrderedList, w as Italic, x as Link, y as MaxNesting, z as Blockquote } from "../extensions-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { A as Div, B as AlignmentAttribute, C as processStylesForUnlink, D as Divider, E as HardBreak, F as Button, I as BulletList, L as Bold, M as CodeBlockPrism, N as Code, P as ClassAttribute, R as Body, S as PreservedStyle, T as Heading, _ as Paragraph, a as skipTrailingNodeMeta, b as ListItem, c as TableCell, d as Sup, f as StyleAttribute, g as Placeholder, h as PreviewText, i as TrailingNode, j as Container, l as TableHeader, m as Section, n as Uppercase, o as Text, p as Strike, r as Underline, s as Table, t as StarterKit, u as TableRow, v as OrderedList, w as Italic, x as Link, y as MaxNesting, z as Blockquote } from "../extensions-mStGDfMH.mjs";
|
|
2
|
+
import { n as getGlobalContent, t as GlobalContent } from "../global-content-CjA49_jE.mjs";
|
|
3
|
+
import { a as FourColumns, c as TwoColumns, i as ColumnsColumn, l as getColumnsDepth, o as MAX_COLUMNS_DEPTH, r as COLUMN_PARENT_TYPES, s as ThreeColumns } from "../event-bus-DJpnfDHw.mjs";
|
|
4
4
|
|
|
5
5
|
export { AlignmentAttribute, Blockquote, Body, Bold, BulletList, Button, COLUMN_PARENT_TYPES, ClassAttribute, Code, CodeBlockPrism, ColumnsColumn, Container, Div, Divider, FourColumns, GlobalContent, HardBreak, Heading, Italic, Link, ListItem, MAX_COLUMNS_DEPTH, MaxNesting, OrderedList, Paragraph, Placeholder, PreservedStyle, PreviewText, Section, StarterKit, Strike, StyleAttribute, Sup, Table, TableCell, TableHeader, TableRow, Text, ThreeColumns, TrailingNode, TwoColumns, Underline, Uppercase, getColumnsDepth, getGlobalContent, processStylesForUnlink, skipTrailingNodeMeta };
|