vue-markdown-design 0.1.1 → 0.3.0

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 (77) hide show
  1. package/README.md +2 -2
  2. package/README.zh-CN.md +22 -4
  3. package/es/hooks/use-element/index.d.ts +1 -1
  4. package/es/hooks/use-element/index.mjs +9 -9
  5. package/es/hooks/use-scroll-element/index.mjs +4 -5
  6. package/es/index.mjs +3 -3
  7. package/es/markdown/Markdown.d.ts +78 -86
  8. package/es/markdown/Markdown.mjs +146 -121
  9. package/es/markdown/index.css +31 -16
  10. package/es/markdown/index.d.ts +99 -281
  11. package/es/markdown/type.d.ts +5 -5
  12. package/es/render/Render.d.ts +20 -10
  13. package/es/render/Render.mjs +24 -27
  14. package/es/render/index.css +62 -269
  15. package/es/render/index.d.ts +25 -73
  16. package/es/render/type.d.ts +3 -2
  17. package/es/search/Search.d.ts +20 -33
  18. package/es/search/Search.mjs +100 -72
  19. package/es/search/index.css +1 -0
  20. package/es/search/index.d.ts +29 -95
  21. package/es/search/type.d.ts +3 -0
  22. package/es/sticky/Sticky.d.ts +6 -9
  23. package/es/sticky/Sticky.mjs +26 -165
  24. package/es/sticky/index.css +2 -2
  25. package/es/sticky/index.d.ts +9 -34
  26. package/es/style/variables.css +1 -0
  27. package/es/toc/{TOC.d.ts → Toc.d.ts} +22 -22
  28. package/es/toc/{TOC.mjs → Toc.mjs} +113 -75
  29. package/es/toc/index.css +1 -7
  30. package/es/toc/index.d.ts +31 -72
  31. package/es/toc/index.mjs +5 -5
  32. package/es/toc/type.d.ts +7 -9
  33. package/es/utils/constant.d.ts +1 -0
  34. package/es/utils/constant.mjs +4 -0
  35. package/es/utils/dom.d.ts +2 -2
  36. package/es/utils/dom.mjs +8 -6
  37. package/es/utils/format.d.ts +5 -3
  38. package/es/utils/format.mjs +15 -9
  39. package/es/utils/types.d.ts +2 -0
  40. package/lib/hooks/use-element/index.d.ts +1 -1
  41. package/lib/hooks/use-element/index.js +7 -7
  42. package/lib/hooks/use-scroll-element/index.js +4 -5
  43. package/lib/index.js +3 -3
  44. package/lib/markdown/Markdown.d.ts +78 -86
  45. package/lib/markdown/Markdown.js +146 -121
  46. package/lib/markdown/index.css +31 -16
  47. package/lib/markdown/index.d.ts +99 -281
  48. package/lib/markdown/type.d.ts +5 -5
  49. package/lib/render/Render.d.ts +20 -10
  50. package/lib/render/Render.js +22 -25
  51. package/lib/render/index.css +62 -269
  52. package/lib/render/index.d.ts +25 -73
  53. package/lib/render/type.d.ts +3 -2
  54. package/lib/search/Search.d.ts +20 -33
  55. package/lib/search/Search.js +97 -69
  56. package/lib/search/index.css +1 -0
  57. package/lib/search/index.d.ts +29 -95
  58. package/lib/search/type.d.ts +3 -0
  59. package/lib/sticky/Sticky.d.ts +6 -9
  60. package/lib/sticky/Sticky.js +23 -162
  61. package/lib/sticky/index.css +2 -2
  62. package/lib/sticky/index.d.ts +9 -34
  63. package/lib/style/variables.css +1 -0
  64. package/lib/toc/{TOC.d.ts → Toc.d.ts} +22 -22
  65. package/lib/toc/{TOC.js → Toc.js} +110 -72
  66. package/lib/toc/index.css +1 -7
  67. package/lib/toc/index.d.ts +31 -72
  68. package/lib/toc/index.js +5 -5
  69. package/lib/toc/type.d.ts +7 -9
  70. package/lib/utils/constant.d.ts +1 -0
  71. package/lib/utils/constant.js +4 -0
  72. package/lib/utils/dom.d.ts +2 -2
  73. package/lib/utils/dom.js +8 -6
  74. package/lib/utils/format.d.ts +5 -3
  75. package/lib/utils/format.js +14 -8
  76. package/lib/utils/types.d.ts +2 -0
  77. package/package.json +9 -8
package/README.md CHANGED
@@ -2,7 +2,7 @@ English | [中文](./README.zh-CN.md)
2
2
 
3
3
  # Vue Markdown Design
4
4
 
5
- A Vue 3 out-of-the-box Markdown component built on [markdown-it](https://github.com/markdown-it/markdown-it). It mainly features Markdown rendering, TOC generation, and keyword search. It also includes other common functionalities such as support for markdown-it plugins, emoji, heading permalinks, XSS sanitization, and TypeScript.
5
+ A Vue 3 out-of-the-box Markdown component built on [markdown-it](https://github.com/markdown-it/markdown-it). It mainly features Markdown rendering, toc generation, and keyword search. It also includes other common functionalities such as support for markdown-it plugins, emoji, heading permalinks, XSS sanitization, and TypeScript.
6
6
 
7
7
  ## Quick Start
8
8
 
@@ -42,4 +42,4 @@ More documentation coming soon!
42
42
 
43
43
  ## License
44
44
 
45
- [MIT](../../LICENSE).
45
+ [MIT](./LICENSE).
package/README.zh-CN.md CHANGED
@@ -1,6 +1,24 @@
1
1
  # Vue Markdown Design
2
2
 
3
- 一个基于 [markdown-it](https://github.com/markdown-it/markdown-it) 的 Vue 3 开箱即用 Markdown 组件,主要功能有 Markdown 渲染,目录生成,关键字搜索。同时内置其他常用功能,包括支持 markdown-it 插件,emoji 表情,标题永久链接,防御 XSS 攻击,支持 TypeScript 等。
3
+ 一个基于 [markdown-it](https://github.com/markdown-it/markdown-it) 的 Vue 3 开箱即用 Markdown 渲染组件。
4
+
5
+ ## 主要特性
6
+
7
+ 🚀 **核心功能** - 提供 Markdown 实时渲染,目录生成和全文搜索功能
8
+
9
+ 📦 **开箱即用** - 集成 Markdown 常用功能,包括 Emoji 表情、标题永久链接、代码高亮等
10
+
11
+ 🎨 **主题定制** - 可替换的 Markdown 主题,可通过 CSS 变量配置的组件样式
12
+
13
+ 🔌 **生态兼容** - 兼容 markdown-it 插件,支持丰富的功能扩展
14
+
15
+ 📱 **跨端适配** - 适配 PC 端和移动端,支持响应式布局
16
+
17
+ 🧩 **模块设计** - 核心功能支持按需引入,自由组合满足多样化布局需求
18
+
19
+ 🛡️ **安全防护** - 默认启用 HTML 内容安全过滤,有效防范 XSS 等网络攻击
20
+
21
+ 📋 **类型提示** - 使用 TypeScript 开发,提供完整的类型定义
4
22
 
5
23
  ## 快速上手
6
24
 
@@ -29,15 +47,15 @@ app.mount('#app')
29
47
  ```
30
48
 
31
49
  ```vue
32
- <!-- demo.vue -->
50
+ <!-- App.vue -->
33
51
 
34
52
  <vue-markdown :src="`# 标题\n内容`" />
35
53
  ```
36
54
 
37
55
  ## 更多
38
56
 
39
- 详细文档即将发布,敬请期待!
57
+ 详细开发文档请前往 https://markdown-design.pages.dev/zh
40
58
 
41
59
  ## 开源协议
42
60
 
43
- 本项目基于 [MIT](../../LICENSE) 协议。
61
+ 本项目基于 [MIT](./LICENSE) 协议。
@@ -1,6 +1,6 @@
1
1
  import { MaybeElement, UnRefElementReturn } from '@vueuse/core';
2
2
  import { MaybeRefOrGetter } from 'vue';
3
3
  export declare function useElement(target?: MaybeRefOrGetter<MaybeElement | string>): {
4
- targetEl: import('vue').ShallowRef<UnRefElementReturn>;
4
+ targetEl: import('vue').ShallowRef<UnRefElementReturn, UnRefElementReturn>;
5
5
  update: () => void;
6
6
  };
@@ -1,20 +1,20 @@
1
- import { toRef, unrefElement } from "@vueuse/core";
1
+ import { useMounted, toValue, unrefElement } from "@vueuse/core";
2
2
  import { isString } from "lodash";
3
- import { shallowRef, watch, onMounted } from "vue";
3
+ import { shallowRef, watchPostEffect } from "vue";
4
4
  function useElement(target) {
5
5
  const targetEl = shallowRef();
6
- const targetRef = toRef(target);
6
+ const isMounted = useMounted();
7
7
  const update = () => {
8
- if (!targetRef.value) return;
9
- if (!isString(targetRef.value)) {
10
- targetEl.value = unrefElement(targetRef.value);
8
+ const targetVal = toValue(target);
9
+ if (!(targetVal && isMounted.value)) return;
10
+ if (!isString(targetVal)) {
11
+ targetEl.value = unrefElement(targetVal);
11
12
  return;
12
13
  }
13
- targetEl.value = document.querySelector(targetRef.value);
14
+ targetEl.value = document.querySelector(targetVal);
14
15
  if (!targetEl.value) console.error("[vue-markdown-design] Target does not exist.");
15
16
  };
16
- watch(targetRef, update, { flush: "post" });
17
- onMounted(update);
17
+ watchPostEffect(update);
18
18
  return { targetEl, update };
19
19
  }
20
20
  export {
@@ -1,5 +1,6 @@
1
1
  import { unrefElement, useMutationObserver } from "@vueuse/core";
2
2
  import { shallowRef, watch, onMounted } from "vue";
3
+ import { allToArray } from "../../utils/format.mjs";
3
4
  const tagNames = /* @__PURE__ */ new Set(["HTML", "BODY"]);
4
5
  const scrollReg = /scroll|auto|overlay/i;
5
6
  function getScrollElement(el, onlyParent) {
@@ -40,11 +41,9 @@ function useScrollParent(target, options = {}) {
40
41
  }
41
42
  };
42
43
  watch(() => unrefElement(target), update, { flush: "post" });
43
- useMutationObserver(
44
- () => Array.isArray(scrollEl.value) ? scrollEl.value : [scrollEl.value],
45
- update,
46
- { attributeFilter: ["style", "class"] }
47
- );
44
+ useMutationObserver(() => allToArray(scrollEl.value), update, {
45
+ attributeFilter: ["style", "class"]
46
+ });
48
47
  onMounted(update);
49
48
  return { scrollEl, update };
50
49
  }
package/es/index.mjs CHANGED
@@ -1,18 +1,18 @@
1
1
  import './style/variables.css';/* empty css */
2
2
  import { VmdRender } from "./render/index.mjs";
3
3
  import { VmdSearch } from "./search/index.mjs";
4
- import { VmdTOC } from "./toc/index.mjs";
4
+ import { VmdToc } from "./toc/index.mjs";
5
5
  import { VmdSticky } from "./sticky/index.mjs";
6
6
  import { VueMarkdown, VueMarkdown as VueMarkdown2 } from "./markdown/index.mjs";
7
7
  import { renderProps } from "./render/Render.mjs";
8
8
  import { searchProps } from "./search/Search.mjs";
9
- import { tocProps } from "./toc/TOC.mjs";
9
+ import { tocProps } from "./toc/Toc.mjs";
10
10
  import { markdownProps } from "./markdown/Markdown.mjs";
11
11
  export {
12
12
  VmdRender,
13
13
  VmdSearch,
14
14
  VmdSticky,
15
- VmdTOC,
15
+ VmdToc,
16
16
  VueMarkdown,
17
17
  VueMarkdown2 as default,
18
18
  markdownProps,
@@ -1,38 +1,37 @@
1
1
  import { ExtractPropTypes, PropType } from 'vue';
2
- import { TOCItem } from '../toc';
3
- import { ObjectToUnion } from '../utils/types';
2
+ import { TocItem } from '../toc';
3
+ import { ObjectToUnion, Offset } from '../utils/types';
4
4
  import { MarkdownBtnType } from './type';
5
5
  export declare const markdownProps: {
6
6
  keyword: {
7
- type: (StringConstructor | NumberConstructor)[];
7
+ type: (NumberConstructor | StringConstructor)[];
8
8
  default: string;
9
9
  };
10
- current: {
11
- type: NumberConstructor;
12
- default: number;
13
- };
14
- tocOffset: PropType<number | import('../utils/types').UnionStr<ScrollLogicalPosition>>;
10
+ tocOffset: PropType<Offset>;
15
11
  showBtn: {
16
12
  type: PropType<ObjectToUnion<MarkdownBtnType>>;
17
13
  default: boolean;
18
14
  };
19
15
  search: BooleanConstructor;
20
16
  toc: BooleanConstructor;
21
- offsetTop: (StringConstructor | NumberConstructor)[];
22
- offsetBottom: {
23
- type: (StringConstructor | NumberConstructor)[];
17
+ topOffset: {
18
+ type: (NumberConstructor | StringConstructor)[];
19
+ default: number;
20
+ };
21
+ bottomOffset: {
22
+ type: (NumberConstructor | StringConstructor)[];
24
23
  default: number;
25
24
  };
26
25
  miniScreenWidth: {
27
- type: (StringConstructor | NumberConstructor)[];
26
+ type: (NumberConstructor | StringConstructor)[];
28
27
  default: number;
29
28
  };
30
29
  tocStartLevel: {
31
- type: (StringConstructor | NumberConstructor)[];
30
+ type: (NumberConstructor | StringConstructor)[];
32
31
  default: number;
33
32
  };
34
33
  tocEndLevel: {
35
- type: (StringConstructor | NumberConstructor)[];
34
+ type: (NumberConstructor | StringConstructor)[];
36
35
  default: number;
37
36
  };
38
37
  tocOrderedList: BooleanConstructor;
@@ -41,7 +40,7 @@ export declare const markdownProps: {
41
40
  type: BooleanConstructor;
42
41
  default: boolean;
43
42
  };
44
- tocTarget: PropType<string | import('@vueuse/core').MaybeElement>;
43
+ tocTarget: PropType<import('vue').MaybeRefOrGetter<string | import('@vueuse/core').MaybeElement>>;
45
44
  tocBound: {
46
45
  type: NumberConstructor;
47
46
  default: number;
@@ -60,7 +59,7 @@ export declare const markdownProps: {
60
59
  };
61
60
  tocSmooth: BooleanConstructor;
62
61
  searchModelValue: {
63
- type: (StringConstructor | NumberConstructor)[];
62
+ type: (NumberConstructor | StringConstructor)[];
64
63
  default: string;
65
64
  };
66
65
  searchClearable: {
@@ -80,13 +79,9 @@ export declare const markdownProps: {
80
79
  default: boolean;
81
80
  };
82
81
  searchPlaceholder: StringConstructor;
83
- searchCurrent: {
84
- type: NumberConstructor;
85
- default: number;
86
- };
87
- searchTarget: PropType<string | import('@vueuse/core').MaybeElement>;
82
+ searchTarget: PropType<import('vue').MaybeRefOrGetter<string | import('@vueuse/core').MaybeElement>>;
88
83
  searchOffset: {
89
- type: PropType<number | import('../utils/types').UnionStr<ScrollLogicalPosition>>;
84
+ type: PropType<Offset>;
90
85
  default: string;
91
86
  };
92
87
  searchSmooth: BooleanConstructor;
@@ -99,7 +94,7 @@ export declare const markdownProps: {
99
94
  default: () => {};
100
95
  };
101
96
  src: {
102
- type: (StringConstructor | NumberConstructor)[];
97
+ type: (NumberConstructor | StringConstructor)[];
103
98
  default: string;
104
99
  };
105
100
  plugins: {
@@ -107,7 +102,10 @@ export declare const markdownProps: {
107
102
  default: () => never[];
108
103
  };
109
104
  inline: BooleanConstructor;
110
- preset: PropType<import('../utils/types').UnionStr<import('markdown-it').PresetName>>;
105
+ presetName: {
106
+ type: PropType<import('../utils/types').UnionStr<import('markdown-it').PresetName>>;
107
+ default: string;
108
+ };
111
109
  html: {
112
110
  type: BooleanConstructor;
113
111
  default: boolean;
@@ -144,7 +142,7 @@ export declare const markdownProps: {
144
142
  default: boolean;
145
143
  };
146
144
  anchor: {
147
- type: PropType<boolean | import("markdown-it-anchor").default.AnchorOptions | ((params: typeof import('markdown-it-anchor').default) => import("markdown-it-anchor").default.AnchorOptions)>;
145
+ type: PropType<boolean | import("markdown-it-anchor").default.AnchorOptions | ((anchor: typeof import('markdown-it-anchor').default) => import("markdown-it-anchor").default.AnchorOptions)>;
148
146
  default: boolean;
149
147
  };
150
148
  permalink: {
@@ -158,35 +156,34 @@ export declare const markdownProps: {
158
156
  };
159
157
  declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
160
158
  keyword: {
161
- type: (StringConstructor | NumberConstructor)[];
159
+ type: (NumberConstructor | StringConstructor)[];
162
160
  default: string;
163
161
  };
164
- current: {
165
- type: NumberConstructor;
166
- default: number;
167
- };
168
- tocOffset: PropType<number | import('../utils/types').UnionStr<ScrollLogicalPosition>>;
162
+ tocOffset: PropType<Offset>;
169
163
  showBtn: {
170
164
  type: PropType<ObjectToUnion<MarkdownBtnType>>;
171
165
  default: boolean;
172
166
  };
173
167
  search: BooleanConstructor;
174
168
  toc: BooleanConstructor;
175
- offsetTop: (StringConstructor | NumberConstructor)[];
176
- offsetBottom: {
177
- type: (StringConstructor | NumberConstructor)[];
169
+ topOffset: {
170
+ type: (NumberConstructor | StringConstructor)[];
171
+ default: number;
172
+ };
173
+ bottomOffset: {
174
+ type: (NumberConstructor | StringConstructor)[];
178
175
  default: number;
179
176
  };
180
177
  miniScreenWidth: {
181
- type: (StringConstructor | NumberConstructor)[];
178
+ type: (NumberConstructor | StringConstructor)[];
182
179
  default: number;
183
180
  };
184
181
  tocStartLevel: {
185
- type: (StringConstructor | NumberConstructor)[];
182
+ type: (NumberConstructor | StringConstructor)[];
186
183
  default: number;
187
184
  };
188
185
  tocEndLevel: {
189
- type: (StringConstructor | NumberConstructor)[];
186
+ type: (NumberConstructor | StringConstructor)[];
190
187
  default: number;
191
188
  };
192
189
  tocOrderedList: BooleanConstructor;
@@ -195,7 +192,7 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
195
192
  type: BooleanConstructor;
196
193
  default: boolean;
197
194
  };
198
- tocTarget: PropType<string | import('@vueuse/core').MaybeElement>;
195
+ tocTarget: PropType<import('vue').MaybeRefOrGetter<string | import('@vueuse/core').MaybeElement>>;
199
196
  tocBound: {
200
197
  type: NumberConstructor;
201
198
  default: number;
@@ -214,7 +211,7 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
214
211
  };
215
212
  tocSmooth: BooleanConstructor;
216
213
  searchModelValue: {
217
- type: (StringConstructor | NumberConstructor)[];
214
+ type: (NumberConstructor | StringConstructor)[];
218
215
  default: string;
219
216
  };
220
217
  searchClearable: {
@@ -234,13 +231,9 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
234
231
  default: boolean;
235
232
  };
236
233
  searchPlaceholder: StringConstructor;
237
- searchCurrent: {
238
- type: NumberConstructor;
239
- default: number;
240
- };
241
- searchTarget: PropType<string | import('@vueuse/core').MaybeElement>;
234
+ searchTarget: PropType<import('vue').MaybeRefOrGetter<string | import('@vueuse/core').MaybeElement>>;
242
235
  searchOffset: {
243
- type: PropType<number | import('../utils/types').UnionStr<ScrollLogicalPosition>>;
236
+ type: PropType<Offset>;
244
237
  default: string;
245
238
  };
246
239
  searchSmooth: BooleanConstructor;
@@ -253,7 +246,7 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
253
246
  default: () => {};
254
247
  };
255
248
  src: {
256
- type: (StringConstructor | NumberConstructor)[];
249
+ type: (NumberConstructor | StringConstructor)[];
257
250
  default: string;
258
251
  };
259
252
  plugins: {
@@ -261,7 +254,10 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
261
254
  default: () => never[];
262
255
  };
263
256
  inline: BooleanConstructor;
264
- preset: PropType<import('../utils/types').UnionStr<import('markdown-it').PresetName>>;
257
+ presetName: {
258
+ type: PropType<import('../utils/types').UnionStr<import('markdown-it').PresetName>>;
259
+ default: string;
260
+ };
265
261
  html: {
266
262
  type: BooleanConstructor;
267
263
  default: boolean;
@@ -298,7 +294,7 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
298
294
  default: boolean;
299
295
  };
300
296
  anchor: {
301
- type: PropType<boolean | import("markdown-it-anchor").default.AnchorOptions | ((params: typeof import('markdown-it-anchor').default) => import("markdown-it-anchor").default.AnchorOptions)>;
297
+ type: PropType<boolean | import("markdown-it-anchor").default.AnchorOptions | ((anchor: typeof import('markdown-it-anchor').default) => import("markdown-it-anchor").default.AnchorOptions)>;
302
298
  default: boolean;
303
299
  };
304
300
  permalink: {
@@ -311,53 +307,51 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
311
307
  };
312
308
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
313
309
  'update:keyword': (payload: string) => boolean;
314
- 'update:current': (payload: number) => boolean;
315
310
  'update:search': (payload: boolean) => boolean;
316
311
  'update:toc': (payload: boolean) => boolean;
317
- tocClick: (payload: TOCItem) => boolean;
318
- tocChange: (payload: string) => boolean;
312
+ tocClick: (payload: TocItem) => boolean;
313
+ tocChange: (payload?: string | undefined) => boolean;
319
314
  "searchUpdate:modelValue": (payload: string) => boolean;
320
- "searchUpdate:current": (payload: number) => boolean;
321
315
  searchInput: (payload: Event) => boolean;
322
316
  searchBlur: (payload: FocusEvent) => boolean;
323
317
  searchFocus: (payload: FocusEvent) => boolean;
324
318
  searchChange: (payload: Event) => boolean;
325
319
  searchClear: () => boolean;
326
320
  searchClose: () => boolean;
327
- searchToggle: (payload: import('../utils/types').UnionStr<"prev" | "next">) => boolean;
321
+ searchStepClick: (payload: "prev" | "next") => boolean;
328
322
  searchTotalChange: (payload: number) => boolean;
323
+ searchIndexChange: (payload: number) => boolean;
329
324
  envChange: (payload: {}) => boolean;
330
325
  }, string, import('vue').PublicProps, Readonly<ExtractPropTypes<{
331
326
  keyword: {
332
- type: (StringConstructor | NumberConstructor)[];
327
+ type: (NumberConstructor | StringConstructor)[];
333
328
  default: string;
334
329
  };
335
- current: {
336
- type: NumberConstructor;
337
- default: number;
338
- };
339
- tocOffset: PropType<number | import('../utils/types').UnionStr<ScrollLogicalPosition>>;
330
+ tocOffset: PropType<Offset>;
340
331
  showBtn: {
341
332
  type: PropType<ObjectToUnion<MarkdownBtnType>>;
342
333
  default: boolean;
343
334
  };
344
335
  search: BooleanConstructor;
345
336
  toc: BooleanConstructor;
346
- offsetTop: (StringConstructor | NumberConstructor)[];
347
- offsetBottom: {
348
- type: (StringConstructor | NumberConstructor)[];
337
+ topOffset: {
338
+ type: (NumberConstructor | StringConstructor)[];
339
+ default: number;
340
+ };
341
+ bottomOffset: {
342
+ type: (NumberConstructor | StringConstructor)[];
349
343
  default: number;
350
344
  };
351
345
  miniScreenWidth: {
352
- type: (StringConstructor | NumberConstructor)[];
346
+ type: (NumberConstructor | StringConstructor)[];
353
347
  default: number;
354
348
  };
355
349
  tocStartLevel: {
356
- type: (StringConstructor | NumberConstructor)[];
350
+ type: (NumberConstructor | StringConstructor)[];
357
351
  default: number;
358
352
  };
359
353
  tocEndLevel: {
360
- type: (StringConstructor | NumberConstructor)[];
354
+ type: (NumberConstructor | StringConstructor)[];
361
355
  default: number;
362
356
  };
363
357
  tocOrderedList: BooleanConstructor;
@@ -366,7 +360,7 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
366
360
  type: BooleanConstructor;
367
361
  default: boolean;
368
362
  };
369
- tocTarget: PropType<string | import('@vueuse/core').MaybeElement>;
363
+ tocTarget: PropType<import('vue').MaybeRefOrGetter<string | import('@vueuse/core').MaybeElement>>;
370
364
  tocBound: {
371
365
  type: NumberConstructor;
372
366
  default: number;
@@ -385,7 +379,7 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
385
379
  };
386
380
  tocSmooth: BooleanConstructor;
387
381
  searchModelValue: {
388
- type: (StringConstructor | NumberConstructor)[];
382
+ type: (NumberConstructor | StringConstructor)[];
389
383
  default: string;
390
384
  };
391
385
  searchClearable: {
@@ -405,13 +399,9 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
405
399
  default: boolean;
406
400
  };
407
401
  searchPlaceholder: StringConstructor;
408
- searchCurrent: {
409
- type: NumberConstructor;
410
- default: number;
411
- };
412
- searchTarget: PropType<string | import('@vueuse/core').MaybeElement>;
402
+ searchTarget: PropType<import('vue').MaybeRefOrGetter<string | import('@vueuse/core').MaybeElement>>;
413
403
  searchOffset: {
414
- type: PropType<number | import('../utils/types').UnionStr<ScrollLogicalPosition>>;
404
+ type: PropType<Offset>;
415
405
  default: string;
416
406
  };
417
407
  searchSmooth: BooleanConstructor;
@@ -424,7 +414,7 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
424
414
  default: () => {};
425
415
  };
426
416
  src: {
427
- type: (StringConstructor | NumberConstructor)[];
417
+ type: (NumberConstructor | StringConstructor)[];
428
418
  default: string;
429
419
  };
430
420
  plugins: {
@@ -432,7 +422,10 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
432
422
  default: () => never[];
433
423
  };
434
424
  inline: BooleanConstructor;
435
- preset: PropType<import('../utils/types').UnionStr<import('markdown-it').PresetName>>;
425
+ presetName: {
426
+ type: PropType<import('../utils/types').UnionStr<import('markdown-it').PresetName>>;
427
+ default: string;
428
+ };
436
429
  html: {
437
430
  type: BooleanConstructor;
438
431
  default: boolean;
@@ -469,7 +462,7 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
469
462
  default: boolean;
470
463
  };
471
464
  anchor: {
472
- type: PropType<boolean | import("markdown-it-anchor").default.AnchorOptions | ((params: typeof import('markdown-it-anchor').default) => import("markdown-it-anchor").default.AnchorOptions)>;
465
+ type: PropType<boolean | import("markdown-it-anchor").default.AnchorOptions | ((anchor: typeof import('markdown-it-anchor').default) => import("markdown-it-anchor").default.AnchorOptions)>;
473
466
  default: boolean;
474
467
  };
475
468
  permalink: {
@@ -482,29 +475,29 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
482
475
  };
483
476
  }>> & Readonly<{
484
477
  onEnvChange?: ((payload: {}) => any) | undefined;
485
- "onUpdate:current"?: ((payload: number) => any) | undefined;
486
478
  onSearchFocus?: ((payload: FocusEvent) => any) | undefined;
487
479
  onSearchBlur?: ((payload: FocusEvent) => any) | undefined;
488
480
  onSearchClear?: (() => any) | undefined;
489
481
  "onSearchUpdate:modelValue"?: ((payload: string) => any) | undefined;
490
- "onSearchUpdate:current"?: ((payload: number) => any) | undefined;
491
482
  onSearchInput?: ((payload: Event) => any) | undefined;
492
483
  onSearchChange?: ((payload: Event) => any) | undefined;
493
484
  onSearchClose?: (() => any) | undefined;
494
- onSearchToggle?: ((payload: import('../utils/types').UnionStr<"prev" | "next">) => any) | undefined;
485
+ onSearchStepClick?: ((payload: "prev" | "next") => any) | undefined;
495
486
  onSearchTotalChange?: ((payload: number) => any) | undefined;
496
- onTocClick?: ((payload: TOCItem) => any) | undefined;
497
- onTocChange?: ((payload: string) => any) | undefined;
487
+ onSearchIndexChange?: ((payload: number) => any) | undefined;
488
+ onTocClick?: ((payload: TocItem) => any) | undefined;
489
+ onTocChange?: ((payload?: string | undefined) => any) | undefined;
498
490
  "onUpdate:keyword"?: ((payload: string) => any) | undefined;
499
491
  "onUpdate:search"?: ((payload: boolean) => any) | undefined;
500
492
  "onUpdate:toc"?: ((payload: boolean) => any) | undefined;
501
493
  }>, {
502
494
  inline: boolean;
503
495
  search: boolean;
504
- anchor: boolean | import("markdown-it-anchor").default.AnchorOptions | ((params: typeof import('markdown-it-anchor').default) => import("markdown-it-anchor").default.AnchorOptions);
496
+ anchor: boolean | import("markdown-it-anchor").default.AnchorOptions | ((anchor: typeof import('markdown-it-anchor').default) => import("markdown-it-anchor").default.AnchorOptions);
505
497
  highlight: boolean | ((str: string, lang: string, attrs: string) => string) | null | undefined;
506
498
  src: string | number;
507
499
  plugins: import('markdown-it').PluginSimple | (any[] | import('markdown-it').PluginSimple | [import('markdown-it').PluginWithParams, ...any[]])[];
500
+ presetName: import('../utils/types').UnionStr<import('markdown-it').PresetName>;
508
501
  html: boolean;
509
502
  sanitize: boolean | import('@markdown-design/markdown-it-sanitize').SanitizeOptions;
510
503
  xhtmlOut: boolean;
@@ -514,15 +507,13 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
514
507
  emoji: boolean | Partial<import('markdown-it-emoji').Options>;
515
508
  permalink: boolean;
516
509
  markdownClass: string;
517
- current: number;
518
510
  toc: boolean;
519
511
  searchModelValue: string | number;
520
512
  searchClearable: boolean;
521
513
  searchBorder: boolean;
522
514
  searchSize: import('../utils/types').UnionStr<"small" | "huge" | "large" | "normal">;
523
515
  searchDisabled: boolean;
524
- searchCurrent: number;
525
- searchOffset: number | import('../utils/types').UnionStr<ScrollLogicalPosition>;
516
+ searchOffset: Offset;
526
517
  searchSmooth: boolean;
527
518
  searchCloseIcon: boolean;
528
519
  searchInputAttrs: Record<string, any>;
@@ -538,7 +529,8 @@ declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
538
529
  tocSmooth: boolean;
539
530
  keyword: string | number;
540
531
  showBtn: ObjectToUnion<MarkdownBtnType>;
541
- offsetBottom: string | number;
532
+ topOffset: string | number;
533
+ bottomOffset: string | number;
542
534
  miniScreenWidth: string | number;
543
535
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
544
536
  export default _default;