artalk 2.7.1 → 2.7.3

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 (305) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -1
  3. package/dist/Artalk.cjs +2 -0
  4. package/dist/Artalk.cjs.map +1 -0
  5. package/dist/Artalk.css +1 -1
  6. package/dist/Artalk.iife.js +1 -1
  7. package/dist/Artalk.iife.js.map +1 -1
  8. package/dist/Artalk.js +1 -1
  9. package/dist/Artalk.js.map +1 -1
  10. package/dist/{Artalk.es.js → Artalk.mjs} +250 -222
  11. package/dist/Artalk.mjs.map +1 -0
  12. package/dist/ArtalkLite.cjs +2 -0
  13. package/dist/ArtalkLite.cjs.map +1 -0
  14. package/dist/ArtalkLite.css +1 -1
  15. package/dist/ArtalkLite.iife.js +1 -1
  16. package/dist/ArtalkLite.iife.js.map +1 -1
  17. package/dist/ArtalkLite.js +1 -1
  18. package/dist/ArtalkLite.js.map +1 -1
  19. package/dist/{ArtalkLite.es.js → ArtalkLite.mjs} +250 -227
  20. package/dist/ArtalkLite.mjs.map +1 -0
  21. package/dist/i18n/jp.cjs +1 -0
  22. package/dist/i18n/jp.d.cts +3 -0
  23. package/dist/i18n/jp.d.ts +3 -0
  24. package/dist/i18n/jp.js +1 -1
  25. package/dist/i18n/jp.mjs +93 -0
  26. package/dist/i18n/zh-TW.cjs +1 -0
  27. package/dist/i18n/zh-TW.d.cts +3 -0
  28. package/dist/i18n/zh-TW.d.ts +3 -0
  29. package/dist/i18n/zh-TW.js +1 -1
  30. package/dist/i18n/zh-TW.mjs +93 -0
  31. package/dist/main.d.cts +1476 -0
  32. package/dist/main.d.ts +1476 -0
  33. package/package.json +80 -22
  34. package/dist/Artalk.es.js.map +0 -1
  35. package/dist/ArtalkLite.es.js.map +0 -1
  36. package/dist/src/api/_base.d.ts +0 -10
  37. package/dist/src/api/_options.d.ts +0 -19
  38. package/dist/src/api/_request.d.ts +0 -12
  39. package/dist/src/api/admin.d.ts +0 -10
  40. package/dist/src/api/captcha.d.ts +0 -14
  41. package/dist/src/api/comment.d.ts +0 -29
  42. package/dist/src/api/index.d.ts +0 -29
  43. package/dist/src/api/page.d.ts +0 -22
  44. package/dist/src/api/site.d.ts +0 -17
  45. package/dist/src/api/system.d.ts +0 -33
  46. package/dist/src/api/upload.d.ts +0 -11
  47. package/dist/src/api/user.d.ts +0 -42
  48. package/dist/src/artalk.d.ts +0 -35
  49. package/dist/src/comment/actions.d.ts +0 -17
  50. package/dist/src/comment/comment.d.ts +0 -66
  51. package/dist/src/comment/height-limit.d.ts +0 -30
  52. package/dist/src/comment/index.d.ts +0 -2
  53. package/dist/src/comment/render.d.ts +0 -46
  54. package/dist/src/comment/renders/actions.d.ts +0 -5
  55. package/dist/src/comment/renders/avatar.d.ts +0 -5
  56. package/dist/src/comment/renders/content.d.ts +0 -5
  57. package/dist/src/comment/renders/header.d.ts +0 -5
  58. package/dist/src/comment/renders/index.d.ts +0 -2
  59. package/dist/src/comment/renders/pending.d.ts +0 -5
  60. package/dist/src/comment/renders/reply-at.d.ts +0 -5
  61. package/dist/src/comment/renders/reply-to.d.ts +0 -5
  62. package/dist/src/components/action-btn.d.ts +0 -50
  63. package/dist/src/components/checker/admin.d.ts +0 -3
  64. package/dist/src/components/checker/captcha-renders.d.ts +0 -5
  65. package/dist/src/components/checker/captcha.d.ts +0 -3
  66. package/dist/src/components/checker/index.d.ts +0 -51
  67. package/dist/src/components/dark-mode.d.ts +0 -2
  68. package/dist/src/components/dialog.d.ts +0 -16
  69. package/dist/src/components/error-dialog.d.ts +0 -8
  70. package/dist/src/components/pagination.d.ts +0 -31
  71. package/dist/src/components/read-more-btn.d.ts +0 -33
  72. package/dist/src/config.d.ts +0 -24
  73. package/dist/src/context.d.ts +0 -45
  74. package/dist/src/data.d.ts +0 -27
  75. package/dist/src/defaults.d.ts +0 -3
  76. package/dist/src/editor/editor.d.ts +0 -31
  77. package/dist/src/editor/state.d.ts +0 -20
  78. package/dist/src/editor/ui.d.ts +0 -25
  79. package/dist/src/i18n/en.d.ts +0 -72
  80. package/dist/src/i18n/external.d.ts +0 -73
  81. package/dist/src/i18n/index.d.ts +0 -233
  82. package/dist/src/i18n/jp.d.ts +0 -72
  83. package/dist/src/i18n/zh-CN.d.ts +0 -3
  84. package/dist/src/i18n/zh-TW.d.ts +0 -72
  85. package/dist/src/layer/index.d.ts +0 -4
  86. package/dist/src/layer/layer-manager.d.ts +0 -9
  87. package/dist/src/layer/layer.d.ts +0 -12
  88. package/dist/src/layer/scrollbar-helper.d.ts +0 -5
  89. package/dist/src/layer/sidebar-layer.d.ts +0 -20
  90. package/dist/src/layer/wrap.d.ts +0 -13
  91. package/dist/src/lib/component.d.ts +0 -7
  92. package/dist/src/lib/detect.d.ts +0 -10
  93. package/dist/src/lib/event-manager.d.ts +0 -28
  94. package/dist/src/lib/highlight.d.ts +0 -1
  95. package/dist/src/lib/marked-renderer.d.ts +0 -4
  96. package/dist/src/lib/marked.d.ts +0 -11
  97. package/dist/src/lib/sanitizer.d.ts +0 -1
  98. package/dist/src/lib/ui.d.ts +0 -24
  99. package/dist/src/lib/user.d.ts +0 -19
  100. package/dist/src/lib/utils.d.ts +0 -41
  101. package/dist/src/list/comment.d.ts +0 -3
  102. package/dist/src/list/layout.d.ts +0 -23
  103. package/dist/src/list/list.d.ts +0 -14
  104. package/dist/src/list/nest.d.ts +0 -10
  105. package/dist/src/list/page.d.ts +0 -2
  106. package/dist/src/list/paginator/index.d.ts +0 -25
  107. package/dist/src/list/paginator/read-more.d.ts +0 -18
  108. package/dist/src/list/paginator/up-down.d.ts +0 -14
  109. package/dist/src/main.d.ts +0 -7
  110. package/dist/src/plugins/admin-only-elem.d.ts +0 -2
  111. package/dist/src/plugins/conf-remoter.d.ts +0 -2
  112. package/dist/src/plugins/dark-mode.d.ts +0 -2
  113. package/dist/src/plugins/editor/_kit.d.ts +0 -27
  114. package/dist/src/plugins/editor/_plug.d.ts +0 -29
  115. package/dist/src/plugins/editor/_sample.d.ts +0 -5
  116. package/dist/src/plugins/editor/closable.d.ts +0 -7
  117. package/dist/src/plugins/editor/emoticons.d.ts +0 -30
  118. package/dist/src/plugins/editor/header-event.d.ts +0 -6
  119. package/dist/src/plugins/editor/header-link.d.ts +0 -6
  120. package/dist/src/plugins/editor/header-user.d.ts +0 -16
  121. package/dist/src/plugins/editor/index.d.ts +0 -6
  122. package/dist/src/plugins/editor/local-storage.d.ts +0 -6
  123. package/dist/src/plugins/editor/mover.d.ts +0 -6
  124. package/dist/src/plugins/editor/preview.d.ts +0 -7
  125. package/dist/src/plugins/editor/state-edit.d.ts +0 -11
  126. package/dist/src/plugins/editor/state-reply.d.ts +0 -8
  127. package/dist/src/plugins/editor/submit-add.d.ts +0 -18
  128. package/dist/src/plugins/editor/submit-btn.d.ts +0 -5
  129. package/dist/src/plugins/editor/submit.d.ts +0 -17
  130. package/dist/src/plugins/editor/textarea.d.ts +0 -8
  131. package/dist/src/plugins/editor/upload.d.ts +0 -9
  132. package/dist/src/plugins/editor-kit.d.ts +0 -42
  133. package/dist/src/plugins/index.d.ts +0 -2
  134. package/dist/src/plugins/list/copyright.d.ts +0 -2
  135. package/dist/src/plugins/list/count.d.ts +0 -2
  136. package/dist/src/plugins/list/dropdown.d.ts +0 -2
  137. package/dist/src/plugins/list/error-dialog.d.ts +0 -2
  138. package/dist/src/plugins/list/fetch.d.ts +0 -2
  139. package/dist/src/plugins/list/goto-first.d.ts +0 -3
  140. package/dist/src/plugins/list/goto.d.ts +0 -2
  141. package/dist/src/plugins/list/index.d.ts +0 -3
  142. package/dist/src/plugins/list/loading.d.ts +0 -2
  143. package/dist/src/plugins/list/no-comment.d.ts +0 -2
  144. package/dist/src/plugins/list/reach-bottom.d.ts +0 -2
  145. package/dist/src/plugins/list/sidebar-btn.d.ts +0 -2
  146. package/dist/src/plugins/list/time-ticking.d.ts +0 -3
  147. package/dist/src/plugins/list/unread-badge.d.ts +0 -2
  148. package/dist/src/plugins/list/unread.d.ts +0 -2
  149. package/dist/src/plugins/list/with-editor.d.ts +0 -2
  150. package/dist/src/plugins/markdown.d.ts +0 -2
  151. package/dist/src/plugins/stat.d.ts +0 -13
  152. package/dist/src/plugins/version-check.d.ts +0 -2
  153. package/dist/src/service.d.ts +0 -42
  154. package/dist/tests/e2e/comment-add.spec.d.ts +0 -1
  155. package/dist/types/config.d.ts +0 -110
  156. package/dist/types/context.d.ts +0 -62
  157. package/dist/types/data.d.ts +0 -194
  158. package/dist/types/editor.d.ts +0 -76
  159. package/dist/types/event.d.ts +0 -39
  160. package/dist/types/global.d.ts +0 -1
  161. package/dist/types/index.d.ts +0 -7
  162. package/dist/types/plugin.d.ts +0 -2
  163. package/dist/types/sidebar.d.ts +0 -3
  164. package/src/api/_base.ts +0 -18
  165. package/src/api/_options.ts +0 -25
  166. package/src/api/_request.ts +0 -104
  167. package/src/api/admin.ts +0 -18
  168. package/src/api/captcha.ts +0 -24
  169. package/src/api/comment.ts +0 -84
  170. package/src/api/index.ts +0 -29
  171. package/src/api/page.ts +0 -83
  172. package/src/api/site.ts +0 -51
  173. package/src/api/system.ts +0 -49
  174. package/src/api/upload.ts +0 -28
  175. package/src/api/user.ts +0 -132
  176. package/src/artalk.ts +0 -115
  177. package/src/comment/actions.ts +0 -83
  178. package/src/comment/comment.html +0 -18
  179. package/src/comment/comment.ts +0 -192
  180. package/src/comment/height-limit.ts +0 -100
  181. package/src/comment/index.ts +0 -3
  182. package/src/comment/render.ts +0 -150
  183. package/src/comment/renders/actions.ts +0 -114
  184. package/src/comment/renders/avatar.ts +0 -22
  185. package/src/comment/renders/content.ts +0 -39
  186. package/src/comment/renders/header.ts +0 -84
  187. package/src/comment/renders/index.ts +0 -19
  188. package/src/comment/renders/pending.ts +0 -12
  189. package/src/comment/renders/reply-at.ts +0 -16
  190. package/src/comment/renders/reply-to.ts +0 -24
  191. package/src/components/action-btn.ts +0 -170
  192. package/src/components/checker/admin.ts +0 -37
  193. package/src/components/checker/captcha-renders.ts +0 -69
  194. package/src/components/checker/captcha.ts +0 -26
  195. package/src/components/checker/index.ts +0 -192
  196. package/src/components/dark-mode.ts +0 -30
  197. package/src/components/dialog.ts +0 -62
  198. package/src/components/error-dialog.ts +0 -35
  199. package/src/components/pagination.ts +0 -153
  200. package/src/components/read-more-btn.ts +0 -92
  201. package/src/config.ts +0 -119
  202. package/src/context.ts +0 -146
  203. package/src/data.ts +0 -110
  204. package/src/defaults.ts +0 -61
  205. package/src/editor/editor.html +0 -18
  206. package/src/editor/editor.ts +0 -114
  207. package/src/editor/state.ts +0 -52
  208. package/src/editor/ui.ts +0 -36
  209. package/src/i18n/en.ts +0 -84
  210. package/src/i18n/external.ts +0 -10
  211. package/src/i18n/index.ts +0 -67
  212. package/src/i18n/jp.ts +0 -86
  213. package/src/i18n/zh-CN.ts +0 -88
  214. package/src/i18n/zh-TW.ts +0 -86
  215. package/src/layer/index.ts +0 -4
  216. package/src/layer/layer-manager.ts +0 -32
  217. package/src/layer/layer.ts +0 -39
  218. package/src/layer/scrollbar-helper.ts +0 -24
  219. package/src/layer/sidebar-layer.html +0 -8
  220. package/src/layer/sidebar-layer.ts +0 -155
  221. package/src/layer/wrap.ts +0 -77
  222. package/src/lib/component.ts +0 -12
  223. package/src/lib/detect.ts +0 -222
  224. package/src/lib/event-manager.ts +0 -47
  225. package/src/lib/highlight.ts +0 -5
  226. package/src/lib/marked-renderer.ts +0 -32
  227. package/src/lib/marked.ts +0 -72
  228. package/src/lib/sanitizer.ts +0 -57
  229. package/src/lib/ui.ts +0 -193
  230. package/src/lib/user.ts +0 -55
  231. package/src/lib/utils.ts +0 -236
  232. package/src/list/comment.ts +0 -20
  233. package/src/list/layout.ts +0 -120
  234. package/src/list/list.html +0 -20
  235. package/src/list/list.ts +0 -79
  236. package/src/list/nest.ts +0 -66
  237. package/src/list/page.ts +0 -97
  238. package/src/list/paginator/index.ts +0 -25
  239. package/src/list/paginator/read-more.ts +0 -67
  240. package/src/list/paginator/up-down.ts +0 -51
  241. package/src/main.ts +0 -14
  242. package/src/plugins/admin-only-elem.ts +0 -40
  243. package/src/plugins/conf-remoter.ts +0 -54
  244. package/src/plugins/dark-mode.ts +0 -12
  245. package/src/plugins/editor/_kit.ts +0 -57
  246. package/src/plugins/editor/_plug.ts +0 -60
  247. package/src/plugins/editor/_sample.ts +0 -8
  248. package/src/plugins/editor/closable.ts +0 -44
  249. package/src/plugins/editor/emoticons.scss +0 -72
  250. package/src/plugins/editor/emoticons.ts +0 -293
  251. package/src/plugins/editor/header-event.ts +0 -35
  252. package/src/plugins/editor/header-link.ts +0 -31
  253. package/src/plugins/editor/header-user.ts +0 -98
  254. package/src/plugins/editor/index.ts +0 -40
  255. package/src/plugins/editor/local-storage.ts +0 -36
  256. package/src/plugins/editor/mover.ts +0 -29
  257. package/src/plugins/editor/preview.scss +0 -7
  258. package/src/plugins/editor/preview.ts +0 -41
  259. package/src/plugins/editor/state-edit.ts +0 -116
  260. package/src/plugins/editor/state-reply.ts +0 -91
  261. package/src/plugins/editor/submit-add.ts +0 -33
  262. package/src/plugins/editor/submit-btn.ts +0 -25
  263. package/src/plugins/editor/submit.ts +0 -73
  264. package/src/plugins/editor/textarea.ts +0 -55
  265. package/src/plugins/editor/upload.ts +0 -145
  266. package/src/plugins/editor-kit.ts +0 -161
  267. package/src/plugins/index.ts +0 -16
  268. package/src/plugins/list/copyright.ts +0 -16
  269. package/src/plugins/list/count.ts +0 -31
  270. package/src/plugins/list/dropdown.ts +0 -95
  271. package/src/plugins/list/error-dialog.ts +0 -22
  272. package/src/plugins/list/fetch.ts +0 -64
  273. package/src/plugins/list/goto-first.ts +0 -23
  274. package/src/plugins/list/goto.ts +0 -72
  275. package/src/plugins/list/index.ts +0 -25
  276. package/src/plugins/list/loading.ts +0 -17
  277. package/src/plugins/list/no-comment.ts +0 -25
  278. package/src/plugins/list/reach-bottom.ts +0 -46
  279. package/src/plugins/list/sidebar-btn.ts +0 -39
  280. package/src/plugins/list/time-ticking.ts +0 -22
  281. package/src/plugins/list/unread-badge.ts +0 -26
  282. package/src/plugins/list/unread.ts +0 -38
  283. package/src/plugins/list/with-editor.ts +0 -59
  284. package/src/plugins/markdown.ts +0 -10
  285. package/src/plugins/stat.ts +0 -82
  286. package/src/plugins/version-check.ts +0 -36
  287. package/src/service.ts +0 -91
  288. package/src/style/_color.scss +0 -41
  289. package/src/style/_extend.scss +0 -20
  290. package/src/style/_variables.scss +0 -3
  291. package/src/style/comment.scss +0 -360
  292. package/src/style/editor.scss +0 -194
  293. package/src/style/list.scss +0 -212
  294. package/src/style/main.scss +0 -486
  295. package/src/style/pagination.scss +0 -58
  296. package/src/style/sidebar-layer.scss +0 -92
  297. package/types/config.ts +0 -153
  298. package/types/context.ts +0 -84
  299. package/types/data.ts +0 -271
  300. package/types/editor.ts +0 -95
  301. package/types/event.ts +0 -40
  302. package/types/global.d.ts +0 -1
  303. package/types/index.ts +0 -7
  304. package/types/plugin.ts +0 -3
  305. package/types/sidebar.ts +0 -3
package/types/config.ts DELETED
@@ -1,153 +0,0 @@
1
- import { I18n } from '~/src/i18n'
2
- import { CommentData } from './data'
3
-
4
- export interface ArtalkConfig {
5
- /** 装载元素 */
6
- el: string|HTMLElement
7
-
8
- /** 页面唯一标识(完整 URL) */
9
- pageKey: string
10
-
11
- /** 页面标题 */
12
- pageTitle: string
13
-
14
- /** 服务器地址 */
15
- server: string
16
-
17
- /** 站点名 */
18
- site: string
19
-
20
- /** 评论框占位字符 */
21
- placeholder: string
22
-
23
- /** 评论为空时显示字符 */
24
- noComment: string
25
-
26
- /** 发送按钮文字 */
27
- sendBtn: string
28
-
29
- /** 评论框穿梭(显示在待回复评论后面) */
30
- editorTravel: boolean
31
-
32
- /** 表情包 */
33
- emoticons: object|any[]|string|false
34
-
35
- /** Gravatar 头像 */
36
- gravatar: {
37
- /** API 地址 */
38
- mirror: string
39
- /** API 参数 */
40
- params: string
41
- }
42
-
43
- /** 头像链接生成器 */
44
- avatarURLBuilder?: (comment: CommentData) => string,
45
-
46
- /** 分页配置 */
47
- pagination: {
48
- /** 每次请求获取数量 */
49
- pageSize: number
50
- /** 阅读更多模式 */
51
- readMore: boolean
52
- /** 滚动到底部自动加载 */
53
- autoLoad: boolean
54
- }
55
-
56
- /** 内容限高 */
57
- heightLimit: {
58
- /** 评论内容限高 */
59
- content: number
60
-
61
- /** 子评论区域限高 */
62
- children: number
63
-
64
- /** 滚动限高 */
65
- scrollable: boolean
66
- }
67
-
68
- /** 评论投票按钮 */
69
- vote: boolean
70
-
71
- /** 评论投票反对按钮 */
72
- voteDown: boolean
73
-
74
- /** 评论预览功能 */
75
- preview: boolean
76
-
77
- /** 评论数绑定元素 Selector */
78
- countEl: string
79
-
80
- /** PV 数绑定元素 Selector */
81
- pvEl: string
82
-
83
- /** 夜间模式 */
84
- darkMode: boolean|'auto'
85
-
86
- /** 请求超时(单位:秒) */
87
- reqTimeout: number
88
-
89
- /** 平铺模式 */
90
- flatMode: boolean|'auto'
91
-
92
- /** 嵌套模式 · 最大层数 */
93
- nestMax: number
94
-
95
- /** 嵌套模式 · 排序方式 */
96
- nestSort: 'DATE_ASC'|'DATE_DESC'
97
-
98
- /** 显示 UA 徽标 */
99
- uaBadge: boolean
100
-
101
- /** 评论列表排序功能 (显示 Dropdown) */
102
- listSort: boolean
103
-
104
- /** 图片上传功能 */
105
- imgUpload: boolean
106
-
107
- /** 图片上传器 */
108
- imgUploader?: (file: File) => Promise<string>
109
-
110
- /** 版本检测 */
111
- versionCheck: boolean
112
-
113
- /** 引用后端配置 */
114
- useBackendConf: boolean
115
-
116
- /** 语言本地化 */
117
- locale: I18n|string
118
-
119
- /** 后端版本 (系统数据,用户不允许更改) */
120
- apiVersion?: string
121
-
122
- /** Replacer for marked */
123
- markedReplacers?: ((raw: string) => string)[]
124
-
125
- /** 列表请求参数修改器 */
126
- listFetchParamsModifier?: (params: any) => void
127
-
128
- // TODO consider merge list related config into one object, or flatten all to keep simple (keep consistency)
129
- remoteConfModifier?: (conf: Partial<ArtalkConfig>) => void
130
- listUnreadHighlight?: boolean
131
- scrollRelativeTo?: () => HTMLElement
132
- }
133
-
134
- /**
135
- * 本地持久化用户数据
136
- * @note 始终保持一层结构,不支持多层结构
137
- */
138
- export interface LocalUser {
139
- /** 昵称 */
140
- nick: string
141
-
142
- /** 邮箱 */
143
- email: string
144
-
145
- /** 链接 */
146
- link: string
147
-
148
- /** TOKEN */
149
- token: string
150
-
151
- /** 是否为管理员 */
152
- isAdmin: boolean
153
- }
package/types/context.ts DELETED
@@ -1,84 +0,0 @@
1
- import type { TInjectedServices } from '@/service'
2
- import type { CheckerCaptchaPayload, CheckerPayload } from '@/components/checker'
3
- import type { EventManagerFuncs } from '@/lib/event-manager'
4
- import type { TMarked } from '@/lib/marked'
5
- import type { I18n } from '@/i18n'
6
- import type Api from '@/api'
7
- import type { SidebarShowPayload, EventPayloadMap, ArtalkConfig, CommentData, DataManagerApi, ListFetchParams, NotifyLevel } from '.'
8
-
9
- /**
10
- * Context 接口
11
- *
12
- * (面向接口的编程)
13
- */
14
- export interface ContextApi extends EventManagerFuncs<EventPayloadMap> {
15
- /** Artalk 根元素对象 */
16
- $root: HTMLElement
17
-
18
- /** 依赖注入函数 */
19
- inject<K extends keyof TInjectedServices>(depName: K, obj: TInjectedServices[K]): void
20
-
21
- /** 获取依赖对象 */
22
- get<K extends keyof TInjectedServices>(depName: K): TInjectedServices[K]
23
-
24
- /** 配置对象 */
25
- // TODO 修改为 getConf() 和 setConf() 并且返回拷贝而不是引用
26
- conf: ArtalkConfig
27
-
28
- /** marked 依赖对象 */
29
- getMarked(): TMarked | undefined
30
-
31
- /** 获取 API 以供 HTTP 请求 */
32
- getApi(): Api
33
-
34
- /** 获取数据管理器对象 */
35
- getData(): DataManagerApi
36
-
37
- /** 评论回复 */
38
- replyComment(commentData: CommentData, $comment: HTMLElement): void
39
-
40
- /** 编辑评论 */
41
- editComment(commentData: CommentData, $comment: HTMLElement): void
42
-
43
- /** 获取评论数据 */
44
- fetch(params: Partial<ListFetchParams>): void
45
-
46
- /** 重载评论数据 */
47
- reload(): void
48
-
49
- /** 列表滚动到第一个评论的位置 */
50
- listGotoFirst(): void
51
-
52
- /** 显示侧边栏 */
53
- showSidebar(payload?: SidebarShowPayload): void
54
-
55
- /** 隐藏侧边栏 */
56
- hideSidebar(): void
57
-
58
- /** 编辑器 - 显示加载 */
59
- editorShowLoading(): void
60
-
61
- /** 编辑器 - 隐藏加载 */
62
- editorHideLoading(): void
63
-
64
- /** 编辑器 - 显示提示消息 */
65
- editorShowNotify(msg: string, type: NotifyLevel): void
66
-
67
- /** 评论框 - 复原状态 */
68
- editorResetState(): void
69
-
70
- /** 验证码检测 */
71
- checkCaptcha(payload: CheckerCaptchaPayload): void
72
-
73
- /** 管理员检测 */
74
- checkAdmin(payload: CheckerPayload): void
75
-
76
- /** i18n 翻译 */
77
- $t(key: keyof I18n, args?: {[key: string]: string}): string
78
-
79
- /** 设置夜间模式 */
80
- setDarkMode(darkMode: boolean|'auto'): void
81
-
82
- /** 更新配置 */
83
- updateConf(conf: Partial<ArtalkConfig>): void
84
- }
package/types/data.ts DELETED
@@ -1,271 +0,0 @@
1
- export interface CommentData {
2
- /** 评论 ID */
3
- id: number
4
-
5
- /** 评论正文 */
6
- content: string
7
-
8
- /** 用户昵称 */
9
- nick: string
10
-
11
- /** 用户邮箱 (该字段仅管理员可见) */
12
- email?: string
13
-
14
- /** 用户邮箱(已加密) */
15
- email_encrypted: string
16
-
17
- /** 用户链接 */
18
- link: string
19
-
20
- /** 回复目标评论 ID */
21
- rid: number
22
-
23
- /** User Agent */
24
- ua: string
25
-
26
- /** 评论日期 */
27
- date: string
28
-
29
- /** 是否折叠 */
30
- is_collapsed?: boolean
31
-
32
- /** 是否待审 */
33
- is_pending?: boolean
34
-
35
- /** 是否置顶 */
36
- is_pinned?: boolean
37
-
38
- /** 是否为管理员 */
39
- is_admin?: boolean
40
-
41
- /** 徽章文字 */
42
- badge_name?: string
43
-
44
- /** 徽章颜色 */
45
- badge_color?: string
46
-
47
- /** IP 归属地 */
48
- ip_region?: string
49
-
50
- /** 是否允许回复 */
51
- is_allow_reply?: boolean
52
-
53
- /** 评论页面 key */
54
- page_key: string
55
-
56
- /** 评论页面 url */
57
- page_url?: string
58
-
59
- /** 是否可见 */
60
- visible: boolean
61
-
62
- /** 站点名(用于隔离) */
63
- site_name: string
64
-
65
- /** 赞同数 */
66
- vote_up: number
67
-
68
- /** 反对数 */
69
- vote_down: number
70
- }
71
-
72
- export interface ListData {
73
- /** 评论数据 */
74
- comments: CommentData[]
75
-
76
- /** 根评论总数 */
77
- total_roots: number
78
-
79
- /** 评论总数(包括所有子评论) */
80
- total: number
81
-
82
- /** 页面信息 */
83
- page: PageData
84
-
85
- /** 站点信息 */
86
- site: SiteData
87
-
88
- /** 未读的 Notifies */
89
- unread: NotifyData[]
90
-
91
- /** 未读计数 */
92
- unread_count: number
93
-
94
- /** API 版本 */
95
- api_version: ApiVersionData
96
-
97
- /** 后端配置 */
98
- conf: any // TODO
99
- }
100
-
101
- export interface PageData {
102
- /** 页面 ID */
103
- id: number
104
-
105
- /** 页面唯一标识符 */
106
- key: string
107
-
108
- /** 页面标题 */
109
- title: string
110
-
111
- /** 页面 url */
112
- url: string
113
-
114
- /** 仅管理员可评 */
115
- admin_only: boolean
116
-
117
- /** 站点名(用于隔离) */
118
- site_name: string
119
-
120
- /** 赞同数 */
121
- vote_up: number
122
-
123
- /** 反对数 */
124
- vote_down: number
125
- }
126
-
127
- export interface SiteData {
128
- /** 站点 ID */
129
- id: number
130
-
131
- /** 站点名 */
132
- name: string
133
-
134
- /** 站点 URLs */
135
- urls: string[]
136
-
137
- /** 站点 URLs(原始字符串) */
138
- urls_raw: string
139
-
140
- /** 站点主 URL */
141
- first_url: string
142
- }
143
-
144
- export interface UserData {
145
- /** 用户 ID */
146
- id: number
147
-
148
- /** 用户名 */
149
- name: string
150
-
151
- /** 邮箱 */
152
- email: string
153
-
154
- /** 链接 */
155
- link: string
156
-
157
- /** 徽章名称 */
158
- badge_name: string
159
-
160
- /** 徽章颜色 */
161
- badge_color: string
162
-
163
- /** 是否属于管理员 */
164
- is_admin: boolean
165
-
166
- /** 所属站点名 */
167
- site_names: string[]
168
-
169
- /** 所属站点名 (字符串) */
170
- site_names_raw: string,
171
-
172
- /** 是否允许接收邮件通知 */
173
- receive_email: boolean
174
- }
175
-
176
- export interface UserDataForAdmin extends UserData {
177
- /** 最后一次操作 IP */
178
- last_ip: string
179
-
180
- /** 最后一次操作 UA */
181
- last_ua: string
182
-
183
- /** 是否存在于配置文件中 */
184
- is_in_conf: boolean
185
-
186
- /** 评论数 */
187
- comment_count: number
188
-
189
- /** 密码 */
190
- password: string
191
- }
192
-
193
- export interface NotifyData {
194
- /** 通知 ID */
195
- id: number
196
-
197
- /** 用户 ID */
198
- user_id: number
199
-
200
- /** 评论 ID */
201
- comment_id: number
202
-
203
- /** 是否已读 */
204
- is_read: boolean
205
-
206
- /** 是否已发送邮件通知 */
207
- is_emailed: boolean
208
-
209
- /** 标为已读地址 */
210
- read_link: string
211
- }
212
-
213
- export type EmoticonGrpData = {
214
- name: string,
215
- type: 'emoticon'|'image'|'emoji'
216
- items: {key: string, val: string}[]
217
- }
218
-
219
- export type EmoticonListData = EmoticonGrpData[]
220
-
221
- export interface ApiVersionData {
222
- /** API 程序名 */
223
- app: string
224
-
225
- /** API 程序版本号 */
226
- version: string
227
-
228
- /** API 程序 CommitHash */
229
- commit_hash: string
230
- }
231
-
232
- export interface ListFetchParams {
233
- offset: number
234
- limit: number
235
- flatMode: boolean
236
- paramsModifier?: (p: any) => void
237
- onSuccess?: (data: ListData) => void
238
- onError?: (err: any) => void
239
- }
240
-
241
- export interface ListLastFetchData {
242
- params: ListFetchParams
243
- data?: ListData
244
- }
245
-
246
- export interface DataManagerApi {
247
- getLoading(): boolean
248
- setLoading(val: boolean): void
249
-
250
- getListLastFetch(): ListLastFetchData|undefined
251
- setListLastFetch(val: ListLastFetchData): void
252
-
253
- getComments(): CommentData[]
254
- findComment(id: number): CommentData|undefined
255
-
256
- fetchComments(params: Partial<ListFetchParams>): void
257
- loadComments(comments: CommentData[]): void
258
- clearComments(): void
259
-
260
- insertComment(comment: CommentData): void
261
- updateComment(comment: CommentData): void
262
- deleteComment(id: number): void
263
-
264
- getUnreads(): NotifyData[]
265
- updateUnreads(unreads: NotifyData[]): void
266
-
267
- getPage(): PageData|undefined
268
- updatePage(pageData: PageData): void
269
- }
270
-
271
- export type NotifyLevel = "i" | "s" | "w" | "e"
package/types/editor.ts DELETED
@@ -1,95 +0,0 @@
1
- import type { CommentData, NotifyLevel } from '.'
2
- import type Component from '../src/lib/component'
3
- import type { EditorUI } from '../src/editor/ui'
4
-
5
- export type EditorState = 'reply' | 'edit' | 'normal'
6
-
7
- export interface EditorApi extends Component {
8
- getUI(): EditorUI
9
-
10
- /**
11
- * Get the header input elements
12
- */
13
- getHeaderInputEls(): Record<string, HTMLInputElement>
14
-
15
- /**
16
- * Set content
17
- */
18
- setContent(val: string): void
19
-
20
- /**
21
- * Insert content
22
- */
23
- insertContent(val: string): void
24
-
25
- /**
26
- * Get the final content
27
- *
28
- * This function returns the raw content or the content transformed through a plugin hook.
29
- */
30
- getContentFinal(): string
31
-
32
- /**
33
- * Get the raw content which is inputed by user
34
- */
35
- getContentRaw(): string
36
-
37
- /**
38
- * Get the HTML format content which is rendered by marked (a markdown parser)
39
- */
40
- getContentMarked(): string
41
-
42
- /**
43
- * Get editor current state
44
- */
45
- getState(): EditorState
46
-
47
- /**
48
- * Focus editor
49
- */
50
- focus(): void
51
-
52
- /**
53
- * Reset editor
54
- */
55
- reset(): void
56
-
57
- /**
58
- * Reset editor UI
59
- *
60
- * call it will move editor to the initial position
61
- */
62
- resetState(): void
63
-
64
- /**
65
- * Submit comment
66
- */
67
- submit(): void
68
-
69
- /**
70
- * Show notification message
71
- */
72
- showNotify(msg: string, type: NotifyLevel): void
73
-
74
- /**
75
- * Show loading on editor
76
- */
77
- showLoading(): void
78
-
79
- /**
80
- * Hide loading on editor
81
- */
82
- hideLoading(): void
83
-
84
- /**
85
- * Start replaying a comment
86
- */
87
- setReply(commentData: CommentData, $comment: HTMLElement, scroll?: boolean): void
88
-
89
- /**
90
- * Start editing a comment
91
- */
92
- setEditComment(commentData: CommentData, $comment: HTMLElement): void
93
- }
94
-
95
- export default EditorApi
package/types/event.ts DELETED
@@ -1,40 +0,0 @@
1
- import type Comment from '~/src/comment'
2
- import { CommentData, ListData, ListFetchParams, NotifyData, PageData } from './data'
3
- import { ArtalkConfig, LocalUser } from './config'
4
-
5
- interface ErrorData { msg: string, data?: any }
6
- interface ListFetchedArgs { params: Partial<ListFetchParams>, data?: ListData, error?: ErrorData }
7
-
8
- /** EventName to EventPayload Type */
9
- export interface EventPayloadMap {
10
- 'inited': undefined // Artalk 初始化后
11
- 'destroy': undefined // Artalk 销毁时
12
- 'list-fetch': Partial<ListFetchParams> // 评论列表请求时
13
- 'list-fetched': ListFetchedArgs // 评论列表请求后
14
- 'list-load': CommentData[] // 评论装载前
15
-
16
- // TODO merge 'list-loaded' and 'list-error', for purpose of `once` 'list-loaded' and simplify
17
- // example need bind 'list-loaded' and 'list-error' to same handler
18
- // consider name it to 'list-fetched': { data: CommentData[], error?: { msg: string, data?: any } }
19
- // and remove `list-load`
20
- 'list-loaded': CommentData[] // 评论装载后
21
- 'list-error': ErrorData // 评论加载错误时
22
-
23
- 'list-goto-first': undefined // 评论列表归位时
24
- 'list-reach-bottom': undefined // 评论列表滚动到底部时
25
-
26
- 'comment-inserted': CommentData // 评论插入后
27
- 'comment-updated': CommentData // 评论更新后
28
- 'comment-deleted': CommentData // 评论删除后
29
- 'comment-rendered': Comment // 评论节点渲染后
30
- 'unreads-updated': NotifyData[] // 未读消息变更时
31
- 'list-goto': number // 评论跳转时
32
- 'page-loaded': PageData // 页面数据更新后
33
- 'editor-submit': undefined // 编辑器提交时
34
- 'editor-submitted': undefined // 编辑器提交后
35
- 'user-changed': LocalUser // 本地用户数据变更时
36
- 'conf-loaded': ArtalkConfig // Artalk 配置变更时
37
- 'dark-mode-changed': boolean // 深色模式变更时
38
- 'sidebar-show': undefined // 侧边栏显示
39
- 'sidebar-hide': undefined // 侧边栏隐藏
40
- }
package/types/global.d.ts DELETED
@@ -1 +0,0 @@
1
- declare const ARTALK_LITE: boolean
package/types/index.ts DELETED
@@ -1,7 +0,0 @@
1
- export * from './config'
2
- export * from './data'
3
- export * from './context'
4
- export * from './editor'
5
- export * from './event'
6
- export * from './plugin'
7
- export * from './sidebar'
package/types/plugin.ts DELETED
@@ -1,3 +0,0 @@
1
- import { ContextApi } from './context'
2
-
3
- export type ArtalkPlugin = (ctx: ContextApi) => void
package/types/sidebar.ts DELETED
@@ -1,3 +0,0 @@
1
- export interface SidebarShowPayload {
2
- view?: 'comments'|'sites'|'pages'|'transfer'
3
- }