@mhamz.01/easyflow-texteditor 0.1.91 → 0.1.94

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/index.js CHANGED
@@ -1335,6 +1335,7 @@ function EditorLayout({ children, onChange, initialTabs, onTabsChange }) {
1335
1335
  var import_react98 = require("react");
1336
1336
  var import_react99 = require("@tiptap/react");
1337
1337
  var import_starter_kit = require("@tiptap/starter-kit");
1338
+ var import_tiptap_extension_resize_image = __toESM(require("tiptap-extension-resize-image"));
1338
1339
  var import_extension_image = __toESM(require("@tiptap/extension-image"));
1339
1340
  var import_extension_list = require("@tiptap/extension-list");
1340
1341
  var import_extension_text_align = require("@tiptap/extension-text-align");
@@ -1411,9 +1412,396 @@ var Paragraph = import_core2.Node.create({
1411
1412
  });
1412
1413
  var index_default2 = Paragraph;
1413
1414
 
1414
- // node_modules/@tiptap/extension-text/dist/index.js
1415
+ // node_modules/@tiptap/extension-blockquote/dist/index.js
1415
1416
  var import_core3 = require("@tiptap/core");
1416
- var Text = import_core3.Node.create({
1417
+ var import_jsx_runtime17 = require("@tiptap/core/jsx-runtime");
1418
+ var inputRegex = /^\s*>\s$/;
1419
+ var Blockquote = import_core3.Node.create({
1420
+ name: "blockquote",
1421
+ addOptions() {
1422
+ return {
1423
+ HTMLAttributes: {}
1424
+ };
1425
+ },
1426
+ content: "block+",
1427
+ group: "block",
1428
+ defining: true,
1429
+ parseHTML() {
1430
+ return [{ tag: "blockquote" }];
1431
+ },
1432
+ renderHTML({ HTMLAttributes }) {
1433
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("blockquote", { ...(0, import_core3.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes), children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("slot", {}) });
1434
+ },
1435
+ parseMarkdown: (token, helpers) => {
1436
+ return helpers.createNode("blockquote", void 0, helpers.parseChildren(token.tokens || []));
1437
+ },
1438
+ renderMarkdown: (node, h) => {
1439
+ if (!node.content) {
1440
+ return "";
1441
+ }
1442
+ const prefix = ">";
1443
+ const result = [];
1444
+ node.content.forEach((child) => {
1445
+ const childContent = h.renderChildren([child]);
1446
+ const lines = childContent.split("\n");
1447
+ const linesWithPrefix = lines.map((line) => {
1448
+ if (line.trim() === "") {
1449
+ return prefix;
1450
+ }
1451
+ return `${prefix} ${line}`;
1452
+ });
1453
+ result.push(linesWithPrefix.join("\n"));
1454
+ });
1455
+ return result.join(`
1456
+ ${prefix}
1457
+ `);
1458
+ },
1459
+ addCommands() {
1460
+ return {
1461
+ setBlockquote: () => ({ commands }) => {
1462
+ return commands.wrapIn(this.name);
1463
+ },
1464
+ toggleBlockquote: () => ({ commands }) => {
1465
+ return commands.toggleWrap(this.name);
1466
+ },
1467
+ unsetBlockquote: () => ({ commands }) => {
1468
+ return commands.lift(this.name);
1469
+ }
1470
+ };
1471
+ },
1472
+ addKeyboardShortcuts() {
1473
+ return {
1474
+ "Mod-Shift-b": () => this.editor.commands.toggleBlockquote()
1475
+ };
1476
+ },
1477
+ addInputRules() {
1478
+ return [
1479
+ (0, import_core3.wrappingInputRule)({
1480
+ find: inputRegex,
1481
+ type: this.type
1482
+ })
1483
+ ];
1484
+ }
1485
+ });
1486
+ var index_default3 = Blockquote;
1487
+
1488
+ // node_modules/@tiptap/extension-code-block/dist/index.js
1489
+ var import_core4 = require("@tiptap/core");
1490
+ var import_state = require("@tiptap/pm/state");
1491
+ var DEFAULT_TAB_SIZE = 4;
1492
+ var backtickInputRegex = /^```([a-z]+)?[\s\n]$/;
1493
+ var tildeInputRegex = /^~~~([a-z]+)?[\s\n]$/;
1494
+ var CodeBlock = import_core4.Node.create({
1495
+ name: "codeBlock",
1496
+ addOptions() {
1497
+ return {
1498
+ languageClassPrefix: "language-",
1499
+ exitOnTripleEnter: true,
1500
+ exitOnArrowDown: true,
1501
+ defaultLanguage: null,
1502
+ enableTabIndentation: false,
1503
+ tabSize: DEFAULT_TAB_SIZE,
1504
+ HTMLAttributes: {}
1505
+ };
1506
+ },
1507
+ content: "text*",
1508
+ marks: "",
1509
+ group: "block",
1510
+ code: true,
1511
+ defining: true,
1512
+ addAttributes() {
1513
+ return {
1514
+ language: {
1515
+ default: this.options.defaultLanguage,
1516
+ parseHTML: (element) => {
1517
+ var _a;
1518
+ const { languageClassPrefix } = this.options;
1519
+ if (!languageClassPrefix) {
1520
+ return null;
1521
+ }
1522
+ const classNames = [...((_a = element.firstElementChild) == null ? void 0 : _a.classList) || []];
1523
+ const languages = classNames.filter((className) => className.startsWith(languageClassPrefix)).map((className) => className.replace(languageClassPrefix, ""));
1524
+ const language = languages[0];
1525
+ if (!language) {
1526
+ return null;
1527
+ }
1528
+ return language;
1529
+ },
1530
+ rendered: false
1531
+ }
1532
+ };
1533
+ },
1534
+ parseHTML() {
1535
+ return [
1536
+ {
1537
+ tag: "pre",
1538
+ preserveWhitespace: "full"
1539
+ }
1540
+ ];
1541
+ },
1542
+ renderHTML({ node, HTMLAttributes }) {
1543
+ return [
1544
+ "pre",
1545
+ (0, import_core4.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes),
1546
+ [
1547
+ "code",
1548
+ {
1549
+ class: node.attrs.language ? this.options.languageClassPrefix + node.attrs.language : null
1550
+ },
1551
+ 0
1552
+ ]
1553
+ ];
1554
+ },
1555
+ markdownTokenName: "code",
1556
+ parseMarkdown: (token, helpers) => {
1557
+ var _a;
1558
+ if (((_a = token.raw) == null ? void 0 : _a.startsWith("```")) === false && token.codeBlockStyle !== "indented") {
1559
+ return [];
1560
+ }
1561
+ return helpers.createNode(
1562
+ "codeBlock",
1563
+ { language: token.lang || null },
1564
+ token.text ? [helpers.createTextNode(token.text)] : []
1565
+ );
1566
+ },
1567
+ renderMarkdown: (node, h) => {
1568
+ var _a;
1569
+ let output = "";
1570
+ const language = ((_a = node.attrs) == null ? void 0 : _a.language) || "";
1571
+ if (!node.content) {
1572
+ output = `\`\`\`${language}
1573
+
1574
+ \`\`\``;
1575
+ } else {
1576
+ const lines = [`\`\`\`${language}`, h.renderChildren(node.content), "```"];
1577
+ output = lines.join("\n");
1578
+ }
1579
+ return output;
1580
+ },
1581
+ addCommands() {
1582
+ return {
1583
+ setCodeBlock: (attributes) => ({ commands }) => {
1584
+ return commands.setNode(this.name, attributes);
1585
+ },
1586
+ toggleCodeBlock: (attributes) => ({ commands }) => {
1587
+ return commands.toggleNode(this.name, "paragraph", attributes);
1588
+ }
1589
+ };
1590
+ },
1591
+ addKeyboardShortcuts() {
1592
+ return {
1593
+ "Mod-Alt-c": () => this.editor.commands.toggleCodeBlock(),
1594
+ // remove code block when at start of document or code block is empty
1595
+ Backspace: () => {
1596
+ const { empty, $anchor } = this.editor.state.selection;
1597
+ const isAtStart = $anchor.pos === 1;
1598
+ if (!empty || $anchor.parent.type.name !== this.name) {
1599
+ return false;
1600
+ }
1601
+ if (isAtStart || !$anchor.parent.textContent.length) {
1602
+ return this.editor.commands.clearNodes();
1603
+ }
1604
+ return false;
1605
+ },
1606
+ // handle tab indentation
1607
+ Tab: ({ editor }) => {
1608
+ var _a;
1609
+ if (!this.options.enableTabIndentation) {
1610
+ return false;
1611
+ }
1612
+ const tabSize = (_a = this.options.tabSize) != null ? _a : DEFAULT_TAB_SIZE;
1613
+ const { state } = editor;
1614
+ const { selection } = state;
1615
+ const { $from, empty } = selection;
1616
+ if ($from.parent.type !== this.type) {
1617
+ return false;
1618
+ }
1619
+ const indent = " ".repeat(tabSize);
1620
+ if (empty) {
1621
+ return editor.commands.insertContent(indent);
1622
+ }
1623
+ return editor.commands.command(({ tr }) => {
1624
+ const { from, to } = selection;
1625
+ const text = state.doc.textBetween(from, to, "\n", "\n");
1626
+ const lines = text.split("\n");
1627
+ const indentedText = lines.map((line) => indent + line).join("\n");
1628
+ tr.replaceWith(from, to, state.schema.text(indentedText));
1629
+ return true;
1630
+ });
1631
+ },
1632
+ // handle shift+tab reverse indentation
1633
+ "Shift-Tab": ({ editor }) => {
1634
+ var _a;
1635
+ if (!this.options.enableTabIndentation) {
1636
+ return false;
1637
+ }
1638
+ const tabSize = (_a = this.options.tabSize) != null ? _a : DEFAULT_TAB_SIZE;
1639
+ const { state } = editor;
1640
+ const { selection } = state;
1641
+ const { $from, empty } = selection;
1642
+ if ($from.parent.type !== this.type) {
1643
+ return false;
1644
+ }
1645
+ if (empty) {
1646
+ return editor.commands.command(({ tr }) => {
1647
+ var _a2;
1648
+ const { pos } = $from;
1649
+ const codeBlockStart = $from.start();
1650
+ const codeBlockEnd = $from.end();
1651
+ const allText = state.doc.textBetween(codeBlockStart, codeBlockEnd, "\n", "\n");
1652
+ const lines = allText.split("\n");
1653
+ let currentLineIndex = 0;
1654
+ let charCount = 0;
1655
+ const relativeCursorPos = pos - codeBlockStart;
1656
+ for (let i = 0; i < lines.length; i += 1) {
1657
+ if (charCount + lines[i].length >= relativeCursorPos) {
1658
+ currentLineIndex = i;
1659
+ break;
1660
+ }
1661
+ charCount += lines[i].length + 1;
1662
+ }
1663
+ const currentLine = lines[currentLineIndex];
1664
+ const leadingSpaces = ((_a2 = currentLine.match(/^ */)) == null ? void 0 : _a2[0]) || "";
1665
+ const spacesToRemove = Math.min(leadingSpaces.length, tabSize);
1666
+ if (spacesToRemove === 0) {
1667
+ return true;
1668
+ }
1669
+ let lineStartPos = codeBlockStart;
1670
+ for (let i = 0; i < currentLineIndex; i += 1) {
1671
+ lineStartPos += lines[i].length + 1;
1672
+ }
1673
+ tr.delete(lineStartPos, lineStartPos + spacesToRemove);
1674
+ const cursorPosInLine = pos - lineStartPos;
1675
+ if (cursorPosInLine <= spacesToRemove) {
1676
+ tr.setSelection(import_state.TextSelection.create(tr.doc, lineStartPos));
1677
+ }
1678
+ return true;
1679
+ });
1680
+ }
1681
+ return editor.commands.command(({ tr }) => {
1682
+ const { from, to } = selection;
1683
+ const text = state.doc.textBetween(from, to, "\n", "\n");
1684
+ const lines = text.split("\n");
1685
+ const reverseIndentText = lines.map((line) => {
1686
+ var _a2;
1687
+ const leadingSpaces = ((_a2 = line.match(/^ */)) == null ? void 0 : _a2[0]) || "";
1688
+ const spacesToRemove = Math.min(leadingSpaces.length, tabSize);
1689
+ return line.slice(spacesToRemove);
1690
+ }).join("\n");
1691
+ tr.replaceWith(from, to, state.schema.text(reverseIndentText));
1692
+ return true;
1693
+ });
1694
+ },
1695
+ // exit node on triple enter
1696
+ Enter: ({ editor }) => {
1697
+ if (!this.options.exitOnTripleEnter) {
1698
+ return false;
1699
+ }
1700
+ const { state } = editor;
1701
+ const { selection } = state;
1702
+ const { $from, empty } = selection;
1703
+ if (!empty || $from.parent.type !== this.type) {
1704
+ return false;
1705
+ }
1706
+ const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;
1707
+ const endsWithDoubleNewline = $from.parent.textContent.endsWith("\n\n");
1708
+ if (!isAtEnd || !endsWithDoubleNewline) {
1709
+ return false;
1710
+ }
1711
+ return editor.chain().command(({ tr }) => {
1712
+ tr.delete($from.pos - 2, $from.pos);
1713
+ return true;
1714
+ }).exitCode().run();
1715
+ },
1716
+ // exit node on arrow down
1717
+ ArrowDown: ({ editor }) => {
1718
+ if (!this.options.exitOnArrowDown) {
1719
+ return false;
1720
+ }
1721
+ const { state } = editor;
1722
+ const { selection, doc } = state;
1723
+ const { $from, empty } = selection;
1724
+ if (!empty || $from.parent.type !== this.type) {
1725
+ return false;
1726
+ }
1727
+ const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;
1728
+ if (!isAtEnd) {
1729
+ return false;
1730
+ }
1731
+ const after = $from.after();
1732
+ if (after === void 0) {
1733
+ return false;
1734
+ }
1735
+ const nodeAfter = doc.nodeAt(after);
1736
+ if (nodeAfter) {
1737
+ return editor.commands.command(({ tr }) => {
1738
+ tr.setSelection(import_state.Selection.near(doc.resolve(after)));
1739
+ return true;
1740
+ });
1741
+ }
1742
+ return editor.commands.exitCode();
1743
+ }
1744
+ };
1745
+ },
1746
+ addInputRules() {
1747
+ return [
1748
+ (0, import_core4.textblockTypeInputRule)({
1749
+ find: backtickInputRegex,
1750
+ type: this.type,
1751
+ getAttributes: (match) => ({
1752
+ language: match[1]
1753
+ })
1754
+ }),
1755
+ (0, import_core4.textblockTypeInputRule)({
1756
+ find: tildeInputRegex,
1757
+ type: this.type,
1758
+ getAttributes: (match) => ({
1759
+ language: match[1]
1760
+ })
1761
+ })
1762
+ ];
1763
+ },
1764
+ addProseMirrorPlugins() {
1765
+ return [
1766
+ // this plugin creates a code block for pasted content from VS Code
1767
+ // we can also detect the copied code language
1768
+ new import_state.Plugin({
1769
+ key: new import_state.PluginKey("codeBlockVSCodeHandler"),
1770
+ props: {
1771
+ handlePaste: (view, event) => {
1772
+ if (!event.clipboardData) {
1773
+ return false;
1774
+ }
1775
+ if (this.editor.isActive(this.type.name)) {
1776
+ return false;
1777
+ }
1778
+ const text = event.clipboardData.getData("text/plain");
1779
+ const vscode = event.clipboardData.getData("vscode-editor-data");
1780
+ const vscodeData = vscode ? JSON.parse(vscode) : void 0;
1781
+ const language = vscodeData == null ? void 0 : vscodeData.mode;
1782
+ if (!text || !language) {
1783
+ return false;
1784
+ }
1785
+ const { tr, schema } = view.state;
1786
+ const textNode = schema.text(text.replace(/\r\n?/g, "\n"));
1787
+ tr.replaceSelectionWith(this.type.create({ language }, textNode));
1788
+ if (tr.selection.$from.parent.type !== this.type) {
1789
+ tr.setSelection(import_state.TextSelection.near(tr.doc.resolve(Math.max(0, tr.selection.from - 2))));
1790
+ }
1791
+ tr.setMeta("paste", true);
1792
+ view.dispatch(tr);
1793
+ return true;
1794
+ }
1795
+ }
1796
+ })
1797
+ ];
1798
+ }
1799
+ });
1800
+ var index_default4 = CodeBlock;
1801
+
1802
+ // node_modules/@tiptap/extension-text/dist/index.js
1803
+ var import_core5 = require("@tiptap/core");
1804
+ var Text = import_core5.Node.create({
1417
1805
  name: "text",
1418
1806
  group: "inline",
1419
1807
  parseMarkdown: (token) => {
@@ -1424,7 +1812,7 @@ var Text = import_core3.Node.create({
1424
1812
  },
1425
1813
  renderMarkdown: (node) => node.text || ""
1426
1814
  });
1427
- var index_default3 = Text;
1815
+ var index_default5 = Text;
1428
1816
 
1429
1817
  // src/components/tiptap-templates/simple/simple-editor.tsx
1430
1818
  var import_extension_text_style2 = require("@tiptap/extension-text-style");
@@ -1433,7 +1821,7 @@ var import_extension_table = require("@tiptap/extension-table");
1433
1821
  var import_extensions2 = require("@tiptap/extensions");
1434
1822
 
1435
1823
  // src/components/extensions/font-size-stepper.ts
1436
- var import_core4 = require("@tiptap/core");
1824
+ var import_core6 = require("@tiptap/core");
1437
1825
  function parsePx(value) {
1438
1826
  if (!value) return null;
1439
1827
  const m = /(-?\d+\.?\d*)px/.exec(String(value));
@@ -1461,7 +1849,7 @@ function getFontSizeFromResolvedPos(editor) {
1461
1849
  }
1462
1850
  return null;
1463
1851
  }
1464
- var FontSizeStepper = import_core4.Extension.create({
1852
+ var FontSizeStepper = import_core6.Extension.create({
1465
1853
  name: "fontSizeStepper",
1466
1854
  // configuration option to control step & min size
1467
1855
  addOptions() {
@@ -1520,7 +1908,7 @@ var import_react12 = require("react");
1520
1908
  // src/components/tiptap-ui-primitive/tooltip/tooltip.tsx
1521
1909
  var import_react10 = require("react");
1522
1910
  var import_react11 = require("@floating-ui/react");
1523
- var import_jsx_runtime17 = require("react/jsx-runtime");
1911
+ var import_jsx_runtime18 = require("react/jsx-runtime");
1524
1912
  function useTooltip({
1525
1913
  initialOpen = false,
1526
1914
  placement = "top",
@@ -1584,14 +1972,14 @@ function useTooltipContext() {
1584
1972
  function Tooltip2({ children, ...props }) {
1585
1973
  const tooltip = useTooltip(props);
1586
1974
  if (!props.useDelayGroup) {
1587
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(TooltipContext.Provider, { value: tooltip, children });
1975
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(TooltipContext.Provider, { value: tooltip, children });
1588
1976
  }
1589
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1977
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1590
1978
  import_react11.FloatingDelayGroup,
1591
1979
  {
1592
1980
  delay: { open: props.delay ?? 0, close: props.closeDelay ?? 0 },
1593
1981
  timeoutMs: props.timeout,
1594
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(TooltipContext.Provider, { value: tooltip, children })
1982
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(TooltipContext.Provider, { value: tooltip, children })
1595
1983
  }
1596
1984
  );
1597
1985
  }
@@ -1620,7 +2008,7 @@ var TooltipTrigger2 = (0, import_react10.forwardRef)(
1620
2008
  })
1621
2009
  );
1622
2010
  }
1623
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2011
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1624
2012
  "button",
1625
2013
  {
1626
2014
  ref,
@@ -1636,7 +2024,7 @@ var TooltipContent2 = (0, import_react10.forwardRef)(
1636
2024
  const context = useTooltipContext();
1637
2025
  const ref = (0, import_react11.useMergeRefs)([context.refs.setFloating, propRef]);
1638
2026
  if (!context.open) return null;
1639
- const content = /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2027
+ const content = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1640
2028
  "div",
1641
2029
  {
1642
2030
  ref,
@@ -1650,7 +2038,7 @@ var TooltipContent2 = (0, import_react10.forwardRef)(
1650
2038
  }
1651
2039
  );
1652
2040
  if (portal) {
1653
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react11.FloatingPortal, { ...portalProps, children: content });
2041
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react11.FloatingPortal, { ...portalProps, children: content });
1654
2042
  }
1655
2043
  return content;
1656
2044
  }
@@ -1660,8 +2048,8 @@ TooltipTrigger2.displayName = "TooltipTrigger";
1660
2048
  TooltipContent2.displayName = "TooltipContent";
1661
2049
 
1662
2050
  // src/lib/tiptap-utils.ts
1663
- var import_state = require("@tiptap/pm/state");
1664
- var import_core5 = require("@tiptap/core");
2051
+ var import_state2 = require("@tiptap/pm/state");
2052
+ var import_core7 = require("@tiptap/core");
1665
2053
  var MAX_FILE_SIZE = 5 * 1024 * 1024;
1666
2054
  var MAC_SYMBOLS = {
1667
2055
  mod: "\u2318",
@@ -1707,7 +2095,7 @@ var isNodeInSchema = (nodeName, editor) => {
1707
2095
  function focusNextNode(editor) {
1708
2096
  const { state, view } = editor;
1709
2097
  const { doc, selection } = state;
1710
- const nextSel = import_state.Selection.findFrom(selection.$to, 1, true);
2098
+ const nextSel = import_state2.Selection.findFrom(selection.$to, 1, true);
1711
2099
  if (nextSel) {
1712
2100
  view.dispatch(state.tr.setSelection(nextSel).scrollIntoView());
1713
2101
  return true;
@@ -1721,7 +2109,7 @@ function focusNextNode(editor) {
1721
2109
  const para = paragraphType.create();
1722
2110
  let tr = state.tr.insert(end, para);
1723
2111
  const $inside = tr.doc.resolve(end + 1);
1724
- tr = tr.setSelection(import_state.TextSelection.near($inside)).scrollIntoView();
2112
+ tr = tr.setSelection(import_state2.TextSelection.near($inside)).scrollIntoView();
1725
2113
  view.dispatch(tr);
1726
2114
  return true;
1727
2115
  }
@@ -1789,7 +2177,7 @@ function isNodeTypeSelected(editor, nodeTypeNames = [], checkAncestorNodes = fal
1789
2177
  if (!editor || !editor.state.selection) return false;
1790
2178
  const { selection } = editor.state;
1791
2179
  if (selection.empty) return false;
1792
- if (selection instanceof import_state.NodeSelection) {
2180
+ if (selection instanceof import_state2.NodeSelection) {
1793
2181
  const selectedNode = selection.node;
1794
2182
  return selectedNode ? nodeTypeNames.includes(selectedNode.type.name) : false;
1795
2183
  }
@@ -1809,11 +2197,11 @@ function selectionWithinConvertibleTypes(editor, types = []) {
1809
2197
  const { state } = editor;
1810
2198
  const { selection } = state;
1811
2199
  const allowed = new Set(types);
1812
- if (selection instanceof import_state.NodeSelection) {
2200
+ if (selection instanceof import_state2.NodeSelection) {
1813
2201
  const nodeType = selection.node?.type?.name;
1814
2202
  return !!nodeType && allowed.has(nodeType);
1815
2203
  }
1816
- if (selection instanceof import_state.TextSelection || selection instanceof import_state.AllSelection) {
2204
+ if (selection instanceof import_state2.TextSelection || selection instanceof import_state2.AllSelection) {
1817
2205
  let valid = true;
1818
2206
  state.doc.nodesBetween(selection.from, selection.to, (node) => {
1819
2207
  if (node.isTextblock && !allowed.has(node.type.name)) {
@@ -1904,7 +2292,7 @@ var FONT_SIZES = [
1904
2292
  "56px",
1905
2293
  "64px"
1906
2294
  ];
1907
- var FontSizeExtension = import_core5.Extension.create({
2295
+ var FontSizeExtension = import_core7.Extension.create({
1908
2296
  name: "fontSize",
1909
2297
  addOptions() {
1910
2298
  return {
@@ -1962,14 +2350,14 @@ var FontSizeExtension = import_core5.Extension.create({
1962
2350
  });
1963
2351
 
1964
2352
  // src/components/tiptap-ui-primitive/button/button.tsx
1965
- var import_jsx_runtime18 = require("react/jsx-runtime");
2353
+ var import_jsx_runtime19 = require("react/jsx-runtime");
1966
2354
  var ShortcutDisplay = ({
1967
2355
  shortcuts
1968
2356
  }) => {
1969
2357
  if (shortcuts.length === 0) return null;
1970
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { children: shortcuts.map((key, index) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react12.Fragment, { children: [
1971
- index > 0 && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("kbd", { children: "+" }),
1972
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("kbd", { children: key })
2358
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { children: shortcuts.map((key, index) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react12.Fragment, { children: [
2359
+ index > 0 && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("kbd", { children: "+" }),
2360
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("kbd", { children: key })
1973
2361
  ] }, index)) });
1974
2362
  };
1975
2363
  var Button2 = (0, import_react12.forwardRef)(
@@ -1987,7 +2375,7 @@ var Button2 = (0, import_react12.forwardRef)(
1987
2375
  [shortcutKeys]
1988
2376
  );
1989
2377
  if (!tooltip || !showTooltip) {
1990
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2378
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1991
2379
  "button",
1992
2380
  {
1993
2381
  className: cn2("tiptap-button", className),
@@ -1998,8 +2386,8 @@ var Button2 = (0, import_react12.forwardRef)(
1998
2386
  }
1999
2387
  );
2000
2388
  }
2001
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Tooltip2, { delay: 200, children: [
2002
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2389
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Tooltip2, { delay: 200, children: [
2390
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
2003
2391
  TooltipTrigger2,
2004
2392
  {
2005
2393
  className: cn2("tiptap-button", className),
@@ -2009,16 +2397,16 @@ var Button2 = (0, import_react12.forwardRef)(
2009
2397
  children
2010
2398
  }
2011
2399
  ),
2012
- /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(TooltipContent2, { children: [
2400
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(TooltipContent2, { children: [
2013
2401
  tooltip,
2014
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ShortcutDisplay, { shortcuts })
2402
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ShortcutDisplay, { shortcuts })
2015
2403
  ] })
2016
2404
  ] });
2017
2405
  }
2018
2406
  );
2019
2407
  Button2.displayName = "Button";
2020
2408
  var ButtonGroup = (0, import_react12.forwardRef)(({ className, children, orientation = "vertical", ...props }, ref) => {
2021
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2409
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
2022
2410
  "div",
2023
2411
  {
2024
2412
  ref,
@@ -2033,7 +2421,7 @@ var ButtonGroup = (0, import_react12.forwardRef)(({ className, children, orienta
2033
2421
  ButtonGroup.displayName = "ButtonGroup";
2034
2422
 
2035
2423
  // src/components/tiptap-ui-primitive/spacer/spacer.tsx
2036
- var import_jsx_runtime19 = require("react/jsx-runtime");
2424
+ var import_jsx_runtime20 = require("react/jsx-runtime");
2037
2425
  function Spacer({
2038
2426
  orientation = "horizontal",
2039
2427
  size,
@@ -2048,7 +2436,7 @@ function Spacer({
2048
2436
  height: orientation === "horizontal" ? "1px" : size
2049
2437
  }
2050
2438
  };
2051
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { ...props, style: computedStyle });
2439
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { ...props, style: computedStyle });
2052
2440
  }
2053
2441
 
2054
2442
  // src/components/tiptap-ui-primitive/toolbar/toolbar.tsx
@@ -2056,12 +2444,12 @@ var import_react16 = require("react");
2056
2444
 
2057
2445
  // src/components/tiptap-ui-primitive/separator/separator.tsx
2058
2446
  var import_react13 = require("react");
2059
- var import_jsx_runtime20 = require("react/jsx-runtime");
2447
+ var import_jsx_runtime21 = require("react/jsx-runtime");
2060
2448
  var Separator2 = (0, import_react13.forwardRef)(
2061
2449
  ({ decorative, orientation = "vertical", className, ...divProps }, ref) => {
2062
2450
  const ariaOrientation = orientation === "vertical" ? orientation : void 0;
2063
2451
  const semanticProps = decorative ? { role: "none" } : { "aria-orientation": ariaOrientation, role: "separator" };
2064
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2452
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2065
2453
  "div",
2066
2454
  {
2067
2455
  className: cn2("tiptap-separator", className),
@@ -2230,7 +2618,7 @@ var useComposedRef = (libRef, userRef) => {
2230
2618
  };
2231
2619
 
2232
2620
  // src/components/tiptap-ui-primitive/toolbar/toolbar.tsx
2233
- var import_jsx_runtime21 = require("react/jsx-runtime");
2621
+ var import_jsx_runtime22 = require("react/jsx-runtime");
2234
2622
  var useToolbarNavigation = (toolbarRef) => {
2235
2623
  const [items, setItems] = (0, import_react16.useState)([]);
2236
2624
  const collectItems = (0, import_react16.useCallback)(() => {
@@ -2287,7 +2675,7 @@ var Toolbar = (0, import_react16.forwardRef)(
2287
2675
  const toolbarRef = (0, import_react16.useRef)(null);
2288
2676
  const composedRef = useComposedRef(toolbarRef, ref);
2289
2677
  useToolbarNavigation(toolbarRef);
2290
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2678
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2291
2679
  "div",
2292
2680
  {
2293
2681
  ref: composedRef,
@@ -2303,7 +2691,7 @@ var Toolbar = (0, import_react16.forwardRef)(
2303
2691
  );
2304
2692
  Toolbar.displayName = "Toolbar";
2305
2693
  var ToolbarGroup = (0, import_react16.forwardRef)(
2306
- ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2694
+ ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2307
2695
  "div",
2308
2696
  {
2309
2697
  ref,
@@ -2316,7 +2704,7 @@ var ToolbarGroup = (0, import_react16.forwardRef)(
2316
2704
  );
2317
2705
  ToolbarGroup.displayName = "ToolbarGroup";
2318
2706
  var ToolbarSeparator = (0, import_react16.forwardRef)(
2319
- ({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Separator2, { ref, orientation: "vertical", decorative: true, ...props })
2707
+ ({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Separator2, { ref, orientation: "vertical", decorative: true, ...props })
2320
2708
  );
2321
2709
  ToolbarSeparator.displayName = "ToolbarSeparator";
2322
2710
 
@@ -2324,11 +2712,11 @@ ToolbarSeparator.displayName = "ToolbarSeparator";
2324
2712
  var import_menus = require("@tiptap/react/menus");
2325
2713
  var import_react17 = require("@tiptap/react");
2326
2714
  var import_lucide_react7 = require("lucide-react");
2327
- var import_jsx_runtime22 = require("react/jsx-runtime");
2715
+ var import_jsx_runtime23 = require("react/jsx-runtime");
2328
2716
  function BubbleMenuInline() {
2329
2717
  const { editor } = (0, import_react17.useCurrentEditor)();
2330
2718
  if (!editor) return null;
2331
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2719
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2332
2720
  import_menus.BubbleMenu,
2333
2721
  {
2334
2722
  editor,
@@ -2347,81 +2735,81 @@ function BubbleMenuInline() {
2347
2735
  if (hasImage) return false;
2348
2736
  return true;
2349
2737
  },
2350
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
2738
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
2351
2739
  "div",
2352
2740
  {
2353
2741
  className: "relative flex items-center gap-1 rounded-md border bg-[#171717] text-[#a1a1a6] p-1 shadow-md z-[15]\r\n animate-in fade-in slide-in-from-top-2 duration-200",
2354
2742
  children: [
2355
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2743
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2356
2744
  Button,
2357
2745
  {
2358
2746
  variant: "ghost",
2359
2747
  size: "sm",
2360
2748
  onClick: () => editor.chain().focus().toggleHeading({ level: 1 }).run(),
2361
2749
  className: editor.isActive("heading", { level: 1 }) ? "bg-accent" : "",
2362
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Heading1, { size: 15 })
2750
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.Heading1, { size: 15 })
2363
2751
  }
2364
2752
  ),
2365
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2753
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2366
2754
  Button,
2367
2755
  {
2368
2756
  variant: "ghost",
2369
2757
  size: "sm",
2370
2758
  onClick: () => editor.chain().focus().toggleHeading({ level: 2 }).run(),
2371
2759
  className: editor.isActive("heading", { level: 2 }) ? "bg-accent" : "",
2372
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Heading2, { size: 15 })
2760
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.Heading2, { size: 15 })
2373
2761
  }
2374
2762
  ),
2375
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2763
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2376
2764
  Button,
2377
2765
  {
2378
2766
  variant: "ghost",
2379
2767
  size: "sm",
2380
2768
  onClick: () => editor.chain().focus().toggleHeading({ level: 3 }).run(),
2381
2769
  className: editor.isActive("heading", { level: 3 }) ? "bg-accent" : "",
2382
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Heading3, { size: 15 })
2770
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.Heading3, { size: 15 })
2383
2771
  }
2384
2772
  ),
2385
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Separator, { orientation: "vertical", className: "mx-1" }),
2386
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2773
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Separator, { orientation: "vertical", className: "mx-1" }),
2774
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2387
2775
  Button,
2388
2776
  {
2389
2777
  variant: "ghost",
2390
2778
  size: "sm",
2391
2779
  onClick: () => editor.chain().focus().toggleBulletList().run(),
2392
2780
  className: editor.isActive("bulletList") ? "bg-accent" : "",
2393
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.List, { size: 15 })
2781
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.List, { size: 15 })
2394
2782
  }
2395
2783
  ),
2396
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2784
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2397
2785
  Button,
2398
2786
  {
2399
2787
  variant: "ghost",
2400
2788
  size: "sm",
2401
2789
  onClick: () => editor.chain().focus().toggleOrderedList().run(),
2402
2790
  className: editor.isActive("orderedList") ? "bg-accent" : "",
2403
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.ListOrdered, { size: 15 })
2791
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.ListOrdered, { size: 15 })
2404
2792
  }
2405
2793
  ),
2406
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2794
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2407
2795
  Button,
2408
2796
  {
2409
2797
  variant: "ghost",
2410
2798
  size: "sm",
2411
2799
  onClick: () => editor.chain().focus().toggleTaskList().run(),
2412
2800
  className: editor.isActive("taskList") ? "bg-accent" : "",
2413
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.CheckSquare, { size: 15 })
2801
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.CheckSquare, { size: 15 })
2414
2802
  }
2415
2803
  ),
2416
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Separator, { orientation: "vertical", className: "mx-1" }),
2417
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2804
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Separator, { orientation: "vertical", className: "mx-1" }),
2805
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2418
2806
  Button,
2419
2807
  {
2420
2808
  variant: "ghost",
2421
2809
  size: "sm",
2422
2810
  onClick: () => editor.chain().focus().toggleCodeBlock().run(),
2423
2811
  className: editor.isActive("codeBlock") ? "bg-accent" : "",
2424
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Code, { size: 15 })
2812
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.Code, { size: 15 })
2425
2813
  }
2426
2814
  )
2427
2815
  ]
@@ -2441,9 +2829,9 @@ var import_react20 = require("@tiptap/react");
2441
2829
 
2442
2830
  // src/components/tiptap-icons/close-icon.tsx
2443
2831
  var import_react18 = require("react");
2444
- var import_jsx_runtime23 = require("react/jsx-runtime");
2832
+ var import_jsx_runtime24 = require("react/jsx-runtime");
2445
2833
  var CloseIcon = (0, import_react18.memo)(({ className, ...props }) => {
2446
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2834
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2447
2835
  "svg",
2448
2836
  {
2449
2837
  width: "24",
@@ -2453,7 +2841,7 @@ var CloseIcon = (0, import_react18.memo)(({ className, ...props }) => {
2453
2841
  fill: "currentColor",
2454
2842
  xmlns: "http://www.w3.org/2000/svg",
2455
2843
  ...props,
2456
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2844
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2457
2845
  "path",
2458
2846
  {
2459
2847
  d: "M18.7071 6.70711C19.0976 6.31658 19.0976 5.68342 18.7071 5.29289C18.3166 4.90237 17.6834 4.90237 17.2929 5.29289L12 10.5858L6.70711 5.29289C6.31658 4.90237 5.68342 4.90237 5.29289 5.29289C4.90237 5.68342 4.90237 6.31658 5.29289 6.70711L10.5858 12L5.29289 17.2929C4.90237 17.6834 4.90237 18.3166 5.29289 18.7071C5.68342 19.0976 6.31658 19.0976 6.70711 18.7071L12 13.4142L17.2929 18.7071C17.6834 19.0976 18.3166 19.0976 18.7071 18.7071C19.0976 18.3166 19.0976 17.6834 18.7071 17.2929L13.4142 12L18.7071 6.70711Z",
@@ -2466,7 +2854,7 @@ var CloseIcon = (0, import_react18.memo)(({ className, ...props }) => {
2466
2854
  CloseIcon.displayName = "CloseIcon";
2467
2855
 
2468
2856
  // src/components/tiptap-node/image-upload-node/image-upload-node.tsx
2469
- var import_jsx_runtime24 = require("react/jsx-runtime");
2857
+ var import_jsx_runtime25 = require("react/jsx-runtime");
2470
2858
  function useFileUpload(options) {
2471
2859
  const [fileItems, setFileItems] = (0, import_react19.useState)([]);
2472
2860
  const uploadFile = async (file) => {
@@ -2574,7 +2962,7 @@ function useFileUpload(options) {
2574
2962
  clearAllFiles
2575
2963
  };
2576
2964
  }
2577
- var CloudUploadIcon = () => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
2965
+ var CloudUploadIcon = () => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
2578
2966
  "svg",
2579
2967
  {
2580
2968
  width: "24",
@@ -2584,14 +2972,14 @@ var CloudUploadIcon = () => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
2584
2972
  fill: "currentColor",
2585
2973
  xmlns: "http://www.w3.org/2000/svg",
2586
2974
  children: [
2587
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2975
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2588
2976
  "path",
2589
2977
  {
2590
2978
  d: "M11.1953 4.41771C10.3478 4.08499 9.43578 3.94949 8.5282 4.02147C7.62062 4.09345 6.74133 4.37102 5.95691 4.83316C5.1725 5.2953 4.50354 5.92989 4.00071 6.68886C3.49788 7.44783 3.17436 8.31128 3.05465 9.2138C2.93495 10.1163 3.0222 11.0343 3.3098 11.8981C3.5974 12.7619 4.07781 13.5489 4.71463 14.1995C5.10094 14.5942 5.09414 15.2274 4.69945 15.6137C4.30476 16 3.67163 15.9932 3.28532 15.5985C2.43622 14.731 1.79568 13.6816 1.41221 12.5299C1.02875 11.3781 0.91241 10.1542 1.07201 8.95084C1.23162 7.74748 1.66298 6.59621 2.33343 5.58425C3.00387 4.57229 3.89581 3.72617 4.9417 3.10998C5.98758 2.4938 7.15998 2.1237 8.37008 2.02773C9.58018 1.93176 10.7963 2.11243 11.9262 2.55605C13.0561 2.99968 14.0703 3.69462 14.8919 4.58825C15.5423 5.29573 16.0585 6.11304 16.4177 7.00002H17.4999C18.6799 6.99991 19.8288 7.37933 20.7766 8.08222C21.7245 8.78515 22.4212 9.7743 22.7637 10.9036C23.1062 12.0328 23.0765 13.2423 22.6788 14.3534C22.2812 15.4644 21.5367 16.4181 20.5554 17.0736C20.0962 17.3803 19.4752 17.2567 19.1684 16.7975C18.8617 16.3382 18.9853 15.7172 19.4445 15.4105C20.069 14.9934 20.5427 14.3865 20.7958 13.6794C21.0488 12.9724 21.0678 12.2027 20.8498 11.4841C20.6318 10.7655 20.1885 10.136 19.5853 9.6887C18.9821 9.24138 18.251 8.99993 17.5001 9.00002H15.71C15.2679 9.00002 14.8783 8.70973 14.7518 8.28611C14.4913 7.41374 14.0357 6.61208 13.4195 5.94186C12.8034 5.27164 12.0427 4.75043 11.1953 4.41771Z",
2591
2979
  fill: "currentColor"
2592
2980
  }
2593
2981
  ),
2594
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2982
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2595
2983
  "path",
2596
2984
  {
2597
2985
  d: "M11 14.4142V21C11 21.5523 11.4477 22 12 22C12.5523 22 13 21.5523 13 21V14.4142L15.2929 16.7071C15.6834 17.0976 16.3166 17.0976 16.7071 16.7071C17.0976 16.3166 17.0976 15.6834 16.7071 15.2929L12.7078 11.2936C12.7054 11.2912 12.703 11.2888 12.7005 11.2864C12.5208 11.1099 12.2746 11.0008 12.003 11L12 11L11.997 11C11.8625 11.0004 11.7343 11.0273 11.6172 11.0759C11.502 11.1236 11.3938 11.1937 11.2995 11.2864C11.297 11.2888 11.2946 11.2912 11.2922 11.2936L7.29289 15.2929C6.90237 15.6834 6.90237 16.3166 7.29289 16.7071C7.68342 17.0976 8.31658 17.0976 8.70711 16.7071L11 14.4142Z",
@@ -2601,7 +2989,7 @@ var CloudUploadIcon = () => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
2601
2989
  ]
2602
2990
  }
2603
2991
  );
2604
- var FileIcon = () => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2992
+ var FileIcon = () => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2605
2993
  "svg",
2606
2994
  {
2607
2995
  width: "43",
@@ -2610,7 +2998,7 @@ var FileIcon = () => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2610
2998
  fill: "currentColor",
2611
2999
  className: "tiptap-image-upload-dropzone-rect-primary",
2612
3000
  xmlns: "http://www.w3.org/2000/svg",
2613
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3001
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2614
3002
  "path",
2615
3003
  {
2616
3004
  d: "M0.75 10.75C0.75 5.64137 4.89137 1.5 10 1.5H32.3431C33.2051 1.5 34.0317 1.84241 34.6412 2.4519L40.2981 8.10876C40.9076 8.71825 41.25 9.5449 41.25 10.4069V46.75C41.25 51.8586 37.1086 56 32 56H10C4.89137 56 0.75 51.8586 0.75 46.75V10.75Z",
@@ -2622,7 +3010,7 @@ var FileIcon = () => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2622
3010
  )
2623
3011
  }
2624
3012
  );
2625
- var FileCornerIcon = () => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3013
+ var FileCornerIcon = () => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2626
3014
  "svg",
2627
3015
  {
2628
3016
  width: "10",
@@ -2631,7 +3019,7 @@ var FileCornerIcon = () => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2631
3019
  viewBox: "0 0 10 10",
2632
3020
  fill: "currentColor",
2633
3021
  xmlns: "http://www.w3.org/2000/svg",
2634
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3022
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2635
3023
  "path",
2636
3024
  {
2637
3025
  d: "M0 0.75H0.343146C1.40401 0.75 2.42143 1.17143 3.17157 1.92157L8.82843 7.57843C9.57857 8.32857 10 9.34599 10 10.4069V10.75H4C1.79086 10.75 0 8.95914 0 6.75V0.75Z",
@@ -2674,7 +3062,7 @@ var ImageUploadDragArea = ({
2674
3062
  onFile(files);
2675
3063
  }
2676
3064
  };
2677
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3065
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2678
3066
  "div",
2679
3067
  {
2680
3068
  className: `tiptap-image-upload-drag-area ${isDragActive ? "drag-active" : ""} ${isDragOver ? "drag-over" : ""}`,
@@ -2697,28 +3085,28 @@ var ImageUploadPreview = ({
2697
3085
  const i = Math.floor(Math.log(bytes) / Math.log(k));
2698
3086
  return `${parseFloat((bytes / Math.pow(k, i)).toFixed(2))} ${sizes[i]}`;
2699
3087
  };
2700
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "tiptap-image-upload-preview", children: [
2701
- fileItem.status === "uploading" && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3088
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-preview", children: [
3089
+ fileItem.status === "uploading" && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2702
3090
  "div",
2703
3091
  {
2704
3092
  className: "tiptap-image-upload-progress",
2705
3093
  style: { width: `${fileItem.progress}%` }
2706
3094
  }
2707
3095
  ),
2708
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "tiptap-image-upload-preview-content", children: [
2709
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "tiptap-image-upload-file-info", children: [
2710
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "tiptap-image-upload-file-icon", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(CloudUploadIcon, {}) }),
2711
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "tiptap-image-upload-details", children: [
2712
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "tiptap-image-upload-text", children: fileItem.file.name }),
2713
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "tiptap-image-upload-subtext", children: formatFileSize(fileItem.file.size) })
3096
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-preview-content", children: [
3097
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-file-info", children: [
3098
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "tiptap-image-upload-file-icon", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CloudUploadIcon, {}) }),
3099
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-details", children: [
3100
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "tiptap-image-upload-text", children: fileItem.file.name }),
3101
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "tiptap-image-upload-subtext", children: formatFileSize(fileItem.file.size) })
2714
3102
  ] })
2715
3103
  ] }),
2716
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "tiptap-image-upload-actions", children: [
2717
- fileItem.status === "uploading" && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: "tiptap-image-upload-progress-text", children: [
3104
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-actions", children: [
3105
+ fileItem.status === "uploading" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("span", { className: "tiptap-image-upload-progress-text", children: [
2718
3106
  fileItem.progress,
2719
3107
  "%"
2720
3108
  ] }),
2721
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3109
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2722
3110
  Button2,
2723
3111
  {
2724
3112
  type: "button",
@@ -2727,7 +3115,7 @@ var ImageUploadPreview = ({
2727
3115
  e.stopPropagation();
2728
3116
  onRemove();
2729
3117
  },
2730
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(CloseIcon, { className: "tiptap-button-icon" })
3118
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CloseIcon, { className: "tiptap-button-icon" })
2731
3119
  }
2732
3120
  )
2733
3121
  ] })
@@ -2737,18 +3125,18 @@ var ImageUploadPreview = ({
2737
3125
  var DropZoneContent = ({
2738
3126
  maxSize,
2739
3127
  limit
2740
- }) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_jsx_runtime24.Fragment, { children: [
2741
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "tiptap-image-upload-dropzone", children: [
2742
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(FileIcon, {}),
2743
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(FileCornerIcon, {}),
2744
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "tiptap-image-upload-icon-container", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(CloudUploadIcon, {}) })
3128
+ }) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_jsx_runtime25.Fragment, { children: [
3129
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-dropzone", children: [
3130
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(FileIcon, {}),
3131
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(FileCornerIcon, {}),
3132
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "tiptap-image-upload-icon-container", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CloudUploadIcon, {}) })
2745
3133
  ] }),
2746
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "tiptap-image-upload-content", children: [
2747
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: "tiptap-image-upload-text", children: [
2748
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("em", { children: "Click to upload" }),
3134
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-content", children: [
3135
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("span", { className: "tiptap-image-upload-text", children: [
3136
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("em", { children: "Click to upload" }),
2749
3137
  " or drag and drop"
2750
3138
  ] }),
2751
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: "tiptap-image-upload-subtext", children: [
3139
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("span", { className: "tiptap-image-upload-subtext", children: [
2752
3140
  "Maximum ",
2753
3141
  limit,
2754
3142
  " file",
@@ -2809,22 +3197,22 @@ var ImageUploadNode = (props) => {
2809
3197
  }
2810
3198
  };
2811
3199
  const hasFiles = fileItems.length > 0;
2812
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
3200
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
2813
3201
  import_react20.NodeViewWrapper,
2814
3202
  {
2815
3203
  className: "tiptap-image-upload",
2816
3204
  tabIndex: 0,
2817
3205
  onClick: handleClick,
2818
3206
  children: [
2819
- !hasFiles && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(ImageUploadDragArea, { onFile: handleUpload, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DropZoneContent, { maxSize, limit }) }),
2820
- hasFiles && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "tiptap-image-upload-previews", children: [
2821
- fileItems.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "tiptap-image-upload-header", children: [
2822
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { children: [
3207
+ !hasFiles && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(ImageUploadDragArea, { onFile: handleUpload, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DropZoneContent, { maxSize, limit }) }),
3208
+ hasFiles && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-previews", children: [
3209
+ fileItems.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-header", children: [
3210
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("span", { children: [
2823
3211
  "Uploading ",
2824
3212
  fileItems.length,
2825
3213
  " files"
2826
3214
  ] }),
2827
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3215
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2828
3216
  Button2,
2829
3217
  {
2830
3218
  type: "button",
@@ -2837,7 +3225,7 @@ var ImageUploadNode = (props) => {
2837
3225
  }
2838
3226
  )
2839
3227
  ] }),
2840
- fileItems.map((fileItem) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3228
+ fileItems.map((fileItem) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2841
3229
  ImageUploadPreview,
2842
3230
  {
2843
3231
  fileItem,
@@ -2846,7 +3234,7 @@ var ImageUploadNode = (props) => {
2846
3234
  fileItem.id
2847
3235
  ))
2848
3236
  ] }),
2849
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3237
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2850
3238
  "input",
2851
3239
  {
2852
3240
  ref: inputRef,
@@ -2959,9 +3347,9 @@ var import_react38 = require("react");
2959
3347
 
2960
3348
  // src/components/tiptap-icons/chevron-down-icon.tsx
2961
3349
  var import_react24 = require("react");
2962
- var import_jsx_runtime25 = require("react/jsx-runtime");
3350
+ var import_jsx_runtime26 = require("react/jsx-runtime");
2963
3351
  var ChevronDownIcon = (0, import_react24.memo)(({ className, ...props }) => {
2964
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3352
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2965
3353
  "svg",
2966
3354
  {
2967
3355
  width: "24",
@@ -2971,7 +3359,7 @@ var ChevronDownIcon = (0, import_react24.memo)(({ className, ...props }) => {
2971
3359
  fill: "currentColor",
2972
3360
  xmlns: "http://www.w3.org/2000/svg",
2973
3361
  ...props,
2974
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3362
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2975
3363
  "path",
2976
3364
  {
2977
3365
  fillRule: "evenodd",
@@ -3019,7 +3407,7 @@ var import_react28 = require("react");
3019
3407
 
3020
3408
  // src/components/tiptap-ui-primitive/badge/badge.tsx
3021
3409
  var import_react27 = require("react");
3022
- var import_jsx_runtime26 = require("react/jsx-runtime");
3410
+ var import_jsx_runtime27 = require("react/jsx-runtime");
3023
3411
  var Badge = (0, import_react27.forwardRef)(
3024
3412
  ({
3025
3413
  variant,
@@ -3030,7 +3418,7 @@ var Badge = (0, import_react27.forwardRef)(
3030
3418
  children,
3031
3419
  ...props
3032
3420
  }, ref) => {
3033
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3421
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
3034
3422
  "div",
3035
3423
  {
3036
3424
  ref,
@@ -3048,12 +3436,12 @@ var Badge = (0, import_react27.forwardRef)(
3048
3436
  Badge.displayName = "Badge";
3049
3437
 
3050
3438
  // src/components/tiptap-ui/heading-button/heading-button.tsx
3051
- var import_jsx_runtime27 = require("react/jsx-runtime");
3439
+ var import_jsx_runtime28 = require("react/jsx-runtime");
3052
3440
  function HeadingShortcutBadge({
3053
3441
  level,
3054
3442
  shortcutKeys = HEADING_SHORTCUT_KEYS[level]
3055
3443
  }) {
3056
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
3444
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
3057
3445
  }
3058
3446
  var HeadingButton = (0, import_react28.forwardRef)(
3059
3447
  ({
@@ -3093,7 +3481,7 @@ var HeadingButton = (0, import_react28.forwardRef)(
3093
3481
  if (!isVisible) {
3094
3482
  return null;
3095
3483
  }
3096
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
3484
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3097
3485
  Button2,
3098
3486
  {
3099
3487
  type: "button",
@@ -3109,10 +3497,10 @@ var HeadingButton = (0, import_react28.forwardRef)(
3109
3497
  onClick: handleClick,
3110
3498
  ...buttonProps,
3111
3499
  ref,
3112
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
3113
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon, { className: "tiptap-button-icon" }),
3114
- text && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "tiptap-button-text", children: text }),
3115
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(HeadingShortcutBadge, { level, shortcutKeys })
3500
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [
3501
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon, { className: "tiptap-button-icon" }),
3502
+ text && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "tiptap-button-text", children: text }),
3503
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(HeadingShortcutBadge, { level, shortcutKeys })
3116
3504
  ] })
3117
3505
  }
3118
3506
  );
@@ -3122,13 +3510,13 @@ HeadingButton.displayName = "HeadingButton";
3122
3510
 
3123
3511
  // src/components/tiptap-ui/heading-button/use-heading.ts
3124
3512
  var import_react35 = require("react");
3125
- var import_state2 = require("@tiptap/pm/state");
3513
+ var import_state3 = require("@tiptap/pm/state");
3126
3514
 
3127
3515
  // src/components/tiptap-icons/heading-one-icon.tsx
3128
3516
  var import_react29 = require("react");
3129
- var import_jsx_runtime28 = require("react/jsx-runtime");
3517
+ var import_jsx_runtime29 = require("react/jsx-runtime");
3130
3518
  var HeadingOneIcon = (0, import_react29.memo)(({ className, ...props }) => {
3131
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
3519
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
3132
3520
  "svg",
3133
3521
  {
3134
3522
  width: "24",
@@ -3139,14 +3527,14 @@ var HeadingOneIcon = (0, import_react29.memo)(({ className, ...props }) => {
3139
3527
  xmlns: "http://www.w3.org/2000/svg",
3140
3528
  ...props,
3141
3529
  children: [
3142
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3530
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3143
3531
  "path",
3144
3532
  {
3145
3533
  d: "M5 6C5 5.44772 4.55228 5 4 5C3.44772 5 3 5.44772 3 6V18C3 18.5523 3.44772 19 4 19C4.55228 19 5 18.5523 5 18V13H11V18C11 18.5523 11.4477 19 12 19C12.5523 19 13 18.5523 13 18V6C13 5.44772 12.5523 5 12 5C11.4477 5 11 5.44772 11 6V11H5V6Z",
3146
3534
  fill: "currentColor"
3147
3535
  }
3148
3536
  ),
3149
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3537
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3150
3538
  "path",
3151
3539
  {
3152
3540
  d: "M21.0001 10C21.0001 9.63121 20.7971 9.29235 20.472 9.11833C20.1468 8.94431 19.7523 8.96338 19.4454 9.16795L16.4454 11.168C15.9859 11.4743 15.8617 12.0952 16.1681 12.5547C16.4744 13.0142 17.0953 13.1384 17.5548 12.8321L19.0001 11.8685V18C19.0001 18.5523 19.4478 19 20.0001 19C20.5524 19 21.0001 18.5523 21.0001 18V10Z",
@@ -3161,9 +3549,9 @@ HeadingOneIcon.displayName = "HeadingOneIcon";
3161
3549
 
3162
3550
  // src/components/tiptap-icons/heading-two-icon.tsx
3163
3551
  var import_react30 = require("react");
3164
- var import_jsx_runtime29 = require("react/jsx-runtime");
3552
+ var import_jsx_runtime30 = require("react/jsx-runtime");
3165
3553
  var HeadingTwoIcon = (0, import_react30.memo)(({ className, ...props }) => {
3166
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
3554
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
3167
3555
  "svg",
3168
3556
  {
3169
3557
  width: "24",
@@ -3174,14 +3562,14 @@ var HeadingTwoIcon = (0, import_react30.memo)(({ className, ...props }) => {
3174
3562
  xmlns: "http://www.w3.org/2000/svg",
3175
3563
  ...props,
3176
3564
  children: [
3177
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3565
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3178
3566
  "path",
3179
3567
  {
3180
3568
  d: "M5 6C5 5.44772 4.55228 5 4 5C3.44772 5 3 5.44772 3 6V18C3 18.5523 3.44772 19 4 19C4.55228 19 5 18.5523 5 18V13H11V18C11 18.5523 11.4477 19 12 19C12.5523 19 13 18.5523 13 18V6C13 5.44772 12.5523 5 12 5C11.4477 5 11 5.44772 11 6V11H5V6Z",
3181
3569
  fill: "currentColor"
3182
3570
  }
3183
3571
  ),
3184
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3572
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3185
3573
  "path",
3186
3574
  {
3187
3575
  d: "M22.0001 12C22.0001 10.7611 21.1663 9.79297 20.0663 9.42632C18.9547 9.05578 17.6171 9.28724 16.4001 10.2C15.9582 10.5314 15.8687 11.1582 16.2001 11.6C16.5314 12.0418 17.1582 12.1314 17.6001 11.8C18.383 11.2128 19.0455 11.1942 19.4338 11.3237C19.8339 11.457 20.0001 11.7389 20.0001 12C20.0001 12.4839 19.8554 12.7379 19.6537 12.9481C19.4275 13.1837 19.1378 13.363 18.7055 13.6307C18.6313 13.6767 18.553 13.7252 18.4701 13.777C17.9572 14.0975 17.3128 14.5261 16.8163 15.2087C16.3007 15.9177 16.0001 16.8183 16.0001 18C16.0001 18.5523 16.4478 19 17.0001 19H21.0001C21.5523 19 22.0001 18.5523 22.0001 18C22.0001 17.4477 21.5523 17 21.0001 17H18.131C18.21 16.742 18.3176 16.5448 18.4338 16.385C18.6873 16.0364 19.0429 15.7775 19.5301 15.473C19.5898 15.4357 19.6536 15.3966 19.7205 15.3556C20.139 15.0992 20.6783 14.7687 21.0964 14.3332C21.6447 13.7621 22.0001 13.0161 22.0001 12Z",
@@ -3196,9 +3584,9 @@ HeadingTwoIcon.displayName = "HeadingTwoIcon";
3196
3584
 
3197
3585
  // src/components/tiptap-icons/heading-three-icon.tsx
3198
3586
  var import_react31 = require("react");
3199
- var import_jsx_runtime30 = require("react/jsx-runtime");
3587
+ var import_jsx_runtime31 = require("react/jsx-runtime");
3200
3588
  var HeadingThreeIcon = (0, import_react31.memo)(({ className, ...props }) => {
3201
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
3589
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
3202
3590
  "svg",
3203
3591
  {
3204
3592
  width: "24",
@@ -3209,14 +3597,14 @@ var HeadingThreeIcon = (0, import_react31.memo)(({ className, ...props }) => {
3209
3597
  xmlns: "http://www.w3.org/2000/svg",
3210
3598
  ...props,
3211
3599
  children: [
3212
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3600
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3213
3601
  "path",
3214
3602
  {
3215
3603
  d: "M4 5C4.55228 5 5 5.44772 5 6V11H11V6C11 5.44772 11.4477 5 12 5C12.5523 5 13 5.44772 13 6V18C13 18.5523 12.5523 19 12 19C11.4477 19 11 18.5523 11 18V13H5V18C5 18.5523 4.55228 19 4 19C3.44772 19 3 18.5523 3 18V6C3 5.44772 3.44772 5 4 5Z",
3216
3604
  fill: "currentColor"
3217
3605
  }
3218
3606
  ),
3219
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3607
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3220
3608
  "path",
3221
3609
  {
3222
3610
  fillRule: "evenodd",
@@ -3225,7 +3613,7 @@ var HeadingThreeIcon = (0, import_react31.memo)(({ className, ...props }) => {
3225
3613
  fill: "currentColor"
3226
3614
  }
3227
3615
  ),
3228
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3616
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3229
3617
  "path",
3230
3618
  {
3231
3619
  fillRule: "evenodd",
@@ -3242,9 +3630,9 @@ HeadingThreeIcon.displayName = "HeadingThreeIcon";
3242
3630
 
3243
3631
  // src/components/tiptap-icons/heading-four-icon.tsx
3244
3632
  var import_react32 = require("react");
3245
- var import_jsx_runtime31 = require("react/jsx-runtime");
3633
+ var import_jsx_runtime32 = require("react/jsx-runtime");
3246
3634
  var HeadingFourIcon = (0, import_react32.memo)(({ className, ...props }) => {
3247
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
3635
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
3248
3636
  "svg",
3249
3637
  {
3250
3638
  width: "24",
@@ -3255,14 +3643,14 @@ var HeadingFourIcon = (0, import_react32.memo)(({ className, ...props }) => {
3255
3643
  xmlns: "http://www.w3.org/2000/svg",
3256
3644
  ...props,
3257
3645
  children: [
3258
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3646
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3259
3647
  "path",
3260
3648
  {
3261
3649
  d: "M4 5C4.55228 5 5 5.44772 5 6V11H11V6C11 5.44772 11.4477 5 12 5C12.5523 5 13 5.44772 13 6V18C13 18.5523 12.5523 19 12 19C11.4477 19 11 18.5523 11 18V13H5V18C5 18.5523 4.55228 19 4 19C3.44772 19 3 18.5523 3 18V6C3 5.44772 3.44772 5 4 5Z",
3262
3650
  fill: "currentColor"
3263
3651
  }
3264
3652
  ),
3265
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3653
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3266
3654
  "path",
3267
3655
  {
3268
3656
  d: "M17 9C17.5523 9 18 9.44772 18 10V13H20V10C20 9.44772 20.4477 9 21 9C21.5523 9 22 9.44772 22 10V18C22 18.5523 21.5523 19 21 19C20.4477 19 20 18.5523 20 18V15H17C16.4477 15 16 14.5523 16 14V10C16 9.44772 16.4477 9 17 9Z",
@@ -3277,9 +3665,9 @@ HeadingFourIcon.displayName = "HeadingFourIcon";
3277
3665
 
3278
3666
  // src/components/tiptap-icons/heading-five-icon.tsx
3279
3667
  var import_react33 = require("react");
3280
- var import_jsx_runtime32 = require("react/jsx-runtime");
3668
+ var import_jsx_runtime33 = require("react/jsx-runtime");
3281
3669
  var HeadingFiveIcon = (0, import_react33.memo)(({ className, ...props }) => {
3282
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
3670
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3283
3671
  "svg",
3284
3672
  {
3285
3673
  width: "24",
@@ -3290,14 +3678,14 @@ var HeadingFiveIcon = (0, import_react33.memo)(({ className, ...props }) => {
3290
3678
  xmlns: "http://www.w3.org/2000/svg",
3291
3679
  ...props,
3292
3680
  children: [
3293
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3681
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3294
3682
  "path",
3295
3683
  {
3296
3684
  d: "M5 6C5 5.44772 4.55228 5 4 5C3.44772 5 3 5.44772 3 6V18C3 18.5523 3.44772 19 4 19C4.55228 19 5 18.5523 5 18V13H11V18C11 18.5523 11.4477 19 12 19C12.5523 19 13 18.5523 13 18V6C13 5.44772 12.5523 5 12 5C11.4477 5 11 5.44772 11 6V11H5V6Z",
3297
3685
  fill: "currentColor"
3298
3686
  }
3299
3687
  ),
3300
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3688
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3301
3689
  "path",
3302
3690
  {
3303
3691
  d: "M16 10C16 9.44772 16.4477 9 17 9H21C21.5523 9 22 9.44772 22 10C22 10.5523 21.5523 11 21 11H18V12H18.3C20.2754 12 22 13.4739 22 15.5C22 17.5261 20.2754 19 18.3 19C17.6457 19 17.0925 18.8643 16.5528 18.5944C16.0588 18.3474 15.8586 17.7468 16.1055 17.2528C16.3525 16.7588 16.9532 16.5586 17.4472 16.8056C17.7074 16.9357 17.9542 17 18.3 17C19.3246 17 20 16.2739 20 15.5C20 14.7261 19.3246 14 18.3 14H17C16.4477 14 16 13.5523 16 13L16 12.9928V10Z",
@@ -3312,9 +3700,9 @@ HeadingFiveIcon.displayName = "HeadingFiveIcon";
3312
3700
 
3313
3701
  // src/components/tiptap-icons/heading-six-icon.tsx
3314
3702
  var import_react34 = require("react");
3315
- var import_jsx_runtime33 = require("react/jsx-runtime");
3703
+ var import_jsx_runtime34 = require("react/jsx-runtime");
3316
3704
  var HeadingSixIcon = (0, import_react34.memo)(({ className, ...props }) => {
3317
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3705
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
3318
3706
  "svg",
3319
3707
  {
3320
3708
  width: "24",
@@ -3325,14 +3713,14 @@ var HeadingSixIcon = (0, import_react34.memo)(({ className, ...props }) => {
3325
3713
  xmlns: "http://www.w3.org/2000/svg",
3326
3714
  ...props,
3327
3715
  children: [
3328
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3716
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3329
3717
  "path",
3330
3718
  {
3331
3719
  d: "M5 6C5 5.44772 4.55228 5 4 5C3.44772 5 3 5.44772 3 6V18C3 18.5523 3.44772 19 4 19C4.55228 19 5 18.5523 5 18V13H11V18C11 18.5523 11.4477 19 12 19C12.5523 19 13 18.5523 13 18V6C13 5.44772 12.5523 5 12 5C11.4477 5 11 5.44772 11 6V11H5V6Z",
3332
3720
  fill: "currentColor"
3333
3721
  }
3334
3722
  ),
3335
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3723
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3336
3724
  "path",
3337
3725
  {
3338
3726
  fillRule: "evenodd",
@@ -3399,26 +3787,26 @@ function toggleHeading(editor, level) {
3399
3787
  const view = editor.view;
3400
3788
  let state = view.state;
3401
3789
  let tr = state.tr;
3402
- if (state.selection.empty || state.selection instanceof import_state2.TextSelection) {
3790
+ if (state.selection.empty || state.selection instanceof import_state3.TextSelection) {
3403
3791
  const pos = findNodePosition({
3404
3792
  editor,
3405
3793
  node: state.selection.$anchor.node(1)
3406
3794
  })?.pos;
3407
3795
  if (!isValidPosition(pos)) return false;
3408
- tr = tr.setSelection(import_state2.NodeSelection.create(state.doc, pos));
3796
+ tr = tr.setSelection(import_state3.NodeSelection.create(state.doc, pos));
3409
3797
  view.dispatch(tr);
3410
3798
  state = view.state;
3411
3799
  }
3412
3800
  const selection = state.selection;
3413
3801
  let chain = editor.chain().focus();
3414
- if (selection instanceof import_state2.NodeSelection) {
3802
+ if (selection instanceof import_state3.NodeSelection) {
3415
3803
  const firstChild = selection.node.firstChild?.firstChild;
3416
3804
  const lastChild = selection.node.lastChild?.lastChild;
3417
3805
  const from = firstChild ? selection.from + firstChild.nodeSize : selection.from + 1;
3418
3806
  const to = lastChild ? selection.to - lastChild.nodeSize : selection.to - 1;
3419
3807
  const resolvedFrom = state.doc.resolve(from);
3420
3808
  const resolvedTo = state.doc.resolve(to);
3421
- chain = chain.setTextSelection(import_state2.TextSelection.between(resolvedFrom, resolvedTo)).clearNodes();
3809
+ chain = chain.setTextSelection(import_state3.TextSelection.between(resolvedFrom, resolvedTo)).clearNodes();
3422
3810
  }
3423
3811
  const isActive = levels.some(
3424
3812
  (l) => editor.isActive("heading", { level: l })
@@ -3487,22 +3875,22 @@ function useHeading(config) {
3487
3875
  // src/components/tiptap-ui-primitive/dropdown-menu/dropdown-menu.tsx
3488
3876
  var import_react36 = require("react");
3489
3877
  var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
3490
- var import_jsx_runtime34 = require("react/jsx-runtime");
3878
+ var import_jsx_runtime35 = require("react/jsx-runtime");
3491
3879
  function DropdownMenu({
3492
3880
  ...props
3493
3881
  }) {
3494
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DropdownMenuPrimitive.Root, { modal: false, ...props });
3882
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropdownMenuPrimitive.Root, { modal: false, ...props });
3495
3883
  }
3496
3884
  function DropdownMenuPortal({
3497
3885
  ...props
3498
3886
  }) {
3499
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DropdownMenuPrimitive.Portal, { ...props });
3887
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropdownMenuPrimitive.Portal, { ...props });
3500
3888
  }
3501
- var DropdownMenuTrigger = (0, import_react36.forwardRef)(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DropdownMenuPrimitive.Trigger, { ref, ...props }));
3889
+ var DropdownMenuTrigger = (0, import_react36.forwardRef)(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropdownMenuPrimitive.Trigger, { ref, ...props }));
3502
3890
  DropdownMenuTrigger.displayName = DropdownMenuPrimitive.Trigger.displayName;
3503
3891
  var DropdownMenuItem = DropdownMenuPrimitive.Item;
3504
3892
  var DropdownMenuSubContent = (0, import_react36.forwardRef)(({ className, portal = true, ...props }, ref) => {
3505
- const content = /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3893
+ const content = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3506
3894
  DropdownMenuPrimitive.SubContent,
3507
3895
  {
3508
3896
  ref,
@@ -3510,11 +3898,11 @@ var DropdownMenuSubContent = (0, import_react36.forwardRef)(({ className, portal
3510
3898
  ...props
3511
3899
  }
3512
3900
  );
3513
- return portal ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DropdownMenuPortal, { ...typeof portal === "object" ? portal : {}, children: content }) : content;
3901
+ return portal ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropdownMenuPortal, { ...typeof portal === "object" ? portal : {}, children: content }) : content;
3514
3902
  });
3515
3903
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
3516
3904
  var DropdownMenuContent = (0, import_react36.forwardRef)(({ className, sideOffset = 4, portal = false, ...props }, ref) => {
3517
- const content = /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3905
+ const content = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3518
3906
  DropdownMenuPrimitive.Content,
3519
3907
  {
3520
3908
  ref,
@@ -3524,22 +3912,22 @@ var DropdownMenuContent = (0, import_react36.forwardRef)(({ className, sideOffse
3524
3912
  ...props
3525
3913
  }
3526
3914
  );
3527
- return portal ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DropdownMenuPortal, { ...typeof portal === "object" ? portal : {}, children: content }) : content;
3915
+ return portal ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropdownMenuPortal, { ...typeof portal === "object" ? portal : {}, children: content }) : content;
3528
3916
  });
3529
3917
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
3530
3918
 
3531
3919
  // src/components/tiptap-ui-primitive/card/card.tsx
3532
3920
  var import_react37 = require("react");
3533
- var import_jsx_runtime35 = require("react/jsx-runtime");
3921
+ var import_jsx_runtime36 = require("react/jsx-runtime");
3534
3922
  var Card = (0, import_react37.forwardRef)(
3535
3923
  ({ className, ...props }, ref) => {
3536
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { ref, className: cn2("tiptap-card", className), ...props });
3924
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { ref, className: cn2("tiptap-card", className), ...props });
3537
3925
  }
3538
3926
  );
3539
3927
  Card.displayName = "Card";
3540
3928
  var CardHeader = (0, import_react37.forwardRef)(
3541
3929
  ({ className, ...props }, ref) => {
3542
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3930
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3543
3931
  "div",
3544
3932
  {
3545
3933
  ref,
@@ -3552,12 +3940,12 @@ var CardHeader = (0, import_react37.forwardRef)(
3552
3940
  CardHeader.displayName = "CardHeader";
3553
3941
  var CardBody = (0, import_react37.forwardRef)(
3554
3942
  ({ className, ...props }, ref) => {
3555
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { ref, className: cn2("tiptap-card-body", className), ...props });
3943
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { ref, className: cn2("tiptap-card-body", className), ...props });
3556
3944
  }
3557
3945
  );
3558
3946
  CardBody.displayName = "CardBody";
3559
3947
  var CardItemGroup = (0, import_react37.forwardRef)(({ className, orientation = "vertical", ...props }, ref) => {
3560
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3948
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3561
3949
  "div",
3562
3950
  {
3563
3951
  ref,
@@ -3570,7 +3958,7 @@ var CardItemGroup = (0, import_react37.forwardRef)(({ className, orientation = "
3570
3958
  CardItemGroup.displayName = "CardItemGroup";
3571
3959
  var CardGroupLabel = (0, import_react37.forwardRef)(
3572
3960
  ({ className, ...props }, ref) => {
3573
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3961
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3574
3962
  "div",
3575
3963
  {
3576
3964
  ref,
@@ -3583,7 +3971,7 @@ var CardGroupLabel = (0, import_react37.forwardRef)(
3583
3971
  CardGroupLabel.displayName = "CardGroupLabel";
3584
3972
  var CardFooter = (0, import_react37.forwardRef)(
3585
3973
  ({ className, ...props }, ref) => {
3586
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3974
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3587
3975
  "div",
3588
3976
  {
3589
3977
  ref,
@@ -3596,7 +3984,7 @@ var CardFooter = (0, import_react37.forwardRef)(
3596
3984
  CardFooter.displayName = "CardFooter";
3597
3985
 
3598
3986
  // src/components/tiptap-ui/heading-dropdown-menu/heading-dropdown-menu.tsx
3599
- var import_jsx_runtime36 = require("react/jsx-runtime");
3987
+ var import_jsx_runtime37 = require("react/jsx-runtime");
3600
3988
  var HeadingDropdownMenu = (0, import_react38.forwardRef)(
3601
3989
  ({
3602
3990
  editor: providedEditor,
@@ -3624,8 +4012,8 @@ var HeadingDropdownMenu = (0, import_react38.forwardRef)(
3624
4012
  if (!isVisible) {
3625
4013
  return null;
3626
4014
  }
3627
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(DropdownMenu, { modal: true, open: isOpen, onOpenChange: handleOpenChange, children: [
3628
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
4015
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(DropdownMenu, { modal: true, open: isOpen, onOpenChange: handleOpenChange, children: [
4016
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
3629
4017
  Button2,
3630
4018
  {
3631
4019
  type: "button",
@@ -3641,12 +4029,12 @@ var HeadingDropdownMenu = (0, import_react38.forwardRef)(
3641
4029
  ...buttonProps,
3642
4030
  ref,
3643
4031
  children: [
3644
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon, { className: "tiptap-button-icon" }),
3645
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ChevronDownIcon, { className: "tiptap-button-dropdown-small" })
4032
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Icon, { className: "tiptap-button-icon" }),
4033
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ChevronDownIcon, { className: "tiptap-button-dropdown-small" })
3646
4034
  ]
3647
4035
  }
3648
4036
  ) }),
3649
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropdownMenuContent, { align: "start", portal, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Card, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CardBody, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ButtonGroup, { children: levels.map((level) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
4037
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropdownMenuContent, { align: "start", portal, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Card, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(CardBody, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ButtonGroup, { children: levels.map((level) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3650
4038
  HeadingButton,
3651
4039
  {
3652
4040
  editor,
@@ -3665,9 +4053,9 @@ var import_react40 = require("react");
3665
4053
 
3666
4054
  // src/components/tiptap-icons/heading-icon.tsx
3667
4055
  var import_react39 = require("react");
3668
- var import_jsx_runtime37 = require("react/jsx-runtime");
4056
+ var import_jsx_runtime38 = require("react/jsx-runtime");
3669
4057
  var HeadingIcon = (0, import_react39.memo)(({ className, ...props }) => {
3670
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4058
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3671
4059
  "svg",
3672
4060
  {
3673
4061
  width: "24",
@@ -3677,7 +4065,7 @@ var HeadingIcon = (0, import_react39.memo)(({ className, ...props }) => {
3677
4065
  fill: "currentColor",
3678
4066
  xmlns: "http://www.w3.org/2000/svg",
3679
4067
  ...props,
3680
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4068
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3681
4069
  "path",
3682
4070
  {
3683
4071
  d: "M6 3C6.55228 3 7 3.44772 7 4V11H17V4C17 3.44772 17.4477 3 18 3C18.5523 3 19 3.44772 19 4V20C19 20.5523 18.5523 21 18 21C17.4477 21 17 20.5523 17 20V13H7V20C7 20.5523 6.55228 21 6 21C5.44772 21 5 20.5523 5 20V4C5 3.44772 5.44772 3 6 3Z",
@@ -3731,11 +4119,11 @@ function useHeadingDropdownMenu(config) {
3731
4119
 
3732
4120
  // src/components/tiptap-ui/image-upload-button/image-upload-button.tsx
3733
4121
  var import_react41 = require("react");
3734
- var import_jsx_runtime38 = require("react/jsx-runtime");
4122
+ var import_jsx_runtime39 = require("react/jsx-runtime");
3735
4123
  function ImageShortcutBadge({
3736
4124
  shortcutKeys = IMAGE_UPLOAD_SHORTCUT_KEY
3737
4125
  }) {
3738
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
4126
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
3739
4127
  }
3740
4128
  var ImageUploadButton = (0, import_react41.forwardRef)(
3741
4129
  ({
@@ -3775,7 +4163,7 @@ var ImageUploadButton = (0, import_react41.forwardRef)(
3775
4163
  return null;
3776
4164
  }
3777
4165
  const RenderIcon = CustomIcon ?? Icon;
3778
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4166
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3779
4167
  Button2,
3780
4168
  {
3781
4169
  type: "button",
@@ -3791,10 +4179,10 @@ var ImageUploadButton = (0, import_react41.forwardRef)(
3791
4179
  onClick: handleClick,
3792
4180
  ...buttonProps,
3793
4181
  ref,
3794
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
3795
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(RenderIcon, { className: "tiptap-button-icon" }),
3796
- text && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "tiptap-button-text", children: text }),
3797
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ImageShortcutBadge, { shortcutKeys })
4182
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
4183
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(RenderIcon, { className: "tiptap-button-icon" }),
4184
+ text && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "tiptap-button-text", children: text }),
4185
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ImageShortcutBadge, { shortcutKeys })
3798
4186
  ] })
3799
4187
  }
3800
4188
  );
@@ -3823,9 +4211,9 @@ function useIsBreakpoint(mode = "max", breakpoint = 768) {
3823
4211
 
3824
4212
  // src/components/tiptap-icons/image-plus-icon.tsx
3825
4213
  var import_react43 = require("react");
3826
- var import_jsx_runtime39 = require("react/jsx-runtime");
4214
+ var import_jsx_runtime40 = require("react/jsx-runtime");
3827
4215
  var ImagePlusIcon = (0, import_react43.memo)(({ className, ...props }) => {
3828
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4216
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3829
4217
  "svg",
3830
4218
  {
3831
4219
  width: "24",
@@ -3835,7 +4223,7 @@ var ImagePlusIcon = (0, import_react43.memo)(({ className, ...props }) => {
3835
4223
  fill: "currentColor",
3836
4224
  xmlns: "http://www.w3.org/2000/svg",
3837
4225
  ...props,
3838
- children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4226
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3839
4227
  "path",
3840
4228
  {
3841
4229
  fillRule: "evenodd",
@@ -3959,12 +4347,12 @@ var import_react51 = require("react");
3959
4347
 
3960
4348
  // src/components/tiptap-ui/list-button/list-button.tsx
3961
4349
  var import_react45 = require("react");
3962
- var import_jsx_runtime40 = require("react/jsx-runtime");
4350
+ var import_jsx_runtime41 = require("react/jsx-runtime");
3963
4351
  function ListShortcutBadge({
3964
4352
  type,
3965
4353
  shortcutKeys = LIST_SHORTCUT_KEYS[type]
3966
4354
  }) {
3967
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
4355
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
3968
4356
  }
3969
4357
  var ListButton = (0, import_react45.forwardRef)(
3970
4358
  ({
@@ -4004,7 +4392,7 @@ var ListButton = (0, import_react45.forwardRef)(
4004
4392
  if (!isVisible) {
4005
4393
  return null;
4006
4394
  }
4007
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4395
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4008
4396
  Button2,
4009
4397
  {
4010
4398
  type: "button",
@@ -4020,10 +4408,10 @@ var ListButton = (0, import_react45.forwardRef)(
4020
4408
  onClick: handleClick,
4021
4409
  ...buttonProps,
4022
4410
  ref,
4023
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
4024
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Icon, { className: "tiptap-button-icon" }),
4025
- text && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "tiptap-button-text", children: text }),
4026
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ListShortcutBadge, { type, shortcutKeys })
4411
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
4412
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Icon, { className: "tiptap-button-icon" }),
4413
+ text && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "tiptap-button-text", children: text }),
4414
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ListShortcutBadge, { type, shortcutKeys })
4027
4415
  ] })
4028
4416
  }
4029
4417
  );
@@ -4033,13 +4421,13 @@ ListButton.displayName = "ListButton";
4033
4421
 
4034
4422
  // src/components/tiptap-ui/list-button/use-list.ts
4035
4423
  var import_react49 = require("react");
4036
- var import_state3 = require("@tiptap/pm/state");
4424
+ var import_state4 = require("@tiptap/pm/state");
4037
4425
 
4038
4426
  // src/components/tiptap-icons/list-icon.tsx
4039
4427
  var import_react46 = require("react");
4040
- var import_jsx_runtime41 = require("react/jsx-runtime");
4428
+ var import_jsx_runtime42 = require("react/jsx-runtime");
4041
4429
  var ListIcon = (0, import_react46.memo)(({ className, ...props }) => {
4042
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
4430
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4043
4431
  "svg",
4044
4432
  {
4045
4433
  width: "24",
@@ -4050,7 +4438,7 @@ var ListIcon = (0, import_react46.memo)(({ className, ...props }) => {
4050
4438
  xmlns: "http://www.w3.org/2000/svg",
4051
4439
  ...props,
4052
4440
  children: [
4053
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4441
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4054
4442
  "path",
4055
4443
  {
4056
4444
  fillRule: "evenodd",
@@ -4059,7 +4447,7 @@ var ListIcon = (0, import_react46.memo)(({ className, ...props }) => {
4059
4447
  fill: "currentColor"
4060
4448
  }
4061
4449
  ),
4062
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4450
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4063
4451
  "path",
4064
4452
  {
4065
4453
  fillRule: "evenodd",
@@ -4068,7 +4456,7 @@ var ListIcon = (0, import_react46.memo)(({ className, ...props }) => {
4068
4456
  fill: "currentColor"
4069
4457
  }
4070
4458
  ),
4071
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4459
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4072
4460
  "path",
4073
4461
  {
4074
4462
  fillRule: "evenodd",
@@ -4077,7 +4465,7 @@ var ListIcon = (0, import_react46.memo)(({ className, ...props }) => {
4077
4465
  fill: "currentColor"
4078
4466
  }
4079
4467
  ),
4080
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4468
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4081
4469
  "path",
4082
4470
  {
4083
4471
  fillRule: "evenodd",
@@ -4086,7 +4474,7 @@ var ListIcon = (0, import_react46.memo)(({ className, ...props }) => {
4086
4474
  fill: "currentColor"
4087
4475
  }
4088
4476
  ),
4089
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4477
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4090
4478
  "path",
4091
4479
  {
4092
4480
  fillRule: "evenodd",
@@ -4095,7 +4483,7 @@ var ListIcon = (0, import_react46.memo)(({ className, ...props }) => {
4095
4483
  fill: "currentColor"
4096
4484
  }
4097
4485
  ),
4098
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4486
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4099
4487
  "path",
4100
4488
  {
4101
4489
  fillRule: "evenodd",
@@ -4112,9 +4500,9 @@ ListIcon.displayName = "ListIcon";
4112
4500
 
4113
4501
  // src/components/tiptap-icons/list-ordered-icon.tsx
4114
4502
  var import_react47 = require("react");
4115
- var import_jsx_runtime42 = require("react/jsx-runtime");
4503
+ var import_jsx_runtime43 = require("react/jsx-runtime");
4116
4504
  var ListOrderedIcon = (0, import_react47.memo)(({ className, ...props }) => {
4117
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4505
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4118
4506
  "svg",
4119
4507
  {
4120
4508
  width: "24",
@@ -4125,7 +4513,7 @@ var ListOrderedIcon = (0, import_react47.memo)(({ className, ...props }) => {
4125
4513
  xmlns: "http://www.w3.org/2000/svg",
4126
4514
  ...props,
4127
4515
  children: [
4128
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4516
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4129
4517
  "path",
4130
4518
  {
4131
4519
  fillRule: "evenodd",
@@ -4134,7 +4522,7 @@ var ListOrderedIcon = (0, import_react47.memo)(({ className, ...props }) => {
4134
4522
  fill: "currentColor"
4135
4523
  }
4136
4524
  ),
4137
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4525
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4138
4526
  "path",
4139
4527
  {
4140
4528
  fillRule: "evenodd",
@@ -4143,7 +4531,7 @@ var ListOrderedIcon = (0, import_react47.memo)(({ className, ...props }) => {
4143
4531
  fill: "currentColor"
4144
4532
  }
4145
4533
  ),
4146
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4534
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4147
4535
  "path",
4148
4536
  {
4149
4537
  fillRule: "evenodd",
@@ -4152,7 +4540,7 @@ var ListOrderedIcon = (0, import_react47.memo)(({ className, ...props }) => {
4152
4540
  fill: "currentColor"
4153
4541
  }
4154
4542
  ),
4155
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4543
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4156
4544
  "path",
4157
4545
  {
4158
4546
  fillRule: "evenodd",
@@ -4161,7 +4549,7 @@ var ListOrderedIcon = (0, import_react47.memo)(({ className, ...props }) => {
4161
4549
  fill: "currentColor"
4162
4550
  }
4163
4551
  ),
4164
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4552
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4165
4553
  "path",
4166
4554
  {
4167
4555
  fillRule: "evenodd",
@@ -4170,7 +4558,7 @@ var ListOrderedIcon = (0, import_react47.memo)(({ className, ...props }) => {
4170
4558
  fill: "currentColor"
4171
4559
  }
4172
4560
  ),
4173
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4561
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4174
4562
  "path",
4175
4563
  {
4176
4564
  fillRule: "evenodd",
@@ -4187,9 +4575,9 @@ ListOrderedIcon.displayName = "ListOrderedIcon";
4187
4575
 
4188
4576
  // src/components/tiptap-icons/list-todo-icon.tsx
4189
4577
  var import_react48 = require("react");
4190
- var import_jsx_runtime43 = require("react/jsx-runtime");
4578
+ var import_jsx_runtime44 = require("react/jsx-runtime");
4191
4579
  var ListTodoIcon = (0, import_react48.memo)(({ className, ...props }) => {
4192
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4580
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4193
4581
  "svg",
4194
4582
  {
4195
4583
  width: "24",
@@ -4200,7 +4588,7 @@ var ListTodoIcon = (0, import_react48.memo)(({ className, ...props }) => {
4200
4588
  xmlns: "http://www.w3.org/2000/svg",
4201
4589
  ...props,
4202
4590
  children: [
4203
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4591
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4204
4592
  "path",
4205
4593
  {
4206
4594
  fillRule: "evenodd",
@@ -4209,7 +4597,7 @@ var ListTodoIcon = (0, import_react48.memo)(({ className, ...props }) => {
4209
4597
  fill: "currentColor"
4210
4598
  }
4211
4599
  ),
4212
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4600
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4213
4601
  "path",
4214
4602
  {
4215
4603
  fillRule: "evenodd",
@@ -4218,7 +4606,7 @@ var ListTodoIcon = (0, import_react48.memo)(({ className, ...props }) => {
4218
4606
  fill: "currentColor"
4219
4607
  }
4220
4608
  ),
4221
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4609
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4222
4610
  "path",
4223
4611
  {
4224
4612
  fillRule: "evenodd",
@@ -4227,7 +4615,7 @@ var ListTodoIcon = (0, import_react48.memo)(({ className, ...props }) => {
4227
4615
  fill: "currentColor"
4228
4616
  }
4229
4617
  ),
4230
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4618
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4231
4619
  "path",
4232
4620
  {
4233
4621
  fillRule: "evenodd",
@@ -4236,7 +4624,7 @@ var ListTodoIcon = (0, import_react48.memo)(({ className, ...props }) => {
4236
4624
  fill: "currentColor"
4237
4625
  }
4238
4626
  ),
4239
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4627
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4240
4628
  "path",
4241
4629
  {
4242
4630
  fillRule: "evenodd",
@@ -4324,26 +4712,26 @@ function toggleList(editor, type) {
4324
4712
  const view = editor.view;
4325
4713
  let state = view.state;
4326
4714
  let tr = state.tr;
4327
- if (state.selection.empty || state.selection instanceof import_state3.TextSelection) {
4715
+ if (state.selection.empty || state.selection instanceof import_state4.TextSelection) {
4328
4716
  const pos = findNodePosition({
4329
4717
  editor,
4330
4718
  node: state.selection.$anchor.node(1)
4331
4719
  })?.pos;
4332
4720
  if (!isValidPosition(pos)) return false;
4333
- tr = tr.setSelection(import_state3.NodeSelection.create(state.doc, pos));
4721
+ tr = tr.setSelection(import_state4.NodeSelection.create(state.doc, pos));
4334
4722
  view.dispatch(tr);
4335
4723
  state = view.state;
4336
4724
  }
4337
4725
  const selection = state.selection;
4338
4726
  let chain = editor.chain().focus();
4339
- if (selection instanceof import_state3.NodeSelection) {
4727
+ if (selection instanceof import_state4.NodeSelection) {
4340
4728
  const firstChild = selection.node.firstChild?.firstChild;
4341
4729
  const lastChild = selection.node.lastChild?.lastChild;
4342
4730
  const from = firstChild ? selection.from + firstChild.nodeSize : selection.from + 1;
4343
4731
  const to = lastChild ? selection.to - lastChild.nodeSize : selection.to - 1;
4344
4732
  const resolvedFrom = state.doc.resolve(from);
4345
4733
  const resolvedTo = state.doc.resolve(to);
4346
- chain = chain.setTextSelection(import_state3.TextSelection.between(resolvedFrom, resolvedTo)).clearNodes();
4734
+ chain = chain.setTextSelection(import_state4.TextSelection.between(resolvedFrom, resolvedTo)).clearNodes();
4347
4735
  }
4348
4736
  if (editor.isActive(type)) {
4349
4737
  chain.liftListItem("listItem").lift("bulletList").lift("orderedList").lift("taskList").run();
@@ -4505,7 +4893,7 @@ function useListDropdownMenu(config) {
4505
4893
  }
4506
4894
 
4507
4895
  // src/components/tiptap-ui/list-dropdown-menu/list-dropdown-menu.tsx
4508
- var import_jsx_runtime44 = require("react/jsx-runtime");
4896
+ var import_jsx_runtime45 = require("react/jsx-runtime");
4509
4897
  function ListDropdownMenu({
4510
4898
  editor: providedEditor,
4511
4899
  types = ["bulletList", "orderedList", "taskList"],
@@ -4531,8 +4919,8 @@ function ListDropdownMenu({
4531
4919
  if (!isVisible) {
4532
4920
  return null;
4533
4921
  }
4534
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(DropdownMenu, { open: isOpen, onOpenChange: handleOnOpenChange, children: [
4535
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4922
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(DropdownMenu, { open: isOpen, onOpenChange: handleOnOpenChange, children: [
4923
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
4536
4924
  Button2,
4537
4925
  {
4538
4926
  type: "button",
@@ -4546,12 +4934,12 @@ function ListDropdownMenu({
4546
4934
  tooltip: "List",
4547
4935
  ...props,
4548
4936
  children: [
4549
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Icon, { className: "tiptap-button-icon" }),
4550
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ChevronDownIcon, { className: "tiptap-button-dropdown-small" })
4937
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Icon, { className: "tiptap-button-icon" }),
4938
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ChevronDownIcon, { className: "tiptap-button-dropdown-small" })
4551
4939
  ]
4552
4940
  }
4553
4941
  ) }),
4554
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DropdownMenuContent, { align: "start", portal, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Card, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(CardBody, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ButtonGroup, { children: filteredLists.map((option) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4942
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DropdownMenuContent, { align: "start", portal, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Card, { children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(CardBody, { children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ButtonGroup, { children: filteredLists.map((option) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4555
4943
  ListButton,
4556
4944
  {
4557
4945
  editor,
@@ -4565,11 +4953,11 @@ function ListDropdownMenu({
4565
4953
 
4566
4954
  // src/components/tiptap-ui/blockquote-button/blockquote-button.tsx
4567
4955
  var import_react52 = require("react");
4568
- var import_jsx_runtime45 = require("react/jsx-runtime");
4956
+ var import_jsx_runtime46 = require("react/jsx-runtime");
4569
4957
  function BlockquoteShortcutBadge({
4570
4958
  shortcutKeys = BLOCKQUOTE_SHORTCUT_KEY
4571
4959
  }) {
4572
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
4960
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
4573
4961
  }
4574
4962
  var BlockquoteButton = (0, import_react52.forwardRef)(
4575
4963
  ({
@@ -4607,7 +4995,7 @@ var BlockquoteButton = (0, import_react52.forwardRef)(
4607
4995
  if (!isVisible) {
4608
4996
  return null;
4609
4997
  }
4610
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4998
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4611
4999
  Button2,
4612
5000
  {
4613
5001
  type: "button",
@@ -4623,10 +5011,10 @@ var BlockquoteButton = (0, import_react52.forwardRef)(
4623
5011
  onClick: handleClick,
4624
5012
  ...buttonProps,
4625
5013
  ref,
4626
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, { children: [
4627
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Icon, { className: "tiptap-button-icon" }),
4628
- text && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "tiptap-button-text", children: text }),
4629
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(BlockquoteShortcutBadge, { shortcutKeys })
5014
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_jsx_runtime46.Fragment, { children: [
5015
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Icon, { className: "tiptap-button-icon" }),
5016
+ text && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "tiptap-button-text", children: text }),
5017
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(BlockquoteShortcutBadge, { shortcutKeys })
4630
5018
  ] })
4631
5019
  }
4632
5020
  );
@@ -4636,13 +5024,13 @@ BlockquoteButton.displayName = "BlockquoteButton";
4636
5024
 
4637
5025
  // src/components/tiptap-ui/blockquote-button/use-blockquote.ts
4638
5026
  var import_react54 = require("react");
4639
- var import_state4 = require("@tiptap/pm/state");
5027
+ var import_state5 = require("@tiptap/pm/state");
4640
5028
 
4641
5029
  // src/components/tiptap-icons/blockquote-icon.tsx
4642
5030
  var import_react53 = require("react");
4643
- var import_jsx_runtime46 = require("react/jsx-runtime");
5031
+ var import_jsx_runtime47 = require("react/jsx-runtime");
4644
5032
  var BlockquoteIcon = (0, import_react53.memo)(({ className, ...props }) => {
4645
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
5033
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
4646
5034
  "svg",
4647
5035
  {
4648
5036
  width: "24",
@@ -4653,7 +5041,7 @@ var BlockquoteIcon = (0, import_react53.memo)(({ className, ...props }) => {
4653
5041
  xmlns: "http://www.w3.org/2000/svg",
4654
5042
  ...props,
4655
5043
  children: [
4656
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
5044
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4657
5045
  "path",
4658
5046
  {
4659
5047
  fillRule: "evenodd",
@@ -4662,7 +5050,7 @@ var BlockquoteIcon = (0, import_react53.memo)(({ className, ...props }) => {
4662
5050
  fill: "currentColor"
4663
5051
  }
4664
5052
  ),
4665
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
5053
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4666
5054
  "path",
4667
5055
  {
4668
5056
  fillRule: "evenodd",
@@ -4671,7 +5059,7 @@ var BlockquoteIcon = (0, import_react53.memo)(({ className, ...props }) => {
4671
5059
  fill: "currentColor"
4672
5060
  }
4673
5061
  ),
4674
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
5062
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4675
5063
  "path",
4676
5064
  {
4677
5065
  fillRule: "evenodd",
@@ -4680,7 +5068,7 @@ var BlockquoteIcon = (0, import_react53.memo)(({ className, ...props }) => {
4680
5068
  fill: "currentColor"
4681
5069
  }
4682
5070
  ),
4683
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
5071
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4684
5072
  "path",
4685
5073
  {
4686
5074
  fillRule: "evenodd",
@@ -4723,26 +5111,26 @@ function toggleBlockquote(editor) {
4723
5111
  const view = editor.view;
4724
5112
  let state = view.state;
4725
5113
  let tr = state.tr;
4726
- if (state.selection.empty || state.selection instanceof import_state4.TextSelection) {
5114
+ if (state.selection.empty || state.selection instanceof import_state5.TextSelection) {
4727
5115
  const pos = findNodePosition({
4728
5116
  editor,
4729
5117
  node: state.selection.$anchor.node(1)
4730
5118
  })?.pos;
4731
5119
  if (!isValidPosition(pos)) return false;
4732
- tr = tr.setSelection(import_state4.NodeSelection.create(state.doc, pos));
5120
+ tr = tr.setSelection(import_state5.NodeSelection.create(state.doc, pos));
4733
5121
  view.dispatch(tr);
4734
5122
  state = view.state;
4735
5123
  }
4736
5124
  const selection = state.selection;
4737
5125
  let chain = editor.chain().focus();
4738
- if (selection instanceof import_state4.NodeSelection) {
5126
+ if (selection instanceof import_state5.NodeSelection) {
4739
5127
  const firstChild = selection.node.firstChild?.firstChild;
4740
5128
  const lastChild = selection.node.lastChild?.lastChild;
4741
5129
  const from = firstChild ? selection.from + firstChild.nodeSize : selection.from + 1;
4742
5130
  const to = lastChild ? selection.to - lastChild.nodeSize : selection.to - 1;
4743
5131
  const resolvedFrom = state.doc.resolve(from);
4744
5132
  const resolvedTo = state.doc.resolve(to);
4745
- chain = chain.setTextSelection(import_state4.TextSelection.between(resolvedFrom, resolvedTo)).clearNodes();
5133
+ chain = chain.setTextSelection(import_state5.TextSelection.between(resolvedFrom, resolvedTo)).clearNodes();
4746
5134
  }
4747
5135
  const toggle = editor.isActive("blockquote") ? chain.lift("blockquote") : chain.wrapIn("blockquote");
4748
5136
  toggle.run();
@@ -4806,9 +5194,9 @@ var import_react59 = require("react");
4806
5194
 
4807
5195
  // src/components/tiptap-icons/ban-icon.tsx
4808
5196
  var import_react55 = require("react");
4809
- var import_jsx_runtime47 = require("react/jsx-runtime");
5197
+ var import_jsx_runtime48 = require("react/jsx-runtime");
4810
5198
  var BanIcon = (0, import_react55.memo)(({ className, ...props }) => {
4811
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
5199
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4812
5200
  "svg",
4813
5201
  {
4814
5202
  width: "24",
@@ -4818,7 +5206,7 @@ var BanIcon = (0, import_react55.memo)(({ className, ...props }) => {
4818
5206
  fill: "currentColor",
4819
5207
  xmlns: "http://www.w3.org/2000/svg",
4820
5208
  ...props,
4821
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
5209
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4822
5210
  "path",
4823
5211
  {
4824
5212
  fillRule: "evenodd",
@@ -4834,9 +5222,9 @@ BanIcon.displayName = "BanIcon";
4834
5222
 
4835
5223
  // src/components/tiptap-icons/highlighter-icon.tsx
4836
5224
  var import_react56 = require("react");
4837
- var import_jsx_runtime48 = require("react/jsx-runtime");
5225
+ var import_jsx_runtime49 = require("react/jsx-runtime");
4838
5226
  var HighlighterIcon = (0, import_react56.memo)(({ className, ...props }) => {
4839
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5227
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4840
5228
  "svg",
4841
5229
  {
4842
5230
  width: "24",
@@ -4846,7 +5234,7 @@ var HighlighterIcon = (0, import_react56.memo)(({ className, ...props }) => {
4846
5234
  fill: "currentColor",
4847
5235
  xmlns: "http://www.w3.org/2000/svg",
4848
5236
  ...props,
4849
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5237
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4850
5238
  "path",
4851
5239
  {
4852
5240
  fillRule: "evenodd",
@@ -4862,16 +5250,16 @@ HighlighterIcon.displayName = "HighlighterIcon";
4862
5250
 
4863
5251
  // src/components/tiptap-ui-primitive/popover/popover.tsx
4864
5252
  var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
4865
- var import_jsx_runtime49 = require("react/jsx-runtime");
5253
+ var import_jsx_runtime50 = require("react/jsx-runtime");
4866
5254
  function Popover({
4867
5255
  ...props
4868
5256
  }) {
4869
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(PopoverPrimitive.Root, { ...props });
5257
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(PopoverPrimitive.Root, { ...props });
4870
5258
  }
4871
5259
  function PopoverTrigger({
4872
5260
  ...props
4873
5261
  }) {
4874
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(PopoverPrimitive.Trigger, { ...props });
5262
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(PopoverPrimitive.Trigger, { ...props });
4875
5263
  }
4876
5264
  function PopoverContent({
4877
5265
  className,
@@ -4879,7 +5267,7 @@ function PopoverContent({
4879
5267
  sideOffset = 4,
4880
5268
  ...props
4881
5269
  }) {
4882
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(PopoverPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5270
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(PopoverPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4883
5271
  PopoverPrimitive.Content,
4884
5272
  {
4885
5273
  align,
@@ -4892,11 +5280,11 @@ function PopoverContent({
4892
5280
 
4893
5281
  // src/components/tiptap-ui/color-highlight-button/color-highlight-button.tsx
4894
5282
  var import_react57 = require("react");
4895
- var import_jsx_runtime50 = require("react/jsx-runtime");
5283
+ var import_jsx_runtime51 = require("react/jsx-runtime");
4896
5284
  function ColorHighlightShortcutBadge({
4897
5285
  shortcutKeys = COLOR_HIGHLIGHT_SHORTCUT_KEY
4898
5286
  }) {
4899
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
5287
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
4900
5288
  }
4901
5289
  var ColorHighlightButton = (0, import_react57.forwardRef)(
4902
5290
  ({
@@ -4946,7 +5334,7 @@ var ColorHighlightButton = (0, import_react57.forwardRef)(
4946
5334
  if (!isVisible) {
4947
5335
  return null;
4948
5336
  }
4949
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5337
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
4950
5338
  Button2,
4951
5339
  {
4952
5340
  type: "button",
@@ -4963,16 +5351,16 @@ var ColorHighlightButton = (0, import_react57.forwardRef)(
4963
5351
  style: buttonStyle,
4964
5352
  ...buttonProps,
4965
5353
  ref,
4966
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
4967
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5354
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
5355
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
4968
5356
  "span",
4969
5357
  {
4970
5358
  className: "tiptap-button-highlight",
4971
5359
  style: { "--highlight-color": highlightColor }
4972
5360
  }
4973
5361
  ),
4974
- text && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "tiptap-button-text", children: text }),
4975
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ColorHighlightShortcutBadge, { shortcutKeys })
5362
+ text && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "tiptap-button-text", children: text }),
5363
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ColorHighlightShortcutBadge, { shortcutKeys })
4976
5364
  ] })
4977
5365
  }
4978
5366
  );
@@ -5187,8 +5575,8 @@ function useColorHighlight(config) {
5187
5575
  }
5188
5576
 
5189
5577
  // src/components/tiptap-ui/color-highlight-popover/color-highlight-popover.tsx
5190
- var import_jsx_runtime51 = require("react/jsx-runtime");
5191
- var ColorHighlightPopoverButton = (0, import_react59.forwardRef)(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5578
+ var import_jsx_runtime52 = require("react/jsx-runtime");
5579
+ var ColorHighlightPopoverButton = (0, import_react59.forwardRef)(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5192
5580
  Button2,
5193
5581
  {
5194
5582
  type: "button",
@@ -5201,7 +5589,7 @@ var ColorHighlightPopoverButton = (0, import_react59.forwardRef)(({ className, c
5201
5589
  tooltip: "Highlight",
5202
5590
  ref,
5203
5591
  ...props,
5204
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(HighlighterIcon, { className: "tiptap-button-icon" })
5592
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(HighlighterIcon, { className: "tiptap-button-icon" })
5205
5593
  }
5206
5594
  ));
5207
5595
  ColorHighlightPopoverButton.displayName = "ColorHighlightPopoverButton";
@@ -5237,14 +5625,14 @@ function ColorHighlightPopoverContent({
5237
5625
  },
5238
5626
  autoSelectFirstItem: false
5239
5627
  });
5240
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5628
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5241
5629
  Card,
5242
5630
  {
5243
5631
  ref: containerRef,
5244
5632
  tabIndex: 0,
5245
5633
  style: isMobile ? { boxShadow: "none", border: 0 } : {},
5246
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(CardBody, { style: isMobile ? { padding: 0 } : {}, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(CardItemGroup, { orientation: "horizontal", children: [
5247
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ButtonGroup, { orientation: "horizontal", children: colors.map((color, index) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5634
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(CardBody, { style: isMobile ? { padding: 0 } : {}, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(CardItemGroup, { orientation: "horizontal", children: [
5635
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ButtonGroup, { orientation: "horizontal", children: colors.map((color, index) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5248
5636
  ColorHighlightButton,
5249
5637
  {
5250
5638
  editor,
@@ -5256,8 +5644,8 @@ function ColorHighlightPopoverContent({
5256
5644
  },
5257
5645
  color.value
5258
5646
  )) }),
5259
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Separator2, {}),
5260
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ButtonGroup, { orientation: "horizontal", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5647
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Separator2, {}),
5648
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ButtonGroup, { orientation: "horizontal", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5261
5649
  Button2,
5262
5650
  {
5263
5651
  onClick: handleRemoveHighlight,
@@ -5268,7 +5656,7 @@ function ColorHighlightPopoverContent({
5268
5656
  role: "menuitem",
5269
5657
  "data-style": "ghost",
5270
5658
  "data-highlighted": selectedIndex === colors.length,
5271
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(BanIcon, { className: "tiptap-button-icon" })
5659
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(BanIcon, { className: "tiptap-button-icon" })
5272
5660
  }
5273
5661
  ) })
5274
5662
  ] }) })
@@ -5281,9 +5669,9 @@ var import_react64 = require("react");
5281
5669
 
5282
5670
  // src/components/tiptap-icons/corner-down-left-icon.tsx
5283
5671
  var import_react60 = require("react");
5284
- var import_jsx_runtime52 = require("react/jsx-runtime");
5672
+ var import_jsx_runtime53 = require("react/jsx-runtime");
5285
5673
  var CornerDownLeftIcon = (0, import_react60.memo)(({ className, ...props }) => {
5286
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5674
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5287
5675
  "svg",
5288
5676
  {
5289
5677
  width: "24",
@@ -5293,7 +5681,7 @@ var CornerDownLeftIcon = (0, import_react60.memo)(({ className, ...props }) => {
5293
5681
  fill: "currentColor",
5294
5682
  xmlns: "http://www.w3.org/2000/svg",
5295
5683
  ...props,
5296
- children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5684
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5297
5685
  "path",
5298
5686
  {
5299
5687
  fillRule: "evenodd",
@@ -5309,9 +5697,9 @@ CornerDownLeftIcon.displayName = "CornerDownLeftIcon";
5309
5697
 
5310
5698
  // src/components/tiptap-icons/external-link-icon.tsx
5311
5699
  var import_react61 = require("react");
5312
- var import_jsx_runtime53 = require("react/jsx-runtime");
5700
+ var import_jsx_runtime54 = require("react/jsx-runtime");
5313
5701
  var ExternalLinkIcon = (0, import_react61.memo)(({ className, ...props }) => {
5314
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
5702
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
5315
5703
  "svg",
5316
5704
  {
5317
5705
  width: "24",
@@ -5322,14 +5710,14 @@ var ExternalLinkIcon = (0, import_react61.memo)(({ className, ...props }) => {
5322
5710
  xmlns: "http://www.w3.org/2000/svg",
5323
5711
  ...props,
5324
5712
  children: [
5325
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5713
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5326
5714
  "path",
5327
5715
  {
5328
5716
  d: "M14 3C14 2.44772 14.4477 2 15 2H21C21.5523 2 22 2.44772 22 3V9C22 9.55228 21.5523 10 21 10C20.4477 10 20 9.55228 20 9V5.41421L10.7071 14.7071C10.3166 15.0976 9.68342 15.0976 9.29289 14.7071C8.90237 14.3166 8.90237 13.6834 9.29289 13.2929L18.5858 4H15C14.4477 4 14 3.55228 14 3Z",
5329
5717
  fill: "currentColor"
5330
5718
  }
5331
5719
  ),
5332
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5720
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5333
5721
  "path",
5334
5722
  {
5335
5723
  d: "M4.29289 7.29289C4.48043 7.10536 4.73478 7 5 7H11C11.5523 7 12 6.55228 12 6C12 5.44772 11.5523 5 11 5H5C4.20435 5 3.44129 5.31607 2.87868 5.87868C2.31607 6.44129 2 7.20435 2 8V19C2 19.7957 2.31607 20.5587 2.87868 21.1213C3.44129 21.6839 4.20435 22 5 22H16C16.7957 22 17.5587 21.6839 18.1213 21.1213C18.6839 20.5587 19 19.7957 19 19V13C19 12.4477 18.5523 12 18 12C17.4477 12 17 12.4477 17 13V19C17 19.2652 16.8946 19.5196 16.7071 19.7071C16.5196 19.8946 16.2652 20 16 20H5C4.73478 20 4.48043 19.8946 4.29289 19.7071C4.10536 19.5196 4 19.2652 4 19V8C4 7.73478 4.10536 7.48043 4.29289 7.29289Z",
@@ -5344,9 +5732,9 @@ ExternalLinkIcon.displayName = "ExternalLinkIcon";
5344
5732
 
5345
5733
  // src/components/tiptap-icons/link-icon.tsx
5346
5734
  var import_react62 = require("react");
5347
- var import_jsx_runtime54 = require("react/jsx-runtime");
5735
+ var import_jsx_runtime55 = require("react/jsx-runtime");
5348
5736
  var LinkIcon = (0, import_react62.memo)(({ className, ...props }) => {
5349
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
5737
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
5350
5738
  "svg",
5351
5739
  {
5352
5740
  width: "24",
@@ -5357,14 +5745,14 @@ var LinkIcon = (0, import_react62.memo)(({ className, ...props }) => {
5357
5745
  xmlns: "http://www.w3.org/2000/svg",
5358
5746
  ...props,
5359
5747
  children: [
5360
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5748
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5361
5749
  "path",
5362
5750
  {
5363
5751
  d: "M16.9958 1.06669C15.4226 1.05302 13.907 1.65779 12.7753 2.75074L12.765 2.76086L11.045 4.47086C10.6534 4.86024 10.6515 5.49341 11.0409 5.88507C11.4303 6.27673 12.0634 6.27858 12.4551 5.88919L14.1697 4.18456C14.9236 3.45893 15.9319 3.05752 16.9784 3.06662C18.0272 3.07573 19.0304 3.49641 19.772 4.23804C20.5137 4.97967 20.9344 5.98292 20.9435 7.03171C20.9526 8.07776 20.5515 9.08563 19.8265 9.83941L16.833 12.8329C16.4274 13.2386 15.9393 13.5524 15.4019 13.7529C14.8645 13.9533 14.2903 14.0359 13.7181 13.9949C13.146 13.9539 12.5894 13.7904 12.0861 13.5154C11.5827 13.2404 11.1444 12.8604 10.8008 12.401C10.47 11.9588 9.84333 11.8685 9.40108 12.1993C8.95883 12.5301 8.86849 13.1568 9.1993 13.599C9.71464 14.288 10.3721 14.858 11.1272 15.2705C11.8822 15.683 12.7171 15.9283 13.5753 15.9898C14.4334 16.0513 15.2948 15.9274 16.1009 15.6267C16.907 15.326 17.639 14.8555 18.2473 14.247L21.2472 11.2471L21.2593 11.2347C22.3523 10.1031 22.9571 8.58751 22.9434 7.01433C22.9297 5.44115 22.2987 3.93628 21.1863 2.82383C20.0738 1.71138 18.5689 1.08036 16.9958 1.06669Z",
5364
5752
  fill: "currentColor"
5365
5753
  }
5366
5754
  ),
5367
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5755
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5368
5756
  "path",
5369
5757
  {
5370
5758
  d: "M10.4247 8.0102C9.56657 7.94874 8.70522 8.07256 7.89911 8.37326C7.09305 8.67395 6.36096 9.14458 5.75272 9.753L2.75285 12.7529L2.74067 12.7653C1.64772 13.8969 1.04295 15.4125 1.05662 16.9857C1.07029 18.5589 1.70131 20.0637 2.81376 21.1762C3.9262 22.2886 5.43108 22.9196 7.00426 22.9333C8.57744 22.947 10.0931 22.3422 11.2247 21.2493L11.2371 21.2371L12.9471 19.5271C13.3376 19.1366 13.3376 18.5034 12.9471 18.1129C12.5565 17.7223 11.9234 17.7223 11.5328 18.1129L9.82932 19.8164C9.07555 20.5414 8.06768 20.9425 7.02164 20.9334C5.97285 20.9243 4.9696 20.5036 4.22797 19.762C3.48634 19.0203 3.06566 18.0171 3.05655 16.9683C3.04746 15.9222 3.44851 14.9144 4.17355 14.1606L7.16719 11.167C7.5727 10.7613 8.06071 10.4476 8.59811 10.2471C9.13552 10.0467 9.70976 9.96412 10.2819 10.0051C10.854 10.0461 11.4106 10.2096 11.9139 10.4846C12.4173 10.7596 12.8556 11.1397 13.1992 11.599C13.53 12.0412 14.1567 12.1316 14.5989 11.8007C15.0412 11.4699 15.1315 10.8433 14.8007 10.401C14.2854 9.71205 13.6279 9.14198 12.8729 8.72948C12.1178 8.31697 11.2829 8.07166 10.4247 8.0102Z",
@@ -5379,9 +5767,9 @@ LinkIcon.displayName = "LinkIcon";
5379
5767
 
5380
5768
  // src/components/tiptap-icons/trash-icon.tsx
5381
5769
  var import_react63 = require("react");
5382
- var import_jsx_runtime55 = require("react/jsx-runtime");
5770
+ var import_jsx_runtime56 = require("react/jsx-runtime");
5383
5771
  var TrashIcon = (0, import_react63.memo)(({ className, ...props }) => {
5384
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5772
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5385
5773
  "svg",
5386
5774
  {
5387
5775
  width: "24",
@@ -5391,7 +5779,7 @@ var TrashIcon = (0, import_react63.memo)(({ className, ...props }) => {
5391
5779
  fill: "currentColor",
5392
5780
  xmlns: "http://www.w3.org/2000/svg",
5393
5781
  ...props,
5394
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5782
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5395
5783
  "path",
5396
5784
  {
5397
5785
  fillRule: "evenodd",
@@ -5406,23 +5794,23 @@ var TrashIcon = (0, import_react63.memo)(({ className, ...props }) => {
5406
5794
  TrashIcon.displayName = "TrashIcon";
5407
5795
 
5408
5796
  // src/components/tiptap-ui-primitive/input/input.tsx
5409
- var import_jsx_runtime56 = require("react/jsx-runtime");
5797
+ var import_jsx_runtime57 = require("react/jsx-runtime");
5410
5798
  function Input({ className, type, ...props }) {
5411
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("input", { type, className: cn2("tiptap-input", className), ...props });
5799
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("input", { type, className: cn2("tiptap-input", className), ...props });
5412
5800
  }
5413
5801
  function InputGroup({
5414
5802
  className,
5415
5803
  children,
5416
5804
  ...props
5417
5805
  }) {
5418
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: cn2("tiptap-input-group", className), ...props, children });
5806
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: cn2("tiptap-input-group", className), ...props, children });
5419
5807
  }
5420
5808
 
5421
5809
  // src/components/tiptap-ui/link-popover/link-popover.tsx
5422
- var import_jsx_runtime57 = require("react/jsx-runtime");
5810
+ var import_jsx_runtime58 = require("react/jsx-runtime");
5423
5811
  var LinkButton = (0, import_react64.forwardRef)(
5424
5812
  ({ className, children, ...props }, ref) => {
5425
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5813
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5426
5814
  Button2,
5427
5815
  {
5428
5816
  type: "button",
@@ -5434,7 +5822,7 @@ var LinkButton = (0, import_react64.forwardRef)(
5434
5822
  tooltip: "Link",
5435
5823
  ref,
5436
5824
  ...props,
5437
- children: children || /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(LinkIcon, { className: "tiptap-button-icon" })
5825
+ children: children || /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(LinkIcon, { className: "tiptap-button-icon" })
5438
5826
  }
5439
5827
  );
5440
5828
  }
@@ -5455,20 +5843,20 @@ var LinkMain = ({
5455
5843
  setLink();
5456
5844
  }
5457
5845
  };
5458
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5846
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5459
5847
  Card,
5460
5848
  {
5461
5849
  style: {
5462
5850
  ...isMobile ? { boxShadow: "none", border: 0 } : {}
5463
5851
  },
5464
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5852
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5465
5853
  CardBody,
5466
5854
  {
5467
5855
  style: {
5468
5856
  ...isMobile ? { padding: 0 } : {}
5469
5857
  },
5470
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(CardItemGroup, { orientation: "horizontal", children: [
5471
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(InputGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5858
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(CardItemGroup, { orientation: "horizontal", children: [
5859
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(InputGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5472
5860
  Input,
5473
5861
  {
5474
5862
  type: "url",
@@ -5482,7 +5870,7 @@ var LinkMain = ({
5482
5870
  autoCapitalize: "off"
5483
5871
  }
5484
5872
  ) }),
5485
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ButtonGroup, { orientation: "horizontal", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5873
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(ButtonGroup, { orientation: "horizontal", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5486
5874
  Button2,
5487
5875
  {
5488
5876
  type: "button",
@@ -5490,12 +5878,12 @@ var LinkMain = ({
5490
5878
  title: "Apply link",
5491
5879
  disabled: !url && !isActive,
5492
5880
  "data-style": "ghost",
5493
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(CornerDownLeftIcon, { className: "tiptap-button-icon" })
5881
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(CornerDownLeftIcon, { className: "tiptap-button-icon" })
5494
5882
  }
5495
5883
  ) }),
5496
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Separator2, {}),
5497
- /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(ButtonGroup, { orientation: "horizontal", children: [
5498
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5884
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Separator2, {}),
5885
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(ButtonGroup, { orientation: "horizontal", children: [
5886
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5499
5887
  Button2,
5500
5888
  {
5501
5889
  type: "button",
@@ -5503,10 +5891,10 @@ var LinkMain = ({
5503
5891
  title: "Open in new window",
5504
5892
  disabled: !url && !isActive,
5505
5893
  "data-style": "ghost",
5506
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ExternalLinkIcon, { className: "tiptap-button-icon" })
5894
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(ExternalLinkIcon, { className: "tiptap-button-icon" })
5507
5895
  }
5508
5896
  ),
5509
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5897
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5510
5898
  Button2,
5511
5899
  {
5512
5900
  type: "button",
@@ -5514,7 +5902,7 @@ var LinkMain = ({
5514
5902
  title: "Remove link",
5515
5903
  disabled: !url && !isActive,
5516
5904
  "data-style": "ghost",
5517
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(TrashIcon, { className: "tiptap-button-icon" })
5905
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TrashIcon, { className: "tiptap-button-icon" })
5518
5906
  }
5519
5907
  )
5520
5908
  ] })
@@ -5528,7 +5916,7 @@ var LinkContent = ({ editor }) => {
5528
5916
  const linkPopover = useLinkPopover({
5529
5917
  editor
5530
5918
  });
5531
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(LinkMain, { ...linkPopover });
5919
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(LinkMain, { ...linkPopover });
5532
5920
  };
5533
5921
  var LinkPopover = (0, import_react64.forwardRef)(
5534
5922
  ({
@@ -5586,8 +5974,8 @@ var LinkPopover = (0, import_react64.forwardRef)(
5586
5974
  if (!isVisible) {
5587
5975
  return null;
5588
5976
  }
5589
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Popover, { open: isOpen, onOpenChange: handleOnOpenChange, children: [
5590
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5977
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Popover, { open: isOpen, onOpenChange: handleOnOpenChange, children: [
5978
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5591
5979
  LinkButton,
5592
5980
  {
5593
5981
  disabled: !canSet,
@@ -5598,10 +5986,10 @@ var LinkPopover = (0, import_react64.forwardRef)(
5598
5986
  onClick: handleClick,
5599
5987
  ...buttonProps,
5600
5988
  ref,
5601
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Icon, { className: "tiptap-button-icon" })
5989
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Icon, { className: "tiptap-button-icon" })
5602
5990
  }
5603
5991
  ) }),
5604
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(PopoverContent, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5992
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(PopoverContent, { children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5605
5993
  LinkMain,
5606
5994
  {
5607
5995
  url,
@@ -5750,12 +6138,12 @@ function useLinkPopover(config) {
5750
6138
 
5751
6139
  // src/components/tiptap-ui/mark-button/mark-button.tsx
5752
6140
  var import_react66 = require("react");
5753
- var import_jsx_runtime58 = require("react/jsx-runtime");
6141
+ var import_jsx_runtime59 = require("react/jsx-runtime");
5754
6142
  function MarkShortcutBadge({
5755
6143
  type,
5756
6144
  shortcutKeys = MARK_SHORTCUT_KEYS[type]
5757
6145
  }) {
5758
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
6146
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
5759
6147
  }
5760
6148
  var MarkButton = (0, import_react66.forwardRef)(
5761
6149
  ({
@@ -5795,7 +6183,7 @@ var MarkButton = (0, import_react66.forwardRef)(
5795
6183
  if (!isVisible) {
5796
6184
  return null;
5797
6185
  }
5798
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6186
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
5799
6187
  Button2,
5800
6188
  {
5801
6189
  type: "button",
@@ -5811,10 +6199,10 @@ var MarkButton = (0, import_react66.forwardRef)(
5811
6199
  onClick: handleClick,
5812
6200
  ...buttonProps,
5813
6201
  ref,
5814
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
5815
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Icon, { className: "tiptap-button-icon" }),
5816
- text && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "tiptap-button-text", children: text }),
5817
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(MarkShortcutBadge, { type, shortcutKeys })
6202
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_jsx_runtime59.Fragment, { children: [
6203
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Icon, { className: "tiptap-button-icon" }),
6204
+ text && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "tiptap-button-text", children: text }),
6205
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(MarkShortcutBadge, { type, shortcutKeys })
5818
6206
  ] })
5819
6207
  }
5820
6208
  );
@@ -5827,9 +6215,9 @@ var import_react74 = require("react");
5827
6215
 
5828
6216
  // src/components/tiptap-icons/bold-icon.tsx
5829
6217
  var import_react67 = require("react");
5830
- var import_jsx_runtime59 = require("react/jsx-runtime");
6218
+ var import_jsx_runtime60 = require("react/jsx-runtime");
5831
6219
  var BoldIcon = (0, import_react67.memo)(({ className, ...props }) => {
5832
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6220
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5833
6221
  "svg",
5834
6222
  {
5835
6223
  width: "24",
@@ -5839,7 +6227,7 @@ var BoldIcon = (0, import_react67.memo)(({ className, ...props }) => {
5839
6227
  fill: "currentColor",
5840
6228
  xmlns: "http://www.w3.org/2000/svg",
5841
6229
  ...props,
5842
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6230
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5843
6231
  "path",
5844
6232
  {
5845
6233
  fillRule: "evenodd",
@@ -5855,9 +6243,9 @@ BoldIcon.displayName = "BoldIcon";
5855
6243
 
5856
6244
  // src/components/tiptap-icons/code2-icon.tsx
5857
6245
  var import_react68 = require("react");
5858
- var import_jsx_runtime60 = require("react/jsx-runtime");
6246
+ var import_jsx_runtime61 = require("react/jsx-runtime");
5859
6247
  var Code2Icon = (0, import_react68.memo)(({ className, ...props }) => {
5860
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
6248
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
5861
6249
  "svg",
5862
6250
  {
5863
6251
  width: "24",
@@ -5868,21 +6256,21 @@ var Code2Icon = (0, import_react68.memo)(({ className, ...props }) => {
5868
6256
  xmlns: "http://www.w3.org/2000/svg",
5869
6257
  ...props,
5870
6258
  children: [
5871
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
6259
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5872
6260
  "path",
5873
6261
  {
5874
6262
  d: "M15.4545 4.2983C15.6192 3.77115 15.3254 3.21028 14.7983 3.04554C14.2712 2.88081 13.7103 3.1746 13.5455 3.70175L8.54554 19.7017C8.38081 20.2289 8.6746 20.7898 9.20175 20.9545C9.72889 21.1192 10.2898 20.8254 10.4545 20.2983L15.4545 4.2983Z",
5875
6263
  fill: "currentColor"
5876
6264
  }
5877
6265
  ),
5878
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
6266
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5879
6267
  "path",
5880
6268
  {
5881
6269
  d: "M6.70711 7.29289C7.09763 7.68342 7.09763 8.31658 6.70711 8.70711L3.41421 12L6.70711 15.2929C7.09763 15.6834 7.09763 16.3166 6.70711 16.7071C6.31658 17.0976 5.68342 17.0976 5.29289 16.7071L1.29289 12.7071C0.902369 12.3166 0.902369 11.6834 1.29289 11.2929L5.29289 7.29289C5.68342 6.90237 6.31658 6.90237 6.70711 7.29289Z",
5882
6270
  fill: "currentColor"
5883
6271
  }
5884
6272
  ),
5885
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
6273
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5886
6274
  "path",
5887
6275
  {
5888
6276
  d: "M17.2929 7.29289C17.6834 6.90237 18.3166 6.90237 18.7071 7.29289L22.7071 11.2929C23.0976 11.6834 23.0976 12.3166 22.7071 12.7071L18.7071 16.7071C18.3166 17.0976 17.6834 17.0976 17.2929 16.7071C16.9024 16.3166 16.9024 15.6834 17.2929 15.2929L20.5858 12L17.2929 8.70711C16.9024 8.31658 16.9024 7.68342 17.2929 7.29289Z",
@@ -5897,9 +6285,9 @@ Code2Icon.displayName = "Code2Icon";
5897
6285
 
5898
6286
  // src/components/tiptap-icons/italic-icon.tsx
5899
6287
  var import_react69 = require("react");
5900
- var import_jsx_runtime61 = require("react/jsx-runtime");
6288
+ var import_jsx_runtime62 = require("react/jsx-runtime");
5901
6289
  var ItalicIcon = (0, import_react69.memo)(({ className, ...props }) => {
5902
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6290
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5903
6291
  "svg",
5904
6292
  {
5905
6293
  width: "24",
@@ -5909,7 +6297,7 @@ var ItalicIcon = (0, import_react69.memo)(({ className, ...props }) => {
5909
6297
  fill: "currentColor",
5910
6298
  xmlns: "http://www.w3.org/2000/svg",
5911
6299
  ...props,
5912
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6300
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5913
6301
  "path",
5914
6302
  {
5915
6303
  d: "M15.0222 3H19C19.5523 3 20 3.44772 20 4C20 4.55228 19.5523 5 19 5H15.693L10.443 19H14C14.5523 19 15 19.4477 15 20C15 20.5523 14.5523 21 14 21H9.02418C9.00802 21.0004 8.99181 21.0004 8.97557 21H5C4.44772 21 4 20.5523 4 20C4 19.4477 4.44772 19 5 19H8.30704L13.557 5H10C9.44772 5 9 4.55228 9 4C9 3.44772 9.44772 3 10 3H14.9782C14.9928 2.99968 15.0075 2.99967 15.0222 3Z",
@@ -5923,9 +6311,9 @@ ItalicIcon.displayName = "ItalicIcon";
5923
6311
 
5924
6312
  // src/components/tiptap-icons/strike-icon.tsx
5925
6313
  var import_react70 = require("react");
5926
- var import_jsx_runtime62 = require("react/jsx-runtime");
6314
+ var import_jsx_runtime63 = require("react/jsx-runtime");
5927
6315
  var StrikeIcon = (0, import_react70.memo)(({ className, ...props }) => {
5928
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
6316
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
5929
6317
  "svg",
5930
6318
  {
5931
6319
  width: "24",
@@ -5936,14 +6324,14 @@ var StrikeIcon = (0, import_react70.memo)(({ className, ...props }) => {
5936
6324
  xmlns: "http://www.w3.org/2000/svg",
5937
6325
  ...props,
5938
6326
  children: [
5939
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6327
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
5940
6328
  "path",
5941
6329
  {
5942
6330
  d: "M9.00039 3H16.0001C16.5524 3 17.0001 3.44772 17.0001 4C17.0001 4.55229 16.5524 5 16.0001 5H9.00011C8.68006 4.99983 8.36412 5.07648 8.07983 5.22349C7.79555 5.37051 7.55069 5.5836 7.36585 5.84487C7.181 6.10614 7.06155 6.40796 7.01754 6.72497C6.97352 7.04198 7.00623 7.36492 7.11292 7.66667C7.29701 8.18737 7.02414 8.75872 6.50344 8.94281C5.98274 9.1269 5.4114 8.85403 5.2273 8.33333C5.01393 7.72984 4.94851 7.08396 5.03654 6.44994C5.12456 5.81592 5.36346 5.21229 5.73316 4.68974C6.10285 4.1672 6.59256 3.74101 7.16113 3.44698C7.72955 3.15303 8.36047 2.99975 9.00039 3Z",
5943
6331
  fill: "currentColor"
5944
6332
  }
5945
6333
  ),
5946
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6334
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
5947
6335
  "path",
5948
6336
  {
5949
6337
  d: "M18 13H20C20.5523 13 21 12.5523 21 12C21 11.4477 20.5523 11 20 11H4C3.44772 11 3 11.4477 3 12C3 12.5523 3.44772 13 4 13H14C14.7956 13 15.5587 13.3161 16.1213 13.8787C16.6839 14.4413 17 15.2044 17 16C17 16.7956 16.6839 17.5587 16.1213 18.1213C15.5587 18.6839 14.7956 19 14 19H6C5.44772 19 5 19.4477 5 20C5 20.5523 5.44772 21 6 21H14C15.3261 21 16.5979 20.4732 17.5355 19.5355C18.4732 18.5979 19 17.3261 19 16C19 14.9119 18.6453 13.8604 18 13Z",
@@ -5958,9 +6346,9 @@ StrikeIcon.displayName = "StrikeIcon";
5958
6346
 
5959
6347
  // src/components/tiptap-icons/subscript-icon.tsx
5960
6348
  var import_react71 = require("react");
5961
- var import_jsx_runtime63 = require("react/jsx-runtime");
6349
+ var import_jsx_runtime64 = require("react/jsx-runtime");
5962
6350
  var SubscriptIcon = (0, import_react71.memo)(({ className, ...props }) => {
5963
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
6351
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
5964
6352
  "svg",
5965
6353
  {
5966
6354
  width: "24",
@@ -5971,7 +6359,7 @@ var SubscriptIcon = (0, import_react71.memo)(({ className, ...props }) => {
5971
6359
  xmlns: "http://www.w3.org/2000/svg",
5972
6360
  ...props,
5973
6361
  children: [
5974
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
6362
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5975
6363
  "path",
5976
6364
  {
5977
6365
  fillRule: "evenodd",
@@ -5980,7 +6368,7 @@ var SubscriptIcon = (0, import_react71.memo)(({ className, ...props }) => {
5980
6368
  fill: "currentColor"
5981
6369
  }
5982
6370
  ),
5983
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
6371
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5984
6372
  "path",
5985
6373
  {
5986
6374
  fillRule: "evenodd",
@@ -5989,7 +6377,7 @@ var SubscriptIcon = (0, import_react71.memo)(({ className, ...props }) => {
5989
6377
  fill: "currentColor"
5990
6378
  }
5991
6379
  ),
5992
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
6380
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5993
6381
  "path",
5994
6382
  {
5995
6383
  fillRule: "evenodd",
@@ -6006,9 +6394,9 @@ SubscriptIcon.displayName = "SubscriptIcon";
6006
6394
 
6007
6395
  // src/components/tiptap-icons/superscript-icon.tsx
6008
6396
  var import_react72 = require("react");
6009
- var import_jsx_runtime64 = require("react/jsx-runtime");
6397
+ var import_jsx_runtime65 = require("react/jsx-runtime");
6010
6398
  var SuperscriptIcon = (0, import_react72.memo)(({ className, ...props }) => {
6011
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
6399
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
6012
6400
  "svg",
6013
6401
  {
6014
6402
  width: "24",
@@ -6019,7 +6407,7 @@ var SuperscriptIcon = (0, import_react72.memo)(({ className, ...props }) => {
6019
6407
  xmlns: "http://www.w3.org/2000/svg",
6020
6408
  ...props,
6021
6409
  children: [
6022
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6410
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6023
6411
  "path",
6024
6412
  {
6025
6413
  fillRule: "evenodd",
@@ -6028,7 +6416,7 @@ var SuperscriptIcon = (0, import_react72.memo)(({ className, ...props }) => {
6028
6416
  fill: "currentColor"
6029
6417
  }
6030
6418
  ),
6031
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6419
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6032
6420
  "path",
6033
6421
  {
6034
6422
  fillRule: "evenodd",
@@ -6037,7 +6425,7 @@ var SuperscriptIcon = (0, import_react72.memo)(({ className, ...props }) => {
6037
6425
  fill: "currentColor"
6038
6426
  }
6039
6427
  ),
6040
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6428
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6041
6429
  "path",
6042
6430
  {
6043
6431
  fillRule: "evenodd",
@@ -6054,9 +6442,9 @@ SuperscriptIcon.displayName = "SuperscriptIcon";
6054
6442
 
6055
6443
  // src/components/tiptap-icons/underline-icon.tsx
6056
6444
  var import_react73 = require("react");
6057
- var import_jsx_runtime65 = require("react/jsx-runtime");
6445
+ var import_jsx_runtime66 = require("react/jsx-runtime");
6058
6446
  var UnderlineIcon = (0, import_react73.memo)(({ className, ...props }) => {
6059
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6447
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
6060
6448
  "svg",
6061
6449
  {
6062
6450
  width: "24",
@@ -6066,7 +6454,7 @@ var UnderlineIcon = (0, import_react73.memo)(({ className, ...props }) => {
6066
6454
  fill: "currentColor",
6067
6455
  xmlns: "http://www.w3.org/2000/svg",
6068
6456
  ...props,
6069
- children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6457
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
6070
6458
  "path",
6071
6459
  {
6072
6460
  fillRule: "evenodd",
@@ -6169,12 +6557,12 @@ function useMark(config) {
6169
6557
 
6170
6558
  // src/components/tiptap-ui/text-align-button/text-align-button.tsx
6171
6559
  var import_react75 = require("react");
6172
- var import_jsx_runtime66 = require("react/jsx-runtime");
6560
+ var import_jsx_runtime67 = require("react/jsx-runtime");
6173
6561
  function TextAlignShortcutBadge({
6174
6562
  align,
6175
6563
  shortcutKeys = TEXT_ALIGN_SHORTCUT_KEYS[align]
6176
6564
  }) {
6177
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
6565
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
6178
6566
  }
6179
6567
  var TextAlignButton = (0, import_react75.forwardRef)(
6180
6568
  ({
@@ -6216,7 +6604,7 @@ var TextAlignButton = (0, import_react75.forwardRef)(
6216
6604
  return null;
6217
6605
  }
6218
6606
  const RenderIcon = CustomIcon ?? Icon;
6219
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
6607
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6220
6608
  Button2,
6221
6609
  {
6222
6610
  type: "button",
@@ -6232,10 +6620,10 @@ var TextAlignButton = (0, import_react75.forwardRef)(
6232
6620
  onClick: handleClick,
6233
6621
  ...buttonProps,
6234
6622
  ref,
6235
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
6236
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(RenderIcon, { className: "tiptap-button-icon" }),
6237
- text && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "tiptap-button-text", children: text }),
6238
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
6623
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
6624
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(RenderIcon, { className: "tiptap-button-icon" }),
6625
+ text && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "tiptap-button-text", children: text }),
6626
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6239
6627
  TextAlignShortcutBadge,
6240
6628
  {
6241
6629
  align,
@@ -6254,9 +6642,9 @@ var import_react80 = require("react");
6254
6642
 
6255
6643
  // src/components/tiptap-icons/align-center-icon.tsx
6256
6644
  var import_react76 = require("react");
6257
- var import_jsx_runtime67 = require("react/jsx-runtime");
6645
+ var import_jsx_runtime68 = require("react/jsx-runtime");
6258
6646
  var AlignCenterIcon = (0, import_react76.memo)(({ className, ...props }) => {
6259
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
6647
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
6260
6648
  "svg",
6261
6649
  {
6262
6650
  width: "24",
@@ -6267,7 +6655,7 @@ var AlignCenterIcon = (0, import_react76.memo)(({ className, ...props }) => {
6267
6655
  xmlns: "http://www.w3.org/2000/svg",
6268
6656
  ...props,
6269
6657
  children: [
6270
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6658
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6271
6659
  "path",
6272
6660
  {
6273
6661
  fillRule: "evenodd",
@@ -6276,7 +6664,7 @@ var AlignCenterIcon = (0, import_react76.memo)(({ className, ...props }) => {
6276
6664
  fill: "currentColor"
6277
6665
  }
6278
6666
  ),
6279
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6667
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6280
6668
  "path",
6281
6669
  {
6282
6670
  fillRule: "evenodd",
@@ -6285,7 +6673,7 @@ var AlignCenterIcon = (0, import_react76.memo)(({ className, ...props }) => {
6285
6673
  fill: "currentColor"
6286
6674
  }
6287
6675
  ),
6288
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6676
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6289
6677
  "path",
6290
6678
  {
6291
6679
  fillRule: "evenodd",
@@ -6302,9 +6690,9 @@ AlignCenterIcon.displayName = "AlignCenterIcon";
6302
6690
 
6303
6691
  // src/components/tiptap-icons/align-justify-icon.tsx
6304
6692
  var import_react77 = require("react");
6305
- var import_jsx_runtime68 = require("react/jsx-runtime");
6693
+ var import_jsx_runtime69 = require("react/jsx-runtime");
6306
6694
  var AlignJustifyIcon = (0, import_react77.memo)(({ className, ...props }) => {
6307
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
6695
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
6308
6696
  "svg",
6309
6697
  {
6310
6698
  width: "24",
@@ -6315,7 +6703,7 @@ var AlignJustifyIcon = (0, import_react77.memo)(({ className, ...props }) => {
6315
6703
  xmlns: "http://www.w3.org/2000/svg",
6316
6704
  ...props,
6317
6705
  children: [
6318
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6706
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6319
6707
  "path",
6320
6708
  {
6321
6709
  fillRule: "evenodd",
@@ -6324,7 +6712,7 @@ var AlignJustifyIcon = (0, import_react77.memo)(({ className, ...props }) => {
6324
6712
  fill: "currentColor"
6325
6713
  }
6326
6714
  ),
6327
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6715
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6328
6716
  "path",
6329
6717
  {
6330
6718
  fillRule: "evenodd",
@@ -6333,7 +6721,7 @@ var AlignJustifyIcon = (0, import_react77.memo)(({ className, ...props }) => {
6333
6721
  fill: "currentColor"
6334
6722
  }
6335
6723
  ),
6336
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6724
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6337
6725
  "path",
6338
6726
  {
6339
6727
  fillRule: "evenodd",
@@ -6350,9 +6738,9 @@ AlignJustifyIcon.displayName = "AlignJustifyIcon";
6350
6738
 
6351
6739
  // src/components/tiptap-icons/align-left-icon.tsx
6352
6740
  var import_react78 = require("react");
6353
- var import_jsx_runtime69 = require("react/jsx-runtime");
6741
+ var import_jsx_runtime70 = require("react/jsx-runtime");
6354
6742
  var AlignLeftIcon = (0, import_react78.memo)(({ className, ...props }) => {
6355
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
6743
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
6356
6744
  "svg",
6357
6745
  {
6358
6746
  width: "24",
@@ -6363,7 +6751,7 @@ var AlignLeftIcon = (0, import_react78.memo)(({ className, ...props }) => {
6363
6751
  xmlns: "http://www.w3.org/2000/svg",
6364
6752
  ...props,
6365
6753
  children: [
6366
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6754
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6367
6755
  "path",
6368
6756
  {
6369
6757
  fillRule: "evenodd",
@@ -6372,7 +6760,7 @@ var AlignLeftIcon = (0, import_react78.memo)(({ className, ...props }) => {
6372
6760
  fill: "currentColor"
6373
6761
  }
6374
6762
  ),
6375
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6763
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6376
6764
  "path",
6377
6765
  {
6378
6766
  fillRule: "evenodd",
@@ -6381,7 +6769,7 @@ var AlignLeftIcon = (0, import_react78.memo)(({ className, ...props }) => {
6381
6769
  fill: "currentColor"
6382
6770
  }
6383
6771
  ),
6384
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6772
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6385
6773
  "path",
6386
6774
  {
6387
6775
  fillRule: "evenodd",
@@ -6398,9 +6786,9 @@ AlignLeftIcon.displayName = "AlignLeftIcon";
6398
6786
 
6399
6787
  // src/components/tiptap-icons/align-right-icon.tsx
6400
6788
  var import_react79 = require("react");
6401
- var import_jsx_runtime70 = require("react/jsx-runtime");
6789
+ var import_jsx_runtime71 = require("react/jsx-runtime");
6402
6790
  var AlignRightIcon = (0, import_react79.memo)(({ className, ...props }) => {
6403
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
6791
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
6404
6792
  "svg",
6405
6793
  {
6406
6794
  width: "24",
@@ -6411,7 +6799,7 @@ var AlignRightIcon = (0, import_react79.memo)(({ className, ...props }) => {
6411
6799
  xmlns: "http://www.w3.org/2000/svg",
6412
6800
  ...props,
6413
6801
  children: [
6414
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6802
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6415
6803
  "path",
6416
6804
  {
6417
6805
  fillRule: "evenodd",
@@ -6420,7 +6808,7 @@ var AlignRightIcon = (0, import_react79.memo)(({ className, ...props }) => {
6420
6808
  fill: "currentColor"
6421
6809
  }
6422
6810
  ),
6423
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6811
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6424
6812
  "path",
6425
6813
  {
6426
6814
  fillRule: "evenodd",
@@ -6429,7 +6817,7 @@ var AlignRightIcon = (0, import_react79.memo)(({ className, ...props }) => {
6429
6817
  fill: "currentColor"
6430
6818
  }
6431
6819
  ),
6432
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6820
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6433
6821
  "path",
6434
6822
  {
6435
6823
  fillRule: "evenodd",
@@ -6537,12 +6925,12 @@ function useTextAlign(config) {
6537
6925
 
6538
6926
  // src/components/tiptap-ui/undo-redo-button/undo-redo-button.tsx
6539
6927
  var import_react81 = require("react");
6540
- var import_jsx_runtime71 = require("react/jsx-runtime");
6928
+ var import_jsx_runtime72 = require("react/jsx-runtime");
6541
6929
  function HistoryShortcutBadge({
6542
6930
  action,
6543
6931
  shortcutKeys = UNDO_REDO_SHORTCUT_KEYS[action]
6544
6932
  }) {
6545
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
6933
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
6546
6934
  }
6547
6935
  var UndoRedoButton = (0, import_react81.forwardRef)(
6548
6936
  ({
@@ -6574,7 +6962,7 @@ var UndoRedoButton = (0, import_react81.forwardRef)(
6574
6962
  if (!isVisible) {
6575
6963
  return null;
6576
6964
  }
6577
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6965
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
6578
6966
  Button2,
6579
6967
  {
6580
6968
  type: "button",
@@ -6588,10 +6976,10 @@ var UndoRedoButton = (0, import_react81.forwardRef)(
6588
6976
  onClick: handleClick,
6589
6977
  ...buttonProps,
6590
6978
  ref,
6591
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_jsx_runtime71.Fragment, { children: [
6592
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Icon, { className: "tiptap-button-icon" }),
6593
- text && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "tiptap-button-text", children: text }),
6594
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6979
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
6980
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Icon, { className: "tiptap-button-icon" }),
6981
+ text && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("span", { className: "tiptap-button-text", children: text }),
6982
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
6595
6983
  HistoryShortcutBadge,
6596
6984
  {
6597
6985
  action,
@@ -6610,9 +6998,9 @@ var import_react84 = require("react");
6610
6998
 
6611
6999
  // src/components/tiptap-icons/redo2-icon.tsx
6612
7000
  var import_react82 = require("react");
6613
- var import_jsx_runtime72 = require("react/jsx-runtime");
7001
+ var import_jsx_runtime73 = require("react/jsx-runtime");
6614
7002
  var Redo2Icon = (0, import_react82.memo)(({ className, ...props }) => {
6615
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
7003
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6616
7004
  "svg",
6617
7005
  {
6618
7006
  width: "24",
@@ -6622,7 +7010,7 @@ var Redo2Icon = (0, import_react82.memo)(({ className, ...props }) => {
6622
7010
  fill: "currentColor",
6623
7011
  xmlns: "http://www.w3.org/2000/svg",
6624
7012
  ...props,
6625
- children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
7013
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6626
7014
  "path",
6627
7015
  {
6628
7016
  fillRule: "evenodd",
@@ -6638,9 +7026,9 @@ Redo2Icon.displayName = "Redo2Icon";
6638
7026
 
6639
7027
  // src/components/tiptap-icons/undo2-icon.tsx
6640
7028
  var import_react83 = require("react");
6641
- var import_jsx_runtime73 = require("react/jsx-runtime");
7029
+ var import_jsx_runtime74 = require("react/jsx-runtime");
6642
7030
  var Undo2Icon = (0, import_react83.memo)(({ className, ...props }) => {
6643
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
7031
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6644
7032
  "svg",
6645
7033
  {
6646
7034
  width: "24",
@@ -6650,7 +7038,7 @@ var Undo2Icon = (0, import_react83.memo)(({ className, ...props }) => {
6650
7038
  fill: "currentColor",
6651
7039
  xmlns: "http://www.w3.org/2000/svg",
6652
7040
  ...props,
6653
- children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
7041
+ children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6654
7042
  "path",
6655
7043
  {
6656
7044
  fillRule: "evenodd",
@@ -6926,12 +7314,12 @@ var import_lucide_react9 = require("lucide-react");
6926
7314
  // src/components/ui/command.tsx
6927
7315
  var import_cmdk = require("cmdk");
6928
7316
  var import_lucide_react8 = require("lucide-react");
6929
- var import_jsx_runtime74 = require("react/jsx-runtime");
7317
+ var import_jsx_runtime75 = require("react/jsx-runtime");
6930
7318
  function Command({
6931
7319
  className,
6932
7320
  ...props
6933
7321
  }) {
6934
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7322
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
6935
7323
  import_cmdk.Command,
6936
7324
  {
6937
7325
  "data-slot": "command",
@@ -6947,14 +7335,14 @@ function CommandInput({
6947
7335
  className,
6948
7336
  ...props
6949
7337
  }) {
6950
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
7338
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
6951
7339
  "div",
6952
7340
  {
6953
7341
  "data-slot": "command-input-wrapper",
6954
7342
  className: "flex h-9 items-center gap-2 border-b px-3",
6955
7343
  children: [
6956
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_lucide_react8.SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
6957
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7344
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_lucide_react8.SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
7345
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
6958
7346
  import_cmdk.Command.Input,
6959
7347
  {
6960
7348
  "data-slot": "command-input",
@@ -6973,7 +7361,7 @@ function CommandList({
6973
7361
  className,
6974
7362
  ...props
6975
7363
  }) {
6976
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7364
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
6977
7365
  import_cmdk.Command.List,
6978
7366
  {
6979
7367
  "data-slot": "command-list",
@@ -6988,7 +7376,7 @@ function CommandList({
6988
7376
  function CommandEmpty({
6989
7377
  ...props
6990
7378
  }) {
6991
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7379
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
6992
7380
  import_cmdk.Command.Empty,
6993
7381
  {
6994
7382
  "data-slot": "command-empty",
@@ -7001,7 +7389,7 @@ function CommandGroup({
7001
7389
  className,
7002
7390
  ...props
7003
7391
  }) {
7004
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7392
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7005
7393
  import_cmdk.Command.Group,
7006
7394
  {
7007
7395
  "data-slot": "command-group",
@@ -7017,7 +7405,7 @@ function CommandItem({
7017
7405
  className,
7018
7406
  ...props
7019
7407
  }) {
7020
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7408
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7021
7409
  import_cmdk.Command.Item,
7022
7410
  {
7023
7411
  "data-slot": "command-item",
@@ -7032,16 +7420,16 @@ function CommandItem({
7032
7420
 
7033
7421
  // src/components/ui/popover.tsx
7034
7422
  var PopoverPrimitive2 = __toESM(require("@radix-ui/react-popover"));
7035
- var import_jsx_runtime75 = require("react/jsx-runtime");
7423
+ var import_jsx_runtime76 = require("react/jsx-runtime");
7036
7424
  function Popover2({
7037
7425
  ...props
7038
7426
  }) {
7039
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(PopoverPrimitive2.Root, { "data-slot": "popover", ...props });
7427
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(PopoverPrimitive2.Root, { "data-slot": "popover", ...props });
7040
7428
  }
7041
7429
  function PopoverTrigger2({
7042
7430
  ...props
7043
7431
  }) {
7044
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(PopoverPrimitive2.Trigger, { "data-slot": "popover-trigger", ...props });
7432
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(PopoverPrimitive2.Trigger, { "data-slot": "popover-trigger", ...props });
7045
7433
  }
7046
7434
  function PopoverContent2({
7047
7435
  className,
@@ -7049,7 +7437,7 @@ function PopoverContent2({
7049
7437
  sideOffset = 4,
7050
7438
  ...props
7051
7439
  }) {
7052
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(PopoverPrimitive2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7440
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(PopoverPrimitive2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
7053
7441
  PopoverPrimitive2.Content,
7054
7442
  {
7055
7443
  "data-slot": "popover-content",
@@ -7065,66 +7453,15 @@ function PopoverContent2({
7065
7453
  }
7066
7454
 
7067
7455
  // src/components/tiptap-ui/font-family-dropdown/font-family-dropdown.tsx
7068
- var import_jsx_runtime76 = require("react/jsx-runtime");
7456
+ var import_jsx_runtime77 = require("react/jsx-runtime");
7069
7457
  function FontFamilyDropdown() {
7070
7458
  const { editor } = (0, import_react85.useCurrentEditor)();
7071
7459
  const [open, setOpen] = (0, import_react86.useState)(false);
7072
- const [selectedFont, setSelectedFont] = (0, import_react86.useState)(null);
7073
7460
  (0, import_react86.useEffect)(() => {
7074
7461
  loadGoogleFonts();
7075
7462
  }, []);
7076
- (0, import_react86.useEffect)(() => {
7077
- if (!editor || !selectedFont) return;
7078
- const handleUpdate = () => {
7079
- const currentFontFamily2 = editor.getAttributes("textStyle").fontFamily;
7080
- if (!currentFontFamily2) {
7081
- requestAnimationFrame(() => {
7082
- editor.commands.setFontFamily(selectedFont);
7083
- });
7084
- }
7085
- };
7086
- const handleSelectionUpdate = () => {
7087
- const currentFontFamily2 = editor.getAttributes("textStyle").fontFamily;
7088
- if (!currentFontFamily2 && selectedFont) {
7089
- requestAnimationFrame(() => {
7090
- editor.commands.setFontFamily(selectedFont);
7091
- });
7092
- }
7093
- };
7094
- const handleTransaction = ({ transaction }) => {
7095
- const isBlockChange = transaction.steps.some((step) => {
7096
- return step.slice?.content?.content?.some(
7097
- (node) => ["heading", "bulletList", "orderedList", "blockquote", "codeBlock"].includes(node.type?.name)
7098
- );
7099
- });
7100
- if (isBlockChange && selectedFont) {
7101
- requestAnimationFrame(() => {
7102
- editor.commands.setFontFamily(selectedFont);
7103
- });
7104
- }
7105
- };
7106
- editor.on("update", handleUpdate);
7107
- editor.on("selectionUpdate", handleSelectionUpdate);
7108
- editor.on("transaction", handleTransaction);
7109
- return () => {
7110
- editor.off("update", handleUpdate);
7111
- editor.off("selectionUpdate", handleSelectionUpdate);
7112
- editor.off("transaction", handleTransaction);
7113
- };
7114
- }, [editor, selectedFont]);
7115
- (0, import_react86.useEffect)(() => {
7116
- if (!editor || !selectedFont) return;
7117
- const { state } = editor;
7118
- const { schema } = state;
7119
- const textStyleMark = schema.marks.textStyle;
7120
- if (textStyleMark) {
7121
- const mark = textStyleMark.create({ fontFamily: selectedFont });
7122
- const tr = state.tr.addStoredMark(mark);
7123
- editor.view.dispatch(tr);
7124
- }
7125
- }, [editor, selectedFont]);
7126
7463
  if (!editor) return null;
7127
- const currentFontFamily = editor.getAttributes("textStyle").fontFamily || selectedFont;
7464
+ const currentFontFamily = editor.getAttributes("textStyle").fontFamily;
7128
7465
  const getCurrentFontLabel = () => {
7129
7466
  if (!currentFontFamily) return "Font Family";
7130
7467
  const matchedFont = FONT_OPTIONS.find(
@@ -7135,50 +7472,26 @@ function FontFamilyDropdown() {
7135
7472
  const currentFont = getCurrentFontLabel();
7136
7473
  const applyFont = (family) => {
7137
7474
  if (!editor) return;
7138
- setSelectedFont(family);
7139
- if (editor.state.storedMarks) {
7140
- const textStyleMark2 = editor.schema.marks.textStyle;
7141
- if (textStyleMark2) {
7142
- editor.view.dispatch(editor.state.tr.removeStoredMark(textStyleMark2));
7143
- }
7144
- }
7145
- editor.chain().focus().setFontFamily(family).run();
7146
- const { state } = editor;
7147
- const { schema } = state;
7148
- const textStyleMark = schema.marks.textStyle;
7149
- if (textStyleMark) {
7150
- const mark = textStyleMark.create({ fontFamily: family });
7151
- const tr = state.tr.addStoredMark(mark);
7152
- editor.view.dispatch(tr);
7153
- }
7154
- };
7155
- const resetFont = () => {
7156
- if (!editor) return;
7157
- setSelectedFont(null);
7158
- if (editor.state.storedMarks) {
7159
- const textStyleMark = editor.schema.marks.textStyle;
7160
- if (textStyleMark) {
7161
- editor.view.dispatch(
7162
- editor.state.tr.removeStoredMark(textStyleMark)
7163
- );
7164
- }
7475
+ const { from, to } = editor.state.selection;
7476
+ if (from === to) {
7477
+ editor.chain().focus().setFontFamily(family).run();
7478
+ return;
7165
7479
  }
7166
- editor.chain().focus().unsetFontFamily().run();
7167
- setOpen(false);
7480
+ editor.chain().focus().setMark("textStyle", { fontFamily: family }).run();
7168
7481
  };
7169
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Popover2, { open, onOpenChange: setOpen, children: [
7170
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
7482
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(Popover2, { open, onOpenChange: setOpen, children: [
7483
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
7171
7484
  Button,
7172
7485
  {
7173
7486
  variant: "outlineFontFamily",
7174
7487
  className: "min-w-[90px] h-7 px-2 flex items-center justify-between rounded-sm border-[#a3a3a8] text-[#a3a3a8] hover:border-[#000] hover:text-[#fff] transition-colors",
7175
7488
  children: [
7176
7489
  currentFont,
7177
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react9.ChevronDown, { className: "w-4 h-4" })
7490
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react9.ChevronDown, { className: "w-4 h-4" })
7178
7491
  ]
7179
7492
  }
7180
7493
  ) }),
7181
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
7494
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
7182
7495
  PopoverContent2,
7183
7496
  {
7184
7497
  className: "w-[300px] p-0",
@@ -7189,21 +7502,30 @@ function FontFamilyDropdown() {
7189
7502
  e.preventDefault();
7190
7503
  }
7191
7504
  },
7192
- children: /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Command, { children: [
7193
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "cmd-input-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(CommandInput, { placeholder: "Search font..." }) }),
7194
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(CommandList, { className: "max-h-[220px]", children: [
7195
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(CommandEmpty, { children: "No font found." }),
7196
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(CommandGroup, { children: [
7197
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
7505
+ children: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(Command, { children: [
7506
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "cmd-input-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(CommandInput, { placeholder: "Search font..." }) }),
7507
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(CommandList, { className: "max-h-[220px]", children: [
7508
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(CommandEmpty, { children: "No font found." }),
7509
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(CommandGroup, { children: [
7510
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
7198
7511
  CommandItem,
7199
7512
  {
7200
- onSelect: resetFont,
7513
+ onSelect: () => {
7514
+ if (!editor) return;
7515
+ const { from, to } = editor.state.selection;
7516
+ if (from === to) {
7517
+ editor.chain().focus().unsetFontFamily().run();
7518
+ } else {
7519
+ editor.chain().focus().unsetMark("textStyle", { extendEmptyMarkRange: true }).run();
7520
+ }
7521
+ setOpen(false);
7522
+ },
7201
7523
  className: "font-sans",
7202
7524
  children: "Default"
7203
7525
  },
7204
7526
  "default"
7205
7527
  ),
7206
- FONT_OPTIONS.map(({ label, cssFontFamily }) => /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
7528
+ FONT_OPTIONS.map(({ label, cssFontFamily }) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
7207
7529
  CommandItem,
7208
7530
  {
7209
7531
  onSelect: () => {
@@ -7231,12 +7553,12 @@ var import_lodash = require("lodash");
7231
7553
 
7232
7554
  // src/components/ui/label.tsx
7233
7555
  var LabelPrimitive = __toESM(require("@radix-ui/react-label"));
7234
- var import_jsx_runtime77 = require("react/jsx-runtime");
7556
+ var import_jsx_runtime78 = require("react/jsx-runtime");
7235
7557
  function Label({
7236
7558
  className,
7237
7559
  ...props
7238
7560
  }) {
7239
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
7561
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7240
7562
  LabelPrimitive.Root,
7241
7563
  {
7242
7564
  "data-slot": "label",
@@ -7251,7 +7573,7 @@ function Label({
7251
7573
 
7252
7574
  // src/components/tiptap-ui/color-picker/color-picker.tsx
7253
7575
  var import_react89 = __toESM(require("react"));
7254
- var import_jsx_runtime78 = require("react/jsx-runtime");
7576
+ var import_jsx_runtime79 = require("react/jsx-runtime");
7255
7577
  function ColorPicker({ type = "text" }) {
7256
7578
  const { editor } = (0, import_react88.useCurrentEditor)();
7257
7579
  const [open, setOpen] = (0, import_react87.useState)(false);
@@ -7301,15 +7623,15 @@ function ColorPicker({ type = "text" }) {
7301
7623
  []
7302
7624
  );
7303
7625
  if (!editor) return null;
7304
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(Popover2, { open, onOpenChange: (v) => setOpen(v), children: [
7305
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
7626
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(Popover2, { open, onOpenChange: (v) => setOpen(v), children: [
7627
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
7306
7628
  Button,
7307
7629
  {
7308
7630
  variant: "outlineFontFamily",
7309
7631
  className: "flex items-center h-7 rounded-sm px-2 border-[#a3a3a8] text-[#a3a3a8] hover:text-white",
7310
7632
  children: [
7311
7633
  "Color",
7312
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7634
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7313
7635
  "span",
7314
7636
  {
7315
7637
  className: "w-3 h-3 ml-2 rounded-sm border border-black/20",
@@ -7319,16 +7641,16 @@ function ColorPicker({ type = "text" }) {
7319
7641
  ]
7320
7642
  }
7321
7643
  ) }),
7322
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
7644
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
7323
7645
  PopoverContent2,
7324
7646
  {
7325
7647
  className: "w-[260px] p-3",
7326
7648
  align: "start",
7327
7649
  onClick: (e) => e.stopPropagation(),
7328
7650
  children: [
7329
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Label, { className: "text-xs mb-2", children: type === "text" ? "Text Color" : "Highlight Color" }),
7330
- !showCustom && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex flex-col gap-3", children: [
7331
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "grid grid-cols-7 gap-1", children: GRADIENT_ROWS_70.map((c) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7651
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Label, { className: "text-xs mb-2", children: type === "text" ? "Text Color" : "Highlight Color" }),
7652
+ !showCustom && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex flex-col gap-3", children: [
7653
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "grid grid-cols-7 gap-1", children: GRADIENT_ROWS_70.map((c) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7332
7654
  "div",
7333
7655
  {
7334
7656
  onClick: () => {
@@ -7340,7 +7662,7 @@ function ColorPicker({ type = "text" }) {
7340
7662
  },
7341
7663
  c
7342
7664
  )) }),
7343
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7665
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7344
7666
  Button,
7345
7667
  {
7346
7668
  size: "sm",
@@ -7354,7 +7676,7 @@ function ColorPicker({ type = "text" }) {
7354
7676
  )
7355
7677
  ] }),
7356
7678
  showCustom && // stop mouse/pointer events from bubbling so popover doesn't treat them as outside clicks
7357
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
7679
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
7358
7680
  "div",
7359
7681
  {
7360
7682
  className: "flex flex-col gap-3",
@@ -7364,7 +7686,7 @@ function ColorPicker({ type = "text" }) {
7364
7686
  onPointerUp: (e) => e.stopPropagation(),
7365
7687
  onClick: (e) => e.stopPropagation(),
7366
7688
  children: [
7367
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7689
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7368
7690
  import_react_colorful.HexColorPicker,
7369
7691
  {
7370
7692
  color: tempHex,
@@ -7375,8 +7697,8 @@ function ColorPicker({ type = "text" }) {
7375
7697
  onMouseUp: (e) => e.stopPropagation()
7376
7698
  }
7377
7699
  ),
7378
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex gap-2 items-center", children: [
7379
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7700
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex gap-2 items-center", children: [
7701
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7380
7702
  "input",
7381
7703
  {
7382
7704
  value: tempHex,
@@ -7387,7 +7709,7 @@ function ColorPicker({ type = "text" }) {
7387
7709
  className: "w-full px-2 py-1 border rounded text-sm"
7388
7710
  }
7389
7711
  ),
7390
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7712
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7391
7713
  Button,
7392
7714
  {
7393
7715
  size: "sm",
@@ -7400,7 +7722,7 @@ function ColorPicker({ type = "text" }) {
7400
7722
  }
7401
7723
  )
7402
7724
  ] }),
7403
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "flex justify-end mt-2", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7725
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "flex justify-end mt-2", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7404
7726
  Button,
7405
7727
  {
7406
7728
  size: "sm",
@@ -7428,7 +7750,7 @@ function ColorPicker({ type = "text" }) {
7428
7750
  var import_react90 = require("react");
7429
7751
  var import_react91 = require("@tiptap/react");
7430
7752
  var import_fi = require("react-icons/fi");
7431
- var import_jsx_runtime79 = require("react/jsx-runtime");
7753
+ var import_jsx_runtime80 = require("react/jsx-runtime");
7432
7754
  function TableDropdownMenu() {
7433
7755
  const { editor } = (0, import_react91.useCurrentEditor)();
7434
7756
  const [open, setOpen] = (0, import_react90.useState)(false);
@@ -7470,21 +7792,21 @@ function TableDropdownMenu() {
7470
7792
  }
7471
7793
  setOpen(false);
7472
7794
  };
7473
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(Popover2, { open, onOpenChange: setOpen, children: [
7474
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Button, { variant: "tableButton", size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_fi.FiTable, { size: 16, color: "#a3a3a8" }) }) }),
7475
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(PopoverContent2, { className: "w-[220px] p-0", align: "start", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(Command, { children: [
7476
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandInput, { placeholder: "Search table actions..." }),
7477
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandList, { className: "max-h-[260px]", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(CommandGroup, { children: [
7478
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("insert"), children: "Insert Table" }),
7479
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("addColBefore"), children: "Add Column Before" }),
7480
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("addColAfter"), children: "Add Column After" }),
7481
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("delCol"), children: "Delete Column" }),
7482
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("addRowBefore"), children: "Add Row Before" }),
7483
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("addRowAfter"), children: "Add Row After" }),
7484
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("delRow"), children: "Delete Row" }),
7485
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("merge"), children: "Merge Cells" }),
7486
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("split"), children: "Split Cells" }),
7487
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("deleteTable"), children: "Delete Table" })
7795
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(Popover2, { open, onOpenChange: setOpen, children: [
7796
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Button, { variant: "tableButton", size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_fi.FiTable, { size: 16, color: "#a3a3a8" }) }) }),
7797
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(PopoverContent2, { className: "w-[220px] p-0", align: "start", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(Command, { children: [
7798
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandInput, { placeholder: "Search table actions..." }),
7799
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandList, { className: "max-h-[260px]", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(CommandGroup, { children: [
7800
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("insert"), children: "Insert Table" }),
7801
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("addColBefore"), children: "Add Column Before" }),
7802
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("addColAfter"), children: "Add Column After" }),
7803
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("delCol"), children: "Delete Column" }),
7804
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("addRowBefore"), children: "Add Row Before" }),
7805
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("addRowAfter"), children: "Add Row After" }),
7806
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("delRow"), children: "Delete Row" }),
7807
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("merge"), children: "Merge Cells" }),
7808
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("split"), children: "Split Cells" }),
7809
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("deleteTable"), children: "Delete Table" })
7488
7810
  ] }) })
7489
7811
  ] }) })
7490
7812
  ] });
@@ -7492,9 +7814,9 @@ function TableDropdownMenu() {
7492
7814
 
7493
7815
  // src/components/tiptap-icons/arrow-left-icon.tsx
7494
7816
  var import_react92 = require("react");
7495
- var import_jsx_runtime80 = require("react/jsx-runtime");
7817
+ var import_jsx_runtime81 = require("react/jsx-runtime");
7496
7818
  var ArrowLeftIcon = (0, import_react92.memo)(({ className, ...props }) => {
7497
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
7819
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
7498
7820
  "svg",
7499
7821
  {
7500
7822
  width: "24",
@@ -7504,7 +7826,7 @@ var ArrowLeftIcon = (0, import_react92.memo)(({ className, ...props }) => {
7504
7826
  fill: "currentColor",
7505
7827
  xmlns: "http://www.w3.org/2000/svg",
7506
7828
  ...props,
7507
- children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
7829
+ children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
7508
7830
  "path",
7509
7831
  {
7510
7832
  d: "M12.7071 5.70711C13.0976 5.31658 13.0976 4.68342 12.7071 4.29289C12.3166 3.90237 11.6834 3.90237 11.2929 4.29289L4.29289 11.2929C3.90237 11.6834 3.90237 12.3166 4.29289 12.7071L11.2929 19.7071C11.6834 20.0976 12.3166 20.0976 12.7071 19.7071C13.0976 19.3166 13.0976 18.6834 12.7071 18.2929L7.41421 13L19 13C19.5523 13 20 12.5523 20 12C20 11.4477 19.5523 11 19 11L7.41421 11L12.7071 5.70711Z",
@@ -7730,62 +8052,62 @@ function useCursorVisibility({
7730
8052
  }
7731
8053
 
7732
8054
  // src/components/tiptap-templates/simple/simple-editor.tsx
7733
- var import_jsx_runtime81 = require("react/jsx-runtime");
8055
+ var import_jsx_runtime82 = require("react/jsx-runtime");
7734
8056
  var MainToolbarContent = ({
7735
8057
  onHighlighterClick,
7736
8058
  onLinkClick,
7737
8059
  isMobile
7738
8060
  }) => {
7739
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_jsx_runtime81.Fragment, { children: [
7740
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Spacer, {}),
7741
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(FontFamilyDropdown, {}),
7742
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ColorPicker, { type: "text" }),
7743
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(ToolbarGroup, { children: [
7744
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(MarkButton, { type: "bold" }),
7745
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(MarkButton, { type: "italic" }),
7746
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(MarkButton, { type: "strike" }),
7747
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(MarkButton, { type: "code" }),
7748
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(MarkButton, { type: "underline" }),
7749
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(UndoRedoButton, { action: "undo" }),
7750
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(UndoRedoButton, { action: "redo" })
8061
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_jsx_runtime82.Fragment, { children: [
8062
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Spacer, {}),
8063
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(FontFamilyDropdown, {}),
8064
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ColorPicker, { type: "text" }),
8065
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(ToolbarGroup, { children: [
8066
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(MarkButton, { type: "bold" }),
8067
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(MarkButton, { type: "italic" }),
8068
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(MarkButton, { type: "strike" }),
8069
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(MarkButton, { type: "code" }),
8070
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(MarkButton, { type: "underline" }),
8071
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(UndoRedoButton, { action: "undo" }),
8072
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(UndoRedoButton, { action: "redo" })
7751
8073
  ] }),
7752
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarSeparator, {}),
7753
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(ToolbarGroup, { children: [
7754
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(TextAlignButton, { align: "left" }),
7755
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(TextAlignButton, { align: "center" }),
7756
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(TextAlignButton, { align: "right" }),
7757
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(TextAlignButton, { align: "justify" })
8074
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarSeparator, {}),
8075
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(ToolbarGroup, { children: [
8076
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TextAlignButton, { align: "left" }),
8077
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TextAlignButton, { align: "center" }),
8078
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TextAlignButton, { align: "right" }),
8079
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TextAlignButton, { align: "justify" })
7758
8080
  ] }),
7759
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarSeparator, {}),
7760
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(ToolbarGroup, { children: [
7761
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(HeadingDropdownMenu, { levels: [1, 2, 3, 4], portal: isMobile }),
7762
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8081
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarSeparator, {}),
8082
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(ToolbarGroup, { children: [
8083
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(HeadingDropdownMenu, { levels: [1, 2, 3, 4], portal: isMobile }),
8084
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
7763
8085
  ListDropdownMenu,
7764
8086
  {
7765
8087
  types: ["bulletList", "orderedList", "taskList"],
7766
8088
  portal: isMobile
7767
8089
  }
7768
8090
  ),
7769
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(BlockquoteButton, {})
8091
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(BlockquoteButton, {})
7770
8092
  ] }),
7771
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(TableDropdownMenu, {}) }),
7772
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarGroup, {}),
7773
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarSeparator, {}),
7774
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ImageUploadButton, { text: "Add" }) }),
7775
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Spacer, {}),
7776
- isMobile && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarSeparator, {})
8093
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TableDropdownMenu, {}) }),
8094
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarGroup, {}),
8095
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarSeparator, {}),
8096
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ImageUploadButton, { text: "Add" }) }),
8097
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Spacer, {}),
8098
+ isMobile && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarSeparator, {})
7777
8099
  ] });
7778
8100
  };
7779
8101
  var MobileToolbarContent = ({
7780
8102
  type,
7781
8103
  onBack
7782
- }) => /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_jsx_runtime81.Fragment, { children: [
7783
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Button2, { "data-style": "ghost", onClick: onBack, children: [
7784
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ArrowLeftIcon, { className: "tiptap-button-icon" }),
7785
- type === "highlighter" ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(HighlighterIcon, { className: "tiptap-button-icon" }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(LinkIcon, { className: "tiptap-button-icon" })
8104
+ }) => /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_jsx_runtime82.Fragment, { children: [
8105
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Button2, { "data-style": "ghost", onClick: onBack, children: [
8106
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ArrowLeftIcon, { className: "tiptap-button-icon" }),
8107
+ type === "highlighter" ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(HighlighterIcon, { className: "tiptap-button-icon" }) : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(LinkIcon, { className: "tiptap-button-icon" })
7786
8108
  ] }) }),
7787
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarSeparator, {}),
7788
- type === "highlighter" ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ColorHighlightPopoverContent, {}) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(LinkContent, {})
8109
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarSeparator, {}),
8110
+ type === "highlighter" ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ColorHighlightPopoverContent, {}) : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(LinkContent, {})
7789
8111
  ] });
7790
8112
  function SimpleEditor() {
7791
8113
  const { setEditorContent, debouncedSave } = useEditorBridge();
@@ -7816,12 +8138,52 @@ function SimpleEditor() {
7816
8138
  }),
7817
8139
  HorizontalRule,
7818
8140
  index_default,
8141
+ index_default3.configure({
8142
+ HTMLAttributes: {
8143
+ class: "blockquote-node"
8144
+ }
8145
+ }),
8146
+ index_default4.configure({
8147
+ HTMLAttributes: {
8148
+ class: "code-block-node"
8149
+ }
8150
+ }),
8151
+ import_extension_list.ListItem.configure({
8152
+ HTMLAttributes: {
8153
+ class: "list-item-node"
8154
+ }
8155
+ }),
8156
+ import_tiptap_extension_resize_image.default,
7819
8157
  index_default2,
7820
- index_default3,
8158
+ index_default5,
7821
8159
  import_extensions.Gapcursor,
7822
8160
  import_extension_text_style2.TextStyle,
7823
8161
  FontSizeStepper.configure({ step: 2, min: 8, defaultSize: 16 }),
7824
- import_extension_text_style2.FontFamily.configure({
8162
+ import_extension_text_style2.FontFamily.extend({
8163
+ addGlobalAttributes() {
8164
+ return [
8165
+ {
8166
+ types: [
8167
+ "textStyle"
8168
+ ],
8169
+ attributes: {
8170
+ fontFamily: {
8171
+ default: null,
8172
+ parseHTML: (element) => element.style.fontFamily?.replace(/['"]+/g, ""),
8173
+ renderHTML: (attributes) => {
8174
+ if (!attributes.fontFamily) {
8175
+ return {};
8176
+ }
8177
+ return {
8178
+ style: `font-family: ${attributes.fontFamily}`
8179
+ };
8180
+ }
8181
+ }
8182
+ }
8183
+ }
8184
+ ];
8185
+ }
8186
+ }).configure({
7825
8187
  types: ["textStyle"]
7826
8188
  }),
7827
8189
  import_extension_color.default.configure({ types: ["textStyle"] }),
@@ -7895,8 +8257,8 @@ function SimpleEditor() {
7895
8257
  window.visualViewport?.removeEventListener("scroll", updatePosition);
7896
8258
  };
7897
8259
  }, []);
7898
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "simple-editor-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_react99.EditorContext.Provider, { value: { editor }, children: [
7899
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8260
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "simple-editor-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_react99.EditorContext.Provider, { value: { editor }, children: [
8261
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
7900
8262
  Toolbar,
7901
8263
  {
7902
8264
  ref: toolbarRef,
@@ -7905,14 +8267,14 @@ function SimpleEditor() {
7905
8267
  bottom: `calc(100% - ${height - rect.y}px)`
7906
8268
  } : {}
7907
8269
  },
7908
- children: mobileView === "main" ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8270
+ children: mobileView === "main" ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
7909
8271
  MainToolbarContent,
7910
8272
  {
7911
8273
  onHighlighterClick: () => setMobileView("highlighter"),
7912
8274
  onLinkClick: () => setMobileView("link"),
7913
8275
  isMobile
7914
8276
  }
7915
- ) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8277
+ ) : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
7916
8278
  MobileToolbarContent,
7917
8279
  {
7918
8280
  type: mobileView === "highlighter" ? "highlighter" : "link",
@@ -7921,14 +8283,14 @@ function SimpleEditor() {
7921
8283
  )
7922
8284
  }
7923
8285
  ),
7924
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8286
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
7925
8287
  import_react99.EditorContent,
7926
8288
  {
7927
8289
  editor,
7928
8290
  role: "presentation",
7929
8291
  autoFocus: true,
7930
8292
  className: "simple-editor-content",
7931
- children: editor && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(BubbleMenuInline, {})
8293
+ children: editor && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(BubbleMenuInline, {})
7932
8294
  }
7933
8295
  )
7934
8296
  ] }) });
@@ -7936,9 +8298,9 @@ function SimpleEditor() {
7936
8298
 
7937
8299
  // src/components/editor/editor.tsx
7938
8300
  var import_clsx2 = __toESM(require("clsx"));
7939
- var import_jsx_runtime82 = require("react/jsx-runtime");
8301
+ var import_jsx_runtime83 = require("react/jsx-runtime");
7940
8302
  function Editor({ onChange, className, style, onTabsChange, initialTabs }) {
7941
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
8303
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
7942
8304
  "div",
7943
8305
  {
7944
8306
  className: (0, import_clsx2.default)(
@@ -7946,7 +8308,7 @@ function Editor({ onChange, className, style, onTabsChange, initialTabs }) {
7946
8308
  className
7947
8309
  ),
7948
8310
  style,
7949
- children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(EditorShell, { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(EditorLayout, { onChange, initialTabs, onTabsChange, children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(SimpleEditor, {}) }) })
8311
+ children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(EditorShell, { children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(EditorLayout, { onChange, initialTabs, onTabsChange, children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(SimpleEditor, {}) }) })
7950
8312
  }
7951
8313
  );
7952
8314
  }