@react-email/editor 0.0.0-experimental.39 → 0.0.0-experimental.40

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.
Files changed (34) hide show
  1. package/dist/core/index.cjs +1 -1
  2. package/dist/core/index.mjs +1 -1
  3. package/dist/{extension-CnC8y63H.mjs → extension-DyY8_bh4.mjs} +8 -17
  4. package/dist/{extension-CnC8y63H.mjs.map → extension-DyY8_bh4.mjs.map} +1 -1
  5. package/dist/{extension-dGpPpEvD.cjs → extension-w5VaUeSw.cjs} +6 -15
  6. package/dist/extensions/index.cjs +6 -3
  7. package/dist/extensions/index.d.cts +44 -1
  8. package/dist/extensions/index.d.cts.map +1 -1
  9. package/dist/extensions/index.d.mts +44 -1
  10. package/dist/extensions/index.d.mts.map +1 -1
  11. package/dist/extensions/index.mjs +3 -3
  12. package/dist/{extensions-DWsu9kwZ.mjs → extensions-BvfmaKCn.mjs} +196 -22
  13. package/dist/extensions-BvfmaKCn.mjs.map +1 -0
  14. package/dist/{extensions-aMMnHcs9.cjs → extensions-CkjPj2JO.cjs} +211 -19
  15. package/dist/{global-content-5rAU84QT.mjs → global-content-D_WYaFgX.mjs} +2 -2
  16. package/dist/global-content-D_WYaFgX.mjs.map +1 -0
  17. package/dist/{global-content-62RO9uoQ.cjs → global-content-bJgotqmA.cjs} +1 -1
  18. package/dist/index-C4KcMQ0R.d.cts.map +1 -1
  19. package/dist/index-CxX7W63O.d.mts.map +1 -1
  20. package/dist/index.cjs +2 -2
  21. package/dist/index.mjs +2 -2
  22. package/dist/plugins/index.cjs +1 -1
  23. package/dist/plugins/index.d.cts +6 -6
  24. package/dist/plugins/index.d.cts.map +1 -1
  25. package/dist/plugins/index.d.mts +6 -6
  26. package/dist/plugins/index.d.mts.map +1 -1
  27. package/dist/plugins/index.mjs +1 -1
  28. package/dist/ui/index.d.cts +70 -70
  29. package/dist/ui/index.d.cts.map +1 -1
  30. package/dist/ui/index.d.mts +70 -70
  31. package/dist/ui/index.d.mts.map +1 -1
  32. package/package.json +11 -5
  33. package/dist/extensions-DWsu9kwZ.mjs.map +0 -1
  34. package/dist/global-content-5rAU84QT.mjs.map +0 -1
@@ -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/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/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
+ {"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 Code, C as Heading, F as Body, I as Blockquote, L as AlignmentAttribute, M as Button, N as BulletList, O as Div, P as Bold, S as Italic, T as Divider, _ as MaxNesting, a as Table, b as PreservedStyle, c as TableRow, d as Strike, f as Section, g as OrderedList, h as Paragraph, i as Text, j as ClassAttribute, k as CodeBlockPrism, l as Sup, m as Placeholder, n as Uppercase, o as TableCell, p as PreviewText, r as Underline, s as TableHeader, t as StarterKit, u as StyleAttribute, v as ListItem, w as HardBreak, x as processStylesForUnlink, y as Link } from "../extensions-DWsu9kwZ.mjs";
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-BvfmaKCn.mjs";
2
2
  import { a as MAX_COLUMNS_DEPTH, c as getColumnsDepth, i as FourColumns, n as COLUMN_PARENT_TYPES, o as ThreeColumns, r as ColumnsColumn, s as TwoColumns } from "../event-bus-CHEzOS_O.mjs";
3
- import { n as getGlobalContent, t as GlobalContent } from "../global-content-5rAU84QT.mjs";
3
+ import { n as getGlobalContent, t as GlobalContent } from "../global-content-D_WYaFgX.mjs";
4
4
 
5
- export { AlignmentAttribute, Blockquote, Body, Bold, BulletList, Button, COLUMN_PARENT_TYPES, ClassAttribute, Code, CodeBlockPrism, ColumnsColumn, 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, TwoColumns, Underline, Uppercase, getColumnsDepth, getGlobalContent, processStylesForUnlink };
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 };
@@ -1,12 +1,12 @@
1
1
  import { n as inlineCssToJs, r as resolveConflictingStyles } from "./styles-_TMw3YxC.mjs";
2
2
  import { d as TABLE_ATTRIBUTES, f as TABLE_CELL_ATTRIBUTES, h as EmailNode, i as FourColumns, l as COMMON_HTML_ATTRIBUTES, m as createStandardAttributes, o as ThreeColumns, p as TABLE_HEADER_ATTRIBUTES, r as ColumnsColumn, s as TwoColumns, t as editorEventBus, u as LAYOUT_ATTRIBUTES } from "./event-bus-CHEzOS_O.mjs";
3
- import { t as GlobalContent } from "./global-content-5rAU84QT.mjs";
3
+ import { t as GlobalContent } from "./global-content-D_WYaFgX.mjs";
4
4
  import { UndoRedo } from "@tiptap/extensions";
5
5
  import { NodeViewContent, NodeViewWrapper, ReactNodeViewRenderer, useEditor, useEditorState } from "@tiptap/react";
6
6
  import * as React from "react";
7
7
  import { generateJSON } from "@tiptap/html";
8
8
  import * as ReactEmailComponents from "@react-email/components";
9
- import { Body, Button, CodeBlock, Column, Head, Heading, Hr, Html, Link, Preview, Row, Section, pretty, render, toPlainText } from "@react-email/components";
9
+ import { Body, Button, CodeBlock, Column, Container, Head, Heading, Hr, Html, Link, Preview, Row, Section, pretty, render, toPlainText } from "@react-email/components";
10
10
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
11
  import { Extension, InputRule, Mark, Node as Node$1, findChildren, mergeAttributes } from "@tiptap/core";
12
12
  import TipTapStarterKit from "@tiptap/starter-kit";
@@ -179,14 +179,7 @@ function DefaultBaseTemplate({ children, previewText }) {
179
179
  })
180
180
  ] }),
181
181
  previewText && previewText !== "" && /* @__PURE__ */ jsx(Preview, { children: previewText }),
182
- /* @__PURE__ */ jsx(Body, { children: /* @__PURE__ */ jsx(Section, {
183
- width: "100%",
184
- align: "center",
185
- children: /* @__PURE__ */ jsx(Section, {
186
- style: { width: "100%" },
187
- children
188
- })
189
- }) })
182
+ /* @__PURE__ */ jsx(Body, { children })
190
183
  ] });
191
184
  }
192
185
 
@@ -800,6 +793,107 @@ const CodeBlockPrism = EmailNode.from(CodeBlock$1.extend({
800
793
  });
801
794
  });
802
795
 
796
+ //#endregion
797
+ //#region src/utils/is-collaboration.ts
798
+ const COLLABORATION_EXTENSION_NAMES = new Set(["liveblocksExtension", "collaboration"]);
799
+ function hasCollaborationExtension(exts) {
800
+ return exts.some((ext) => COLLABORATION_EXTENSION_NAMES.has(ext.name));
801
+ }
802
+
803
+ //#endregion
804
+ //#region src/extensions/container.tsx
805
+ function hasContainerNode(doc) {
806
+ let found = false;
807
+ doc.forEach((node) => {
808
+ if (node.type.name === "container") found = true;
809
+ });
810
+ return found;
811
+ }
812
+ function wrapInContainer(state) {
813
+ const { doc } = state;
814
+ const containerType = state.schema.nodes.container;
815
+ const contentNodes = [];
816
+ const globalContentNodes = [];
817
+ doc.forEach((node) => {
818
+ if (node.type.name === "globalContent") globalContentNodes.push(node);
819
+ else contentNodes.push(node);
820
+ });
821
+ const containerContent = contentNodes.length > 0 ? contentNodes : [state.schema.nodes.paragraph.create()];
822
+ const containerNode = containerType.create(null, containerContent);
823
+ const newDocContent = [...globalContentNodes, containerNode];
824
+ const tr = state.tr;
825
+ tr.replaceWith(0, doc.content.size, newDocContent);
826
+ tr.setMeta("addToHistory", false);
827
+ return tr;
828
+ }
829
+ const Container$1 = EmailNode.create({
830
+ name: "container",
831
+ group: "block",
832
+ content: "block+",
833
+ defining: true,
834
+ isolating: true,
835
+ selectable: false,
836
+ draggable: false,
837
+ addOptions() {
838
+ return { HTMLAttributes: {} };
839
+ },
840
+ parseHTML() {
841
+ return [{ tag: "div[data-type=\"container\"]" }, {
842
+ tag: "table[role=\"presentation\"]",
843
+ priority: 60,
844
+ getAttrs: (node) => {
845
+ if (typeof node === "string") return false;
846
+ const table = node;
847
+ if (!table.style.maxWidth) return false;
848
+ if (!table.querySelector(":scope > tbody > tr:only-child > td:only-child")) return false;
849
+ return null;
850
+ },
851
+ contentElement: (node) => node.querySelector(":scope > tbody > tr > td")
852
+ }];
853
+ },
854
+ renderHTML({ HTMLAttributes }) {
855
+ return [
856
+ "div",
857
+ mergeAttributes({
858
+ "data-type": "container",
859
+ class: "node-container"
860
+ }, this.options.HTMLAttributes, HTMLAttributes),
861
+ 0
862
+ ];
863
+ },
864
+ addProseMirrorPlugins() {
865
+ const isCollaborative = hasCollaborationExtension(this.editor.extensionManager.extensions);
866
+ return [new Plugin({
867
+ key: new PluginKey("containerEnforcer"),
868
+ view: isCollaborative ? void 0 : (editorView) => {
869
+ if (!hasContainerNode(editorView.state.doc)) {
870
+ const tr = wrapInContainer(editorView.state);
871
+ editorView.dispatch(tr);
872
+ }
873
+ return {};
874
+ },
875
+ appendTransaction(_transactions, oldState, newState) {
876
+ if (hasContainerNode(newState.doc)) return null;
877
+ if (newState.doc.eq(oldState.doc)) return null;
878
+ return wrapInContainer(newState);
879
+ }
880
+ })];
881
+ },
882
+ renderToReactEmail({ children, node, style }) {
883
+ const inlineStyles = inlineCssToJs(node.attrs?.style);
884
+ return /* @__PURE__ */ jsx(Container, {
885
+ className: node.attrs?.class || void 0,
886
+ style: {
887
+ ...style,
888
+ ...inlineStyles,
889
+ width: "100%",
890
+ maxWidth: style?.width ?? style?.maxWidth
891
+ },
892
+ children
893
+ });
894
+ }
895
+ });
896
+
803
897
  //#endregion
804
898
  //#region src/extensions/div.tsx
805
899
  const Div = EmailNode.create({
@@ -854,23 +948,24 @@ function isDocumentVisuallyEmpty(doc) {
854
948
  const node = doc.child(index);
855
949
  if (node.type.name === "globalContent") continue;
856
950
  nonGlobalNodeCount += 1;
857
- if (firstNonGlobalNode === null) firstNonGlobalNode = {
858
- type: node.type,
859
- textContent: node.textContent,
860
- childCount: node.content.childCount
861
- };
951
+ if (firstNonGlobalNode === null) firstNonGlobalNode = node;
862
952
  }
863
953
  if (nonGlobalNodeCount === 0) return true;
864
954
  if (nonGlobalNodeCount !== 1) return false;
865
- return firstNonGlobalNode?.type.name === "paragraph" && firstNonGlobalNode.textContent.trim().length === 0 && firstNonGlobalNode.childCount === 0;
955
+ if (firstNonGlobalNode.type.name === "container") return hasOnlyEmptyParagraph(firstNonGlobalNode);
956
+ return isEmptyParagraph(firstNonGlobalNode);
957
+ }
958
+ function hasOnlyEmptyParagraph(node) {
959
+ if (node.childCount === 0) return true;
960
+ if (node.childCount !== 1) return false;
961
+ return isEmptyParagraph(node.child(0));
962
+ }
963
+ function isEmptyParagraph(node) {
964
+ return node.type.name === "paragraph" && node.textContent.length === 0;
866
965
  }
867
966
 
868
967
  //#endregion
869
968
  //#region src/core/use-editor.ts
870
- const COLLABORATION_EXTENSION_NAMES = new Set(["liveblocksExtension", "collaboration"]);
871
- function hasCollaborationExtension(exts) {
872
- return exts.some((ext) => COLLABORATION_EXTENSION_NAMES.has(ext.name));
873
- }
874
969
  function useEditor$1({ content, extensions = [], onUpdate, onPaste, onUploadImage, onReady, editable = true, ...rest }) {
875
970
  const [contentError, setContentError] = React.useState(null);
876
971
  const isCollaborative = hasCollaborationExtension(extensions);
@@ -1652,6 +1747,78 @@ const Text$1 = EmailNode.from(Text, ({ children }) => {
1652
1747
  return /* @__PURE__ */ jsx(Fragment, { children });
1653
1748
  });
1654
1749
 
1750
+ //#endregion
1751
+ //#region src/extensions/trailing-node.tsx
1752
+ const skipTrailingNodeMeta = "skipTrailingNode";
1753
+ function nodeEqualsType({ types, node }) {
1754
+ return node && Array.isArray(types) && types.includes(node.type) || node?.type === types;
1755
+ }
1756
+ /**
1757
+ * This extension allows you to add an extra node at the end of a node.
1758
+ *
1759
+ * Differently from TipTap's native one, it allows you to pick which node to append the trailing node to.
1760
+ * @see https://www.tiptap.dev/api/extensions/trailing-node
1761
+ *
1762
+ * We could contribute this to TipTap's core extensions and I think we should at some once we get some time.
1763
+ */
1764
+ const TrailingNode = Extension.create({
1765
+ name: "trailingNode",
1766
+ addOptions() {
1767
+ return {
1768
+ node: void 0,
1769
+ appendTo: "doc",
1770
+ notAfter: []
1771
+ };
1772
+ },
1773
+ addProseMirrorPlugins() {
1774
+ const plugin = new PluginKey(this.name);
1775
+ const defaultNode = this.options.node || this.editor.schema.topNodeType.contentMatch.defaultType?.name || "paragraph";
1776
+ const notAfter = Array.isArray(this.options.notAfter) ? this.options.notAfter : [this.options.notAfter].filter(Boolean);
1777
+ const disabledNodes = Object.entries(this.editor.schema.nodes).map(([, value]) => value).filter((node) => notAfter.concat(defaultNode).includes(node.name));
1778
+ const appendToType = this.editor.schema.nodes[this.options.appendTo || "doc"];
1779
+ const getInsertPositions = (doc) => {
1780
+ const positions = [];
1781
+ if (doc.type === appendToType) {
1782
+ if (!nodeEqualsType({
1783
+ node: doc.lastChild,
1784
+ types: disabledNodes
1785
+ })) positions.push(doc.content.size);
1786
+ }
1787
+ doc.descendants((node, pos) => {
1788
+ if (node.type !== appendToType) return;
1789
+ if (!nodeEqualsType({
1790
+ node: node.lastChild,
1791
+ types: disabledNodes
1792
+ })) positions.push(pos + node.nodeSize - 1);
1793
+ });
1794
+ return positions;
1795
+ };
1796
+ return [new Plugin({
1797
+ key: plugin,
1798
+ appendTransaction: (transactions, __, state) => {
1799
+ const { doc, tr, schema } = state;
1800
+ const shouldInsert = plugin.getState(state);
1801
+ const type = schema.nodes[defaultNode];
1802
+ if (transactions.some((transaction) => transaction.getMeta(skipTrailingNodeMeta))) return;
1803
+ if (!shouldInsert) return;
1804
+ const positions = getInsertPositions(doc);
1805
+ for (const pos of positions.sort((a, b) => b - a)) tr.insert(pos, type.create());
1806
+ return positions.length > 0 ? tr : void 0;
1807
+ },
1808
+ state: {
1809
+ init: (_, state) => {
1810
+ return getInsertPositions(state.doc).length > 0;
1811
+ },
1812
+ apply: (tr, value) => {
1813
+ if (!tr.docChanged) return value;
1814
+ if (tr.getMeta("__uniqueIDTransaction")) return value;
1815
+ return getInsertPositions(tr.doc).length > 0;
1816
+ }
1817
+ }
1818
+ })];
1819
+ }
1820
+ });
1821
+
1655
1822
  //#endregion
1656
1823
  //#region src/extensions/underline.tsx
1657
1824
  const Underline = EmailMark.from(UnderlineBase, ({ children, style }) => /* @__PURE__ */ jsx("u", {
@@ -1714,6 +1881,7 @@ const starterKitExtensions = {
1714
1881
  TwoColumns,
1715
1882
  ThreeColumns,
1716
1883
  FourColumns,
1884
+ Container: Container$1,
1717
1885
  ColumnsColumn,
1718
1886
  Paragraph,
1719
1887
  BulletList,
@@ -1724,6 +1892,7 @@ const starterKitExtensions = {
1724
1892
  Italic,
1725
1893
  Placeholder,
1726
1894
  PreviewText,
1895
+ TrailingNode,
1727
1896
  Bold,
1728
1897
  Strike,
1729
1898
  Heading: Heading$2,
@@ -1757,6 +1926,10 @@ const StarterKit = Extension.create({
1757
1926
  defaultLanguage: "javascript",
1758
1927
  HTMLAttributes: { class: "prism node-codeBlock" }
1759
1928
  },
1929
+ TrailingNode: {
1930
+ node: "paragraph",
1931
+ appendTo: "container"
1932
+ },
1760
1933
  Code: { HTMLAttributes: {
1761
1934
  class: "node-inlineCode",
1762
1935
  spellcheck: "false"
@@ -1791,6 +1964,7 @@ const StarterKit = Extension.create({
1791
1964
  TableCell: {},
1792
1965
  TableHeader: {},
1793
1966
  Body: {},
1967
+ Container: {},
1794
1968
  Div: {},
1795
1969
  Button: {},
1796
1970
  Section: {},
@@ -1910,5 +2084,5 @@ const StarterKit = Extension.create({
1910
2084
  });
1911
2085
 
1912
2086
  //#endregion
1913
- export { Code as A, createPasteHandler as B, Heading$2 as C, isDocumentVisuallyEmpty as D, useEditor$1 as E, Body$1 as F, Blockquote as I, AlignmentAttribute as L, Button$1 as M, BulletList as N, Div as O, Bold as P, composeReactEmail as R, Italic as S, Divider as T, createDropHandler as V, MaxNesting as _, Table as a, PreservedStyle as b, TableRow as c, Strike as d, Section$1 as f, OrderedList as g, Paragraph as h, Text$1 as i, ClassAttribute as j, CodeBlockPrism as k, Sup as l, Placeholder as m, Uppercase as n, TableCell as o, PreviewText as p, Underline as r, TableHeader as s, StarterKit as t, StyleAttribute as u, ListItem as v, HardBreak as w, processStylesForUnlink as x, Link$1 as y, EmailMark as z };
1914
- //# sourceMappingURL=extensions-DWsu9kwZ.mjs.map
2087
+ export { Div as A, AlignmentAttribute as B, processStylesForUnlink as C, Divider as D, HardBreak as E, Button$1 as F, EmailMark as H, BulletList as I, Bold as L, CodeBlockPrism as M, Code as N, useEditor$1 as O, ClassAttribute as P, Body$1 as R, PreservedStyle as S, Heading$2 as T, createPasteHandler as U, composeReactEmail as V, createDropHandler as W, Paragraph as _, skipTrailingNodeMeta as a, ListItem as b, TableCell as c, Sup as d, StyleAttribute as f, Placeholder as g, PreviewText as h, TrailingNode as i, Container$1 as j, isDocumentVisuallyEmpty as k, TableHeader as l, Section$1 as m, Uppercase as n, Text$1 as o, Strike as p, Underline as r, Table as s, StarterKit as t, TableRow as u, OrderedList as v, Italic as w, Link$1 as x, MaxNesting as y, Blockquote as z };
2088
+ //# sourceMappingURL=extensions-BvfmaKCn.mjs.map