@halo-dev/richtext-editor 0.0.0-alpha.7 → 0.0.0-alpha.9

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.
@@ -18827,541 +18827,26 @@ img.ProseMirror-separator {
18827
18827
  }
18828
18828
  });
18829
18829
  const Menu = _sfc_main$2$1;
18830
- const _hoisted_1$r = {
18831
- viewBox: "0 0 24 24",
18832
- width: "1.2em",
18833
- height: "1.2em"
18834
- };
18835
- const _hoisted_2$r = /* @__PURE__ */ vue.createElementVNode("path", {
18836
- fill: "currentColor",
18837
- d: "M13.5 15.5H10v-3h3.5A1.5 1.5 0 0 1 15 14a1.5 1.5 0 0 1-1.5 1.5m-3.5-9h3A1.5 1.5 0 0 1 14.5 8A1.5 1.5 0 0 1 13 9.5h-3m5.6 1.29c.97-.68 1.65-1.79 1.65-2.79c0-2.26-1.75-4-4-4H7v14h7.04c2.1 0 3.71-1.7 3.71-3.79c0-1.52-.86-2.82-2.15-3.42Z"
18838
- }, null, -1);
18839
- const _hoisted_3$q = [
18840
- _hoisted_2$r
18841
- ];
18842
- function render$m(_ctx, _cache) {
18843
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$r, _hoisted_3$q);
18844
- }
18845
- const MdiFormatBold = { name: "mdi-format-bold", render: render$m };
18846
- const _hoisted_1$q = {
18847
- viewBox: "0 0 24 24",
18848
- width: "1.2em",
18849
- height: "1.2em"
18850
- };
18851
- const _hoisted_2$q = /* @__PURE__ */ vue.createElementVNode("path", {
18852
- fill: "currentColor",
18853
- d: "M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4h-8Z"
18854
- }, null, -1);
18855
- const _hoisted_3$p = [
18856
- _hoisted_2$q
18857
- ];
18858
- function render$l(_ctx, _cache) {
18859
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$q, _hoisted_3$p);
18860
- }
18861
- const MdiFormatItalic = { name: "mdi-format-italic", render: render$l };
18862
- const _hoisted_1$p = {
18863
- viewBox: "0 0 24 24",
18864
- width: "1.2em",
18865
- height: "1.2em"
18866
- };
18867
- const _hoisted_2$p = /* @__PURE__ */ vue.createElementVNode("path", {
18868
- fill: "currentColor",
18869
- d: "M3 14h18v-2H3m2-8v3h5v3h4V7h5V4m-9 15h4v-3h-4v3Z"
18870
- }, null, -1);
18871
- const _hoisted_3$o = [
18872
- _hoisted_2$p
18873
- ];
18874
- function render$k(_ctx, _cache) {
18875
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$p, _hoisted_3$o);
18876
- }
18877
- const MdiFormatStrikethrough = { name: "mdi-format-strikethrough", render: render$k };
18878
- const _hoisted_1$o = {
18879
- viewBox: "0 0 24 24",
18880
- width: "1.2em",
18881
- height: "1.2em"
18882
- };
18883
- const _hoisted_2$o = /* @__PURE__ */ vue.createElementVNode("path", {
18884
- fill: "currentColor",
18885
- d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m10 4h2.31l.32-3h2l-.32 3h2l.32-3h2l-.32 3H23v2h-1.9l-.2 2H23v2h-2.31l-.32 3h-2l.32-3h-2l-.32 3h-2l.32-3H13v-2h1.9l.2-2H13V8m4.1 2l-.2 2h2l.2-2h-2Z"
18886
- }, null, -1);
18887
- const _hoisted_3$n = [
18888
- _hoisted_2$o
18889
- ];
18890
- function render$j(_ctx, _cache) {
18891
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$o, _hoisted_3$n);
18892
- }
18893
- const MdiFormatHeaderPound = { name: "mdi-format-header-pound", render: render$j };
18894
- const _hoisted_1$n = {
18895
- viewBox: "0 0 24 24",
18896
- width: "1.2em",
18897
- height: "1.2em"
18898
- };
18899
- const _hoisted_2$n = /* @__PURE__ */ vue.createElementVNode("path", {
18900
- fill: "currentColor",
18901
- d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m11 14v-2h2V6.31l-2.5 1.44V5.44L16 4h2v12h2v2h-6Z"
18902
- }, null, -1);
18903
- const _hoisted_3$m = [
18904
- _hoisted_2$n
18905
- ];
18906
- function render$i(_ctx, _cache) {
18907
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$n, _hoisted_3$m);
18908
- }
18909
- const MdiFormatHeader1 = { name: "mdi-format-header-1", render: render$i };
18910
- const _hoisted_1$m = {
18911
- viewBox: "0 0 24 24",
18912
- width: "1.2em",
18913
- height: "1.2em"
18914
- };
18915
- const _hoisted_2$m = /* @__PURE__ */ vue.createElementVNode("path", {
18916
- fill: "currentColor",
18917
- d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m18 14h-6a2 2 0 0 1-2-2c0-.53.2-1 .54-1.36l4.87-5.23c.37-.36.59-.86.59-1.41a2 2 0 0 0-2-2a2 2 0 0 0-2 2h-2a4 4 0 0 1 4-4a4 4 0 0 1 4 4c0 1.1-.45 2.1-1.17 2.83L15 16h6v2Z"
18918
- }, null, -1);
18919
- const _hoisted_3$l = [
18920
- _hoisted_2$m
18921
- ];
18922
- function render$h(_ctx, _cache) {
18923
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$m, _hoisted_3$l);
18924
- }
18925
- const MdiFormatHeader2 = { name: "mdi-format-header-2", render: render$h };
18926
- const _hoisted_1$l = {
18927
- viewBox: "0 0 24 24",
18928
- width: "1.2em",
18929
- height: "1.2em"
18930
- };
18931
- const _hoisted_2$l = /* @__PURE__ */ vue.createElementVNode("path", {
18932
- fill: "currentColor",
18933
- d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m12 0h4a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h2v1h4v-4h-4v-2h4V6h-4v1h-2V6a2 2 0 0 1 2-2Z"
18934
- }, null, -1);
18935
- const _hoisted_3$k = [
18936
- _hoisted_2$l
18937
- ];
18938
- function render$g(_ctx, _cache) {
18939
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$l, _hoisted_3$k);
18940
- }
18941
- const MdiFormatHeader3 = { name: "mdi-format-header-3", render: render$g };
18942
- const _hoisted_1$k = {
18943
- viewBox: "0 0 24 24",
18944
- width: "1.2em",
18945
- height: "1.2em"
18946
- };
18947
- const _hoisted_2$k = /* @__PURE__ */ vue.createElementVNode("path", {
18948
- fill: "currentColor",
18949
- d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m15 14v-5h-5v-2l5-7h2v7h1v2h-1v5h-2m0-7V7.42L15.45 11H18Z"
18950
- }, null, -1);
18951
- const _hoisted_3$j = [
18952
- _hoisted_2$k
18953
- ];
18954
- function render$f(_ctx, _cache) {
18955
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$k, _hoisted_3$j);
18956
- }
18957
- const MdiFormatHeader4 = { name: "mdi-format-header-4", render: render$f };
18958
- const _hoisted_1$j = {
18959
- viewBox: "0 0 24 24",
18960
- width: "1.2em",
18961
- height: "1.2em"
18962
- };
18963
- const _hoisted_2$j = /* @__PURE__ */ vue.createElementVNode("path", {
18964
- fill: "currentColor",
18965
- d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m12 0h5v2h-5v4h2a4 4 0 0 1 4 4a4 4 0 0 1-4 4h-2a2 2 0 0 1-2-2v-1h2v1h2a2 2 0 0 0 2-2a2 2 0 0 0-2-2h-2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z"
18966
- }, null, -1);
18967
- const _hoisted_3$i = [
18968
- _hoisted_2$j
18969
- ];
18970
- function render$e(_ctx, _cache) {
18971
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$j, _hoisted_3$i);
18972
- }
18973
- const MdiFormatHeader5 = { name: "mdi-format-header-5", render: render$e };
18974
- const _hoisted_1$i = {
18975
- viewBox: "0 0 24 24",
18976
- width: "1.2em",
18977
- height: "1.2em"
18978
- };
18979
- const _hoisted_2$i = /* @__PURE__ */ vue.createElementVNode("path", {
18980
- fill: "currentColor",
18981
- d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m12 0h4a2 2 0 0 1 2 2v1h-2V6h-4v4h4a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2m0 8v4h4v-4h-4Z"
18982
- }, null, -1);
18983
- const _hoisted_3$h = [
18984
- _hoisted_2$i
18985
- ];
18986
- function render$d(_ctx, _cache) {
18987
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$i, _hoisted_3$h);
18988
- }
18989
- const MdiFormatHeader6 = { name: "mdi-format-header-6", render: render$d };
18990
- const _hoisted_1$h = {
18991
- viewBox: "0 0 24 24",
18992
- width: "1.2em",
18993
- height: "1.2em"
18994
- };
18995
- const _hoisted_2$h = /* @__PURE__ */ vue.createElementVNode("path", {
18996
- fill: "currentColor",
18997
- d: "M13.5 7a6.5 6.5 0 0 1 6.5 6.5a6.5 6.5 0 0 1-6.5 6.5H10v-2h3.5c2.5 0 4.5-2 4.5-4.5S16 9 13.5 9H7.83l3.08 3.09L9.5 13.5L4 8l5.5-5.5l1.42 1.41L7.83 7h5.67M6 18h2v2H6v-2Z"
18998
- }, null, -1);
18999
- const _hoisted_3$g = [
19000
- _hoisted_2$h
19001
- ];
19002
- function render$c(_ctx, _cache) {
19003
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$h, _hoisted_3$g);
19004
- }
19005
- const MdiUndoVariant = { name: "mdi-undo-variant", render: render$c };
19006
- const _hoisted_1$g = {
19007
- viewBox: "0 0 24 24",
19008
- width: "1.2em",
19009
- height: "1.2em"
19010
- };
19011
- const _hoisted_2$g = /* @__PURE__ */ vue.createElementVNode("path", {
19012
- fill: "currentColor",
19013
- d: "M10.5 7A6.5 6.5 0 0 0 4 13.5a6.5 6.5 0 0 0 6.5 6.5H14v-2h-3.5C8 18 6 16 6 13.5S8 9 10.5 9h5.67l-3.08 3.09l1.41 1.41L20 8l-5.5-5.5l-1.42 1.41L16.17 7H10.5M18 18h-2v2h2v-2Z"
19014
- }, null, -1);
19015
- const _hoisted_3$f = [
19016
- _hoisted_2$g
19017
- ];
19018
- function render$b(_ctx, _cache) {
19019
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$g, _hoisted_3$f);
19020
- }
19021
- const MdiRedoVariant = { name: "mdi-redo-variant", render: render$b };
19022
- const _hoisted_1$f = {
19023
- viewBox: "0 0 24 24",
19024
- width: "1.2em",
19025
- height: "1.2em"
19026
- };
19027
- const _hoisted_2$f = /* @__PURE__ */ vue.createElementVNode("path", {
19028
- fill: "currentColor",
19029
- d: "M5 21h14v-2H5v2m7-4a6 6 0 0 0 6-6V3h-2.5v8a3.5 3.5 0 0 1-3.5 3.5A3.5 3.5 0 0 1 8.5 11V3H6v8a6 6 0 0 0 6 6Z"
19030
- }, null, -1);
19031
- const _hoisted_3$e = [
19032
- _hoisted_2$f
19033
- ];
19034
- function render$a(_ctx, _cache) {
19035
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$f, _hoisted_3$e);
19036
- }
19037
- const MdiFormatUnderline = { name: "mdi-format-underline", render: render$a };
19038
- const _hoisted_1$e = {
19039
- viewBox: "0 0 24 24",
19040
- width: "1.2em",
19041
- height: "1.2em"
19042
- };
19043
- const _hoisted_2$e = /* @__PURE__ */ vue.createElementVNode("path", {
19044
- fill: "currentColor",
19045
- d: "M3 3h18v2H3V3m0 4h12v2H3V7m0 4h18v2H3v-2m0 4h12v2H3v-2m0 4h18v2H3v-2Z"
19046
- }, null, -1);
19047
- const _hoisted_3$d = [
19048
- _hoisted_2$e
19049
- ];
19050
- function render$9(_ctx, _cache) {
19051
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$e, _hoisted_3$d);
19052
- }
19053
- const MdiFormatAlignLeft = { name: "mdi-format-align-left", render: render$9 };
19054
- const _hoisted_1$d = {
19055
- viewBox: "0 0 24 24",
19056
- width: "1.2em",
19057
- height: "1.2em"
19058
- };
19059
- const _hoisted_2$d = /* @__PURE__ */ vue.createElementVNode("path", {
19060
- fill: "currentColor",
19061
- d: "M3 3h18v2H3V3m4 4h10v2H7V7m-4 4h18v2H3v-2m4 4h10v2H7v-2m-4 4h18v2H3v-2Z"
19062
- }, null, -1);
19063
- const _hoisted_3$c = [
19064
- _hoisted_2$d
19065
- ];
19066
- function render$8(_ctx, _cache) {
19067
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$d, _hoisted_3$c);
19068
- }
19069
- const MdiFormatAlignCenter = { name: "mdi-format-align-center", render: render$8 };
19070
- const _hoisted_1$c = {
19071
- viewBox: "0 0 24 24",
19072
- width: "1.2em",
19073
- height: "1.2em"
19074
- };
19075
- const _hoisted_2$c = /* @__PURE__ */ vue.createElementVNode("path", {
19076
- fill: "currentColor",
19077
- d: "M3 3h18v2H3V3m6 4h12v2H9V7m-6 4h18v2H3v-2m6 4h12v2H9v-2m-6 4h18v2H3v-2Z"
19078
- }, null, -1);
19079
- const _hoisted_3$b = [
19080
- _hoisted_2$c
19081
- ];
19082
- function render$7(_ctx, _cache) {
19083
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$c, _hoisted_3$b);
19084
- }
19085
- const MdiFormatAlignRight = { name: "mdi-format-align-right", render: render$7 };
19086
- const _hoisted_1$b = {
19087
- viewBox: "0 0 24 24",
19088
- width: "1.2em",
19089
- height: "1.2em"
19090
- };
19091
- const _hoisted_2$b = /* @__PURE__ */ vue.createElementVNode("path", {
19092
- fill: "currentColor",
19093
- d: "M3 3h18v2H3V3m0 4h18v2H3V7m0 4h18v2H3v-2m0 4h18v2H3v-2m0 4h18v2H3v-2Z"
19094
- }, null, -1);
19095
- const _hoisted_3$a = [
19096
- _hoisted_2$b
19097
- ];
19098
- function render$6(_ctx, _cache) {
19099
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$b, _hoisted_3$a);
19100
- }
19101
- const MdiFormatAlignJustify = { name: "mdi-format-align-justify", render: render$6 };
19102
- const _hoisted_1$a = {
19103
- viewBox: "0 0 24 24",
19104
- width: "1.2em",
19105
- height: "1.2em"
19106
- };
19107
- const _hoisted_2$a = /* @__PURE__ */ vue.createElementVNode("path", {
19108
- fill: "currentColor",
19109
- d: "m10 7l-2 4h3v6H5v-6l2-4h3m8 0l-2 4h3v6h-6v-6l2-4h3Z"
19110
- }, null, -1);
19111
- const _hoisted_3$9 = [
19112
- _hoisted_2$a
19113
- ];
19114
- function render$5(_ctx, _cache) {
19115
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$a, _hoisted_3$9);
19116
- }
19117
- const MdiFormatQuoteOpen = { name: "mdi-format-quote-open", render: render$5 };
19118
- const _hoisted_1$9 = {
19119
- viewBox: "0 0 24 24",
19120
- width: "1.2em",
19121
- height: "1.2em"
19122
- };
19123
- const _hoisted_2$9 = /* @__PURE__ */ vue.createElementVNode("path", {
19124
- fill: "currentColor",
19125
- d: "m14.6 16.6l4.6-4.6l-4.6-4.6L16 6l6 6l-6 6l-1.4-1.4m-5.2 0L4.8 12l4.6-4.6L8 6l-6 6l6 6l1.4-1.4Z"
19126
- }, null, -1);
19127
- const _hoisted_3$8 = [
19128
- _hoisted_2$9
19129
- ];
19130
- function render$4(_ctx, _cache) {
19131
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$9, _hoisted_3$8);
19132
- }
19133
- const MdiCodeTags = { name: "mdi-code-tags", render: render$4 };
19134
- const _hoisted_1$8 = {
19135
- viewBox: "0 0 24 24",
19136
- width: "1.2em",
19137
- height: "1.2em"
19138
- };
19139
- const _hoisted_2$8 = /* @__PURE__ */ vue.createElementVNode("path", {
19140
- fill: "currentColor",
19141
- 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-2m-8 5H9v2c0 1.1-.9 2-2 2c1.1 0 2 .9 2 2v2h2v2H9c-1.1 0-2-.9-2-2v-1c0-1.1-.9-2-2-2v-2c1.1 0 2-.9 2-2V8c0-1.1.9-2 2-2h2v2m8 5c-1.1 0-2 .9-2 2v1c0 1.1-.9 2-2 2h-2v-2h2v-2c0-1.1.9-2 2-2c-1.1 0-2-.9-2-2V8h-2V6h2c1.1 0 2 .9 2 2v1c0 1.1.9 2 2 2v2Z"
19142
- }, null, -1);
19143
- const _hoisted_3$7 = [
19144
- _hoisted_2$8
19145
- ];
19146
- function render$3(_ctx, _cache) {
19147
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$8, _hoisted_3$7);
19148
- }
19149
- const MdiCodeBracesBox = { name: "mdi-code-braces-box", render: render$3 };
19150
- const _hoisted_1$7 = {
19151
- viewBox: "0 0 24 24",
19152
- width: "1.2em",
19153
- height: "1.2em"
19154
- };
19155
- const _hoisted_2$7 = /* @__PURE__ */ vue.createElementVNode("path", {
19156
- fill: "currentColor",
19157
- d: "M16 7.41L11.41 12L16 16.59L14.59 18L10 13.41L5.41 18L4 16.59L8.59 12L4 7.41L5.41 6L10 10.59L14.59 6L16 7.41M21.85 9h-4.88V8l.89-.82c.76-.64 1.32-1.18 1.7-1.63c.37-.44.56-.85.57-1.23a.884.884 0 0 0-.27-.7c-.18-.19-.47-.28-.86-.29c-.31.01-.58.07-.84.17l-.66.39l-.45-1.17c.27-.22.59-.39.98-.53S18.85 2 19.32 2c.78 0 1.38.2 1.78.61c.4.39.62.93.62 1.57c-.01.56-.19 1.08-.54 1.55c-.34.48-.76.93-1.27 1.36l-.64.52v.02h2.58V9Z"
19158
- }, null, -1);
19159
- const _hoisted_3$6 = [
19160
- _hoisted_2$7
19161
- ];
19162
- function render$2(_ctx, _cache) {
19163
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$7, _hoisted_3$6);
19164
- }
19165
- const MdiFormatSuperscript = { name: "mdi-format-superscript", render: render$2 };
19166
- const _hoisted_1$6 = {
19167
- viewBox: "0 0 24 24",
19168
- width: "1.2em",
19169
- height: "1.2em"
19170
- };
19171
- const _hoisted_2$6 = /* @__PURE__ */ vue.createElementVNode("path", {
19172
- fill: "currentColor",
19173
- d: "M16 7.41L11.41 12L16 16.59L14.59 18L10 13.41L5.41 18L4 16.59L8.59 12L4 7.41L5.41 6L10 10.59L14.59 6L16 7.41m5.85 13.62h-4.88v-1l.89-.8c.76-.65 1.32-1.19 1.7-1.63c.37-.44.56-.85.57-1.24a.898.898 0 0 0-.27-.7c-.18-.16-.47-.28-.86-.28c-.31 0-.58.06-.84.18l-.66.38l-.45-1.17c.27-.21.59-.39.98-.53s.82-.24 1.29-.24c.78.04 1.38.25 1.78.66c.4.41.62.93.62 1.57c-.01.56-.19 1.08-.54 1.55c-.34.47-.76.92-1.27 1.36l-.64.52v.02h2.58v1.35Z"
19174
- }, null, -1);
19175
- const _hoisted_3$5 = [
19176
- _hoisted_2$6
19177
- ];
19178
- function render$1(_ctx, _cache) {
19179
- return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$6, _hoisted_3$5);
19180
- }
19181
- const MdiFormatSubscript = { name: "mdi-format-subscript", render: render$1 };
19182
- const _hoisted_1$5 = { class: "editor-header flex items-center py-1 space-x-0.5 justify-center border-b drop-shadow-sm bg-white" };
19183
- const _hoisted_2$5 = ["onClick"];
19184
- const _hoisted_3$4 = { class: "w-24 flex flex-col" };
18830
+ const _hoisted_1$r = { class: "editor-header flex items-center py-1 space-x-0.5 justify-center border-b drop-shadow-sm bg-white" };
18831
+ const _hoisted_2$r = ["onClick"];
18832
+ const _hoisted_3$q = { class: "w-24 flex flex-col" };
19185
18833
  const _hoisted_4$1 = ["onClick"];
19186
18834
  const _hoisted_5$1 = { class: "text-sm" };
19187
18835
  const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
19188
18836
  __name: "EditorHeader",
19189
18837
  props: {
19190
- editor: {
19191
- type: Object,
19192
- required: true
19193
- },
19194
- addtionalMenuItems: {
18838
+ menuItems: {
19195
18839
  type: Array,
19196
18840
  required: false,
19197
18841
  default: () => []
19198
18842
  }
19199
18843
  },
19200
18844
  setup(__props) {
19201
- const props = __props;
19202
- const menuItems = [
19203
- {
19204
- type: "button",
19205
- icon: MdiUndoVariant,
19206
- title: "Undo",
19207
- action: () => props.editor.chain().undo().run(),
19208
- isActive: () => false
19209
- },
19210
- {
19211
- type: "button",
19212
- icon: MdiRedoVariant,
19213
- title: "Redo",
19214
- action: () => props.editor.chain().redo().run(),
19215
- isActive: () => false
19216
- },
19217
- {
19218
- type: "button",
19219
- icon: MdiFormatBold,
19220
- title: "Bold",
19221
- action: () => props.editor.chain().focus().toggleBold().run(),
19222
- isActive: () => props.editor.isActive("bold")
19223
- },
19224
- {
19225
- type: "button",
19226
- icon: MdiFormatItalic,
19227
- title: "Italic",
19228
- action: () => props.editor.chain().focus().toggleItalic().run(),
19229
- isActive: () => props.editor.isActive("italic")
19230
- },
19231
- {
19232
- type: "button",
19233
- icon: MdiFormatUnderline,
19234
- title: "Underline",
19235
- action: () => props.editor.chain().focus().toggleUnderline().run(),
19236
- isActive: () => props.editor.isActive("underline")
19237
- },
19238
- {
19239
- type: "button",
19240
- icon: MdiFormatStrikethrough,
19241
- title: "Strike",
19242
- action: () => props.editor.chain().focus().toggleStrike().run(),
19243
- isActive: () => props.editor.isActive("strike")
19244
- },
19245
- {
19246
- type: "button",
19247
- icon: MdiFormatQuoteOpen,
19248
- title: "Quote",
19249
- action: () => props.editor.chain().focus().toggleBlockquote().run(),
19250
- isActive: () => props.editor.isActive("blockquote")
19251
- },
19252
- {
19253
- type: "button",
19254
- icon: MdiCodeTags,
19255
- title: "Code",
19256
- action: () => props.editor.chain().focus().toggleCode().run(),
19257
- isActive: () => props.editor.isActive("code")
19258
- },
19259
- {
19260
- type: "button",
19261
- icon: MdiFormatSuperscript,
19262
- title: "SuperScript",
19263
- action: () => props.editor.chain().focus().toggleSuperscript().run(),
19264
- isActive: () => props.editor.isActive("superscript")
19265
- },
19266
- {
19267
- type: "button",
19268
- icon: MdiFormatSubscript,
19269
- title: "SubScript",
19270
- action: () => props.editor.chain().focus().toggleSubscript().run(),
19271
- isActive: () => props.editor.isActive("subscript")
19272
- },
19273
- {
19274
- type: "button",
19275
- icon: MdiCodeBracesBox,
19276
- title: "Code Block",
19277
- action: () => props.editor.chain().focus().toggleCodeBlock().run(),
19278
- isActive: () => props.editor.isActive("codeBlock")
19279
- },
19280
- {
19281
- type: "button",
19282
- icon: MdiFormatHeaderPound,
19283
- title: "\u666E\u901A\u6587\u672C",
19284
- isActive: () => props.editor.isActive("heading"),
19285
- children: [
19286
- {
19287
- type: "button",
19288
- icon: MdiFormatHeader1,
19289
- title: "\u6807\u9898 1",
19290
- action: () => props.editor.chain().focus().toggleHeading({ level: 1 }).run(),
19291
- isActive: () => props.editor.isActive("heading", { level: 1 })
19292
- },
19293
- {
19294
- type: "button",
19295
- icon: MdiFormatHeader2,
19296
- title: "\u6807\u9898 2",
19297
- action: () => props.editor.chain().focus().toggleHeading({ level: 2 }).run(),
19298
- isActive: () => props.editor.isActive("heading", { level: 1 })
19299
- },
19300
- {
19301
- type: "button",
19302
- icon: MdiFormatHeader3,
19303
- title: "\u6807\u9898 3",
19304
- action: () => props.editor.chain().focus().toggleHeading({ level: 3 }).run(),
19305
- isActive: () => props.editor.isActive("heading", { level: 1 })
19306
- },
19307
- {
19308
- type: "button",
19309
- icon: MdiFormatHeader4,
19310
- title: "\u6807\u9898 4",
19311
- action: () => props.editor.chain().focus().toggleHeading({ level: 4 }).run(),
19312
- isActive: () => props.editor.isActive("heading", { level: 1 })
19313
- },
19314
- {
19315
- type: "button",
19316
- icon: MdiFormatHeader5,
19317
- title: "\u6807\u9898 5",
19318
- action: () => props.editor.chain().focus().toggleHeading({ level: 5 }).run(),
19319
- isActive: () => props.editor.isActive("heading", { level: 1 })
19320
- },
19321
- {
19322
- type: "button",
19323
- icon: MdiFormatHeader6,
19324
- title: "\u6807\u9898 6",
19325
- action: () => props.editor.chain().focus().toggleHeading({ level: 6 }).run(),
19326
- isActive: () => props.editor.isActive("heading", { level: 1 })
19327
- }
19328
- ]
19329
- },
19330
- {
19331
- type: "button",
19332
- icon: MdiFormatAlignLeft,
19333
- title: "Align left",
19334
- action: () => props.editor.chain().focus().setTextAlign("left").run(),
19335
- isActive: () => props.editor.isActive({ textAlign: "left" })
19336
- },
19337
- {
19338
- type: "button",
19339
- icon: MdiFormatAlignCenter,
19340
- title: "Align center",
19341
- action: () => props.editor.chain().focus().setTextAlign("center").run(),
19342
- isActive: () => props.editor.isActive({ textAlign: "center" })
19343
- },
19344
- {
19345
- type: "button",
19346
- icon: MdiFormatAlignRight,
19347
- title: "Align right",
19348
- action: () => props.editor.chain().focus().setTextAlign("right").run(),
19349
- isActive: () => props.editor.isActive({ textAlign: "right" })
19350
- },
19351
- {
19352
- type: "button",
19353
- icon: MdiFormatAlignJustify,
19354
- title: "Align justify",
19355
- action: () => props.editor.chain().focus().setTextAlign("justify").run(),
19356
- isActive: () => props.editor.isActive({ textAlign: "justify" })
19357
- },
19358
- ...props.addtionalMenuItems
19359
- ];
19360
18845
  return (_ctx, _cache) => {
19361
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
19362
- (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(menuItems, (menuItem, index2) => {
18846
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
18847
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.menuItems, (menuItem, index2) => {
19363
18848
  var _a, _b;
19364
- return vue.createElementVNode("div", {
18849
+ return vue.openBlock(), vue.createElementBlock("div", {
19365
18850
  key: index2,
19366
18851
  class: "inline-flex items-center justify-center"
19367
18852
  }, [
@@ -19371,9 +18856,9 @@ img.ProseMirror-separator {
19371
18856
  onClick: menuItem.action
19372
18857
  }, [
19373
18858
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(menuItem.icon)))
19374
- ], 10, _hoisted_2$5)) : (vue.openBlock(), vue.createBlock(vue.unref(Menu), { key: 1 }, {
18859
+ ], 10, _hoisted_2$r)) : (vue.openBlock(), vue.createBlock(vue.unref(Menu), { key: 1 }, {
19375
18860
  popper: vue.withCtx(() => [
19376
- vue.createElementVNode("div", _hoisted_3$4, [
18861
+ vue.createElementVNode("div", _hoisted_3$q, [
19377
18862
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(menuItem.children, (child, childIndex) => {
19378
18863
  var _a2;
19379
18864
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -19404,127 +18889,38 @@ img.ProseMirror-separator {
19404
18889
  _: 2
19405
18890
  }, 1024))
19406
18891
  ]);
19407
- }), 64))
18892
+ }), 128))
19408
18893
  ]);
19409
18894
  };
19410
18895
  }
19411
18896
  });
19412
18897
  const svgArrow = "";
19413
- const _hoisted_1$4 = { class: "bg-white flex items-center rounded p-1 border drop-shadow space-x-0.5" };
19414
- const _hoisted_2$4 = ["title", "onClick"];
18898
+ const _hoisted_1$q = { class: "bg-white flex items-center rounded p-1 border drop-shadow space-x-0.5" };
18899
+ const _hoisted_2$q = ["title", "onClick"];
19415
18900
  const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
19416
18901
  __name: "EditorBubbleMenu",
19417
18902
  props: {
19418
18903
  editor: {
19419
18904
  type: Object,
19420
18905
  required: true
18906
+ },
18907
+ menuItems: {
18908
+ type: Array,
18909
+ required: false,
18910
+ default: () => []
19421
18911
  }
19422
18912
  },
19423
18913
  setup(__props) {
19424
- const props = __props;
19425
- const menuItems = [
19426
- {
19427
- type: "button",
19428
- icon: MdiFormatBold,
19429
- title: "Bold",
19430
- action: () => props.editor.chain().focus().toggleBold().run(),
19431
- isActive: () => props.editor.isActive("bold")
19432
- },
19433
- {
19434
- type: "button",
19435
- icon: MdiFormatItalic,
19436
- title: "Italic",
19437
- action: () => props.editor.chain().focus().toggleItalic().run(),
19438
- isActive: () => props.editor.isActive("italic")
19439
- },
19440
- {
19441
- type: "button",
19442
- icon: MdiFormatUnderline,
19443
- title: "Underline",
19444
- action: () => props.editor.chain().focus().toggleUnderline().run(),
19445
- isActive: () => props.editor.isActive("underline")
19446
- },
19447
- {
19448
- type: "button",
19449
- icon: MdiFormatStrikethrough,
19450
- title: "Strike",
19451
- action: () => props.editor.chain().focus().toggleStrike().run(),
19452
- isActive: () => props.editor.isActive("strike")
19453
- },
19454
- {
19455
- type: "button",
19456
- icon: MdiFormatQuoteOpen,
19457
- title: "Quote",
19458
- action: () => props.editor.chain().focus().toggleBlockquote().run(),
19459
- isActive: () => props.editor.isActive("blockquote")
19460
- },
19461
- {
19462
- type: "button",
19463
- icon: MdiCodeTags,
19464
- title: "Code",
19465
- action: () => props.editor.chain().focus().toggleCode().run(),
19466
- isActive: () => props.editor.isActive("code")
19467
- },
19468
- {
19469
- type: "button",
19470
- icon: MdiCodeBracesBox,
19471
- title: "Code Block",
19472
- action: () => props.editor.chain().focus().toggleCodeBlock().run(),
19473
- isActive: () => props.editor.isActive("codeBlock")
19474
- },
19475
- {
19476
- type: "button",
19477
- icon: MdiFormatSuperscript,
19478
- title: "SuperScript",
19479
- action: () => props.editor.chain().focus().toggleSuperscript().run(),
19480
- isActive: () => props.editor.isActive("superscript")
19481
- },
19482
- {
19483
- type: "button",
19484
- icon: MdiFormatSubscript,
19485
- title: "SubScript",
19486
- action: () => props.editor.chain().focus().toggleSubscript().run(),
19487
- isActive: () => props.editor.isActive("subscript")
19488
- },
19489
- {
19490
- type: "button",
19491
- icon: MdiFormatAlignLeft,
19492
- title: "Align left",
19493
- action: () => props.editor.chain().focus().setTextAlign("left").run(),
19494
- isActive: () => props.editor.isActive({ textAlign: "left" })
19495
- },
19496
- {
19497
- type: "button",
19498
- icon: MdiFormatAlignCenter,
19499
- title: "Align center",
19500
- action: () => props.editor.chain().focus().setTextAlign("center").run(),
19501
- isActive: () => props.editor.isActive({ textAlign: "center" })
19502
- },
19503
- {
19504
- type: "button",
19505
- icon: MdiFormatAlignRight,
19506
- title: "Align right",
19507
- action: () => props.editor.chain().focus().setTextAlign("right").run(),
19508
- isActive: () => props.editor.isActive({ textAlign: "right" })
19509
- },
19510
- {
19511
- type: "button",
19512
- icon: MdiFormatAlignJustify,
19513
- title: "Align justify",
19514
- action: () => props.editor.chain().focus().setTextAlign("justify").run(),
19515
- isActive: () => props.editor.isActive({ textAlign: "justify" })
19516
- }
19517
- ];
19518
18914
  return (_ctx, _cache) => {
19519
18915
  return vue.openBlock(), vue.createBlock(vue.unref(BubbleMenu), {
19520
18916
  editor: __props.editor,
19521
18917
  "tippy-options": { duration: 100, arrow: vue.unref(ROUND_ARROW), maxWidth: "100%" }
19522
18918
  }, {
19523
18919
  default: vue.withCtx(() => [
19524
- vue.createElementVNode("div", _hoisted_1$4, [
19525
- (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(menuItems, (menuItem, index2) => {
18920
+ vue.createElementVNode("div", _hoisted_1$q, [
18921
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.menuItems, (menuItem, index2) => {
19526
18922
  var _a;
19527
- return vue.createElementVNode("button", {
18923
+ return vue.openBlock(), vue.createElementBlock("button", {
19528
18924
  key: index2,
19529
18925
  class: vue.normalizeClass([{ "bg-gray-200 !text-black": (_a = menuItem.isActive) == null ? void 0 : _a.call(menuItem) }, "text-gray-600 text-lg hover:bg-gray-100 p-0.5 rounded-sm"]),
19530
18926
  title: menuItem.title,
@@ -19534,8 +18930,8 @@ img.ProseMirror-separator {
19534
18930
  }
19535
18931
  }, [
19536
18932
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(menuItem.icon)))
19537
- ], 10, _hoisted_2$4);
19538
- }), 64))
18933
+ ], 10, _hoisted_2$q);
18934
+ }), 128))
19539
18935
  ])
19540
18936
  ]),
19541
18937
  _: 1
@@ -19543,12 +18939,12 @@ img.ProseMirror-separator {
19543
18939
  };
19544
18940
  }
19545
18941
  });
19546
- const _hoisted_1$3 = {
18942
+ const _hoisted_1$p = {
19547
18943
  key: 0,
19548
18944
  class: "halo-rich-text-editor"
19549
18945
  };
19550
- const _hoisted_2$3 = { class: "h-full flex flex-row w-full" };
19551
- const _hoisted_3$3 = { class: "h-full" };
18946
+ const _hoisted_2$p = { class: "h-full flex flex-row w-full" };
18947
+ const _hoisted_3$p = { class: "h-full" };
19552
18948
  const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
19553
18949
  __name: "Editor",
19554
18950
  props: {
@@ -19556,7 +18952,17 @@ img.ProseMirror-separator {
19556
18952
  type: Object,
19557
18953
  required: true
19558
18954
  },
19559
- addtionalMenuItems: {
18955
+ additionalMenuItems: {
18956
+ type: Array,
18957
+ required: false,
18958
+ default: () => []
18959
+ },
18960
+ toolbarMenuItems: {
18961
+ type: Array,
18962
+ required: false,
18963
+ default: () => []
18964
+ },
18965
+ bubbleMenuItems: {
19560
18966
  type: Array,
19561
18967
  required: false,
19562
18968
  default: () => []
@@ -19564,18 +18970,18 @@ img.ProseMirror-separator {
19564
18970
  },
19565
18971
  setup(__props) {
19566
18972
  return (_ctx, _cache) => {
19567
- return __props.editor ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [
19568
- vue.createVNode(_sfc_main$4, { editor: __props.editor }, null, 8, ["editor"]),
19569
- vue.createVNode(_sfc_main$5, {
18973
+ return __props.editor ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
18974
+ vue.createVNode(_sfc_main$4, {
19570
18975
  editor: __props.editor,
19571
- addtionalMenuItems: __props.addtionalMenuItems
19572
- }, null, 8, ["editor", "addtionalMenuItems"]),
19573
- vue.createElementVNode("div", _hoisted_2$3, [
18976
+ "menu-items": __props.bubbleMenuItems
18977
+ }, null, 8, ["editor", "menu-items"]),
18978
+ vue.createVNode(_sfc_main$5, { "menu-items": __props.toolbarMenuItems }, null, 8, ["menu-items"]),
18979
+ vue.createElementVNode("div", _hoisted_2$p, [
19574
18980
  vue.createVNode(vue.unref(EditorContent), {
19575
18981
  editor: __props.editor,
19576
- class: "editor-content markdown-body"
18982
+ class: "editor-content prose prose-base !max-w-none prose-pre:p-0"
19577
18983
  }, null, 8, ["editor"]),
19578
- vue.createElementVNode("div", _hoisted_3$3, [
18984
+ vue.createElementVNode("div", _hoisted_3$p, [
19579
18985
  vue.renderSlot(_ctx.$slots, "extra")
19580
18986
  ])
19581
18987
  ])
@@ -19586,7 +18992,6 @@ img.ProseMirror-separator {
19586
18992
  const index = "";
19587
18993
  const tailwind = "";
19588
18994
  const style = "";
19589
- const githubMarkdownLight = "";
19590
18995
  const inputRegex$6 = /^\s*>\s$/;
19591
18996
  const Blockquote = Node.create({
19592
18997
  name: "blockquote",
@@ -26837,9 +26242,9 @@ img.ProseMirror-separator {
26837
26242
  ];
26838
26243
  }
26839
26244
  });
26840
- const _hoisted_1$2 = { class: "command-items" };
26841
- const _hoisted_2$2 = ["onClick"];
26842
- const _hoisted_3$2 = { class: "command-title" };
26245
+ const _hoisted_1$o = { class: "command-items" };
26246
+ const _hoisted_2$o = ["id", "onClick"];
26247
+ const _hoisted_3$o = { class: "command-title" };
26843
26248
  const _hoisted_4 = {
26844
26249
  key: 1,
26845
26250
  class: "command-empty"
@@ -26886,9 +26291,11 @@ img.ProseMirror-separator {
26886
26291
  }
26887
26292
  function handleKeyUp() {
26888
26293
  selectedIndex.value = (selectedIndex.value + props.items.length - 1) % props.items.length;
26294
+ scrollToSelected();
26889
26295
  }
26890
26296
  function handleKeyDown2() {
26891
26297
  selectedIndex.value = (selectedIndex.value + 1) % props.items.length;
26298
+ scrollToSelected();
26892
26299
  }
26893
26300
  function handleKeyEnter() {
26894
26301
  handleSelectItem(selectedIndex.value);
@@ -26899,27 +26306,206 @@ img.ProseMirror-separator {
26899
26306
  props.command(item);
26900
26307
  }
26901
26308
  }
26309
+ function scrollToSelected() {
26310
+ const selected = document.getElementById(
26311
+ `command-item-${selectedIndex.value}`
26312
+ );
26313
+ if (selected) {
26314
+ selected.scrollIntoView({
26315
+ behavior: "smooth"
26316
+ });
26317
+ }
26318
+ }
26902
26319
  expose({
26903
26320
  onKeyDown
26904
26321
  });
26905
26322
  return (_ctx, _cache) => {
26906
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
26323
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
26907
26324
  __props.items.length ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(__props.items, (item, index2) => {
26908
26325
  return vue.openBlock(), vue.createElementBlock("div", {
26909
26326
  key: index2,
26327
+ id: `command-item-${index2}`,
26910
26328
  class: vue.normalizeClass([{ "is-selected": index2 === selectedIndex.value }, "command-item"]),
26911
26329
  onClick: ($event) => handleSelectItem(index2)
26912
26330
  }, [
26913
26331
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(item.icon), { class: "command-icon" })),
26914
- vue.createElementVNode("span", _hoisted_3$2, vue.toDisplayString(item.title), 1)
26915
- ], 10, _hoisted_2$2);
26332
+ vue.createElementVNode("span", _hoisted_3$o, vue.toDisplayString(item.title), 1)
26333
+ ], 10, _hoisted_2$o);
26916
26334
  }), 128)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, _hoisted_6))
26917
26335
  ]);
26918
26336
  };
26919
26337
  }
26920
26338
  });
26921
26339
  const CommandsView_vue_vue_type_style_index_0_lang = "";
26922
- const CommandsSuggestion = {
26340
+ const _hoisted_1$n = {
26341
+ viewBox: "0 0 24 24",
26342
+ width: "1.2em",
26343
+ height: "1.2em"
26344
+ };
26345
+ const _hoisted_2$n = /* @__PURE__ */ vue.createElementVNode("path", {
26346
+ fill: "currentColor",
26347
+ d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m11 14v-2h2V6.31l-2.5 1.44V5.44L16 4h2v12h2v2h-6Z"
26348
+ }, null, -1);
26349
+ const _hoisted_3$n = [
26350
+ _hoisted_2$n
26351
+ ];
26352
+ function render$m(_ctx, _cache) {
26353
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$n, _hoisted_3$n);
26354
+ }
26355
+ const MdiFormatHeader1 = { name: "mdi-format-header-1", render: render$m };
26356
+ const _hoisted_1$m = {
26357
+ viewBox: "0 0 24 24",
26358
+ width: "1.2em",
26359
+ height: "1.2em"
26360
+ };
26361
+ const _hoisted_2$m = /* @__PURE__ */ vue.createElementVNode("path", {
26362
+ fill: "currentColor",
26363
+ d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m18 14h-6a2 2 0 0 1-2-2c0-.53.2-1 .54-1.36l4.87-5.23c.37-.36.59-.86.59-1.41a2 2 0 0 0-2-2a2 2 0 0 0-2 2h-2a4 4 0 0 1 4-4a4 4 0 0 1 4 4c0 1.1-.45 2.1-1.17 2.83L15 16h6v2Z"
26364
+ }, null, -1);
26365
+ const _hoisted_3$m = [
26366
+ _hoisted_2$m
26367
+ ];
26368
+ function render$l(_ctx, _cache) {
26369
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$m, _hoisted_3$m);
26370
+ }
26371
+ const MdiFormatHeader2 = { name: "mdi-format-header-2", render: render$l };
26372
+ const _hoisted_1$l = {
26373
+ viewBox: "0 0 24 24",
26374
+ width: "1.2em",
26375
+ height: "1.2em"
26376
+ };
26377
+ const _hoisted_2$l = /* @__PURE__ */ vue.createElementVNode("path", {
26378
+ fill: "currentColor",
26379
+ d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m12 0h4a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h2v1h4v-4h-4v-2h4V6h-4v1h-2V6a2 2 0 0 1 2-2Z"
26380
+ }, null, -1);
26381
+ const _hoisted_3$l = [
26382
+ _hoisted_2$l
26383
+ ];
26384
+ function render$k(_ctx, _cache) {
26385
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$l, _hoisted_3$l);
26386
+ }
26387
+ const MdiFormatHeader3 = { name: "mdi-format-header-3", render: render$k };
26388
+ const _hoisted_1$k = {
26389
+ viewBox: "0 0 24 24",
26390
+ width: "1.2em",
26391
+ height: "1.2em"
26392
+ };
26393
+ const _hoisted_2$k = /* @__PURE__ */ vue.createElementVNode("path", {
26394
+ fill: "currentColor",
26395
+ d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m15 14v-5h-5v-2l5-7h2v7h1v2h-1v5h-2m0-7V7.42L15.45 11H18Z"
26396
+ }, null, -1);
26397
+ const _hoisted_3$k = [
26398
+ _hoisted_2$k
26399
+ ];
26400
+ function render$j(_ctx, _cache) {
26401
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$k, _hoisted_3$k);
26402
+ }
26403
+ const MdiFormatHeader4 = { name: "mdi-format-header-4", render: render$j };
26404
+ const _hoisted_1$j = {
26405
+ viewBox: "0 0 24 24",
26406
+ width: "1.2em",
26407
+ height: "1.2em"
26408
+ };
26409
+ const _hoisted_2$j = /* @__PURE__ */ vue.createElementVNode("path", {
26410
+ fill: "currentColor",
26411
+ d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m12 0h5v2h-5v4h2a4 4 0 0 1 4 4a4 4 0 0 1-4 4h-2a2 2 0 0 1-2-2v-1h2v1h2a2 2 0 0 0 2-2a2 2 0 0 0-2-2h-2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z"
26412
+ }, null, -1);
26413
+ const _hoisted_3$j = [
26414
+ _hoisted_2$j
26415
+ ];
26416
+ function render$i(_ctx, _cache) {
26417
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$j, _hoisted_3$j);
26418
+ }
26419
+ const MdiFormatHeader5 = { name: "mdi-format-header-5", render: render$i };
26420
+ const _hoisted_1$i = {
26421
+ viewBox: "0 0 24 24",
26422
+ width: "1.2em",
26423
+ height: "1.2em"
26424
+ };
26425
+ const _hoisted_2$i = /* @__PURE__ */ vue.createElementVNode("path", {
26426
+ fill: "currentColor",
26427
+ d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m12 0h4a2 2 0 0 1 2 2v1h-2V6h-4v4h4a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2m0 8v4h4v-4h-4Z"
26428
+ }, null, -1);
26429
+ const _hoisted_3$i = [
26430
+ _hoisted_2$i
26431
+ ];
26432
+ function render$h(_ctx, _cache) {
26433
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$i, _hoisted_3$i);
26434
+ }
26435
+ const MdiFormatHeader6 = { name: "mdi-format-header-6", render: render$h };
26436
+ const _hoisted_1$h = {
26437
+ viewBox: "0 0 24 24",
26438
+ width: "1.2em",
26439
+ height: "1.2em"
26440
+ };
26441
+ const _hoisted_2$h = /* @__PURE__ */ vue.createElementVNode("path", {
26442
+ fill: "currentColor",
26443
+ 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-2m-8 5H9v2c0 1.1-.9 2-2 2c1.1 0 2 .9 2 2v2h2v2H9c-1.1 0-2-.9-2-2v-1c0-1.1-.9-2-2-2v-2c1.1 0 2-.9 2-2V8c0-1.1.9-2 2-2h2v2m8 5c-1.1 0-2 .9-2 2v1c0 1.1-.9 2-2 2h-2v-2h2v-2c0-1.1.9-2 2-2c-1.1 0-2-.9-2-2V8h-2V6h2c1.1 0 2 .9 2 2v1c0 1.1.9 2 2 2v2Z"
26444
+ }, null, -1);
26445
+ const _hoisted_3$h = [
26446
+ _hoisted_2$h
26447
+ ];
26448
+ function render$g(_ctx, _cache) {
26449
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$h, _hoisted_3$h);
26450
+ }
26451
+ const MdiCodeBracesBox = { name: "mdi-code-braces-box", render: render$g };
26452
+ const CommandHeader1 = {
26453
+ icon: vue.markRaw(MdiFormatHeader1),
26454
+ title: "\u4E00\u7EA7\u6807\u9898",
26455
+ keywords: ["h1", "header1", "1", "yijibiaoti"],
26456
+ command: ({ editor, range }) => {
26457
+ editor.chain().focus().deleteRange(range).setNode("heading", { level: 1 }).run();
26458
+ }
26459
+ };
26460
+ const CommandHeader2 = {
26461
+ icon: vue.markRaw(MdiFormatHeader2),
26462
+ title: "\u4E8C\u7EA7\u6807\u9898",
26463
+ keywords: ["h2", "header2", "2", "erjibiaoti"],
26464
+ command: ({ editor, range }) => {
26465
+ editor.chain().focus().deleteRange(range).setNode("heading", { level: 2 }).run();
26466
+ }
26467
+ };
26468
+ const CommandHeader3 = {
26469
+ icon: vue.markRaw(MdiFormatHeader3),
26470
+ title: "\u4E09\u7EA7\u6807\u9898",
26471
+ keywords: ["h3", "header3", "3", "sanjibiaoti"],
26472
+ command: ({ editor, range }) => {
26473
+ editor.chain().focus().deleteRange(range).setNode("heading", { level: 3 }).run();
26474
+ }
26475
+ };
26476
+ const CommandHeader4 = {
26477
+ icon: vue.markRaw(MdiFormatHeader4),
26478
+ title: "\u56DB\u7EA7\u6807\u9898",
26479
+ keywords: ["h4", "header4", "4", "sijibiaoti"],
26480
+ command: ({ editor, range }) => {
26481
+ editor.chain().focus().deleteRange(range).setNode("heading", { level: 4 }).run();
26482
+ }
26483
+ };
26484
+ const CommandHeader5 = {
26485
+ icon: vue.markRaw(MdiFormatHeader5),
26486
+ title: "\u4E94\u7EA7\u6807\u9898",
26487
+ keywords: ["h5", "header5", "5", "wujibiaoti"],
26488
+ command: ({ editor, range }) => {
26489
+ editor.chain().focus().deleteRange(range).setNode("heading", { level: 5 }).run();
26490
+ }
26491
+ };
26492
+ const CommandHeader6 = {
26493
+ icon: vue.markRaw(MdiFormatHeader6),
26494
+ title: "\u516D\u7EA7\u6807\u9898",
26495
+ keywords: ["h6", "header6", "6", "liujibiaoti"],
26496
+ command: ({ editor, range }) => {
26497
+ editor.chain().focus().deleteRange(range).setNode("heading", { level: 6 }).run();
26498
+ }
26499
+ };
26500
+ const CommandCodeBlock = {
26501
+ icon: vue.markRaw(MdiCodeBracesBox),
26502
+ title: "\u4EE3\u7801\u5757",
26503
+ keywords: ["codeblock", "daimakuai"],
26504
+ command: ({ editor, range }) => {
26505
+ editor.chain().focus().deleteRange(range).setCodeBlock().run();
26506
+ }
26507
+ };
26508
+ const suggestion = {
26923
26509
  items: ({ query }) => {
26924
26510
  return [
26925
26511
  {
@@ -75086,9 +74672,9 @@ img.ProseMirror-separator {
75086
74672
  lowlight$1.registerLanguage("xquery", xquery);
75087
74673
  lowlight$1.registerLanguage("zephir", zephir);
75088
74674
  const lowlight = lowlight$1;
75089
- const _hoisted_1$1 = { class: "py-0.5 px-1" };
75090
- const _hoisted_2$1 = /* @__PURE__ */ vue.createElementVNode("option", { value: null }, "auto", -1);
75091
- const _hoisted_3$1 = ["value"];
74675
+ const _hoisted_1$g = { class: "py-0.5 px-1" };
74676
+ const _hoisted_2$g = /* @__PURE__ */ vue.createElementVNode("option", { value: null }, "auto", -1);
74677
+ const _hoisted_3$g = ["value"];
75092
74678
  const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
75093
74679
  __name: "CodeBlockViewRenderer",
75094
74680
  props: nodeViewProps,
@@ -75109,17 +74695,17 @@ img.ProseMirror-separator {
75109
74695
  return (_ctx, _cache) => {
75110
74696
  return vue.openBlock(), vue.createBlock(vue.unref(NodeViewWrapper), { class: "code-block divide-gray-100 bg-gray-100 rounded-sm overflow-hidden" }, {
75111
74697
  default: vue.withCtx(() => [
75112
- vue.createElementVNode("div", _hoisted_1$1, [
74698
+ vue.createElementVNode("div", _hoisted_1$g, [
75113
74699
  vue.withDirectives(vue.createElementVNode("select", {
75114
74700
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(selectedLanguage) ? selectedLanguage.value = $event : null),
75115
74701
  contenteditable: "false"
75116
74702
  }, [
75117
- _hoisted_2$1,
74703
+ _hoisted_2$g,
75118
74704
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(languages), (language, index2) => {
75119
74705
  return vue.openBlock(), vue.createElementBlock("option", {
75120
74706
  key: index2,
75121
74707
  value: language
75122
- }, vue.toDisplayString(language), 9, _hoisted_3$1);
74708
+ }, vue.toDisplayString(language), 9, _hoisted_3$g);
75123
74709
  }), 128))
75124
74710
  ], 512), [
75125
74711
  [vue.vModelSelect, vue.unref(selectedLanguage)]
@@ -82885,6 +82471,11 @@ img.ProseMirror-separator {
82885
82471
  var hlineInfo = [];
82886
82472
  parser.consumeSpaces();
82887
82473
  var nxt = parser.fetch().text;
82474
+ if (nxt === "\\relax") {
82475
+ parser.consume();
82476
+ parser.consumeSpaces();
82477
+ nxt = parser.fetch().text;
82478
+ }
82888
82479
  while (nxt === "\\hline" || nxt === "\\hdashline") {
82889
82480
  parser.consume();
82890
82481
  hlineInfo.push(nxt === "\\hdashline");
@@ -88705,7 +88296,7 @@ img.ProseMirror-separator {
88705
88296
  }
88706
88297
  return tree;
88707
88298
  };
88708
- var render = function render2(expression, baseNode, options) {
88299
+ var render$f = function render2(expression, baseNode, options) {
88709
88300
  baseNode.textContent = "";
88710
88301
  var node = renderToDomTree(expression, options).toNode();
88711
88302
  baseNode.appendChild(node);
@@ -88713,7 +88304,7 @@ img.ProseMirror-separator {
88713
88304
  if (typeof document !== "undefined") {
88714
88305
  if (document.compatMode !== "CSS1Compat") {
88715
88306
  typeof console !== "undefined" && console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype.");
88716
- render = function render2() {
88307
+ render$f = function render2() {
88717
88308
  throw new ParseError("KaTeX doesn't work in quirks mode.");
88718
88309
  };
88719
88310
  }
@@ -88754,8 +88345,8 @@ img.ProseMirror-separator {
88754
88345
  }
88755
88346
  };
88756
88347
  var katex = {
88757
- version: "0.16.2",
88758
- render,
88348
+ version: "0.16.3",
88349
+ render: render$f,
88759
88350
  renderToString,
88760
88351
  ParseError,
88761
88352
  SETTINGS_SCHEMA,
@@ -88774,9 +88365,9 @@ img.ProseMirror-separator {
88774
88365
  LineNode
88775
88366
  }
88776
88367
  };
88777
- const _hoisted_1 = { class: "" };
88778
- const _hoisted_2 = { class: "" };
88779
- const _hoisted_3 = ["innerHTML"];
88368
+ const _hoisted_1$f = { class: "" };
88369
+ const _hoisted_2$f = { class: "" };
88370
+ const _hoisted_3$f = ["innerHTML"];
88780
88371
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
88781
88372
  __name: "KatexBlockViewRenderer",
88782
88373
  props: nodeViewProps,
@@ -88805,8 +88396,8 @@ img.ProseMirror-separator {
88805
88396
  return (_ctx, _cache) => {
88806
88397
  return vue.openBlock(), vue.createBlock(vue.unref(NodeViewWrapper), { class: "bg-gray-100 p-4" }, {
88807
88398
  default: vue.withCtx(() => [
88808
- vue.createElementVNode("div", _hoisted_1, [
88809
- vue.createElementVNode("div", _hoisted_2, [
88399
+ vue.createElementVNode("div", _hoisted_1$f, [
88400
+ vue.createElementVNode("div", _hoisted_2$f, [
88810
88401
  vue.createElementVNode("button", {
88811
88402
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(
88812
88403
  (...args) => _ctx.deleteNode && _ctx.deleteNode(...args),
@@ -88821,7 +88412,7 @@ img.ProseMirror-separator {
88821
88412
  }, null, 512), [
88822
88413
  [vue.vModelText, rawText.value]
88823
88414
  ]),
88824
- vue.createElementVNode("div", { innerHTML: vue.unref(renderedKatex) }, null, 8, _hoisted_3)
88415
+ vue.createElementVNode("div", { innerHTML: vue.unref(renderedKatex) }, null, 8, _hoisted_3$f)
88825
88416
  ])
88826
88417
  ]),
88827
88418
  _: 1
@@ -88899,6 +88490,7 @@ img.ProseMirror-separator {
88899
88490
  Strike,
88900
88491
  Text$1,
88901
88492
  Image.configure({
88493
+ inline: true,
88902
88494
  HTMLAttributes: {
88903
88495
  loading: "lazy"
88904
88496
  }
@@ -88925,21 +88517,462 @@ img.ProseMirror-separator {
88925
88517
  placeholder: "\u8F93\u5165 / \u4EE5\u9009\u62E9\u8F93\u5165\u7C7B\u578B"
88926
88518
  }),
88927
88519
  ExtensionCommands.configure({
88928
- suggestion: CommandsSuggestion
88520
+ suggestion: {}
88929
88521
  }),
88930
88522
  ExtensionCodeBlock.configure({
88931
88523
  lowlight
88932
88524
  }),
88933
88525
  KatexBlock
88934
88526
  ];
88527
+ const _hoisted_1$e = {
88528
+ viewBox: "0 0 24 24",
88529
+ width: "1.2em",
88530
+ height: "1.2em"
88531
+ };
88532
+ const _hoisted_2$e = /* @__PURE__ */ vue.createElementVNode("path", {
88533
+ fill: "currentColor",
88534
+ d: "M13.5 15.5H10v-3h3.5A1.5 1.5 0 0 1 15 14a1.5 1.5 0 0 1-1.5 1.5m-3.5-9h3A1.5 1.5 0 0 1 14.5 8A1.5 1.5 0 0 1 13 9.5h-3m5.6 1.29c.97-.68 1.65-1.79 1.65-2.79c0-2.26-1.75-4-4-4H7v14h7.04c2.1 0 3.71-1.7 3.71-3.79c0-1.52-.86-2.82-2.15-3.42Z"
88535
+ }, null, -1);
88536
+ const _hoisted_3$e = [
88537
+ _hoisted_2$e
88538
+ ];
88539
+ function render$e(_ctx, _cache) {
88540
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$e, _hoisted_3$e);
88541
+ }
88542
+ const MdiFormatBold = { name: "mdi-format-bold", render: render$e };
88543
+ const _hoisted_1$d = {
88544
+ viewBox: "0 0 24 24",
88545
+ width: "1.2em",
88546
+ height: "1.2em"
88547
+ };
88548
+ const _hoisted_2$d = /* @__PURE__ */ vue.createElementVNode("path", {
88549
+ fill: "currentColor",
88550
+ d: "M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4h-8Z"
88551
+ }, null, -1);
88552
+ const _hoisted_3$d = [
88553
+ _hoisted_2$d
88554
+ ];
88555
+ function render$d(_ctx, _cache) {
88556
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$d, _hoisted_3$d);
88557
+ }
88558
+ const MdiFormatItalic = { name: "mdi-format-italic", render: render$d };
88559
+ const _hoisted_1$c = {
88560
+ viewBox: "0 0 24 24",
88561
+ width: "1.2em",
88562
+ height: "1.2em"
88563
+ };
88564
+ const _hoisted_2$c = /* @__PURE__ */ vue.createElementVNode("path", {
88565
+ fill: "currentColor",
88566
+ d: "M3 14h18v-2H3m2-8v3h5v3h4V7h5V4m-9 15h4v-3h-4v3Z"
88567
+ }, null, -1);
88568
+ const _hoisted_3$c = [
88569
+ _hoisted_2$c
88570
+ ];
88571
+ function render$c(_ctx, _cache) {
88572
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$c, _hoisted_3$c);
88573
+ }
88574
+ const MdiFormatStrikethrough = { name: "mdi-format-strikethrough", render: render$c };
88575
+ const _hoisted_1$b = {
88576
+ viewBox: "0 0 24 24",
88577
+ width: "1.2em",
88578
+ height: "1.2em"
88579
+ };
88580
+ const _hoisted_2$b = /* @__PURE__ */ vue.createElementVNode("path", {
88581
+ fill: "currentColor",
88582
+ d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m10 4h2.31l.32-3h2l-.32 3h2l.32-3h2l-.32 3H23v2h-1.9l-.2 2H23v2h-2.31l-.32 3h-2l.32-3h-2l-.32 3h-2l.32-3H13v-2h1.9l.2-2H13V8m4.1 2l-.2 2h2l.2-2h-2Z"
88583
+ }, null, -1);
88584
+ const _hoisted_3$b = [
88585
+ _hoisted_2$b
88586
+ ];
88587
+ function render$b(_ctx, _cache) {
88588
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$b, _hoisted_3$b);
88589
+ }
88590
+ const MdiFormatHeaderPound = { name: "mdi-format-header-pound", render: render$b };
88591
+ const _hoisted_1$a = {
88592
+ viewBox: "0 0 24 24",
88593
+ width: "1.2em",
88594
+ height: "1.2em"
88595
+ };
88596
+ const _hoisted_2$a = /* @__PURE__ */ vue.createElementVNode("path", {
88597
+ fill: "currentColor",
88598
+ d: "M13.5 7a6.5 6.5 0 0 1 6.5 6.5a6.5 6.5 0 0 1-6.5 6.5H10v-2h3.5c2.5 0 4.5-2 4.5-4.5S16 9 13.5 9H7.83l3.08 3.09L9.5 13.5L4 8l5.5-5.5l1.42 1.41L7.83 7h5.67M6 18h2v2H6v-2Z"
88599
+ }, null, -1);
88600
+ const _hoisted_3$a = [
88601
+ _hoisted_2$a
88602
+ ];
88603
+ function render$a(_ctx, _cache) {
88604
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$a, _hoisted_3$a);
88605
+ }
88606
+ const MdiUndoVariant = { name: "mdi-undo-variant", render: render$a };
88607
+ const _hoisted_1$9 = {
88608
+ viewBox: "0 0 24 24",
88609
+ width: "1.2em",
88610
+ height: "1.2em"
88611
+ };
88612
+ const _hoisted_2$9 = /* @__PURE__ */ vue.createElementVNode("path", {
88613
+ fill: "currentColor",
88614
+ d: "M10.5 7A6.5 6.5 0 0 0 4 13.5a6.5 6.5 0 0 0 6.5 6.5H14v-2h-3.5C8 18 6 16 6 13.5S8 9 10.5 9h5.67l-3.08 3.09l1.41 1.41L20 8l-5.5-5.5l-1.42 1.41L16.17 7H10.5M18 18h-2v2h2v-2Z"
88615
+ }, null, -1);
88616
+ const _hoisted_3$9 = [
88617
+ _hoisted_2$9
88618
+ ];
88619
+ function render$9(_ctx, _cache) {
88620
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$9, _hoisted_3$9);
88621
+ }
88622
+ const MdiRedoVariant = { name: "mdi-redo-variant", render: render$9 };
88623
+ const _hoisted_1$8 = {
88624
+ viewBox: "0 0 24 24",
88625
+ width: "1.2em",
88626
+ height: "1.2em"
88627
+ };
88628
+ const _hoisted_2$8 = /* @__PURE__ */ vue.createElementVNode("path", {
88629
+ fill: "currentColor",
88630
+ d: "M5 21h14v-2H5v2m7-4a6 6 0 0 0 6-6V3h-2.5v8a3.5 3.5 0 0 1-3.5 3.5A3.5 3.5 0 0 1 8.5 11V3H6v8a6 6 0 0 0 6 6Z"
88631
+ }, null, -1);
88632
+ const _hoisted_3$8 = [
88633
+ _hoisted_2$8
88634
+ ];
88635
+ function render$8(_ctx, _cache) {
88636
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$8, _hoisted_3$8);
88637
+ }
88638
+ const MdiFormatUnderline = { name: "mdi-format-underline", render: render$8 };
88639
+ const _hoisted_1$7 = {
88640
+ viewBox: "0 0 24 24",
88641
+ width: "1.2em",
88642
+ height: "1.2em"
88643
+ };
88644
+ const _hoisted_2$7 = /* @__PURE__ */ vue.createElementVNode("path", {
88645
+ fill: "currentColor",
88646
+ d: "M3 3h18v2H3V3m0 4h12v2H3V7m0 4h18v2H3v-2m0 4h12v2H3v-2m0 4h18v2H3v-2Z"
88647
+ }, null, -1);
88648
+ const _hoisted_3$7 = [
88649
+ _hoisted_2$7
88650
+ ];
88651
+ function render$7(_ctx, _cache) {
88652
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$7, _hoisted_3$7);
88653
+ }
88654
+ const MdiFormatAlignLeft = { name: "mdi-format-align-left", render: render$7 };
88655
+ const _hoisted_1$6 = {
88656
+ viewBox: "0 0 24 24",
88657
+ width: "1.2em",
88658
+ height: "1.2em"
88659
+ };
88660
+ const _hoisted_2$6 = /* @__PURE__ */ vue.createElementVNode("path", {
88661
+ fill: "currentColor",
88662
+ d: "M3 3h18v2H3V3m4 4h10v2H7V7m-4 4h18v2H3v-2m4 4h10v2H7v-2m-4 4h18v2H3v-2Z"
88663
+ }, null, -1);
88664
+ const _hoisted_3$6 = [
88665
+ _hoisted_2$6
88666
+ ];
88667
+ function render$6(_ctx, _cache) {
88668
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$6, _hoisted_3$6);
88669
+ }
88670
+ const MdiFormatAlignCenter = { name: "mdi-format-align-center", render: render$6 };
88671
+ const _hoisted_1$5 = {
88672
+ viewBox: "0 0 24 24",
88673
+ width: "1.2em",
88674
+ height: "1.2em"
88675
+ };
88676
+ const _hoisted_2$5 = /* @__PURE__ */ vue.createElementVNode("path", {
88677
+ fill: "currentColor",
88678
+ d: "M3 3h18v2H3V3m6 4h12v2H9V7m-6 4h18v2H3v-2m6 4h12v2H9v-2m-6 4h18v2H3v-2Z"
88679
+ }, null, -1);
88680
+ const _hoisted_3$5 = [
88681
+ _hoisted_2$5
88682
+ ];
88683
+ function render$5(_ctx, _cache) {
88684
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$5, _hoisted_3$5);
88685
+ }
88686
+ const MdiFormatAlignRight = { name: "mdi-format-align-right", render: render$5 };
88687
+ const _hoisted_1$4 = {
88688
+ viewBox: "0 0 24 24",
88689
+ width: "1.2em",
88690
+ height: "1.2em"
88691
+ };
88692
+ const _hoisted_2$4 = /* @__PURE__ */ vue.createElementVNode("path", {
88693
+ fill: "currentColor",
88694
+ d: "M3 3h18v2H3V3m0 4h18v2H3V7m0 4h18v2H3v-2m0 4h18v2H3v-2m0 4h18v2H3v-2Z"
88695
+ }, null, -1);
88696
+ const _hoisted_3$4 = [
88697
+ _hoisted_2$4
88698
+ ];
88699
+ function render$4(_ctx, _cache) {
88700
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$4, _hoisted_3$4);
88701
+ }
88702
+ const MdiFormatAlignJustify = { name: "mdi-format-align-justify", render: render$4 };
88703
+ const _hoisted_1$3 = {
88704
+ viewBox: "0 0 24 24",
88705
+ width: "1.2em",
88706
+ height: "1.2em"
88707
+ };
88708
+ const _hoisted_2$3 = /* @__PURE__ */ vue.createElementVNode("path", {
88709
+ fill: "currentColor",
88710
+ d: "m10 7l-2 4h3v6H5v-6l2-4h3m8 0l-2 4h3v6h-6v-6l2-4h3Z"
88711
+ }, null, -1);
88712
+ const _hoisted_3$3 = [
88713
+ _hoisted_2$3
88714
+ ];
88715
+ function render$3(_ctx, _cache) {
88716
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$3, _hoisted_3$3);
88717
+ }
88718
+ const MdiFormatQuoteOpen = { name: "mdi-format-quote-open", render: render$3 };
88719
+ const _hoisted_1$2 = {
88720
+ viewBox: "0 0 24 24",
88721
+ width: "1.2em",
88722
+ height: "1.2em"
88723
+ };
88724
+ const _hoisted_2$2 = /* @__PURE__ */ vue.createElementVNode("path", {
88725
+ fill: "currentColor",
88726
+ d: "m14.6 16.6l4.6-4.6l-4.6-4.6L16 6l6 6l-6 6l-1.4-1.4m-5.2 0L4.8 12l4.6-4.6L8 6l-6 6l6 6l1.4-1.4Z"
88727
+ }, null, -1);
88728
+ const _hoisted_3$2 = [
88729
+ _hoisted_2$2
88730
+ ];
88731
+ function render$2(_ctx, _cache) {
88732
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$2, _hoisted_3$2);
88733
+ }
88734
+ const MdiCodeTags = { name: "mdi-code-tags", render: render$2 };
88735
+ const _hoisted_1$1 = {
88736
+ viewBox: "0 0 24 24",
88737
+ width: "1.2em",
88738
+ height: "1.2em"
88739
+ };
88740
+ const _hoisted_2$1 = /* @__PURE__ */ vue.createElementVNode("path", {
88741
+ fill: "currentColor",
88742
+ d: "M16 7.41L11.41 12L16 16.59L14.59 18L10 13.41L5.41 18L4 16.59L8.59 12L4 7.41L5.41 6L10 10.59L14.59 6L16 7.41M21.85 9h-4.88V8l.89-.82c.76-.64 1.32-1.18 1.7-1.63c.37-.44.56-.85.57-1.23a.884.884 0 0 0-.27-.7c-.18-.19-.47-.28-.86-.29c-.31.01-.58.07-.84.17l-.66.39l-.45-1.17c.27-.22.59-.39.98-.53S18.85 2 19.32 2c.78 0 1.38.2 1.78.61c.4.39.62.93.62 1.57c-.01.56-.19 1.08-.54 1.55c-.34.48-.76.93-1.27 1.36l-.64.52v.02h2.58V9Z"
88743
+ }, null, -1);
88744
+ const _hoisted_3$1 = [
88745
+ _hoisted_2$1
88746
+ ];
88747
+ function render$1(_ctx, _cache) {
88748
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$1, _hoisted_3$1);
88749
+ }
88750
+ const MdiFormatSuperscript = { name: "mdi-format-superscript", render: render$1 };
88751
+ const _hoisted_1 = {
88752
+ viewBox: "0 0 24 24",
88753
+ width: "1.2em",
88754
+ height: "1.2em"
88755
+ };
88756
+ const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("path", {
88757
+ fill: "currentColor",
88758
+ d: "M16 7.41L11.41 12L16 16.59L14.59 18L10 13.41L5.41 18L4 16.59L8.59 12L4 7.41L5.41 6L10 10.59L14.59 6L16 7.41m5.85 13.62h-4.88v-1l.89-.8c.76-.65 1.32-1.19 1.7-1.63c.37-.44.56-.85.57-1.24a.898.898 0 0 0-.27-.7c-.18-.16-.47-.28-.86-.28c-.31 0-.58.06-.84.18l-.66.38l-.45-1.17c.27-.21.59-.39.98-.53s.82-.24 1.29-.24c.78.04 1.38.25 1.78.66c.4.41.62.93.62 1.57c-.01.56-.19 1.08-.54 1.55c-.34.47-.76.92-1.27 1.36l-.64.52v.02h2.58v1.35Z"
88759
+ }, null, -1);
88760
+ const _hoisted_3 = [
88761
+ _hoisted_2
88762
+ ];
88763
+ function render(_ctx, _cache) {
88764
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1, _hoisted_3);
88765
+ }
88766
+ const MdiFormatSubscript = { name: "mdi-format-subscript", render };
88767
+ function UndoMenuItem(editor) {
88768
+ return {
88769
+ type: "button",
88770
+ icon: MdiUndoVariant,
88771
+ title: "Undo",
88772
+ action: () => editor.chain().undo().run(),
88773
+ isActive: () => false
88774
+ };
88775
+ }
88776
+ function RedoMenuItem(editor) {
88777
+ return {
88778
+ type: "button",
88779
+ icon: MdiRedoVariant,
88780
+ title: "Redo",
88781
+ action: () => editor.chain().redo().run(),
88782
+ isActive: () => false
88783
+ };
88784
+ }
88785
+ function BoldMenuItem(editor) {
88786
+ return {
88787
+ type: "button",
88788
+ icon: MdiFormatBold,
88789
+ title: "Bold",
88790
+ action: () => editor.chain().focus().toggleBold().run(),
88791
+ isActive: () => editor.isActive("bold")
88792
+ };
88793
+ }
88794
+ function ItalicMenuItem(editor) {
88795
+ return {
88796
+ type: "button",
88797
+ icon: MdiFormatItalic,
88798
+ title: "Italic",
88799
+ action: () => editor.chain().focus().toggleItalic().run(),
88800
+ isActive: () => editor.isActive("italic")
88801
+ };
88802
+ }
88803
+ function UnderlineMenuItem(editor) {
88804
+ return {
88805
+ type: "button",
88806
+ icon: MdiFormatUnderline,
88807
+ title: "Underline",
88808
+ action: () => editor.chain().focus().toggleUnderline().run(),
88809
+ isActive: () => editor.isActive("underline")
88810
+ };
88811
+ }
88812
+ function StrikeMenuItem(editor) {
88813
+ return {
88814
+ type: "button",
88815
+ icon: MdiFormatStrikethrough,
88816
+ title: "Strikethrough",
88817
+ action: () => editor.chain().focus().toggleStrike().run(),
88818
+ isActive: () => editor.isActive("strike")
88819
+ };
88820
+ }
88821
+ function QuoteMenuItem(editor) {
88822
+ return {
88823
+ type: "button",
88824
+ icon: MdiFormatQuoteOpen,
88825
+ title: "Quote",
88826
+ action: () => editor.chain().focus().toggleBlockquote().run(),
88827
+ isActive: () => editor.isActive("blockquote")
88828
+ };
88829
+ }
88830
+ function CodeMenuItem(editor) {
88831
+ return {
88832
+ type: "button",
88833
+ icon: MdiCodeTags,
88834
+ title: "Code",
88835
+ action: () => editor.chain().focus().toggleCode().run(),
88836
+ isActive: () => editor.isActive("code")
88837
+ };
88838
+ }
88839
+ function SuperScriptMenuItem(editor) {
88840
+ return {
88841
+ type: "button",
88842
+ icon: MdiFormatSuperscript,
88843
+ title: "Superscript",
88844
+ action: () => editor.chain().focus().toggleSuperscript().run(),
88845
+ isActive: () => editor.isActive("superscript")
88846
+ };
88847
+ }
88848
+ function SubScriptMenuItem(editor) {
88849
+ return {
88850
+ type: "button",
88851
+ icon: MdiFormatSubscript,
88852
+ title: "Subscript",
88853
+ action: () => editor.chain().focus().toggleSubscript().run(),
88854
+ isActive: () => editor.isActive("subscript")
88855
+ };
88856
+ }
88857
+ function CodeBlockMenuItem(editor) {
88858
+ return {
88859
+ type: "button",
88860
+ icon: MdiCodeBracesBox,
88861
+ title: "Code Block",
88862
+ action: () => editor.chain().focus().toggleCodeBlock().run(),
88863
+ isActive: () => editor.isActive("codeBlock")
88864
+ };
88865
+ }
88866
+ function HeadingMenuItem(editor) {
88867
+ return {
88868
+ type: "button",
88869
+ icon: MdiFormatHeaderPound,
88870
+ title: "\u666E\u901A\u6587\u672C",
88871
+ isActive: () => editor.isActive("heading"),
88872
+ children: [
88873
+ {
88874
+ type: "button",
88875
+ icon: MdiFormatHeader1,
88876
+ title: "\u6807\u9898 1",
88877
+ action: () => editor.chain().focus().toggleHeading({ level: 1 }).run(),
88878
+ isActive: () => editor.isActive("heading", { level: 1 })
88879
+ },
88880
+ {
88881
+ type: "button",
88882
+ icon: MdiFormatHeader2,
88883
+ title: "\u6807\u9898 2",
88884
+ action: () => editor.chain().focus().toggleHeading({ level: 2 }).run(),
88885
+ isActive: () => editor.isActive("heading", { level: 1 })
88886
+ },
88887
+ {
88888
+ type: "button",
88889
+ icon: MdiFormatHeader3,
88890
+ title: "\u6807\u9898 3",
88891
+ action: () => editor.chain().focus().toggleHeading({ level: 3 }).run(),
88892
+ isActive: () => editor.isActive("heading", { level: 1 })
88893
+ },
88894
+ {
88895
+ type: "button",
88896
+ icon: MdiFormatHeader4,
88897
+ title: "\u6807\u9898 4",
88898
+ action: () => editor.chain().focus().toggleHeading({ level: 4 }).run(),
88899
+ isActive: () => editor.isActive("heading", { level: 1 })
88900
+ },
88901
+ {
88902
+ type: "button",
88903
+ icon: MdiFormatHeader5,
88904
+ title: "\u6807\u9898 5",
88905
+ action: () => editor.chain().focus().toggleHeading({ level: 5 }).run(),
88906
+ isActive: () => editor.isActive("heading", { level: 1 })
88907
+ },
88908
+ {
88909
+ type: "button",
88910
+ icon: MdiFormatHeader6,
88911
+ title: "\u6807\u9898 6",
88912
+ action: () => editor.chain().focus().toggleHeading({ level: 6 }).run(),
88913
+ isActive: () => editor.isActive("heading", { level: 1 })
88914
+ }
88915
+ ]
88916
+ };
88917
+ }
88918
+ function AlignLeftMenuItem(editor) {
88919
+ return {
88920
+ type: "button",
88921
+ icon: MdiFormatAlignLeft,
88922
+ title: "Align Left",
88923
+ action: () => editor.chain().focus().setTextAlign("left").run(),
88924
+ isActive: () => editor.isActive({ textAlign: "left" })
88925
+ };
88926
+ }
88927
+ function AlignCenterMenuItem(editor) {
88928
+ return {
88929
+ type: "button",
88930
+ icon: MdiFormatAlignCenter,
88931
+ title: "Align Center",
88932
+ action: () => editor.chain().focus().setTextAlign("center").run(),
88933
+ isActive: () => editor.isActive({ textAlign: "center" })
88934
+ };
88935
+ }
88936
+ function AlignRightMenuItem(editor) {
88937
+ return {
88938
+ type: "button",
88939
+ icon: MdiFormatAlignRight,
88940
+ title: "Align Right",
88941
+ action: () => editor.chain().focus().setTextAlign("right").run(),
88942
+ isActive: () => editor.isActive({ textAlign: "right" })
88943
+ };
88944
+ }
88945
+ function AlignJustifyMenuItem(editor) {
88946
+ return {
88947
+ type: "button",
88948
+ icon: MdiFormatAlignJustify,
88949
+ title: "Align Justify",
88950
+ action: () => editor.chain().focus().setTextAlign("justify").run(),
88951
+ isActive: () => editor.isActive({ textAlign: "justify" })
88952
+ };
88953
+ }
88935
88954
  const plugin = {
88936
88955
  install(app) {
88937
88956
  app.component("RichTextEditor", _sfc_main$3);
88938
88957
  }
88939
88958
  };
88959
+ exports.AlignCenterMenuItem = AlignCenterMenuItem;
88960
+ exports.AlignJustifyMenuItem = AlignJustifyMenuItem;
88961
+ exports.AlignLeftMenuItem = AlignLeftMenuItem;
88962
+ exports.AlignRightMenuItem = AlignRightMenuItem;
88963
+ exports.BoldMenuItem = BoldMenuItem;
88940
88964
  exports.BubbleMenu = BubbleMenu;
88965
+ exports.CodeBlockMenuItem = CodeBlockMenuItem;
88966
+ exports.CodeMenuItem = CodeMenuItem;
88967
+ exports.CommandCodeBlock = CommandCodeBlock;
88968
+ exports.CommandHeader1 = CommandHeader1;
88969
+ exports.CommandHeader2 = CommandHeader2;
88970
+ exports.CommandHeader3 = CommandHeader3;
88971
+ exports.CommandHeader4 = CommandHeader4;
88972
+ exports.CommandHeader5 = CommandHeader5;
88973
+ exports.CommandHeader6 = CommandHeader6;
88941
88974
  exports.CommandManager = CommandManager;
88942
- exports.CommandsSuggestion = CommandsSuggestion;
88975
+ exports.CommandsSuggestion = suggestion;
88943
88976
  exports.Editor = Editor;
88944
88977
  exports.EditorContent = EditorContent;
88945
88978
  exports.Extension = Extension;
@@ -88977,15 +89010,24 @@ img.ProseMirror-separator {
88977
89010
  exports.ExtensionTextAlign = TextAlign;
88978
89011
  exports.ExtensionUnderline = Underline;
88979
89012
  exports.FloatingMenu = FloatingMenu;
89013
+ exports.HeadingMenuItem = HeadingMenuItem;
88980
89014
  exports.InputRule = InputRule;
89015
+ exports.ItalicMenuItem = ItalicMenuItem;
88981
89016
  exports.Mark = Mark;
88982
89017
  exports.Node = Node;
88983
89018
  exports.NodeView = NodeView;
88984
89019
  exports.NodeViewContent = NodeViewContent;
88985
89020
  exports.NodeViewWrapper = NodeViewWrapper;
88986
89021
  exports.PasteRule = PasteRule;
89022
+ exports.QuoteMenuItem = QuoteMenuItem;
89023
+ exports.RedoMenuItem = RedoMenuItem;
88987
89024
  exports.RichTextEditor = _sfc_main$3;
89025
+ exports.StrikeMenuItem = StrikeMenuItem;
89026
+ exports.SubScriptMenuItem = SubScriptMenuItem;
89027
+ exports.SuperScriptMenuItem = SuperScriptMenuItem;
88988
89028
  exports.Tracker = Tracker;
89029
+ exports.UnderlineMenuItem = UnderlineMenuItem;
89030
+ exports.UndoMenuItem = UndoMenuItem;
88989
89031
  exports.VueNodeViewRenderer = VueNodeViewRenderer;
88990
89032
  exports.VueRenderer = VueRenderer;
88991
89033
  exports.allExtensions = allExtensions;