@hejiayue/x-markdown-test 0.0.1-beta.151 → 0.0.1-beta.152

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/dist/style.css +438 -1
  2. package/dist/types/config.d.ts +33 -0
  3. package/dist/types/hooks/useMermaid.d.ts +1 -1
  4. package/dist/types/index.d.ts +2 -0
  5. package/dist/x-markdown.cjs.js +35 -1
  6. package/dist/x-markdown.cjs.js.map +1 -1
  7. package/dist/x-markdown.cjs10.js +52 -1
  8. package/dist/x-markdown.cjs10.js.map +1 -1
  9. package/dist/x-markdown.cjs11.js +57 -1
  10. package/dist/x-markdown.cjs11.js.map +1 -1
  11. package/dist/x-markdown.cjs12.js +18 -0
  12. package/dist/x-markdown.cjs12.js.map +1 -0
  13. package/dist/x-markdown.cjs14.js +92 -1
  14. package/dist/x-markdown.cjs14.js.map +1 -1
  15. package/dist/x-markdown.cjs15.js +36 -1
  16. package/dist/x-markdown.cjs15.js.map +1 -1
  17. package/dist/x-markdown.cjs16.js +9 -1
  18. package/dist/x-markdown.cjs16.js.map +1 -1
  19. package/dist/x-markdown.cjs17.js +10 -1
  20. package/dist/x-markdown.cjs17.js.map +1 -1
  21. package/dist/x-markdown.cjs18.js +11 -1
  22. package/dist/x-markdown.cjs18.js.map +1 -1
  23. package/dist/x-markdown.cjs19.js +11 -1
  24. package/dist/x-markdown.cjs19.js.map +1 -1
  25. package/dist/x-markdown.cjs2.js +86 -1
  26. package/dist/x-markdown.cjs2.js.map +1 -1
  27. package/dist/x-markdown.cjs20.js +211 -0
  28. package/dist/x-markdown.cjs20.js.map +1 -0
  29. package/dist/x-markdown.cjs22.js +13 -1
  30. package/dist/x-markdown.cjs22.js.map +1 -1
  31. package/dist/x-markdown.cjs23.js +79 -0
  32. package/dist/x-markdown.cjs23.js.map +1 -0
  33. package/dist/x-markdown.cjs25.js +409 -0
  34. package/dist/x-markdown.cjs25.js.map +1 -0
  35. package/dist/x-markdown.cjs27.js +199 -1
  36. package/dist/x-markdown.cjs27.js.map +1 -1
  37. package/dist/x-markdown.cjs28.js +135 -1
  38. package/dist/x-markdown.cjs28.js.map +1 -1
  39. package/dist/x-markdown.cjs3.js +97 -1
  40. package/dist/x-markdown.cjs3.js.map +1 -1
  41. package/dist/x-markdown.cjs30.js +11 -1
  42. package/dist/x-markdown.cjs30.js.map +1 -1
  43. package/dist/x-markdown.cjs31.js +122 -1
  44. package/dist/x-markdown.cjs31.js.map +1 -1
  45. package/dist/x-markdown.cjs32.js +11 -0
  46. package/dist/x-markdown.cjs32.js.map +1 -0
  47. package/dist/x-markdown.cjs33.js +128 -1
  48. package/dist/x-markdown.cjs33.js.map +1 -1
  49. package/dist/x-markdown.cjs4.js +153 -1
  50. package/dist/x-markdown.cjs4.js.map +1 -1
  51. package/dist/x-markdown.cjs5.js +43 -1
  52. package/dist/x-markdown.cjs5.js.map +1 -1
  53. package/dist/x-markdown.cjs6.js +27 -1
  54. package/dist/x-markdown.cjs6.js.map +1 -1
  55. package/dist/x-markdown.cjs7.js +310 -1
  56. package/dist/x-markdown.cjs7.js.map +1 -1
  57. package/dist/x-markdown.cjs8.js +30 -1
  58. package/dist/x-markdown.cjs8.js.map +1 -1
  59. package/dist/x-markdown.cjs9.js +435 -1
  60. package/dist/x-markdown.cjs9.js.map +1 -1
  61. package/dist/x-markdown.es.js +11 -28
  62. package/dist/x-markdown.es10.js +10 -10
  63. package/dist/x-markdown.es10.js.map +1 -1
  64. package/dist/x-markdown.es11.js +4 -5
  65. package/dist/x-markdown.es11.js.map +1 -1
  66. package/dist/x-markdown.es12.js +12 -0
  67. package/dist/x-markdown.es12.js.map +1 -0
  68. package/dist/x-markdown.es14.js +85 -29
  69. package/dist/x-markdown.es14.js.map +1 -1
  70. package/dist/x-markdown.es15.js +32 -4
  71. package/dist/x-markdown.es15.js.map +1 -1
  72. package/dist/x-markdown.es16.js +5 -5
  73. package/dist/x-markdown.es16.js.map +1 -1
  74. package/dist/x-markdown.es17.js +5 -6
  75. package/dist/x-markdown.es17.js.map +1 -1
  76. package/dist/x-markdown.es18.js +6 -6
  77. package/dist/x-markdown.es18.js.map +1 -1
  78. package/dist/x-markdown.es19.js +7 -206
  79. package/dist/x-markdown.es19.js.map +1 -1
  80. package/dist/x-markdown.es2.js +6 -7
  81. package/dist/x-markdown.es2.js.map +1 -1
  82. package/dist/x-markdown.es20.js +207 -0
  83. package/dist/x-markdown.es20.js.map +1 -0
  84. package/dist/x-markdown.es22.js +7 -72
  85. package/dist/x-markdown.es22.js.map +1 -1
  86. package/dist/x-markdown.es23.js +75 -0
  87. package/dist/x-markdown.es23.js.map +1 -0
  88. package/dist/{x-markdown.es24.js → x-markdown.es25.js} +12 -10
  89. package/dist/x-markdown.es25.js.map +1 -0
  90. package/dist/x-markdown.es27.js +182 -7
  91. package/dist/x-markdown.es27.js.map +1 -1
  92. package/dist/x-markdown.es28.js +7 -8
  93. package/dist/x-markdown.es28.js.map +1 -1
  94. package/dist/x-markdown.es3.js +7 -8
  95. package/dist/x-markdown.es3.js.map +1 -1
  96. package/dist/x-markdown.es30.js +7 -77
  97. package/dist/x-markdown.es30.js.map +1 -1
  98. package/dist/x-markdown.es31.js +112 -124
  99. package/dist/x-markdown.es31.js.map +1 -1
  100. package/dist/x-markdown.es32.js +7 -0
  101. package/dist/x-markdown.es32.js.map +1 -0
  102. package/dist/x-markdown.es33.js +124 -5
  103. package/dist/x-markdown.es33.js.map +1 -1
  104. package/dist/x-markdown.es4.js +5 -7
  105. package/dist/x-markdown.es4.js.map +1 -1
  106. package/dist/x-markdown.es5.js +9 -10
  107. package/dist/x-markdown.es5.js.map +1 -1
  108. package/dist/x-markdown.es6.js +5 -5
  109. package/dist/x-markdown.es6.js.map +1 -1
  110. package/dist/x-markdown.es7.js +61 -74
  111. package/dist/x-markdown.es7.js.map +1 -1
  112. package/dist/x-markdown.es8.js +4 -5
  113. package/dist/x-markdown.es8.js.map +1 -1
  114. package/dist/x-markdown.es9.js +22 -14
  115. package/dist/x-markdown.es9.js.map +1 -1
  116. package/package.json +3 -14
  117. package/dist/types/vite-plugin.d.ts +0 -29
  118. package/dist/vite-plugin.cjs +0 -128
  119. package/dist/vite-plugin.cjs.map +0 -1
  120. package/dist/vite-plugin.js +0 -128
  121. package/dist/vite-plugin.js.map +0 -1
  122. package/dist/x-markdown.cjs13.js +0 -2
  123. package/dist/x-markdown.cjs13.js.map +0 -1
  124. package/dist/x-markdown.cjs21.js +0 -2
  125. package/dist/x-markdown.cjs21.js.map +0 -1
  126. package/dist/x-markdown.cjs24.js +0 -2
  127. package/dist/x-markdown.cjs24.js.map +0 -1
  128. package/dist/x-markdown.cjs26.js +0 -2
  129. package/dist/x-markdown.cjs26.js.map +0 -1
  130. package/dist/x-markdown.es13.js +0 -89
  131. package/dist/x-markdown.es13.js.map +0 -1
  132. package/dist/x-markdown.es21.js +0 -11
  133. package/dist/x-markdown.es21.js.map +0 -1
  134. package/dist/x-markdown.es24.js.map +0 -1
  135. package/dist/x-markdown.es26.js +0 -160
  136. package/dist/x-markdown.es26.js.map +0 -1
package/dist/style.css CHANGED
@@ -1 +1,438 @@
1
- @keyframes fadeIn{0%{opacity:0}to{opacity:1}}.x-md-animated-word{animation:fadeIn .3s ease-in-out}.x-md-renderer pre{margin:16px 0;padding:0;overflow:auto;background:transparent!important}.x-md-renderer pre:has(.x-md-code-header-wrapper--sticky){overflow:unset}.katex-error{color:var(--el-text-color-secondary)!important}.katex-html{overflow:auto hidden;padding:3px}.x-md-syntax-code-block[data-v-ddb364e9]{width:100%}.x-md-syntax-code-block pre[data-v-ddb364e9]{margin:0;padding:16px;overflow:auto;background:transparent!important}.x-md-code-content[data-v-ddb364e9]{display:flex;flex-direction:column}.x-md-code-line[data-v-ddb364e9]{width:100%;font-size:14px;line-height:1.5;display:flex}.x-md-code-block[data-v-5e8d09a0]{border-radius:8px;overflow:hidden;font-size:0;background:#00000008}.x-md-code-block.x-md-code-block--dark[data-v-5e8d09a0]{background:#ffffff21}.x-md-code-header-wrapper--sticky[data-v-5e8d09a0]{background:#fff;position:sticky;top:0}.x-md-code-block.x-md-code-block--dark .x-md-code-header-wrapper--sticky[data-v-5e8d09a0]{background:#1a1a1a}.x-md-code-header[data-v-5e8d09a0]{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:#0000000d;color:#333}.x-md-code-block .x-md-code-header-wrapper--sticky .x-md-code-header[data-v-5e8d09a0]{background:#ebebeb;border-radius:8px 8px 0 0}.x-md-code-block[data-v-5e8d09a0]:has(.x-md-code-header-wrapper--sticky){overflow:visible}.x-md-code-block.x-md-code-block--dark .x-md-code-header[data-v-5e8d09a0]{background:#00000040;color:#fff}.x-md-code-block.x-md-code-block--dark .x-md-code-header-wrapper--sticky .x-md-code-header[data-v-5e8d09a0]{background:#2c2c2c}.x-md-code-block .x-md-code-header-wrapper--collapsed .x-md-code-header[data-v-5e8d09a0]{border-radius:8px}.x-md-code-header__left[data-v-5e8d09a0],.x-md-code-header__right[data-v-5e8d09a0]{display:flex;align-items:center;gap:8px}.x-md-code-lang[data-v-5e8d09a0]{font-size:12px;font-weight:500;opacity:.6;text-transform:lowercase}.x-md-copy-btn[data-v-5e8d09a0]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;color:inherit;cursor:pointer;opacity:.7;transition:all .2s ease}.x-md-copy-btn[data-v-5e8d09a0]:hover{opacity:1;background:#00000014}.x-md-code-block.x-md-code-block--dark .x-md-copy-btn[data-v-5e8d09a0]:hover{background:#ffffff1a}.x-md-copy-btn.x-md-copy-btn--copied[data-v-5e8d09a0]{opacity:1;color:#22c55e}.x-md-copy-icon[data-v-5e8d09a0]{flex-shrink:0}.x-md-action-btn[data-v-5e8d09a0]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;color:inherit;cursor:pointer;opacity:.7;transition:all .2s ease}.x-md-action-btn[data-v-5e8d09a0]:hover{opacity:1;background:#00000014}.x-md-code-block.x-md-code-block--dark .x-md-action-btn[data-v-5e8d09a0]:hover{background:#ffffff1a}.x-md-action-btn.x-md-action-btn--disabled[data-v-5e8d09a0]{opacity:.3;cursor:not-allowed;pointer-events:none}.x-md-action-icon[data-v-5e8d09a0]{display:flex;align-items:center;justify-content:center}.x-md-action-icon[data-v-5e8d09a0] svg{width:16px;height:16px;flex-shrink:0}.x-md-collapse-btn[data-v-5e8d09a0]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:4px;background:transparent;color:inherit;cursor:pointer;opacity:.5;transition:all .2s ease}.x-md-collapse-btn[data-v-5e8d09a0]:hover{opacity:1;background:#00000014}.x-md-code-block.x-md-code-block--dark .x-md-collapse-btn[data-v-5e8d09a0]:hover{background:#ffffff1a}.x-md-collapse-icon[data-v-5e8d09a0]{transition:transform .2s ease}.x-md-collapse-btn--collapsed .x-md-collapse-icon[data-v-5e8d09a0]{transform:rotate(-90deg)}.x-md-code-body[data-v-5e8d09a0]{overflow:hidden;transition:max-height .3s ease,opacity .2s ease}.x-md-code-body--collapsed[data-v-5e8d09a0]{max-height:0!important;opacity:0}.x-md-inline-code[data-v-d2fd90dc]{display:inline-block;border-radius:8px;overflow:hidden;font-size:14px;background:#00000008;vertical-align:sub}.x-md-inline-code.x-md-inline-code--dark[data-v-d2fd90dc]{background:#ffffff21}.x-md-inline-code code[data-v-d2fd90dc]{background:transparent!important}.syntax-mermaid{display:flex;align-items:center;justify-content:center;min-height:200px;overflow:hidden;cursor:grab;position:relative}.syntax-mermaid__render-container{position:absolute;max-height:0;opacity:0;overflow:hidden;pointer-events:none}.syntax-mermaid:active{cursor:grabbing}.syntax-mermaid__content{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.syntax-mermaid__content svg{transform-origin:center center;max-width:100%;max-height:100%}.syntax-mermaid:fullscreen{max-height:100vh}.syntax-mermaid:fullscreen .syntax-mermaid__content{justify-content:center}.syntax-mermaid__loading{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:200px}.syntax-mermaid__loading-text{color:#666;font-size:14px}.syntax-mermaid--dark .syntax-mermaid__loading-text{color:#999}.markdown-mermaid{border-radius:8px;overflow:hidden;font-size:0;background:#00000008}.markdown-mermaid.markdown-mermaid--dark{background:#ffffff21}.markdown-mermaid .toolbar-container{position:relative;z-index:10;flex-shrink:0;background:#0000000d;color:#333}.markdown-mermaid.markdown-mermaid--dark .toolbar-container{background:#00000040;color:#fff}.markdown-mermaid .mermaid-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:transparent;color:inherit}.markdown-mermaid .mermaid-toolbar .toolbar-left{display:flex;align-items:center}.markdown-mermaid .mermaid-toolbar .segmented-control{display:flex;align-items:center;position:relative;background:#0000000f;border-radius:6px;padding:3px;gap:2px}.markdown-mermaid.markdown-mermaid--dark .mermaid-toolbar .segmented-control{background:#ffffff14}.markdown-mermaid .mermaid-toolbar .segmented-slider{position:absolute;top:3px;left:3px;width:calc(50% - 4px);height:calc(100% - 6px);background:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;transition:transform .25s cubic-bezier(.4,0,.2,1);z-index:0}.markdown-mermaid.markdown-mermaid--dark .mermaid-toolbar .segmented-slider{background:#ffffff26;box-shadow:0 1px 3px #0003}.markdown-mermaid .mermaid-toolbar .segmented-slider.slide-right{transform:translate(calc(100% + 2px))}.markdown-mermaid .mermaid-toolbar .segment-item{display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px;border:none;color:inherit;min-width:60px;text-align:center;box-sizing:border-box;font-weight:500;cursor:pointer;border-radius:4px;padding:5px 12px;transition:all .2s ease;background:transparent;opacity:.6;user-select:none;position:relative;z-index:1}.markdown-mermaid .mermaid-toolbar .segment-item.active{opacity:1}.markdown-mermaid.markdown-mermaid--dark .mermaid-toolbar .segment-item.active{color:#fff}.markdown-mermaid .mermaid-toolbar .segment-item:hover{opacity:1}.markdown-mermaid .mermaid-toolbar .segment-item svg{flex-shrink:0}.markdown-mermaid .mermaid-toolbar .toolbar-right{display:flex;align-items:center;gap:16px}.markdown-mermaid .mermaid-toolbar .toolbar-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;color:inherit;cursor:pointer;transition:all .2s ease;opacity:.7}.markdown-mermaid .mermaid-toolbar .toolbar-action-btn:hover{opacity:1;background:#00000014}.markdown-mermaid .mermaid-toolbar .toolbar-action-btn.copy-success{opacity:1;color:#22c55e}.markdown-mermaid.markdown-mermaid--dark .mermaid-toolbar .toolbar-action-btn:hover{background:#ffffff1a}.markdown-mermaid .mermaid-toolbar .toolbar-action-btn.toolbar-action-btn--disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.markdown-mermaid .mermaid-toolbar .mermaid-action-icon{display:flex;align-items:center;justify-content:center}.markdown-mermaid .mermaid-toolbar .mermaid-action-icon :deep(svg){width:16px;height:16px;flex-shrink:0}.markdown-mermaid .mermaid-source-code{position:relative;z-index:1;flex:1;width:100%;overflow:auto;box-sizing:border-box}.toolbar-enter-active,.toolbar-leave-active{transition:opacity .3s ease}.toolbar-enter-from,.toolbar-leave-to{opacity:0}
1
+ @keyframes fadeIn {
2
+ 0% {
3
+ opacity: 0;
4
+ }
5
+ 100% {
6
+ opacity: 1;
7
+ }
8
+ }
9
+
10
+ .x-md-animated-word {
11
+ animation: fadeIn .3s ease-in-out;
12
+ }
13
+
14
+ .x-md-renderer pre{
15
+ margin: 16px 0;
16
+ padding: 0;
17
+ overflow: auto;
18
+ background: transparent !important;
19
+ }
20
+
21
+ .x-md-renderer pre:has(.x-md-code-header-wrapper--sticky) {
22
+ overflow: unset;
23
+ }
24
+
25
+ .katex-error {
26
+ color: var(--el-text-color-secondary) !important;
27
+ }
28
+ .katex-html {
29
+ overflow: auto hidden;
30
+ padding: 3px;
31
+ }
32
+
33
+ .x-md-syntax-code-block[data-v-ddb364e9] {
34
+ width: 100%;
35
+ }
36
+ .x-md-syntax-code-block pre[data-v-ddb364e9] {
37
+ margin: 0;
38
+ padding: 16px;
39
+ overflow: auto;
40
+ background: transparent !important;
41
+ }
42
+ .x-md-code-content[data-v-ddb364e9] {
43
+ display: flex;
44
+ flex-direction: column;
45
+ }
46
+ .x-md-code-line[data-v-ddb364e9] {
47
+ width: 100%;
48
+ font-size: 14px;
49
+ line-height: 1.5;
50
+ display: flex;
51
+ }
52
+
53
+ .x-md-code-block[data-v-5e8d09a0] {
54
+ border-radius: 8px;
55
+ overflow: hidden;
56
+ font-size: 0;
57
+ background: rgba(0, 0, 0, 0.03);
58
+ }
59
+ .x-md-code-block.x-md-code-block--dark[data-v-5e8d09a0] {
60
+ background: rgba(255, 255, 255, 0.13);
61
+ }
62
+ .x-md-code-header-wrapper--sticky[data-v-5e8d09a0] {
63
+ background: #fff;
64
+ position: sticky;
65
+ top: 0;
66
+ }
67
+ .x-md-code-block.x-md-code-block--dark .x-md-code-header-wrapper--sticky[data-v-5e8d09a0] {
68
+ background: #1a1a1a;
69
+ }
70
+ .x-md-code-header[data-v-5e8d09a0] {
71
+ display: flex;
72
+ justify-content: space-between;
73
+ align-items: center;
74
+ padding: 8px 16px;
75
+ background: rgba(0, 0, 0, 0.05);
76
+ color: #333;
77
+ }
78
+ .x-md-code-block .x-md-code-header-wrapper--sticky .x-md-code-header[data-v-5e8d09a0]{
79
+ background: rgba(235, 235, 235);
80
+ border-radius: 8px 8px 0 0;
81
+ }
82
+ .x-md-code-block[data-v-5e8d09a0]:has(.x-md-code-header-wrapper--sticky) {
83
+ overflow: visible;
84
+ }
85
+ .x-md-code-block.x-md-code-block--dark .x-md-code-header[data-v-5e8d09a0] {
86
+ background: rgba(0, 0, 0, 0.25);
87
+ color: #fff;
88
+ }
89
+ .x-md-code-block.x-md-code-block--dark .x-md-code-header-wrapper--sticky .x-md-code-header[data-v-5e8d09a0] {
90
+ background: rgba(44, 44, 44);
91
+ }
92
+ .x-md-code-block .x-md-code-header-wrapper--collapsed .x-md-code-header[data-v-5e8d09a0] {
93
+ border-radius: 8px;
94
+ }
95
+ .x-md-code-header__left[data-v-5e8d09a0],
96
+ .x-md-code-header__right[data-v-5e8d09a0] {
97
+ display: flex;
98
+ align-items: center;
99
+ gap: 8px;
100
+ }
101
+ .x-md-code-lang[data-v-5e8d09a0] {
102
+ font-size: 12px;
103
+ font-weight: 500;
104
+ opacity: 0.6;
105
+ text-transform: lowercase;
106
+ }
107
+ .x-md-copy-btn[data-v-5e8d09a0] {
108
+ display: flex;
109
+ align-items: center;
110
+ justify-content: center;
111
+ width: 28px;
112
+ height: 28px;
113
+ padding: 0;
114
+ border: none;
115
+ border-radius: 4px;
116
+ background: transparent;
117
+ color: inherit;
118
+ cursor: pointer;
119
+ opacity: 0.7;
120
+ transition: all 0.2s ease;
121
+ }
122
+ .x-md-copy-btn[data-v-5e8d09a0]:hover {
123
+ opacity: 1;
124
+ background: rgba(0, 0, 0, 0.08);
125
+ }
126
+ .x-md-code-block.x-md-code-block--dark .x-md-copy-btn[data-v-5e8d09a0]:hover {
127
+ background: rgba(255, 255, 255, 0.1);
128
+ }
129
+ .x-md-copy-btn.x-md-copy-btn--copied[data-v-5e8d09a0] {
130
+ opacity: 1;
131
+ color: #22c55e;
132
+ }
133
+ .x-md-copy-icon[data-v-5e8d09a0] {
134
+ flex-shrink: 0;
135
+ }
136
+ .x-md-action-btn[data-v-5e8d09a0] {
137
+ display: flex;
138
+ align-items: center;
139
+ justify-content: center;
140
+ width: 28px;
141
+ height: 28px;
142
+ padding: 0;
143
+ border: none;
144
+ border-radius: 4px;
145
+ background: transparent;
146
+ color: inherit;
147
+ cursor: pointer;
148
+ opacity: 0.7;
149
+ transition: all 0.2s ease;
150
+ }
151
+ .x-md-action-btn[data-v-5e8d09a0]:hover {
152
+ opacity: 1;
153
+ background: rgba(0, 0, 0, 0.08);
154
+ }
155
+ .x-md-code-block.x-md-code-block--dark .x-md-action-btn[data-v-5e8d09a0]:hover {
156
+ background: rgba(255, 255, 255, 0.1);
157
+ }
158
+ .x-md-action-btn.x-md-action-btn--disabled[data-v-5e8d09a0] {
159
+ opacity: 0.3;
160
+ cursor: not-allowed;
161
+ pointer-events: none;
162
+ }
163
+ .x-md-action-icon[data-v-5e8d09a0] {
164
+ display: flex;
165
+ align-items: center;
166
+ justify-content: center;
167
+ }
168
+ .x-md-action-icon[data-v-5e8d09a0] svg {
169
+ width: 16px;
170
+ height: 16px;
171
+ flex-shrink: 0;
172
+ }
173
+ .x-md-collapse-btn[data-v-5e8d09a0] {
174
+ display: flex;
175
+ align-items: center;
176
+ justify-content: center;
177
+ width: 20px;
178
+ height: 20px;
179
+ padding: 0;
180
+ border: none;
181
+ border-radius: 4px;
182
+ background: transparent;
183
+ color: inherit;
184
+ cursor: pointer;
185
+ opacity: 0.5;
186
+ transition: all 0.2s ease;
187
+ }
188
+ .x-md-collapse-btn[data-v-5e8d09a0]:hover {
189
+ opacity: 1;
190
+ background: rgba(0, 0, 0, 0.08);
191
+ }
192
+ .x-md-code-block.x-md-code-block--dark .x-md-collapse-btn[data-v-5e8d09a0]:hover {
193
+ background: rgba(255, 255, 255, 0.1);
194
+ }
195
+ .x-md-collapse-icon[data-v-5e8d09a0] {
196
+ transition: transform 0.2s ease;
197
+ }
198
+ .x-md-collapse-btn--collapsed .x-md-collapse-icon[data-v-5e8d09a0] {
199
+ transform: rotate(-90deg);
200
+ }
201
+ .x-md-code-body[data-v-5e8d09a0] {
202
+ overflow: hidden;
203
+ transition:
204
+ max-height 0.3s ease,
205
+ opacity 0.2s ease;
206
+ }
207
+ .x-md-code-body--collapsed[data-v-5e8d09a0] {
208
+ max-height: 0 !important;
209
+ opacity: 0;
210
+ }
211
+
212
+ .x-md-inline-code[data-v-d2fd90dc] {
213
+ display: inline-block;
214
+ border-radius: 8px;
215
+ overflow: hidden;
216
+ font-size: 14px;
217
+ background: rgba(0, 0, 0, 0.03);
218
+ vertical-align: sub;
219
+ }
220
+ .x-md-inline-code.x-md-inline-code--dark[data-v-d2fd90dc] {
221
+ background: rgba(255, 255, 255, 0.13);
222
+ }
223
+ .x-md-inline-code code[data-v-d2fd90dc] {
224
+ background: transparent !important;
225
+ }
226
+
227
+ .syntax-mermaid {
228
+ display: flex;
229
+ align-items: center;
230
+ justify-content: center;
231
+ min-height: 200px;
232
+ overflow: hidden;
233
+ cursor: grab;
234
+ position: relative;
235
+ }
236
+ .syntax-mermaid__render-container {
237
+ position: absolute;
238
+ max-height: 0;
239
+ opacity: 0;
240
+ overflow: hidden;
241
+ pointer-events: none;
242
+ }
243
+ .syntax-mermaid:active {
244
+ cursor: grabbing;
245
+ }
246
+ .syntax-mermaid__content {
247
+ width: 100%;
248
+ height: 100%;
249
+ display: flex;
250
+ align-items: center;
251
+ justify-content: center;
252
+ }
253
+ .syntax-mermaid__content svg {
254
+ transform-origin: center center;
255
+ max-width: 100%;
256
+ max-height: 100%;
257
+ }
258
+ .syntax-mermaid:fullscreen {
259
+ max-height: 100vh;
260
+ }
261
+ .syntax-mermaid:fullscreen .syntax-mermaid__content {
262
+ justify-content: center;
263
+ }
264
+ .syntax-mermaid__loading {
265
+ display: flex;
266
+ align-items: center;
267
+ justify-content: center;
268
+ width: 100%;
269
+ height: 100%;
270
+ min-height: 200px;
271
+ }
272
+ .syntax-mermaid__loading-text {
273
+ color: #666;
274
+ font-size: 14px;
275
+ }
276
+ .syntax-mermaid--dark .syntax-mermaid__loading-text {
277
+ color: #999;
278
+ }
279
+
280
+ .markdown-mermaid {
281
+ border-radius: 8px;
282
+ overflow: hidden;
283
+ font-size: 0;
284
+ background: rgba(0, 0, 0, 0.03);
285
+ }
286
+ .markdown-mermaid.markdown-mermaid--dark {
287
+ background: rgba(255, 255, 255, 0.13);
288
+ }
289
+ .markdown-mermaid .toolbar-container {
290
+ position: relative;
291
+ z-index: 10;
292
+ flex-shrink: 0;
293
+ background: rgba(0, 0, 0, 0.05);
294
+ color: #333;
295
+ }
296
+ .markdown-mermaid.markdown-mermaid--dark .toolbar-container {
297
+ background: rgba(0, 0, 0, 0.25);
298
+ color: #fff;
299
+ }
300
+ .markdown-mermaid .mermaid-toolbar {
301
+ display: flex;
302
+ justify-content: space-between;
303
+ align-items: center;
304
+ padding: 8px 16px;
305
+ background: transparent;
306
+ color: inherit;
307
+ }
308
+ .markdown-mermaid .mermaid-toolbar .toolbar-left {
309
+ display: flex;
310
+ align-items: center;
311
+ }
312
+ .markdown-mermaid .mermaid-toolbar .segmented-control {
313
+ display: flex;
314
+ align-items: center;
315
+ position: relative;
316
+ background: rgba(0, 0, 0, 0.06);
317
+ border-radius: 6px;
318
+ padding: 3px;
319
+ gap: 2px;
320
+ }
321
+ .markdown-mermaid.markdown-mermaid--dark .mermaid-toolbar .segmented-control {
322
+ background: rgba(255, 255, 255, 0.08);
323
+ }
324
+ .markdown-mermaid .mermaid-toolbar .segmented-slider {
325
+ position: absolute;
326
+ top: 3px;
327
+ left: 3px;
328
+ width: calc(50% - 4px);
329
+ height: calc(100% - 6px);
330
+ background: #fff;
331
+ border-radius: 4px;
332
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
333
+ transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
334
+ z-index: 0;
335
+ }
336
+ .markdown-mermaid.markdown-mermaid--dark .mermaid-toolbar .segmented-slider {
337
+ background: rgba(255, 255, 255, 0.15);
338
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
339
+ }
340
+ .markdown-mermaid .mermaid-toolbar .segmented-slider.slide-right {
341
+ transform: translateX(calc(100% + 2px));
342
+ }
343
+ .markdown-mermaid .mermaid-toolbar .segment-item {
344
+ display: flex;
345
+ align-items: center;
346
+ justify-content: center;
347
+ gap: 4px;
348
+ font-size: 12px;
349
+ border: none;
350
+ color: inherit;
351
+ min-width: 60px;
352
+ text-align: center;
353
+ box-sizing: border-box;
354
+ font-weight: 500;
355
+ cursor: pointer;
356
+ border-radius: 4px;
357
+ padding: 5px 12px;
358
+ transition: all 0.2s ease;
359
+ background: transparent;
360
+ opacity: 0.6;
361
+ user-select: none;
362
+ position: relative;
363
+ z-index: 1;
364
+ }
365
+ .markdown-mermaid .mermaid-toolbar .segment-item.active {
366
+ opacity: 1;
367
+ }
368
+ .markdown-mermaid.markdown-mermaid--dark .mermaid-toolbar .segment-item.active {
369
+ color: #fff;
370
+ }
371
+ .markdown-mermaid .mermaid-toolbar .segment-item:hover {
372
+ opacity: 1;
373
+ }
374
+ .markdown-mermaid .mermaid-toolbar .segment-item svg {
375
+ flex-shrink: 0;
376
+ }
377
+ .markdown-mermaid .mermaid-toolbar .toolbar-right {
378
+ display: flex;
379
+ align-items: center;
380
+ gap: 16px;
381
+ }
382
+ .markdown-mermaid .mermaid-toolbar .toolbar-action-btn {
383
+ display: flex;
384
+ align-items: center;
385
+ justify-content: center;
386
+ width: 28px;
387
+ height: 28px;
388
+ padding: 0;
389
+ border: none;
390
+ border-radius: 4px;
391
+ background: transparent;
392
+ color: inherit;
393
+ cursor: pointer;
394
+ transition: all 0.2s ease;
395
+ opacity: 0.7;
396
+ }
397
+ .markdown-mermaid .mermaid-toolbar .toolbar-action-btn:hover {
398
+ opacity: 1;
399
+ background: rgba(0, 0, 0, 0.08);
400
+ }
401
+ .markdown-mermaid .mermaid-toolbar .toolbar-action-btn.copy-success {
402
+ opacity: 1;
403
+ color: #22c55e;
404
+ }
405
+ .markdown-mermaid.markdown-mermaid--dark .mermaid-toolbar .toolbar-action-btn:hover {
406
+ background: rgba(255, 255, 255, 0.1);
407
+ }
408
+ .markdown-mermaid .mermaid-toolbar .toolbar-action-btn.toolbar-action-btn--disabled {
409
+ opacity: 0.3;
410
+ cursor: not-allowed;
411
+ pointer-events: none;
412
+ }
413
+ .markdown-mermaid .mermaid-toolbar .mermaid-action-icon {
414
+ display: flex;
415
+ align-items: center;
416
+ justify-content: center;
417
+ }
418
+ .markdown-mermaid .mermaid-toolbar .mermaid-action-icon :deep(svg) {
419
+ width: 16px;
420
+ height: 16px;
421
+ flex-shrink: 0;
422
+ }
423
+ .markdown-mermaid .mermaid-source-code {
424
+ position: relative;
425
+ z-index: 1;
426
+ flex: 1;
427
+ width: 100%;
428
+ overflow: auto;
429
+ box-sizing: border-box;
430
+ }
431
+ .toolbar-enter-active,
432
+ .toolbar-leave-active {
433
+ transition: opacity 0.3s ease;
434
+ }
435
+ .toolbar-enter-from,
436
+ .toolbar-leave-to {
437
+ opacity: 0;
438
+ }
@@ -0,0 +1,33 @@
1
+ import { type InjectionKey } from 'vue';
2
+ export interface XMarkdownOptions {
3
+ /**
4
+ * Shiki 加载函数
5
+ * @example () => import('shiki')
6
+ */
7
+ shiki?: () => Promise<any>;
8
+ /**
9
+ * Shiki Stream 加载函数
10
+ * @example () => import('shiki-stream')
11
+ */
12
+ shikiStream?: () => Promise<any>;
13
+ /**
14
+ * Mermaid 加载函数
15
+ * @example () => import('mermaid')
16
+ */
17
+ mermaid?: () => Promise<any>;
18
+ /**
19
+ * 是否显示控制台提示
20
+ * @default true
21
+ */
22
+ showConsoleHints?: boolean;
23
+ }
24
+ export declare const X_MARKDOWN_CONFIG_KEY: InjectionKey<XMarkdownOptions>;
25
+ /**
26
+ * 提供 x-markdown 全局配置
27
+ * @param options 配置选项
28
+ */
29
+ export declare function provideXMarkdown(options: XMarkdownOptions): void;
30
+ /**
31
+ * 获取 x-markdown 全局配置
32
+ */
33
+ export declare function useXMarkdownConfig(): XMarkdownOptions;
@@ -16,7 +16,7 @@ export declare function getMermaidAvailableCache(): boolean | null;
16
16
  /**
17
17
  * 检测 mermaid 是否可用(全局缓存,只检测一次)
18
18
  */
19
- export declare function checkMermaidAvailable(): Promise<boolean>;
19
+ export declare function checkMermaidAvailable(loader?: () => Promise<any>): Promise<boolean>;
20
20
  export declare function useMermaid(content: string | Ref<string>, options?: UseMermaidOptionsInput): UseMermaidResult;
21
21
  export declare function useMermaidZoom(options: UseMermaidZoomOptions): MermaidZoomControls;
22
22
  export {};
@@ -14,6 +14,8 @@ export { useProcessMarkdown, preprocessLaTeX } from './hooks/useMarkdown';
14
14
  export { useMermaid } from './hooks/useMermaid';
15
15
  export { usePlugins } from './hooks/usePlugins';
16
16
  export { useTheme } from './hooks/useTheme';
17
+ export { provideXMarkdown } from './config';
18
+ export type { XMarkdownOptions } from './config';
17
19
  export type * from './core/types';
18
20
  export type { CodeLineProps } from './components/CodeLine/types';
19
21
  export type { CodeBlockProps } from './components/CodeBlock/types';
@@ -1,2 +1,36 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./x-markdown.cjs2.js"),r=require("./x-markdown.cjs3.js"),s=require("./x-markdown.cjs4.js"),o=require("./x-markdown.cjs5.js"),n=require("./x-markdown.cjs6.js"),d=require("./x-markdown.cjs7.js"),u=require("./x-markdown.cjs8.js"),t=require("./x-markdown.cjs9.js"),a=require("./x-markdown.cjs10.js"),c=require("./x-markdown.cjs11.js");exports.VueMarkdown=e.VueMarkdown,exports.VueMarkdownAsync=e.VueMarkdownAsync,exports.MarkdownRenderer=r.MarkdownRenderer,exports.MarkdownRendererAsync=r.MarkdownRendererAsync,exports.getVNodeInfos=s.getVNodeInfos,exports.render=s.render,exports.renderChildren=s.renderChildren,exports.createProcessor=o.createProcessor,exports.useMarkdownProcessor=o.useMarkdownProcessor,exports.useComponents=n.useComponents,exports.useHighlight=d.useHighlight,exports.preprocessLaTeX=u.preprocessLaTeX,exports.useProcessMarkdown=u.useProcessMarkdown,exports.useMermaid=t.useMermaid,exports.usePlugins=a.usePlugins,exports.useTheme=c.useTheme;
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const components = require('./x-markdown.cjs2.js');
6
+ const index = require('./x-markdown.cjs3.js');
7
+ const hastToVnode = require('./x-markdown.cjs4.js');
8
+ const useProcessor = require('./x-markdown.cjs5.js');
9
+ const useComponents = require('./x-markdown.cjs6.js');
10
+ const useHighlight = require('./x-markdown.cjs7.js');
11
+ const useMarkdown = require('./x-markdown.cjs8.js');
12
+ const useMermaid = require('./x-markdown.cjs9.js');
13
+ const usePlugins = require('./x-markdown.cjs10.js');
14
+ const useTheme = require('./x-markdown.cjs11.js');
15
+ const config = require('./x-markdown.cjs12.js');
16
+
17
+
18
+
19
+ exports.VueMarkdown = components.VueMarkdown;
20
+ exports.VueMarkdownAsync = components.VueMarkdownAsync;
21
+ exports.MarkdownRenderer = index.MarkdownRenderer;
22
+ exports.MarkdownRendererAsync = index.MarkdownRendererAsync;
23
+ exports.getVNodeInfos = hastToVnode.getVNodeInfos;
24
+ exports.render = hastToVnode.render;
25
+ exports.renderChildren = hastToVnode.renderChildren;
26
+ exports.createProcessor = useProcessor.createProcessor;
27
+ exports.useMarkdownProcessor = useProcessor.useMarkdownProcessor;
28
+ exports.useComponents = useComponents.useComponents;
29
+ exports.useHighlight = useHighlight.useHighlight;
30
+ exports.preprocessLaTeX = useMarkdown.preprocessLaTeX;
31
+ exports.useProcessMarkdown = useMarkdown.useProcessMarkdown;
32
+ exports.useMermaid = useMermaid.useMermaid;
33
+ exports.usePlugins = usePlugins.usePlugins;
34
+ exports.useTheme = useTheme.useTheme;
35
+ exports.provideXMarkdown = config.provideXMarkdown;
2
36
  //# sourceMappingURL=x-markdown.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-markdown.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"x-markdown.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,53 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("rehype-katex"),r=require("rehype-raw"),a=require("remark-breaks"),u=require("remark-gfm"),l=require("remark-math"),n=require("vue"),i=require("./x-markdown.cjs14.js");exports.usePlugins=function(t){const{allowHtml:s,enableAnimate:o,enableLatex:m,enableBreaks:g,enableGfm:v,rehypePlugins:p,remarkPlugins:k,rehypePluginsAhead:c,remarkPluginsAhead:d}=n.toRefs(t);return{rehypePlugins:n.computed(()=>[...c.value,s.value&&r,m.value&&e,o.value&&i.rehypeAnimatedPlugin,...p.value].filter(Boolean)),remarkPlugins:n.computed(()=>{const e=[m.value&&l,!1!==v.value&&[u,{singleTilde:!1}],g.value&&a].filter(Boolean);return[...d.value,...e,...k.value]})}};
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const rehypeKatex = require('rehype-katex');
6
+ const rehypeRaw = require('rehype-raw');
7
+ const remarkBreaks = require('remark-breaks');
8
+ const remarkGfm = require('remark-gfm');
9
+ const remarkMath = require('remark-math');
10
+ const vue = require('vue');
11
+ const rehypePlugin = require('./x-markdown.cjs15.js');
12
+
13
+ function usePlugins(props) {
14
+ const {
15
+ allowHtml,
16
+ enableAnimate,
17
+ enableLatex,
18
+ enableBreaks,
19
+ enableGfm,
20
+ rehypePlugins,
21
+ remarkPlugins,
22
+ rehypePluginsAhead,
23
+ remarkPluginsAhead
24
+ } = vue.toRefs(props);
25
+ const rehype = vue.computed(() => {
26
+ return [
27
+ ...rehypePluginsAhead.value,
28
+ allowHtml.value && rehypeRaw,
29
+ enableLatex.value && rehypeKatex,
30
+ enableAnimate.value && rehypePlugin.rehypeAnimatedPlugin,
31
+ ...rehypePlugins.value
32
+ ].filter(Boolean);
33
+ });
34
+ const remark = vue.computed(() => {
35
+ const base = [
36
+ enableLatex.value && remarkMath,
37
+ enableGfm.value !== false && [remarkGfm, { singleTilde: false }],
38
+ enableBreaks.value && remarkBreaks
39
+ ].filter(Boolean);
40
+ return [
41
+ ...remarkPluginsAhead.value,
42
+ ...base,
43
+ ...remarkPlugins.value
44
+ ];
45
+ });
46
+ return {
47
+ rehypePlugins: rehype,
48
+ remarkPlugins: remark
49
+ };
50
+ }
51
+
52
+ exports.usePlugins = usePlugins;
2
53
  //# sourceMappingURL=x-markdown.cjs10.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-markdown.cjs10.js","sources":["../src/hooks/usePlugins.ts"],"sourcesContent":["import type { Pluggable } from 'unified'\r\nimport rehypeKatex from 'rehype-katex'\r\nimport rehypeRaw from 'rehype-raw'\r\nimport remarkBreaks from 'remark-breaks'\r\nimport remarkGfm from 'remark-gfm'\r\nimport remarkMath from 'remark-math'\r\nimport { computed, toRefs } from 'vue'\r\nimport { rehypeAnimatedPlugin } from '../plugins/rehypePlugin'\r\n\r\nfunction usePlugins(props: any) {\r\n const {\r\n allowHtml,\r\n enableAnimate,\r\n enableLatex,\r\n enableBreaks,\r\n enableGfm,\r\n rehypePlugins,\r\n remarkPlugins,\r\n rehypePluginsAhead,\r\n remarkPluginsAhead,\r\n } = toRefs(props)\r\n\r\n const rehype = computed(() => {\r\n return [\r\n ...(rehypePluginsAhead.value as Pluggable[]),\r\n allowHtml.value && rehypeRaw,\r\n enableLatex.value && rehypeKatex,\r\n enableAnimate.value && rehypeAnimatedPlugin,\r\n ...(rehypePlugins.value as Pluggable[]),\r\n ].filter(Boolean) as Pluggable[]\r\n })\r\n\r\n const remark = computed(() => {\r\n const base: (Pluggable | { plugins: Pluggable[] })[] = [\r\n enableLatex.value && remarkMath,\r\n enableGfm.value !== false && [remarkGfm, { singleTilde: false }],\r\n enableBreaks.value && remarkBreaks,\r\n ].filter(Boolean) as (Pluggable | { plugins: Pluggable[] })[]\r\n\r\n return [\r\n ...(remarkPluginsAhead.value as (Pluggable | { plugins: Pluggable[] })[]),\r\n ...base,\r\n ...(remarkPlugins.value as (Pluggable | { plugins: Pluggable[] })[]),\r\n ]\r\n })\r\n\r\n return {\r\n rehypePlugins: rehype,\r\n remarkPlugins: remark,\r\n }\r\n}\r\nexport { usePlugins }\r\n"],"names":["props","allowHtml","enableAnimate","enableLatex","enableBreaks","enableGfm","rehypePlugins","remarkPlugins","rehypePluginsAhead","remarkPluginsAhead","toRefs","computed","value","rehypeRaw","rehypeKatex","rehypeAnimatedPlugin","filter","Boolean","base","remarkMath","remarkGfm","singleTilde","remarkBreaks"],"mappings":"2RASA,SAAoBA,GAClB,MAAMC,UACJA,EAAAC,cACAA,EAAAC,YACAA,EAAAC,aACAA,EAAAC,UACAA,EAAAC,cACAA,EAAAC,cACAA,EAAAC,mBACAA,EAAAC,mBACAA,GACEC,EAAAA,OAAOV,GA0BX,MAAO,CACLM,cAzBaK,EAAAA,SAAS,IACf,IACDH,EAAmBI,MACvBX,EAAUW,OAASC,EACnBV,EAAYS,OAASE,EACrBZ,EAAcU,OAASG,EAAAA,wBACnBT,EAAcM,OAClBI,OAAOC,UAmBTV,cAhBaI,EAAAA,SAAS,KACtB,MAAMO,EAAiD,CACrDf,EAAYS,OAASO,GACD,IAApBd,EAAUO,OAAmB,CAACQ,EAAW,CAAEC,aAAa,IACxDjB,EAAaQ,OAASU,GACtBN,OAAOC,SAET,MAAO,IACDR,EAAmBG,SACpBM,KACCX,EAAcK,SAQxB"}
1
+ {"version":3,"file":"x-markdown.cjs10.js","sources":["../src/hooks/usePlugins.ts"],"sourcesContent":["import type { Pluggable } from 'unified'\r\nimport rehypeKatex from 'rehype-katex'\r\nimport rehypeRaw from 'rehype-raw'\r\nimport remarkBreaks from 'remark-breaks'\r\nimport remarkGfm from 'remark-gfm'\r\nimport remarkMath from 'remark-math'\r\nimport { computed, toRefs } from 'vue'\r\nimport { rehypeAnimatedPlugin } from '../plugins/rehypePlugin'\r\n\r\nfunction usePlugins(props: any) {\r\n const {\r\n allowHtml,\r\n enableAnimate,\r\n enableLatex,\r\n enableBreaks,\r\n enableGfm,\r\n rehypePlugins,\r\n remarkPlugins,\r\n rehypePluginsAhead,\r\n remarkPluginsAhead,\r\n } = toRefs(props)\r\n\r\n const rehype = computed(() => {\r\n return [\r\n ...(rehypePluginsAhead.value as Pluggable[]),\r\n allowHtml.value && rehypeRaw,\r\n enableLatex.value && rehypeKatex,\r\n enableAnimate.value && rehypeAnimatedPlugin,\r\n ...(rehypePlugins.value as Pluggable[]),\r\n ].filter(Boolean) as Pluggable[]\r\n })\r\n\r\n const remark = computed(() => {\r\n const base: (Pluggable | { plugins: Pluggable[] })[] = [\r\n enableLatex.value && remarkMath,\r\n enableGfm.value !== false && [remarkGfm, { singleTilde: false }],\r\n enableBreaks.value && remarkBreaks,\r\n ].filter(Boolean) as (Pluggable | { plugins: Pluggable[] })[]\r\n\r\n return [\r\n ...(remarkPluginsAhead.value as (Pluggable | { plugins: Pluggable[] })[]),\r\n ...base,\r\n ...(remarkPlugins.value as (Pluggable | { plugins: Pluggable[] })[]),\r\n ]\r\n })\r\n\r\n return {\r\n rehypePlugins: rehype,\r\n remarkPlugins: remark,\r\n }\r\n}\r\nexport { usePlugins }\r\n"],"names":["toRefs","computed","rehypeAnimatedPlugin"],"mappings":";;;;;;;;;;;;AASA,SAAS,WAAW,KAAA,EAAY;AAC9B,EAAA,MAAM;AAAA,IACJ,SAAA;AAAA,IACA,aAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA;AAAA,IACA,SAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,IACA,kBAAA;AAAA,IACA;AAAA,GACF,GAAIA,WAAO,KAAK,CAAA;AAEhB,EAAA,MAAM,MAAA,GAASC,aAAS,MAAM;AAC5B,IAAA,OAAO;AAAA,MACL,GAAI,kBAAA,CAAmB,KAAA;AAAA,MACvB,UAAU,KAAA,IAAS,SAAA;AAAA,MACnB,YAAY,KAAA,IAAS,WAAA;AAAA,MACrB,cAAc,KAAA,IAASC,iCAAA;AAAA,MACvB,GAAI,aAAA,CAAc;AAAA,KACpB,CAAE,OAAO,OAAO,CAAA;AAAA,EAClB,CAAC,CAAA;AAED,EAAA,MAAM,MAAA,GAASD,aAAS,MAAM;AAC5B,IAAA,MAAM,IAAA,GAAiD;AAAA,MACrD,YAAY,KAAA,IAAS,UAAA;AAAA,MACrB,SAAA,CAAU,UAAU,KAAA,IAAS,CAAC,WAAW,EAAE,WAAA,EAAa,OAAO,CAAA;AAAA,MAC/D,aAAa,KAAA,IAAS;AAAA,KACxB,CAAE,OAAO,OAAO,CAAA;AAEhB,IAAA,OAAO;AAAA,MACL,GAAI,kBAAA,CAAmB,KAAA;AAAA,MACvB,GAAG,IAAA;AAAA,MACH,GAAI,aAAA,CAAc;AAAA,KACpB;AAAA,EACF,CAAC,CAAA;AAED,EAAA,OAAO;AAAA,IACL,aAAA,EAAe,MAAA;AAAA,IACf,aAAA,EAAe;AAAA,GACjB;AACF;;;;"}
@@ -1,2 +1,58 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),t={light:"vitesse-light",dark:"vitesse-dark"};exports.themeMap=t,exports.useTheme=function(a={}){const{lightTheme:o=t.light,darkTheme:u=t.dark}=a,d=e.ref(e.isRef(a.mode)?a.mode.value:a.mode||"auto"),l=e.computed({get:()=>e.isRef(a.mode)?a.mode.value:d.value,set:e=>{d.value=e}}),s=e.ref(!1);if("undefined"!=typeof window){const e=window.matchMedia("(prefers-color-scheme: dark)");s.value=e.matches,e.addEventListener("change",e=>{s.value=e.matches})}const r=e.computed(()=>"auto"===l.value?s.value:"dark"===l.value),i=e.computed(()=>(e.isRef(a.theme)?a.theme.value:a.theme)||(r.value?u:o));return{mode:l,isDark:r,actualTheme:i,setMode:e=>{d.value=e},toggleMode:()=>{const e=["light","dark","auto"],t=e.indexOf(l.value);d.value=e[(t+1)%e.length]}}};
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const vue = require('vue');
6
+
7
+ const themeMap = {
8
+ light: "vitesse-light",
9
+ dark: "vitesse-dark"
10
+ };
11
+ function useTheme(options = {}) {
12
+ const { lightTheme = themeMap.light, darkTheme = themeMap.dark } = options;
13
+ const internalMode = vue.ref(vue.isRef(options.mode) ? options.mode.value : options.mode || "auto");
14
+ const mode = vue.computed({
15
+ get: () => vue.isRef(options.mode) ? options.mode.value : internalMode.value,
16
+ set: (val) => {
17
+ internalMode.value = val;
18
+ }
19
+ });
20
+ const systemIsDark = vue.ref(false);
21
+ if (typeof window !== "undefined") {
22
+ const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
23
+ systemIsDark.value = mediaQuery.matches;
24
+ mediaQuery.addEventListener("change", (e) => {
25
+ systemIsDark.value = e.matches;
26
+ });
27
+ }
28
+ const isDark = vue.computed(() => {
29
+ if (mode.value === "auto") {
30
+ return systemIsDark.value;
31
+ }
32
+ return mode.value === "dark";
33
+ });
34
+ const actualTheme = vue.computed(() => {
35
+ const customTheme = vue.isRef(options.theme) ? options.theme.value : options.theme;
36
+ if (customTheme) return customTheme;
37
+ return isDark.value ? darkTheme : lightTheme;
38
+ });
39
+ const setMode = (newMode) => {
40
+ internalMode.value = newMode;
41
+ };
42
+ const toggleMode = () => {
43
+ const modes = ["light", "dark", "auto"];
44
+ const currentIndex = modes.indexOf(mode.value);
45
+ internalMode.value = modes[(currentIndex + 1) % modes.length];
46
+ };
47
+ return {
48
+ mode,
49
+ isDark,
50
+ actualTheme,
51
+ setMode,
52
+ toggleMode
53
+ };
54
+ }
55
+
56
+ exports.themeMap = themeMap;
57
+ exports.useTheme = useTheme;
2
58
  //# sourceMappingURL=x-markdown.cjs11.js.map