@waline/client 2.3.1 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/component.esm.js +1 -1
- package/dist/component.esm.js.map +1 -1
- package/dist/component.js +1 -1
- package/dist/component.js.map +1 -1
- package/dist/legacy.js +1 -1
- package/dist/legacy.js.map +1 -1
- package/dist/pageview.cjs.js +1 -1
- package/dist/pageview.esm.js +1 -1
- package/dist/pageview.js +1 -1
- package/dist/shim.esm.js +1 -1
- package/dist/shim.esm.js.map +1 -1
- package/dist/shim.js +1 -1
- package/dist/shim.js.map +1 -1
- package/dist/waline.cjs.js +1 -1
- package/dist/waline.cjs.js.map +1 -1
- package/dist/waline.esm.js +1 -1
- package/dist/waline.esm.js.map +1 -1
- package/dist/waline.js +1 -1
- package/dist/waline.js.map +1 -1
- package/package.json +1 -1
- package/src/components/CommentBox.vue +1 -3
- package/src/components/Waline.vue +105 -96
package/package.json
CHANGED
|
@@ -405,9 +405,7 @@ export default defineComponent({
|
|
|
405
405
|
if (
|
|
406
406
|
(requiredMeta.indexOf('mail') > -1 && !comment.mail) ||
|
|
407
407
|
(comment.mail &&
|
|
408
|
-
!/^\w(?:[\w._-]*\w)?@(?:\w(?:[\w-]*\w)?\.)
|
|
409
|
-
comment.mail
|
|
410
|
-
))
|
|
408
|
+
!/^\w(?:[\w._-]*\w)?@(?:\w(?:[\w-]*\w)?\.)*\w+$/.exec(comment.mail))
|
|
411
409
|
) {
|
|
412
410
|
inputRefs.value.mail?.focus();
|
|
413
411
|
return alert(locale.value.mailError);
|
|
@@ -79,119 +79,128 @@ import type {
|
|
|
79
79
|
WalineImageUploader,
|
|
80
80
|
WalineLocale,
|
|
81
81
|
WalineProps,
|
|
82
|
+
WalineMeta,
|
|
82
83
|
} from '../typings';
|
|
83
84
|
|
|
84
85
|
declare const SHOULD_VALIDATE: boolean;
|
|
85
86
|
declare const VERSION: string;
|
|
86
87
|
|
|
87
|
-
|
|
88
|
-
|
|
88
|
+
const props = [
|
|
89
|
+
'serverURL',
|
|
90
|
+
'path',
|
|
91
|
+
'meta',
|
|
92
|
+
'requiredMeta',
|
|
93
|
+
'dark',
|
|
94
|
+
'lang',
|
|
95
|
+
'locale',
|
|
96
|
+
'pageSize',
|
|
97
|
+
'wordLimit',
|
|
98
|
+
'emoji',
|
|
99
|
+
'login',
|
|
100
|
+
'highlighter',
|
|
101
|
+
'texRenderer',
|
|
102
|
+
'imageUploader',
|
|
103
|
+
'copyright',
|
|
104
|
+
];
|
|
105
|
+
|
|
106
|
+
const propsWithValidate = {
|
|
107
|
+
serverURL: {
|
|
108
|
+
type: String,
|
|
109
|
+
required: true,
|
|
110
|
+
},
|
|
89
111
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
LoadingIcon,
|
|
112
|
+
path: {
|
|
113
|
+
type: String,
|
|
114
|
+
required: true,
|
|
94
115
|
},
|
|
95
116
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
type: String,
|
|
104
|
-
required: true,
|
|
105
|
-
},
|
|
106
|
-
|
|
107
|
-
meta: {
|
|
108
|
-
type: Array,
|
|
109
|
-
...(SHOULD_VALIDATE
|
|
110
|
-
? {
|
|
111
|
-
validator: (value: unknown): boolean =>
|
|
112
|
-
Array.isArray(value) &&
|
|
113
|
-
value.every((item) => ['nick', 'mail', 'link'].includes(item)),
|
|
114
|
-
}
|
|
115
|
-
: {}),
|
|
116
|
-
},
|
|
117
|
-
|
|
118
|
-
requiredMeta: {
|
|
119
|
-
type: Array,
|
|
120
|
-
...(SHOULD_VALIDATE
|
|
121
|
-
? {
|
|
122
|
-
validator: (value: unknown): boolean =>
|
|
123
|
-
Array.isArray(value) &&
|
|
124
|
-
value.every((item) => ['nick', 'mail', 'link'].includes(item)),
|
|
125
|
-
}
|
|
126
|
-
: {}),
|
|
127
|
-
},
|
|
117
|
+
meta: {
|
|
118
|
+
type: Array as PropType<WalineMeta[]>,
|
|
119
|
+
default: (): WalineMeta[] => ['nick', 'mail', 'link'],
|
|
120
|
+
validator: (value: unknown): boolean =>
|
|
121
|
+
Array.isArray(value) &&
|
|
122
|
+
value.every((item) => ['nick', 'mail', 'link'].includes(item)),
|
|
123
|
+
},
|
|
128
124
|
|
|
129
|
-
|
|
125
|
+
requiredMeta: {
|
|
126
|
+
type: Array,
|
|
127
|
+
default: (): WalineMeta[] => [],
|
|
128
|
+
validator: (value: unknown): boolean =>
|
|
129
|
+
Array.isArray(value) &&
|
|
130
|
+
value.every((item) => ['nick', 'mail', 'link'].includes(item)),
|
|
131
|
+
},
|
|
130
132
|
|
|
131
|
-
|
|
132
|
-
type: String,
|
|
133
|
-
...(SHOULD_VALIDATE
|
|
134
|
-
? {
|
|
135
|
-
validator: (value: unknown): boolean =>
|
|
136
|
-
Object.keys(defaultLocales).includes(value as string),
|
|
137
|
-
}
|
|
138
|
-
: {}),
|
|
139
|
-
},
|
|
140
|
-
|
|
141
|
-
locale: Object as PropType<Partial<WalineLocale>>,
|
|
142
|
-
|
|
143
|
-
pageSize: Number,
|
|
144
|
-
|
|
145
|
-
wordLimit: {
|
|
146
|
-
type: [Number, Array] as PropType<number | [number, number]>,
|
|
147
|
-
// default: 0,
|
|
148
|
-
...(SHOULD_VALIDATE
|
|
149
|
-
? {
|
|
150
|
-
validator: (value: unknown): boolean =>
|
|
151
|
-
typeof value === 'number' ||
|
|
152
|
-
(Array.isArray(value) &&
|
|
153
|
-
value.length === 2 &&
|
|
154
|
-
value.every((item) => typeof item === 'number')),
|
|
155
|
-
}
|
|
156
|
-
: {}),
|
|
157
|
-
},
|
|
158
|
-
|
|
159
|
-
emoji: {
|
|
160
|
-
type: [Array, Boolean] as PropType<(string | WalineEmojiInfo)[] | false>,
|
|
161
|
-
...(SHOULD_VALIDATE
|
|
162
|
-
? {
|
|
163
|
-
validator: (value: unknown): boolean =>
|
|
164
|
-
value === false ||
|
|
165
|
-
(Array.isArray(value) &&
|
|
166
|
-
value.every(
|
|
167
|
-
(item) =>
|
|
168
|
-
typeof item === 'string' ||
|
|
169
|
-
(typeof item === 'object' &&
|
|
170
|
-
typeof item.name === 'string' &&
|
|
171
|
-
typeof item.folder === 'string' &&
|
|
172
|
-
typeof item.icon === 'string' &&
|
|
173
|
-
Array.isArray(item.items) &&
|
|
174
|
-
(item.items as unknown[]).every(
|
|
175
|
-
(icon) => typeof icon === 'string'
|
|
176
|
-
))
|
|
177
|
-
)),
|
|
178
|
-
}
|
|
179
|
-
: {}),
|
|
180
|
-
},
|
|
133
|
+
dark: [String, Boolean],
|
|
181
134
|
|
|
182
|
-
|
|
135
|
+
lang: {
|
|
136
|
+
type: String,
|
|
137
|
+
default: 'zh-CN',
|
|
138
|
+
validator: (value: unknown): boolean =>
|
|
139
|
+
Object.keys(defaultLocales).includes(value as string),
|
|
140
|
+
},
|
|
183
141
|
|
|
184
|
-
|
|
142
|
+
locale: Object as PropType<Partial<WalineLocale>>,
|
|
185
143
|
|
|
186
|
-
|
|
144
|
+
pageSize: { type: Number, default: 10 },
|
|
187
145
|
|
|
188
|
-
|
|
146
|
+
wordLimit: {
|
|
147
|
+
type: [Number, Array] as PropType<number | [number, number]>,
|
|
148
|
+
validator: (value: unknown): boolean =>
|
|
149
|
+
typeof value === 'number' ||
|
|
150
|
+
(Array.isArray(value) &&
|
|
151
|
+
value.length === 2 &&
|
|
152
|
+
value.every((item) => typeof item === 'number')),
|
|
153
|
+
},
|
|
189
154
|
|
|
190
|
-
|
|
155
|
+
emoji: {
|
|
156
|
+
type: [Array, Boolean] as PropType<(string | WalineEmojiInfo)[] | false>,
|
|
157
|
+
validator: (value: unknown): boolean =>
|
|
158
|
+
value === false ||
|
|
159
|
+
(Array.isArray(value) &&
|
|
160
|
+
value.every(
|
|
161
|
+
(item) =>
|
|
162
|
+
typeof item === 'string' ||
|
|
163
|
+
(typeof item === 'object' &&
|
|
164
|
+
typeof item.name === 'string' &&
|
|
165
|
+
typeof item.folder === 'string' &&
|
|
166
|
+
typeof item.icon === 'string' &&
|
|
167
|
+
Array.isArray(item.items) &&
|
|
168
|
+
(item.items as unknown[]).every(
|
|
169
|
+
(icon) => typeof icon === 'string'
|
|
170
|
+
))
|
|
171
|
+
)),
|
|
191
172
|
},
|
|
192
173
|
|
|
174
|
+
login: String as PropType<'enable' | 'disable' | 'force'>,
|
|
175
|
+
|
|
176
|
+
highlighter: Function as PropType<WalineHighlighter>,
|
|
177
|
+
|
|
178
|
+
imageUploader: {
|
|
179
|
+
type: [Function, Boolean] as PropType<WalineImageUploader | false>,
|
|
180
|
+
default: undefined,
|
|
181
|
+
},
|
|
182
|
+
|
|
183
|
+
texRenderer: {
|
|
184
|
+
type: [Function, Boolean] as PropType<WalineTexRenderer | false>,
|
|
185
|
+
default: undefined,
|
|
186
|
+
},
|
|
187
|
+
|
|
188
|
+
copyright: { type: Boolean, default: true },
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
export default defineComponent({
|
|
192
|
+
name: 'WalineRoot',
|
|
193
|
+
|
|
194
|
+
components: {
|
|
195
|
+
CommentBox,
|
|
196
|
+
CommentCard,
|
|
197
|
+
LoadingIcon,
|
|
198
|
+
},
|
|
199
|
+
|
|
200
|
+
props: SHOULD_VALIDATE ? propsWithValidate : props,
|
|
201
|
+
|
|
193
202
|
setup(props) {
|
|
194
|
-
const config = computed(() => getConfig(props as WalineProps));
|
|
203
|
+
const config = computed(() => getConfig(props as unknown as WalineProps));
|
|
195
204
|
|
|
196
205
|
const userInfo = useUserInfo();
|
|
197
206
|
|
|
@@ -274,7 +283,7 @@ export default defineComponent({
|
|
|
274
283
|
|
|
275
284
|
provide('config', config);
|
|
276
285
|
|
|
277
|
-
watch(() => props.path, refresh);
|
|
286
|
+
watch(() => (props as unknown as WalineProps).path, refresh);
|
|
278
287
|
|
|
279
288
|
onMounted(() => refresh());
|
|
280
289
|
|