message: feat(theme): improve Pagination alert
diff: -import { computed, defineComponent, h, ref, VNode } from "vue";
  +import { computed, defineComponent, h, onMounted, ref, VNode } from "vue";
  +import { Message } from "vuepress-shared/lib/client";
  import { useThemeLocaleData } from "@theme-hope/composables/index.js";
  @@ -19,6 +20,7 @@ export default defineComponent({
  emits: ["updateCurrentPage"],
  setup(props, { emit }) {
  + let message: Message;
  const themeLocale = useThemeLocaleData();
  const input = ref("");
  @@ -76,11 +78,18 @@ export default defineComponent({
  if (pageNum <= totalPages.value && pageNum > 0) navigate(pageNum);
  else
  - alert(
  - locale.value.errorText.replace(/\$page/g, totalPages.value.toString())
  + message.pop(
  + `<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M64 512a448 448 0 1 0 896 0 448 448 0 1 0-896 0Z" fill="#FA5151"/><path d="m557.3 512 113.1-113.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L512 466.7 398.9 353.6c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L466.7 512 353.6 625.1c-12.5 12.5-12.5 32.8 0 45.3 6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4L512 557.3l113.1 113.1c6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4c12.5-12.5 12.5-32.8 0-45.3L557.3 512z" fill="#FFF"/></svg>${locale.value.errorText.replace(
  + /\$page/g,
  + totalPages.value.toString()
  + )}`
  );
  };
  + onMounted(() => {
  + message = new Message();
  + });
  +
  return (): VNode =>
  h(
  "div",
  