@class-kit/vue 0.1.0 → 0.1.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.
Files changed (275) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +20 -2
  3. package/README.md +5 -1
  4. package/dist/components/affix.cjs.map +1 -1
  5. package/dist/components/affix.js.map +1 -1
  6. package/dist/components/backtop.cjs.map +1 -1
  7. package/dist/components/backtop.js.map +1 -1
  8. package/dist/components/badge.cjs.map +1 -1
  9. package/dist/components/badge.js.map +1 -1
  10. package/dist/components/barcode.cjs.map +1 -1
  11. package/dist/components/barcode.js.map +1 -1
  12. package/dist/components/breadcrumb.cjs.map +1 -1
  13. package/dist/components/breadcrumb.js.map +1 -1
  14. package/dist/components/button.cjs.map +1 -1
  15. package/dist/components/button.js.map +1 -1
  16. package/dist/components/calendar.cjs.map +1 -1
  17. package/dist/components/calendar.js.map +1 -1
  18. package/dist/components/canvas-editor.cjs.map +1 -1
  19. package/dist/components/canvas-editor.js.map +1 -1
  20. package/dist/components/canvas-image.cjs.map +1 -1
  21. package/dist/components/canvas-image.js.map +1 -1
  22. package/dist/components/chat-textarea.cjs +234 -0
  23. package/dist/components/chat-textarea.cjs.map +1 -0
  24. package/dist/components/chat-textarea.d.ts +2 -0
  25. package/dist/components/chat-textarea.d.ts.map +1 -0
  26. package/dist/components/chat-textarea.js +232 -0
  27. package/dist/components/chat-textarea.js.map +1 -0
  28. package/dist/components/chat-virtual-list.cjs +140 -13
  29. package/dist/components/chat-virtual-list.cjs.map +1 -1
  30. package/dist/components/chat-virtual-list.js +140 -13
  31. package/dist/components/chat-virtual-list.js.map +1 -1
  32. package/dist/components/checkbox.cjs.map +1 -1
  33. package/dist/components/checkbox.js.map +1 -1
  34. package/dist/components/checked.cjs.map +1 -1
  35. package/dist/components/checked.js.map +1 -1
  36. package/dist/components/code-preview.cjs +343 -0
  37. package/dist/components/code-preview.cjs.map +1 -0
  38. package/dist/components/code-preview.d.ts +2 -0
  39. package/dist/components/code-preview.d.ts.map +1 -0
  40. package/dist/components/code-preview.js +341 -0
  41. package/dist/components/code-preview.js.map +1 -0
  42. package/dist/components/color-picker.cjs +1 -1
  43. package/dist/components/color-picker.cjs.map +1 -1
  44. package/dist/components/color-picker.js +1 -1
  45. package/dist/components/color-picker.js.map +1 -1
  46. package/dist/components/comic-reader.cjs.map +1 -1
  47. package/dist/components/comic-reader.js.map +1 -1
  48. package/dist/components/config-provider.cjs.map +1 -1
  49. package/dist/components/config-provider.js.map +1 -1
  50. package/dist/components/config-table.cjs.map +1 -1
  51. package/dist/components/config-table.js.map +1 -1
  52. package/dist/components/countdown.cjs.map +1 -1
  53. package/dist/components/countdown.js.map +1 -1
  54. package/dist/components/danmaku.cjs.map +1 -1
  55. package/dist/components/danmaku.js.map +1 -1
  56. package/dist/components/date-picker.cjs.map +1 -1
  57. package/dist/components/date-picker.js.map +1 -1
  58. package/dist/components/date-range-picker.cjs.map +1 -1
  59. package/dist/components/date-range-picker.js.map +1 -1
  60. package/dist/components/design-effect.cjs.map +1 -1
  61. package/dist/components/design-effect.js.map +1 -1
  62. package/dist/components/drag-drop-board.cjs +24 -0
  63. package/dist/components/drag-drop-board.cjs.map +1 -1
  64. package/dist/components/drag-drop-board.js +24 -0
  65. package/dist/components/drag-drop-board.js.map +1 -1
  66. package/dist/components/draggable.cjs.map +1 -1
  67. package/dist/components/draggable.js.map +1 -1
  68. package/dist/components/ellipsis-text.cjs.map +1 -1
  69. package/dist/components/ellipsis-text.js.map +1 -1
  70. package/dist/components/empty.cjs.map +1 -1
  71. package/dist/components/empty.js.map +1 -1
  72. package/dist/components/field.cjs.map +1 -1
  73. package/dist/components/field.js.map +1 -1
  74. package/dist/components/file-preview.cjs.map +1 -1
  75. package/dist/components/file-preview.js.map +1 -1
  76. package/dist/components/floating-ball.cjs.map +1 -1
  77. package/dist/components/floating-ball.js.map +1 -1
  78. package/dist/components/form.cjs.map +1 -1
  79. package/dist/components/form.js.map +1 -1
  80. package/dist/components/gradient-text.cjs.map +1 -1
  81. package/dist/components/gradient-text.js.map +1 -1
  82. package/dist/components/height-transition.cjs +118 -0
  83. package/dist/components/height-transition.cjs.map +1 -0
  84. package/dist/components/height-transition.d.ts +2 -0
  85. package/dist/components/height-transition.d.ts.map +1 -0
  86. package/dist/components/height-transition.js +116 -0
  87. package/dist/components/height-transition.js.map +1 -0
  88. package/dist/components/input.cjs.map +1 -1
  89. package/dist/components/input.js.map +1 -1
  90. package/dist/components/lazy-image.cjs.map +1 -1
  91. package/dist/components/lazy-image.js.map +1 -1
  92. package/dist/components/live-room.cjs.map +1 -1
  93. package/dist/components/live-room.js.map +1 -1
  94. package/dist/components/loading.cjs.map +1 -1
  95. package/dist/components/loading.js.map +1 -1
  96. package/dist/components/marquee.cjs.map +1 -1
  97. package/dist/components/marquee.js.map +1 -1
  98. package/dist/components/masonry-virtual-list.cjs.map +1 -1
  99. package/dist/components/masonry-virtual-list.js.map +1 -1
  100. package/dist/components/menu.cjs +259 -0
  101. package/dist/components/menu.cjs.map +1 -0
  102. package/dist/components/menu.d.ts +2 -0
  103. package/dist/components/menu.d.ts.map +1 -0
  104. package/dist/components/menu.js +257 -0
  105. package/dist/components/menu.js.map +1 -0
  106. package/dist/components/modal.cjs.map +1 -1
  107. package/dist/components/modal.js.map +1 -1
  108. package/dist/components/multi-column-picker.cjs.map +1 -1
  109. package/dist/components/multi-column-picker.js.map +1 -1
  110. package/dist/components/novel-reader.cjs.map +1 -1
  111. package/dist/components/novel-reader.js.map +1 -1
  112. package/dist/components/number-input.cjs.map +1 -1
  113. package/dist/components/number-input.js.map +1 -1
  114. package/dist/components/orbital-sphere.cjs +128 -0
  115. package/dist/components/orbital-sphere.cjs.map +1 -0
  116. package/dist/components/orbital-sphere.d.ts +2 -0
  117. package/dist/components/orbital-sphere.d.ts.map +1 -0
  118. package/dist/components/orbital-sphere.js +126 -0
  119. package/dist/components/orbital-sphere.js.map +1 -0
  120. package/dist/components/pagination.cjs.map +1 -1
  121. package/dist/components/pagination.js.map +1 -1
  122. package/dist/components/password-input.cjs.map +1 -1
  123. package/dist/components/password-input.js.map +1 -1
  124. package/dist/components/popconfirm.cjs +64 -23
  125. package/dist/components/popconfirm.cjs.map +1 -1
  126. package/dist/components/popconfirm.js +65 -24
  127. package/dist/components/popconfirm.js.map +1 -1
  128. package/dist/components/popup.cjs +1 -3
  129. package/dist/components/popup.cjs.map +1 -1
  130. package/dist/components/popup.js +1 -3
  131. package/dist/components/popup.js.map +1 -1
  132. package/dist/components/progress-bar.cjs.map +1 -1
  133. package/dist/components/progress-bar.js.map +1 -1
  134. package/dist/components/qr-code.cjs.map +1 -1
  135. package/dist/components/qr-code.js.map +1 -1
  136. package/dist/components/radio-group.cjs.map +1 -1
  137. package/dist/components/radio-group.js.map +1 -1
  138. package/dist/components/rating.cjs.map +1 -1
  139. package/dist/components/rating.js.map +1 -1
  140. package/dist/components/rolling-number.cjs.map +1 -1
  141. package/dist/components/rolling-number.js.map +1 -1
  142. package/dist/components/select.cjs.map +1 -1
  143. package/dist/components/select.js.map +1 -1
  144. package/dist/components/signature.cjs +1 -1
  145. package/dist/components/signature.cjs.map +1 -1
  146. package/dist/components/signature.js +1 -1
  147. package/dist/components/signature.js.map +1 -1
  148. package/dist/components/skeleton.cjs.map +1 -1
  149. package/dist/components/skeleton.js.map +1 -1
  150. package/dist/components/slide-captcha.cjs.map +1 -1
  151. package/dist/components/slide-captcha.js.map +1 -1
  152. package/dist/components/swiper.cjs.map +1 -1
  153. package/dist/components/swiper.js.map +1 -1
  154. package/dist/components/switch.cjs.map +1 -1
  155. package/dist/components/switch.js.map +1 -1
  156. package/dist/components/table.cjs.map +1 -1
  157. package/dist/components/table.js.map +1 -1
  158. package/dist/components/tabs.cjs.map +1 -1
  159. package/dist/components/tabs.js.map +1 -1
  160. package/dist/components/tag.cjs.map +1 -1
  161. package/dist/components/tag.js.map +1 -1
  162. package/dist/components/textarea.cjs.map +1 -1
  163. package/dist/components/textarea.js.map +1 -1
  164. package/dist/components/tilt-card.cjs.map +1 -1
  165. package/dist/components/tilt-card.js.map +1 -1
  166. package/dist/components/timeline.cjs.map +1 -1
  167. package/dist/components/timeline.js.map +1 -1
  168. package/dist/components/toast.cjs +161 -22
  169. package/dist/components/toast.cjs.map +1 -1
  170. package/dist/components/toast.d.ts +1 -1
  171. package/dist/components/toast.d.ts.map +1 -1
  172. package/dist/components/toast.js +159 -23
  173. package/dist/components/toast.js.map +1 -1
  174. package/dist/components/tooltip.cjs +56 -17
  175. package/dist/components/tooltip.cjs.map +1 -1
  176. package/dist/components/tooltip.js +57 -18
  177. package/dist/components/tooltip.js.map +1 -1
  178. package/dist/components/typewriter-text.cjs.map +1 -1
  179. package/dist/components/typewriter-text.js.map +1 -1
  180. package/dist/components/upload.cjs.map +1 -1
  181. package/dist/components/upload.js.map +1 -1
  182. package/dist/components/verification-code.cjs.map +1 -1
  183. package/dist/components/verification-code.js.map +1 -1
  184. package/dist/components/video-detail-transition.cjs.map +1 -1
  185. package/dist/components/video-detail-transition.js.map +1 -1
  186. package/dist/components/video-player.cjs.map +1 -1
  187. package/dist/components/video-player.js.map +1 -1
  188. package/dist/components/virtual-list.cjs.map +1 -1
  189. package/dist/components/virtual-list.js.map +1 -1
  190. package/dist/components/virtual-select.cjs.map +1 -1
  191. package/dist/components/virtual-select.js.map +1 -1
  192. package/dist/components/virtual-table.cjs.map +1 -1
  193. package/dist/components/virtual-table.js.map +1 -1
  194. package/dist/{import-transform-DLby8nRN.js → import-transform-BFq5_6VQ.js} +7 -1
  195. package/dist/import-transform-BFq5_6VQ.js.map +1 -0
  196. package/dist/{import-transform-BiXH181o.js → import-transform-CvGKNZyR.js} +7 -1
  197. package/dist/import-transform-CvGKNZyR.js.map +1 -0
  198. package/dist/import-transform.d.ts.map +1 -1
  199. package/dist/index.cjs +1003 -80
  200. package/dist/index.cjs.map +1 -1
  201. package/dist/index.d.ts +514 -8
  202. package/dist/index.d.ts.map +1 -1
  203. package/dist/index.js +985 -83
  204. package/dist/index.js.map +1 -1
  205. package/dist/styles/base.css +168 -41
  206. package/dist/styles/components/barcode.css +206 -0
  207. package/dist/styles/components/button.css +7 -2
  208. package/dist/styles/components/calendar.css +0 -23
  209. package/dist/styles/components/canvas-editor.css +18 -21
  210. package/dist/styles/components/canvas-image.css +0 -23
  211. package/dist/styles/components/chat-textarea.css +124 -0
  212. package/dist/styles/components/chat-virtual-list.css +15 -26
  213. package/dist/styles/components/checkbox.css +39 -23
  214. package/dist/styles/components/checked.css +39 -23
  215. package/dist/styles/components/code-preview.css +208 -0
  216. package/dist/styles/components/color-picker.css +46 -27
  217. package/dist/styles/components/config-table.css +0 -23
  218. package/dist/styles/components/date-picker.css +39 -23
  219. package/dist/styles/components/date-range-picker.css +39 -23
  220. package/dist/styles/components/design-effect.css +5 -1
  221. package/dist/styles/components/drag-drop-board.css +6 -1
  222. package/dist/styles/components/field.css +39 -23
  223. package/dist/styles/components/form.css +39 -23
  224. package/dist/styles/components/gradient-text.css +4 -0
  225. package/dist/styles/components/height-transition.css +50 -0
  226. package/dist/styles/components/input.css +39 -23
  227. package/dist/styles/components/loading.css +47 -0
  228. package/dist/styles/components/menu.css +286 -0
  229. package/dist/styles/components/modal.css +2 -23
  230. package/dist/styles/components/number-input.css +39 -23
  231. package/dist/styles/components/orbital-sphere.css +224 -0
  232. package/dist/styles/components/password-input.css +39 -23
  233. package/dist/styles/components/popconfirm.css +5 -0
  234. package/dist/styles/components/popup.css +2 -23
  235. package/dist/styles/components/qr-code.css +206 -0
  236. package/dist/styles/components/radio-group.css +39 -23
  237. package/dist/styles/components/rating.css +39 -23
  238. package/dist/styles/components/select.css +39 -23
  239. package/dist/styles/components/signature.css +39 -23
  240. package/dist/styles/components/switch.css +39 -23
  241. package/dist/styles/components/table.css +0 -23
  242. package/dist/styles/components/tabs.css +10 -0
  243. package/dist/styles/components/textarea.css +39 -23
  244. package/dist/styles/components/tilt-card.css +2 -23
  245. package/dist/styles/components/toast.css +109 -48
  246. package/dist/styles/components/tooltip.css +8 -23
  247. package/dist/styles/components/typewriter-text.css +4 -0
  248. package/dist/styles/components/upload.css +39 -23
  249. package/dist/styles/components/verification-code.css +39 -23
  250. package/dist/styles/components/virtual-select.css +39 -23
  251. package/dist/styles/components/virtual-table.css +0 -23
  252. package/dist/styles/components.css +1250 -165
  253. package/dist/styles/themes/business-blue.css +375 -0
  254. package/dist/styles/themes/cartoon-3d.css +695 -0
  255. package/dist/styles/themes/creative-purple.css +376 -0
  256. package/dist/styles/themes/dark-tech.css +495 -0
  257. package/dist/styles/themes/liquid-glass.css +526 -21
  258. package/dist/styles/themes/minimal.css +406 -14
  259. package/dist/styles/themes/soft-pink.css +376 -0
  260. package/dist/styles.css +1250 -165
  261. package/dist/vite.cjs +1 -1
  262. package/dist/vite.cjs.map +1 -1
  263. package/dist/vite.d.ts +1 -1
  264. package/dist/vite.js +1 -1
  265. package/dist/vite.js.map +1 -1
  266. package/dist/webpack-loader.cjs +1 -1
  267. package/dist/webpack-loader.js +1 -1
  268. package/package.json +4 -4
  269. package/dist/import-transform-BiXH181o.js.map +0 -1
  270. package/dist/import-transform-DLby8nRN.js.map +0 -1
  271. package/dist/styles/themes/amber.css +0 -19
  272. package/dist/styles/themes/emerald.css +0 -19
  273. package/dist/styles/themes/rose.css +0 -19
  274. package/dist/styles/themes/sky.css +0 -19
  275. package/dist/styles/themes/violet.css +0 -19
@@ -50,6 +50,8 @@ vue.defineComponent({
50
50
  ]);
51
51
  },
52
52
  });
53
+ const CHAT_PREPEND_MOMENTUM_LOCK_MS = 420;
54
+ const CHAT_PREPEND_STABILIZE_FRAMES = 24;
53
55
  const ClassChatVirtualList = /*#__PURE__*/ vue.defineComponent({
54
56
  name: "ClassChatVirtualList",
55
57
  inheritAttrs: false,
@@ -124,7 +126,7 @@ const ClassChatVirtualList = /*#__PURE__*/ vue.defineComponent({
124
126
  },
125
127
  topLoadingContent: {
126
128
  type: String,
127
- default: "正在加载历史消息...",
129
+ default: "",
128
130
  },
129
131
  pullUpLoading: {
130
132
  type: Boolean,
@@ -167,6 +169,7 @@ const ClassChatVirtualList = /*#__PURE__*/ vue.defineComponent({
167
169
  let bottomFrame;
168
170
  let bottomTimer;
169
171
  let prependFrame;
172
+ let prependStabilizeFrame;
170
173
  let prependTimer;
171
174
  let topLoadingFallbackTimer;
172
175
  let topLoadingMutationPending = false;
@@ -242,14 +245,68 @@ const ClassChatVirtualList = /*#__PURE__*/ vue.defineComponent({
242
245
  return;
243
246
  releaseTopLoadingLock();
244
247
  };
245
- const clearPendingPrependAnchor = () => {
248
+ const clearPendingPrependAnchor = (force = false) => {
249
+ const pendingAnchor = pendingPrependAnchor.value;
250
+ if (!force && pendingAnchor) {
251
+ const remaining = pendingAnchor.releaseAt - Date.now();
252
+ if (remaining > 0) {
253
+ if (prependTimer !== undefined)
254
+ window.clearTimeout(prependTimer);
255
+ prependTimer = window.setTimeout(() => {
256
+ clearPendingPrependAnchor(true);
257
+ }, remaining);
258
+ schedulePrependStabilization();
259
+ return;
260
+ }
261
+ }
246
262
  pendingPrependAnchor.value = null;
263
+ if (prependStabilizeFrame !== undefined) {
264
+ window.cancelAnimationFrame(prependStabilizeFrame);
265
+ prependStabilizeFrame = undefined;
266
+ }
247
267
  if (prependTimer !== undefined) {
248
268
  window.clearTimeout(prependTimer);
249
269
  prependTimer = undefined;
250
270
  }
251
271
  maybeReleaseTopLoadingLock();
252
272
  };
273
+ const applyPendingPrependAnchor = () => {
274
+ const pendingAnchor = pendingPrependAnchor.value;
275
+ const viewport = viewportRef.value;
276
+ if (!pendingAnchor || !viewport)
277
+ return false;
278
+ const keys = getKeys();
279
+ const anchorIndex = keys.findIndex((itemKey) => Object.is(itemKey, pendingAnchor.anchorKey));
280
+ const nextScrollTop = anchorIndex >= 0
281
+ ? Math.max(0, listController.getItem(anchorIndex).start -
282
+ pendingAnchor.anchorOffset)
283
+ : pendingAnchor.targetScrollTop;
284
+ viewport.scrollTop = nextScrollTop;
285
+ scrollOffset.value = nextScrollTop;
286
+ previousScrollTop.value = nextScrollTop;
287
+ return true;
288
+ };
289
+ const schedulePrependStabilization = () => {
290
+ if (prependStabilizeFrame !== undefined) {
291
+ window.cancelAnimationFrame(prependStabilizeFrame);
292
+ }
293
+ let remainingFrames = CHAT_PREPEND_STABILIZE_FRAMES;
294
+ const stabilize = () => {
295
+ const pendingAnchor = pendingPrependAnchor.value;
296
+ if (!pendingAnchor) {
297
+ prependStabilizeFrame = undefined;
298
+ return;
299
+ }
300
+ applyPendingPrependAnchor();
301
+ remainingFrames -= 1;
302
+ if (remainingFrames <= 0 && pendingAnchor.releaseAt <= Date.now()) {
303
+ prependStabilizeFrame = undefined;
304
+ return;
305
+ }
306
+ prependStabilizeFrame = window.requestAnimationFrame(stabilize);
307
+ };
308
+ prependStabilizeFrame = window.requestAnimationFrame(stabilize);
309
+ };
253
310
  const scheduleTopLoadingFallback = () => {
254
311
  if (topLoadingFallbackTimer !== undefined) {
255
312
  window.clearTimeout(topLoadingFallbackTimer);
@@ -361,8 +418,12 @@ const ClassChatVirtualList = /*#__PURE__*/ vue.defineComponent({
361
418
  anchorOffset: previousAnchor.offset,
362
419
  measuredKeys: new Set(),
363
420
  prependKeys: new Set(keys.slice(0, prependCount)),
421
+ releaseAt: Date.now() + CHAT_PREPEND_MOMENTUM_LOCK_MS,
422
+ targetScrollTop: nextScrollTop,
364
423
  }
365
424
  : null;
425
+ if (pendingPrependAnchor.value)
426
+ schedulePrependStabilization();
366
427
  if (prependFrame !== undefined)
367
428
  window.cancelAnimationFrame(prependFrame);
368
429
  if (prependTimer !== undefined)
@@ -484,6 +545,8 @@ const ClassChatVirtualList = /*#__PURE__*/ vue.defineComponent({
484
545
  window.clearTimeout(bottomTimer);
485
546
  if (prependFrame !== undefined)
486
547
  window.cancelAnimationFrame(prependFrame);
548
+ if (prependStabilizeFrame !== undefined)
549
+ window.cancelAnimationFrame(prependStabilizeFrame);
487
550
  if (prependTimer !== undefined)
488
551
  window.clearTimeout(prependTimer);
489
552
  if (topLoadingFallbackTimer !== undefined)
@@ -497,6 +560,12 @@ const ClassChatVirtualList = /*#__PURE__*/ vue.defineComponent({
497
560
  if (!(element instanceof HTMLElement))
498
561
  return;
499
562
  const measure = () => {
563
+ const keys = getKeys();
564
+ const oldKeys = previousKeys.value;
565
+ const hasPendingKeySync = oldKeys.length !== keys.length ||
566
+ oldKeys.some((itemKey, keyIndex) => !Object.is(itemKey, keys[keyIndex]));
567
+ if (!pendingPrependAnchor.value && hasPendingKeySync)
568
+ return;
500
569
  const viewport = viewportRef.value;
501
570
  const oldTotal = listController.getTotalSize();
502
571
  const oldItem = listController.getItem(index);
@@ -510,17 +579,19 @@ const ClassChatVirtualList = /*#__PURE__*/ vue.defineComponent({
510
579
  if (pendingAnchor) {
511
580
  if (pendingAnchor.prependKeys.has(key))
512
581
  pendingAnchor.measuredKeys.add(key);
513
- const keys = getKeys();
514
582
  const anchorIndex = keys.findIndex((itemKey) => Object.is(itemKey, pendingAnchor.anchorKey));
515
583
  if (anchorIndex >= 0) {
516
584
  const anchorItem = listController.getItem(anchorIndex);
517
585
  const nextItem = listController.getItem(index);
518
586
  const delta = nextItem.size - oldItem.size;
519
- viewport.scrollTop = Math.max(0, index < anchorIndex && delta !== 0
587
+ const nextScrollTop = Math.max(0, index < anchorIndex && delta !== 0
520
588
  ? oldScrollTop + delta
521
589
  : anchorItem.start - pendingAnchor.anchorOffset);
522
- scrollOffset.value = viewport.scrollTop;
523
- previousScrollTop.value = viewport.scrollTop;
590
+ pendingAnchor.targetScrollTop = nextScrollTop;
591
+ viewport.scrollTop = nextScrollTop;
592
+ scrollOffset.value = nextScrollTop;
593
+ previousScrollTop.value = nextScrollTop;
594
+ schedulePrependStabilization();
524
595
  }
525
596
  if (pendingAnchor.measuredKeys.size >= pendingAnchor.prependKeys.size) {
526
597
  clearPendingPrependAnchor();
@@ -558,18 +629,24 @@ const ClassChatVirtualList = /*#__PURE__*/ vue.defineComponent({
558
629
  "data-top-loading": topLoadingPending.value ? "true" : undefined,
559
630
  style: { "--cc-chat-virtual-list-height": resolvedHeight },
560
631
  }, [
561
- vue.h("div", {
562
- "aria-hidden": topLoadingPending.value ? undefined : "true",
563
- class: props.topLoadingClass,
564
- "data-active": topLoadingPending.value ? "true" : "false",
565
- role: topLoadingPending.value ? "status" : undefined,
566
- }, slots.topLoading?.({ loading: topLoadingPending.value }) ??
567
- props.topLoadingContent),
632
+ slots.topLoading?.({ loading: topLoadingPending.value }) ??
633
+ vue.h(ClassLoading, {
634
+ "aria-hidden": topLoadingPending.value ? undefined : "true",
635
+ className: props.topLoadingClass,
636
+ "data-active": topLoadingPending.value ? "true" : "false",
637
+ role: topLoadingPending.value ? "status" : undefined,
638
+ text: props.topLoadingContent,
639
+ }),
568
640
  vue.h("div", {
569
641
  class: props.viewportClass,
570
642
  "data-top-loading": topLoadingPending.value ? "true" : undefined,
571
643
  ref: viewportRef,
572
644
  onScroll: (event) => {
645
+ if (pendingPrependAnchor.value) {
646
+ const stabilized = applyPendingPrependAnchor();
647
+ if (stabilized)
648
+ return;
649
+ }
573
650
  const nextScrollTop = event.currentTarget
574
651
  .scrollTop;
575
652
  const viewport = event.currentTarget;
@@ -620,6 +697,56 @@ const ClassChatVirtualList = /*#__PURE__*/ vue.defineComponent({
620
697
  };
621
698
  },
622
699
  });
700
+ function renderDefaultLoadingIndicator() {
701
+ return vue.h("svg", {
702
+ class: "cc-loading__bolt",
703
+ focusable: "false",
704
+ viewBox: "0 0 96 96",
705
+ }, [
706
+ vue.h("ellipse", {
707
+ class: "cc-loading__bolt-shadow",
708
+ cx: "51",
709
+ cy: "74",
710
+ rx: "28",
711
+ ry: "8",
712
+ }),
713
+ vue.h("path", {
714
+ class: "cc-loading__bolt-side",
715
+ d: "M54 8 26 48h20L34 82l39-46H51L65 8Z",
716
+ }),
717
+ vue.h("path", {
718
+ class: "cc-loading__bolt-face",
719
+ d: "M48 6 20 46h20L28 80l39-46H45L59 6Z",
720
+ }),
721
+ vue.h("path", {
722
+ class: "cc-loading__bolt-highlight",
723
+ d: "M48 14 31 39h17L39 62l18-24H43l10-24Z",
724
+ }),
725
+ ]);
726
+ }
727
+ const ClassLoading = /*#__PURE__*/ vue.defineComponent({
728
+ name: "ClassLoading",
729
+ props: {
730
+ className: String,
731
+ text: {
732
+ type: String,
733
+ default: () => core.getClassComponentsLocale().loadingText,
734
+ },
735
+ },
736
+ setup(props, { attrs, slots }) {
737
+ return () => vue.h("div", {
738
+ ...attrs,
739
+ "aria-live": "polite",
740
+ class: ["cc-loading", props.className],
741
+ role: "status",
742
+ }, [
743
+ vue.h("span", { "aria-hidden": "true", class: "cc-loading__indicator" }, slots.indicator?.() ?? renderDefaultLoadingIndicator()),
744
+ props.text
745
+ ? vue.h("span", { class: "cc-loading__text" }, props.text)
746
+ : null,
747
+ ]);
748
+ },
749
+ });
623
750
 
624
751
  exports.ClassChatVirtualList = ClassChatVirtualList;
625
752
  //# sourceMappingURL=chat-virtual-list.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-virtual-list.cjs","sources":["../../src/index.ts"],"names":["defineComponent","ref","configureClassComponents","watch","h","ChatVirtualListController","VirtualListController","computed","onMounted","onBeforeUnmount","getClassComponentsLocale"],"mappings":"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"}
1
+ {"version":3,"file":"chat-virtual-list.cjs","sources":["../../src/index.ts"],"names":["defineComponent","ref","configureClassComponents","watch","h","ChatVirtualListController","VirtualListController","computed","onMounted","onBeforeUnmount","getClassComponentsLocale"],"mappings":"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"}
@@ -48,6 +48,8 @@ defineComponent({
48
48
  ]);
49
49
  },
50
50
  });
51
+ const CHAT_PREPEND_MOMENTUM_LOCK_MS = 420;
52
+ const CHAT_PREPEND_STABILIZE_FRAMES = 24;
51
53
  const ClassChatVirtualList = /*#__PURE__*/ defineComponent({
52
54
  name: "ClassChatVirtualList",
53
55
  inheritAttrs: false,
@@ -122,7 +124,7 @@ const ClassChatVirtualList = /*#__PURE__*/ defineComponent({
122
124
  },
123
125
  topLoadingContent: {
124
126
  type: String,
125
- default: "正在加载历史消息...",
127
+ default: "",
126
128
  },
127
129
  pullUpLoading: {
128
130
  type: Boolean,
@@ -165,6 +167,7 @@ const ClassChatVirtualList = /*#__PURE__*/ defineComponent({
165
167
  let bottomFrame;
166
168
  let bottomTimer;
167
169
  let prependFrame;
170
+ let prependStabilizeFrame;
168
171
  let prependTimer;
169
172
  let topLoadingFallbackTimer;
170
173
  let topLoadingMutationPending = false;
@@ -240,14 +243,68 @@ const ClassChatVirtualList = /*#__PURE__*/ defineComponent({
240
243
  return;
241
244
  releaseTopLoadingLock();
242
245
  };
243
- const clearPendingPrependAnchor = () => {
246
+ const clearPendingPrependAnchor = (force = false) => {
247
+ const pendingAnchor = pendingPrependAnchor.value;
248
+ if (!force && pendingAnchor) {
249
+ const remaining = pendingAnchor.releaseAt - Date.now();
250
+ if (remaining > 0) {
251
+ if (prependTimer !== undefined)
252
+ window.clearTimeout(prependTimer);
253
+ prependTimer = window.setTimeout(() => {
254
+ clearPendingPrependAnchor(true);
255
+ }, remaining);
256
+ schedulePrependStabilization();
257
+ return;
258
+ }
259
+ }
244
260
  pendingPrependAnchor.value = null;
261
+ if (prependStabilizeFrame !== undefined) {
262
+ window.cancelAnimationFrame(prependStabilizeFrame);
263
+ prependStabilizeFrame = undefined;
264
+ }
245
265
  if (prependTimer !== undefined) {
246
266
  window.clearTimeout(prependTimer);
247
267
  prependTimer = undefined;
248
268
  }
249
269
  maybeReleaseTopLoadingLock();
250
270
  };
271
+ const applyPendingPrependAnchor = () => {
272
+ const pendingAnchor = pendingPrependAnchor.value;
273
+ const viewport = viewportRef.value;
274
+ if (!pendingAnchor || !viewport)
275
+ return false;
276
+ const keys = getKeys();
277
+ const anchorIndex = keys.findIndex((itemKey) => Object.is(itemKey, pendingAnchor.anchorKey));
278
+ const nextScrollTop = anchorIndex >= 0
279
+ ? Math.max(0, listController.getItem(anchorIndex).start -
280
+ pendingAnchor.anchorOffset)
281
+ : pendingAnchor.targetScrollTop;
282
+ viewport.scrollTop = nextScrollTop;
283
+ scrollOffset.value = nextScrollTop;
284
+ previousScrollTop.value = nextScrollTop;
285
+ return true;
286
+ };
287
+ const schedulePrependStabilization = () => {
288
+ if (prependStabilizeFrame !== undefined) {
289
+ window.cancelAnimationFrame(prependStabilizeFrame);
290
+ }
291
+ let remainingFrames = CHAT_PREPEND_STABILIZE_FRAMES;
292
+ const stabilize = () => {
293
+ const pendingAnchor = pendingPrependAnchor.value;
294
+ if (!pendingAnchor) {
295
+ prependStabilizeFrame = undefined;
296
+ return;
297
+ }
298
+ applyPendingPrependAnchor();
299
+ remainingFrames -= 1;
300
+ if (remainingFrames <= 0 && pendingAnchor.releaseAt <= Date.now()) {
301
+ prependStabilizeFrame = undefined;
302
+ return;
303
+ }
304
+ prependStabilizeFrame = window.requestAnimationFrame(stabilize);
305
+ };
306
+ prependStabilizeFrame = window.requestAnimationFrame(stabilize);
307
+ };
251
308
  const scheduleTopLoadingFallback = () => {
252
309
  if (topLoadingFallbackTimer !== undefined) {
253
310
  window.clearTimeout(topLoadingFallbackTimer);
@@ -359,8 +416,12 @@ const ClassChatVirtualList = /*#__PURE__*/ defineComponent({
359
416
  anchorOffset: previousAnchor.offset,
360
417
  measuredKeys: new Set(),
361
418
  prependKeys: new Set(keys.slice(0, prependCount)),
419
+ releaseAt: Date.now() + CHAT_PREPEND_MOMENTUM_LOCK_MS,
420
+ targetScrollTop: nextScrollTop,
362
421
  }
363
422
  : null;
423
+ if (pendingPrependAnchor.value)
424
+ schedulePrependStabilization();
364
425
  if (prependFrame !== undefined)
365
426
  window.cancelAnimationFrame(prependFrame);
366
427
  if (prependTimer !== undefined)
@@ -482,6 +543,8 @@ const ClassChatVirtualList = /*#__PURE__*/ defineComponent({
482
543
  window.clearTimeout(bottomTimer);
483
544
  if (prependFrame !== undefined)
484
545
  window.cancelAnimationFrame(prependFrame);
546
+ if (prependStabilizeFrame !== undefined)
547
+ window.cancelAnimationFrame(prependStabilizeFrame);
485
548
  if (prependTimer !== undefined)
486
549
  window.clearTimeout(prependTimer);
487
550
  if (topLoadingFallbackTimer !== undefined)
@@ -495,6 +558,12 @@ const ClassChatVirtualList = /*#__PURE__*/ defineComponent({
495
558
  if (!(element instanceof HTMLElement))
496
559
  return;
497
560
  const measure = () => {
561
+ const keys = getKeys();
562
+ const oldKeys = previousKeys.value;
563
+ const hasPendingKeySync = oldKeys.length !== keys.length ||
564
+ oldKeys.some((itemKey, keyIndex) => !Object.is(itemKey, keys[keyIndex]));
565
+ if (!pendingPrependAnchor.value && hasPendingKeySync)
566
+ return;
498
567
  const viewport = viewportRef.value;
499
568
  const oldTotal = listController.getTotalSize();
500
569
  const oldItem = listController.getItem(index);
@@ -508,17 +577,19 @@ const ClassChatVirtualList = /*#__PURE__*/ defineComponent({
508
577
  if (pendingAnchor) {
509
578
  if (pendingAnchor.prependKeys.has(key))
510
579
  pendingAnchor.measuredKeys.add(key);
511
- const keys = getKeys();
512
580
  const anchorIndex = keys.findIndex((itemKey) => Object.is(itemKey, pendingAnchor.anchorKey));
513
581
  if (anchorIndex >= 0) {
514
582
  const anchorItem = listController.getItem(anchorIndex);
515
583
  const nextItem = listController.getItem(index);
516
584
  const delta = nextItem.size - oldItem.size;
517
- viewport.scrollTop = Math.max(0, index < anchorIndex && delta !== 0
585
+ const nextScrollTop = Math.max(0, index < anchorIndex && delta !== 0
518
586
  ? oldScrollTop + delta
519
587
  : anchorItem.start - pendingAnchor.anchorOffset);
520
- scrollOffset.value = viewport.scrollTop;
521
- previousScrollTop.value = viewport.scrollTop;
588
+ pendingAnchor.targetScrollTop = nextScrollTop;
589
+ viewport.scrollTop = nextScrollTop;
590
+ scrollOffset.value = nextScrollTop;
591
+ previousScrollTop.value = nextScrollTop;
592
+ schedulePrependStabilization();
522
593
  }
523
594
  if (pendingAnchor.measuredKeys.size >= pendingAnchor.prependKeys.size) {
524
595
  clearPendingPrependAnchor();
@@ -556,18 +627,24 @@ const ClassChatVirtualList = /*#__PURE__*/ defineComponent({
556
627
  "data-top-loading": topLoadingPending.value ? "true" : undefined,
557
628
  style: { "--cc-chat-virtual-list-height": resolvedHeight },
558
629
  }, [
559
- h("div", {
560
- "aria-hidden": topLoadingPending.value ? undefined : "true",
561
- class: props.topLoadingClass,
562
- "data-active": topLoadingPending.value ? "true" : "false",
563
- role: topLoadingPending.value ? "status" : undefined,
564
- }, slots.topLoading?.({ loading: topLoadingPending.value }) ??
565
- props.topLoadingContent),
630
+ slots.topLoading?.({ loading: topLoadingPending.value }) ??
631
+ h(ClassLoading, {
632
+ "aria-hidden": topLoadingPending.value ? undefined : "true",
633
+ className: props.topLoadingClass,
634
+ "data-active": topLoadingPending.value ? "true" : "false",
635
+ role: topLoadingPending.value ? "status" : undefined,
636
+ text: props.topLoadingContent,
637
+ }),
566
638
  h("div", {
567
639
  class: props.viewportClass,
568
640
  "data-top-loading": topLoadingPending.value ? "true" : undefined,
569
641
  ref: viewportRef,
570
642
  onScroll: (event) => {
643
+ if (pendingPrependAnchor.value) {
644
+ const stabilized = applyPendingPrependAnchor();
645
+ if (stabilized)
646
+ return;
647
+ }
571
648
  const nextScrollTop = event.currentTarget
572
649
  .scrollTop;
573
650
  const viewport = event.currentTarget;
@@ -618,6 +695,56 @@ const ClassChatVirtualList = /*#__PURE__*/ defineComponent({
618
695
  };
619
696
  },
620
697
  });
698
+ function renderDefaultLoadingIndicator() {
699
+ return h("svg", {
700
+ class: "cc-loading__bolt",
701
+ focusable: "false",
702
+ viewBox: "0 0 96 96",
703
+ }, [
704
+ h("ellipse", {
705
+ class: "cc-loading__bolt-shadow",
706
+ cx: "51",
707
+ cy: "74",
708
+ rx: "28",
709
+ ry: "8",
710
+ }),
711
+ h("path", {
712
+ class: "cc-loading__bolt-side",
713
+ d: "M54 8 26 48h20L34 82l39-46H51L65 8Z",
714
+ }),
715
+ h("path", {
716
+ class: "cc-loading__bolt-face",
717
+ d: "M48 6 20 46h20L28 80l39-46H45L59 6Z",
718
+ }),
719
+ h("path", {
720
+ class: "cc-loading__bolt-highlight",
721
+ d: "M48 14 31 39h17L39 62l18-24H43l10-24Z",
722
+ }),
723
+ ]);
724
+ }
725
+ const ClassLoading = /*#__PURE__*/ defineComponent({
726
+ name: "ClassLoading",
727
+ props: {
728
+ className: String,
729
+ text: {
730
+ type: String,
731
+ default: () => getClassComponentsLocale().loadingText,
732
+ },
733
+ },
734
+ setup(props, { attrs, slots }) {
735
+ return () => h("div", {
736
+ ...attrs,
737
+ "aria-live": "polite",
738
+ class: ["cc-loading", props.className],
739
+ role: "status",
740
+ }, [
741
+ h("span", { "aria-hidden": "true", class: "cc-loading__indicator" }, slots.indicator?.() ?? renderDefaultLoadingIndicator()),
742
+ props.text
743
+ ? h("span", { class: "cc-loading__text" }, props.text)
744
+ : null,
745
+ ]);
746
+ },
747
+ });
621
748
 
622
749
  export { ClassChatVirtualList };
623
750
  //# sourceMappingURL=chat-virtual-list.js.map