@mhamz.01/easyflow-texteditor 0.1.98 → 0.1.100

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
@@ -1411,396 +1411,9 @@ var Paragraph = import_core2.Node.create({
1411
1411
  });
1412
1412
  var index_default2 = Paragraph;
1413
1413
 
1414
- // node_modules/@tiptap/extension-blockquote/dist/index.js
1415
- var import_core3 = require("@tiptap/core");
1416
- var import_jsx_runtime17 = require("@tiptap/core/jsx-runtime");
1417
- var inputRegex = /^\s*>\s$/;
1418
- var Blockquote = import_core3.Node.create({
1419
- name: "blockquote",
1420
- addOptions() {
1421
- return {
1422
- HTMLAttributes: {}
1423
- };
1424
- },
1425
- content: "block+",
1426
- group: "block",
1427
- defining: true,
1428
- parseHTML() {
1429
- return [{ tag: "blockquote" }];
1430
- },
1431
- renderHTML({ HTMLAttributes }) {
1432
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("blockquote", { ...(0, import_core3.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes), children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("slot", {}) });
1433
- },
1434
- parseMarkdown: (token, helpers) => {
1435
- return helpers.createNode("blockquote", void 0, helpers.parseChildren(token.tokens || []));
1436
- },
1437
- renderMarkdown: (node, h) => {
1438
- if (!node.content) {
1439
- return "";
1440
- }
1441
- const prefix = ">";
1442
- const result = [];
1443
- node.content.forEach((child) => {
1444
- const childContent = h.renderChildren([child]);
1445
- const lines = childContent.split("\n");
1446
- const linesWithPrefix = lines.map((line) => {
1447
- if (line.trim() === "") {
1448
- return prefix;
1449
- }
1450
- return `${prefix} ${line}`;
1451
- });
1452
- result.push(linesWithPrefix.join("\n"));
1453
- });
1454
- return result.join(`
1455
- ${prefix}
1456
- `);
1457
- },
1458
- addCommands() {
1459
- return {
1460
- setBlockquote: () => ({ commands }) => {
1461
- return commands.wrapIn(this.name);
1462
- },
1463
- toggleBlockquote: () => ({ commands }) => {
1464
- return commands.toggleWrap(this.name);
1465
- },
1466
- unsetBlockquote: () => ({ commands }) => {
1467
- return commands.lift(this.name);
1468
- }
1469
- };
1470
- },
1471
- addKeyboardShortcuts() {
1472
- return {
1473
- "Mod-Shift-b": () => this.editor.commands.toggleBlockquote()
1474
- };
1475
- },
1476
- addInputRules() {
1477
- return [
1478
- (0, import_core3.wrappingInputRule)({
1479
- find: inputRegex,
1480
- type: this.type
1481
- })
1482
- ];
1483
- }
1484
- });
1485
- var index_default3 = Blockquote;
1486
-
1487
- // node_modules/@tiptap/extension-code-block/dist/index.js
1488
- var import_core4 = require("@tiptap/core");
1489
- var import_state = require("@tiptap/pm/state");
1490
- var DEFAULT_TAB_SIZE = 4;
1491
- var backtickInputRegex = /^```([a-z]+)?[\s\n]$/;
1492
- var tildeInputRegex = /^~~~([a-z]+)?[\s\n]$/;
1493
- var CodeBlock = import_core4.Node.create({
1494
- name: "codeBlock",
1495
- addOptions() {
1496
- return {
1497
- languageClassPrefix: "language-",
1498
- exitOnTripleEnter: true,
1499
- exitOnArrowDown: true,
1500
- defaultLanguage: null,
1501
- enableTabIndentation: false,
1502
- tabSize: DEFAULT_TAB_SIZE,
1503
- HTMLAttributes: {}
1504
- };
1505
- },
1506
- content: "text*",
1507
- marks: "",
1508
- group: "block",
1509
- code: true,
1510
- defining: true,
1511
- addAttributes() {
1512
- return {
1513
- language: {
1514
- default: this.options.defaultLanguage,
1515
- parseHTML: (element) => {
1516
- var _a;
1517
- const { languageClassPrefix } = this.options;
1518
- if (!languageClassPrefix) {
1519
- return null;
1520
- }
1521
- const classNames = [...((_a = element.firstElementChild) == null ? void 0 : _a.classList) || []];
1522
- const languages = classNames.filter((className) => className.startsWith(languageClassPrefix)).map((className) => className.replace(languageClassPrefix, ""));
1523
- const language = languages[0];
1524
- if (!language) {
1525
- return null;
1526
- }
1527
- return language;
1528
- },
1529
- rendered: false
1530
- }
1531
- };
1532
- },
1533
- parseHTML() {
1534
- return [
1535
- {
1536
- tag: "pre",
1537
- preserveWhitespace: "full"
1538
- }
1539
- ];
1540
- },
1541
- renderHTML({ node, HTMLAttributes }) {
1542
- return [
1543
- "pre",
1544
- (0, import_core4.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes),
1545
- [
1546
- "code",
1547
- {
1548
- class: node.attrs.language ? this.options.languageClassPrefix + node.attrs.language : null
1549
- },
1550
- 0
1551
- ]
1552
- ];
1553
- },
1554
- markdownTokenName: "code",
1555
- parseMarkdown: (token, helpers) => {
1556
- var _a;
1557
- if (((_a = token.raw) == null ? void 0 : _a.startsWith("```")) === false && token.codeBlockStyle !== "indented") {
1558
- return [];
1559
- }
1560
- return helpers.createNode(
1561
- "codeBlock",
1562
- { language: token.lang || null },
1563
- token.text ? [helpers.createTextNode(token.text)] : []
1564
- );
1565
- },
1566
- renderMarkdown: (node, h) => {
1567
- var _a;
1568
- let output = "";
1569
- const language = ((_a = node.attrs) == null ? void 0 : _a.language) || "";
1570
- if (!node.content) {
1571
- output = `\`\`\`${language}
1572
-
1573
- \`\`\``;
1574
- } else {
1575
- const lines = [`\`\`\`${language}`, h.renderChildren(node.content), "```"];
1576
- output = lines.join("\n");
1577
- }
1578
- return output;
1579
- },
1580
- addCommands() {
1581
- return {
1582
- setCodeBlock: (attributes) => ({ commands }) => {
1583
- return commands.setNode(this.name, attributes);
1584
- },
1585
- toggleCodeBlock: (attributes) => ({ commands }) => {
1586
- return commands.toggleNode(this.name, "paragraph", attributes);
1587
- }
1588
- };
1589
- },
1590
- addKeyboardShortcuts() {
1591
- return {
1592
- "Mod-Alt-c": () => this.editor.commands.toggleCodeBlock(),
1593
- // remove code block when at start of document or code block is empty
1594
- Backspace: () => {
1595
- const { empty, $anchor } = this.editor.state.selection;
1596
- const isAtStart = $anchor.pos === 1;
1597
- if (!empty || $anchor.parent.type.name !== this.name) {
1598
- return false;
1599
- }
1600
- if (isAtStart || !$anchor.parent.textContent.length) {
1601
- return this.editor.commands.clearNodes();
1602
- }
1603
- return false;
1604
- },
1605
- // handle tab indentation
1606
- Tab: ({ editor }) => {
1607
- var _a;
1608
- if (!this.options.enableTabIndentation) {
1609
- return false;
1610
- }
1611
- const tabSize = (_a = this.options.tabSize) != null ? _a : DEFAULT_TAB_SIZE;
1612
- const { state } = editor;
1613
- const { selection } = state;
1614
- const { $from, empty } = selection;
1615
- if ($from.parent.type !== this.type) {
1616
- return false;
1617
- }
1618
- const indent = " ".repeat(tabSize);
1619
- if (empty) {
1620
- return editor.commands.insertContent(indent);
1621
- }
1622
- return editor.commands.command(({ tr }) => {
1623
- const { from, to } = selection;
1624
- const text = state.doc.textBetween(from, to, "\n", "\n");
1625
- const lines = text.split("\n");
1626
- const indentedText = lines.map((line) => indent + line).join("\n");
1627
- tr.replaceWith(from, to, state.schema.text(indentedText));
1628
- return true;
1629
- });
1630
- },
1631
- // handle shift+tab reverse indentation
1632
- "Shift-Tab": ({ editor }) => {
1633
- var _a;
1634
- if (!this.options.enableTabIndentation) {
1635
- return false;
1636
- }
1637
- const tabSize = (_a = this.options.tabSize) != null ? _a : DEFAULT_TAB_SIZE;
1638
- const { state } = editor;
1639
- const { selection } = state;
1640
- const { $from, empty } = selection;
1641
- if ($from.parent.type !== this.type) {
1642
- return false;
1643
- }
1644
- if (empty) {
1645
- return editor.commands.command(({ tr }) => {
1646
- var _a2;
1647
- const { pos } = $from;
1648
- const codeBlockStart = $from.start();
1649
- const codeBlockEnd = $from.end();
1650
- const allText = state.doc.textBetween(codeBlockStart, codeBlockEnd, "\n", "\n");
1651
- const lines = allText.split("\n");
1652
- let currentLineIndex = 0;
1653
- let charCount = 0;
1654
- const relativeCursorPos = pos - codeBlockStart;
1655
- for (let i = 0; i < lines.length; i += 1) {
1656
- if (charCount + lines[i].length >= relativeCursorPos) {
1657
- currentLineIndex = i;
1658
- break;
1659
- }
1660
- charCount += lines[i].length + 1;
1661
- }
1662
- const currentLine = lines[currentLineIndex];
1663
- const leadingSpaces = ((_a2 = currentLine.match(/^ */)) == null ? void 0 : _a2[0]) || "";
1664
- const spacesToRemove = Math.min(leadingSpaces.length, tabSize);
1665
- if (spacesToRemove === 0) {
1666
- return true;
1667
- }
1668
- let lineStartPos = codeBlockStart;
1669
- for (let i = 0; i < currentLineIndex; i += 1) {
1670
- lineStartPos += lines[i].length + 1;
1671
- }
1672
- tr.delete(lineStartPos, lineStartPos + spacesToRemove);
1673
- const cursorPosInLine = pos - lineStartPos;
1674
- if (cursorPosInLine <= spacesToRemove) {
1675
- tr.setSelection(import_state.TextSelection.create(tr.doc, lineStartPos));
1676
- }
1677
- return true;
1678
- });
1679
- }
1680
- return editor.commands.command(({ tr }) => {
1681
- const { from, to } = selection;
1682
- const text = state.doc.textBetween(from, to, "\n", "\n");
1683
- const lines = text.split("\n");
1684
- const reverseIndentText = lines.map((line) => {
1685
- var _a2;
1686
- const leadingSpaces = ((_a2 = line.match(/^ */)) == null ? void 0 : _a2[0]) || "";
1687
- const spacesToRemove = Math.min(leadingSpaces.length, tabSize);
1688
- return line.slice(spacesToRemove);
1689
- }).join("\n");
1690
- tr.replaceWith(from, to, state.schema.text(reverseIndentText));
1691
- return true;
1692
- });
1693
- },
1694
- // exit node on triple enter
1695
- Enter: ({ editor }) => {
1696
- if (!this.options.exitOnTripleEnter) {
1697
- return false;
1698
- }
1699
- const { state } = editor;
1700
- const { selection } = state;
1701
- const { $from, empty } = selection;
1702
- if (!empty || $from.parent.type !== this.type) {
1703
- return false;
1704
- }
1705
- const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;
1706
- const endsWithDoubleNewline = $from.parent.textContent.endsWith("\n\n");
1707
- if (!isAtEnd || !endsWithDoubleNewline) {
1708
- return false;
1709
- }
1710
- return editor.chain().command(({ tr }) => {
1711
- tr.delete($from.pos - 2, $from.pos);
1712
- return true;
1713
- }).exitCode().run();
1714
- },
1715
- // exit node on arrow down
1716
- ArrowDown: ({ editor }) => {
1717
- if (!this.options.exitOnArrowDown) {
1718
- return false;
1719
- }
1720
- const { state } = editor;
1721
- const { selection, doc } = state;
1722
- const { $from, empty } = selection;
1723
- if (!empty || $from.parent.type !== this.type) {
1724
- return false;
1725
- }
1726
- const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;
1727
- if (!isAtEnd) {
1728
- return false;
1729
- }
1730
- const after = $from.after();
1731
- if (after === void 0) {
1732
- return false;
1733
- }
1734
- const nodeAfter = doc.nodeAt(after);
1735
- if (nodeAfter) {
1736
- return editor.commands.command(({ tr }) => {
1737
- tr.setSelection(import_state.Selection.near(doc.resolve(after)));
1738
- return true;
1739
- });
1740
- }
1741
- return editor.commands.exitCode();
1742
- }
1743
- };
1744
- },
1745
- addInputRules() {
1746
- return [
1747
- (0, import_core4.textblockTypeInputRule)({
1748
- find: backtickInputRegex,
1749
- type: this.type,
1750
- getAttributes: (match) => ({
1751
- language: match[1]
1752
- })
1753
- }),
1754
- (0, import_core4.textblockTypeInputRule)({
1755
- find: tildeInputRegex,
1756
- type: this.type,
1757
- getAttributes: (match) => ({
1758
- language: match[1]
1759
- })
1760
- })
1761
- ];
1762
- },
1763
- addProseMirrorPlugins() {
1764
- return [
1765
- // this plugin creates a code block for pasted content from VS Code
1766
- // we can also detect the copied code language
1767
- new import_state.Plugin({
1768
- key: new import_state.PluginKey("codeBlockVSCodeHandler"),
1769
- props: {
1770
- handlePaste: (view, event) => {
1771
- if (!event.clipboardData) {
1772
- return false;
1773
- }
1774
- if (this.editor.isActive(this.type.name)) {
1775
- return false;
1776
- }
1777
- const text = event.clipboardData.getData("text/plain");
1778
- const vscode = event.clipboardData.getData("vscode-editor-data");
1779
- const vscodeData = vscode ? JSON.parse(vscode) : void 0;
1780
- const language = vscodeData == null ? void 0 : vscodeData.mode;
1781
- if (!text || !language) {
1782
- return false;
1783
- }
1784
- const { tr, schema } = view.state;
1785
- const textNode = schema.text(text.replace(/\r\n?/g, "\n"));
1786
- tr.replaceSelectionWith(this.type.create({ language }, textNode));
1787
- if (tr.selection.$from.parent.type !== this.type) {
1788
- tr.setSelection(import_state.TextSelection.near(tr.doc.resolve(Math.max(0, tr.selection.from - 2))));
1789
- }
1790
- tr.setMeta("paste", true);
1791
- view.dispatch(tr);
1792
- return true;
1793
- }
1794
- }
1795
- })
1796
- ];
1797
- }
1798
- });
1799
- var index_default4 = CodeBlock;
1800
-
1801
1414
  // node_modules/@tiptap/extension-text/dist/index.js
1802
- var import_core5 = require("@tiptap/core");
1803
- var Text = import_core5.Node.create({
1415
+ var import_core3 = require("@tiptap/core");
1416
+ var Text = import_core3.Node.create({
1804
1417
  name: "text",
1805
1418
  group: "inline",
1806
1419
  parseMarkdown: (token) => {
@@ -1811,7 +1424,7 @@ var Text = import_core5.Node.create({
1811
1424
  },
1812
1425
  renderMarkdown: (node) => node.text || ""
1813
1426
  });
1814
- var index_default5 = Text;
1427
+ var index_default3 = Text;
1815
1428
 
1816
1429
  // src/components/tiptap-templates/simple/simple-editor.tsx
1817
1430
  var import_extension_text_style2 = require("@tiptap/extension-text-style");
@@ -1820,7 +1433,7 @@ var import_extension_table = require("@tiptap/extension-table");
1820
1433
  var import_extensions2 = require("@tiptap/extensions");
1821
1434
 
1822
1435
  // src/components/extensions/font-size-stepper.ts
1823
- var import_core6 = require("@tiptap/core");
1436
+ var import_core4 = require("@tiptap/core");
1824
1437
  function parsePx(value) {
1825
1438
  if (!value) return null;
1826
1439
  const m = /(-?\d+\.?\d*)px/.exec(String(value));
@@ -1848,7 +1461,7 @@ function getFontSizeFromResolvedPos(editor) {
1848
1461
  }
1849
1462
  return null;
1850
1463
  }
1851
- var FontSizeStepper = import_core6.Extension.create({
1464
+ var FontSizeStepper = import_core4.Extension.create({
1852
1465
  name: "fontSizeStepper",
1853
1466
  // configuration option to control step & min size
1854
1467
  addOptions() {
@@ -1907,7 +1520,7 @@ var import_react12 = require("react");
1907
1520
  // src/components/tiptap-ui-primitive/tooltip/tooltip.tsx
1908
1521
  var import_react10 = require("react");
1909
1522
  var import_react11 = require("@floating-ui/react");
1910
- var import_jsx_runtime18 = require("react/jsx-runtime");
1523
+ var import_jsx_runtime17 = require("react/jsx-runtime");
1911
1524
  function useTooltip({
1912
1525
  initialOpen = false,
1913
1526
  placement = "top",
@@ -1971,14 +1584,14 @@ function useTooltipContext() {
1971
1584
  function Tooltip2({ children, ...props }) {
1972
1585
  const tooltip = useTooltip(props);
1973
1586
  if (!props.useDelayGroup) {
1974
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(TooltipContext.Provider, { value: tooltip, children });
1587
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(TooltipContext.Provider, { value: tooltip, children });
1975
1588
  }
1976
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1589
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1977
1590
  import_react11.FloatingDelayGroup,
1978
1591
  {
1979
1592
  delay: { open: props.delay ?? 0, close: props.closeDelay ?? 0 },
1980
1593
  timeoutMs: props.timeout,
1981
- children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(TooltipContext.Provider, { value: tooltip, children })
1594
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(TooltipContext.Provider, { value: tooltip, children })
1982
1595
  }
1983
1596
  );
1984
1597
  }
@@ -2007,7 +1620,7 @@ var TooltipTrigger2 = (0, import_react10.forwardRef)(
2007
1620
  })
2008
1621
  );
2009
1622
  }
2010
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1623
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2011
1624
  "button",
2012
1625
  {
2013
1626
  ref,
@@ -2023,7 +1636,7 @@ var TooltipContent2 = (0, import_react10.forwardRef)(
2023
1636
  const context = useTooltipContext();
2024
1637
  const ref = (0, import_react11.useMergeRefs)([context.refs.setFloating, propRef]);
2025
1638
  if (!context.open) return null;
2026
- const content = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1639
+ const content = /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2027
1640
  "div",
2028
1641
  {
2029
1642
  ref,
@@ -2037,7 +1650,7 @@ var TooltipContent2 = (0, import_react10.forwardRef)(
2037
1650
  }
2038
1651
  );
2039
1652
  if (portal) {
2040
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react11.FloatingPortal, { ...portalProps, children: content });
1653
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react11.FloatingPortal, { ...portalProps, children: content });
2041
1654
  }
2042
1655
  return content;
2043
1656
  }
@@ -2047,8 +1660,8 @@ TooltipTrigger2.displayName = "TooltipTrigger";
2047
1660
  TooltipContent2.displayName = "TooltipContent";
2048
1661
 
2049
1662
  // src/lib/tiptap-utils.ts
2050
- var import_state2 = require("@tiptap/pm/state");
2051
- var import_core7 = require("@tiptap/core");
1663
+ var import_state = require("@tiptap/pm/state");
1664
+ var import_core5 = require("@tiptap/core");
2052
1665
  var MAX_FILE_SIZE = 5 * 1024 * 1024;
2053
1666
  var MAC_SYMBOLS = {
2054
1667
  mod: "\u2318",
@@ -2094,7 +1707,7 @@ var isNodeInSchema = (nodeName, editor) => {
2094
1707
  function focusNextNode(editor) {
2095
1708
  const { state, view } = editor;
2096
1709
  const { doc, selection } = state;
2097
- const nextSel = import_state2.Selection.findFrom(selection.$to, 1, true);
1710
+ const nextSel = import_state.Selection.findFrom(selection.$to, 1, true);
2098
1711
  if (nextSel) {
2099
1712
  view.dispatch(state.tr.setSelection(nextSel).scrollIntoView());
2100
1713
  return true;
@@ -2108,7 +1721,7 @@ function focusNextNode(editor) {
2108
1721
  const para = paragraphType.create();
2109
1722
  let tr = state.tr.insert(end, para);
2110
1723
  const $inside = tr.doc.resolve(end + 1);
2111
- tr = tr.setSelection(import_state2.TextSelection.near($inside)).scrollIntoView();
1724
+ tr = tr.setSelection(import_state.TextSelection.near($inside)).scrollIntoView();
2112
1725
  view.dispatch(tr);
2113
1726
  return true;
2114
1727
  }
@@ -2176,7 +1789,7 @@ function isNodeTypeSelected(editor, nodeTypeNames = [], checkAncestorNodes = fal
2176
1789
  if (!editor || !editor.state.selection) return false;
2177
1790
  const { selection } = editor.state;
2178
1791
  if (selection.empty) return false;
2179
- if (selection instanceof import_state2.NodeSelection) {
1792
+ if (selection instanceof import_state.NodeSelection) {
2180
1793
  const selectedNode = selection.node;
2181
1794
  return selectedNode ? nodeTypeNames.includes(selectedNode.type.name) : false;
2182
1795
  }
@@ -2196,11 +1809,11 @@ function selectionWithinConvertibleTypes(editor, types = []) {
2196
1809
  const { state } = editor;
2197
1810
  const { selection } = state;
2198
1811
  const allowed = new Set(types);
2199
- if (selection instanceof import_state2.NodeSelection) {
1812
+ if (selection instanceof import_state.NodeSelection) {
2200
1813
  const nodeType = selection.node?.type?.name;
2201
1814
  return !!nodeType && allowed.has(nodeType);
2202
1815
  }
2203
- if (selection instanceof import_state2.TextSelection || selection instanceof import_state2.AllSelection) {
1816
+ if (selection instanceof import_state.TextSelection || selection instanceof import_state.AllSelection) {
2204
1817
  let valid = true;
2205
1818
  state.doc.nodesBetween(selection.from, selection.to, (node) => {
2206
1819
  if (node.isTextblock && !allowed.has(node.type.name)) {
@@ -2291,7 +1904,7 @@ var FONT_SIZES = [
2291
1904
  "56px",
2292
1905
  "64px"
2293
1906
  ];
2294
- var FontSizeExtension = import_core7.Extension.create({
1907
+ var FontSizeExtension = import_core5.Extension.create({
2295
1908
  name: "fontSize",
2296
1909
  addOptions() {
2297
1910
  return {
@@ -2349,14 +1962,14 @@ var FontSizeExtension = import_core7.Extension.create({
2349
1962
  });
2350
1963
 
2351
1964
  // src/components/tiptap-ui-primitive/button/button.tsx
2352
- var import_jsx_runtime19 = require("react/jsx-runtime");
1965
+ var import_jsx_runtime18 = require("react/jsx-runtime");
2353
1966
  var ShortcutDisplay = ({
2354
1967
  shortcuts
2355
1968
  }) => {
2356
1969
  if (shortcuts.length === 0) return null;
2357
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { children: shortcuts.map((key, index) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_react12.Fragment, { children: [
2358
- index > 0 && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("kbd", { children: "+" }),
2359
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("kbd", { children: key })
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 })
2360
1973
  ] }, index)) });
2361
1974
  };
2362
1975
  var Button2 = (0, import_react12.forwardRef)(
@@ -2374,7 +1987,7 @@ var Button2 = (0, import_react12.forwardRef)(
2374
1987
  [shortcutKeys]
2375
1988
  );
2376
1989
  if (!tooltip || !showTooltip) {
2377
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1990
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2378
1991
  "button",
2379
1992
  {
2380
1993
  className: cn2("tiptap-button", className),
@@ -2385,8 +1998,8 @@ var Button2 = (0, import_react12.forwardRef)(
2385
1998
  }
2386
1999
  );
2387
2000
  }
2388
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Tooltip2, { delay: 200, children: [
2389
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
2001
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Tooltip2, { delay: 200, children: [
2002
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2390
2003
  TooltipTrigger2,
2391
2004
  {
2392
2005
  className: cn2("tiptap-button", className),
@@ -2396,16 +2009,16 @@ var Button2 = (0, import_react12.forwardRef)(
2396
2009
  children
2397
2010
  }
2398
2011
  ),
2399
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(TooltipContent2, { children: [
2012
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(TooltipContent2, { children: [
2400
2013
  tooltip,
2401
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ShortcutDisplay, { shortcuts })
2014
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ShortcutDisplay, { shortcuts })
2402
2015
  ] })
2403
2016
  ] });
2404
2017
  }
2405
2018
  );
2406
2019
  Button2.displayName = "Button";
2407
2020
  var ButtonGroup = (0, import_react12.forwardRef)(({ className, children, orientation = "vertical", ...props }, ref) => {
2408
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
2021
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2409
2022
  "div",
2410
2023
  {
2411
2024
  ref,
@@ -2420,7 +2033,7 @@ var ButtonGroup = (0, import_react12.forwardRef)(({ className, children, orienta
2420
2033
  ButtonGroup.displayName = "ButtonGroup";
2421
2034
 
2422
2035
  // src/components/tiptap-ui-primitive/spacer/spacer.tsx
2423
- var import_jsx_runtime20 = require("react/jsx-runtime");
2036
+ var import_jsx_runtime19 = require("react/jsx-runtime");
2424
2037
  function Spacer({
2425
2038
  orientation = "horizontal",
2426
2039
  size,
@@ -2435,7 +2048,7 @@ function Spacer({
2435
2048
  height: orientation === "horizontal" ? "1px" : size
2436
2049
  }
2437
2050
  };
2438
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { ...props, style: computedStyle });
2051
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { ...props, style: computedStyle });
2439
2052
  }
2440
2053
 
2441
2054
  // src/components/tiptap-ui-primitive/toolbar/toolbar.tsx
@@ -2443,12 +2056,12 @@ var import_react16 = require("react");
2443
2056
 
2444
2057
  // src/components/tiptap-ui-primitive/separator/separator.tsx
2445
2058
  var import_react13 = require("react");
2446
- var import_jsx_runtime21 = require("react/jsx-runtime");
2059
+ var import_jsx_runtime20 = require("react/jsx-runtime");
2447
2060
  var Separator2 = (0, import_react13.forwardRef)(
2448
2061
  ({ decorative, orientation = "vertical", className, ...divProps }, ref) => {
2449
2062
  const ariaOrientation = orientation === "vertical" ? orientation : void 0;
2450
2063
  const semanticProps = decorative ? { role: "none" } : { "aria-orientation": ariaOrientation, role: "separator" };
2451
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2064
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2452
2065
  "div",
2453
2066
  {
2454
2067
  className: cn2("tiptap-separator", className),
@@ -2617,7 +2230,7 @@ var useComposedRef = (libRef, userRef) => {
2617
2230
  };
2618
2231
 
2619
2232
  // src/components/tiptap-ui-primitive/toolbar/toolbar.tsx
2620
- var import_jsx_runtime22 = require("react/jsx-runtime");
2233
+ var import_jsx_runtime21 = require("react/jsx-runtime");
2621
2234
  var useToolbarNavigation = (toolbarRef) => {
2622
2235
  const [items, setItems] = (0, import_react16.useState)([]);
2623
2236
  const collectItems = (0, import_react16.useCallback)(() => {
@@ -2674,7 +2287,7 @@ var Toolbar = (0, import_react16.forwardRef)(
2674
2287
  const toolbarRef = (0, import_react16.useRef)(null);
2675
2288
  const composedRef = useComposedRef(toolbarRef, ref);
2676
2289
  useToolbarNavigation(toolbarRef);
2677
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2290
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2678
2291
  "div",
2679
2292
  {
2680
2293
  ref: composedRef,
@@ -2690,7 +2303,7 @@ var Toolbar = (0, import_react16.forwardRef)(
2690
2303
  );
2691
2304
  Toolbar.displayName = "Toolbar";
2692
2305
  var ToolbarGroup = (0, import_react16.forwardRef)(
2693
- ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2306
+ ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2694
2307
  "div",
2695
2308
  {
2696
2309
  ref,
@@ -2703,7 +2316,7 @@ var ToolbarGroup = (0, import_react16.forwardRef)(
2703
2316
  );
2704
2317
  ToolbarGroup.displayName = "ToolbarGroup";
2705
2318
  var ToolbarSeparator = (0, import_react16.forwardRef)(
2706
- ({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Separator2, { ref, orientation: "vertical", decorative: true, ...props })
2319
+ ({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Separator2, { ref, orientation: "vertical", decorative: true, ...props })
2707
2320
  );
2708
2321
  ToolbarSeparator.displayName = "ToolbarSeparator";
2709
2322
 
@@ -2711,11 +2324,11 @@ ToolbarSeparator.displayName = "ToolbarSeparator";
2711
2324
  var import_menus = require("@tiptap/react/menus");
2712
2325
  var import_react17 = require("@tiptap/react");
2713
2326
  var import_lucide_react7 = require("lucide-react");
2714
- var import_jsx_runtime23 = require("react/jsx-runtime");
2327
+ var import_jsx_runtime22 = require("react/jsx-runtime");
2715
2328
  function BubbleMenuInline() {
2716
2329
  const { editor } = (0, import_react17.useCurrentEditor)();
2717
2330
  if (!editor) return null;
2718
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2331
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2719
2332
  import_menus.BubbleMenu,
2720
2333
  {
2721
2334
  editor,
@@ -2734,81 +2347,81 @@ function BubbleMenuInline() {
2734
2347
  if (hasImage) return false;
2735
2348
  return true;
2736
2349
  },
2737
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
2350
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
2738
2351
  "div",
2739
2352
  {
2740
2353
  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",
2741
2354
  children: [
2742
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2355
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2743
2356
  Button,
2744
2357
  {
2745
2358
  variant: "ghost",
2746
2359
  size: "sm",
2747
2360
  onClick: () => editor.chain().focus().toggleHeading({ level: 1 }).run(),
2748
2361
  className: editor.isActive("heading", { level: 1 }) ? "bg-accent" : "",
2749
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.Heading1, { size: 15 })
2362
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Heading1, { size: 15 })
2750
2363
  }
2751
2364
  ),
2752
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2365
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2753
2366
  Button,
2754
2367
  {
2755
2368
  variant: "ghost",
2756
2369
  size: "sm",
2757
2370
  onClick: () => editor.chain().focus().toggleHeading({ level: 2 }).run(),
2758
2371
  className: editor.isActive("heading", { level: 2 }) ? "bg-accent" : "",
2759
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.Heading2, { size: 15 })
2372
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Heading2, { size: 15 })
2760
2373
  }
2761
2374
  ),
2762
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2375
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2763
2376
  Button,
2764
2377
  {
2765
2378
  variant: "ghost",
2766
2379
  size: "sm",
2767
2380
  onClick: () => editor.chain().focus().toggleHeading({ level: 3 }).run(),
2768
2381
  className: editor.isActive("heading", { level: 3 }) ? "bg-accent" : "",
2769
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.Heading3, { size: 15 })
2382
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Heading3, { size: 15 })
2770
2383
  }
2771
2384
  ),
2772
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Separator, { orientation: "vertical", className: "mx-1" }),
2773
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2385
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Separator, { orientation: "vertical", className: "mx-1" }),
2386
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2774
2387
  Button,
2775
2388
  {
2776
2389
  variant: "ghost",
2777
2390
  size: "sm",
2778
2391
  onClick: () => editor.chain().focus().toggleBulletList().run(),
2779
2392
  className: editor.isActive("bulletList") ? "bg-accent" : "",
2780
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.List, { size: 15 })
2393
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.List, { size: 15 })
2781
2394
  }
2782
2395
  ),
2783
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2396
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2784
2397
  Button,
2785
2398
  {
2786
2399
  variant: "ghost",
2787
2400
  size: "sm",
2788
2401
  onClick: () => editor.chain().focus().toggleOrderedList().run(),
2789
2402
  className: editor.isActive("orderedList") ? "bg-accent" : "",
2790
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.ListOrdered, { size: 15 })
2403
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.ListOrdered, { size: 15 })
2791
2404
  }
2792
2405
  ),
2793
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2406
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2794
2407
  Button,
2795
2408
  {
2796
2409
  variant: "ghost",
2797
2410
  size: "sm",
2798
2411
  onClick: () => editor.chain().focus().toggleTaskList().run(),
2799
2412
  className: editor.isActive("taskList") ? "bg-accent" : "",
2800
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.CheckSquare, { size: 15 })
2413
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.CheckSquare, { size: 15 })
2801
2414
  }
2802
2415
  ),
2803
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Separator, { orientation: "vertical", className: "mx-1" }),
2804
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2416
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Separator, { orientation: "vertical", className: "mx-1" }),
2417
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2805
2418
  Button,
2806
2419
  {
2807
2420
  variant: "ghost",
2808
2421
  size: "sm",
2809
2422
  onClick: () => editor.chain().focus().toggleCodeBlock().run(),
2810
2423
  className: editor.isActive("codeBlock") ? "bg-accent" : "",
2811
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.Code, { size: 15 })
2424
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Code, { size: 15 })
2812
2425
  }
2813
2426
  )
2814
2427
  ]
@@ -2828,9 +2441,9 @@ var import_react20 = require("@tiptap/react");
2828
2441
 
2829
2442
  // src/components/tiptap-icons/close-icon.tsx
2830
2443
  var import_react18 = require("react");
2831
- var import_jsx_runtime24 = require("react/jsx-runtime");
2444
+ var import_jsx_runtime23 = require("react/jsx-runtime");
2832
2445
  var CloseIcon = (0, import_react18.memo)(({ className, ...props }) => {
2833
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2446
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2834
2447
  "svg",
2835
2448
  {
2836
2449
  width: "24",
@@ -2840,7 +2453,7 @@ var CloseIcon = (0, import_react18.memo)(({ className, ...props }) => {
2840
2453
  fill: "currentColor",
2841
2454
  xmlns: "http://www.w3.org/2000/svg",
2842
2455
  ...props,
2843
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2456
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2844
2457
  "path",
2845
2458
  {
2846
2459
  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",
@@ -2853,7 +2466,7 @@ var CloseIcon = (0, import_react18.memo)(({ className, ...props }) => {
2853
2466
  CloseIcon.displayName = "CloseIcon";
2854
2467
 
2855
2468
  // src/components/tiptap-node/image-upload-node/image-upload-node.tsx
2856
- var import_jsx_runtime25 = require("react/jsx-runtime");
2469
+ var import_jsx_runtime24 = require("react/jsx-runtime");
2857
2470
  function useFileUpload(options) {
2858
2471
  const [fileItems, setFileItems] = (0, import_react19.useState)([]);
2859
2472
  const uploadFile = async (file) => {
@@ -2961,7 +2574,7 @@ function useFileUpload(options) {
2961
2574
  clearAllFiles
2962
2575
  };
2963
2576
  }
2964
- var CloudUploadIcon = () => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
2577
+ var CloudUploadIcon = () => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
2965
2578
  "svg",
2966
2579
  {
2967
2580
  width: "24",
@@ -2971,14 +2584,14 @@ var CloudUploadIcon = () => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
2971
2584
  fill: "currentColor",
2972
2585
  xmlns: "http://www.w3.org/2000/svg",
2973
2586
  children: [
2974
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2587
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2975
2588
  "path",
2976
2589
  {
2977
2590
  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",
2978
2591
  fill: "currentColor"
2979
2592
  }
2980
2593
  ),
2981
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2594
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2982
2595
  "path",
2983
2596
  {
2984
2597
  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",
@@ -2988,7 +2601,7 @@ var CloudUploadIcon = () => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
2988
2601
  ]
2989
2602
  }
2990
2603
  );
2991
- var FileIcon = () => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2604
+ var FileIcon = () => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2992
2605
  "svg",
2993
2606
  {
2994
2607
  width: "43",
@@ -2997,7 +2610,7 @@ var FileIcon = () => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2997
2610
  fill: "currentColor",
2998
2611
  className: "tiptap-image-upload-dropzone-rect-primary",
2999
2612
  xmlns: "http://www.w3.org/2000/svg",
3000
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2613
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3001
2614
  "path",
3002
2615
  {
3003
2616
  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",
@@ -3009,7 +2622,7 @@ var FileIcon = () => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3009
2622
  )
3010
2623
  }
3011
2624
  );
3012
- var FileCornerIcon = () => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2625
+ var FileCornerIcon = () => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3013
2626
  "svg",
3014
2627
  {
3015
2628
  width: "10",
@@ -3018,7 +2631,7 @@ var FileCornerIcon = () => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3018
2631
  viewBox: "0 0 10 10",
3019
2632
  fill: "currentColor",
3020
2633
  xmlns: "http://www.w3.org/2000/svg",
3021
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2634
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3022
2635
  "path",
3023
2636
  {
3024
2637
  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",
@@ -3061,7 +2674,7 @@ var ImageUploadDragArea = ({
3061
2674
  onFile(files);
3062
2675
  }
3063
2676
  };
3064
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2677
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3065
2678
  "div",
3066
2679
  {
3067
2680
  className: `tiptap-image-upload-drag-area ${isDragActive ? "drag-active" : ""} ${isDragOver ? "drag-over" : ""}`,
@@ -3084,28 +2697,28 @@ var ImageUploadPreview = ({
3084
2697
  const i = Math.floor(Math.log(bytes) / Math.log(k));
3085
2698
  return `${parseFloat((bytes / Math.pow(k, i)).toFixed(2))} ${sizes[i]}`;
3086
2699
  };
3087
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-preview", children: [
3088
- fileItem.status === "uploading" && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
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)(
3089
2702
  "div",
3090
2703
  {
3091
2704
  className: "tiptap-image-upload-progress",
3092
2705
  style: { width: `${fileItem.progress}%` }
3093
2706
  }
3094
2707
  ),
3095
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-preview-content", children: [
3096
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-file-info", children: [
3097
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "tiptap-image-upload-file-icon", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CloudUploadIcon, {}) }),
3098
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-details", children: [
3099
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "tiptap-image-upload-text", children: fileItem.file.name }),
3100
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "tiptap-image-upload-subtext", children: formatFileSize(fileItem.file.size) })
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) })
3101
2714
  ] })
3102
2715
  ] }),
3103
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-actions", children: [
3104
- fileItem.status === "uploading" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("span", { className: "tiptap-image-upload-progress-text", children: [
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: [
3105
2718
  fileItem.progress,
3106
2719
  "%"
3107
2720
  ] }),
3108
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2721
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3109
2722
  Button2,
3110
2723
  {
3111
2724
  type: "button",
@@ -3114,7 +2727,7 @@ var ImageUploadPreview = ({
3114
2727
  e.stopPropagation();
3115
2728
  onRemove();
3116
2729
  },
3117
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CloseIcon, { className: "tiptap-button-icon" })
2730
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(CloseIcon, { className: "tiptap-button-icon" })
3118
2731
  }
3119
2732
  )
3120
2733
  ] })
@@ -3124,18 +2737,18 @@ var ImageUploadPreview = ({
3124
2737
  var DropZoneContent = ({
3125
2738
  maxSize,
3126
2739
  limit
3127
- }) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_jsx_runtime25.Fragment, { children: [
3128
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-dropzone", children: [
3129
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(FileIcon, {}),
3130
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(FileCornerIcon, {}),
3131
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "tiptap-image-upload-icon-container", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CloudUploadIcon, {}) })
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, {}) })
3132
2745
  ] }),
3133
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-content", children: [
3134
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("span", { className: "tiptap-image-upload-text", children: [
3135
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("em", { children: "Click to upload" }),
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" }),
3136
2749
  " or drag and drop"
3137
2750
  ] }),
3138
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("span", { className: "tiptap-image-upload-subtext", children: [
2751
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: "tiptap-image-upload-subtext", children: [
3139
2752
  "Maximum ",
3140
2753
  limit,
3141
2754
  " file",
@@ -3196,22 +2809,22 @@ var ImageUploadNode = (props) => {
3196
2809
  }
3197
2810
  };
3198
2811
  const hasFiles = fileItems.length > 0;
3199
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
2812
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
3200
2813
  import_react20.NodeViewWrapper,
3201
2814
  {
3202
2815
  className: "tiptap-image-upload",
3203
2816
  tabIndex: 0,
3204
2817
  onClick: handleClick,
3205
2818
  children: [
3206
- !hasFiles && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(ImageUploadDragArea, { onFile: handleUpload, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DropZoneContent, { maxSize, limit }) }),
3207
- hasFiles && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-previews", children: [
3208
- fileItems.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "tiptap-image-upload-header", children: [
3209
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("span", { 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: [
3210
2823
  "Uploading ",
3211
2824
  fileItems.length,
3212
2825
  " files"
3213
2826
  ] }),
3214
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2827
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3215
2828
  Button2,
3216
2829
  {
3217
2830
  type: "button",
@@ -3224,7 +2837,7 @@ var ImageUploadNode = (props) => {
3224
2837
  }
3225
2838
  )
3226
2839
  ] }),
3227
- fileItems.map((fileItem) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2840
+ fileItems.map((fileItem) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3228
2841
  ImageUploadPreview,
3229
2842
  {
3230
2843
  fileItem,
@@ -3233,7 +2846,7 @@ var ImageUploadNode = (props) => {
3233
2846
  fileItem.id
3234
2847
  ))
3235
2848
  ] }),
3236
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2849
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
3237
2850
  "input",
3238
2851
  {
3239
2852
  ref: inputRef,
@@ -3341,14 +2954,17 @@ var HorizontalRule = import_extension_horizontal_rule.default.extend({
3341
2954
  }
3342
2955
  });
3343
2956
 
2957
+ // src/components/tiptap-templates/simple/simple-editor.tsx
2958
+ var import_extension_blockquote = __toESM(require("@tiptap/extension-blockquote"));
2959
+
3344
2960
  // src/components/tiptap-ui/heading-dropdown-menu/heading-dropdown-menu.tsx
3345
2961
  var import_react38 = require("react");
3346
2962
 
3347
2963
  // src/components/tiptap-icons/chevron-down-icon.tsx
3348
2964
  var import_react24 = require("react");
3349
- var import_jsx_runtime26 = require("react/jsx-runtime");
2965
+ var import_jsx_runtime25 = require("react/jsx-runtime");
3350
2966
  var ChevronDownIcon = (0, import_react24.memo)(({ className, ...props }) => {
3351
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2967
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3352
2968
  "svg",
3353
2969
  {
3354
2970
  width: "24",
@@ -3358,7 +2974,7 @@ var ChevronDownIcon = (0, import_react24.memo)(({ className, ...props }) => {
3358
2974
  fill: "currentColor",
3359
2975
  xmlns: "http://www.w3.org/2000/svg",
3360
2976
  ...props,
3361
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2977
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3362
2978
  "path",
3363
2979
  {
3364
2980
  fillRule: "evenodd",
@@ -3406,7 +3022,7 @@ var import_react28 = require("react");
3406
3022
 
3407
3023
  // src/components/tiptap-ui-primitive/badge/badge.tsx
3408
3024
  var import_react27 = require("react");
3409
- var import_jsx_runtime27 = require("react/jsx-runtime");
3025
+ var import_jsx_runtime26 = require("react/jsx-runtime");
3410
3026
  var Badge = (0, import_react27.forwardRef)(
3411
3027
  ({
3412
3028
  variant,
@@ -3417,7 +3033,7 @@ var Badge = (0, import_react27.forwardRef)(
3417
3033
  children,
3418
3034
  ...props
3419
3035
  }, ref) => {
3420
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
3036
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
3421
3037
  "div",
3422
3038
  {
3423
3039
  ref,
@@ -3435,12 +3051,12 @@ var Badge = (0, import_react27.forwardRef)(
3435
3051
  Badge.displayName = "Badge";
3436
3052
 
3437
3053
  // src/components/tiptap-ui/heading-button/heading-button.tsx
3438
- var import_jsx_runtime28 = require("react/jsx-runtime");
3054
+ var import_jsx_runtime27 = require("react/jsx-runtime");
3439
3055
  function HeadingShortcutBadge({
3440
3056
  level,
3441
3057
  shortcutKeys = HEADING_SHORTCUT_KEYS[level]
3442
3058
  }) {
3443
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
3059
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
3444
3060
  }
3445
3061
  var HeadingButton = (0, import_react28.forwardRef)(
3446
3062
  ({
@@ -3480,7 +3096,7 @@ var HeadingButton = (0, import_react28.forwardRef)(
3480
3096
  if (!isVisible) {
3481
3097
  return null;
3482
3098
  }
3483
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3099
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
3484
3100
  Button2,
3485
3101
  {
3486
3102
  type: "button",
@@ -3496,10 +3112,10 @@ var HeadingButton = (0, import_react28.forwardRef)(
3496
3112
  onClick: handleClick,
3497
3113
  ...buttonProps,
3498
3114
  ref,
3499
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [
3500
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon, { className: "tiptap-button-icon" }),
3501
- text && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "tiptap-button-text", children: text }),
3502
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(HeadingShortcutBadge, { level, shortcutKeys })
3115
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
3116
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon, { className: "tiptap-button-icon" }),
3117
+ text && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "tiptap-button-text", children: text }),
3118
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(HeadingShortcutBadge, { level, shortcutKeys })
3503
3119
  ] })
3504
3120
  }
3505
3121
  );
@@ -3509,13 +3125,13 @@ HeadingButton.displayName = "HeadingButton";
3509
3125
 
3510
3126
  // src/components/tiptap-ui/heading-button/use-heading.ts
3511
3127
  var import_react35 = require("react");
3512
- var import_state3 = require("@tiptap/pm/state");
3128
+ var import_state2 = require("@tiptap/pm/state");
3513
3129
 
3514
3130
  // src/components/tiptap-icons/heading-one-icon.tsx
3515
3131
  var import_react29 = require("react");
3516
- var import_jsx_runtime29 = require("react/jsx-runtime");
3132
+ var import_jsx_runtime28 = require("react/jsx-runtime");
3517
3133
  var HeadingOneIcon = (0, import_react29.memo)(({ className, ...props }) => {
3518
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
3134
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
3519
3135
  "svg",
3520
3136
  {
3521
3137
  width: "24",
@@ -3526,14 +3142,14 @@ var HeadingOneIcon = (0, import_react29.memo)(({ className, ...props }) => {
3526
3142
  xmlns: "http://www.w3.org/2000/svg",
3527
3143
  ...props,
3528
3144
  children: [
3529
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3145
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3530
3146
  "path",
3531
3147
  {
3532
3148
  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",
3533
3149
  fill: "currentColor"
3534
3150
  }
3535
3151
  ),
3536
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3152
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3537
3153
  "path",
3538
3154
  {
3539
3155
  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",
@@ -3548,9 +3164,9 @@ HeadingOneIcon.displayName = "HeadingOneIcon";
3548
3164
 
3549
3165
  // src/components/tiptap-icons/heading-two-icon.tsx
3550
3166
  var import_react30 = require("react");
3551
- var import_jsx_runtime30 = require("react/jsx-runtime");
3167
+ var import_jsx_runtime29 = require("react/jsx-runtime");
3552
3168
  var HeadingTwoIcon = (0, import_react30.memo)(({ className, ...props }) => {
3553
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
3169
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
3554
3170
  "svg",
3555
3171
  {
3556
3172
  width: "24",
@@ -3561,14 +3177,14 @@ var HeadingTwoIcon = (0, import_react30.memo)(({ className, ...props }) => {
3561
3177
  xmlns: "http://www.w3.org/2000/svg",
3562
3178
  ...props,
3563
3179
  children: [
3564
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3180
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3565
3181
  "path",
3566
3182
  {
3567
3183
  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",
3568
3184
  fill: "currentColor"
3569
3185
  }
3570
3186
  ),
3571
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3187
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3572
3188
  "path",
3573
3189
  {
3574
3190
  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",
@@ -3583,9 +3199,9 @@ HeadingTwoIcon.displayName = "HeadingTwoIcon";
3583
3199
 
3584
3200
  // src/components/tiptap-icons/heading-three-icon.tsx
3585
3201
  var import_react31 = require("react");
3586
- var import_jsx_runtime31 = require("react/jsx-runtime");
3202
+ var import_jsx_runtime30 = require("react/jsx-runtime");
3587
3203
  var HeadingThreeIcon = (0, import_react31.memo)(({ className, ...props }) => {
3588
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
3204
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
3589
3205
  "svg",
3590
3206
  {
3591
3207
  width: "24",
@@ -3596,14 +3212,14 @@ var HeadingThreeIcon = (0, import_react31.memo)(({ className, ...props }) => {
3596
3212
  xmlns: "http://www.w3.org/2000/svg",
3597
3213
  ...props,
3598
3214
  children: [
3599
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3215
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3600
3216
  "path",
3601
3217
  {
3602
3218
  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",
3603
3219
  fill: "currentColor"
3604
3220
  }
3605
3221
  ),
3606
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3222
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3607
3223
  "path",
3608
3224
  {
3609
3225
  fillRule: "evenodd",
@@ -3612,7 +3228,7 @@ var HeadingThreeIcon = (0, import_react31.memo)(({ className, ...props }) => {
3612
3228
  fill: "currentColor"
3613
3229
  }
3614
3230
  ),
3615
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3231
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
3616
3232
  "path",
3617
3233
  {
3618
3234
  fillRule: "evenodd",
@@ -3629,9 +3245,9 @@ HeadingThreeIcon.displayName = "HeadingThreeIcon";
3629
3245
 
3630
3246
  // src/components/tiptap-icons/heading-four-icon.tsx
3631
3247
  var import_react32 = require("react");
3632
- var import_jsx_runtime32 = require("react/jsx-runtime");
3248
+ var import_jsx_runtime31 = require("react/jsx-runtime");
3633
3249
  var HeadingFourIcon = (0, import_react32.memo)(({ className, ...props }) => {
3634
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
3250
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
3635
3251
  "svg",
3636
3252
  {
3637
3253
  width: "24",
@@ -3642,14 +3258,14 @@ var HeadingFourIcon = (0, import_react32.memo)(({ className, ...props }) => {
3642
3258
  xmlns: "http://www.w3.org/2000/svg",
3643
3259
  ...props,
3644
3260
  children: [
3645
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3261
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3646
3262
  "path",
3647
3263
  {
3648
3264
  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",
3649
3265
  fill: "currentColor"
3650
3266
  }
3651
3267
  ),
3652
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3268
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3653
3269
  "path",
3654
3270
  {
3655
3271
  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",
@@ -3664,9 +3280,9 @@ HeadingFourIcon.displayName = "HeadingFourIcon";
3664
3280
 
3665
3281
  // src/components/tiptap-icons/heading-five-icon.tsx
3666
3282
  var import_react33 = require("react");
3667
- var import_jsx_runtime33 = require("react/jsx-runtime");
3283
+ var import_jsx_runtime32 = require("react/jsx-runtime");
3668
3284
  var HeadingFiveIcon = (0, import_react33.memo)(({ className, ...props }) => {
3669
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3285
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
3670
3286
  "svg",
3671
3287
  {
3672
3288
  width: "24",
@@ -3677,14 +3293,14 @@ var HeadingFiveIcon = (0, import_react33.memo)(({ className, ...props }) => {
3677
3293
  xmlns: "http://www.w3.org/2000/svg",
3678
3294
  ...props,
3679
3295
  children: [
3680
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3296
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3681
3297
  "path",
3682
3298
  {
3683
3299
  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",
3684
3300
  fill: "currentColor"
3685
3301
  }
3686
3302
  ),
3687
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3303
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3688
3304
  "path",
3689
3305
  {
3690
3306
  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",
@@ -3699,9 +3315,9 @@ HeadingFiveIcon.displayName = "HeadingFiveIcon";
3699
3315
 
3700
3316
  // src/components/tiptap-icons/heading-six-icon.tsx
3701
3317
  var import_react34 = require("react");
3702
- var import_jsx_runtime34 = require("react/jsx-runtime");
3318
+ var import_jsx_runtime33 = require("react/jsx-runtime");
3703
3319
  var HeadingSixIcon = (0, import_react34.memo)(({ className, ...props }) => {
3704
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
3320
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3705
3321
  "svg",
3706
3322
  {
3707
3323
  width: "24",
@@ -3712,14 +3328,14 @@ var HeadingSixIcon = (0, import_react34.memo)(({ className, ...props }) => {
3712
3328
  xmlns: "http://www.w3.org/2000/svg",
3713
3329
  ...props,
3714
3330
  children: [
3715
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3331
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3716
3332
  "path",
3717
3333
  {
3718
3334
  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",
3719
3335
  fill: "currentColor"
3720
3336
  }
3721
3337
  ),
3722
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3338
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3723
3339
  "path",
3724
3340
  {
3725
3341
  fillRule: "evenodd",
@@ -3786,26 +3402,26 @@ function toggleHeading(editor, level) {
3786
3402
  const view = editor.view;
3787
3403
  let state = view.state;
3788
3404
  let tr = state.tr;
3789
- if (state.selection.empty || state.selection instanceof import_state3.TextSelection) {
3405
+ if (state.selection.empty || state.selection instanceof import_state2.TextSelection) {
3790
3406
  const pos = findNodePosition({
3791
3407
  editor,
3792
3408
  node: state.selection.$anchor.node(1)
3793
3409
  })?.pos;
3794
3410
  if (!isValidPosition(pos)) return false;
3795
- tr = tr.setSelection(import_state3.NodeSelection.create(state.doc, pos));
3411
+ tr = tr.setSelection(import_state2.NodeSelection.create(state.doc, pos));
3796
3412
  view.dispatch(tr);
3797
3413
  state = view.state;
3798
3414
  }
3799
3415
  const selection = state.selection;
3800
3416
  let chain = editor.chain().focus();
3801
- if (selection instanceof import_state3.NodeSelection) {
3417
+ if (selection instanceof import_state2.NodeSelection) {
3802
3418
  const firstChild = selection.node.firstChild?.firstChild;
3803
3419
  const lastChild = selection.node.lastChild?.lastChild;
3804
3420
  const from = firstChild ? selection.from + firstChild.nodeSize : selection.from + 1;
3805
3421
  const to = lastChild ? selection.to - lastChild.nodeSize : selection.to - 1;
3806
3422
  const resolvedFrom = state.doc.resolve(from);
3807
3423
  const resolvedTo = state.doc.resolve(to);
3808
- chain = chain.setTextSelection(import_state3.TextSelection.between(resolvedFrom, resolvedTo)).clearNodes();
3424
+ chain = chain.setTextSelection(import_state2.TextSelection.between(resolvedFrom, resolvedTo)).clearNodes();
3809
3425
  }
3810
3426
  const isActive = levels.some(
3811
3427
  (l) => editor.isActive("heading", { level: l })
@@ -3874,22 +3490,22 @@ function useHeading(config) {
3874
3490
  // src/components/tiptap-ui-primitive/dropdown-menu/dropdown-menu.tsx
3875
3491
  var import_react36 = require("react");
3876
3492
  var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
3877
- var import_jsx_runtime35 = require("react/jsx-runtime");
3493
+ var import_jsx_runtime34 = require("react/jsx-runtime");
3878
3494
  function DropdownMenu({
3879
3495
  ...props
3880
3496
  }) {
3881
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropdownMenuPrimitive.Root, { modal: false, ...props });
3497
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DropdownMenuPrimitive.Root, { modal: false, ...props });
3882
3498
  }
3883
3499
  function DropdownMenuPortal({
3884
3500
  ...props
3885
3501
  }) {
3886
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropdownMenuPrimitive.Portal, { ...props });
3502
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DropdownMenuPrimitive.Portal, { ...props });
3887
3503
  }
3888
- var DropdownMenuTrigger = (0, import_react36.forwardRef)(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropdownMenuPrimitive.Trigger, { ref, ...props }));
3504
+ var DropdownMenuTrigger = (0, import_react36.forwardRef)(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DropdownMenuPrimitive.Trigger, { ref, ...props }));
3889
3505
  DropdownMenuTrigger.displayName = DropdownMenuPrimitive.Trigger.displayName;
3890
3506
  var DropdownMenuItem = DropdownMenuPrimitive.Item;
3891
3507
  var DropdownMenuSubContent = (0, import_react36.forwardRef)(({ className, portal = true, ...props }, ref) => {
3892
- const content = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3508
+ const content = /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3893
3509
  DropdownMenuPrimitive.SubContent,
3894
3510
  {
3895
3511
  ref,
@@ -3897,11 +3513,11 @@ var DropdownMenuSubContent = (0, import_react36.forwardRef)(({ className, portal
3897
3513
  ...props
3898
3514
  }
3899
3515
  );
3900
- return portal ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropdownMenuPortal, { ...typeof portal === "object" ? portal : {}, children: content }) : content;
3516
+ return portal ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DropdownMenuPortal, { ...typeof portal === "object" ? portal : {}, children: content }) : content;
3901
3517
  });
3902
3518
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
3903
3519
  var DropdownMenuContent = (0, import_react36.forwardRef)(({ className, sideOffset = 4, portal = false, ...props }, ref) => {
3904
- const content = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3520
+ const content = /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3905
3521
  DropdownMenuPrimitive.Content,
3906
3522
  {
3907
3523
  ref,
@@ -3911,22 +3527,22 @@ var DropdownMenuContent = (0, import_react36.forwardRef)(({ className, sideOffse
3911
3527
  ...props
3912
3528
  }
3913
3529
  );
3914
- return portal ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropdownMenuPortal, { ...typeof portal === "object" ? portal : {}, children: content }) : content;
3530
+ return portal ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DropdownMenuPortal, { ...typeof portal === "object" ? portal : {}, children: content }) : content;
3915
3531
  });
3916
3532
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
3917
3533
 
3918
3534
  // src/components/tiptap-ui-primitive/card/card.tsx
3919
3535
  var import_react37 = require("react");
3920
- var import_jsx_runtime36 = require("react/jsx-runtime");
3536
+ var import_jsx_runtime35 = require("react/jsx-runtime");
3921
3537
  var Card = (0, import_react37.forwardRef)(
3922
3538
  ({ className, ...props }, ref) => {
3923
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { ref, className: cn2("tiptap-card", className), ...props });
3539
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { ref, className: cn2("tiptap-card", className), ...props });
3924
3540
  }
3925
3541
  );
3926
3542
  Card.displayName = "Card";
3927
3543
  var CardHeader = (0, import_react37.forwardRef)(
3928
3544
  ({ className, ...props }, ref) => {
3929
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3545
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3930
3546
  "div",
3931
3547
  {
3932
3548
  ref,
@@ -3939,12 +3555,12 @@ var CardHeader = (0, import_react37.forwardRef)(
3939
3555
  CardHeader.displayName = "CardHeader";
3940
3556
  var CardBody = (0, import_react37.forwardRef)(
3941
3557
  ({ className, ...props }, ref) => {
3942
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { ref, className: cn2("tiptap-card-body", className), ...props });
3558
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { ref, className: cn2("tiptap-card-body", className), ...props });
3943
3559
  }
3944
3560
  );
3945
3561
  CardBody.displayName = "CardBody";
3946
3562
  var CardItemGroup = (0, import_react37.forwardRef)(({ className, orientation = "vertical", ...props }, ref) => {
3947
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3563
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3948
3564
  "div",
3949
3565
  {
3950
3566
  ref,
@@ -3957,7 +3573,7 @@ var CardItemGroup = (0, import_react37.forwardRef)(({ className, orientation = "
3957
3573
  CardItemGroup.displayName = "CardItemGroup";
3958
3574
  var CardGroupLabel = (0, import_react37.forwardRef)(
3959
3575
  ({ className, ...props }, ref) => {
3960
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3576
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3961
3577
  "div",
3962
3578
  {
3963
3579
  ref,
@@ -3970,7 +3586,7 @@ var CardGroupLabel = (0, import_react37.forwardRef)(
3970
3586
  CardGroupLabel.displayName = "CardGroupLabel";
3971
3587
  var CardFooter = (0, import_react37.forwardRef)(
3972
3588
  ({ className, ...props }, ref) => {
3973
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3589
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3974
3590
  "div",
3975
3591
  {
3976
3592
  ref,
@@ -3983,7 +3599,7 @@ var CardFooter = (0, import_react37.forwardRef)(
3983
3599
  CardFooter.displayName = "CardFooter";
3984
3600
 
3985
3601
  // src/components/tiptap-ui/heading-dropdown-menu/heading-dropdown-menu.tsx
3986
- var import_jsx_runtime37 = require("react/jsx-runtime");
3602
+ var import_jsx_runtime36 = require("react/jsx-runtime");
3987
3603
  var HeadingDropdownMenu = (0, import_react38.forwardRef)(
3988
3604
  ({
3989
3605
  editor: providedEditor,
@@ -4011,8 +3627,8 @@ var HeadingDropdownMenu = (0, import_react38.forwardRef)(
4011
3627
  if (!isVisible) {
4012
3628
  return null;
4013
3629
  }
4014
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(DropdownMenu, { modal: true, open: isOpen, onOpenChange: handleOpenChange, children: [
4015
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
3630
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(DropdownMenu, { modal: true, open: isOpen, onOpenChange: handleOpenChange, children: [
3631
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
4016
3632
  Button2,
4017
3633
  {
4018
3634
  type: "button",
@@ -4028,12 +3644,12 @@ var HeadingDropdownMenu = (0, import_react38.forwardRef)(
4028
3644
  ...buttonProps,
4029
3645
  ref,
4030
3646
  children: [
4031
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Icon, { className: "tiptap-button-icon" }),
4032
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ChevronDownIcon, { className: "tiptap-button-dropdown-small" })
3647
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon, { className: "tiptap-button-icon" }),
3648
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ChevronDownIcon, { className: "tiptap-button-dropdown-small" })
4033
3649
  ]
4034
3650
  }
4035
3651
  ) }),
4036
- /* @__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)(
3652
+ /* @__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
3653
  HeadingButton,
4038
3654
  {
4039
3655
  editor,
@@ -4052,9 +3668,9 @@ var import_react40 = require("react");
4052
3668
 
4053
3669
  // src/components/tiptap-icons/heading-icon.tsx
4054
3670
  var import_react39 = require("react");
4055
- var import_jsx_runtime38 = require("react/jsx-runtime");
3671
+ var import_jsx_runtime37 = require("react/jsx-runtime");
4056
3672
  var HeadingIcon = (0, import_react39.memo)(({ className, ...props }) => {
4057
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3673
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4058
3674
  "svg",
4059
3675
  {
4060
3676
  width: "24",
@@ -4064,7 +3680,7 @@ var HeadingIcon = (0, import_react39.memo)(({ className, ...props }) => {
4064
3680
  fill: "currentColor",
4065
3681
  xmlns: "http://www.w3.org/2000/svg",
4066
3682
  ...props,
4067
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3683
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4068
3684
  "path",
4069
3685
  {
4070
3686
  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",
@@ -4118,11 +3734,11 @@ function useHeadingDropdownMenu(config) {
4118
3734
 
4119
3735
  // src/components/tiptap-ui/image-upload-button/image-upload-button.tsx
4120
3736
  var import_react41 = require("react");
4121
- var import_jsx_runtime39 = require("react/jsx-runtime");
3737
+ var import_jsx_runtime38 = require("react/jsx-runtime");
4122
3738
  function ImageShortcutBadge({
4123
3739
  shortcutKeys = IMAGE_UPLOAD_SHORTCUT_KEY
4124
3740
  }) {
4125
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
3741
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
4126
3742
  }
4127
3743
  var ImageUploadButton = (0, import_react41.forwardRef)(
4128
3744
  ({
@@ -4162,7 +3778,7 @@ var ImageUploadButton = (0, import_react41.forwardRef)(
4162
3778
  return null;
4163
3779
  }
4164
3780
  const RenderIcon = CustomIcon ?? Icon;
4165
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3781
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4166
3782
  Button2,
4167
3783
  {
4168
3784
  type: "button",
@@ -4178,10 +3794,10 @@ var ImageUploadButton = (0, import_react41.forwardRef)(
4178
3794
  onClick: handleClick,
4179
3795
  ...buttonProps,
4180
3796
  ref,
4181
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
4182
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(RenderIcon, { className: "tiptap-button-icon" }),
4183
- text && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "tiptap-button-text", children: text }),
4184
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ImageShortcutBadge, { shortcutKeys })
3797
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
3798
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(RenderIcon, { className: "tiptap-button-icon" }),
3799
+ text && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "tiptap-button-text", children: text }),
3800
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ImageShortcutBadge, { shortcutKeys })
4185
3801
  ] })
4186
3802
  }
4187
3803
  );
@@ -4210,9 +3826,9 @@ function useIsBreakpoint(mode = "max", breakpoint = 768) {
4210
3826
 
4211
3827
  // src/components/tiptap-icons/image-plus-icon.tsx
4212
3828
  var import_react43 = require("react");
4213
- var import_jsx_runtime40 = require("react/jsx-runtime");
3829
+ var import_jsx_runtime39 = require("react/jsx-runtime");
4214
3830
  var ImagePlusIcon = (0, import_react43.memo)(({ className, ...props }) => {
4215
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3831
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4216
3832
  "svg",
4217
3833
  {
4218
3834
  width: "24",
@@ -4222,7 +3838,7 @@ var ImagePlusIcon = (0, import_react43.memo)(({ className, ...props }) => {
4222
3838
  fill: "currentColor",
4223
3839
  xmlns: "http://www.w3.org/2000/svg",
4224
3840
  ...props,
4225
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3841
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4226
3842
  "path",
4227
3843
  {
4228
3844
  fillRule: "evenodd",
@@ -4346,12 +3962,12 @@ var import_react51 = require("react");
4346
3962
 
4347
3963
  // src/components/tiptap-ui/list-button/list-button.tsx
4348
3964
  var import_react45 = require("react");
4349
- var import_jsx_runtime41 = require("react/jsx-runtime");
3965
+ var import_jsx_runtime40 = require("react/jsx-runtime");
4350
3966
  function ListShortcutBadge({
4351
3967
  type,
4352
3968
  shortcutKeys = LIST_SHORTCUT_KEYS[type]
4353
3969
  }) {
4354
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
3970
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
4355
3971
  }
4356
3972
  var ListButton = (0, import_react45.forwardRef)(
4357
3973
  ({
@@ -4391,7 +4007,7 @@ var ListButton = (0, import_react45.forwardRef)(
4391
4007
  if (!isVisible) {
4392
4008
  return null;
4393
4009
  }
4394
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4010
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4395
4011
  Button2,
4396
4012
  {
4397
4013
  type: "button",
@@ -4407,10 +4023,10 @@ var ListButton = (0, import_react45.forwardRef)(
4407
4023
  onClick: handleClick,
4408
4024
  ...buttonProps,
4409
4025
  ref,
4410
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
4411
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Icon, { className: "tiptap-button-icon" }),
4412
- text && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "tiptap-button-text", children: text }),
4413
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ListShortcutBadge, { type, shortcutKeys })
4026
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
4027
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Icon, { className: "tiptap-button-icon" }),
4028
+ text && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "tiptap-button-text", children: text }),
4029
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ListShortcutBadge, { type, shortcutKeys })
4414
4030
  ] })
4415
4031
  }
4416
4032
  );
@@ -4420,13 +4036,13 @@ ListButton.displayName = "ListButton";
4420
4036
 
4421
4037
  // src/components/tiptap-ui/list-button/use-list.ts
4422
4038
  var import_react49 = require("react");
4423
- var import_state4 = require("@tiptap/pm/state");
4039
+ var import_state3 = require("@tiptap/pm/state");
4424
4040
 
4425
4041
  // src/components/tiptap-icons/list-icon.tsx
4426
4042
  var import_react46 = require("react");
4427
- var import_jsx_runtime42 = require("react/jsx-runtime");
4043
+ var import_jsx_runtime41 = require("react/jsx-runtime");
4428
4044
  var ListIcon = (0, import_react46.memo)(({ className, ...props }) => {
4429
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4045
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
4430
4046
  "svg",
4431
4047
  {
4432
4048
  width: "24",
@@ -4437,7 +4053,7 @@ var ListIcon = (0, import_react46.memo)(({ className, ...props }) => {
4437
4053
  xmlns: "http://www.w3.org/2000/svg",
4438
4054
  ...props,
4439
4055
  children: [
4440
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4056
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4441
4057
  "path",
4442
4058
  {
4443
4059
  fillRule: "evenodd",
@@ -4446,7 +4062,7 @@ var ListIcon = (0, import_react46.memo)(({ className, ...props }) => {
4446
4062
  fill: "currentColor"
4447
4063
  }
4448
4064
  ),
4449
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4065
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4450
4066
  "path",
4451
4067
  {
4452
4068
  fillRule: "evenodd",
@@ -4455,7 +4071,7 @@ var ListIcon = (0, import_react46.memo)(({ className, ...props }) => {
4455
4071
  fill: "currentColor"
4456
4072
  }
4457
4073
  ),
4458
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4074
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4459
4075
  "path",
4460
4076
  {
4461
4077
  fillRule: "evenodd",
@@ -4464,7 +4080,7 @@ var ListIcon = (0, import_react46.memo)(({ className, ...props }) => {
4464
4080
  fill: "currentColor"
4465
4081
  }
4466
4082
  ),
4467
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4083
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4468
4084
  "path",
4469
4085
  {
4470
4086
  fillRule: "evenodd",
@@ -4473,7 +4089,7 @@ var ListIcon = (0, import_react46.memo)(({ className, ...props }) => {
4473
4089
  fill: "currentColor"
4474
4090
  }
4475
4091
  ),
4476
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4092
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4477
4093
  "path",
4478
4094
  {
4479
4095
  fillRule: "evenodd",
@@ -4482,7 +4098,7 @@ var ListIcon = (0, import_react46.memo)(({ className, ...props }) => {
4482
4098
  fill: "currentColor"
4483
4099
  }
4484
4100
  ),
4485
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4101
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4486
4102
  "path",
4487
4103
  {
4488
4104
  fillRule: "evenodd",
@@ -4499,9 +4115,9 @@ ListIcon.displayName = "ListIcon";
4499
4115
 
4500
4116
  // src/components/tiptap-icons/list-ordered-icon.tsx
4501
4117
  var import_react47 = require("react");
4502
- var import_jsx_runtime43 = require("react/jsx-runtime");
4118
+ var import_jsx_runtime42 = require("react/jsx-runtime");
4503
4119
  var ListOrderedIcon = (0, import_react47.memo)(({ className, ...props }) => {
4504
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4120
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4505
4121
  "svg",
4506
4122
  {
4507
4123
  width: "24",
@@ -4512,7 +4128,7 @@ var ListOrderedIcon = (0, import_react47.memo)(({ className, ...props }) => {
4512
4128
  xmlns: "http://www.w3.org/2000/svg",
4513
4129
  ...props,
4514
4130
  children: [
4515
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4131
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4516
4132
  "path",
4517
4133
  {
4518
4134
  fillRule: "evenodd",
@@ -4521,7 +4137,7 @@ var ListOrderedIcon = (0, import_react47.memo)(({ className, ...props }) => {
4521
4137
  fill: "currentColor"
4522
4138
  }
4523
4139
  ),
4524
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4140
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4525
4141
  "path",
4526
4142
  {
4527
4143
  fillRule: "evenodd",
@@ -4530,7 +4146,7 @@ var ListOrderedIcon = (0, import_react47.memo)(({ className, ...props }) => {
4530
4146
  fill: "currentColor"
4531
4147
  }
4532
4148
  ),
4533
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4149
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4534
4150
  "path",
4535
4151
  {
4536
4152
  fillRule: "evenodd",
@@ -4539,7 +4155,7 @@ var ListOrderedIcon = (0, import_react47.memo)(({ className, ...props }) => {
4539
4155
  fill: "currentColor"
4540
4156
  }
4541
4157
  ),
4542
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4158
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4543
4159
  "path",
4544
4160
  {
4545
4161
  fillRule: "evenodd",
@@ -4548,7 +4164,7 @@ var ListOrderedIcon = (0, import_react47.memo)(({ className, ...props }) => {
4548
4164
  fill: "currentColor"
4549
4165
  }
4550
4166
  ),
4551
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4167
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4552
4168
  "path",
4553
4169
  {
4554
4170
  fillRule: "evenodd",
@@ -4557,7 +4173,7 @@ var ListOrderedIcon = (0, import_react47.memo)(({ className, ...props }) => {
4557
4173
  fill: "currentColor"
4558
4174
  }
4559
4175
  ),
4560
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4176
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4561
4177
  "path",
4562
4178
  {
4563
4179
  fillRule: "evenodd",
@@ -4574,9 +4190,9 @@ ListOrderedIcon.displayName = "ListOrderedIcon";
4574
4190
 
4575
4191
  // src/components/tiptap-icons/list-todo-icon.tsx
4576
4192
  var import_react48 = require("react");
4577
- var import_jsx_runtime44 = require("react/jsx-runtime");
4193
+ var import_jsx_runtime43 = require("react/jsx-runtime");
4578
4194
  var ListTodoIcon = (0, import_react48.memo)(({ className, ...props }) => {
4579
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4195
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4580
4196
  "svg",
4581
4197
  {
4582
4198
  width: "24",
@@ -4587,7 +4203,7 @@ var ListTodoIcon = (0, import_react48.memo)(({ className, ...props }) => {
4587
4203
  xmlns: "http://www.w3.org/2000/svg",
4588
4204
  ...props,
4589
4205
  children: [
4590
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4206
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4591
4207
  "path",
4592
4208
  {
4593
4209
  fillRule: "evenodd",
@@ -4596,7 +4212,7 @@ var ListTodoIcon = (0, import_react48.memo)(({ className, ...props }) => {
4596
4212
  fill: "currentColor"
4597
4213
  }
4598
4214
  ),
4599
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4215
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4600
4216
  "path",
4601
4217
  {
4602
4218
  fillRule: "evenodd",
@@ -4605,7 +4221,7 @@ var ListTodoIcon = (0, import_react48.memo)(({ className, ...props }) => {
4605
4221
  fill: "currentColor"
4606
4222
  }
4607
4223
  ),
4608
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4224
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4609
4225
  "path",
4610
4226
  {
4611
4227
  fillRule: "evenodd",
@@ -4614,7 +4230,7 @@ var ListTodoIcon = (0, import_react48.memo)(({ className, ...props }) => {
4614
4230
  fill: "currentColor"
4615
4231
  }
4616
4232
  ),
4617
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4233
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4618
4234
  "path",
4619
4235
  {
4620
4236
  fillRule: "evenodd",
@@ -4623,7 +4239,7 @@ var ListTodoIcon = (0, import_react48.memo)(({ className, ...props }) => {
4623
4239
  fill: "currentColor"
4624
4240
  }
4625
4241
  ),
4626
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4242
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4627
4243
  "path",
4628
4244
  {
4629
4245
  fillRule: "evenodd",
@@ -4711,26 +4327,26 @@ function toggleList(editor, type) {
4711
4327
  const view = editor.view;
4712
4328
  let state = view.state;
4713
4329
  let tr = state.tr;
4714
- if (state.selection.empty || state.selection instanceof import_state4.TextSelection) {
4330
+ if (state.selection.empty || state.selection instanceof import_state3.TextSelection) {
4715
4331
  const pos = findNodePosition({
4716
4332
  editor,
4717
4333
  node: state.selection.$anchor.node(1)
4718
4334
  })?.pos;
4719
4335
  if (!isValidPosition(pos)) return false;
4720
- tr = tr.setSelection(import_state4.NodeSelection.create(state.doc, pos));
4336
+ tr = tr.setSelection(import_state3.NodeSelection.create(state.doc, pos));
4721
4337
  view.dispatch(tr);
4722
4338
  state = view.state;
4723
4339
  }
4724
4340
  const selection = state.selection;
4725
4341
  let chain = editor.chain().focus();
4726
- if (selection instanceof import_state4.NodeSelection) {
4342
+ if (selection instanceof import_state3.NodeSelection) {
4727
4343
  const firstChild = selection.node.firstChild?.firstChild;
4728
4344
  const lastChild = selection.node.lastChild?.lastChild;
4729
4345
  const from = firstChild ? selection.from + firstChild.nodeSize : selection.from + 1;
4730
4346
  const to = lastChild ? selection.to - lastChild.nodeSize : selection.to - 1;
4731
4347
  const resolvedFrom = state.doc.resolve(from);
4732
4348
  const resolvedTo = state.doc.resolve(to);
4733
- chain = chain.setTextSelection(import_state4.TextSelection.between(resolvedFrom, resolvedTo)).clearNodes();
4349
+ chain = chain.setTextSelection(import_state3.TextSelection.between(resolvedFrom, resolvedTo)).clearNodes();
4734
4350
  }
4735
4351
  if (editor.isActive(type)) {
4736
4352
  chain.liftListItem("listItem").lift("bulletList").lift("orderedList").lift("taskList").run();
@@ -4892,7 +4508,7 @@ function useListDropdownMenu(config) {
4892
4508
  }
4893
4509
 
4894
4510
  // src/components/tiptap-ui/list-dropdown-menu/list-dropdown-menu.tsx
4895
- var import_jsx_runtime45 = require("react/jsx-runtime");
4511
+ var import_jsx_runtime44 = require("react/jsx-runtime");
4896
4512
  function ListDropdownMenu({
4897
4513
  editor: providedEditor,
4898
4514
  types = ["bulletList", "orderedList", "taskList"],
@@ -4918,8 +4534,8 @@ function ListDropdownMenu({
4918
4534
  if (!isVisible) {
4919
4535
  return null;
4920
4536
  }
4921
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(DropdownMenu, { open: isOpen, onOpenChange: handleOnOpenChange, children: [
4922
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
4537
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(DropdownMenu, { open: isOpen, onOpenChange: handleOnOpenChange, children: [
4538
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4923
4539
  Button2,
4924
4540
  {
4925
4541
  type: "button",
@@ -4933,12 +4549,12 @@ function ListDropdownMenu({
4933
4549
  tooltip: "List",
4934
4550
  ...props,
4935
4551
  children: [
4936
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Icon, { className: "tiptap-button-icon" }),
4937
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ChevronDownIcon, { className: "tiptap-button-dropdown-small" })
4552
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Icon, { className: "tiptap-button-icon" }),
4553
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ChevronDownIcon, { className: "tiptap-button-dropdown-small" })
4938
4554
  ]
4939
4555
  }
4940
4556
  ) }),
4941
- /* @__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)(
4557
+ /* @__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
4558
  ListButton,
4943
4559
  {
4944
4560
  editor,
@@ -4952,11 +4568,11 @@ function ListDropdownMenu({
4952
4568
 
4953
4569
  // src/components/tiptap-ui/blockquote-button/blockquote-button.tsx
4954
4570
  var import_react52 = require("react");
4955
- var import_jsx_runtime46 = require("react/jsx-runtime");
4571
+ var import_jsx_runtime45 = require("react/jsx-runtime");
4956
4572
  function BlockquoteShortcutBadge({
4957
4573
  shortcutKeys = BLOCKQUOTE_SHORTCUT_KEY
4958
4574
  }) {
4959
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
4575
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
4960
4576
  }
4961
4577
  var BlockquoteButton = (0, import_react52.forwardRef)(
4962
4578
  ({
@@ -4994,7 +4610,7 @@ var BlockquoteButton = (0, import_react52.forwardRef)(
4994
4610
  if (!isVisible) {
4995
4611
  return null;
4996
4612
  }
4997
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4613
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4998
4614
  Button2,
4999
4615
  {
5000
4616
  type: "button",
@@ -5010,10 +4626,10 @@ var BlockquoteButton = (0, import_react52.forwardRef)(
5010
4626
  onClick: handleClick,
5011
4627
  ...buttonProps,
5012
4628
  ref,
5013
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_jsx_runtime46.Fragment, { children: [
5014
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Icon, { className: "tiptap-button-icon" }),
5015
- text && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "tiptap-button-text", children: text }),
5016
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(BlockquoteShortcutBadge, { shortcutKeys })
4629
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, { children: [
4630
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Icon, { className: "tiptap-button-icon" }),
4631
+ text && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "tiptap-button-text", children: text }),
4632
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(BlockquoteShortcutBadge, { shortcutKeys })
5017
4633
  ] })
5018
4634
  }
5019
4635
  );
@@ -5023,13 +4639,13 @@ BlockquoteButton.displayName = "BlockquoteButton";
5023
4639
 
5024
4640
  // src/components/tiptap-ui/blockquote-button/use-blockquote.ts
5025
4641
  var import_react54 = require("react");
5026
- var import_state5 = require("@tiptap/pm/state");
4642
+ var import_state4 = require("@tiptap/pm/state");
5027
4643
 
5028
4644
  // src/components/tiptap-icons/blockquote-icon.tsx
5029
4645
  var import_react53 = require("react");
5030
- var import_jsx_runtime47 = require("react/jsx-runtime");
4646
+ var import_jsx_runtime46 = require("react/jsx-runtime");
5031
4647
  var BlockquoteIcon = (0, import_react53.memo)(({ className, ...props }) => {
5032
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
4648
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
5033
4649
  "svg",
5034
4650
  {
5035
4651
  width: "24",
@@ -5040,7 +4656,7 @@ var BlockquoteIcon = (0, import_react53.memo)(({ className, ...props }) => {
5040
4656
  xmlns: "http://www.w3.org/2000/svg",
5041
4657
  ...props,
5042
4658
  children: [
5043
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4659
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
5044
4660
  "path",
5045
4661
  {
5046
4662
  fillRule: "evenodd",
@@ -5049,7 +4665,7 @@ var BlockquoteIcon = (0, import_react53.memo)(({ className, ...props }) => {
5049
4665
  fill: "currentColor"
5050
4666
  }
5051
4667
  ),
5052
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4668
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
5053
4669
  "path",
5054
4670
  {
5055
4671
  fillRule: "evenodd",
@@ -5058,7 +4674,7 @@ var BlockquoteIcon = (0, import_react53.memo)(({ className, ...props }) => {
5058
4674
  fill: "currentColor"
5059
4675
  }
5060
4676
  ),
5061
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4677
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
5062
4678
  "path",
5063
4679
  {
5064
4680
  fillRule: "evenodd",
@@ -5067,7 +4683,7 @@ var BlockquoteIcon = (0, import_react53.memo)(({ className, ...props }) => {
5067
4683
  fill: "currentColor"
5068
4684
  }
5069
4685
  ),
5070
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4686
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
5071
4687
  "path",
5072
4688
  {
5073
4689
  fillRule: "evenodd",
@@ -5110,26 +4726,26 @@ function toggleBlockquote(editor) {
5110
4726
  const view = editor.view;
5111
4727
  let state = view.state;
5112
4728
  let tr = state.tr;
5113
- if (state.selection.empty || state.selection instanceof import_state5.TextSelection) {
4729
+ if (state.selection.empty || state.selection instanceof import_state4.TextSelection) {
5114
4730
  const pos = findNodePosition({
5115
4731
  editor,
5116
4732
  node: state.selection.$anchor.node(1)
5117
4733
  })?.pos;
5118
4734
  if (!isValidPosition(pos)) return false;
5119
- tr = tr.setSelection(import_state5.NodeSelection.create(state.doc, pos));
4735
+ tr = tr.setSelection(import_state4.NodeSelection.create(state.doc, pos));
5120
4736
  view.dispatch(tr);
5121
4737
  state = view.state;
5122
4738
  }
5123
4739
  const selection = state.selection;
5124
4740
  let chain = editor.chain().focus();
5125
- if (selection instanceof import_state5.NodeSelection) {
4741
+ if (selection instanceof import_state4.NodeSelection) {
5126
4742
  const firstChild = selection.node.firstChild?.firstChild;
5127
4743
  const lastChild = selection.node.lastChild?.lastChild;
5128
4744
  const from = firstChild ? selection.from + firstChild.nodeSize : selection.from + 1;
5129
4745
  const to = lastChild ? selection.to - lastChild.nodeSize : selection.to - 1;
5130
4746
  const resolvedFrom = state.doc.resolve(from);
5131
4747
  const resolvedTo = state.doc.resolve(to);
5132
- chain = chain.setTextSelection(import_state5.TextSelection.between(resolvedFrom, resolvedTo)).clearNodes();
4748
+ chain = chain.setTextSelection(import_state4.TextSelection.between(resolvedFrom, resolvedTo)).clearNodes();
5133
4749
  }
5134
4750
  const toggle = editor.isActive("blockquote") ? chain.lift("blockquote") : chain.wrapIn("blockquote");
5135
4751
  toggle.run();
@@ -5193,9 +4809,9 @@ var import_react59 = require("react");
5193
4809
 
5194
4810
  // src/components/tiptap-icons/ban-icon.tsx
5195
4811
  var import_react55 = require("react");
5196
- var import_jsx_runtime48 = require("react/jsx-runtime");
4812
+ var import_jsx_runtime47 = require("react/jsx-runtime");
5197
4813
  var BanIcon = (0, import_react55.memo)(({ className, ...props }) => {
5198
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4814
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
5199
4815
  "svg",
5200
4816
  {
5201
4817
  width: "24",
@@ -5205,7 +4821,7 @@ var BanIcon = (0, import_react55.memo)(({ className, ...props }) => {
5205
4821
  fill: "currentColor",
5206
4822
  xmlns: "http://www.w3.org/2000/svg",
5207
4823
  ...props,
5208
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4824
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
5209
4825
  "path",
5210
4826
  {
5211
4827
  fillRule: "evenodd",
@@ -5221,9 +4837,9 @@ BanIcon.displayName = "BanIcon";
5221
4837
 
5222
4838
  // src/components/tiptap-icons/highlighter-icon.tsx
5223
4839
  var import_react56 = require("react");
5224
- var import_jsx_runtime49 = require("react/jsx-runtime");
4840
+ var import_jsx_runtime48 = require("react/jsx-runtime");
5225
4841
  var HighlighterIcon = (0, import_react56.memo)(({ className, ...props }) => {
5226
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4842
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5227
4843
  "svg",
5228
4844
  {
5229
4845
  width: "24",
@@ -5233,7 +4849,7 @@ var HighlighterIcon = (0, import_react56.memo)(({ className, ...props }) => {
5233
4849
  fill: "currentColor",
5234
4850
  xmlns: "http://www.w3.org/2000/svg",
5235
4851
  ...props,
5236
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
4852
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
5237
4853
  "path",
5238
4854
  {
5239
4855
  fillRule: "evenodd",
@@ -5249,16 +4865,16 @@ HighlighterIcon.displayName = "HighlighterIcon";
5249
4865
 
5250
4866
  // src/components/tiptap-ui-primitive/popover/popover.tsx
5251
4867
  var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
5252
- var import_jsx_runtime50 = require("react/jsx-runtime");
4868
+ var import_jsx_runtime49 = require("react/jsx-runtime");
5253
4869
  function Popover({
5254
4870
  ...props
5255
4871
  }) {
5256
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(PopoverPrimitive.Root, { ...props });
4872
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(PopoverPrimitive.Root, { ...props });
5257
4873
  }
5258
4874
  function PopoverTrigger({
5259
4875
  ...props
5260
4876
  }) {
5261
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(PopoverPrimitive.Trigger, { ...props });
4877
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(PopoverPrimitive.Trigger, { ...props });
5262
4878
  }
5263
4879
  function PopoverContent({
5264
4880
  className,
@@ -5266,7 +4882,7 @@ function PopoverContent({
5266
4882
  sideOffset = 4,
5267
4883
  ...props
5268
4884
  }) {
5269
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(PopoverPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
4885
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(PopoverPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
5270
4886
  PopoverPrimitive.Content,
5271
4887
  {
5272
4888
  align,
@@ -5279,11 +4895,11 @@ function PopoverContent({
5279
4895
 
5280
4896
  // src/components/tiptap-ui/color-highlight-button/color-highlight-button.tsx
5281
4897
  var import_react57 = require("react");
5282
- var import_jsx_runtime51 = require("react/jsx-runtime");
4898
+ var import_jsx_runtime50 = require("react/jsx-runtime");
5283
4899
  function ColorHighlightShortcutBadge({
5284
4900
  shortcutKeys = COLOR_HIGHLIGHT_SHORTCUT_KEY
5285
4901
  }) {
5286
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
4902
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
5287
4903
  }
5288
4904
  var ColorHighlightButton = (0, import_react57.forwardRef)(
5289
4905
  ({
@@ -5333,7 +4949,7 @@ var ColorHighlightButton = (0, import_react57.forwardRef)(
5333
4949
  if (!isVisible) {
5334
4950
  return null;
5335
4951
  }
5336
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
4952
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5337
4953
  Button2,
5338
4954
  {
5339
4955
  type: "button",
@@ -5350,16 +4966,16 @@ var ColorHighlightButton = (0, import_react57.forwardRef)(
5350
4966
  style: buttonStyle,
5351
4967
  ...buttonProps,
5352
4968
  ref,
5353
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
5354
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
4969
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
4970
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
5355
4971
  "span",
5356
4972
  {
5357
4973
  className: "tiptap-button-highlight",
5358
4974
  style: { "--highlight-color": highlightColor }
5359
4975
  }
5360
4976
  ),
5361
- text && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "tiptap-button-text", children: text }),
5362
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ColorHighlightShortcutBadge, { shortcutKeys })
4977
+ text && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "tiptap-button-text", children: text }),
4978
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ColorHighlightShortcutBadge, { shortcutKeys })
5363
4979
  ] })
5364
4980
  }
5365
4981
  );
@@ -5574,8 +5190,8 @@ function useColorHighlight(config) {
5574
5190
  }
5575
5191
 
5576
5192
  // src/components/tiptap-ui/color-highlight-popover/color-highlight-popover.tsx
5577
- var import_jsx_runtime52 = require("react/jsx-runtime");
5578
- var ColorHighlightPopoverButton = (0, import_react59.forwardRef)(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5193
+ var import_jsx_runtime51 = require("react/jsx-runtime");
5194
+ var ColorHighlightPopoverButton = (0, import_react59.forwardRef)(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5579
5195
  Button2,
5580
5196
  {
5581
5197
  type: "button",
@@ -5588,7 +5204,7 @@ var ColorHighlightPopoverButton = (0, import_react59.forwardRef)(({ className, c
5588
5204
  tooltip: "Highlight",
5589
5205
  ref,
5590
5206
  ...props,
5591
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(HighlighterIcon, { className: "tiptap-button-icon" })
5207
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(HighlighterIcon, { className: "tiptap-button-icon" })
5592
5208
  }
5593
5209
  ));
5594
5210
  ColorHighlightPopoverButton.displayName = "ColorHighlightPopoverButton";
@@ -5624,14 +5240,14 @@ function ColorHighlightPopoverContent({
5624
5240
  },
5625
5241
  autoSelectFirstItem: false
5626
5242
  });
5627
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5243
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5628
5244
  Card,
5629
5245
  {
5630
5246
  ref: containerRef,
5631
5247
  tabIndex: 0,
5632
5248
  style: isMobile ? { boxShadow: "none", border: 0 } : {},
5633
- children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(CardBody, { style: isMobile ? { padding: 0 } : {}, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(CardItemGroup, { orientation: "horizontal", children: [
5634
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ButtonGroup, { orientation: "horizontal", children: colors.map((color, index) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5249
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(CardBody, { style: isMobile ? { padding: 0 } : {}, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(CardItemGroup, { orientation: "horizontal", children: [
5250
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ButtonGroup, { orientation: "horizontal", children: colors.map((color, index) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5635
5251
  ColorHighlightButton,
5636
5252
  {
5637
5253
  editor,
@@ -5643,8 +5259,8 @@ function ColorHighlightPopoverContent({
5643
5259
  },
5644
5260
  color.value
5645
5261
  )) }),
5646
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Separator2, {}),
5647
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ButtonGroup, { orientation: "horizontal", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5262
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Separator2, {}),
5263
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ButtonGroup, { orientation: "horizontal", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
5648
5264
  Button2,
5649
5265
  {
5650
5266
  onClick: handleRemoveHighlight,
@@ -5655,7 +5271,7 @@ function ColorHighlightPopoverContent({
5655
5271
  role: "menuitem",
5656
5272
  "data-style": "ghost",
5657
5273
  "data-highlighted": selectedIndex === colors.length,
5658
- children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(BanIcon, { className: "tiptap-button-icon" })
5274
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(BanIcon, { className: "tiptap-button-icon" })
5659
5275
  }
5660
5276
  ) })
5661
5277
  ] }) })
@@ -5668,9 +5284,9 @@ var import_react64 = require("react");
5668
5284
 
5669
5285
  // src/components/tiptap-icons/corner-down-left-icon.tsx
5670
5286
  var import_react60 = require("react");
5671
- var import_jsx_runtime53 = require("react/jsx-runtime");
5287
+ var import_jsx_runtime52 = require("react/jsx-runtime");
5672
5288
  var CornerDownLeftIcon = (0, import_react60.memo)(({ className, ...props }) => {
5673
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5289
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5674
5290
  "svg",
5675
5291
  {
5676
5292
  width: "24",
@@ -5680,7 +5296,7 @@ var CornerDownLeftIcon = (0, import_react60.memo)(({ className, ...props }) => {
5680
5296
  fill: "currentColor",
5681
5297
  xmlns: "http://www.w3.org/2000/svg",
5682
5298
  ...props,
5683
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5299
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
5684
5300
  "path",
5685
5301
  {
5686
5302
  fillRule: "evenodd",
@@ -5696,9 +5312,9 @@ CornerDownLeftIcon.displayName = "CornerDownLeftIcon";
5696
5312
 
5697
5313
  // src/components/tiptap-icons/external-link-icon.tsx
5698
5314
  var import_react61 = require("react");
5699
- var import_jsx_runtime54 = require("react/jsx-runtime");
5315
+ var import_jsx_runtime53 = require("react/jsx-runtime");
5700
5316
  var ExternalLinkIcon = (0, import_react61.memo)(({ className, ...props }) => {
5701
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
5317
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
5702
5318
  "svg",
5703
5319
  {
5704
5320
  width: "24",
@@ -5709,14 +5325,14 @@ var ExternalLinkIcon = (0, import_react61.memo)(({ className, ...props }) => {
5709
5325
  xmlns: "http://www.w3.org/2000/svg",
5710
5326
  ...props,
5711
5327
  children: [
5712
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5328
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5713
5329
  "path",
5714
5330
  {
5715
5331
  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",
5716
5332
  fill: "currentColor"
5717
5333
  }
5718
5334
  ),
5719
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5335
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
5720
5336
  "path",
5721
5337
  {
5722
5338
  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",
@@ -5731,9 +5347,9 @@ ExternalLinkIcon.displayName = "ExternalLinkIcon";
5731
5347
 
5732
5348
  // src/components/tiptap-icons/link-icon.tsx
5733
5349
  var import_react62 = require("react");
5734
- var import_jsx_runtime55 = require("react/jsx-runtime");
5350
+ var import_jsx_runtime54 = require("react/jsx-runtime");
5735
5351
  var LinkIcon = (0, import_react62.memo)(({ className, ...props }) => {
5736
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
5352
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
5737
5353
  "svg",
5738
5354
  {
5739
5355
  width: "24",
@@ -5744,14 +5360,14 @@ var LinkIcon = (0, import_react62.memo)(({ className, ...props }) => {
5744
5360
  xmlns: "http://www.w3.org/2000/svg",
5745
5361
  ...props,
5746
5362
  children: [
5747
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5363
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5748
5364
  "path",
5749
5365
  {
5750
5366
  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",
5751
5367
  fill: "currentColor"
5752
5368
  }
5753
5369
  ),
5754
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5370
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
5755
5371
  "path",
5756
5372
  {
5757
5373
  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",
@@ -5766,9 +5382,9 @@ LinkIcon.displayName = "LinkIcon";
5766
5382
 
5767
5383
  // src/components/tiptap-icons/trash-icon.tsx
5768
5384
  var import_react63 = require("react");
5769
- var import_jsx_runtime56 = require("react/jsx-runtime");
5385
+ var import_jsx_runtime55 = require("react/jsx-runtime");
5770
5386
  var TrashIcon = (0, import_react63.memo)(({ className, ...props }) => {
5771
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5387
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5772
5388
  "svg",
5773
5389
  {
5774
5390
  width: "24",
@@ -5778,7 +5394,7 @@ var TrashIcon = (0, import_react63.memo)(({ className, ...props }) => {
5778
5394
  fill: "currentColor",
5779
5395
  xmlns: "http://www.w3.org/2000/svg",
5780
5396
  ...props,
5781
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
5397
+ children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
5782
5398
  "path",
5783
5399
  {
5784
5400
  fillRule: "evenodd",
@@ -5793,23 +5409,23 @@ var TrashIcon = (0, import_react63.memo)(({ className, ...props }) => {
5793
5409
  TrashIcon.displayName = "TrashIcon";
5794
5410
 
5795
5411
  // src/components/tiptap-ui-primitive/input/input.tsx
5796
- var import_jsx_runtime57 = require("react/jsx-runtime");
5412
+ var import_jsx_runtime56 = require("react/jsx-runtime");
5797
5413
  function Input({ className, type, ...props }) {
5798
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("input", { type, className: cn2("tiptap-input", className), ...props });
5414
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("input", { type, className: cn2("tiptap-input", className), ...props });
5799
5415
  }
5800
5416
  function InputGroup({
5801
5417
  className,
5802
5418
  children,
5803
5419
  ...props
5804
5420
  }) {
5805
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: cn2("tiptap-input-group", className), ...props, children });
5421
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: cn2("tiptap-input-group", className), ...props, children });
5806
5422
  }
5807
5423
 
5808
5424
  // src/components/tiptap-ui/link-popover/link-popover.tsx
5809
- var import_jsx_runtime58 = require("react/jsx-runtime");
5425
+ var import_jsx_runtime57 = require("react/jsx-runtime");
5810
5426
  var LinkButton = (0, import_react64.forwardRef)(
5811
5427
  ({ className, children, ...props }, ref) => {
5812
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5428
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5813
5429
  Button2,
5814
5430
  {
5815
5431
  type: "button",
@@ -5821,7 +5437,7 @@ var LinkButton = (0, import_react64.forwardRef)(
5821
5437
  tooltip: "Link",
5822
5438
  ref,
5823
5439
  ...props,
5824
- children: children || /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(LinkIcon, { className: "tiptap-button-icon" })
5440
+ children: children || /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(LinkIcon, { className: "tiptap-button-icon" })
5825
5441
  }
5826
5442
  );
5827
5443
  }
@@ -5842,20 +5458,20 @@ var LinkMain = ({
5842
5458
  setLink();
5843
5459
  }
5844
5460
  };
5845
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5461
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5846
5462
  Card,
5847
5463
  {
5848
5464
  style: {
5849
5465
  ...isMobile ? { boxShadow: "none", border: 0 } : {}
5850
5466
  },
5851
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5467
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5852
5468
  CardBody,
5853
5469
  {
5854
5470
  style: {
5855
5471
  ...isMobile ? { padding: 0 } : {}
5856
5472
  },
5857
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(CardItemGroup, { orientation: "horizontal", children: [
5858
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(InputGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5473
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(CardItemGroup, { orientation: "horizontal", children: [
5474
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(InputGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5859
5475
  Input,
5860
5476
  {
5861
5477
  type: "url",
@@ -5869,7 +5485,7 @@ var LinkMain = ({
5869
5485
  autoCapitalize: "off"
5870
5486
  }
5871
5487
  ) }),
5872
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(ButtonGroup, { orientation: "horizontal", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5488
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ButtonGroup, { orientation: "horizontal", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5873
5489
  Button2,
5874
5490
  {
5875
5491
  type: "button",
@@ -5877,12 +5493,12 @@ var LinkMain = ({
5877
5493
  title: "Apply link",
5878
5494
  disabled: !url && !isActive,
5879
5495
  "data-style": "ghost",
5880
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(CornerDownLeftIcon, { className: "tiptap-button-icon" })
5496
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(CornerDownLeftIcon, { className: "tiptap-button-icon" })
5881
5497
  }
5882
5498
  ) }),
5883
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Separator2, {}),
5884
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(ButtonGroup, { orientation: "horizontal", children: [
5885
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5499
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Separator2, {}),
5500
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(ButtonGroup, { orientation: "horizontal", children: [
5501
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5886
5502
  Button2,
5887
5503
  {
5888
5504
  type: "button",
@@ -5890,10 +5506,10 @@ var LinkMain = ({
5890
5506
  title: "Open in new window",
5891
5507
  disabled: !url && !isActive,
5892
5508
  "data-style": "ghost",
5893
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(ExternalLinkIcon, { className: "tiptap-button-icon" })
5509
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ExternalLinkIcon, { className: "tiptap-button-icon" })
5894
5510
  }
5895
5511
  ),
5896
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5512
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5897
5513
  Button2,
5898
5514
  {
5899
5515
  type: "button",
@@ -5901,7 +5517,7 @@ var LinkMain = ({
5901
5517
  title: "Remove link",
5902
5518
  disabled: !url && !isActive,
5903
5519
  "data-style": "ghost",
5904
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(TrashIcon, { className: "tiptap-button-icon" })
5520
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(TrashIcon, { className: "tiptap-button-icon" })
5905
5521
  }
5906
5522
  )
5907
5523
  ] })
@@ -5915,7 +5531,7 @@ var LinkContent = ({ editor }) => {
5915
5531
  const linkPopover = useLinkPopover({
5916
5532
  editor
5917
5533
  });
5918
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(LinkMain, { ...linkPopover });
5534
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(LinkMain, { ...linkPopover });
5919
5535
  };
5920
5536
  var LinkPopover = (0, import_react64.forwardRef)(
5921
5537
  ({
@@ -5973,8 +5589,8 @@ var LinkPopover = (0, import_react64.forwardRef)(
5973
5589
  if (!isVisible) {
5974
5590
  return null;
5975
5591
  }
5976
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Popover, { open: isOpen, onOpenChange: handleOnOpenChange, children: [
5977
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5592
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Popover, { open: isOpen, onOpenChange: handleOnOpenChange, children: [
5593
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5978
5594
  LinkButton,
5979
5595
  {
5980
5596
  disabled: !canSet,
@@ -5985,10 +5601,10 @@ var LinkPopover = (0, import_react64.forwardRef)(
5985
5601
  onClick: handleClick,
5986
5602
  ...buttonProps,
5987
5603
  ref,
5988
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Icon, { className: "tiptap-button-icon" })
5604
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Icon, { className: "tiptap-button-icon" })
5989
5605
  }
5990
5606
  ) }),
5991
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(PopoverContent, { children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
5607
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(PopoverContent, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
5992
5608
  LinkMain,
5993
5609
  {
5994
5610
  url,
@@ -6137,12 +5753,12 @@ function useLinkPopover(config) {
6137
5753
 
6138
5754
  // src/components/tiptap-ui/mark-button/mark-button.tsx
6139
5755
  var import_react66 = require("react");
6140
- var import_jsx_runtime59 = require("react/jsx-runtime");
5756
+ var import_jsx_runtime58 = require("react/jsx-runtime");
6141
5757
  function MarkShortcutBadge({
6142
5758
  type,
6143
5759
  shortcutKeys = MARK_SHORTCUT_KEYS[type]
6144
5760
  }) {
6145
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
5761
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
6146
5762
  }
6147
5763
  var MarkButton = (0, import_react66.forwardRef)(
6148
5764
  ({
@@ -6182,7 +5798,7 @@ var MarkButton = (0, import_react66.forwardRef)(
6182
5798
  if (!isVisible) {
6183
5799
  return null;
6184
5800
  }
6185
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
5801
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
6186
5802
  Button2,
6187
5803
  {
6188
5804
  type: "button",
@@ -6198,10 +5814,10 @@ var MarkButton = (0, import_react66.forwardRef)(
6198
5814
  onClick: handleClick,
6199
5815
  ...buttonProps,
6200
5816
  ref,
6201
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_jsx_runtime59.Fragment, { children: [
6202
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Icon, { className: "tiptap-button-icon" }),
6203
- text && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "tiptap-button-text", children: text }),
6204
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(MarkShortcutBadge, { type, shortcutKeys })
5817
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
5818
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Icon, { className: "tiptap-button-icon" }),
5819
+ text && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "tiptap-button-text", children: text }),
5820
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(MarkShortcutBadge, { type, shortcutKeys })
6205
5821
  ] })
6206
5822
  }
6207
5823
  );
@@ -6214,9 +5830,9 @@ var import_react74 = require("react");
6214
5830
 
6215
5831
  // src/components/tiptap-icons/bold-icon.tsx
6216
5832
  var import_react67 = require("react");
6217
- var import_jsx_runtime60 = require("react/jsx-runtime");
5833
+ var import_jsx_runtime59 = require("react/jsx-runtime");
6218
5834
  var BoldIcon = (0, import_react67.memo)(({ className, ...props }) => {
6219
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5835
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6220
5836
  "svg",
6221
5837
  {
6222
5838
  width: "24",
@@ -6226,7 +5842,7 @@ var BoldIcon = (0, import_react67.memo)(({ className, ...props }) => {
6226
5842
  fill: "currentColor",
6227
5843
  xmlns: "http://www.w3.org/2000/svg",
6228
5844
  ...props,
6229
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
5845
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
6230
5846
  "path",
6231
5847
  {
6232
5848
  fillRule: "evenodd",
@@ -6242,9 +5858,9 @@ BoldIcon.displayName = "BoldIcon";
6242
5858
 
6243
5859
  // src/components/tiptap-icons/code2-icon.tsx
6244
5860
  var import_react68 = require("react");
6245
- var import_jsx_runtime61 = require("react/jsx-runtime");
5861
+ var import_jsx_runtime60 = require("react/jsx-runtime");
6246
5862
  var Code2Icon = (0, import_react68.memo)(({ className, ...props }) => {
6247
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
5863
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
6248
5864
  "svg",
6249
5865
  {
6250
5866
  width: "24",
@@ -6255,21 +5871,21 @@ var Code2Icon = (0, import_react68.memo)(({ className, ...props }) => {
6255
5871
  xmlns: "http://www.w3.org/2000/svg",
6256
5872
  ...props,
6257
5873
  children: [
6258
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5874
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
6259
5875
  "path",
6260
5876
  {
6261
5877
  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",
6262
5878
  fill: "currentColor"
6263
5879
  }
6264
5880
  ),
6265
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5881
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
6266
5882
  "path",
6267
5883
  {
6268
5884
  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",
6269
5885
  fill: "currentColor"
6270
5886
  }
6271
5887
  ),
6272
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
5888
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
6273
5889
  "path",
6274
5890
  {
6275
5891
  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",
@@ -6284,9 +5900,9 @@ Code2Icon.displayName = "Code2Icon";
6284
5900
 
6285
5901
  // src/components/tiptap-icons/italic-icon.tsx
6286
5902
  var import_react69 = require("react");
6287
- var import_jsx_runtime62 = require("react/jsx-runtime");
5903
+ var import_jsx_runtime61 = require("react/jsx-runtime");
6288
5904
  var ItalicIcon = (0, import_react69.memo)(({ className, ...props }) => {
6289
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5905
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6290
5906
  "svg",
6291
5907
  {
6292
5908
  width: "24",
@@ -6296,7 +5912,7 @@ var ItalicIcon = (0, import_react69.memo)(({ className, ...props }) => {
6296
5912
  fill: "currentColor",
6297
5913
  xmlns: "http://www.w3.org/2000/svg",
6298
5914
  ...props,
6299
- children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
5915
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
6300
5916
  "path",
6301
5917
  {
6302
5918
  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",
@@ -6310,9 +5926,9 @@ ItalicIcon.displayName = "ItalicIcon";
6310
5926
 
6311
5927
  // src/components/tiptap-icons/strike-icon.tsx
6312
5928
  var import_react70 = require("react");
6313
- var import_jsx_runtime63 = require("react/jsx-runtime");
5929
+ var import_jsx_runtime62 = require("react/jsx-runtime");
6314
5930
  var StrikeIcon = (0, import_react70.memo)(({ className, ...props }) => {
6315
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
5931
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
6316
5932
  "svg",
6317
5933
  {
6318
5934
  width: "24",
@@ -6323,14 +5939,14 @@ var StrikeIcon = (0, import_react70.memo)(({ className, ...props }) => {
6323
5939
  xmlns: "http://www.w3.org/2000/svg",
6324
5940
  ...props,
6325
5941
  children: [
6326
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
5942
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6327
5943
  "path",
6328
5944
  {
6329
5945
  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",
6330
5946
  fill: "currentColor"
6331
5947
  }
6332
5948
  ),
6333
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
5949
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
6334
5950
  "path",
6335
5951
  {
6336
5952
  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",
@@ -6345,9 +5961,9 @@ StrikeIcon.displayName = "StrikeIcon";
6345
5961
 
6346
5962
  // src/components/tiptap-icons/subscript-icon.tsx
6347
5963
  var import_react71 = require("react");
6348
- var import_jsx_runtime64 = require("react/jsx-runtime");
5964
+ var import_jsx_runtime63 = require("react/jsx-runtime");
6349
5965
  var SubscriptIcon = (0, import_react71.memo)(({ className, ...props }) => {
6350
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
5966
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
6351
5967
  "svg",
6352
5968
  {
6353
5969
  width: "24",
@@ -6358,7 +5974,7 @@ var SubscriptIcon = (0, import_react71.memo)(({ className, ...props }) => {
6358
5974
  xmlns: "http://www.w3.org/2000/svg",
6359
5975
  ...props,
6360
5976
  children: [
6361
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5977
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
6362
5978
  "path",
6363
5979
  {
6364
5980
  fillRule: "evenodd",
@@ -6367,7 +5983,7 @@ var SubscriptIcon = (0, import_react71.memo)(({ className, ...props }) => {
6367
5983
  fill: "currentColor"
6368
5984
  }
6369
5985
  ),
6370
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5986
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
6371
5987
  "path",
6372
5988
  {
6373
5989
  fillRule: "evenodd",
@@ -6376,7 +5992,7 @@ var SubscriptIcon = (0, import_react71.memo)(({ className, ...props }) => {
6376
5992
  fill: "currentColor"
6377
5993
  }
6378
5994
  ),
6379
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
5995
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
6380
5996
  "path",
6381
5997
  {
6382
5998
  fillRule: "evenodd",
@@ -6393,9 +6009,9 @@ SubscriptIcon.displayName = "SubscriptIcon";
6393
6009
 
6394
6010
  // src/components/tiptap-icons/superscript-icon.tsx
6395
6011
  var import_react72 = require("react");
6396
- var import_jsx_runtime65 = require("react/jsx-runtime");
6012
+ var import_jsx_runtime64 = require("react/jsx-runtime");
6397
6013
  var SuperscriptIcon = (0, import_react72.memo)(({ className, ...props }) => {
6398
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
6014
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
6399
6015
  "svg",
6400
6016
  {
6401
6017
  width: "24",
@@ -6406,7 +6022,7 @@ var SuperscriptIcon = (0, import_react72.memo)(({ className, ...props }) => {
6406
6022
  xmlns: "http://www.w3.org/2000/svg",
6407
6023
  ...props,
6408
6024
  children: [
6409
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6025
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6410
6026
  "path",
6411
6027
  {
6412
6028
  fillRule: "evenodd",
@@ -6415,7 +6031,7 @@ var SuperscriptIcon = (0, import_react72.memo)(({ className, ...props }) => {
6415
6031
  fill: "currentColor"
6416
6032
  }
6417
6033
  ),
6418
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6034
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6419
6035
  "path",
6420
6036
  {
6421
6037
  fillRule: "evenodd",
@@ -6424,7 +6040,7 @@ var SuperscriptIcon = (0, import_react72.memo)(({ className, ...props }) => {
6424
6040
  fill: "currentColor"
6425
6041
  }
6426
6042
  ),
6427
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6043
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
6428
6044
  "path",
6429
6045
  {
6430
6046
  fillRule: "evenodd",
@@ -6441,9 +6057,9 @@ SuperscriptIcon.displayName = "SuperscriptIcon";
6441
6057
 
6442
6058
  // src/components/tiptap-icons/underline-icon.tsx
6443
6059
  var import_react73 = require("react");
6444
- var import_jsx_runtime66 = require("react/jsx-runtime");
6060
+ var import_jsx_runtime65 = require("react/jsx-runtime");
6445
6061
  var UnderlineIcon = (0, import_react73.memo)(({ className, ...props }) => {
6446
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
6062
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6447
6063
  "svg",
6448
6064
  {
6449
6065
  width: "24",
@@ -6453,7 +6069,7 @@ var UnderlineIcon = (0, import_react73.memo)(({ className, ...props }) => {
6453
6069
  fill: "currentColor",
6454
6070
  xmlns: "http://www.w3.org/2000/svg",
6455
6071
  ...props,
6456
- children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
6072
+ children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
6457
6073
  "path",
6458
6074
  {
6459
6075
  fillRule: "evenodd",
@@ -6556,12 +6172,12 @@ function useMark(config) {
6556
6172
 
6557
6173
  // src/components/tiptap-ui/text-align-button/text-align-button.tsx
6558
6174
  var import_react75 = require("react");
6559
- var import_jsx_runtime67 = require("react/jsx-runtime");
6175
+ var import_jsx_runtime66 = require("react/jsx-runtime");
6560
6176
  function TextAlignShortcutBadge({
6561
6177
  align,
6562
6178
  shortcutKeys = TEXT_ALIGN_SHORTCUT_KEYS[align]
6563
6179
  }) {
6564
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
6180
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
6565
6181
  }
6566
6182
  var TextAlignButton = (0, import_react75.forwardRef)(
6567
6183
  ({
@@ -6603,7 +6219,7 @@ var TextAlignButton = (0, import_react75.forwardRef)(
6603
6219
  return null;
6604
6220
  }
6605
6221
  const RenderIcon = CustomIcon ?? Icon;
6606
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6222
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
6607
6223
  Button2,
6608
6224
  {
6609
6225
  type: "button",
@@ -6619,10 +6235,10 @@ var TextAlignButton = (0, import_react75.forwardRef)(
6619
6235
  onClick: handleClick,
6620
6236
  ...buttonProps,
6621
6237
  ref,
6622
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
6623
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(RenderIcon, { className: "tiptap-button-icon" }),
6624
- text && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "tiptap-button-text", children: text }),
6625
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6238
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
6239
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(RenderIcon, { className: "tiptap-button-icon" }),
6240
+ text && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "tiptap-button-text", children: text }),
6241
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
6626
6242
  TextAlignShortcutBadge,
6627
6243
  {
6628
6244
  align,
@@ -6641,9 +6257,9 @@ var import_react80 = require("react");
6641
6257
 
6642
6258
  // src/components/tiptap-icons/align-center-icon.tsx
6643
6259
  var import_react76 = require("react");
6644
- var import_jsx_runtime68 = require("react/jsx-runtime");
6260
+ var import_jsx_runtime67 = require("react/jsx-runtime");
6645
6261
  var AlignCenterIcon = (0, import_react76.memo)(({ className, ...props }) => {
6646
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
6262
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
6647
6263
  "svg",
6648
6264
  {
6649
6265
  width: "24",
@@ -6654,7 +6270,7 @@ var AlignCenterIcon = (0, import_react76.memo)(({ className, ...props }) => {
6654
6270
  xmlns: "http://www.w3.org/2000/svg",
6655
6271
  ...props,
6656
6272
  children: [
6657
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6273
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6658
6274
  "path",
6659
6275
  {
6660
6276
  fillRule: "evenodd",
@@ -6663,7 +6279,7 @@ var AlignCenterIcon = (0, import_react76.memo)(({ className, ...props }) => {
6663
6279
  fill: "currentColor"
6664
6280
  }
6665
6281
  ),
6666
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6282
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6667
6283
  "path",
6668
6284
  {
6669
6285
  fillRule: "evenodd",
@@ -6672,7 +6288,7 @@ var AlignCenterIcon = (0, import_react76.memo)(({ className, ...props }) => {
6672
6288
  fill: "currentColor"
6673
6289
  }
6674
6290
  ),
6675
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6291
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
6676
6292
  "path",
6677
6293
  {
6678
6294
  fillRule: "evenodd",
@@ -6689,9 +6305,9 @@ AlignCenterIcon.displayName = "AlignCenterIcon";
6689
6305
 
6690
6306
  // src/components/tiptap-icons/align-justify-icon.tsx
6691
6307
  var import_react77 = require("react");
6692
- var import_jsx_runtime69 = require("react/jsx-runtime");
6308
+ var import_jsx_runtime68 = require("react/jsx-runtime");
6693
6309
  var AlignJustifyIcon = (0, import_react77.memo)(({ className, ...props }) => {
6694
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
6310
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
6695
6311
  "svg",
6696
6312
  {
6697
6313
  width: "24",
@@ -6702,7 +6318,7 @@ var AlignJustifyIcon = (0, import_react77.memo)(({ className, ...props }) => {
6702
6318
  xmlns: "http://www.w3.org/2000/svg",
6703
6319
  ...props,
6704
6320
  children: [
6705
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6321
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6706
6322
  "path",
6707
6323
  {
6708
6324
  fillRule: "evenodd",
@@ -6711,7 +6327,7 @@ var AlignJustifyIcon = (0, import_react77.memo)(({ className, ...props }) => {
6711
6327
  fill: "currentColor"
6712
6328
  }
6713
6329
  ),
6714
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6330
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6715
6331
  "path",
6716
6332
  {
6717
6333
  fillRule: "evenodd",
@@ -6720,7 +6336,7 @@ var AlignJustifyIcon = (0, import_react77.memo)(({ className, ...props }) => {
6720
6336
  fill: "currentColor"
6721
6337
  }
6722
6338
  ),
6723
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6339
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
6724
6340
  "path",
6725
6341
  {
6726
6342
  fillRule: "evenodd",
@@ -6737,9 +6353,9 @@ AlignJustifyIcon.displayName = "AlignJustifyIcon";
6737
6353
 
6738
6354
  // src/components/tiptap-icons/align-left-icon.tsx
6739
6355
  var import_react78 = require("react");
6740
- var import_jsx_runtime70 = require("react/jsx-runtime");
6356
+ var import_jsx_runtime69 = require("react/jsx-runtime");
6741
6357
  var AlignLeftIcon = (0, import_react78.memo)(({ className, ...props }) => {
6742
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
6358
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
6743
6359
  "svg",
6744
6360
  {
6745
6361
  width: "24",
@@ -6750,7 +6366,7 @@ var AlignLeftIcon = (0, import_react78.memo)(({ className, ...props }) => {
6750
6366
  xmlns: "http://www.w3.org/2000/svg",
6751
6367
  ...props,
6752
6368
  children: [
6753
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6369
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6754
6370
  "path",
6755
6371
  {
6756
6372
  fillRule: "evenodd",
@@ -6759,7 +6375,7 @@ var AlignLeftIcon = (0, import_react78.memo)(({ className, ...props }) => {
6759
6375
  fill: "currentColor"
6760
6376
  }
6761
6377
  ),
6762
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6378
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6763
6379
  "path",
6764
6380
  {
6765
6381
  fillRule: "evenodd",
@@ -6768,7 +6384,7 @@ var AlignLeftIcon = (0, import_react78.memo)(({ className, ...props }) => {
6768
6384
  fill: "currentColor"
6769
6385
  }
6770
6386
  ),
6771
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6387
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
6772
6388
  "path",
6773
6389
  {
6774
6390
  fillRule: "evenodd",
@@ -6785,9 +6401,9 @@ AlignLeftIcon.displayName = "AlignLeftIcon";
6785
6401
 
6786
6402
  // src/components/tiptap-icons/align-right-icon.tsx
6787
6403
  var import_react79 = require("react");
6788
- var import_jsx_runtime71 = require("react/jsx-runtime");
6404
+ var import_jsx_runtime70 = require("react/jsx-runtime");
6789
6405
  var AlignRightIcon = (0, import_react79.memo)(({ className, ...props }) => {
6790
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
6406
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
6791
6407
  "svg",
6792
6408
  {
6793
6409
  width: "24",
@@ -6798,7 +6414,7 @@ var AlignRightIcon = (0, import_react79.memo)(({ className, ...props }) => {
6798
6414
  xmlns: "http://www.w3.org/2000/svg",
6799
6415
  ...props,
6800
6416
  children: [
6801
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6417
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6802
6418
  "path",
6803
6419
  {
6804
6420
  fillRule: "evenodd",
@@ -6807,7 +6423,7 @@ var AlignRightIcon = (0, import_react79.memo)(({ className, ...props }) => {
6807
6423
  fill: "currentColor"
6808
6424
  }
6809
6425
  ),
6810
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6426
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6811
6427
  "path",
6812
6428
  {
6813
6429
  fillRule: "evenodd",
@@ -6816,7 +6432,7 @@ var AlignRightIcon = (0, import_react79.memo)(({ className, ...props }) => {
6816
6432
  fill: "currentColor"
6817
6433
  }
6818
6434
  ),
6819
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6435
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
6820
6436
  "path",
6821
6437
  {
6822
6438
  fillRule: "evenodd",
@@ -6924,12 +6540,12 @@ function useTextAlign(config) {
6924
6540
 
6925
6541
  // src/components/tiptap-ui/undo-redo-button/undo-redo-button.tsx
6926
6542
  var import_react81 = require("react");
6927
- var import_jsx_runtime72 = require("react/jsx-runtime");
6543
+ var import_jsx_runtime71 = require("react/jsx-runtime");
6928
6544
  function HistoryShortcutBadge({
6929
6545
  action,
6930
6546
  shortcutKeys = UNDO_REDO_SHORTCUT_KEYS[action]
6931
6547
  }) {
6932
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
6548
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Badge, { children: parseShortcutKeys({ shortcutKeys }) });
6933
6549
  }
6934
6550
  var UndoRedoButton = (0, import_react81.forwardRef)(
6935
6551
  ({
@@ -6961,7 +6577,7 @@ var UndoRedoButton = (0, import_react81.forwardRef)(
6961
6577
  if (!isVisible) {
6962
6578
  return null;
6963
6579
  }
6964
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
6580
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6965
6581
  Button2,
6966
6582
  {
6967
6583
  type: "button",
@@ -6975,10 +6591,10 @@ var UndoRedoButton = (0, import_react81.forwardRef)(
6975
6591
  onClick: handleClick,
6976
6592
  ...buttonProps,
6977
6593
  ref,
6978
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
6979
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Icon, { className: "tiptap-button-icon" }),
6980
- text && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("span", { className: "tiptap-button-text", children: text }),
6981
- showShortcut && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
6594
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_jsx_runtime71.Fragment, { children: [
6595
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Icon, { className: "tiptap-button-icon" }),
6596
+ text && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "tiptap-button-text", children: text }),
6597
+ showShortcut && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6982
6598
  HistoryShortcutBadge,
6983
6599
  {
6984
6600
  action,
@@ -6997,9 +6613,9 @@ var import_react84 = require("react");
6997
6613
 
6998
6614
  // src/components/tiptap-icons/redo2-icon.tsx
6999
6615
  var import_react82 = require("react");
7000
- var import_jsx_runtime73 = require("react/jsx-runtime");
6616
+ var import_jsx_runtime72 = require("react/jsx-runtime");
7001
6617
  var Redo2Icon = (0, import_react82.memo)(({ className, ...props }) => {
7002
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6618
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
7003
6619
  "svg",
7004
6620
  {
7005
6621
  width: "24",
@@ -7009,7 +6625,7 @@ var Redo2Icon = (0, import_react82.memo)(({ className, ...props }) => {
7009
6625
  fill: "currentColor",
7010
6626
  xmlns: "http://www.w3.org/2000/svg",
7011
6627
  ...props,
7012
- children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
6628
+ children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
7013
6629
  "path",
7014
6630
  {
7015
6631
  fillRule: "evenodd",
@@ -7025,9 +6641,9 @@ Redo2Icon.displayName = "Redo2Icon";
7025
6641
 
7026
6642
  // src/components/tiptap-icons/undo2-icon.tsx
7027
6643
  var import_react83 = require("react");
7028
- var import_jsx_runtime74 = require("react/jsx-runtime");
6644
+ var import_jsx_runtime73 = require("react/jsx-runtime");
7029
6645
  var Undo2Icon = (0, import_react83.memo)(({ className, ...props }) => {
7030
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6646
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
7031
6647
  "svg",
7032
6648
  {
7033
6649
  width: "24",
@@ -7037,7 +6653,7 @@ var Undo2Icon = (0, import_react83.memo)(({ className, ...props }) => {
7037
6653
  fill: "currentColor",
7038
6654
  xmlns: "http://www.w3.org/2000/svg",
7039
6655
  ...props,
7040
- children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
6656
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
7041
6657
  "path",
7042
6658
  {
7043
6659
  fillRule: "evenodd",
@@ -7313,12 +6929,12 @@ var import_lucide_react9 = require("lucide-react");
7313
6929
  // src/components/ui/command.tsx
7314
6930
  var import_cmdk = require("cmdk");
7315
6931
  var import_lucide_react8 = require("lucide-react");
7316
- var import_jsx_runtime75 = require("react/jsx-runtime");
6932
+ var import_jsx_runtime74 = require("react/jsx-runtime");
7317
6933
  function Command({
7318
6934
  className,
7319
6935
  ...props
7320
6936
  }) {
7321
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
6937
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7322
6938
  import_cmdk.Command,
7323
6939
  {
7324
6940
  "data-slot": "command",
@@ -7334,14 +6950,14 @@ function CommandInput({
7334
6950
  className,
7335
6951
  ...props
7336
6952
  }) {
7337
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
6953
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
7338
6954
  "div",
7339
6955
  {
7340
6956
  "data-slot": "command-input-wrapper",
7341
6957
  className: "flex h-9 items-center gap-2 border-b px-3",
7342
6958
  children: [
7343
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_lucide_react8.SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
7344
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
6959
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_lucide_react8.SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
6960
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7345
6961
  import_cmdk.Command.Input,
7346
6962
  {
7347
6963
  "data-slot": "command-input",
@@ -7360,7 +6976,7 @@ function CommandList({
7360
6976
  className,
7361
6977
  ...props
7362
6978
  }) {
7363
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
6979
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7364
6980
  import_cmdk.Command.List,
7365
6981
  {
7366
6982
  "data-slot": "command-list",
@@ -7375,7 +6991,7 @@ function CommandList({
7375
6991
  function CommandEmpty({
7376
6992
  ...props
7377
6993
  }) {
7378
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
6994
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7379
6995
  import_cmdk.Command.Empty,
7380
6996
  {
7381
6997
  "data-slot": "command-empty",
@@ -7388,7 +7004,7 @@ function CommandGroup({
7388
7004
  className,
7389
7005
  ...props
7390
7006
  }) {
7391
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7007
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7392
7008
  import_cmdk.Command.Group,
7393
7009
  {
7394
7010
  "data-slot": "command-group",
@@ -7404,7 +7020,7 @@ function CommandItem({
7404
7020
  className,
7405
7021
  ...props
7406
7022
  }) {
7407
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7023
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
7408
7024
  import_cmdk.Command.Item,
7409
7025
  {
7410
7026
  "data-slot": "command-item",
@@ -7419,16 +7035,16 @@ function CommandItem({
7419
7035
 
7420
7036
  // src/components/ui/popover.tsx
7421
7037
  var PopoverPrimitive2 = __toESM(require("@radix-ui/react-popover"));
7422
- var import_jsx_runtime76 = require("react/jsx-runtime");
7038
+ var import_jsx_runtime75 = require("react/jsx-runtime");
7423
7039
  function Popover2({
7424
7040
  ...props
7425
7041
  }) {
7426
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(PopoverPrimitive2.Root, { "data-slot": "popover", ...props });
7042
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(PopoverPrimitive2.Root, { "data-slot": "popover", ...props });
7427
7043
  }
7428
7044
  function PopoverTrigger2({
7429
7045
  ...props
7430
7046
  }) {
7431
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(PopoverPrimitive2.Trigger, { "data-slot": "popover-trigger", ...props });
7047
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(PopoverPrimitive2.Trigger, { "data-slot": "popover-trigger", ...props });
7432
7048
  }
7433
7049
  function PopoverContent2({
7434
7050
  className,
@@ -7436,7 +7052,7 @@ function PopoverContent2({
7436
7052
  sideOffset = 4,
7437
7053
  ...props
7438
7054
  }) {
7439
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(PopoverPrimitive2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
7055
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(PopoverPrimitive2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
7440
7056
  PopoverPrimitive2.Content,
7441
7057
  {
7442
7058
  "data-slot": "popover-content",
@@ -7452,7 +7068,7 @@ function PopoverContent2({
7452
7068
  }
7453
7069
 
7454
7070
  // src/components/tiptap-ui/font-family-dropdown/font-family-dropdown.tsx
7455
- var import_jsx_runtime77 = require("react/jsx-runtime");
7071
+ var import_jsx_runtime76 = require("react/jsx-runtime");
7456
7072
  function FontFamilyDropdown() {
7457
7073
  const { editor } = (0, import_react85.useCurrentEditor)();
7458
7074
  const [open, setOpen] = (0, import_react86.useState)(false);
@@ -7471,26 +7087,26 @@ function FontFamilyDropdown() {
7471
7087
  const currentFont = getCurrentFontLabel();
7472
7088
  const applyFont = (family) => {
7473
7089
  if (!editor) return;
7474
- const { from, to } = editor.state.selection;
7475
- if (from === to) {
7476
- editor.chain().focus().setFontFamily(family).run();
7477
- return;
7478
- }
7479
- editor.chain().focus().setMark("textStyle", { fontFamily: family }).run();
7090
+ setTimeout(() => {
7091
+ const success = editor.chain().focus().setFontFamily(family).run();
7092
+ if (!success) {
7093
+ console.warn("Font not applied:", family);
7094
+ }
7095
+ }, 0);
7480
7096
  };
7481
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(Popover2, { open, onOpenChange: setOpen, children: [
7482
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
7097
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Popover2, { open, onOpenChange: setOpen, children: [
7098
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
7483
7099
  Button,
7484
7100
  {
7485
7101
  variant: "outlineFontFamily",
7486
7102
  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",
7487
7103
  children: [
7488
7104
  currentFont,
7489
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react9.ChevronDown, { className: "w-4 h-4" })
7105
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react9.ChevronDown, { className: "w-4 h-4" })
7490
7106
  ]
7491
7107
  }
7492
7108
  ) }),
7493
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
7109
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
7494
7110
  PopoverContent2,
7495
7111
  {
7496
7112
  className: "w-[300px] p-0",
@@ -7501,25 +7117,27 @@ function FontFamilyDropdown() {
7501
7117
  e.preventDefault();
7502
7118
  }
7503
7119
  },
7504
- children: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(Command, { children: [
7505
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "cmd-input-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(CommandInput, { placeholder: "Search font..." }) }),
7506
- /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(CommandList, { className: "max-h-[220px]", children: [
7507
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(CommandEmpty, { children: "No font found." }),
7508
- /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(CommandGroup, { children: [
7509
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
7120
+ children: /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Command, { children: [
7121
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "cmd-input-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(CommandInput, { placeholder: "Search font..." }) }),
7122
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(CommandList, { className: "max-h-[220px]", children: [
7123
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(CommandEmpty, { children: "No font found." }),
7124
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(CommandGroup, { children: [
7125
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
7510
7126
  CommandItem,
7511
7127
  {
7512
7128
  onSelect: () => {
7513
7129
  if (!editor) return;
7514
- editor.chain().focus().unsetFontFamily().run();
7515
- setOpen(false);
7130
+ setTimeout(() => {
7131
+ editor.chain().focus().unsetFontFamily().run();
7132
+ setOpen(false);
7133
+ }, 0);
7516
7134
  },
7517
7135
  className: "font-sans",
7518
7136
  children: "Default"
7519
7137
  },
7520
7138
  "default"
7521
7139
  ),
7522
- FONT_OPTIONS.map(({ label, cssFontFamily }) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
7140
+ FONT_OPTIONS.map(({ label, cssFontFamily }) => /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
7523
7141
  CommandItem,
7524
7142
  {
7525
7143
  onSelect: () => {
@@ -7547,12 +7165,12 @@ var import_lodash = require("lodash");
7547
7165
 
7548
7166
  // src/components/ui/label.tsx
7549
7167
  var LabelPrimitive = __toESM(require("@radix-ui/react-label"));
7550
- var import_jsx_runtime78 = require("react/jsx-runtime");
7168
+ var import_jsx_runtime77 = require("react/jsx-runtime");
7551
7169
  function Label({
7552
7170
  className,
7553
7171
  ...props
7554
7172
  }) {
7555
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7173
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
7556
7174
  LabelPrimitive.Root,
7557
7175
  {
7558
7176
  "data-slot": "label",
@@ -7567,7 +7185,7 @@ function Label({
7567
7185
 
7568
7186
  // src/components/tiptap-ui/color-picker/color-picker.tsx
7569
7187
  var import_react89 = __toESM(require("react"));
7570
- var import_jsx_runtime79 = require("react/jsx-runtime");
7188
+ var import_jsx_runtime78 = require("react/jsx-runtime");
7571
7189
  function ColorPicker({ type = "text" }) {
7572
7190
  const { editor } = (0, import_react88.useCurrentEditor)();
7573
7191
  const [open, setOpen] = (0, import_react87.useState)(false);
@@ -7617,15 +7235,15 @@ function ColorPicker({ type = "text" }) {
7617
7235
  []
7618
7236
  );
7619
7237
  if (!editor) return null;
7620
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(Popover2, { open, onOpenChange: (v) => setOpen(v), children: [
7621
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
7238
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(Popover2, { open, onOpenChange: (v) => setOpen(v), children: [
7239
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(PopoverTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
7622
7240
  Button,
7623
7241
  {
7624
7242
  variant: "outlineFontFamily",
7625
7243
  className: "flex items-center h-7 rounded-sm px-2 border-[#a3a3a8] text-[#a3a3a8] hover:text-white",
7626
7244
  children: [
7627
7245
  "Color",
7628
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7246
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7629
7247
  "span",
7630
7248
  {
7631
7249
  className: "w-3 h-3 ml-2 rounded-sm border border-black/20",
@@ -7635,16 +7253,16 @@ function ColorPicker({ type = "text" }) {
7635
7253
  ]
7636
7254
  }
7637
7255
  ) }),
7638
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
7256
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
7639
7257
  PopoverContent2,
7640
7258
  {
7641
7259
  className: "w-[260px] p-3",
7642
7260
  align: "start",
7643
7261
  onClick: (e) => e.stopPropagation(),
7644
7262
  children: [
7645
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Label, { className: "text-xs mb-2", children: type === "text" ? "Text Color" : "Highlight Color" }),
7646
- !showCustom && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex flex-col gap-3", children: [
7647
- /* @__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)(
7263
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Label, { className: "text-xs mb-2", children: type === "text" ? "Text Color" : "Highlight Color" }),
7264
+ !showCustom && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex flex-col gap-3", children: [
7265
+ /* @__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)(
7648
7266
  "div",
7649
7267
  {
7650
7268
  onClick: () => {
@@ -7656,7 +7274,7 @@ function ColorPicker({ type = "text" }) {
7656
7274
  },
7657
7275
  c
7658
7276
  )) }),
7659
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7277
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7660
7278
  Button,
7661
7279
  {
7662
7280
  size: "sm",
@@ -7670,7 +7288,7 @@ function ColorPicker({ type = "text" }) {
7670
7288
  )
7671
7289
  ] }),
7672
7290
  showCustom && // stop mouse/pointer events from bubbling so popover doesn't treat them as outside clicks
7673
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
7291
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
7674
7292
  "div",
7675
7293
  {
7676
7294
  className: "flex flex-col gap-3",
@@ -7680,7 +7298,7 @@ function ColorPicker({ type = "text" }) {
7680
7298
  onPointerUp: (e) => e.stopPropagation(),
7681
7299
  onClick: (e) => e.stopPropagation(),
7682
7300
  children: [
7683
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7301
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7684
7302
  import_react_colorful.HexColorPicker,
7685
7303
  {
7686
7304
  color: tempHex,
@@ -7691,8 +7309,8 @@ function ColorPicker({ type = "text" }) {
7691
7309
  onMouseUp: (e) => e.stopPropagation()
7692
7310
  }
7693
7311
  ),
7694
- /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex gap-2 items-center", children: [
7695
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7312
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex gap-2 items-center", children: [
7313
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7696
7314
  "input",
7697
7315
  {
7698
7316
  value: tempHex,
@@ -7703,7 +7321,7 @@ function ColorPicker({ type = "text" }) {
7703
7321
  className: "w-full px-2 py-1 border rounded text-sm"
7704
7322
  }
7705
7323
  ),
7706
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7324
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7707
7325
  Button,
7708
7326
  {
7709
7327
  size: "sm",
@@ -7716,7 +7334,7 @@ function ColorPicker({ type = "text" }) {
7716
7334
  }
7717
7335
  )
7718
7336
  ] }),
7719
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: "flex justify-end mt-2", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
7337
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "flex justify-end mt-2", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7720
7338
  Button,
7721
7339
  {
7722
7340
  size: "sm",
@@ -7744,7 +7362,7 @@ function ColorPicker({ type = "text" }) {
7744
7362
  var import_react90 = require("react");
7745
7363
  var import_react91 = require("@tiptap/react");
7746
7364
  var import_fi = require("react-icons/fi");
7747
- var import_jsx_runtime80 = require("react/jsx-runtime");
7365
+ var import_jsx_runtime79 = require("react/jsx-runtime");
7748
7366
  function TableDropdownMenu() {
7749
7367
  const { editor } = (0, import_react91.useCurrentEditor)();
7750
7368
  const [open, setOpen] = (0, import_react90.useState)(false);
@@ -7786,21 +7404,21 @@ function TableDropdownMenu() {
7786
7404
  }
7787
7405
  setOpen(false);
7788
7406
  };
7789
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(Popover2, { open, onOpenChange: setOpen, children: [
7790
- /* @__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" }) }) }),
7791
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(PopoverContent2, { className: "w-[220px] p-0", align: "start", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(Command, { children: [
7792
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandInput, { placeholder: "Search table actions..." }),
7793
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandList, { className: "max-h-[260px]", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(CommandGroup, { children: [
7794
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("insert"), children: "Insert Table" }),
7795
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("addColBefore"), children: "Add Column Before" }),
7796
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("addColAfter"), children: "Add Column After" }),
7797
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("delCol"), children: "Delete Column" }),
7798
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("addRowBefore"), children: "Add Row Before" }),
7799
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("addRowAfter"), children: "Add Row After" }),
7800
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("delRow"), children: "Delete Row" }),
7801
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("merge"), children: "Merge Cells" }),
7802
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("split"), children: "Split Cells" }),
7803
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CommandItem, { onSelect: () => handleAction("deleteTable"), children: "Delete Table" })
7407
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(Popover2, { open, onOpenChange: setOpen, children: [
7408
+ /* @__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" }) }) }),
7409
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(PopoverContent2, { className: "w-[220px] p-0", align: "start", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(Command, { children: [
7410
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandInput, { placeholder: "Search table actions..." }),
7411
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandList, { className: "max-h-[260px]", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(CommandGroup, { children: [
7412
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("insert"), children: "Insert Table" }),
7413
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("addColBefore"), children: "Add Column Before" }),
7414
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("addColAfter"), children: "Add Column After" }),
7415
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("delCol"), children: "Delete Column" }),
7416
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("addRowBefore"), children: "Add Row Before" }),
7417
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("addRowAfter"), children: "Add Row After" }),
7418
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("delRow"), children: "Delete Row" }),
7419
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("merge"), children: "Merge Cells" }),
7420
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("split"), children: "Split Cells" }),
7421
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CommandItem, { onSelect: () => handleAction("deleteTable"), children: "Delete Table" })
7804
7422
  ] }) })
7805
7423
  ] }) })
7806
7424
  ] });
@@ -7808,9 +7426,9 @@ function TableDropdownMenu() {
7808
7426
 
7809
7427
  // src/components/tiptap-icons/arrow-left-icon.tsx
7810
7428
  var import_react92 = require("react");
7811
- var import_jsx_runtime81 = require("react/jsx-runtime");
7429
+ var import_jsx_runtime80 = require("react/jsx-runtime");
7812
7430
  var ArrowLeftIcon = (0, import_react92.memo)(({ className, ...props }) => {
7813
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
7431
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
7814
7432
  "svg",
7815
7433
  {
7816
7434
  width: "24",
@@ -7820,7 +7438,7 @@ var ArrowLeftIcon = (0, import_react92.memo)(({ className, ...props }) => {
7820
7438
  fill: "currentColor",
7821
7439
  xmlns: "http://www.w3.org/2000/svg",
7822
7440
  ...props,
7823
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
7441
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
7824
7442
  "path",
7825
7443
  {
7826
7444
  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",
@@ -8046,62 +7664,62 @@ function useCursorVisibility({
8046
7664
  }
8047
7665
 
8048
7666
  // src/components/tiptap-templates/simple/simple-editor.tsx
8049
- var import_jsx_runtime82 = require("react/jsx-runtime");
7667
+ var import_jsx_runtime81 = require("react/jsx-runtime");
8050
7668
  var MainToolbarContent = ({
8051
7669
  onHighlighterClick,
8052
7670
  onLinkClick,
8053
7671
  isMobile
8054
7672
  }) => {
8055
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_jsx_runtime82.Fragment, { children: [
8056
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Spacer, {}),
8057
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(FontFamilyDropdown, {}),
8058
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ColorPicker, { type: "text" }),
8059
- /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(ToolbarGroup, { children: [
8060
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(MarkButton, { type: "bold" }),
8061
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(MarkButton, { type: "italic" }),
8062
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(MarkButton, { type: "strike" }),
8063
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(MarkButton, { type: "code" }),
8064
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(MarkButton, { type: "underline" }),
8065
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(UndoRedoButton, { action: "undo" }),
8066
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(UndoRedoButton, { action: "redo" })
7673
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_jsx_runtime81.Fragment, { children: [
7674
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Spacer, {}),
7675
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(FontFamilyDropdown, {}),
7676
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ColorPicker, { type: "text" }),
7677
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(ToolbarGroup, { children: [
7678
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(MarkButton, { type: "bold" }),
7679
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(MarkButton, { type: "italic" }),
7680
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(MarkButton, { type: "strike" }),
7681
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(MarkButton, { type: "code" }),
7682
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(MarkButton, { type: "underline" }),
7683
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(UndoRedoButton, { action: "undo" }),
7684
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(UndoRedoButton, { action: "redo" })
8067
7685
  ] }),
8068
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarSeparator, {}),
8069
- /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(ToolbarGroup, { children: [
8070
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TextAlignButton, { align: "left" }),
8071
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TextAlignButton, { align: "center" }),
8072
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TextAlignButton, { align: "right" }),
8073
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TextAlignButton, { align: "justify" })
7686
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarSeparator, {}),
7687
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(ToolbarGroup, { children: [
7688
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(TextAlignButton, { align: "left" }),
7689
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(TextAlignButton, { align: "center" }),
7690
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(TextAlignButton, { align: "right" }),
7691
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(TextAlignButton, { align: "justify" })
8074
7692
  ] }),
8075
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarSeparator, {}),
8076
- /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(ToolbarGroup, { children: [
8077
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(HeadingDropdownMenu, { levels: [1, 2, 3, 4], portal: isMobile }),
8078
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
7693
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarSeparator, {}),
7694
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(ToolbarGroup, { children: [
7695
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(HeadingDropdownMenu, { levels: [1, 2, 3, 4], portal: isMobile }),
7696
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8079
7697
  ListDropdownMenu,
8080
7698
  {
8081
7699
  types: ["bulletList", "orderedList", "taskList"],
8082
7700
  portal: isMobile
8083
7701
  }
8084
7702
  ),
8085
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(BlockquoteButton, {})
7703
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(BlockquoteButton, {})
8086
7704
  ] }),
8087
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TableDropdownMenu, {}) }),
8088
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarGroup, {}),
8089
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarSeparator, {}),
8090
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ImageUploadButton, { text: "Add" }) }),
8091
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Spacer, {}),
8092
- isMobile && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarSeparator, {})
7705
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(TableDropdownMenu, {}) }),
7706
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarGroup, {}),
7707
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarSeparator, {}),
7708
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ImageUploadButton, { text: "Add" }) }),
7709
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Spacer, {}),
7710
+ isMobile && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarSeparator, {})
8093
7711
  ] });
8094
7712
  };
8095
7713
  var MobileToolbarContent = ({
8096
7714
  type,
8097
7715
  onBack
8098
- }) => /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_jsx_runtime82.Fragment, { children: [
8099
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Button2, { "data-style": "ghost", onClick: onBack, children: [
8100
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ArrowLeftIcon, { className: "tiptap-button-icon" }),
8101
- type === "highlighter" ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(HighlighterIcon, { className: "tiptap-button-icon" }) : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(LinkIcon, { className: "tiptap-button-icon" })
7716
+ }) => /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_jsx_runtime81.Fragment, { children: [
7717
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Button2, { "data-style": "ghost", onClick: onBack, children: [
7718
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ArrowLeftIcon, { className: "tiptap-button-icon" }),
7719
+ type === "highlighter" ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(HighlighterIcon, { className: "tiptap-button-icon" }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(LinkIcon, { className: "tiptap-button-icon" })
8102
7720
  ] }) }),
8103
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ToolbarSeparator, {}),
8104
- type === "highlighter" ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(ColorHighlightPopoverContent, {}) : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(LinkContent, {})
7721
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ToolbarSeparator, {}),
7722
+ type === "highlighter" ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ColorHighlightPopoverContent, {}) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(LinkContent, {})
8105
7723
  ] });
8106
7724
  function SimpleEditor() {
8107
7725
  const { setEditorContent, debouncedSave } = useEditorBridge();
@@ -8111,6 +7729,14 @@ function SimpleEditor() {
8111
7729
  "main"
8112
7730
  );
8113
7731
  const toolbarRef = (0, import_react98.useRef)(null);
7732
+ const CustomBlockquote = import_extension_blockquote.default.extend({
7733
+ addOptions() {
7734
+ return {
7735
+ ...this.parent?.(),
7736
+ HTMLAttributes: {}
7737
+ };
7738
+ }
7739
+ });
8114
7740
  const editor = (0, import_react99.useEditor)({
8115
7741
  immediatelyRender: false,
8116
7742
  editorProps: {
@@ -8125,6 +7751,14 @@ function SimpleEditor() {
8125
7751
  extensions: [
8126
7752
  import_starter_kit.StarterKit.configure({
8127
7753
  horizontalRule: false,
7754
+ bulletList: {
7755
+ keepMarks: true,
7756
+ keepAttributes: true
7757
+ },
7758
+ orderedList: {
7759
+ keepMarks: true,
7760
+ keepAttributes: true
7761
+ },
8128
7762
  link: {
8129
7763
  openOnClick: false,
8130
7764
  enableClickSelection: true
@@ -8132,25 +7766,10 @@ function SimpleEditor() {
8132
7766
  }),
8133
7767
  HorizontalRule,
8134
7768
  index_default,
8135
- index_default3.configure({
8136
- HTMLAttributes: {
8137
- class: "blockquote-node"
8138
- }
8139
- }),
8140
- index_default4.configure({
8141
- HTMLAttributes: {
8142
- class: "code-block-node"
8143
- }
8144
- }),
8145
- import_extension_list.ListItem.configure({
8146
- HTMLAttributes: {
8147
- class: "list-item-node"
8148
- }
8149
- }),
8150
- import_extension_image.default,
8151
7769
  index_default2,
8152
- index_default5,
7770
+ index_default3,
8153
7771
  import_extensions.Gapcursor,
7772
+ CustomBlockquote,
8154
7773
  import_extension_text_style2.TextStyle,
8155
7774
  FontSizeStepper.configure({ step: 2, min: 8, defaultSize: 16 }),
8156
7775
  import_extension_text_style2.FontFamily.configure({
@@ -8227,8 +7846,8 @@ function SimpleEditor() {
8227
7846
  window.visualViewport?.removeEventListener("scroll", updatePosition);
8228
7847
  };
8229
7848
  }, []);
8230
- 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: [
8231
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
7849
+ 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: [
7850
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8232
7851
  Toolbar,
8233
7852
  {
8234
7853
  ref: toolbarRef,
@@ -8237,14 +7856,14 @@ function SimpleEditor() {
8237
7856
  bottom: `calc(100% - ${height - rect.y}px)`
8238
7857
  } : {}
8239
7858
  },
8240
- children: mobileView === "main" ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
7859
+ children: mobileView === "main" ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8241
7860
  MainToolbarContent,
8242
7861
  {
8243
7862
  onHighlighterClick: () => setMobileView("highlighter"),
8244
7863
  onLinkClick: () => setMobileView("link"),
8245
7864
  isMobile
8246
7865
  }
8247
- ) : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
7866
+ ) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8248
7867
  MobileToolbarContent,
8249
7868
  {
8250
7869
  type: mobileView === "highlighter" ? "highlighter" : "link",
@@ -8253,14 +7872,14 @@ function SimpleEditor() {
8253
7872
  )
8254
7873
  }
8255
7874
  ),
8256
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
7875
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
8257
7876
  import_react99.EditorContent,
8258
7877
  {
8259
7878
  editor,
8260
7879
  role: "presentation",
8261
7880
  autoFocus: true,
8262
7881
  className: "simple-editor-content",
8263
- children: editor && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(BubbleMenuInline, {})
7882
+ children: editor && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(BubbleMenuInline, {})
8264
7883
  }
8265
7884
  )
8266
7885
  ] }) });
@@ -8268,9 +7887,9 @@ function SimpleEditor() {
8268
7887
 
8269
7888
  // src/components/editor/editor.tsx
8270
7889
  var import_clsx2 = __toESM(require("clsx"));
8271
- var import_jsx_runtime83 = require("react/jsx-runtime");
7890
+ var import_jsx_runtime82 = require("react/jsx-runtime");
8272
7891
  function Editor({ onChange, className, style, onTabsChange, initialTabs }) {
8273
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
7892
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
8274
7893
  "div",
8275
7894
  {
8276
7895
  className: (0, import_clsx2.default)(
@@ -8278,7 +7897,7 @@ function Editor({ onChange, className, style, onTabsChange, initialTabs }) {
8278
7897
  className
8279
7898
  ),
8280
7899
  style,
8281
- 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, {}) }) })
7900
+ 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, {}) }) })
8282
7901
  }
8283
7902
  );
8284
7903
  }