rte-builder 2.0.2 → 2.0.4

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
@@ -1708,7 +1708,7 @@ var init_TipTapToolbar = __esm({
1708
1708
  onClick: () => editor.chain().focus().toggleBold().run(),
1709
1709
  active: editor.isActive("bold"),
1710
1710
  title: "Bold (Ctrl+B)",
1711
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("strong", { children: "B" })
1711
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z" }) })
1712
1712
  },
1713
1713
  "bold"
1714
1714
  );
@@ -1719,7 +1719,7 @@ var init_TipTapToolbar = __esm({
1719
1719
  onClick: () => editor.chain().focus().toggleItalic().run(),
1720
1720
  active: editor.isActive("italic"),
1721
1721
  title: "Italic (Ctrl+I)",
1722
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("em", { children: "I" })
1722
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z" }) })
1723
1723
  },
1724
1724
  "italic"
1725
1725
  );
@@ -1730,7 +1730,7 @@ var init_TipTapToolbar = __esm({
1730
1730
  onClick: () => editor.chain().focus().toggleUnderline().run(),
1731
1731
  active: editor.isActive("underline"),
1732
1732
  title: "Underline (Ctrl+U)",
1733
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("u", { children: "U" })
1733
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z" }) })
1734
1734
  },
1735
1735
  "underline"
1736
1736
  );
@@ -1741,7 +1741,7 @@ var init_TipTapToolbar = __esm({
1741
1741
  onClick: () => editor.chain().focus().toggleStrike().run(),
1742
1742
  active: editor.isActive("strike"),
1743
1743
  title: "Strikethrough",
1744
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("s", { children: "S" })
1744
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M10 19h4v-3h-4v3zM5 4v3h5v3h4V7h5V4H5zM3 14h18v-2H3v2z" }) })
1745
1745
  },
1746
1746
  "strike"
1747
1747
  );
@@ -1752,7 +1752,23 @@ var init_TipTapToolbar = __esm({
1752
1752
  onClick: () => editor.chain().focus().toggleCode().run(),
1753
1753
  active: editor.isActive("code"),
1754
1754
  title: "Inline Code",
1755
- children: "</>"
1755
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
1756
+ "svg",
1757
+ {
1758
+ width: "18",
1759
+ height: "18",
1760
+ viewBox: "0 0 24 24",
1761
+ fill: "none",
1762
+ stroke: "currentColor",
1763
+ strokeWidth: "2",
1764
+ strokeLinecap: "round",
1765
+ strokeLinejoin: "round",
1766
+ children: [
1767
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("polyline", { points: "16 18 22 12 16 6" }),
1768
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("polyline", { points: "8 6 2 12 8 18" })
1769
+ ]
1770
+ }
1771
+ )
1756
1772
  },
1757
1773
  "code"
1758
1774
  );
@@ -1763,35 +1779,46 @@ var init_TipTapToolbar = __esm({
1763
1779
  onClick: () => editor.chain().focus().toggleCodeBlock().run(),
1764
1780
  active: editor.isActive("codeBlock"),
1765
1781
  title: "Code Block",
1766
- children: "{ }"
1782
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
1783
+ "svg",
1784
+ {
1785
+ width: "18",
1786
+ height: "18",
1787
+ viewBox: "0 0 24 24",
1788
+ fill: "none",
1789
+ stroke: "currentColor",
1790
+ strokeWidth: "2",
1791
+ strokeLinecap: "round",
1792
+ strokeLinejoin: "round",
1793
+ children: [
1794
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", ry: "2" }),
1795
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("polyline", { points: "9 8 5 12 9 16" }),
1796
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("polyline", { points: "15 8 19 12 15 16" })
1797
+ ]
1798
+ }
1799
+ )
1767
1800
  },
1768
1801
  "codeBlock"
1769
1802
  );
1770
1803
  case "subscript":
1771
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
1804
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1772
1805
  ToolbarButton3,
1773
1806
  {
1774
1807
  onClick: () => editor.chain().focus().toggleSubscript().run(),
1775
1808
  active: editor.isActive("subscript"),
1776
1809
  title: "Subscript",
1777
- children: [
1778
- "X",
1779
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("sub", { children: "2" })
1780
- ]
1810
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M22 18h-2v1h3v1h-4v-2.5a.5.5 0 01.5-.5h2a.5.5 0 00.5-.5v-.5H18v-1h4v2.5a.5.5 0 01-.5.5h-2a.5.5 0 00-.5.5v.5zM5.88 5h2.66l3.4 5.42h.12L15.5 5h2.62l-4.87 7.38L18.22 20h-2.66l-3.62-5.63h-.12l-3.62 5.63H5.56l4.92-7.62L5.88 5z" }) })
1781
1811
  },
1782
1812
  "subscript"
1783
1813
  );
1784
1814
  case "superscript":
1785
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
1815
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1786
1816
  ToolbarButton3,
1787
1817
  {
1788
1818
  onClick: () => editor.chain().focus().toggleSuperscript().run(),
1789
1819
  active: editor.isActive("superscript"),
1790
1820
  title: "Superscript",
1791
- children: [
1792
- "X",
1793
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("sup", { children: "2" })
1794
- ]
1821
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M22 7h-2v1h3v1h-4V6.5a.5.5 0 01.5-.5h2a.5.5 0 00.5-.5v-.5H18V4h4v2.5a.5.5 0 01-.5.5h-2a.5.5 0 00-.5.5v.5zM5.88 5h2.66l3.4 5.42h.12L15.5 5h2.62l-4.87 7.38L18.22 20h-2.66l-3.62-5.63h-.12l-3.62 5.63H5.56l4.92-7.62L5.88 5z" }) })
1795
1822
  },
1796
1823
  "superscript"
1797
1824
  );
@@ -1801,7 +1828,7 @@ var init_TipTapToolbar = __esm({
1801
1828
  {
1802
1829
  onClick: () => editor.chain().focus().clearNodes().unsetAllMarks().run(),
1803
1830
  title: "Clear Formatting",
1804
- children: "\u2715"
1831
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M3.27 5L2 6.27l6.97 6.97L6.5 19h3l1.57-3.66L16.73 21 18 19.73 3.55 5.27 3.27 5zM6 5v.18L8.82 8h2.4l-.72 1.68 2.1 2.1L14.21 8H20V5H6z" }) })
1805
1832
  },
1806
1833
  "clearFormatting"
1807
1834
  );
@@ -1867,29 +1894,85 @@ var init_TipTapToolbar = __esm({
1867
1894
  "lineHeight"
1868
1895
  );
1869
1896
  case "textColor":
1870
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "rte-builder-toolbar-color", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("label", { title: "Text Color", children: [
1871
- "A",
1872
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1873
- "input",
1897
+ const textPresetColors = ["#11a161", "#85144b", "#ff851b", "#b10dc9"];
1898
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "rte-builder-toolbar-color-group", children: [
1899
+ textPresetColors.map((color) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1900
+ "button",
1874
1901
  {
1875
- type: "color",
1876
- onChange: (e) => editor.chain().focus().setColor(e.target.value).run(),
1877
- value: editor.getAttributes("textStyle").color || "#000000"
1878
- }
1879
- )
1880
- ] }) }, "textColor");
1902
+ className: "rte-builder-color-preset",
1903
+ style: { backgroundColor: color },
1904
+ onClick: () => editor.chain().focus().setColor(color).run(),
1905
+ title: `Text Color: ${color}`,
1906
+ type: "button"
1907
+ },
1908
+ `text-${color}`
1909
+ )),
1910
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "rte-builder-toolbar-color", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("label", { title: "Custom Text Color", children: [
1911
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1912
+ "svg",
1913
+ {
1914
+ width: "14",
1915
+ height: "14",
1916
+ viewBox: "0 0 24 24",
1917
+ fill: "currentColor",
1918
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9c.83 0 1.5-.67 1.5-1.5 0-.39-.15-.74-.39-1.01-.23-.26-.38-.61-.38-.99 0-.83.67-1.5 1.5-1.5H16c2.76 0 5-2.24 5-5 0-4.42-4.03-8-9-8zm-5.5 9c-.83 0-1.5-.67-1.5-1.5S5.67 9 6.5 9 8 9.67 8 10.5 7.33 12 6.5 12zm3-4C8.67 8 8 7.33 8 6.5S8.67 5 9.5 5s1.5.67 1.5 1.5S10.33 8 9.5 8zm5 0c-.83 0-1.5-.67-1.5-1.5S13.67 5 14.5 5s1.5.67 1.5 1.5S15.33 8 14.5 8zm3 4c-.83 0-1.5-.67-1.5-1.5S16.67 9 17.5 9s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z" })
1919
+ }
1920
+ ),
1921
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1922
+ "input",
1923
+ {
1924
+ type: "color",
1925
+ onChange: (e) => editor.chain().focus().setColor(e.target.value).run(),
1926
+ value: editor.getAttributes("textStyle").color || "#000000"
1927
+ }
1928
+ )
1929
+ ] }) })
1930
+ ] }, "textColor");
1881
1931
  case "backgroundColor":
1882
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "rte-builder-toolbar-color", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("label", { title: "Background Color", children: [
1883
- "\u2B1B",
1884
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1885
- "input",
1886
- {
1887
- type: "color",
1888
- onChange: (e) => editor.chain().focus().toggleHighlight({ color: e.target.value }).run(),
1889
- value: editor.getAttributes("highlight").color || "#ffff00"
1890
- }
1891
- )
1892
- ] }) }, "backgroundColor");
1932
+ const bgPresetColors = ["#11a161", "#85144b", "#ff851b", "#b10dc9"];
1933
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
1934
+ "span",
1935
+ {
1936
+ className: "rte-builder-toolbar-color-group",
1937
+ children: [
1938
+ bgPresetColors.map((color) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1939
+ "button",
1940
+ {
1941
+ className: "rte-builder-color-preset rte-builder-color-preset-bg",
1942
+ style: { backgroundColor: color },
1943
+ onClick: () => editor.chain().focus().toggleHighlight({ color }).run(),
1944
+ title: `Highlight Color: ${color}`,
1945
+ type: "button"
1946
+ },
1947
+ `bg-${color}`
1948
+ )),
1949
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "rte-builder-toolbar-color", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("label", { title: "Custom Background Color", children: [
1950
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
1951
+ "svg",
1952
+ {
1953
+ width: "14",
1954
+ height: "14",
1955
+ viewBox: "0 0 24 24",
1956
+ fill: "currentColor",
1957
+ children: [
1958
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M16.56 8.94L7.62 0 6.21 1.41l2.38 2.38-5.15 5.15c-.59.59-.59 1.54 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.58.59-1.53 0-2.12zM5.21 10L10 5.21 14.79 10H5.21zM19 11.5s-2 2.17-2 3.5c0 1.1.9 2 2 2s2-.9 2-2c0-1.33-2-3.5-2-3.5z" }),
1959
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M2 20h20v4H2z", fillOpacity: ".36" })
1960
+ ]
1961
+ }
1962
+ ),
1963
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1964
+ "input",
1965
+ {
1966
+ type: "color",
1967
+ onChange: (e) => editor.chain().focus().toggleHighlight({ color: e.target.value }).run(),
1968
+ value: editor.getAttributes("highlight").color || "#ffff00"
1969
+ }
1970
+ )
1971
+ ] }) })
1972
+ ]
1973
+ },
1974
+ "backgroundColor"
1975
+ );
1893
1976
  case "alignLeft":
1894
1977
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1895
1978
  ToolbarButton3,
@@ -1897,7 +1980,7 @@ var init_TipTapToolbar = __esm({
1897
1980
  onClick: () => editor.chain().focus().setTextAlign("left").run(),
1898
1981
  active: editor.isActive({ textAlign: "left" }),
1899
1982
  title: "Align Left",
1900
- children: "\u2B05"
1983
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z" }) })
1901
1984
  },
1902
1985
  "alignLeft"
1903
1986
  );
@@ -1908,7 +1991,7 @@ var init_TipTapToolbar = __esm({
1908
1991
  onClick: () => editor.chain().focus().setTextAlign("center").run(),
1909
1992
  active: editor.isActive({ textAlign: "center" }),
1910
1993
  title: "Align Center",
1911
- children: "\u2194"
1994
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z" }) })
1912
1995
  },
1913
1996
  "alignCenter"
1914
1997
  );
@@ -1919,7 +2002,7 @@ var init_TipTapToolbar = __esm({
1919
2002
  onClick: () => editor.chain().focus().setTextAlign("right").run(),
1920
2003
  active: editor.isActive({ textAlign: "right" }),
1921
2004
  title: "Align Right",
1922
- children: "\u27A1"
2005
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z" }) })
1923
2006
  },
1924
2007
  "alignRight"
1925
2008
  );
@@ -1930,7 +2013,7 @@ var init_TipTapToolbar = __esm({
1930
2013
  onClick: () => editor.chain().focus().setTextAlign("justify").run(),
1931
2014
  active: editor.isActive({ textAlign: "justify" }),
1932
2015
  title: "Justify",
1933
- children: "\u2B0C"
2016
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M3 21h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18V7H3v2zM3 3v2h18V3H3z" }) })
1934
2017
  },
1935
2018
  "alignJustify"
1936
2019
  );
@@ -1940,7 +2023,7 @@ var init_TipTapToolbar = __esm({
1940
2023
  {
1941
2024
  onClick: () => editor.chain().focus().indent().run(),
1942
2025
  title: "Indent (Tab)",
1943
- children: "\u2192|"
2026
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M3 21h18v-2H3v2zM3 8v8l4-4-4-4zm8 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z" }) })
1944
2027
  },
1945
2028
  "indent"
1946
2029
  );
@@ -1950,7 +2033,7 @@ var init_TipTapToolbar = __esm({
1950
2033
  {
1951
2034
  onClick: () => editor.chain().focus().outdent().run(),
1952
2035
  title: "Outdent (Shift+Tab)",
1953
- children: "|\u2190"
2036
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M11 17h10v-2H11v2zm-8-5l4 4V8l-4 4zm0 9h18v-2H3v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z" }) })
1954
2037
  },
1955
2038
  "outdent"
1956
2039
  );
@@ -1961,7 +2044,7 @@ var init_TipTapToolbar = __esm({
1961
2044
  onClick: () => editor.chain().focus().toggleBulletList().run(),
1962
2045
  active: editor.isActive("bulletList"),
1963
2046
  title: "Bullet List",
1964
- children: "\u2022"
2047
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z" }) })
1965
2048
  },
1966
2049
  "bulletList"
1967
2050
  );
@@ -1972,7 +2055,7 @@ var init_TipTapToolbar = __esm({
1972
2055
  onClick: () => editor.chain().focus().toggleOrderedList().run(),
1973
2056
  active: editor.isActive("orderedList"),
1974
2057
  title: "Numbered List",
1975
- children: "1."
2058
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z" }) })
1976
2059
  },
1977
2060
  "orderedList"
1978
2061
  );
@@ -1983,16 +2066,21 @@ var init_TipTapToolbar = __esm({
1983
2066
  case "heading5":
1984
2067
  case "heading6":
1985
2068
  const level = parseInt(button.replace("heading", ""));
1986
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
2069
+ const headingIcons = {
2070
+ 1: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14h-2V9h-2V7h4v10z" }) }),
2071
+ 2: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8c0 1.1-.9 2-2 2h-2v2h4v2H9v-4c0-1.1.9-2 2-2h2V9H9V7h4c1.1 0 2 .9 2 2v2z" }) }),
2072
+ 3: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8c0 1.1-.9 2-2 2v0c1.1 0 2 .9 2 2v0c0 1.1-.9 2-2 2H9v-2h4v-2h-2v-2h2V9H9V7h4c1.1 0 2 .9 2 2v2z" }) }),
2073
+ 4: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 14h-2v-4H9V7h2v4h2V7h2v10z" }) }),
2074
+ 5: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 6h-4v2h2c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H9v-2h4v-2H9V7h6v2z" }) }),
2075
+ 6: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8c0 1.1-.9 2-2 2h-2v-2h2V9H9v6h4c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2h-2V7h2c1.1 0 2 .9 2 2v2z" }) })
2076
+ };
2077
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1987
2078
  ToolbarButton3,
1988
2079
  {
1989
2080
  onClick: () => editor.chain().focus().toggleHeading({ level }).run(),
1990
2081
  active: editor.isActive("heading", { level }),
1991
2082
  title: `Heading ${level}`,
1992
- children: [
1993
- "H",
1994
- level
1995
- ]
2083
+ children: headingIcons[level]
1996
2084
  },
1997
2085
  button
1998
2086
  );
@@ -2003,7 +2091,7 @@ var init_TipTapToolbar = __esm({
2003
2091
  onClick: () => editor.chain().focus().toggleBlockquote().run(),
2004
2092
  active: editor.isActive("blockquote"),
2005
2093
  title: "Blockquote",
2006
- children: '"'
2094
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z" }) })
2007
2095
  },
2008
2096
  "blockquote"
2009
2097
  );
@@ -2013,7 +2101,7 @@ var init_TipTapToolbar = __esm({
2013
2101
  {
2014
2102
  onClick: () => editor.chain().focus().setHorizontalRule().run(),
2015
2103
  title: "Horizontal Rule",
2016
- children: "\u2015"
2104
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M4 11h16v2H4z" }) })
2017
2105
  },
2018
2106
  "horizontalRule"
2019
2107
  );
@@ -2029,7 +2117,7 @@ var init_TipTapToolbar = __esm({
2029
2117
  },
2030
2118
  active: editor.isActive("link"),
2031
2119
  title: "Insert Link",
2032
- children: "\u{1F517}"
2120
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z" }) })
2033
2121
  },
2034
2122
  "link"
2035
2123
  );
@@ -2040,7 +2128,7 @@ var init_TipTapToolbar = __esm({
2040
2128
  onClick: () => editor.chain().focus().unsetLink().run(),
2041
2129
  disabled: !editor.isActive("link"),
2042
2130
  title: "Remove Link",
2043
- children: "\u{1F517}\u2715"
2131
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M17 7h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1 0 1.43-.98 2.63-2.31 2.98l1.46 1.46C20.88 15.61 22 13.95 22 12c0-2.76-2.24-5-5-5zm-1 4h-2.19l2 2H16v-2zM2 4.27l3.11 3.11C3.29 8.12 2 9.91 2 12c0 2.76 2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1 0-1.59 1.21-2.9 2.76-3.07L8.73 11H8v2h2.73L13 15.27V17h1.73l4.01 4L20 19.74 3.27 3 2 4.27z" }) })
2044
2132
  },
2045
2133
  "unlink"
2046
2134
  );
@@ -2059,7 +2147,7 @@ var init_TipTapToolbar = __esm({
2059
2147
  }
2060
2148
  },
2061
2149
  title: "Insert Image",
2062
- children: "\u{1F5BC}\uFE0F"
2150
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z" }) })
2063
2151
  },
2064
2152
  "image"
2065
2153
  );
@@ -2078,7 +2166,7 @@ var init_TipTapToolbar = __esm({
2078
2166
  }
2079
2167
  },
2080
2168
  title: "Insert Video",
2081
- children: "\u{1F3A5}"
2169
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11l-4 4z" }) })
2082
2170
  },
2083
2171
  "video"
2084
2172
  );
@@ -2088,7 +2176,7 @@ var init_TipTapToolbar = __esm({
2088
2176
  {
2089
2177
  onClick: () => editor.chain().focus().insertTable({ rows: 3, cols: 3, withHeaderRow: true }).run(),
2090
2178
  title: "Insert Table",
2091
- children: "\u229E"
2179
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 2v4H5V5h14zm0 6v4h-6v-4h6zM5 15v-4h6v4H5zm0 2h6v2H5v-2zm8 2v-2h6v2h-6z" }) })
2092
2180
  },
2093
2181
  "table"
2094
2182
  );
@@ -2101,7 +2189,16 @@ var init_TipTapToolbar = __esm({
2101
2189
  onClick: () => setShowEmojiPicker(!showEmojiPicker),
2102
2190
  active: showEmojiPicker,
2103
2191
  title: "Insert Emoji",
2104
- children: "\u{1F600}"
2192
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
2193
+ "svg",
2194
+ {
2195
+ width: "16",
2196
+ height: "16",
2197
+ viewBox: "0 0 24 24",
2198
+ fill: "currentColor",
2199
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z" })
2200
+ }
2201
+ )
2105
2202
  }
2106
2203
  ),
2107
2204
  showEmojiPicker && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
@@ -2120,7 +2217,25 @@ var init_TipTapToolbar = __esm({
2120
2217
  onClick: () => editor.chain().focus().toggleFullscreen().run(),
2121
2218
  active: isFullscreen,
2122
2219
  title: isFullscreen ? "Exit Fullscreen (Esc)" : "Fullscreen (Ctrl+Shift+F)",
2123
- children: isFullscreen ? "\u2297" : "\u26F6"
2220
+ children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
2221
+ "svg",
2222
+ {
2223
+ width: "16",
2224
+ height: "16",
2225
+ viewBox: "0 0 24 24",
2226
+ fill: "currentColor",
2227
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z" })
2228
+ }
2229
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
2230
+ "svg",
2231
+ {
2232
+ width: "16",
2233
+ height: "16",
2234
+ viewBox: "0 0 24 24",
2235
+ fill: "currentColor",
2236
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z" })
2237
+ }
2238
+ )
2124
2239
  },
2125
2240
  "fullscreen"
2126
2241
  );
@@ -2130,7 +2245,7 @@ var init_TipTapToolbar = __esm({
2130
2245
  {
2131
2246
  onClick: () => editor.chain().focus().print().run(),
2132
2247
  title: "Print (Ctrl+P)",
2133
- children: "\u{1F5A8}\uFE0F"
2248
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z" }) })
2134
2249
  },
2135
2250
  "print"
2136
2251
  );
@@ -2141,7 +2256,7 @@ var init_TipTapToolbar = __esm({
2141
2256
  onClick: () => editor.chain().focus().undo().run(),
2142
2257
  disabled: !editor.can().undo(),
2143
2258
  title: "Undo (Ctrl+Z)",
2144
- children: "\u21B6"
2259
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z" }) })
2145
2260
  },
2146
2261
  "undo"
2147
2262
  );
@@ -2152,7 +2267,7 @@ var init_TipTapToolbar = __esm({
2152
2267
  onClick: () => editor.chain().focus().redo().run(),
2153
2268
  disabled: !editor.can().redo(),
2154
2269
  title: "Redo (Ctrl+Y)",
2155
- children: "\u21B7"
2270
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z" }) })
2156
2271
  },
2157
2272
  "redo"
2158
2273
  );
@@ -2695,43 +2810,253 @@ var init_SlateToolbar = __esm({
2695
2810
  }
2696
2811
  );
2697
2812
  icons = {
2698
- bold: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z" }) }),
2699
- italic: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z" }) }),
2700
- underline: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z" }) }),
2701
- strike: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M10 19h4v-3h-4v3zM5 4v3h5v3h4V7h5V4H5zM3 14h18v-2H3v2z" }) }),
2702
- code: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z" }) }),
2703
- codeBlock: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z" }) }),
2704
- subscript: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M22 18h-2v1h3v1h-4v-2.5a.5.5 0 01.5-.5h2a.5.5 0 00.5-.5v-.5H18v-1h4v2.5a.5.5 0 01-.5.5h-2a.5.5 0 00-.5.5v.5zM5.88 5h2.66l3.4 5.42h.12L15.5 5h2.62l-4.87 7.38L18.22 20h-2.66l-3.62-5.63h-.12l-3.62 5.63H5.56l4.92-7.62L5.88 5z" }) }),
2705
- superscript: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M22 7h-2v1h3v1h-4V6.5a.5.5 0 01.5-.5h2a.5.5 0 00.5-.5v-.5H18V4h4v2.5a.5.5 0 01-.5.5h-2a.5.5 0 00-.5.5v.5zM5.88 5h2.66l3.4 5.42h.12L15.5 5h2.62l-4.87 7.38L18.22 20h-2.66l-3.62-5.63h-.12l-3.62 5.63H5.56l4.92-7.62L5.88 5z" }) }),
2706
- clearFormatting: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M3.27 5L2 6.27l6.97 6.97L6.5 19h3l1.57-3.66L16.73 21 18 19.73 3.55 5.27 3.27 5zM6 5v.18L8.82 8h2.4l-.72 1.68 2.1 2.1L14.21 8H20V5H6z" }) }),
2707
- fontFamily: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M9.93 13.5h4.14L12 7.98 9.93 13.5zM20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-4.05 16.5l-1.14-3H9.17l-1.12 3H5.96l5.11-13h1.86l5.11 13h-2.09z" }) }),
2708
- fontSize: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M9 4v3h5v12h3V7h5V4H9zm-6 8h3v7h3v-7h3v-3H3v3z" }) }),
2709
- lineHeight: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M6 7h2.5L5 3.5 1.5 7H4v10H1.5L5 20.5 8.5 17H6V7zm4-2v2h12V5H10zm0 14h12v-2H10v2zm0-6h12v-2H10v2z" }) }),
2710
- textColor: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M11 3L5.5 17h2.25l1.12-3h6.25l1.12 3h2.25L13 3h-2zm-1.38 9L12 5.67 14.38 12H9.62z" }) }),
2711
- backgroundColor: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M16.56 8.94L7.62 0 6.21 1.41l2.38 2.38-5.15 5.15c-.59.59-.59 1.54 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.58.59-1.53 0-2.12zM5.21 10L10 5.21 14.79 10H5.21zM19 11.5s-2 2.17-2 3.5c0 1.1.9 2 2 2s2-.9 2-2c0-1.33-2-3.5-2-3.5zM2 20h20v4H2v-4z" }) }),
2712
- alignLeft: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z" }) }),
2713
- alignCenter: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z" }) }),
2714
- alignRight: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z" }) }),
2715
- alignJustify: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M3 21h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18V7H3v2zm0-6v2h18V3H3z" }) }),
2716
- indent: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M3 21h18v-2H3v2zM3 8v8l4-4-4-4zm8 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z" }) }),
2717
- outdent: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M11 17h10v-2H11v2zm-8-5l4 4V8l-4 4zm0 9h18v-2H3v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z" }) }),
2718
- bulletList: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z" }) }),
2719
- orderedList: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z" }) }),
2720
- heading1: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14h-2V9h-2V7h4v10z" }) }),
2721
- heading2: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8c0 1.1-.9 2-2 2h-2v2h4v2H9v-4c0-1.1.9-2 2-2h2V9H9V7h4c1.1 0 2 .9 2 2v2z" }) }),
2722
- heading3: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8c0 1.1-.9 2-2 2v0c1.1 0 2 .9 2 2v1c0 1.1-.9 2-2 2H9v-2h4v-2h-2v-2h2V9H9V7h4c1.1 0 2 .9 2 2v2z" }) }),
2813
+ bold: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2814
+ "path",
2815
+ {
2816
+ fill: "currentColor",
2817
+ d: "M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z"
2818
+ }
2819
+ ) }),
2820
+ italic: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2821
+ "path",
2822
+ {
2823
+ fill: "currentColor",
2824
+ d: "M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"
2825
+ }
2826
+ ) }),
2827
+ underline: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2828
+ "path",
2829
+ {
2830
+ fill: "currentColor",
2831
+ d: "M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z"
2832
+ }
2833
+ ) }),
2834
+ strike: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2835
+ "path",
2836
+ {
2837
+ fill: "currentColor",
2838
+ d: "M10 19h4v-3h-4v3zM5 4v3h5v3h4V7h5V4H5zM3 14h18v-2H3v2z"
2839
+ }
2840
+ ) }),
2841
+ code: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2842
+ "path",
2843
+ {
2844
+ fill: "currentColor",
2845
+ d: "M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"
2846
+ }
2847
+ ) }),
2848
+ codeBlock: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2849
+ "path",
2850
+ {
2851
+ fill: "currentColor",
2852
+ d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9.5 8.5L7 14l2.5 2.5L8 18l-4-4 4-4 1.5 1.5zm7 5L15 18l4-4-4-4 1.5-1.5L19 11l-2.5 2.5z"
2853
+ }
2854
+ ) }),
2855
+ subscript: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2856
+ "path",
2857
+ {
2858
+ fill: "currentColor",
2859
+ d: "M22 18h-2v1h3v1h-4v-2.5a.5.5 0 01.5-.5h2a.5.5 0 00.5-.5v-.5H18v-1h4v2.5a.5.5 0 01-.5.5h-2a.5.5 0 00-.5.5v.5zM5.88 5h2.66l3.4 5.42h.12L15.5 5h2.62l-4.87 7.38L18.22 20h-2.66l-3.62-5.63h-.12l-3.62 5.63H5.56l4.92-7.62L5.88 5z"
2860
+ }
2861
+ ) }),
2862
+ superscript: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2863
+ "path",
2864
+ {
2865
+ fill: "currentColor",
2866
+ d: "M22 7h-2v1h3v1h-4V6.5a.5.5 0 01.5-.5h2a.5.5 0 00.5-.5v-.5H18V4h4v2.5a.5.5 0 01-.5.5h-2a.5.5 0 00-.5.5v.5zM5.88 5h2.66l3.4 5.42h.12L15.5 5h2.62l-4.87 7.38L18.22 20h-2.66l-3.62-5.63h-.12l-3.62 5.63H5.56l4.92-7.62L5.88 5z"
2867
+ }
2868
+ ) }),
2869
+ clearFormatting: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2870
+ "path",
2871
+ {
2872
+ fill: "currentColor",
2873
+ d: "M3.27 5L2 6.27l6.97 6.97L6.5 19h3l1.57-3.66L16.73 21 18 19.73 3.55 5.27 3.27 5zM6 5v.18L8.82 8h2.4l-.72 1.68 2.1 2.1L14.21 8H20V5H6z"
2874
+ }
2875
+ ) }),
2876
+ fontFamily: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2877
+ "path",
2878
+ {
2879
+ fill: "currentColor",
2880
+ d: "M9.93 13.5h4.14L12 7.98 9.93 13.5zM20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-4.05 16.5l-1.14-3H9.17l-1.12 3H5.96l5.11-13h1.86l5.11 13h-2.09z"
2881
+ }
2882
+ ) }),
2883
+ fontSize: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2884
+ "path",
2885
+ {
2886
+ fill: "currentColor",
2887
+ d: "M9 4v3h5v12h3V7h5V4H9zm-6 8h3v7h3v-7h3v-3H3v3z"
2888
+ }
2889
+ ) }),
2890
+ lineHeight: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2891
+ "path",
2892
+ {
2893
+ fill: "currentColor",
2894
+ d: "M6 7h2.5L5 3.5 1.5 7H4v10H1.5L5 20.5 8.5 17H6V7zm4-2v2h12V5H10zm0 14h12v-2H10v2zm0-6h12v-2H10v2z"
2895
+ }
2896
+ ) }),
2897
+ textColor: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2898
+ "path",
2899
+ {
2900
+ fill: "currentColor",
2901
+ d: "M11 3L5.5 17h2.25l1.12-3h6.25l1.12 3h2.25L13 3h-2zm-1.38 9L12 5.67 14.38 12H9.62z"
2902
+ }
2903
+ ) }),
2904
+ backgroundColor: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2905
+ "path",
2906
+ {
2907
+ fill: "currentColor",
2908
+ d: "M16.56 8.94L7.62 0 6.21 1.41l2.38 2.38-5.15 5.15c-.59.59-.59 1.54 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.58.59-1.53 0-2.12zM5.21 10L10 5.21 14.79 10H5.21zM19 11.5s-2 2.17-2 3.5c0 1.1.9 2 2 2s2-.9 2-2c0-1.33-2-3.5-2-3.5zM2 20h20v4H2v-4z"
2909
+ }
2910
+ ) }),
2911
+ alignLeft: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2912
+ "path",
2913
+ {
2914
+ fill: "currentColor",
2915
+ d: "M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z"
2916
+ }
2917
+ ) }),
2918
+ alignCenter: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2919
+ "path",
2920
+ {
2921
+ fill: "currentColor",
2922
+ d: "M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z"
2923
+ }
2924
+ ) }),
2925
+ alignRight: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2926
+ "path",
2927
+ {
2928
+ fill: "currentColor",
2929
+ d: "M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z"
2930
+ }
2931
+ ) }),
2932
+ alignJustify: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2933
+ "path",
2934
+ {
2935
+ fill: "currentColor",
2936
+ d: "M3 21h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18V7H3v2zm0-6v2h18V3H3z"
2937
+ }
2938
+ ) }),
2939
+ indent: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2940
+ "path",
2941
+ {
2942
+ fill: "currentColor",
2943
+ d: "M3 21h18v-2H3v2zM3 8v8l4-4-4-4zm8 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z"
2944
+ }
2945
+ ) }),
2946
+ outdent: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2947
+ "path",
2948
+ {
2949
+ fill: "currentColor",
2950
+ d: "M11 17h10v-2H11v2zm-8-5l4 4V8l-4 4zm0 9h18v-2H3v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z"
2951
+ }
2952
+ ) }),
2953
+ bulletList: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2954
+ "path",
2955
+ {
2956
+ fill: "currentColor",
2957
+ d: "M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z"
2958
+ }
2959
+ ) }),
2960
+ orderedList: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2961
+ "path",
2962
+ {
2963
+ fill: "currentColor",
2964
+ d: "M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z"
2965
+ }
2966
+ ) }),
2967
+ heading1: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2968
+ "path",
2969
+ {
2970
+ fill: "currentColor",
2971
+ d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14h-2V9h-2V7h4v10z"
2972
+ }
2973
+ ) }),
2974
+ heading2: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2975
+ "path",
2976
+ {
2977
+ fill: "currentColor",
2978
+ d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8c0 1.1-.9 2-2 2h-2v2h4v2H9v-4c0-1.1.9-2 2-2h2V9H9V7h4c1.1 0 2 .9 2 2v2z"
2979
+ }
2980
+ ) }),
2981
+ heading3: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2982
+ "path",
2983
+ {
2984
+ fill: "currentColor",
2985
+ d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8c0 1.1-.9 2-2 2v0c1.1 0 2 .9 2 2v1c0 1.1-.9 2-2 2H9v-2h4v-2h-2v-2h2V9H9V7h4c1.1 0 2 .9 2 2v2z"
2986
+ }
2987
+ ) }),
2723
2988
  blockquote: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z" }) }),
2724
2989
  horizontalRule: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M4 11h16v2H4z" }) }),
2725
- link: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z" }) }),
2726
- unlink: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M17 7h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1 0 1.43-.98 2.63-2.31 2.98l1.46 1.46C20.88 15.61 22 13.95 22 12c0-2.76-2.24-5-5-5zm-1 4h-2.19l2 2H16v-2zM2 4.27l3.11 3.11A4.991 4.991 0 002 12c0 2.76 2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1 0-1.59 1.21-2.9 2.76-3.07L8.73 11H8v2h2.73L13 15.27V17h1.73l4.01 4L20 19.74 3.27 3 2 4.27z" }) }),
2727
- image: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z" }) }),
2728
- video: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11l-4 4z" }) }),
2729
- table: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z" }) }),
2730
- emoji: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z" }) }),
2731
- undo: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M12.5 8c-2.65 0-5.05 1.04-6.83 2.73L3 8v9h9l-3.01-3c1.37-1.12 3.11-1.8 5.01-1.8 3.33 0 6.17 2.11 7.22 5.06l1.98-.65C21.79 12.58 17.54 8 12.5 8z" }) }),
2732
- redo: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22l1.98.65c1.05-3.19 4.05-5.47 7.98-5.47 1.9 0 3.64.68 5.01 1.8L13.5 15h9V6l-4.1 4.6z" }) }),
2733
- fullscreen: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z" }) }),
2734
- print: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z" }) })
2990
+ link: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2991
+ "path",
2992
+ {
2993
+ fill: "currentColor",
2994
+ d: "M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"
2995
+ }
2996
+ ) }),
2997
+ unlink: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
2998
+ "path",
2999
+ {
3000
+ fill: "currentColor",
3001
+ d: "M17 7h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1 0 1.43-.98 2.63-2.31 2.98l1.46 1.46C20.88 15.61 22 13.95 22 12c0-2.76-2.24-5-5-5zm-1 4h-2.19l2 2H16v-2zM2 4.27l3.11 3.11A4.991 4.991 0 002 12c0 2.76 2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1 0-1.59 1.21-2.9 2.76-3.07L8.73 11H8v2h2.73L13 15.27V17h1.73l4.01 4L20 19.74 3.27 3 2 4.27z"
3002
+ }
3003
+ ) }),
3004
+ image: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3005
+ "path",
3006
+ {
3007
+ fill: "currentColor",
3008
+ d: "M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"
3009
+ }
3010
+ ) }),
3011
+ video: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3012
+ "path",
3013
+ {
3014
+ fill: "currentColor",
3015
+ d: "M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11l-4 4z"
3016
+ }
3017
+ ) }),
3018
+ table: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3019
+ "path",
3020
+ {
3021
+ fill: "currentColor",
3022
+ d: "M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z"
3023
+ }
3024
+ ) }),
3025
+ emoji: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3026
+ "path",
3027
+ {
3028
+ fill: "currentColor",
3029
+ d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z"
3030
+ }
3031
+ ) }),
3032
+ undo: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3033
+ "path",
3034
+ {
3035
+ fill: "currentColor",
3036
+ d: "M12.5 8c-2.65 0-5.05 1.04-6.83 2.73L3 8v9h9l-3.01-3c1.37-1.12 3.11-1.8 5.01-1.8 3.33 0 6.17 2.11 7.22 5.06l1.98-.65C21.79 12.58 17.54 8 12.5 8z"
3037
+ }
3038
+ ) }),
3039
+ redo: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3040
+ "path",
3041
+ {
3042
+ fill: "currentColor",
3043
+ d: "M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22l1.98.65c1.05-3.19 4.05-5.47 7.98-5.47 1.9 0 3.64.68 5.01 1.8L13.5 15h9V6l-4.1 4.6z"
3044
+ }
3045
+ ) }),
3046
+ fullscreen: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3047
+ "path",
3048
+ {
3049
+ fill: "currentColor",
3050
+ d: "M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"
3051
+ }
3052
+ ) }),
3053
+ print: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3054
+ "path",
3055
+ {
3056
+ fill: "currentColor",
3057
+ d: "M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z"
3058
+ }
3059
+ ) })
2735
3060
  };
2736
3061
  SlateToolbar = ({
2737
3062
  editor,
@@ -2752,7 +3077,9 @@ var init_SlateToolbar = __esm({
2752
3077
  const [showLinkDialog, setShowLinkDialog] = (0, import_react4.useState)(false);
2753
3078
  const [linkUrl, setLinkUrl] = (0, import_react4.useState)("");
2754
3079
  const linkDialogRef = (0, import_react4.useRef)(null);
2755
- const [showColorPicker, setShowColorPicker] = (0, import_react4.useState)(null);
3080
+ const [showColorPicker, setShowColorPicker] = (0, import_react4.useState)(
3081
+ null
3082
+ );
2756
3083
  const colorPickerRef = (0, import_react4.useRef)(null);
2757
3084
  (0, import_react4.useEffect)(() => {
2758
3085
  const handleClickOutside = (event) => {
@@ -2798,7 +3125,10 @@ var init_SlateToolbar = __esm({
2798
3125
  const insertHorizontalRule = (0, import_react4.useCallback)(() => {
2799
3126
  const hr = { type: "horizontal-rule", children: [{ text: "" }] };
2800
3127
  import_slate.Transforms.insertNodes(editor, hr);
2801
- import_slate.Transforms.insertNodes(editor, { type: "paragraph", children: [{ text: "" }] });
3128
+ import_slate.Transforms.insertNodes(editor, {
3129
+ type: "paragraph",
3130
+ children: [{ text: "" }]
3131
+ });
2802
3132
  }, [editor]);
2803
3133
  const insertTable = (0, import_react4.useCallback)(() => {
2804
3134
  const table = {
@@ -3115,45 +3445,45 @@ var init_SlateToolbar = __esm({
3115
3445
  );
3116
3446
  // Links
3117
3447
  case "link":
3118
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "rte-builder-toolbar-dropdown", ref: linkDialogRef, children: [
3119
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3120
- ToolbarButton,
3121
- {
3122
- onClick: () => setShowLinkDialog(!showLinkDialog),
3123
- title: "Insert Link",
3124
- children: icons.link
3125
- }
3126
- ),
3127
- showLinkDialog && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "rte-builder-toolbar-dropdown-content", children: [
3128
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3129
- "input",
3130
- {
3131
- type: "url",
3132
- placeholder: "Enter URL...",
3133
- value: linkUrl,
3134
- onChange: (e) => setLinkUrl(e.target.value),
3135
- onKeyDown: (e) => {
3136
- if (e.key === "Enter") {
3137
- e.preventDefault();
3138
- insertLink();
3139
- }
3140
- },
3141
- autoFocus: true
3142
- }
3143
- ),
3144
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("button", { onClick: insertLink, children: "Insert" })
3145
- ] })
3146
- ] }, button);
3147
- case "unlink":
3148
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3149
- ToolbarButton,
3448
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
3449
+ "div",
3150
3450
  {
3151
- onClick: removeLink,
3152
- title: "Remove Link",
3153
- children: icons.unlink
3451
+ className: "rte-builder-toolbar-dropdown",
3452
+ ref: linkDialogRef,
3453
+ children: [
3454
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3455
+ ToolbarButton,
3456
+ {
3457
+ onClick: () => setShowLinkDialog(!showLinkDialog),
3458
+ title: "Insert Link",
3459
+ children: icons.link
3460
+ }
3461
+ ),
3462
+ showLinkDialog && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "rte-builder-toolbar-dropdown-content", children: [
3463
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3464
+ "input",
3465
+ {
3466
+ type: "url",
3467
+ placeholder: "Enter URL...",
3468
+ value: linkUrl,
3469
+ onChange: (e) => setLinkUrl(e.target.value),
3470
+ onKeyDown: (e) => {
3471
+ if (e.key === "Enter") {
3472
+ e.preventDefault();
3473
+ insertLink();
3474
+ }
3475
+ },
3476
+ autoFocus: true
3477
+ }
3478
+ ),
3479
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("button", { onClick: insertLink, children: "Insert" })
3480
+ ] })
3481
+ ]
3154
3482
  },
3155
3483
  button
3156
3484
  );
3485
+ case "unlink":
3486
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ToolbarButton, { onClick: removeLink, title: "Remove Link", children: icons.unlink }, button);
3157
3487
  // Media
3158
3488
  case "image":
3159
3489
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
@@ -3191,82 +3521,104 @@ var init_SlateToolbar = __esm({
3191
3521
  );
3192
3522
  // Colors
3193
3523
  case "textColor":
3194
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "rte-builder-toolbar-dropdown", ref: colorPickerRef, children: [
3195
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3196
- ToolbarButton,
3197
- {
3198
- onClick: () => setShowColorPicker(showColorPicker === "text" ? null : "text"),
3199
- title: "Text Color",
3200
- children: icons.textColor
3201
- }
3202
- ),
3203
- showColorPicker === "text" && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "rte-builder-toolbar-dropdown-content rte-builder-color-picker", children: colors.map((color) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3204
- "button",
3205
- {
3206
- className: "rte-builder-color-swatch",
3207
- style: { backgroundColor: color },
3208
- onClick: () => setColor(color, "text"),
3209
- title: color
3210
- },
3211
- color
3212
- )) })
3213
- ] }, button);
3524
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
3525
+ "div",
3526
+ {
3527
+ className: "rte-builder-toolbar-dropdown",
3528
+ ref: colorPickerRef,
3529
+ children: [
3530
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3531
+ ToolbarButton,
3532
+ {
3533
+ onClick: () => setShowColorPicker(showColorPicker === "text" ? null : "text"),
3534
+ title: "Text Color",
3535
+ children: icons.textColor
3536
+ }
3537
+ ),
3538
+ showColorPicker === "text" && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "rte-builder-toolbar-dropdown-content rte-builder-color-picker", children: colors.map((color) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3539
+ "button",
3540
+ {
3541
+ className: "rte-builder-color-swatch",
3542
+ style: { backgroundColor: color },
3543
+ onClick: () => setColor(color, "text"),
3544
+ title: color
3545
+ },
3546
+ color
3547
+ )) })
3548
+ ]
3549
+ },
3550
+ button
3551
+ );
3214
3552
  case "backgroundColor":
3215
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "rte-builder-toolbar-dropdown", ref: colorPickerRef, children: [
3216
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3217
- ToolbarButton,
3218
- {
3219
- onClick: () => setShowColorPicker(showColorPicker === "bg" ? null : "bg"),
3220
- title: "Background Color",
3221
- children: icons.backgroundColor
3222
- }
3223
- ),
3224
- showColorPicker === "bg" && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "rte-builder-toolbar-dropdown-content rte-builder-color-picker", children: colors.map((color) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3225
- "button",
3226
- {
3227
- className: "rte-builder-color-swatch",
3228
- style: { backgroundColor: color },
3229
- onClick: () => setColor(color, "bg"),
3230
- title: color
3231
- },
3232
- color
3233
- )) })
3234
- ] }, button);
3235
- // Emoji
3236
- case "emoji":
3237
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "rte-builder-toolbar-dropdown", ref: emojiPickerRef, children: [
3238
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3239
- ToolbarButton,
3240
- {
3241
- onClick: () => setShowEmojiPicker(!showEmojiPicker),
3242
- title: "Insert Emoji",
3243
- children: icons.emoji
3244
- }
3245
- ),
3246
- showEmojiPicker && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "rte-builder-emoji-picker", children: [
3247
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "rte-builder-emoji-categories", children: Object.entries(EMOJI_CATEGORIES).map(([key, category]) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3248
- "button",
3249
- {
3250
- className: `rte-builder-emoji-category-btn ${selectedEmojiCategory === key ? "active" : ""}`,
3251
- onClick: () => setSelectedEmojiCategory(key),
3252
- title: category.label,
3253
- children: category.emojis[0]
3254
- },
3255
- key
3256
- )) }),
3257
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "rte-builder-emoji-grid", children: EMOJI_CATEGORIES[selectedEmojiCategory]?.emojis.map(
3258
- (emoji, idx) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3553
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
3554
+ "div",
3555
+ {
3556
+ className: "rte-builder-toolbar-dropdown",
3557
+ ref: colorPickerRef,
3558
+ children: [
3559
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3560
+ ToolbarButton,
3561
+ {
3562
+ onClick: () => setShowColorPicker(showColorPicker === "bg" ? null : "bg"),
3563
+ title: "Background Color",
3564
+ children: icons.backgroundColor
3565
+ }
3566
+ ),
3567
+ showColorPicker === "bg" && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "rte-builder-toolbar-dropdown-content rte-builder-color-picker", children: colors.map((color) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3259
3568
  "button",
3260
3569
  {
3261
- className: "rte-builder-emoji-btn",
3262
- onClick: () => insertEmoji(emoji),
3263
- children: emoji
3570
+ className: "rte-builder-color-swatch",
3571
+ style: { backgroundColor: color },
3572
+ onClick: () => setColor(color, "bg"),
3573
+ title: color
3264
3574
  },
3265
- idx
3266
- )
3267
- ) })
3268
- ] })
3269
- ] }, button);
3575
+ color
3576
+ )) })
3577
+ ]
3578
+ },
3579
+ button
3580
+ );
3581
+ // Emoji
3582
+ case "emoji":
3583
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
3584
+ "div",
3585
+ {
3586
+ className: "rte-builder-toolbar-dropdown",
3587
+ ref: emojiPickerRef,
3588
+ children: [
3589
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3590
+ ToolbarButton,
3591
+ {
3592
+ onClick: () => setShowEmojiPicker(!showEmojiPicker),
3593
+ title: "Insert Emoji",
3594
+ children: icons.emoji
3595
+ }
3596
+ ),
3597
+ showEmojiPicker && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "rte-builder-emoji-picker", children: [
3598
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "rte-builder-emoji-categories", children: Object.entries(EMOJI_CATEGORIES).map(([key, category]) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3599
+ "button",
3600
+ {
3601
+ className: `rte-builder-emoji-category-btn ${selectedEmojiCategory === key ? "active" : ""}`,
3602
+ onClick: () => setSelectedEmojiCategory(key),
3603
+ title: category.label,
3604
+ children: category.emojis[0]
3605
+ },
3606
+ key
3607
+ )) }),
3608
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "rte-builder-emoji-grid", children: EMOJI_CATEGORIES[selectedEmojiCategory]?.emojis.map((emoji, idx) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
3609
+ "button",
3610
+ {
3611
+ className: "rte-builder-emoji-btn",
3612
+ onClick: () => insertEmoji(emoji),
3613
+ children: emoji
3614
+ },
3615
+ idx
3616
+ )) })
3617
+ ] })
3618
+ ]
3619
+ },
3620
+ button
3621
+ );
3270
3622
  // Actions
3271
3623
  case "undo":
3272
3624
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
@@ -3899,40 +4251,232 @@ var init_LexicalToolbar = __esm({
3899
4251
  }
3900
4252
  );
3901
4253
  icons2 = {
3902
- bold: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z" }) }),
3903
- italic: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z" }) }),
3904
- underline: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z" }) }),
3905
- strike: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M10 19h4v-3h-4v3zM5 4v3h5v3h4V7h5V4H5zM3 14h18v-2H3v2z" }) }),
3906
- code: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z" }) }),
3907
- codeBlock: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z" }) }),
3908
- subscript: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M22 18h-2v1h3v1h-4v-2.5a.5.5 0 01.5-.5h2a.5.5 0 00.5-.5v-.5H18v-1h4v2.5a.5.5 0 01-.5.5h-2a.5.5 0 00-.5.5v.5zM5.88 5h2.66l3.4 5.42h.12L15.5 5h2.62l-4.87 7.38L18.22 20h-2.66l-3.62-5.63h-.12l-3.62 5.63H5.56l4.92-7.62L5.88 5z" }) }),
3909
- superscript: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M22 7h-2v1h3v1h-4V6.5a.5.5 0 01.5-.5h2a.5.5 0 00.5-.5v-.5H18V4h4v2.5a.5.5 0 01-.5.5h-2a.5.5 0 00-.5.5v.5zM5.88 5h2.66l3.4 5.42h.12L15.5 5h2.62l-4.87 7.38L18.22 20h-2.66l-3.62-5.63h-.12l-3.62 5.63H5.56l4.92-7.62L5.88 5z" }) }),
3910
- clearFormatting: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M3.27 5L2 6.27l6.97 6.97L6.5 19h3l1.57-3.66L16.73 21 18 19.73 3.55 5.27 3.27 5zM6 5v.18L8.82 8h2.4l-.72 1.68 2.1 2.1L14.21 8H20V5H6z" }) }),
3911
- alignLeft: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z" }) }),
3912
- alignCenter: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z" }) }),
3913
- alignRight: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z" }) }),
3914
- alignJustify: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M3 21h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18V7H3v2zm0-6v2h18V3H3z" }) }),
3915
- indent: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M3 21h18v-2H3v2zM3 8v8l4-4-4-4zm8 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z" }) }),
3916
- outdent: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M11 17h10v-2H11v2zm-8-5l4 4V8l-4 4zm0 9h18v-2H3v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z" }) }),
3917
- bulletList: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z" }) }),
3918
- orderedList: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z" }) }),
3919
- heading1: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14h-2V9h-2V7h4v10z" }) }),
3920
- heading2: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8c0 1.1-.9 2-2 2h-2v2h4v2H9v-4c0-1.1.9-2 2-2h2V9H9V7h4c1.1 0 2 .9 2 2v2z" }) }),
3921
- heading3: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8c0 1.1-.9 2-2 2v0c1.1 0 2 .9 2 2v1c0 1.1-.9 2-2 2H9v-2h4v-2h-2v-2h2V9H9V7h4c1.1 0 2 .9 2 2v2z" }) }),
4254
+ bold: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4255
+ "path",
4256
+ {
4257
+ fill: "currentColor",
4258
+ d: "M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z"
4259
+ }
4260
+ ) }),
4261
+ italic: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4262
+ "path",
4263
+ {
4264
+ fill: "currentColor",
4265
+ d: "M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"
4266
+ }
4267
+ ) }),
4268
+ underline: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4269
+ "path",
4270
+ {
4271
+ fill: "currentColor",
4272
+ d: "M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z"
4273
+ }
4274
+ ) }),
4275
+ strike: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4276
+ "path",
4277
+ {
4278
+ fill: "currentColor",
4279
+ d: "M10 19h4v-3h-4v3zM5 4v3h5v3h4V7h5V4H5zM3 14h18v-2H3v2z"
4280
+ }
4281
+ ) }),
4282
+ code: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4283
+ "path",
4284
+ {
4285
+ fill: "currentColor",
4286
+ d: "M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"
4287
+ }
4288
+ ) }),
4289
+ codeBlock: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4290
+ "path",
4291
+ {
4292
+ fill: "currentColor",
4293
+ d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9.5 8.5L7 14l2.5 2.5L8 18l-4-4 4-4 1.5 1.5zm7 5L15 18l4-4-4-4 1.5-1.5L19 11l-2.5 2.5z"
4294
+ }
4295
+ ) }),
4296
+ subscript: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4297
+ "path",
4298
+ {
4299
+ fill: "currentColor",
4300
+ d: "M22 18h-2v1h3v1h-4v-2.5a.5.5 0 01.5-.5h2a.5.5 0 00.5-.5v-.5H18v-1h4v2.5a.5.5 0 01-.5.5h-2a.5.5 0 00-.5.5v.5zM5.88 5h2.66l3.4 5.42h.12L15.5 5h2.62l-4.87 7.38L18.22 20h-2.66l-3.62-5.63h-.12l-3.62 5.63H5.56l4.92-7.62L5.88 5z"
4301
+ }
4302
+ ) }),
4303
+ superscript: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4304
+ "path",
4305
+ {
4306
+ fill: "currentColor",
4307
+ d: "M22 7h-2v1h3v1h-4V6.5a.5.5 0 01.5-.5h2a.5.5 0 00.5-.5v-.5H18V4h4v2.5a.5.5 0 01-.5.5h-2a.5.5 0 00-.5.5v.5zM5.88 5h2.66l3.4 5.42h.12L15.5 5h2.62l-4.87 7.38L18.22 20h-2.66l-3.62-5.63h-.12l-3.62 5.63H5.56l4.92-7.62L5.88 5z"
4308
+ }
4309
+ ) }),
4310
+ clearFormatting: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4311
+ "path",
4312
+ {
4313
+ fill: "currentColor",
4314
+ d: "M3.27 5L2 6.27l6.97 6.97L6.5 19h3l1.57-3.66L16.73 21 18 19.73 3.55 5.27 3.27 5zM6 5v.18L8.82 8h2.4l-.72 1.68 2.1 2.1L14.21 8H20V5H6z"
4315
+ }
4316
+ ) }),
4317
+ alignLeft: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4318
+ "path",
4319
+ {
4320
+ fill: "currentColor",
4321
+ d: "M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z"
4322
+ }
4323
+ ) }),
4324
+ alignCenter: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4325
+ "path",
4326
+ {
4327
+ fill: "currentColor",
4328
+ d: "M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z"
4329
+ }
4330
+ ) }),
4331
+ alignRight: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4332
+ "path",
4333
+ {
4334
+ fill: "currentColor",
4335
+ d: "M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z"
4336
+ }
4337
+ ) }),
4338
+ alignJustify: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4339
+ "path",
4340
+ {
4341
+ fill: "currentColor",
4342
+ d: "M3 21h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18V7H3v2zm0-6v2h18V3H3z"
4343
+ }
4344
+ ) }),
4345
+ indent: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4346
+ "path",
4347
+ {
4348
+ fill: "currentColor",
4349
+ d: "M3 21h18v-2H3v2zM3 8v8l4-4-4-4zm8 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z"
4350
+ }
4351
+ ) }),
4352
+ outdent: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4353
+ "path",
4354
+ {
4355
+ fill: "currentColor",
4356
+ d: "M11 17h10v-2H11v2zm-8-5l4 4V8l-4 4zm0 9h18v-2H3v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z"
4357
+ }
4358
+ ) }),
4359
+ bulletList: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4360
+ "path",
4361
+ {
4362
+ fill: "currentColor",
4363
+ d: "M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z"
4364
+ }
4365
+ ) }),
4366
+ orderedList: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4367
+ "path",
4368
+ {
4369
+ fill: "currentColor",
4370
+ d: "M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z"
4371
+ }
4372
+ ) }),
4373
+ heading1: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4374
+ "path",
4375
+ {
4376
+ fill: "currentColor",
4377
+ d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14h-2V9h-2V7h4v10z"
4378
+ }
4379
+ ) }),
4380
+ heading2: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4381
+ "path",
4382
+ {
4383
+ fill: "currentColor",
4384
+ d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8c0 1.1-.9 2-2 2h-2v2h4v2H9v-4c0-1.1.9-2 2-2h2V9H9V7h4c1.1 0 2 .9 2 2v2z"
4385
+ }
4386
+ ) }),
4387
+ heading3: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4388
+ "path",
4389
+ {
4390
+ fill: "currentColor",
4391
+ d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8c0 1.1-.9 2-2 2v0c1.1 0 2 .9 2 2v1c0 1.1-.9 2-2 2H9v-2h4v-2h-2v-2h2V9H9V7h4c1.1 0 2 .9 2 2v2z"
4392
+ }
4393
+ ) }),
3922
4394
  blockquote: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z" }) }),
3923
4395
  horizontalRule: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M4 11h16v2H4z" }) }),
3924
- link: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z" }) }),
3925
- unlink: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M17 7h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1 0 1.43-.98 2.63-2.31 2.98l1.46 1.46C20.88 15.61 22 13.95 22 12c0-2.76-2.24-5-5-5zm-1 4h-2.19l2 2H16v-2zM2 4.27l3.11 3.11A4.991 4.991 0 002 12c0 2.76 2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1 0-1.59 1.21-2.9 2.76-3.07L8.73 11H8v2h2.73L13 15.27V17h1.73l4.01 4L20 19.74 3.27 3 2 4.27z" }) }),
3926
- image: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z" }) }),
3927
- video: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11l-4 4z" }) }),
3928
- table: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z" }) }),
3929
- emoji: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z" }) }),
3930
- undo: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M12.5 8c-2.65 0-5.05 1.04-6.83 2.73L3 8v9h9l-3.01-3c1.37-1.12 3.11-1.8 5.01-1.8 3.33 0 6.17 2.11 7.22 5.06l1.98-.65C21.79 12.58 17.54 8 12.5 8z" }) }),
3931
- redo: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22l1.98.65c1.05-3.19 4.05-5.47 7.98-5.47 1.9 0 3.64.68 5.01 1.8L13.5 15h9V6l-4.1 4.6z" }) }),
3932
- fullscreen: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z" }) }),
3933
- print: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z" }) }),
3934
- textColor: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M11 3L5.5 17h2.25l1.12-3h6.25l1.12 3h2.25L13 3h-2zm-1.38 9L12 5.67 14.38 12H9.62z" }) }),
3935
- backgroundColor: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { fill: "currentColor", d: "M16.56 8.94L7.62 0 6.21 1.41l2.38 2.38-5.15 5.15c-.59.59-.59 1.54 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.58.59-1.53 0-2.12zM5.21 10L10 5.21 14.79 10H5.21zM19 11.5s-2 2.17-2 3.5c0 1.1.9 2 2 2s2-.9 2-2c0-1.33-2-3.5-2-3.5zM2 20h20v4H2v-4z" }) })
4396
+ link: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4397
+ "path",
4398
+ {
4399
+ fill: "currentColor",
4400
+ d: "M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"
4401
+ }
4402
+ ) }),
4403
+ unlink: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4404
+ "path",
4405
+ {
4406
+ fill: "currentColor",
4407
+ d: "M17 7h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1 0 1.43-.98 2.63-2.31 2.98l1.46 1.46C20.88 15.61 22 13.95 22 12c0-2.76-2.24-5-5-5zm-1 4h-2.19l2 2H16v-2zM2 4.27l3.11 3.11A4.991 4.991 0 002 12c0 2.76 2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1 0-1.59 1.21-2.9 2.76-3.07L8.73 11H8v2h2.73L13 15.27V17h1.73l4.01 4L20 19.74 3.27 3 2 4.27z"
4408
+ }
4409
+ ) }),
4410
+ image: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4411
+ "path",
4412
+ {
4413
+ fill: "currentColor",
4414
+ d: "M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"
4415
+ }
4416
+ ) }),
4417
+ video: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4418
+ "path",
4419
+ {
4420
+ fill: "currentColor",
4421
+ d: "M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11l-4 4z"
4422
+ }
4423
+ ) }),
4424
+ table: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4425
+ "path",
4426
+ {
4427
+ fill: "currentColor",
4428
+ d: "M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z"
4429
+ }
4430
+ ) }),
4431
+ emoji: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4432
+ "path",
4433
+ {
4434
+ fill: "currentColor",
4435
+ d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z"
4436
+ }
4437
+ ) }),
4438
+ undo: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4439
+ "path",
4440
+ {
4441
+ fill: "currentColor",
4442
+ d: "M12.5 8c-2.65 0-5.05 1.04-6.83 2.73L3 8v9h9l-3.01-3c1.37-1.12 3.11-1.8 5.01-1.8 3.33 0 6.17 2.11 7.22 5.06l1.98-.65C21.79 12.58 17.54 8 12.5 8z"
4443
+ }
4444
+ ) }),
4445
+ redo: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4446
+ "path",
4447
+ {
4448
+ fill: "currentColor",
4449
+ d: "M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22l1.98.65c1.05-3.19 4.05-5.47 7.98-5.47 1.9 0 3.64.68 5.01 1.8L13.5 15h9V6l-4.1 4.6z"
4450
+ }
4451
+ ) }),
4452
+ fullscreen: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4453
+ "path",
4454
+ {
4455
+ fill: "currentColor",
4456
+ d: "M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"
4457
+ }
4458
+ ) }),
4459
+ print: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4460
+ "path",
4461
+ {
4462
+ fill: "currentColor",
4463
+ d: "M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z"
4464
+ }
4465
+ ) }),
4466
+ textColor: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4467
+ "path",
4468
+ {
4469
+ fill: "currentColor",
4470
+ d: "M11 3L5.5 17h2.25l1.12-3h6.25l1.12 3h2.25L13 3h-2zm-1.38 9L12 5.67 14.38 12H9.62z"
4471
+ }
4472
+ ) }),
4473
+ backgroundColor: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", width: "16", height: "16", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4474
+ "path",
4475
+ {
4476
+ fill: "currentColor",
4477
+ d: "M16.56 8.94L7.62 0 6.21 1.41l2.38 2.38-5.15 5.15c-.59.59-.59 1.54 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.58.59-1.53 0-2.12zM5.21 10L10 5.21 14.79 10H5.21zM19 11.5s-2 2.17-2 3.5c0 1.1.9 2 2 2s2-.9 2-2c0-1.33-2-3.5-2-3.5zM2 20h20v4H2v-4z"
4478
+ }
4479
+ ) })
3936
4480
  };
3937
4481
  LexicalToolbar = ({
3938
4482
  editor,
@@ -4201,15 +4745,7 @@ var init_LexicalToolbar = __esm({
4201
4745
  );
4202
4746
  // Blocks
4203
4747
  case "blockquote":
4204
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4205
- ToolbarButton2,
4206
- {
4207
- onClick: formatQuote,
4208
- title: "Blockquote",
4209
- children: icons2.blockquote
4210
- },
4211
- button
4212
- );
4748
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ToolbarButton2, { onClick: formatQuote, title: "Blockquote", children: icons2.blockquote }, button);
4213
4749
  case "horizontalRule":
4214
4750
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4215
4751
  ToolbarButton2,
@@ -4222,45 +4758,45 @@ var init_LexicalToolbar = __esm({
4222
4758
  );
4223
4759
  // Links
4224
4760
  case "link":
4225
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "rte-builder-toolbar-dropdown", ref: linkDialogRef, children: [
4226
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4227
- ToolbarButton2,
4228
- {
4229
- onClick: () => setShowLinkDialog(!showLinkDialog),
4230
- title: "Insert Link",
4231
- children: icons2.link
4232
- }
4233
- ),
4234
- showLinkDialog && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "rte-builder-toolbar-dropdown-content", children: [
4235
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4236
- "input",
4237
- {
4238
- type: "url",
4239
- placeholder: "Enter URL...",
4240
- value: linkUrl,
4241
- onChange: (e) => setLinkUrl(e.target.value),
4242
- onKeyDown: (e) => {
4243
- if (e.key === "Enter") {
4244
- e.preventDefault();
4245
- insertLink();
4246
- }
4247
- },
4248
- autoFocus: true
4249
- }
4250
- ),
4251
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { onClick: insertLink, children: "Insert" })
4252
- ] })
4253
- ] }, button);
4254
- case "unlink":
4255
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4256
- ToolbarButton2,
4761
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
4762
+ "div",
4257
4763
  {
4258
- onClick: removeLink,
4259
- title: "Remove Link",
4260
- children: icons2.unlink
4764
+ className: "rte-builder-toolbar-dropdown",
4765
+ ref: linkDialogRef,
4766
+ children: [
4767
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4768
+ ToolbarButton2,
4769
+ {
4770
+ onClick: () => setShowLinkDialog(!showLinkDialog),
4771
+ title: "Insert Link",
4772
+ children: icons2.link
4773
+ }
4774
+ ),
4775
+ showLinkDialog && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "rte-builder-toolbar-dropdown-content", children: [
4776
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4777
+ "input",
4778
+ {
4779
+ type: "url",
4780
+ placeholder: "Enter URL...",
4781
+ value: linkUrl,
4782
+ onChange: (e) => setLinkUrl(e.target.value),
4783
+ onKeyDown: (e) => {
4784
+ if (e.key === "Enter") {
4785
+ e.preventDefault();
4786
+ insertLink();
4787
+ }
4788
+ },
4789
+ autoFocus: true
4790
+ }
4791
+ ),
4792
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { onClick: insertLink, children: "Insert" })
4793
+ ] })
4794
+ ]
4261
4795
  },
4262
4796
  button
4263
4797
  );
4798
+ case "unlink":
4799
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ToolbarButton2, { onClick: removeLink, title: "Remove Link", children: icons2.unlink }, button);
4264
4800
  // Media
4265
4801
  case "image":
4266
4802
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
@@ -4298,39 +4834,45 @@ var init_LexicalToolbar = __esm({
4298
4834
  );
4299
4835
  // Emoji
4300
4836
  case "emoji":
4301
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "rte-builder-toolbar-dropdown", ref: emojiPickerRef, children: [
4302
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4303
- ToolbarButton2,
4304
- {
4305
- onClick: () => setShowEmojiPicker(!showEmojiPicker),
4306
- title: "Insert Emoji",
4307
- children: icons2.emoji
4308
- }
4309
- ),
4310
- showEmojiPicker && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "rte-builder-emoji-picker", children: [
4311
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "rte-builder-emoji-categories", children: Object.entries(EMOJI_CATEGORIES).map(([key, category]) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4312
- "button",
4313
- {
4314
- className: `rte-builder-emoji-category-btn ${selectedEmojiCategory === key ? "active" : ""}`,
4315
- onClick: () => setSelectedEmojiCategory(key),
4316
- title: category.label,
4317
- children: category.emojis[0]
4318
- },
4319
- key
4320
- )) }),
4321
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "rte-builder-emoji-grid", children: EMOJI_CATEGORIES[selectedEmojiCategory]?.emojis.map(
4322
- (emoji, idx) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4323
- "button",
4837
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
4838
+ "div",
4839
+ {
4840
+ className: "rte-builder-toolbar-dropdown",
4841
+ ref: emojiPickerRef,
4842
+ children: [
4843
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4844
+ ToolbarButton2,
4324
4845
  {
4325
- className: "rte-builder-emoji-btn",
4326
- onClick: () => insertEmoji(emoji),
4327
- children: emoji
4328
- },
4329
- idx
4330
- )
4331
- ) })
4332
- ] })
4333
- ] }, button);
4846
+ onClick: () => setShowEmojiPicker(!showEmojiPicker),
4847
+ title: "Insert Emoji",
4848
+ children: icons2.emoji
4849
+ }
4850
+ ),
4851
+ showEmojiPicker && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "rte-builder-emoji-picker", children: [
4852
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "rte-builder-emoji-categories", children: Object.entries(EMOJI_CATEGORIES).map(([key, category]) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4853
+ "button",
4854
+ {
4855
+ className: `rte-builder-emoji-category-btn ${selectedEmojiCategory === key ? "active" : ""}`,
4856
+ onClick: () => setSelectedEmojiCategory(key),
4857
+ title: category.label,
4858
+ children: category.emojis[0]
4859
+ },
4860
+ key
4861
+ )) }),
4862
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "rte-builder-emoji-grid", children: EMOJI_CATEGORIES[selectedEmojiCategory]?.emojis.map((emoji, idx) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
4863
+ "button",
4864
+ {
4865
+ className: "rte-builder-emoji-btn",
4866
+ onClick: () => insertEmoji(emoji),
4867
+ children: emoji
4868
+ },
4869
+ idx
4870
+ )) })
4871
+ ] })
4872
+ ]
4873
+ },
4874
+ button
4875
+ );
4334
4876
  // Actions
4335
4877
  case "undo":
4336
4878
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
@@ -5228,12 +5770,7 @@ var DEFAULT_FEATURES = {
5228
5770
 
5229
5771
  // src/adapters/tiptap/TipTapAdapter.ts
5230
5772
  function checkTipTapAvailable() {
5231
- try {
5232
- require("@tiptap/react");
5233
- return true;
5234
- } catch {
5235
- return false;
5236
- }
5773
+ return true;
5237
5774
  }
5238
5775
  var TIPTAP_FEATURES = {
5239
5776
  ...DEFAULT_FEATURES,
@@ -5661,6 +6198,7 @@ init_Indent();
5661
6198
  // src/components/Toolbar.tsx
5662
6199
  var import_react9 = require("react");
5663
6200
  init_Emoji();
6201
+ var import_lucide_react = require("lucide-react");
5664
6202
  var import_jsx_runtime8 = require("react/jsx-runtime");
5665
6203
  var FONT_FAMILIES2 = [
5666
6204
  { value: "Arial", label: "Arial" },
@@ -5774,7 +6312,7 @@ var Toolbar = ({
5774
6312
  onClick: () => editor.chain().focus().toggleBold().run(),
5775
6313
  active: editor.isActive("bold"),
5776
6314
  title: "Bold (Ctrl+B)",
5777
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("strong", { children: "B" })
6315
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Bold, { size: 18 })
5778
6316
  },
5779
6317
  "bold"
5780
6318
  );
@@ -5785,7 +6323,7 @@ var Toolbar = ({
5785
6323
  onClick: () => editor.chain().focus().toggleItalic().run(),
5786
6324
  active: editor.isActive("italic"),
5787
6325
  title: "Italic (Ctrl+I)",
5788
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("em", { children: "I" })
6326
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Italic, { size: 18 })
5789
6327
  },
5790
6328
  "italic"
5791
6329
  );
@@ -5796,7 +6334,7 @@ var Toolbar = ({
5796
6334
  onClick: () => editor.chain().focus().toggleUnderline().run(),
5797
6335
  active: editor.isActive("underline"),
5798
6336
  title: "Underline (Ctrl+U)",
5799
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("u", { children: "U" })
6337
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Underline, { size: 18 })
5800
6338
  },
5801
6339
  "underline"
5802
6340
  );
@@ -5807,7 +6345,7 @@ var Toolbar = ({
5807
6345
  onClick: () => editor.chain().focus().toggleStrike().run(),
5808
6346
  active: editor.isActive("strike"),
5809
6347
  title: "Strikethrough",
5810
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("s", { children: "S" })
6348
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Strikethrough, { size: 18 })
5811
6349
  },
5812
6350
  "strike"
5813
6351
  );
@@ -5818,7 +6356,7 @@ var Toolbar = ({
5818
6356
  onClick: () => editor.chain().focus().toggleCode().run(),
5819
6357
  active: editor.isActive("code"),
5820
6358
  title: "Inline Code",
5821
- children: "</>"
6359
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Code, { size: 18 })
5822
6360
  },
5823
6361
  "code"
5824
6362
  );
@@ -5829,35 +6367,29 @@ var Toolbar = ({
5829
6367
  onClick: () => editor.chain().focus().toggleCodeBlock().run(),
5830
6368
  active: editor.isActive("codeBlock"),
5831
6369
  title: "Code Block",
5832
- children: "{ }"
6370
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.FileCode, { size: 18 })
5833
6371
  },
5834
6372
  "codeBlock"
5835
6373
  );
5836
6374
  case "subscript":
5837
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6375
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5838
6376
  ToolbarButton3,
5839
6377
  {
5840
6378
  onClick: () => editor.chain().focus().toggleSubscript().run(),
5841
6379
  active: editor.isActive("subscript"),
5842
6380
  title: "Subscript",
5843
- children: [
5844
- "X",
5845
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("sub", { children: "2" })
5846
- ]
6381
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Subscript, { size: 18 })
5847
6382
  },
5848
6383
  "subscript"
5849
6384
  );
5850
6385
  case "superscript":
5851
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6386
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5852
6387
  ToolbarButton3,
5853
6388
  {
5854
6389
  onClick: () => editor.chain().focus().toggleSuperscript().run(),
5855
6390
  active: editor.isActive("superscript"),
5856
6391
  title: "Superscript",
5857
- children: [
5858
- "X",
5859
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("sup", { children: "2" })
5860
- ]
6392
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Superscript, { size: 18 })
5861
6393
  },
5862
6394
  "superscript"
5863
6395
  );
@@ -5867,7 +6399,7 @@ var Toolbar = ({
5867
6399
  {
5868
6400
  onClick: () => editor.chain().focus().clearNodes().unsetAllMarks().run(),
5869
6401
  title: "Clear Formatting",
5870
- children: "\u2715"
6402
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.RemoveFormatting, { size: 18 })
5871
6403
  },
5872
6404
  "clearFormatting"
5873
6405
  );
@@ -5934,7 +6466,7 @@ var Toolbar = ({
5934
6466
  );
5935
6467
  case "textColor":
5936
6468
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "rte-builder-toolbar-color", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { title: "Text Color", children: [
5937
- "A",
6469
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Type, { size: 18 }),
5938
6470
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5939
6471
  "input",
5940
6472
  {
@@ -5946,7 +6478,7 @@ var Toolbar = ({
5946
6478
  ] }) }, "textColor");
5947
6479
  case "backgroundColor":
5948
6480
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "rte-builder-toolbar-color", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { title: "Background Color", children: [
5949
- "\u2B1B",
6481
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Highlighter, { size: 18 }),
5950
6482
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
5951
6483
  "input",
5952
6484
  {
@@ -5963,7 +6495,7 @@ var Toolbar = ({
5963
6495
  onClick: () => editor.chain().focus().setTextAlign("left").run(),
5964
6496
  active: editor.isActive({ textAlign: "left" }),
5965
6497
  title: "Align Left",
5966
- children: "\u2B05"
6498
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.AlignLeft, { size: 18 })
5967
6499
  },
5968
6500
  "alignLeft"
5969
6501
  );
@@ -5974,7 +6506,7 @@ var Toolbar = ({
5974
6506
  onClick: () => editor.chain().focus().setTextAlign("center").run(),
5975
6507
  active: editor.isActive({ textAlign: "center" }),
5976
6508
  title: "Align Center",
5977
- children: "\u2194"
6509
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.AlignCenter, { size: 18 })
5978
6510
  },
5979
6511
  "alignCenter"
5980
6512
  );
@@ -5985,7 +6517,7 @@ var Toolbar = ({
5985
6517
  onClick: () => editor.chain().focus().setTextAlign("right").run(),
5986
6518
  active: editor.isActive({ textAlign: "right" }),
5987
6519
  title: "Align Right",
5988
- children: "\u27A1"
6520
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.AlignRight, { size: 18 })
5989
6521
  },
5990
6522
  "alignRight"
5991
6523
  );
@@ -5996,7 +6528,7 @@ var Toolbar = ({
5996
6528
  onClick: () => editor.chain().focus().setTextAlign("justify").run(),
5997
6529
  active: editor.isActive({ textAlign: "justify" }),
5998
6530
  title: "Justify",
5999
- children: "\u2B0C"
6531
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.AlignJustify, { size: 18 })
6000
6532
  },
6001
6533
  "alignJustify"
6002
6534
  );
@@ -6006,7 +6538,7 @@ var Toolbar = ({
6006
6538
  {
6007
6539
  onClick: () => editor.chain().focus().indent().run(),
6008
6540
  title: "Indent (Tab)",
6009
- children: "\u2192|"
6541
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Indent, { size: 18 })
6010
6542
  },
6011
6543
  "indent"
6012
6544
  );
@@ -6016,7 +6548,7 @@ var Toolbar = ({
6016
6548
  {
6017
6549
  onClick: () => editor.chain().focus().outdent().run(),
6018
6550
  title: "Outdent (Shift+Tab)",
6019
- children: "|\u2190"
6551
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Outdent, { size: 18 })
6020
6552
  },
6021
6553
  "outdent"
6022
6554
  );
@@ -6027,7 +6559,7 @@ var Toolbar = ({
6027
6559
  onClick: () => editor.chain().focus().toggleBulletList().run(),
6028
6560
  active: editor.isActive("bulletList"),
6029
6561
  title: "Bullet List",
6030
- children: "\u2022"
6562
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.List, { size: 18 })
6031
6563
  },
6032
6564
  "bulletList"
6033
6565
  );
@@ -6038,7 +6570,7 @@ var Toolbar = ({
6038
6570
  onClick: () => editor.chain().focus().toggleOrderedList().run(),
6039
6571
  active: editor.isActive("orderedList"),
6040
6572
  title: "Numbered List",
6041
- children: "1."
6573
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.ListOrdered, { size: 18 })
6042
6574
  },
6043
6575
  "orderedList"
6044
6576
  );
@@ -6049,16 +6581,16 @@ var Toolbar = ({
6049
6581
  case "heading5":
6050
6582
  case "heading6":
6051
6583
  const level = parseInt(button.replace("heading", ""));
6052
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
6584
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
6053
6585
  ToolbarButton3,
6054
6586
  {
6055
6587
  onClick: () => editor.chain().focus().toggleHeading({ level }).run(),
6056
6588
  active: editor.isActive("heading", { level }),
6057
6589
  title: `Heading ${level}`,
6058
- children: [
6059
- "H",
6060
- level
6061
- ]
6590
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("span", { style: { display: "flex", alignItems: "center", gap: "2px" }, children: [
6591
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Heading, { size: 18 }),
6592
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { style: { fontSize: "11px", fontWeight: "bold" }, children: level })
6593
+ ] })
6062
6594
  },
6063
6595
  button
6064
6596
  );
@@ -6069,7 +6601,7 @@ var Toolbar = ({
6069
6601
  onClick: () => editor.chain().focus().toggleBlockquote().run(),
6070
6602
  active: editor.isActive("blockquote"),
6071
6603
  title: "Blockquote",
6072
- children: '"'
6604
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Quote, { size: 18 })
6073
6605
  },
6074
6606
  "blockquote"
6075
6607
  );
@@ -6079,7 +6611,7 @@ var Toolbar = ({
6079
6611
  {
6080
6612
  onClick: () => editor.chain().focus().setHorizontalRule().run(),
6081
6613
  title: "Horizontal Rule",
6082
- children: "\u2015"
6614
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Minus, { size: 18 })
6083
6615
  },
6084
6616
  "horizontalRule"
6085
6617
  );
@@ -6095,7 +6627,7 @@ var Toolbar = ({
6095
6627
  },
6096
6628
  active: editor.isActive("link"),
6097
6629
  title: "Insert Link",
6098
- children: "\u{1F517}"
6630
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Link, { size: 18 })
6099
6631
  },
6100
6632
  "link"
6101
6633
  );
@@ -6106,7 +6638,7 @@ var Toolbar = ({
6106
6638
  onClick: () => editor.chain().focus().unsetLink().run(),
6107
6639
  disabled: !editor.isActive("link"),
6108
6640
  title: "Remove Link",
6109
- children: "\u{1F517}\u2715"
6641
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Unlink, { size: 18 })
6110
6642
  },
6111
6643
  "unlink"
6112
6644
  );
@@ -6125,7 +6657,7 @@ var Toolbar = ({
6125
6657
  }
6126
6658
  },
6127
6659
  title: "Insert Image",
6128
- children: "\u{1F5BC}\uFE0F"
6660
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Image, { size: 18 })
6129
6661
  },
6130
6662
  "image"
6131
6663
  );
@@ -6144,7 +6676,7 @@ var Toolbar = ({
6144
6676
  }
6145
6677
  },
6146
6678
  title: "Insert Video",
6147
- children: "\u{1F3A5}"
6679
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Video, { size: 18 })
6148
6680
  },
6149
6681
  "video"
6150
6682
  );
@@ -6154,7 +6686,7 @@ var Toolbar = ({
6154
6686
  {
6155
6687
  onClick: () => editor.chain().focus().insertTable({ rows: 3, cols: 3, withHeaderRow: true }).run(),
6156
6688
  title: "Insert Table",
6157
- children: "\u229E"
6689
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Table, { size: 18 })
6158
6690
  },
6159
6691
  "table"
6160
6692
  );
@@ -6167,7 +6699,7 @@ var Toolbar = ({
6167
6699
  onClick: () => setShowEmojiPicker(!showEmojiPicker),
6168
6700
  active: showEmojiPicker,
6169
6701
  title: "Insert Emoji",
6170
- children: "\u{1F600}"
6702
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Smile, { size: 18 })
6171
6703
  }
6172
6704
  ),
6173
6705
  showEmojiPicker && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
@@ -6186,7 +6718,7 @@ var Toolbar = ({
6186
6718
  onClick: () => editor.chain().focus().toggleFullscreen().run(),
6187
6719
  active: isFullscreen,
6188
6720
  title: isFullscreen ? "Exit Fullscreen (Esc)" : "Fullscreen (Ctrl+Shift+F)",
6189
- children: isFullscreen ? "\u2297" : "\u26F6"
6721
+ children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Minimize, { size: 18 }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Maximize, { size: 18 })
6190
6722
  },
6191
6723
  "fullscreen"
6192
6724
  );
@@ -6196,7 +6728,7 @@ var Toolbar = ({
6196
6728
  {
6197
6729
  onClick: () => editor.chain().focus().print().run(),
6198
6730
  title: "Print (Ctrl+P)",
6199
- children: "\u{1F5A8}\uFE0F"
6731
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Printer, { size: 18 })
6200
6732
  },
6201
6733
  "print"
6202
6734
  );
@@ -6207,7 +6739,7 @@ var Toolbar = ({
6207
6739
  onClick: () => editor.chain().focus().undo().run(),
6208
6740
  disabled: !editor.can().undo(),
6209
6741
  title: "Undo (Ctrl+Z)",
6210
- children: "\u21B6"
6742
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Undo, { size: 18 })
6211
6743
  },
6212
6744
  "undo"
6213
6745
  );
@@ -6218,7 +6750,7 @@ var Toolbar = ({
6218
6750
  onClick: () => editor.chain().focus().redo().run(),
6219
6751
  disabled: !editor.can().redo(),
6220
6752
  title: "Redo (Ctrl+Y)",
6221
- children: "\u21B7"
6753
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react.Redo, { size: 18 })
6222
6754
  },
6223
6755
  "redo"
6224
6756
  );