mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-27 01:21:20 -08:00
Danmuku (#759)
* chore: Bump artplayer-plugin-danmuku version to 5.1.0 * chore: Update danmuku plugin with new mount option * chore: Update danmuku plugin with new mount option * chore: Update danmuku plugin with new mount option * chore: Update danmuku plugin with new mount option * chore: Update danmuku plugin with new mount option * chore: Update danmuku plugin with new mount option * chore: Refactor getDanmuTop function to handle additional cases * chore: Refactor getDanmuTop function to handle additional cases * chore: Update danmuku plugin with new mount option * chore: Update danmuku plugin with new mount option * chore: Refactor danmuku plugin to always create a new Setting instance * Refactor danmuku plugin to always create a new Setting instance * Refactor danmuku plugin to always create a new Setting instance * Update danmuku.js * Update danmuku.js * Refactor danmuku plugin to include a new Setting instance * Refactor danmuku plugin to include a new Setting instance * Refactor danmuku plugin styles for better alignment and spacing * Refactor danmuku plugin styles for better alignment and spacing * Refactor danmuku plugin styles for better alignment and spacing * Refactor danmuku plugin styles for better alignment and spacing * Refactor danmuku plugin styles for better alignment and spacing * chore: Update package.json files * Refactor danmuku plugin to remove unnecessary whitespace in the setting template * chore: Remove ESLint configuration files and update npm dependencies * chore: Update ESLint configuration to disable console warnings and fix unused variable warnings * chore: Update ESLint configuration to fix quotes rule * Update package.json * Update package.json * Update setting.js * chore: Compress CSS code in build script * chore: Update build script to compress JavaScript code * chore: Update build script to compress JavaScript code * chore: Refactor setting.js to improve code organization and remove unused variables * chore: Add isHover flag to Control component for better control hiding behavior * chore: Update Control component to use $bottom instead of $controls for better control hiding behavior * Update package.json * Update package.json * Update package.json * chore: Update lerna.json to use independent versioning and yarn as npm client * refactor: Update Danmuku class to support configurable modes and visibility * refactor: Update Danmuku styles for better visibility and configurability * feat: Update font weight in Danmuku styles for better readability * refactor: Update Danmuku class to support configurable modes and visibility * refactor: Add opacity, area, font, and speed sliders to Danmuku settings * refactor: Initialize sliders for opacity, area, font, and speed in Danmuku settings * feat: Add slider UI for opacity, area, and speed in Danmuku settings * feat: Update slider styles in Danmuku settings for better visibility and configurability * refactor: Improve Danmuku settings UI for better visibility and configurability * refactor: Improve Danmuku settings UI for better visibility and configurability * refactor: Update slider styles in Danmuku settings for better visibility and configurability * refactor: Update margin slider initialization in Danmuku settings * refactor: Update slider styles and initialization in Danmuku settings * refactor: Update Danmuku class to support configurable visibility * refactor: Update Danmuku class to support configurable visibility * refactor: Update Danmuku class to support configurable visibility * refactor: Update Danmuku class to support configurable visibility * refactor: Update Danmuku settings UI for better visibility and configurability * refactor: Update Danmuku settings UI for better visibility and configurability * refactor: Update Danmuku settings UI for better visibility and configurability * refactor: Update Danmuku settings UI for better visibility and configurability * refactor: Improve Danmuku settings UI for better visibility and configurability * add lock * refactor: Add lock and unlock methods to Danmuku settings * refactor: Update Danmuku settings UI for better visibility and configurability * refactor: Update Danmuku settings UI for better visibility and configurability * refactor: Update Danmuku settings UI for better visibility and configurability * refactor: Update Danmuku settings UI for better visibility and configurability * Update artplayer-plugin-danmuku.d.ts * refactor: Update Danmuku settings UI for better visibility and configurability * refactor: Update Danmuku settings UI for better visibility and configurability * refactor: Update Danmuku settings UI for better visibility and configurability * refactor: Update Danmuku settings UI for better visibility and configurability * refactor: Update Danmuku settings event listeners * refactor: Update Danmuku settings UI for better visibility and configurability * refactor: Update Danmuku settings UI for better visibility and configurability * refactor: Update Danmuku settings UI for better visibility and configurability * refactor: Update Danmuku settings UI for better visibility and configurability
This commit is contained in:
1 parent
dfd1cf968d
commit
699135afcf
402 files changed
+20804
-17005
No files matched your search
@@ -1,56 +1,54 @@
|
||||
import {
|
||||
useMediaQuery
|
||||
} from "./chunk-JXSPZ7FU.js";
|
||||
} from "./chunk-ZEI2HCB7.js";
|
||||
import {
|
||||
computed,
|
||||
ref,
|
||||
shallowRef,
|
||||
watch
|
||||
} from "./chunk-HBMF7DTD.js";
|
||||
} from "./chunk-RY5ODQAQ.js";
|
||||
|
||||
// node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/index.js
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/styles/fonts.css";
|
||||
// node_modules/vitepress/dist/client/theme-default/index.js
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/styles/fonts.css";
|
||||
|
||||
// node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/without-fonts.js
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/styles/vars.css";
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/styles/base.css";
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/styles/utils.css";
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/styles/components/custom-block.css";
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/styles/components/vp-code.css";
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/styles/components/vp-code-group.css";
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/styles/components/vp-doc.css";
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/styles/components/vp-sponsor.css";
|
||||
import VPBadge from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/components/VPBadge.vue";
|
||||
import Layout from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/Layout.vue";
|
||||
import { default as default2 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/components/VPImage.vue";
|
||||
import { default as default3 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/components/VPButton.vue";
|
||||
import { default as default4 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/components/VPHomeHero.vue";
|
||||
import { default as default5 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/components/VPHomeFeatures.vue";
|
||||
import { default as default6 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/components/VPHomeSponsors.vue";
|
||||
import { default as default7 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/components/VPDocAsideSponsors.vue";
|
||||
import { default as default8 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/components/VPSponsors.vue";
|
||||
import { default as default9 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/components/VPTeamPage.vue";
|
||||
import { default as default10 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/components/VPTeamPageTitle.vue";
|
||||
import { default as default11 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/components/VPTeamPageSection.vue";
|
||||
import { default as default12 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/components/VPTeamMembers.vue";
|
||||
// node_modules/vitepress/dist/client/theme-default/without-fonts.js
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/styles/vars.css";
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/styles/base.css";
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/styles/icons.css";
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/styles/utils.css";
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/styles/components/custom-block.css";
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code.css";
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code-group.css";
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/styles/components/vp-doc.css";
|
||||
import "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/styles/components/vp-sponsor.css";
|
||||
import VPBadge from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue";
|
||||
import Layout from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/Layout.vue";
|
||||
import { default as default2 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue";
|
||||
import { default as default3 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/components/VPImage.vue";
|
||||
import { default as default4 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/components/VPButton.vue";
|
||||
import { default as default5 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/components/VPHomeHero.vue";
|
||||
import { default as default6 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/components/VPHomeFeatures.vue";
|
||||
import { default as default7 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/components/VPHomeSponsors.vue";
|
||||
import { default as default8 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/components/VPDocAsideSponsors.vue";
|
||||
import { default as default9 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/components/VPSponsors.vue";
|
||||
import { default as default10 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/components/VPTeamPage.vue";
|
||||
import { default as default11 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageTitle.vue";
|
||||
import { default as default12 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageSection.vue";
|
||||
import { default as default13 } from "/Users/zhaohaiwei/Desktop/github/ArtPlayer/packages/artplayer-vitepress/node_modules/vitepress/dist/client/theme-default/components/VPTeamMembers.vue";
|
||||
|
||||
// node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/shared.js
|
||||
var inBrowser = typeof document !== "undefined";
|
||||
var KNOWN_EXTENSIONS = new Set("3g2,3gp,7z,aac,abw,ai,aif,aifc,aiff,arc,asf,asr,asx,au,avi,avif,axs,azw,bin,bmp,bz,bz2,c,cda,cer,class,crl,crt,csh,css,csv,dcr,der,dll,doc,docx,eot,eps,epub,exe,gif,gtar,gz,gzip,ico,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,latex,m3u,man,mdb,mht,mhtml,mid,midi,mjs,mov,mp2,mp3,mp4,mpa,mpe,mpeg,mpg,mpkg,mpp,odp,ods,odt,oga,ogv,ogx,opus,otf,p10,p12,p7b,p7c,p7m,p7r,p7s,pbm,pdf,pfx,php,png,ppt,pptx,ps,pub,qt,rar,roff,rtf,rtx,ser,sh,spc,svg,swf,t,tar,tcl,tex,texi,texinfo,tgz,tif,tiff,tr,ts,tsv,ttf,txt,ua,viv,vivo,vsd,wav,weba,webm,webp,woff,woff2,xbm,xhtml,xls,xlsx,xml,xul,zip,conf".split(","));
|
||||
|
||||
// node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/support/utils.js
|
||||
// node_modules/vitepress/dist/client/theme-default/support/utils.js
|
||||
import { withBase } from "vitepress";
|
||||
|
||||
// node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/composables/data.js
|
||||
// node_modules/vitepress/dist/client/theme-default/composables/data.js
|
||||
import { useData as useData$ } from "vitepress";
|
||||
var useData = useData$;
|
||||
|
||||
// node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/support/utils.js
|
||||
// node_modules/vitepress/dist/client/theme-default/support/utils.js
|
||||
function ensureStartingSlash(path) {
|
||||
return /^\//.test(path) ? path : `/${path}`;
|
||||
}
|
||||
|
||||
// node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/support/sidebar.js
|
||||
// node_modules/vitepress/dist/client/theme-default/support/sidebar.js
|
||||
function getSidebar(_sidebar, path) {
|
||||
if (Array.isArray(_sidebar))
|
||||
return addBase(_sidebar);
|
||||
@@ -93,15 +91,7 @@ function addBase(items, _base) {
|
||||
});
|
||||
}
|
||||
|
||||
// node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/composables/hash.js
|
||||
var hashRef = ref(inBrowser ? location.hash : "");
|
||||
if (inBrowser) {
|
||||
window.addEventListener("hashchange", () => {
|
||||
hashRef.value = location.hash;
|
||||
});
|
||||
}
|
||||
|
||||
// node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/composables/sidebar.js
|
||||
// node_modules/vitepress/dist/client/theme-default/composables/sidebar.js
|
||||
function useSidebar() {
|
||||
const { frontmatter, page, theme: theme2 } = useData();
|
||||
const is960 = useMediaQuery("(min-width: 960px)");
|
||||
@@ -158,10 +148,11 @@ function useSidebar() {
|
||||
};
|
||||
}
|
||||
|
||||
// node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/composables/local-nav.js
|
||||
// node_modules/vitepress/dist/client/theme-default/composables/local-nav.js
|
||||
import { onContentUpdated } from "vitepress";
|
||||
|
||||
// node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/composables/outline.js
|
||||
// node_modules/vitepress/dist/client/theme-default/composables/outline.js
|
||||
import { getScrollOffset } from "vitepress";
|
||||
var resolvedHeaders = [];
|
||||
function getHeaders(range) {
|
||||
const headers = [
|
||||
@@ -223,7 +214,7 @@ function resolveHeaders(headers, range) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
// node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/composables/local-nav.js
|
||||
// node_modules/vitepress/dist/client/theme-default/composables/local-nav.js
|
||||
function useLocalNav() {
|
||||
const { theme: theme2, frontmatter } = useData();
|
||||
const headers = shallowRef([]);
|
||||
@@ -239,7 +230,7 @@ function useLocalNav() {
|
||||
};
|
||||
}
|
||||
|
||||
// node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/without-fonts.js
|
||||
// node_modules/vitepress/dist/client/theme-default/without-fonts.js
|
||||
var theme = {
|
||||
Layout,
|
||||
enhanceApp: ({ app }) => {
|
||||
@@ -248,17 +239,18 @@ var theme = {
|
||||
};
|
||||
var without_fonts_default = theme;
|
||||
export {
|
||||
default3 as VPButton,
|
||||
default7 as VPDocAsideSponsors,
|
||||
default5 as VPHomeFeatures,
|
||||
default4 as VPHomeHero,
|
||||
default6 as VPHomeSponsors,
|
||||
default2 as VPImage,
|
||||
default8 as VPSponsors,
|
||||
default12 as VPTeamMembers,
|
||||
default9 as VPTeamPage,
|
||||
default11 as VPTeamPageSection,
|
||||
default10 as VPTeamPageTitle,
|
||||
default2 as VPBadge,
|
||||
default4 as VPButton,
|
||||
default8 as VPDocAsideSponsors,
|
||||
default6 as VPHomeFeatures,
|
||||
default5 as VPHomeHero,
|
||||
default7 as VPHomeSponsors,
|
||||
default3 as VPImage,
|
||||
default9 as VPSponsors,
|
||||
default13 as VPTeamMembers,
|
||||
default10 as VPTeamPage,
|
||||
default12 as VPTeamPageSection,
|
||||
default11 as VPTeamPageTitle,
|
||||
without_fonts_default as default,
|
||||
useLocalNav,
|
||||
useSidebar
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../../../node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/index.js", "../../../../node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/without-fonts.js", "../../../../node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/shared.js", "../../../../node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/support/utils.js", "../../../../node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/composables/data.js", "../../../../node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/support/sidebar.js", "../../../../node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/composables/hash.js", "../../../../node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/composables/sidebar.js", "../../../../node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/composables/local-nav.js", "../../../../node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/composables/outline.js"],
|
||||
"sourcesContent": ["import './styles/fonts.css';\nexport * from './without-fonts';\nexport { default as default } from './without-fonts';\n", "import './styles/vars.css';\nimport './styles/base.css';\nimport './styles/utils.css';\nimport './styles/components/custom-block.css';\nimport './styles/components/vp-code.css';\nimport './styles/components/vp-code-group.css';\nimport './styles/components/vp-doc.css';\nimport './styles/components/vp-sponsor.css';\nimport VPBadge from './components/VPBadge.vue';\nimport Layout from './Layout.vue';\nexport { default as VPImage } from './components/VPImage.vue';\nexport { default as VPButton } from './components/VPButton.vue';\nexport { default as VPHomeHero } from './components/VPHomeHero.vue';\nexport { default as VPHomeFeatures } from './components/VPHomeFeatures.vue';\nexport { default as VPHomeSponsors } from './components/VPHomeSponsors.vue';\nexport { default as VPDocAsideSponsors } from './components/VPDocAsideSponsors.vue';\nexport { default as VPSponsors } from './components/VPSponsors.vue';\nexport { default as VPTeamPage } from './components/VPTeamPage.vue';\nexport { default as VPTeamPageTitle } from './components/VPTeamPageTitle.vue';\nexport { default as VPTeamPageSection } from './components/VPTeamPageSection.vue';\nexport { default as VPTeamMembers } from './components/VPTeamMembers.vue';\nexport { useSidebar } from './composables/sidebar';\nexport { useLocalNav } from './composables/local-nav';\nconst theme = {\n Layout,\n enhanceApp: ({ app }) => {\n app.component('Badge', VPBadge);\n }\n};\nexport default theme;\n", "export const EXTERNAL_URL_RE = /^(?:[a-z]+:|\\/\\/)/i;\nexport const APPEARANCE_KEY = 'vitepress-theme-appearance';\nexport const HASH_RE = /#.*$/;\nexport const EXT_RE = /(index)?\\.(md|html)$/;\nexport const inBrowser = typeof document !== 'undefined';\nexport const notFoundPageData = {\n relativePath: '',\n filePath: '',\n title: '404',\n description: 'Not Found',\n headers: [],\n frontmatter: { sidebar: false, layout: 'page' },\n lastUpdated: 0,\n isNotFound: true\n};\nexport function isActive(currentPath, matchPath, asRegex = false) {\n if (matchPath === undefined) {\n return false;\n }\n currentPath = normalize(`/${currentPath}`);\n if (asRegex) {\n return new RegExp(matchPath).test(currentPath);\n }\n if (normalize(matchPath) !== currentPath) {\n return false;\n }\n const hashMatch = matchPath.match(HASH_RE);\n if (hashMatch) {\n return (inBrowser ? location.hash : '') === hashMatch[0];\n }\n return true;\n}\nexport function normalize(path) {\n return decodeURI(path).replace(HASH_RE, '').replace(EXT_RE, '');\n}\nexport function isExternal(path) {\n return EXTERNAL_URL_RE.test(path);\n}\n/**\n * this merges the locales data to the main data by the route\n */\nexport function resolveSiteDataByRoute(siteData, relativePath) {\n const localeIndex = Object.keys(siteData.locales).find((key) => key !== 'root' &&\n !isExternal(key) &&\n isActive(relativePath, `/${key}/`, true)) || 'root';\n return Object.assign({}, siteData, {\n localeIndex,\n lang: siteData.locales[localeIndex]?.lang ?? siteData.lang,\n dir: siteData.locales[localeIndex]?.dir ?? siteData.dir,\n title: siteData.locales[localeIndex]?.title ?? siteData.title,\n titleTemplate: siteData.locales[localeIndex]?.titleTemplate ?? siteData.titleTemplate,\n description: siteData.locales[localeIndex]?.description ?? siteData.description,\n head: mergeHead(siteData.head, siteData.locales[localeIndex]?.head ?? []),\n themeConfig: {\n ...siteData.themeConfig,\n ...siteData.locales[localeIndex]?.themeConfig\n }\n });\n}\n/**\n * Create the page title string based on config.\n */\nexport function createTitle(siteData, pageData) {\n const title = pageData.title || siteData.title;\n const template = pageData.titleTemplate ?? siteData.titleTemplate;\n if (typeof template === 'string' && template.includes(':title')) {\n return template.replace(/:title/g, title);\n }\n const templateString = createTitleTemplate(siteData.title, template);\n if (title === templateString.slice(3)) {\n return title;\n }\n return `${title}${templateString}`;\n}\nfunction createTitleTemplate(siteTitle, template) {\n if (template === false) {\n return '';\n }\n if (template === true || template === undefined) {\n return ` | ${siteTitle}`;\n }\n if (siteTitle === template) {\n return '';\n }\n return ` | ${template}`;\n}\nfunction hasTag(head, tag) {\n const [tagType, tagAttrs] = tag;\n if (tagType !== 'meta')\n return false;\n const keyAttr = Object.entries(tagAttrs)[0]; // First key\n if (keyAttr == null)\n return false;\n return head.some(([type, attrs]) => type === tagType && attrs[keyAttr[0]] Line truncated
|
||||
"mappings": "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",
|
||||
"sources": ["../../../../node_modules/vitepress/dist/client/theme-default/index.js", "../../../../node_modules/vitepress/dist/client/theme-default/without-fonts.js", "../../../../node_modules/vitepress/dist/client/theme-default/support/utils.js", "../../../../node_modules/vitepress/dist/client/theme-default/composables/data.js", "../../../../node_modules/vitepress/dist/client/theme-default/support/sidebar.js", "../../../../node_modules/vitepress/dist/client/theme-default/composables/sidebar.js", "../../../../node_modules/vitepress/dist/client/theme-default/composables/local-nav.js", "../../../../node_modules/vitepress/dist/client/theme-default/composables/outline.js"],
|
||||
"sourcesContent": ["import './styles/fonts.css';\nexport * from './without-fonts';\nexport { default as default } from './without-fonts';\n", "import './styles/vars.css';\nimport './styles/base.css';\nimport './styles/icons.css';\nimport './styles/utils.css';\nimport './styles/components/custom-block.css';\nimport './styles/components/vp-code.css';\nimport './styles/components/vp-code-group.css';\nimport './styles/components/vp-doc.css';\nimport './styles/components/vp-sponsor.css';\nimport VPBadge from './components/VPBadge.vue';\nimport Layout from './Layout.vue';\nexport { default as VPBadge } from './components/VPBadge.vue';\nexport { default as VPImage } from './components/VPImage.vue';\nexport { default as VPButton } from './components/VPButton.vue';\nexport { default as VPHomeHero } from './components/VPHomeHero.vue';\nexport { default as VPHomeFeatures } from './components/VPHomeFeatures.vue';\nexport { default as VPHomeSponsors } from './components/VPHomeSponsors.vue';\nexport { default as VPDocAsideSponsors } from './components/VPDocAsideSponsors.vue';\nexport { default as VPSponsors } from './components/VPSponsors.vue';\nexport { default as VPTeamPage } from './components/VPTeamPage.vue';\nexport { default as VPTeamPageTitle } from './components/VPTeamPageTitle.vue';\nexport { default as VPTeamPageSection } from './components/VPTeamPageSection.vue';\nexport { default as VPTeamMembers } from './components/VPTeamMembers.vue';\nexport { useSidebar } from './composables/sidebar';\nexport { useLocalNav } from './composables/local-nav';\nconst theme = {\n Layout,\n enhanceApp: ({ app }) => {\n app.component('Badge', VPBadge);\n }\n};\nexport default theme;\n", "import { withBase } from 'vitepress';\nimport { useData } from '../composables/data';\nimport { isExternal, treatAsHtml } from '../../shared';\nexport function throttleAndDebounce(fn, delay) {\n let timeoutId;\n let called = false;\n return () => {\n if (timeoutId)\n clearTimeout(timeoutId);\n if (!called) {\n fn();\n (called = true) && setTimeout(() => (called = false), delay);\n }\n else\n timeoutId = setTimeout(fn, delay);\n };\n}\nexport function ensureStartingSlash(path) {\n return /^\\//.test(path) ? path : `/${path}`;\n}\nexport function normalizeLink(url) {\n const { pathname, search, hash, protocol } = new URL(url, 'http://a.com');\n if (isExternal(url) ||\n url.startsWith('#') ||\n !protocol.startsWith('http') ||\n !treatAsHtml(pathname))\n return url;\n const { site } = useData();\n const normalizedPath = pathname.endsWith('/') || pathname.endsWith('.html')\n ? url\n : url.replace(/(?:(^\\.+)\\/)?.*$/, `$1${pathname.replace(/(\\.md)?$/, site.value.cleanUrls ? '' : '.html')}${search}${hash}`);\n return withBase(normalizedPath);\n}\n", "import { useData as useData$ } from 'vitepress';\nexport const useData = useData$;\n", "import { ensureStartingSlash } from './utils';\nimport { isActive } from '../../shared';\n/**\n * Get the `Sidebar` from sidebar option. This method will ensure to get correct\n * sidebar config from `MultiSideBarConfig` with various path combinations such\n * as matching `guide/` and `/guide/`. If no matching config was found, it will\n * return empty array.\n */\nexport function getSidebar(_sidebar, path) {\n if (Array.isArray(_sidebar))\n return addBase(_sidebar);\n if (_sidebar == null)\n return [];\n path = ensureStartingSlash(path);\n const dir = Object.keys(_sidebar)\n .sort((a, b) => {\n return b.split('/').length - a.split('/').length;\n })\n .find((dir) => {\n // make sure the multi sidebar key starts with slash too\n return path.startsWith(ensureStartingSlash(dir));\n });\n const sidebar = dir ? _sidebar[dir] : [];\n return Array.isArray(sidebar)\n ? addBase(sidebar)\n : addBase(sidebar.items, sidebar.base);\n}\n/**\n * Get or generate sidebar group from the given sidebar items.\n */\nexport function getSidebarGroups(sidebar) {\n const groups = [];\n let lastGroupIndex = 0;\n for (const index in sidebar) {\n const item = sidebar[index];\n if (item.items) {\n lastGroupIndex = groups.push(item);\n continue;\n }\n if (!groups[lastGroupIndex]) {\n groups.push({ items: [] });\n }\n groups[lastGroupIndex].items.push(item);\n }\n return groups;\n}\nexport function getFlatSideBarLinks(sidebar) {\n const links = [];\n function recursivelyExtractLinks(items) {\n for (const item of items) {\n if (item.text && item.link) {\n links.push({\n text: item.text,\n link: item.link,\n docFooterText: item.docFooterText\n });\n }\n if (item.items) {\n Line truncated
|
||||
"mappings": ";;;;;;;;;;;AAAA,OAAO;;;ACAP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO,aAAa;AACpB,OAAO,YAAY;AACnB,SAAoB,WAAXA,gBAA0B;AACnC,SAAoB,WAAXA,gBAA0B;AACnC,SAAoB,WAAXA,gBAA2B;AACpC,SAAoB,WAAXA,gBAA6B;AACtC,SAAoB,WAAXA,gBAAiC;AAC1C,SAAoB,WAAXA,gBAAiC;AAC1C,SAAoB,WAAXA,gBAAqC;AAC9C,SAAoB,WAAXA,gBAA6B;AACtC,SAAoB,WAAXA,iBAA6B;AACtC,SAAoB,WAAXA,iBAAkC;AAC3C,SAAoB,WAAXA,iBAAoC;AAC7C,SAAoB,WAAXA,iBAAgC;;;ACtBzC,SAAS,gBAAgB;;;ACAzB,SAAS,WAAW,gBAAgB;AAC7B,IAAM,UAAU;;;ADgBhB,SAAS,oBAAoB,MAAM;AACtC,SAAO,MAAM,KAAK,IAAI,IAAI,OAAO,IAAI,IAAI;AAC7C;;;AEXO,SAAS,WAAW,UAAU,MAAM;AACvC,MAAI,MAAM,QAAQ,QAAQ;AACtB,WAAO,QAAQ,QAAQ;AAC3B,MAAI,YAAY;AACZ,WAAO,CAAC;AACZ,SAAO,oBAAoB,IAAI;AAC/B,QAAM,MAAM,OAAO,KAAK,QAAQ,EAC3B,KAAK,CAAC,GAAG,MAAM;AAChB,WAAO,EAAE,MAAM,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE;AAAA,EAC9C,CAAC,EACI,KAAK,CAACC,SAAQ;AAEf,WAAO,KAAK,WAAW,oBAAoBA,IAAG,CAAC;AAAA,EACnD,CAAC;AACD,QAAM,UAAU,MAAM,SAAS,GAAG,IAAI,CAAC;AACvC,SAAO,MAAM,QAAQ,OAAO,IACtB,QAAQ,OAAO,IACf,QAAQ,QAAQ,OAAO,QAAQ,IAAI;AAC7C;AAIO,SAAS,iBAAiB,SAAS;AACtC,QAAM,SAAS,CAAC;AAChB,MAAI,iBAAiB;AACrB,aAAW,SAAS,SAAS;AACzB,UAAM,OAAO,QAAQ,KAAK;AAC1B,QAAI,KAAK,OAAO;AACZ,uBAAiB,OAAO,KAAK,IAAI;AACjC;AAAA,IACJ;AACA,QAAI,CAAC,OAAO,cAAc,GAAG;AACzB,aAAO,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;AAAA,IAC7B;AACA,WAAO,cAAc,EAAE,MAAM,KAAK,IAAI;AAAA,EAC1C;AACA,SAAO;AACX;AAiCA,SAAS,QAAQ,OAAO,OAAO;AAC3B,SAAO,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,UAAU;AAC7B,UAAM,OAAO,EAAE,GAAG,MAAM;AACxB,UAAM,OAAO,KAAK,QAAQ;AAC1B,QAAI,QAAQ,KAAK;AACb,WAAK,OAAO,OAAO,KAAK;AAC5B,QAAI,KAAK;AACL,WAAK,QAAQ,QAAQ,KAAK,OAAO,IAAI;AACzC,WAAO;AAAA,EACX,CAAC;AACL;;;ACnFO,SAAS,aAAa;AACzB,QAAM,EAAE,aAAa,MAAM,OAAAC,OAAM,IAAI,QAAQ;AAC7C,QAAM,QAAQ,cAAc,oBAAoB;AAChD,QAAM,SAAS,IAAI,KAAK;AACxB,QAAM,WAAW,SAAS,MAAM;AAC5B,UAAM,gBAAgBA,OAAM,MAAM;AAClC,UAAM,eAAe,KAAK,MAAM;AAChC,WAAO,gBAAgB,WAAW,eAAe,YAAY,IAAI,CAAC;AAAA,EACtE,CAAC;AACD,QAAM,UAAU,IAAI,SAAS,KAAK;AAClC,QAAM,UAAU,CAAC,MAAM,SAAS;AAC5B,QAAI,KAAK,UAAU,IAAI,MAAM,KAAK,UAAU,IAAI;AAC5C,cAAQ,QAAQ,SAAS;AAAA,EACjC,CAAC;AACD,QAAM,aAAa,SAAS,MAAM;AAC9B,WAAQ,YAAY,MAAM,YAAY,SAClC,QAAQ,MAAM,SAAS,KACvB,YAAY,MAAM,WAAW;AAAA,EACrC,CAAC;AACD,QAAM,YAAY,SAAS,MAAM;AAC7B,QAAI;AACA,aAAO,YAAY,MAAM,SAAS,OAC5BA,OAAM,MAAM,UAAU,SACtB,YAAY,MAAM,UAAU;AACtC,WAAO;AAAA,EACX,CAAC;AACD,QAAM,WAAW,SAAS,MAAM;AAC5B,QAAI,YAAY,MAAM,WAAW;AAC7B,aAAO;AACX,QAAI,YAAY,MAAM,SAAS;AAC3B,aAAO,CAAC,CAAC,YAAY,MAAM;AAC/B,WAAOA,OAAM,MAAM,UAAU;AAAA,EACjC,CAAC;AACD,QAAM,mBAAmB,SAAS,MAAM,WAAW,SAAS,MAAM,KAAK;AACvE,QAAM,gBAAgB,SAAS,MAAM;AACjC,WAAO,WAAW,QAAQ,iBAAiB,QAAQ,KAAK,IAAI,CAAC;AAAA,EACjE,CAAC;AACD,WAAS,OAAO;AACZ,WAAO,QAAQ;AAAA,EACnB;AACA,WAAS,QAAQ;AACb,WAAO,QAAQ;AAAA,EACnB;AACA,WAAS,SAAS;AACd,WAAO,QAAQ,MAAM,IAAI,KAAK;AAAA,EAClC;AACA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;;;AC/DA,SAAS,wBAAwB;;;ACAjC,SAAS,uBAAuB;AAKhC,IAAM,kBAAkB,CAAC;AAQlB,SAAS,WAAW,OAAO;AAC9B,QAAM,UAAU;AAAA,IACZ,GAAG,SAAS,iBAAiB,kCAAkC;AAAA,EACnE,EACK,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,cAAc,CAAC,EAC1C,IAAI,CAAC,OAAO;AACb,UAAM,QAAQ,OAAO,GAAG,QAAQ,CAAC,CAAC;AAClC,WAAO;AAAA,MACH,SAAS;AAAA,MACT,OAAO,gBAAgB,EAAE;AAAA,MACzB,MAAM,MAAM,GAAG;AAAA,MACf;AAAA,IACJ;AAAA,EACJ,CAAC;AACD,SAAO,eAAe,SAAS,KAAK;AACxC;AACA,SAAS,gBAAgB,GAAG;AACxB,MAAI,MAAM;AACV,aAAW,QAAQ,EAAE,YAAY;AAC7B,QAAI,KAAK,aAAa,GAAG;AACrB,UAAI,KAAK,UAAU,SAAS,SAAS,KACjC,KAAK,UAAU,SAAS,eAAe,KACvC,KAAK,UAAU,SAAS,eAAe,GAAG;AAC1C;AAAA,MACJ;AACA,aAAO,KAAK;AAAA,IAChB,WACS,KAAK,aAAa,GAAG;AAC1B,aAAO,KAAK;AAAA,IAChB;AAAA,EACJ;AACA,SAAO,IAAI,KAAK;AACpB;AACO,SAAS,eAAe,SAAS,OAAO;AAC3C,MAAI,UAAU,OAAO;AACjB,WAAO,CAAC;AAAA,EACZ;AACA,QAAM,eAAe,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK,IAChE,MAAM,QACN,UAAU;AAChB,QAAM,CAAC,MAAM,GAAG,IAAI,OAAO,gBAAgB,WACrC,CAAC,aAAa,WAAW,IACzB,gBAAgB,SACZ,CAAC,GAAG,CAAC,IACL;AACV,YAAU,QAAQ,OAAO,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,SAAS,GAAG;AAEjE,kBAAgB,SAAS;AAEzB,aAAW,EAAE,SAAS,KAAK,KAAK,SAAS;AACrC,oBAAgB,KAAK,EAAE,SAAS,KAAK,CAAC;AAAA,EAC1C;AACA,QAAM,MAAM,CAAC;AACb;AAAO,aAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AAC5C,YAAM,MAAM,QAAQ,CAAC;AACrB,UAAI,MAAM,GAAG;AACT,YAAI,KAAK,GAAG;AAAA,MAChB,OACK;AACD,iBAAS,IAAI,IAAI,GAAG,KAAK,GAAG,KAAK;AAC7B,gBAAM,OAAO,QAAQ,CAAC;AACtB,cAAI,KAAK,QAAQ,IAAI,OAAO;AACxB;AACA,aAAC,KAAK,aAAa,KAAK,WAAW,CAAC,IAAI,KAAK,GAAG;AAChD,qBAAS;AAAA,UACb;AAAA,QACJ;AACA,YAAI,KAAK,GAAG;AAAA,MAChB;AAAA,IACJ;AACA,SAAO;AACX;;;ADhFO,SAAS,cAAc;AAC1B,QAAM,EAAE,OAAAC,QAAO,YAAY,IAAI,QAAQ;AACvC,QAAM,UAAU,WAAW,CAAC,CAAC;AAC7B,QAAM,cAAc,SAAS,MAAM;AAC/B,WAAO,QAAQ,MAAM,SAAS;AAAA,EAClC,CAAC;AACD,mBAAiB,MAAM;AACnB,YAAQ,QAAQ,WAAW,YAAY,MAAM,WAAWA,OAAM,MAAM,OAAO;AAAA,EAC/E,CAAC;AACD,SAAO;AAAA,IACH;AAAA,IACA;AAAA,EACJ;AACJ;;;ALQA,IAAM,QAAQ;AAAA,EACV;AAAA,EACA,YAAY,CAAC,EAAE,IAAI,MAAM;AACrB,QAAI,UAAU,SAAS,OAAO;AAAA,EAClC;AACJ;AACA,IAAO,wBAAQ;",
|
||||
"names": ["default", "dir", "theme", "theme"]
|
||||
}
|
||||
@@ -1,40 +1,40 @@
|
||||
{
|
||||
"hash": "eeb120b6",
|
||||
"configHash": "40757742",
|
||||
"lockfileHash": "d75c23ab",
|
||||
"browserHash": "34069683",
|
||||
"hash": "8884d6be",
|
||||
"configHash": "946bf1d9",
|
||||
"lockfileHash": "b7b1f3f6",
|
||||
"browserHash": "0ac2a31b",
|
||||
"optimized": {
|
||||
"vue": {
|
||||
"src": "../../../../node_modules/_vue@3.4.7@vue/dist/vue.runtime.esm-bundler.js",
|
||||
"src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
|
||||
"file": "vue.js",
|
||||
"fileHash": "c0fdc911",
|
||||
"fileHash": "40b31d8f",
|
||||
"needsInterop": false
|
||||
},
|
||||
"vitepress > @vue/devtools-api": {
|
||||
"src": "../../../../node_modules/_@vue_devtools-api@6.5.1@@vue/devtools-api/lib/esm/index.js",
|
||||
"src": "../../../../node_modules/@vue/devtools-api/dist/index.js",
|
||||
"file": "vitepress___@vue_devtools-api.js",
|
||||
"fileHash": "e3cffb2c",
|
||||
"fileHash": "45f9c130",
|
||||
"needsInterop": false
|
||||
},
|
||||
"vitepress > @vueuse/core": {
|
||||
"src": "../../../../node_modules/_@vueuse_core@10.7.1@@vueuse/core/index.mjs",
|
||||
"src": "../../../../node_modules/@vueuse/core/index.mjs",
|
||||
"file": "vitepress___@vueuse_core.js",
|
||||
"fileHash": "89170fa2",
|
||||
"fileHash": "2e254b18",
|
||||
"needsInterop": false
|
||||
},
|
||||
"@theme/index": {
|
||||
"src": "../../../../node_modules/_vitepress@1.0.0-rc.36@vitepress/dist/client/theme-default/index.js",
|
||||
"src": "../../../../node_modules/vitepress/dist/client/theme-default/index.js",
|
||||
"file": "@theme_index.js",
|
||||
"fileHash": "c4a83b29",
|
||||
"fileHash": "9c3a6e0f",
|
||||
"needsInterop": false
|
||||
}
|
||||
},
|
||||
"chunks": {
|
||||
"chunk-JXSPZ7FU": {
|
||||
"file": "chunk-JXSPZ7FU.js"
|
||||
"chunk-ZEI2HCB7": {
|
||||
"file": "chunk-ZEI2HCB7.js"
|
||||
},
|
||||
"chunk-HBMF7DTD": {
|
||||
"file": "chunk-HBMF7DTD.js"
|
||||
"chunk-RY5ODQAQ": {
|
||||
"file": "chunk-RY5ODQAQ.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../../../node_modules/_@vue_shared@3.4.7@@vue/shared/dist/shared.esm-bundler.js", "../../../../node_modules/_@vue_reactivity@3.4.7@@vue/reactivity/dist/reactivity.esm-bundler.js", "../../../../node_modules/_@vue_runtime-core@3.4.7@@vue/runtime-core/dist/runtime-core.esm-bundler.js", "../../../../node_modules/_@vue_runtime-dom@3.4.7@@vue/runtime-dom/dist/runtime-dom.esm-bundler.js", "../../../../node_modules/_vue@3.4.7@vue/dist/vue.runtime.esm-bundler.js"],
|
||||
"sourcesContent": ["function makeMap(str, expectsLowerCase) {\n const set = new Set(str.split(\",\"));\n return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val);\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction((str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n});\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n};\nconst def = (obj, key, value) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"HOISTED\": -1,\n \"-1\": \"HOISTED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [Line truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["set", "effect", "trigger", "computed", "computed", "hasOwnProperty", "isReadonly", "isShallow", "self", "get", "set", "p", "version", "isModelListener", "emit", "render", "render2", "remove", "effect", "callHook", "resolve", "has", "track", "trigger", "get", "set", "computed", "h", "hydrate", "createApp", "ref", "patchProp", "hasWarned", "remove2", "isFlushing", "isShallow", "warn", "callHook", "resolve", "warn", "isBoolean", "def", "enterCbKey", "compile", "warn"]
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../../../node_modules/_vue-demi@0.14.6@vue-demi/lib/index.mjs", "../../../../node_modules/_@vueuse_shared@10.7.1@@vueuse/shared/index.mjs", "../../../../node_modules/_@vueuse_core@10.7.1@@vueuse/core/index.mjs"],
|
||||
"sourcesContent": ["import * as Vue from 'vue'\n\nvar isVue2 = false\nvar isVue3 = true\nvar Vue2 = undefined\n\nfunction install() {}\n\nexport function set(target, key, val) {\n if (Array.isArray(target)) {\n target.length = Math.max(target.length, key)\n target.splice(key, 1, val)\n return val\n }\n target[key] = val\n return val\n}\n\nexport function del(target, key) {\n if (Array.isArray(target)) {\n target.splice(key, 1)\n return\n }\n delete target[key]\n}\n\nexport * from 'vue'\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n}\n", "import { shallowRef, watchEffect, readonly, ref, watch, customRef, getCurrentScope, onScopeDispose, effectScope, getCurrentInstance, provide, inject, isVue3, version, isRef, unref, computed, reactive, toRefs as toRefs$1, toRef as toRef$1, isVue2, set as set$1, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\n\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, {\n ...options,\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n });\n return readonly(result);\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = typeof fn === \"function\" ? fn : fn.get;\n const set = typeof fn === \"function\" ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get();\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = /* @__PURE__ */ new Set();\n const off = (fn) => {\n fns.delete(fn);\n };\n const on = (fn) => {\n fns.add(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (...args) => {\n return Promise.all(Array.from(fns).map((fn) => fn(...args)));\n };\n return {\n on,\n off,\n trigger\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return (...args) => {\n if (!initialized) {\n state = scope.run(() => stateFactory(...args));\n initialized = true;\n }\n return state;\n };\n}\n\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\n\nconst provideLocal = (key, value) => {\n var _a;\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"provideLocal must be called in setup\");\n if (!localProvidedStateMap.has(instance))\n localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null));\n const localProvidedState = localProvidedStateMap.get(instance);\n localProvidedState[key] = value;\n provide(key, value);\n};\n\nconst injectLocal = (...args) => {\n var _a;\n const key = args[0];\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"injectLocal must be called in setup\");\n if (localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance))\n return localProvidedStateMap.get(instance)[key];\n return inject(...args);\n};\n\nfunction createInjectionState(composable, options) {\n const key = (options == null ? void 0 : options.injectionKey) || Symbol(\"InjectionState\");\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provideLocal(key, state);\n return state;\n };\n const useInjectedState = () => injectLocal(key);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!state) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] extendRef only works in Vue 2.7 or above.\");\n return;\n }\nLine truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["get", "set", "ref", "keys", "invoke", "toRef", "toRefs", "events", "window", "document", "timestamp", "getValue", "defaults", "toRef", "set", "onUpdated", "preventDefault", "toRefs", "now", "scrollTo", "keys", "get", "isReadonly"]
|
||||
}
|
||||
+485
-327
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../../../node_modules/@vue/shared/dist/shared.esm-bundler.js", "../../../../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js", "../../../../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js", "../../../../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js", "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js"],
|
||||
"sourcesContent": ["/**\n* @vue/shared v3.4.27\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str, expectsLowerCase) {\n const set = new Set(str.split(\",\"));\n return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val);\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction((str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n});\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"HOISTED\": -1,\n \"-1\": \"HOISTED\",\n \"BAIL\": -2,\n \"-Line truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["set", "effect", "trigger", "computed", "computed", "hasOwnProperty", "isReadonly", "isShallow", "self", "get", "set", "p", "version", "isModelListener", "emit", "render", "render2", "remove", "effect", "callHook", "resolve", "has", "get", "set", "computed", "h", "hydrate", "createApp", "ref", "patchProp", "hasWarned", "remove2", "isFlushing", "track", "trigger", "warn", "callHook", "resolve", "warn", "isBoolean", "def", "enterCbKey", "compile", "warn"]
|
||||
}
|
||||
+313
-177
@@ -33,9 +33,9 @@ import {
|
||||
version,
|
||||
watch,
|
||||
watchEffect
|
||||
} from "./chunk-HBMF7DTD.js";
|
||||
} from "./chunk-RY5ODQAQ.js";
|
||||
|
||||
// node_modules/_vue-demi@0.14.6@vue-demi/lib/index.mjs
|
||||
// node_modules/vitepress/lib/vue-demi.mjs
|
||||
var isVue2 = false;
|
||||
var isVue3 = true;
|
||||
function set(target, key, val) {
|
||||
@@ -55,7 +55,7 @@ function del(target, key) {
|
||||
delete target[key];
|
||||
}
|
||||
|
||||
// node_modules/_@vueuse_shared@10.7.1@@vueuse/shared/index.mjs
|
||||
// node_modules/@vueuse/shared/index.mjs
|
||||
function computedEager(fn, options) {
|
||||
var _a;
|
||||
const result = shallowRef();
|
||||
@@ -164,7 +164,7 @@ var injectLocal = (...args) => {
|
||||
return inject(...args);
|
||||
};
|
||||
function createInjectionState(composable, options) {
|
||||
const key = (options == null ? void 0 : options.injectionKey) || Symbol("InjectionState");
|
||||
const key = (options == null ? void 0 : options.injectionKey) || Symbol(composable.name || "InjectionState");
|
||||
const useProvidingState = (...args) => {
|
||||
const state = composable(...args);
|
||||
provideLocal(key, state);
|
||||
@@ -398,12 +398,20 @@ function debounceFilter(ms, options = {}) {
|
||||
};
|
||||
return filter;
|
||||
}
|
||||
function throttleFilter(ms, trailing = true, leading = true, rejectOnCancel = false) {
|
||||
function throttleFilter(...args) {
|
||||
let lastExec = 0;
|
||||
let timer;
|
||||
let isLeading = true;
|
||||
let lastRejector = noop;
|
||||
let lastValue;
|
||||
let ms;
|
||||
let trailing;
|
||||
let leading;
|
||||
let rejectOnCancel;
|
||||
if (!isRef(args[0]) && typeof args[0] === "object")
|
||||
({ delay: ms, trailing = true, leading = true, rejectOnCancel = false } = args[0]);
|
||||
else
|
||||
[ms, trailing = true, leading = true, rejectOnCancel = false] = args;
|
||||
const clear = () => {
|
||||
if (timer) {
|
||||
clearTimeout(timer);
|
||||
@@ -1045,8 +1053,8 @@ function useCounter(initialValue = 0, options = {}) {
|
||||
max = Number.POSITIVE_INFINITY,
|
||||
min = Number.NEGATIVE_INFINITY
|
||||
} = options;
|
||||
const inc = (delta = 1) => count.value = Math.min(max, count.value + delta);
|
||||
const dec = (delta = 1) => count.value = Math.max(min, count.value - delta);
|
||||
const inc = (delta = 1) => count.value = Math.max(Math.min(max, count.value + delta), min);
|
||||
const dec = (delta = 1) => count.value = Math.min(Math.max(min, count.value - delta), max);
|
||||
const get2 = () => count.value;
|
||||
const set3 = (val) => count.value = Math.max(min, Math.min(max, val));
|
||||
const reset = (val = _initialValue) => {
|
||||
@@ -1526,17 +1534,24 @@ function getOldValue(source) {
|
||||
return Array.isArray(source) ? source.map(() => void 0) : void 0;
|
||||
}
|
||||
function whenever(source, cb, options) {
|
||||
return watch(
|
||||
const stop = watch(
|
||||
source,
|
||||
(v, ov, onInvalidate) => {
|
||||
if (v)
|
||||
if (v) {
|
||||
if (options == null ? void 0 : options.once)
|
||||
nextTick(() => stop());
|
||||
cb(v, ov, onInvalidate);
|
||||
}
|
||||
},
|
||||
options
|
||||
{
|
||||
...options,
|
||||
once: false
|
||||
}
|
||||
);
|
||||
return stop;
|
||||
}
|
||||
|
||||
// node_modules/_@vueuse_core@10.7.1@@vueuse/core/index.mjs
|
||||
// node_modules/@vueuse/core/index.mjs
|
||||
function computedAsync(evaluationCallback, initialState, optionsOrRef) {
|
||||
let options;
|
||||
if (isRef(optionsOrRef)) {
|
||||
@@ -2001,26 +2016,28 @@ function useActiveElement(options = {}) {
|
||||
}
|
||||
return element;
|
||||
};
|
||||
const activeElement = computedWithControl(
|
||||
() => null,
|
||||
() => getDeepActiveElement()
|
||||
);
|
||||
const activeElement = ref();
|
||||
const trigger = () => {
|
||||
activeElement.value = getDeepActiveElement();
|
||||
};
|
||||
if (window2) {
|
||||
useEventListener(window2, "blur", (event) => {
|
||||
if (event.relatedTarget !== null)
|
||||
return;
|
||||
activeElement.trigger();
|
||||
trigger();
|
||||
}, true);
|
||||
useEventListener(window2, "focus", activeElement.trigger, true);
|
||||
useEventListener(window2, "focus", trigger, true);
|
||||
}
|
||||
trigger();
|
||||
return activeElement;
|
||||
}
|
||||
function useMounted() {
|
||||
const isMounted = ref(false);
|
||||
if (getCurrentInstance()) {
|
||||
const instance = getCurrentInstance();
|
||||
if (instance) {
|
||||
onMounted(() => {
|
||||
isMounted.value = true;
|
||||
});
|
||||
}, isVue2 ? null : instance);
|
||||
}
|
||||
return isMounted;
|
||||
}
|
||||
@@ -2044,18 +2061,21 @@ function useRafFn(fn, options = {}) {
|
||||
function loop(timestamp2) {
|
||||
if (!isActive.value || !window2)
|
||||
return;
|
||||
const delta = timestamp2 - (previousFrameTimestamp || timestamp2);
|
||||
if (!previousFrameTimestamp)
|
||||
previousFrameTimestamp = timestamp2;
|
||||
const delta = timestamp2 - previousFrameTimestamp;
|
||||
if (intervalLimit && delta < intervalLimit) {
|
||||
rafId = window2.requestAnimationFrame(loop);
|
||||
return;
|
||||
}
|
||||
fn({ delta, timestamp: timestamp2 });
|
||||
previousFrameTimestamp = timestamp2;
|
||||
fn({ delta, timestamp: timestamp2 });
|
||||
rafId = window2.requestAnimationFrame(loop);
|
||||
}
|
||||
function resume() {
|
||||
if (!isActive.value && window2) {
|
||||
isActive.value = true;
|
||||
previousFrameTimestamp = 0;
|
||||
rafId = window2.requestAnimationFrame(loop);
|
||||
}
|
||||
}
|
||||
@@ -2224,7 +2244,8 @@ function useAnimate(target, keyframes, options) {
|
||||
const el = unrefElement(target);
|
||||
if (!isSupported.value || !el)
|
||||
return;
|
||||
animate.value = el.animate(toValue(keyframes), animateOptions);
|
||||
if (!animate.value)
|
||||
animate.value = el.animate(toValue(keyframes), animateOptions);
|
||||
if (commitStyles)
|
||||
animate.value.commitStyles();
|
||||
if (persist)
|
||||
@@ -2504,7 +2525,7 @@ function blobToBase64(blob) {
|
||||
function useBattery(options = {}) {
|
||||
const { navigator = defaultNavigator } = options;
|
||||
const events2 = ["chargingchange", "chargingtimechange", "dischargingtimechange", "levelchange"];
|
||||
const isSupported = useSupported(() => navigator && "getBattery" in navigator);
|
||||
const isSupported = useSupported(() => navigator && "getBattery" in navigator && typeof navigator.getBattery === "function");
|
||||
const charging = ref(false);
|
||||
const chargingTime = ref(0);
|
||||
const dischargingTime = ref(0);
|
||||
@@ -2650,12 +2671,22 @@ var breakpointsBootstrapV5 = {
|
||||
xl: 1200,
|
||||
xxl: 1400
|
||||
};
|
||||
var breakpointsVuetify = {
|
||||
xs: 600,
|
||||
sm: 960,
|
||||
md: 1264,
|
||||
lg: 1904
|
||||
var breakpointsVuetifyV2 = {
|
||||
xs: 0,
|
||||
sm: 600,
|
||||
md: 960,
|
||||
lg: 1264,
|
||||
xl: 1904
|
||||
};
|
||||
var breakpointsVuetifyV3 = {
|
||||
xs: 0,
|
||||
sm: 600,
|
||||
md: 960,
|
||||
lg: 1280,
|
||||
xl: 1920,
|
||||
xxl: 2560
|
||||
};
|
||||
var breakpointsVuetify = breakpointsVuetifyV2;
|
||||
var breakpointsAntDesign = {
|
||||
xs: 480,
|
||||
sm: 576,
|
||||
@@ -2665,10 +2696,11 @@ var breakpointsAntDesign = {
|
||||
xxl: 1600
|
||||
};
|
||||
var breakpointsQuasar = {
|
||||
xs: 600,
|
||||
sm: 1024,
|
||||
md: 1440,
|
||||
lg: 1920
|
||||
xs: 0,
|
||||
sm: 600,
|
||||
md: 1024,
|
||||
lg: 1440,
|
||||
xl: 1920
|
||||
};
|
||||
var breakpointsSematic = {
|
||||
mobileS: 320,
|
||||
@@ -2699,14 +2731,14 @@ var breakpointsPrimeFlex = {
|
||||
};
|
||||
function useBreakpoints(breakpoints, options = {}) {
|
||||
function getValue2(k, delta) {
|
||||
let v = toValue(breakpoints[k]);
|
||||
let v = toValue(breakpoints[toValue(k)]);
|
||||
if (delta != null)
|
||||
v = increaseWithUnit(v, delta);
|
||||
if (typeof v === "number")
|
||||
v = `${v}px`;
|
||||
return v;
|
||||
}
|
||||
const { window: window2 = defaultWindow } = options;
|
||||
const { window: window2 = defaultWindow, strategy = "min-width" } = options;
|
||||
function match(query) {
|
||||
if (!window2)
|
||||
return false;
|
||||
@@ -2715,25 +2747,30 @@ function useBreakpoints(breakpoints, options = {}) {
|
||||
const greaterOrEqual = (k) => {
|
||||
return useMediaQuery(() => `(min-width: ${getValue2(k)})`, options);
|
||||
};
|
||||
const smallerOrEqual = (k) => {
|
||||
return useMediaQuery(() => `(max-width: ${getValue2(k)})`, options);
|
||||
};
|
||||
const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {
|
||||
Object.defineProperty(shortcuts, k, {
|
||||
get: () => greaterOrEqual(k),
|
||||
get: () => strategy === "min-width" ? greaterOrEqual(k) : smallerOrEqual(k),
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
return shortcuts;
|
||||
}, {});
|
||||
function current() {
|
||||
const points = Object.keys(breakpoints).map((i) => [i, greaterOrEqual(i)]);
|
||||
return computed(() => points.filter(([, v]) => v.value).map(([k]) => k));
|
||||
}
|
||||
return Object.assign(shortcutMethods, {
|
||||
greaterOrEqual,
|
||||
smallerOrEqual,
|
||||
greater(k) {
|
||||
return useMediaQuery(() => `(min-width: ${getValue2(k, 0.1)})`, options);
|
||||
},
|
||||
greaterOrEqual,
|
||||
smaller(k) {
|
||||
return useMediaQuery(() => `(max-width: ${getValue2(k, -0.1)})`, options);
|
||||
},
|
||||
smallerOrEqual(k) {
|
||||
return useMediaQuery(() => `(max-width: ${getValue2(k)})`, options);
|
||||
},
|
||||
between(a, b) {
|
||||
return useMediaQuery(() => `(min-width: ${getValue2(a)}) and (max-width: ${getValue2(b, -0.1)})`, options);
|
||||
},
|
||||
@@ -2752,9 +2789,10 @@ function useBreakpoints(breakpoints, options = {}) {
|
||||
isInBetween(a, b) {
|
||||
return match(`(min-width: ${getValue2(a)}) and (max-width: ${getValue2(b, -0.1)})`);
|
||||
},
|
||||
current() {
|
||||
const points = Object.keys(breakpoints).map((i) => [i, greaterOrEqual(i)]);
|
||||
return computed(() => points.filter(([, v]) => v.value).map(([k]) => k));
|
||||
current,
|
||||
active() {
|
||||
const bps = current();
|
||||
return computed(() => bps.value.length === 0 ? "" : bps.value.at(-1));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -2910,7 +2948,7 @@ function useClipboard(options = {}) {
|
||||
const copied = ref(false);
|
||||
const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);
|
||||
function updateText() {
|
||||
if (isClipboardApiSupported.value && permissionRead.value !== "denied") {
|
||||
if (isClipboardApiSupported.value && isAllowed(permissionRead.value)) {
|
||||
navigator.clipboard.readText().then((value) => {
|
||||
text.value = value;
|
||||
});
|
||||
@@ -2922,7 +2960,7 @@ function useClipboard(options = {}) {
|
||||
useEventListener(["copy", "cut"], updateText);
|
||||
async function copy(value = toValue(source)) {
|
||||
if (isSupported.value && value != null) {
|
||||
if (isClipboardApiSupported.value && permissionWrite.value !== "denied")
|
||||
if (isClipboardApiSupported.value && isAllowed(permissionWrite.value))
|
||||
await navigator.clipboard.writeText(value);
|
||||
else
|
||||
legacyCopy(value);
|
||||
@@ -2945,6 +2983,9 @@ function useClipboard(options = {}) {
|
||||
var _a, _b, _c;
|
||||
return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : "";
|
||||
}
|
||||
function isAllowed(status) {
|
||||
return status === "granted" || status === "prompt";
|
||||
}
|
||||
return {
|
||||
isSupported,
|
||||
text,
|
||||
@@ -3112,26 +3153,29 @@ function useStorage(key, defaults2, storage, options = {}) {
|
||||
}
|
||||
if (!initOnMounted)
|
||||
update();
|
||||
return data;
|
||||
function dispatchWriteEvent(oldValue, newValue) {
|
||||
if (window2) {
|
||||
window2.dispatchEvent(new CustomEvent(customStorageEventName, {
|
||||
detail: {
|
||||
key,
|
||||
oldValue,
|
||||
newValue,
|
||||
storageArea: storage
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
function write(v) {
|
||||
try {
|
||||
const oldValue = storage.getItem(key);
|
||||
if (v == null) {
|
||||
dispatchWriteEvent(oldValue, null);
|
||||
storage.removeItem(key);
|
||||
} else {
|
||||
const serialized = serializer.write(v);
|
||||
const oldValue = storage.getItem(key);
|
||||
if (oldValue !== serialized) {
|
||||
storage.setItem(key, serialized);
|
||||
if (window2) {
|
||||
window2.dispatchEvent(new CustomEvent(customStorageEventName, {
|
||||
detail: {
|
||||
key,
|
||||
oldValue,
|
||||
newValue: serialized,
|
||||
storageArea: storage
|
||||
}
|
||||
}));
|
||||
}
|
||||
dispatchWriteEvent(oldValue, serialized);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
@@ -3157,9 +3201,6 @@ function useStorage(key, defaults2, storage, options = {}) {
|
||||
return serializer.read(rawValue);
|
||||
}
|
||||
}
|
||||
function updateFromCustomEvent(event) {
|
||||
update(event.detail);
|
||||
}
|
||||
function update(event) {
|
||||
if (event && event.storageArea !== storage)
|
||||
return;
|
||||
@@ -3182,6 +3223,10 @@ function useStorage(key, defaults2, storage, options = {}) {
|
||||
resumeWatch();
|
||||
}
|
||||
}
|
||||
function updateFromCustomEvent(event) {
|
||||
update(event.detail);
|
||||
}
|
||||
return data;
|
||||
}
|
||||
function usePreferredDark(options) {
|
||||
return useMediaQuery("(prefers-color-scheme: dark)", options);
|
||||
@@ -3307,16 +3352,21 @@ function useMutationObserver(target, callback, options = {}) {
|
||||
observer = void 0;
|
||||
}
|
||||
};
|
||||
const targets = computed(() => {
|
||||
const value = toValue(target);
|
||||
const items = (Array.isArray(value) ? value : [value]).map(unrefElement).filter(notNullish);
|
||||
return new Set(items);
|
||||
});
|
||||
const stopWatch = watch(
|
||||
() => unrefElement(target),
|
||||
(el) => {
|
||||
() => targets.value,
|
||||
(targets2) => {
|
||||
cleanup();
|
||||
if (isSupported.value && window2 && el) {
|
||||
if (isSupported.value && window2 && targets2.size) {
|
||||
observer = new MutationObserver(callback);
|
||||
observer.observe(el, mutationOptions);
|
||||
targets2.forEach((el) => observer.observe(el, mutationOptions));
|
||||
}
|
||||
},
|
||||
{ immediate: true }
|
||||
{ immediate: true, flush: "post" }
|
||||
);
|
||||
const takeRecords = () => {
|
||||
return observer == null ? void 0 : observer.takeRecords();
|
||||
@@ -3369,11 +3419,11 @@ function useCssVar(prop, target, options = {}) {
|
||||
);
|
||||
return variable;
|
||||
}
|
||||
function useCurrentElement() {
|
||||
function useCurrentElement(rootComponent) {
|
||||
const vm = getCurrentInstance();
|
||||
const currentElement = computedWithControl(
|
||||
() => null,
|
||||
() => vm.proxy.$el
|
||||
() => rootComponent ? unrefElement(rootComponent) : vm.proxy.$el
|
||||
);
|
||||
onUpdated(currentElement.trigger);
|
||||
onMounted(currentElement.trigger);
|
||||
@@ -3421,7 +3471,8 @@ function useCycleList(list, options) {
|
||||
state,
|
||||
index,
|
||||
next,
|
||||
prev
|
||||
prev,
|
||||
go: set3
|
||||
};
|
||||
}
|
||||
function useDark(options = {}) {
|
||||
@@ -3838,7 +3889,7 @@ function useDraggable(target, options = {}) {
|
||||
};
|
||||
const start = (e) => {
|
||||
var _a2;
|
||||
if (!filterEvent(e))
|
||||
if (toValue(options.disabled) || !filterEvent(e))
|
||||
return;
|
||||
if (toValue(exact) && e.target !== toValue(target))
|
||||
return;
|
||||
@@ -3846,8 +3897,8 @@ function useDraggable(target, options = {}) {
|
||||
const containerRect = (_a2 = container == null ? void 0 : container.getBoundingClientRect) == null ? void 0 : _a2.call(container);
|
||||
const targetRect = toValue(target).getBoundingClientRect();
|
||||
const pos = {
|
||||
x: e.clientX - (container ? targetRect.left - containerRect.left : targetRect.left),
|
||||
y: e.clientY - (container ? targetRect.top - containerRect.top : targetRect.top)
|
||||
x: e.clientX - (container ? targetRect.left - containerRect.left + container.scrollLeft : targetRect.left),
|
||||
y: e.clientY - (container ? targetRect.top - containerRect.top + container.scrollTop : targetRect.top)
|
||||
};
|
||||
if ((onStart == null ? void 0 : onStart(pos, e)) === false)
|
||||
return;
|
||||
@@ -3855,24 +3906,22 @@ function useDraggable(target, options = {}) {
|
||||
handleEvent(e);
|
||||
};
|
||||
const move = (e) => {
|
||||
var _a2;
|
||||
if (!filterEvent(e))
|
||||
if (toValue(options.disabled) || !filterEvent(e))
|
||||
return;
|
||||
if (!pressedDelta.value)
|
||||
return;
|
||||
const container = toValue(containerElement);
|
||||
const containerRect = (_a2 = container == null ? void 0 : container.getBoundingClientRect) == null ? void 0 : _a2.call(container);
|
||||
const targetRect = toValue(target).getBoundingClientRect();
|
||||
let { x, y } = position.value;
|
||||
if (axis === "x" || axis === "both") {
|
||||
x = e.clientX - pressedDelta.value.x;
|
||||
if (container)
|
||||
x = Math.min(Math.max(0, x), containerRect.width - targetRect.width);
|
||||
x = Math.min(Math.max(0, x), container.scrollWidth - targetRect.width);
|
||||
}
|
||||
if (axis === "y" || axis === "both") {
|
||||
y = e.clientY - pressedDelta.value.y;
|
||||
if (container)
|
||||
y = Math.min(Math.max(0, y), containerRect.height - targetRect.height);
|
||||
y = Math.min(Math.max(0, y), container.scrollHeight - targetRect.height);
|
||||
}
|
||||
position.value = {
|
||||
x,
|
||||
@@ -3882,7 +3931,7 @@ function useDraggable(target, options = {}) {
|
||||
handleEvent(e);
|
||||
};
|
||||
const end = (e) => {
|
||||
if (!filterEvent(e))
|
||||
if (toValue(options.disabled) || !filterEvent(e))
|
||||
return;
|
||||
if (!pressedDelta.value)
|
||||
return;
|
||||
@@ -3982,7 +4031,7 @@ function useResizeObserver(target, callback, options = {}) {
|
||||
_el && observer.observe(_el, observerOptions);
|
||||
}
|
||||
},
|
||||
{ immediate: true, flush: "post", deep: true }
|
||||
{ immediate: true, flush: "post" }
|
||||
);
|
||||
const stop = () => {
|
||||
cleanup();
|
||||
@@ -4225,7 +4274,7 @@ function useIntersectionObserver(target, callback, options = {}) {
|
||||
};
|
||||
}
|
||||
function useElementVisibility(element, options = {}) {
|
||||
const { window: window2 = defaultWindow, scrollTarget } = options;
|
||||
const { window: window2 = defaultWindow, scrollTarget, threshold = 0 } = options;
|
||||
const elementIsVisible = ref(false);
|
||||
useIntersectionObserver(
|
||||
element,
|
||||
@@ -4243,7 +4292,7 @@ function useElementVisibility(element, options = {}) {
|
||||
{
|
||||
root: scrollTarget,
|
||||
window: window2,
|
||||
threshold: 0
|
||||
threshold
|
||||
}
|
||||
);
|
||||
return elementIsVisible;
|
||||
@@ -4284,51 +4333,90 @@ function useEventBus(key) {
|
||||
}
|
||||
return { on, once, off, emit, reset };
|
||||
}
|
||||
function resolveNestedOptions$1(options) {
|
||||
if (options === true)
|
||||
return {};
|
||||
return options;
|
||||
}
|
||||
function useEventSource(url, events2 = [], options = {}) {
|
||||
const event = ref(null);
|
||||
const data = ref(null);
|
||||
const status = ref("CONNECTING");
|
||||
const eventSource = ref(null);
|
||||
const error = shallowRef(null);
|
||||
const urlRef = toRef2(url);
|
||||
let explicitlyClosed = false;
|
||||
let retried = 0;
|
||||
const {
|
||||
withCredentials = false
|
||||
withCredentials = false,
|
||||
immediate = true
|
||||
} = options;
|
||||
const close = () => {
|
||||
if (eventSource.value) {
|
||||
if (isClient && eventSource.value) {
|
||||
eventSource.value.close();
|
||||
eventSource.value = null;
|
||||
status.value = "CLOSED";
|
||||
explicitlyClosed = true;
|
||||
}
|
||||
};
|
||||
const es = new EventSource(url, { withCredentials });
|
||||
eventSource.value = es;
|
||||
es.onopen = () => {
|
||||
status.value = "OPEN";
|
||||
error.value = null;
|
||||
const _init = () => {
|
||||
if (explicitlyClosed || typeof urlRef.value === "undefined")
|
||||
return;
|
||||
const es = new EventSource(urlRef.value, { withCredentials });
|
||||
status.value = "CONNECTING";
|
||||
eventSource.value = es;
|
||||
es.onopen = () => {
|
||||
status.value = "OPEN";
|
||||
error.value = null;
|
||||
};
|
||||
es.onerror = (e) => {
|
||||
status.value = "CLOSED";
|
||||
error.value = e;
|
||||
if (es.readyState === 2 && !explicitlyClosed && options.autoReconnect) {
|
||||
es.close();
|
||||
const {
|
||||
retries = -1,
|
||||
delay = 1e3,
|
||||
onFailed
|
||||
} = resolveNestedOptions$1(options.autoReconnect);
|
||||
retried += 1;
|
||||
if (typeof retries === "number" && (retries < 0 || retried < retries))
|
||||
setTimeout(_init, delay);
|
||||
else if (typeof retries === "function" && retries())
|
||||
setTimeout(_init, delay);
|
||||
else
|
||||
onFailed == null ? void 0 : onFailed();
|
||||
}
|
||||
};
|
||||
es.onmessage = (e) => {
|
||||
event.value = null;
|
||||
data.value = e.data;
|
||||
};
|
||||
for (const event_name of events2) {
|
||||
useEventListener(es, event_name, (e) => {
|
||||
event.value = event_name;
|
||||
data.value = e.data || null;
|
||||
});
|
||||
}
|
||||
};
|
||||
es.onerror = (e) => {
|
||||
status.value = "CLOSED";
|
||||
error.value = e;
|
||||
};
|
||||
es.onmessage = (e) => {
|
||||
event.value = null;
|
||||
data.value = e.data;
|
||||
};
|
||||
for (const event_name of events2) {
|
||||
useEventListener(es, event_name, (e) => {
|
||||
event.value = event_name;
|
||||
data.value = e.data || null;
|
||||
});
|
||||
}
|
||||
tryOnScopeDispose(() => {
|
||||
const open = () => {
|
||||
if (!isClient)
|
||||
return;
|
||||
close();
|
||||
});
|
||||
explicitlyClosed = false;
|
||||
retried = 0;
|
||||
_init();
|
||||
};
|
||||
if (immediate)
|
||||
watch(urlRef, open, { immediate: true });
|
||||
tryOnScopeDispose(close);
|
||||
return {
|
||||
eventSource,
|
||||
event,
|
||||
data,
|
||||
status,
|
||||
error,
|
||||
open,
|
||||
close
|
||||
};
|
||||
}
|
||||
@@ -4389,7 +4477,7 @@ function isAbsoluteURL(url) {
|
||||
}
|
||||
function headersToObject(headers) {
|
||||
if (typeof Headers !== "undefined" && headers instanceof Headers)
|
||||
return Object.fromEntries([...headers.entries()]);
|
||||
return Object.fromEntries(headers.entries());
|
||||
return headers;
|
||||
}
|
||||
function combineCallbacks(combination, ...callbacks) {
|
||||
@@ -4619,12 +4707,12 @@ function useFetch(url, ...args) {
|
||||
{ deep: true }
|
||||
);
|
||||
const shell = {
|
||||
isFinished,
|
||||
isFinished: readonly(isFinished),
|
||||
isFetching: readonly(isFetching),
|
||||
statusCode,
|
||||
response,
|
||||
error,
|
||||
data,
|
||||
isFetching,
|
||||
canAbort,
|
||||
aborted,
|
||||
abort,
|
||||
@@ -4790,7 +4878,6 @@ function useFileSystemAccess(options = {}) {
|
||||
return;
|
||||
const [handle] = await window2.showOpenFilePicker({ ...toValue(options), ..._options });
|
||||
fileHandle.value = handle;
|
||||
await updateFile();
|
||||
await updateData();
|
||||
}
|
||||
async function create(_options = {}) {
|
||||
@@ -4798,7 +4885,6 @@ function useFileSystemAccess(options = {}) {
|
||||
return;
|
||||
fileHandle.value = await window2.showSaveFilePicker({ ...options, ..._options });
|
||||
data.value = void 0;
|
||||
await updateFile();
|
||||
await updateData();
|
||||
}
|
||||
async function save(_options = {}) {
|
||||
@@ -4830,6 +4916,7 @@ function useFileSystemAccess(options = {}) {
|
||||
}
|
||||
async function updateData() {
|
||||
var _a, _b;
|
||||
await updateFile();
|
||||
const type = toValue(dataType);
|
||||
if (type === "Text")
|
||||
data.value = await ((_a = file.value) == null ? void 0 : _a.text());
|
||||
@@ -5089,18 +5176,15 @@ function useGamepad(options = {}) {
|
||||
id: gamepad.id,
|
||||
hapticActuators,
|
||||
axes: gamepad.axes.map((axes) => axes),
|
||||
buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value }))
|
||||
buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value })),
|
||||
index: gamepad.index
|
||||
};
|
||||
};
|
||||
const updateGamepadState = () => {
|
||||
const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];
|
||||
for (let i = 0; i < _gamepads.length; ++i) {
|
||||
const gamepad = _gamepads[i];
|
||||
if (gamepad) {
|
||||
const index = gamepads.value.findIndex(({ index: index2 }) => index2 === gamepad.index);
|
||||
if (index > -1)
|
||||
gamepads.value[index] = stateFromGamepad(gamepad);
|
||||
}
|
||||
for (const gamepad of _gamepads) {
|
||||
if (gamepad && gamepads.value[gamepad.index])
|
||||
gamepads.value[gamepad.index] = stateFromGamepad(gamepad);
|
||||
}
|
||||
};
|
||||
const { isActive, pause, resume } = useRafFn(updateGamepadState);
|
||||
@@ -5119,12 +5203,9 @@ function useGamepad(options = {}) {
|
||||
useEventListener("gamepaddisconnected", (e) => onGamepadDisconnected(e.gamepad));
|
||||
tryOnMounted(() => {
|
||||
const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];
|
||||
if (_gamepads) {
|
||||
for (let i = 0; i < _gamepads.length; ++i) {
|
||||
const gamepad = _gamepads[i];
|
||||
if (gamepad)
|
||||
onGamepadConnected(gamepad);
|
||||
}
|
||||
for (const gamepad of _gamepads) {
|
||||
if (gamepad && gamepads.value[gamepad.index])
|
||||
onGamepadConnected(gamepad);
|
||||
}
|
||||
});
|
||||
pause();
|
||||
@@ -5293,7 +5374,10 @@ function useScroll(element, options = {}) {
|
||||
passive: true
|
||||
},
|
||||
behavior = "auto",
|
||||
window: window2 = defaultWindow
|
||||
window: window2 = defaultWindow,
|
||||
onError = (e) => {
|
||||
console.error(e);
|
||||
}
|
||||
} = options;
|
||||
const internalX = ref(0);
|
||||
const internalY = ref(0);
|
||||
@@ -5354,12 +5438,12 @@ function useScroll(element, options = {}) {
|
||||
var _a;
|
||||
if (!window2)
|
||||
return;
|
||||
const el = target.document ? target.document.documentElement : (_a = target.documentElement) != null ? _a : target;
|
||||
const el = ((_a = target == null ? void 0 : target.document) == null ? void 0 : _a.documentElement) || (target == null ? void 0 : target.documentElement) || unrefElement(target);
|
||||
const { display, flexDirection } = getComputedStyle(el);
|
||||
const scrollLeft = el.scrollLeft;
|
||||
directions.left = scrollLeft < internalX.value;
|
||||
directions.right = scrollLeft > internalX.value;
|
||||
const left = Math.abs(scrollLeft) <= 0 + (offset.left || 0);
|
||||
const left = Math.abs(scrollLeft) <= (offset.left || 0);
|
||||
const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;
|
||||
if (display === "flex" && flexDirection === "row-reverse") {
|
||||
arrivedState.left = right;
|
||||
@@ -5374,7 +5458,7 @@ function useScroll(element, options = {}) {
|
||||
scrollTop = window2.document.body.scrollTop;
|
||||
directions.top = scrollTop < internalY.value;
|
||||
directions.bottom = scrollTop > internalY.value;
|
||||
const top = Math.abs(scrollTop) <= 0 + (offset.top || 0);
|
||||
const top = Math.abs(scrollTop) <= (offset.top || 0);
|
||||
const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;
|
||||
if (display === "flex" && flexDirection === "column-reverse") {
|
||||
arrivedState.top = bottom;
|
||||
@@ -5402,10 +5486,14 @@ function useScroll(element, options = {}) {
|
||||
eventListenerOptions
|
||||
);
|
||||
tryOnMounted(() => {
|
||||
const _element = toValue(element);
|
||||
if (!_element)
|
||||
return;
|
||||
setArrivedState(_element);
|
||||
try {
|
||||
const _element = toValue(element);
|
||||
if (!_element)
|
||||
return;
|
||||
setArrivedState(_element);
|
||||
} catch (e) {
|
||||
onError(e);
|
||||
}
|
||||
});
|
||||
useEventListener(
|
||||
element,
|
||||
@@ -6259,6 +6347,37 @@ function usePageLeave(options = {}) {
|
||||
}
|
||||
return isLeft;
|
||||
}
|
||||
function useScreenOrientation(options = {}) {
|
||||
const {
|
||||
window: window2 = defaultWindow
|
||||
} = options;
|
||||
const isSupported = useSupported(() => window2 && "screen" in window2 && "orientation" in window2.screen);
|
||||
const screenOrientation = isSupported.value ? window2.screen.orientation : {};
|
||||
const orientation = ref(screenOrientation.type);
|
||||
const angle = ref(screenOrientation.angle || 0);
|
||||
if (isSupported.value) {
|
||||
useEventListener(window2, "orientationchange", () => {
|
||||
orientation.value = screenOrientation.type;
|
||||
angle.value = screenOrientation.angle;
|
||||
});
|
||||
}
|
||||
const lockOrientation = (type) => {
|
||||
if (isSupported.value && typeof screenOrientation.lock === "function")
|
||||
return screenOrientation.lock(type);
|
||||
return Promise.reject(new Error("Not supported"));
|
||||
};
|
||||
const unlockOrientation = () => {
|
||||
if (isSupported.value && typeof screenOrientation.unlock === "function")
|
||||
screenOrientation.unlock();
|
||||
};
|
||||
return {
|
||||
isSupported,
|
||||
orientation,
|
||||
angle,
|
||||
lockOrientation,
|
||||
unlockOrientation
|
||||
};
|
||||
}
|
||||
function useParallax(target, options = {}) {
|
||||
const {
|
||||
deviceOrientationTiltAdjust = (i) => i,
|
||||
@@ -6268,6 +6387,7 @@ function useParallax(target, options = {}) {
|
||||
window: window2 = defaultWindow
|
||||
} = options;
|
||||
const orientation = reactive(useDeviceOrientation({ window: window2 }));
|
||||
const screenOrientation = reactive(useScreenOrientation({ window: window2 }));
|
||||
const {
|
||||
elementX: x,
|
||||
elementY: y,
|
||||
@@ -6281,7 +6401,23 @@ function useParallax(target, options = {}) {
|
||||
});
|
||||
const roll = computed(() => {
|
||||
if (source.value === "deviceOrientation") {
|
||||
const value = -orientation.beta / 90;
|
||||
let value;
|
||||
switch (screenOrientation.orientation) {
|
||||
case "landscape-primary":
|
||||
value = orientation.gamma / 90;
|
||||
break;
|
||||
case "landscape-secondary":
|
||||
value = -orientation.gamma / 90;
|
||||
break;
|
||||
case "portrait-primary":
|
||||
value = -orientation.beta / 90;
|
||||
break;
|
||||
case "portrait-secondary":
|
||||
value = orientation.beta / 90;
|
||||
break;
|
||||
default:
|
||||
value = -orientation.beta / 90;
|
||||
}
|
||||
return deviceOrientationRollAdjust(value);
|
||||
} else {
|
||||
const value = -(y.value - height.value / 2) / height.value;
|
||||
@@ -6290,7 +6426,23 @@ function useParallax(target, options = {}) {
|
||||
});
|
||||
const tilt = computed(() => {
|
||||
if (source.value === "deviceOrientation") {
|
||||
const value = orientation.gamma / 90;
|
||||
let value;
|
||||
switch (screenOrientation.orientation) {
|
||||
case "landscape-primary":
|
||||
value = orientation.beta / 90;
|
||||
break;
|
||||
case "landscape-secondary":
|
||||
value = -orientation.beta / 90;
|
||||
break;
|
||||
case "portrait-primary":
|
||||
value = orientation.gamma / 90;
|
||||
break;
|
||||
case "portrait-secondary":
|
||||
value = -orientation.gamma / 90;
|
||||
break;
|
||||
default:
|
||||
value = orientation.gamma / 90;
|
||||
}
|
||||
return deviceOrientationTiltAdjust(value);
|
||||
} else {
|
||||
const value = (x.value - width.value / 2) / width.value;
|
||||
@@ -6374,7 +6526,7 @@ function usePointer(options = {}) {
|
||||
};
|
||||
}
|
||||
function usePointerLock(target, options = {}) {
|
||||
const { document: document2 = defaultDocument, pointerLockOptions } = options;
|
||||
const { document: document2 = defaultDocument } = options;
|
||||
const isSupported = useSupported(() => document2 && "pointerLockElement" in document2);
|
||||
const element = ref();
|
||||
const triggerElement = ref();
|
||||
@@ -6398,7 +6550,7 @@ function usePointerLock(target, options = {}) {
|
||||
}
|
||||
});
|
||||
}
|
||||
async function lock(e, options2) {
|
||||
async function lock(e) {
|
||||
var _a;
|
||||
if (!isSupported.value)
|
||||
throw new Error("Pointer Lock API is not supported by your browser.");
|
||||
@@ -6406,7 +6558,7 @@ function usePointerLock(target, options = {}) {
|
||||
targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e);
|
||||
if (!targetElement)
|
||||
throw new Error("Target element undefined.");
|
||||
targetElement.requestPointerLock(options2 != null ? options2 : pointerLockOptions);
|
||||
targetElement.requestPointerLock();
|
||||
return await until(element).toBe(targetElement);
|
||||
}
|
||||
async function unlock() {
|
||||
@@ -6572,37 +6724,6 @@ function usePrevious(value, initialValue) {
|
||||
);
|
||||
return readonly(previous);
|
||||
}
|
||||
function useScreenOrientation(options = {}) {
|
||||
const {
|
||||
window: window2 = defaultWindow
|
||||
} = options;
|
||||
const isSupported = useSupported(() => window2 && "screen" in window2 && "orientation" in window2.screen);
|
||||
const screenOrientation = isSupported.value ? window2.screen.orientation : {};
|
||||
const orientation = ref(screenOrientation.type);
|
||||
const angle = ref(screenOrientation.angle || 0);
|
||||
if (isSupported.value) {
|
||||
useEventListener(window2, "orientationchange", () => {
|
||||
orientation.value = screenOrientation.type;
|
||||
angle.value = screenOrientation.angle;
|
||||
});
|
||||
}
|
||||
const lockOrientation = (type) => {
|
||||
if (isSupported.value && typeof screenOrientation.lock === "function")
|
||||
return screenOrientation.lock(type);
|
||||
return Promise.reject(new Error("Not supported"));
|
||||
};
|
||||
const unlockOrientation = () => {
|
||||
if (isSupported.value && typeof screenOrientation.unlock === "function")
|
||||
screenOrientation.unlock();
|
||||
};
|
||||
return {
|
||||
isSupported,
|
||||
orientation,
|
||||
angle,
|
||||
lockOrientation,
|
||||
unlockOrientation
|
||||
};
|
||||
}
|
||||
var topVarName = "--vueuse-safe-area-top";
|
||||
var rightVarName = "--vueuse-safe-area-right";
|
||||
var bottomVarName = "--vueuse-safe-area-bottom";
|
||||
@@ -6745,13 +6866,12 @@ var elInitialOverflow = /* @__PURE__ */ new WeakMap();
|
||||
function useScrollLock(element, initialState = false) {
|
||||
const isLocked = ref(initialState);
|
||||
let stopTouchMoveListener = null;
|
||||
let initialOverflow;
|
||||
watch(toRef2(element), (el) => {
|
||||
const target = resolveElement(toValue(el));
|
||||
if (target) {
|
||||
const ele = target;
|
||||
if (!elInitialOverflow.get(ele))
|
||||
elInitialOverflow.set(ele, initialOverflow);
|
||||
elInitialOverflow.set(ele, ele.style.overflow);
|
||||
if (isLocked.value)
|
||||
ele.style.overflow = "hidden";
|
||||
}
|
||||
@@ -7114,7 +7234,7 @@ function useStorageAsync(key, initialValue, storage, options = {}) {
|
||||
const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];
|
||||
if (!storage) {
|
||||
try {
|
||||
storage = getSSRHandler("getDefaultStorage", () => {
|
||||
storage = getSSRHandler("getDefaultStorageAsync", () => {
|
||||
var _a2;
|
||||
return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;
|
||||
})();
|
||||
@@ -7395,21 +7515,23 @@ function useTextSelection(options = {}) {
|
||||
};
|
||||
}
|
||||
function useTextareaAutosize(options) {
|
||||
var _a;
|
||||
const textarea = ref(options == null ? void 0 : options.element);
|
||||
const input = ref(options == null ? void 0 : options.input);
|
||||
const styleProp = (_a = options == null ? void 0 : options.styleProp) != null ? _a : "height";
|
||||
const textareaScrollHeight = ref(1);
|
||||
function triggerResize() {
|
||||
var _a, _b;
|
||||
var _a2, _b;
|
||||
if (!textarea.value)
|
||||
return;
|
||||
let height = "";
|
||||
textarea.value.style.height = "1px";
|
||||
textareaScrollHeight.value = (_a = textarea.value) == null ? void 0 : _a.scrollHeight;
|
||||
textarea.value.style[styleProp] = "1px";
|
||||
textareaScrollHeight.value = (_a2 = textarea.value) == null ? void 0 : _a2.scrollHeight;
|
||||
if (options == null ? void 0 : options.styleTarget)
|
||||
toValue(options.styleTarget).style.height = `${textareaScrollHeight.value}px`;
|
||||
toValue(options.styleTarget).style[styleProp] = `${textareaScrollHeight.value}px`;
|
||||
else
|
||||
height = `${textareaScrollHeight.value}px`;
|
||||
textarea.value.style.height = height;
|
||||
textarea.value.style[styleProp] = height;
|
||||
(_b = options == null ? void 0 : options.onResize) == null ? void 0 : _b.call(options);
|
||||
}
|
||||
watch([input, textarea], () => nextTick(triggerResize), { immediate: true });
|
||||
@@ -7901,6 +8023,9 @@ function useUserMedia(options = {}) {
|
||||
},
|
||||
{ immediate: true }
|
||||
);
|
||||
tryOnScopeDispose(() => {
|
||||
stop();
|
||||
});
|
||||
return {
|
||||
isSupported,
|
||||
stream,
|
||||
@@ -8346,6 +8471,7 @@ function useWebSocket(url, options = {}) {
|
||||
resetHeartbeat();
|
||||
heartbeatPause == null ? void 0 : heartbeatPause();
|
||||
wsRef.value.close(code, reason);
|
||||
wsRef.value = void 0;
|
||||
};
|
||||
const send = (data2, useBuffer = true) => {
|
||||
if (!wsRef.value || status.value !== "OPEN") {
|
||||
@@ -8371,7 +8497,6 @@ function useWebSocket(url, options = {}) {
|
||||
};
|
||||
ws.onclose = (ev) => {
|
||||
status.value = "CLOSED";
|
||||
wsRef.value = void 0;
|
||||
onDisconnected == null ? void 0 : onDisconnected(ws, ev);
|
||||
if (!explicitlyClosed && options.autoReconnect) {
|
||||
const {
|
||||
@@ -8440,7 +8565,7 @@ function useWebSocket(url, options = {}) {
|
||||
_init();
|
||||
};
|
||||
if (immediate)
|
||||
watch(urlRef, open, { immediate: true });
|
||||
open();
|
||||
return {
|
||||
data,
|
||||
status,
|
||||
@@ -8815,6 +8940,8 @@ export {
|
||||
useMediaQuery,
|
||||
breakpointsTailwind,
|
||||
breakpointsBootstrapV5,
|
||||
breakpointsVuetifyV2,
|
||||
breakpointsVuetifyV3,
|
||||
breakpointsVuetify,
|
||||
breakpointsAntDesign,
|
||||
breakpointsQuasar,
|
||||
@@ -8897,6 +9024,7 @@ export {
|
||||
useOffsetPagination,
|
||||
useOnline,
|
||||
usePageLeave,
|
||||
useScreenOrientation,
|
||||
useParallax,
|
||||
useParentElement,
|
||||
usePerformanceObserver,
|
||||
@@ -8908,7 +9036,6 @@ export {
|
||||
usePreferredLanguages,
|
||||
usePreferredReducedMotion,
|
||||
usePrevious,
|
||||
useScreenOrientation,
|
||||
useScreenSafeArea,
|
||||
useScriptTag,
|
||||
useScrollLock,
|
||||
@@ -8949,4 +9076,13 @@ export {
|
||||
useWindowScroll,
|
||||
useWindowSize
|
||||
};
|
||||
//# sourceMappingURL=chunk-JXSPZ7FU.js.map
|
||||
/*! Bundled license information:
|
||||
|
||||
vitepress/lib/vue-demi.mjs:
|
||||
(**
|
||||
* vue-demi v0.14.7
|
||||
* Copyright (c) 2020-present, Anthony Fu
|
||||
* @license MIT
|
||||
*)
|
||||
*/
|
||||
//# sourceMappingURL=chunk-ZEI2HCB7.js.map
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../../../node_modules/vitepress/lib/vue-demi.mjs", "../../../../node_modules/@vueuse/shared/index.mjs", "../../../../node_modules/@vueuse/core/index.mjs"],
|
||||
"sourcesContent": ["/**\n * vue-demi v0.14.7\n * Copyright (c) 2020-present, Anthony Fu\n * @license MIT\n */\n\nimport * as Vue from 'vue'\n\nvar isVue2 = false\nvar isVue3 = true\nvar Vue2 = undefined\n\nfunction install() {}\n\nexport function set(target, key, val) {\n if (Array.isArray(target)) {\n target.length = Math.max(target.length, key)\n target.splice(key, 1, val)\n return val\n }\n target[key] = val\n return val\n}\n\nexport function del(target, key) {\n if (Array.isArray(target)) {\n target.splice(key, 1)\n return\n }\n delete target[key]\n}\n\nexport * from 'vue'\nexport { Vue, Vue2, isVue2, isVue3, install }\n", "import { shallowRef, watchEffect, readonly, ref, watch, customRef, getCurrentScope, onScopeDispose, effectScope, getCurrentInstance, provide, inject, isVue3, version, isRef, unref, computed, reactive, toRefs as toRefs$1, toRef as toRef$1, isVue2, set as set$1, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\n\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, {\n ...options,\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n });\n return readonly(result);\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = typeof fn === \"function\" ? fn : fn.get;\n const set = typeof fn === \"function\" ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get();\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = /* @__PURE__ */ new Set();\n const off = (fn) => {\n fns.delete(fn);\n };\n const on = (fn) => {\n fns.add(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (...args) => {\n return Promise.all(Array.from(fns).map((fn) => fn(...args)));\n };\n return {\n on,\n off,\n trigger\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return (...args) => {\n if (!initialized) {\n state = scope.run(() => stateFactory(...args));\n initialized = true;\n }\n return state;\n };\n}\n\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\n\nconst provideLocal = (key, value) => {\n var _a;\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"provideLocal must be called in setup\");\n if (!localProvidedStateMap.has(instance))\n localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null));\n const localProvidedState = localProvidedStateMap.get(instance);\n localProvidedState[key] = value;\n provide(key, value);\n};\n\nconst injectLocal = (...args) => {\n var _a;\n const key = args[0];\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"injectLocal must be called in setup\");\n if (localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance))\n return localProvidedStateMap.get(instance)[key];\n return inject(...args);\n};\n\nfunction createInjectionState(composable, options) {\n const key = (options == null ? void 0 : options.injectionKey) || Symbol(composable.name || \"InjectionState\");\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provideLocal(key, state);\n return state;\n };\n const useInjectedState = () => injectLocal(key);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!state) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n Line truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["get", "set", "ref", "keys", "invoke", "toRef", "toRefs", "events", "window", "document", "timestamp", "getValue", "defaults", "toRef", "set", "onUpdated", "preventDefault", "toRefs", "now", "scrollTo", "keys", "get", "isReadonly"]
|
||||
}
|
||||
+2570
-144
File diff suppressed because it is too large.
Load diff
Vendored
+4
-4
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../../../node_modules/_@vue_devtools-api@6.5.1@@vue/devtools-api/lib/esm/env.js", "../../../../node_modules/_@vue_devtools-api@6.5.1@@vue/devtools-api/lib/esm/const.js", "../../../../node_modules/_@vue_devtools-api@6.5.1@@vue/devtools-api/lib/esm/time.js", "../../../../node_modules/_@vue_devtools-api@6.5.1@@vue/devtools-api/lib/esm/proxy.js", "../../../../node_modules/_@vue_devtools-api@6.5.1@@vue/devtools-api/lib/esm/index.js"],
|
||||
"sourcesContent": ["export function getDevtoolsGlobalHook() {\n return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nexport function getTarget() {\n // @ts-ignore\n return (typeof navigator !== 'undefined' && typeof window !== 'undefined')\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n}\nexport const isProxyAvailable = typeof Proxy === 'function';\n", "export const HOOK_SETUP = 'devtools-plugin:setup';\nexport const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';\n", "let supported;\nlet perf;\nexport function isPerformanceSupported() {\n var _a;\n if (supported !== undefined) {\n return supported;\n }\n if (typeof window !== 'undefined' && window.performance) {\n supported = true;\n perf = window.performance;\n }\n else if (typeof global !== 'undefined' && ((_a = global.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {\n supported = true;\n perf = global.perf_hooks.performance;\n }\n else {\n supported = false;\n }\n return supported;\n}\nexport function now() {\n return isPerformanceSupported() ? perf.now() : Date.now();\n}\n", "import { HOOK_PLUGIN_SETTINGS_SET } from './const.js';\nimport { now } from './time.js';\nexport class ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n }\n catch (e) {\n // noop\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n }\n catch (e) {\n // noop\n }\n currentSettings = value;\n },\n now() {\n return now();\n },\n };\n if (hook) {\n hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n }\n else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args,\n });\n };\n }\n },\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n }\n else if (prop === 'on') {\n return this.proxiedOn;\n }\n else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => { },\n });\n return this.fallbacks[prop](...args);\n };\n }\n else {\n return (...args) => {\n return new Promise(resolve => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve,\n });\n });\n };\n }\n },\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\n", "import { getTarget, getDevtoolsGlobalHook, isProxyAvailable } from './env.js';\nimport { HOOK_SETUP } from './const.js';\nimport { ApiProxy } from Line truncated
|
||||
"mappings": "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",
|
||||
"names": []
|
||||
"sources": ["../../../../node_modules/@vue/devtools-shared/dist/index.js", "../../../../node_modules/hookable/dist/index.mjs", "../../../../node_modules/perfect-debounce/dist/index.mjs", "../../../../node_modules/@vue/devtools-kit/dist/index.js"],
|
||||
"sourcesContent": ["var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target2) => (target2 = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target2, \"default\", { value: mod, enumerable: true }) : target2,\n mod\n));\n\n// ../../node_modules/.pnpm/tsup@8.0.2_@microsoft+api-extractor@7.43.0_@types+node@20.12.12__postcss@8.4.38_typescript@5.4.5/node_modules/tsup/assets/esm_shims.js\nvar init_esm_shims = __esm({\n \"../../node_modules/.pnpm/tsup@8.0.2_@microsoft+api-extractor@7.43.0_@types+node@20.12.12__postcss@8.4.38_typescript@5.4.5/node_modules/tsup/assets/esm_shims.js\"() {\n \"use strict\";\n }\n});\n\n// ../../node_modules/.pnpm/rfdc@1.3.1/node_modules/rfdc/index.js\nvar require_rfdc = __commonJS({\n \"../../node_modules/.pnpm/rfdc@1.3.1/node_modules/rfdc/index.js\"(exports, module) {\n \"use strict\";\n init_esm_shims();\n module.exports = rfdc2;\n function copyBuffer(cur) {\n if (cur instanceof Buffer) {\n return Buffer.from(cur);\n }\n return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length);\n }\n function rfdc2(opts) {\n opts = opts || {};\n if (opts.circles)\n return rfdcCircles(opts);\n return opts.proto ? cloneProto : clone;\n function cloneArray(a, fn) {\n var keys = Object.keys(a);\n var a2 = new Array(keys.length);\n for (var i = 0; i < keys.length; i++) {\n var k = keys[i];\n var cur = a[k];\n if (typeof cur !== \"object\" || cur === null) {\n a2[k] = cur;\n } else if (cur instanceof Date) {\n a2[k] = new Date(cur);\n } else if (ArrayBuffer.isView(cur)) {\n a2[k] = copyBuffer(cur);\n } else {\n a2[k] = fn(cur);\n }\n }\n return a2;\n }\n function clone(o) {\n if (typeof o !== \"object\" || o === null)\n return o;\n if (o instanceof Date)\n return new Date(o);\n if (Array.isArray(o))\n return cloneArray(o, clone);\n if (o instanceof Map)\n return new Map(cloneArray(Array.from(o), clone));\n if (o instanceof Set)\n return new Set(cloneArray(Array.from(o), clone));\n var o2 = {};\n for (var k in o) {\n if (Object.hasOwnProperty.call(o, k) === false)\n continue;\n var cur = o[k];\n if (typeof cur !== \"object\" || cur === null) {\n o2[k] = cur;\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur);\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), clone));\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), clone));\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur);\n } else {\n o2[k] = clone(cur);\n }\n }\n return o2;\n }\n function cloneProto(o) {\n if (typeof o !== \"object\" || o === null)\n return o;\n if (o instanceof Date)\n return new Date(o);\n if (Array.isArray(o))\n return cloneArray(o, cloneProto);\n if (o instanceof Map)\n return new Map(cloneArray(Array.from(o), cloneProto));\n if (o instanceof Set)\n return new Set(cloneArray(Array.from(o), cloneProto));\n var o2 = {};\n for (var k in o) {\n var cur = o[k];\n if (typeof cur !== \"object\" || cur === null) {\n o2[k] = cur;\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur);\n } else if (cur instanceof Map) {\n Line truncated
|
||||
"mappings": "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 truncated
|
||||
"names": ["hook", "hook", "__create", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__getProtoOf", "__hasOwnProp", "__esm", "__commonJS", "__copyProps", "__toESM", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "__toESM", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims", "init_esm_shims"]
|
||||
}
|
||||
+6
-2
@@ -11,6 +11,8 @@ import {
|
||||
breakpointsSematic,
|
||||
breakpointsTailwind,
|
||||
breakpointsVuetify,
|
||||
breakpointsVuetifyV2,
|
||||
breakpointsVuetifyV3,
|
||||
bypassFilter,
|
||||
camelize,
|
||||
clamp,
|
||||
@@ -271,8 +273,8 @@ import {
|
||||
watchTriggerable,
|
||||
watchWithFilter,
|
||||
whenever
|
||||
} from "./chunk-JXSPZ7FU.js";
|
||||
import "./chunk-HBMF7DTD.js";
|
||||
} from "./chunk-ZEI2HCB7.js";
|
||||
import "./chunk-RY5ODQAQ.js";
|
||||
export {
|
||||
DefaultMagicKeysAliasMap,
|
||||
StorageSerializers,
|
||||
@@ -288,6 +290,8 @@ export {
|
||||
breakpointsSematic,
|
||||
breakpointsTailwind,
|
||||
breakpointsVuetify,
|
||||
breakpointsVuetifyV2,
|
||||
breakpointsVuetifyV3,
|
||||
bypassFilter,
|
||||
camelize,
|
||||
clamp,
|
||||
|
||||
@@ -158,7 +158,7 @@ import {
|
||||
withMemo,
|
||||
withModifiers,
|
||||
withScopeId
|
||||
} from "./chunk-HBMF7DTD.js";
|
||||
} from "./chunk-RY5ODQAQ.js";
|
||||
export {
|
||||
BaseTransition,
|
||||
BaseTransitionPropsValidators,
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# Danmuku
|
||||
# 弹幕库
|
||||
|
||||
## Demo
|
||||
## 演示
|
||||
|
||||
👉 [View Full Demo](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-danmuku/index.js&example=danmuku)
|
||||
👉 [查看完整演示](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-danmuku/index.js&example=danmuku)
|
||||
|
||||
## Installation
|
||||
## 安装
|
||||
|
||||
::: code-group
|
||||
|
||||
@@ -40,34 +40,116 @@ https://unpkg.com/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js
|
||||
|
||||
:::
|
||||
|
||||
## Option
|
||||
## 弹幕结构
|
||||
|
||||
每一个弹幕是一个对象,多个弹幕组成的数组就是弹幕源,通常只需要`text`就可以发送一个弹幕,其余都是非必要参数
|
||||
|
||||
```js
|
||||
{
|
||||
danmuku: [], // 弹幕库,支持数组, xml 地址, Promise返回数组
|
||||
speed: 5, // 弹幕持续时间,单位秒,范围在[1 ~ 10]
|
||||
opacity: 1, // 弹幕透明度,范围在[0 ~ 1]
|
||||
fontSize: 25, // 字体大小,支持数字和百分比
|
||||
color: '#FFFFFF', // 默认字体颜色
|
||||
mode: 0, // 默认模式,0-滚动,1-静止
|
||||
margin: [10, '25%'], // 弹幕上下边距,支持数字和百分比
|
||||
antiOverlap: true, // 是否防重叠
|
||||
useWorker: true, // 是否使用 web worker
|
||||
synchronousPlayback: false, // 是否同步到播放速度
|
||||
filter: (danmu) => danmu.text.length < 50, // 弹幕过滤函数,返回 true 则可以发送
|
||||
lockTime: 5, // 输入框锁定时间,单位秒,范围在[1 ~ 60]
|
||||
maxLength: 100, // 输入框最大可输入的字数,范围在[0 ~ 500]
|
||||
minWidth: 200, // 输入框最小宽度,范围在[0 ~ 500],填 0 则为无限制
|
||||
maxWidth: 400, // 输入框最大宽度,范围在[0 ~ Infinity],填 0 则为 100% 宽度
|
||||
theme: 'dark', // 输入框自定义挂载时的主题色,默认为 dark,可以选填亮色 light
|
||||
heatmap: true, // 是否开启弹幕热度图, 默认为 false
|
||||
beforeEmit: (danmu) => !!danmu.text.trim(), // 发送弹幕前的自定义校验,返回 true 则可以发送
|
||||
// 通过 mount 选项可以自定义输入框挂载的位置,默认挂载于播放器底部,仅在当宽度小于最小值时生效
|
||||
mount: document.querySelector('.artplayer-danmuku'),
|
||||
text: '', // 弹幕文本
|
||||
time: 10, // 弹幕时间, 默认为当前播放器时间
|
||||
mode: 0, // 弹幕模式: 0: 滚动(默认),1: 顶部,2: 底部
|
||||
color: '#FFFFFF', // 弹幕颜色,默认为白色
|
||||
border: false, // 弹幕是否有描边, 默认为 false
|
||||
style: {}, // 弹幕自定义样式, 默认为空对象
|
||||
escape: true, // 弹幕文本是否转义, 默认为 true
|
||||
}
|
||||
```
|
||||
|
||||
## Using Danmuku Array
|
||||
## 全部选项
|
||||
|
||||
只有`danmuku`是必须的参数,其余都是非必填
|
||||
|
||||
```js
|
||||
{
|
||||
danmuku: [], // 弹幕源
|
||||
speed: 5, // 弹幕持续时间,范围在[1 ~ 10]
|
||||
margin: [10, '25%'], // 弹幕上下边距,支持像素数字和百分比
|
||||
opacity: 1, // 弹幕透明度,范围在[0 ~ 1]
|
||||
color: '#FFFFFF', // 默认弹幕颜色,可以被单独弹幕项覆盖
|
||||
mode: 0, // 默认弹幕模式: 0: 滚动,1: 顶部,2: 底部
|
||||
modes: [0, 1, 2], // 弹幕可见的模式
|
||||
fontSize: 25, // 弹幕字体大小,支持像素数字和百分比
|
||||
antiOverlap: true, // 弹幕是否防重叠
|
||||
synchronousPlayback: false, // 是否同步播放速度
|
||||
mount: undefined, // 弹幕发射器挂载点, 默认为播放器控制栏中部
|
||||
heatmap: false, // 是否开启热力图
|
||||
points: [], // 热力图数据
|
||||
filter: () => true, // 弹幕载入前的过滤器,只支持返回布尔值
|
||||
beforeEmit: () => true, // 弹幕发送前的过滤器,支持返回 Promise
|
||||
beforeVisible: () => true, // 弹幕显示前的过滤器,支持返回 Promise
|
||||
visible: true, // 弹幕层是否可见
|
||||
maxLength: 200, // 弹幕输入框最大长度, 范围在[1 ~ 1000]
|
||||
lockTime: 5, // 输入框锁定时间,范围在[1 ~ 60]
|
||||
theme: 'dark', // 弹幕主题,支持 dark 和 light,只在自定义挂载时生效
|
||||
}
|
||||
```
|
||||
|
||||
## 生命周期
|
||||
|
||||
来自用户输入的弹幕:
|
||||
|
||||
`beforeEmit -> filter -> beforeVisible -> artplayerPluginDanmuku:visible`
|
||||
|
||||
来自服务器的弹幕:
|
||||
|
||||
`filter -> beforeVisible -> artplayerPluginDanmuku:visible`
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
</div>
|
||||
|
||||
```js
|
||||
// 保存到数据库
|
||||
function saveDanmu(danmu) {
|
||||
return new Promise(resolve => {
|
||||
setTimeout(() => {
|
||||
resolve(true);
|
||||
}, 1000);
|
||||
})
|
||||
}
|
||||
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
|
||||
// 这是用户在输入框输入弹幕文本,然后点击发送按钮后触发的函数
|
||||
// 你可以对弹幕做合法校验,或者做存库处理
|
||||
// 当返回true后才表示把弹幕加入到弹幕队列
|
||||
async beforeEmit(danmu) {
|
||||
const isDirty = (/fuck/i).test(danmu.text);
|
||||
if (isDirty) return false;
|
||||
const state = await saveDanmu(danmu);
|
||||
return state;
|
||||
},
|
||||
|
||||
// 这里是所有弹幕的过滤器,包含来自服务端的和来自用户输入的
|
||||
// 你可以对弹幕做合法校验
|
||||
// 当返回true后才表示把弹幕加入到弹幕队列
|
||||
filter(danmu) {
|
||||
return danmu.text.length <= 200;
|
||||
},
|
||||
|
||||
// 这是弹幕即将显示的时触发的函数
|
||||
// 你可以对弹幕做合法校验
|
||||
// 当返回true后才表示可以马上发送到播放器里
|
||||
async beforeVisible(danmu) {
|
||||
return true;
|
||||
},
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
// 弹幕已经出现在播放器里,你可以访问到弹幕的dom元素里
|
||||
art.on('artplayerPluginDanmuku:visible', danmu => {
|
||||
danmu.$ref.innerHTML = 'ଘ(੭ˊᵕˋ)੭: ' + danmu.$ref.innerHTML;
|
||||
})
|
||||
```
|
||||
|
||||
## 使用弹幕数组
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
@@ -77,31 +159,11 @@ https://unpkg.com/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
setting: true,
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
// Danmuku array
|
||||
danmuku: [
|
||||
{
|
||||
text: '111', // Danmuku text
|
||||
time: 1, // Send time, in seconds
|
||||
color: '#fff', // Danmuku local color
|
||||
border: false, // Whether to display outline
|
||||
mode: 0, // Danmuku mode: 0 for scrolling, 1 for stationary
|
||||
},
|
||||
{
|
||||
text: '222',
|
||||
time: 2,
|
||||
color: 'red',
|
||||
border: true,
|
||||
mode: 0,
|
||||
},
|
||||
{
|
||||
text: '333',
|
||||
time: 3,
|
||||
color: 'green',
|
||||
border: false,
|
||||
mode: 1,
|
||||
text: '使用数组',
|
||||
},
|
||||
],
|
||||
}),
|
||||
@@ -109,7 +171,9 @@ var art = new Artplayer({
|
||||
});
|
||||
```
|
||||
|
||||
## Using Danmuku XML
|
||||
## 使用弹幕 XML
|
||||
|
||||
弹幕 XML 文件,和 Bilibili 网站的弹幕格式一致
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
@@ -121,14 +185,13 @@ var art = new Artplayer({
|
||||
url: '/assets/sample/video.mp4',
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
// Danmuku XML file, consistent with the danmuku format of the Bilibili website
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
}),
|
||||
],
|
||||
});
|
||||
```
|
||||
|
||||
## Using Asynchronous Call
|
||||
## 使用异步返回
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
@@ -140,21 +203,11 @@ var art = new Artplayer({
|
||||
url: '/assets/sample/video.mp4',
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
// Use Promise to return asynchronously
|
||||
danmuku: function () {
|
||||
return new Promise((resolve) => {
|
||||
return resolve([
|
||||
return new Promise((resovle) => {
|
||||
return resovle([
|
||||
{
|
||||
text: '111',
|
||||
time: 1,
|
||||
},
|
||||
{
|
||||
text: '222',
|
||||
time: 2,
|
||||
},
|
||||
{
|
||||
text: '333',
|
||||
time: 3,
|
||||
text: '使用 Promise 异步返回',
|
||||
},
|
||||
]);
|
||||
});
|
||||
@@ -166,7 +219,7 @@ var art = new Artplayer({
|
||||
|
||||
## `hide/show`
|
||||
|
||||
Hide or show the bullet comments with the methods `hide` and `show`.
|
||||
通过方法 `hide` 和 `show` 进行隐藏或者显示弹幕
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
@@ -184,14 +237,14 @@ var art = new Artplayer({
|
||||
controls: [
|
||||
{
|
||||
position: 'right',
|
||||
html: 'Hide Danmuku',
|
||||
html: '隐藏弹幕',
|
||||
click: function () {
|
||||
art.plugins.artplayerPluginDanmuku.hide();
|
||||
},
|
||||
},
|
||||
{
|
||||
position: 'right',
|
||||
html: 'Show Danmuku',
|
||||
html: '显示弹幕',
|
||||
click: function () {
|
||||
art.plugins.artplayerPluginDanmuku.show();
|
||||
},
|
||||
@@ -199,9 +252,10 @@ var art = new Artplayer({
|
||||
],
|
||||
});
|
||||
```
|
||||
|
||||
## `isHide`
|
||||
|
||||
Judge whether the current barrage is hidden or displayed with the `isHide` property.
|
||||
通过属性 `isHide` 判断当前弹幕是隐藏或者显示
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
@@ -219,14 +273,14 @@ var art = new Artplayer({
|
||||
controls: [
|
||||
{
|
||||
position: 'right',
|
||||
html: 'Hide Barrage',
|
||||
html: '隐藏弹幕',
|
||||
click: function (_, event) {
|
||||
if (art.plugins.artplayerPluginDanmuku.isHide) {
|
||||
art.plugins.artplayerPluginDanmuku.show();
|
||||
event.target.innerText = 'Hide Barrage';
|
||||
event.target.innerText = '隐藏弹幕';
|
||||
} else {
|
||||
art.plugins.artplayerPluginDanmuku.hide();
|
||||
event.target.innerText = 'Show Barrage';
|
||||
event.target.innerText = '显示弹幕';
|
||||
}
|
||||
},
|
||||
},
|
||||
@@ -236,7 +290,7 @@ var art = new Artplayer({
|
||||
|
||||
## `emit`
|
||||
|
||||
Send a real-time danmaku message through the `emit` method
|
||||
通过方法 `emit` 发送一条实时弹幕
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
@@ -254,9 +308,9 @@ var art = new Artplayer({
|
||||
controls: [
|
||||
{
|
||||
position: 'right',
|
||||
html: 'Send Danmaku',
|
||||
html: '发送弹幕',
|
||||
click: function () {
|
||||
var text = prompt('Please enter the danmaku text', 'Danmaku test text');
|
||||
var text = prompt('请输入弹幕文本', '弹幕测试文本');
|
||||
if (!text || !text.trim()) return;
|
||||
var color = '#' + Math.floor(Math.random() * 0xffffff).toString(16);
|
||||
art.plugins.artplayerPluginDanmuku.emit({
|
||||
@@ -269,22 +323,10 @@ var art = new Artplayer({
|
||||
],
|
||||
});
|
||||
```
|
||||
|
||||
## `config`
|
||||
|
||||
Change the barrage configuration in real-time with the `config` method, supported attributes include:
|
||||
|
||||
- `danmuku`
|
||||
- `speed`
|
||||
- `opacity`
|
||||
- `fontSize`
|
||||
- `color`
|
||||
- `mode`
|
||||
- `margin`
|
||||
- `antiOverlap`
|
||||
- `synchronousPlayback`
|
||||
- `filter`
|
||||
- `lockTime`
|
||||
- `beforeEmit`
|
||||
通过方法 `config` 实时改变弹幕配置
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
@@ -302,7 +344,7 @@ var art = new Artplayer({
|
||||
controls: [
|
||||
{
|
||||
position: 'right',
|
||||
html: 'Danmaku size:<input type="range" min="12" max="50" step="1" value="25">',
|
||||
html: '弹幕大小:<input type="range" min="12" max="50" step="1" value="25">',
|
||||
style: {
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
@@ -319,9 +361,10 @@ var art = new Artplayer({
|
||||
],
|
||||
});
|
||||
```
|
||||
|
||||
## `load`
|
||||
|
||||
The load method can be used to reload the danmu data source or switch to new danmu.
|
||||
通过 load 方法可以重载弹幕源,或者切换新弹幕
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
@@ -339,14 +382,14 @@ var art = new Artplayer({
|
||||
controls: [
|
||||
{
|
||||
position: 'right',
|
||||
html: 'Reload Danmu',
|
||||
html: '重载弹幕',
|
||||
click: function () {
|
||||
art.plugins.artplayerPluginDanmuku.load();
|
||||
},
|
||||
},
|
||||
{
|
||||
position: 'right',
|
||||
html: 'Switch Danmu',
|
||||
html: '切换弹幕',
|
||||
click: function () {
|
||||
art.plugins.artplayerPluginDanmuku.config({
|
||||
danmuku: '/assets/sample/danmuku-v2.xml',
|
||||
@@ -357,9 +400,10 @@ var art = new Artplayer({
|
||||
],
|
||||
});
|
||||
```
|
||||
|
||||
## `reset`
|
||||
|
||||
Used to clear the current displayed barrages
|
||||
用于清空当前显示的弹幕
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
@@ -369,7 +413,6 @@ Used to clear the current displayed barrages
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
setting: true,
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
@@ -382,9 +425,38 @@ art.on('resize', () => {
|
||||
});
|
||||
```
|
||||
|
||||
## `mount`
|
||||
|
||||
在初始化弹幕插件的时候,是可以指定弹幕发射器的挂载位置的,默认是挂载在控制栏的中部,你也可以把它挂载在播放器以外的地方。
|
||||
当播放器全屏的时候,发射器会自动回到控制栏的中部。假如你挂载的地方是亮色的话,建议把 `theme` 设置成 `light`,否则会看不清。
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
</div>
|
||||
|
||||
```js
|
||||
var $danmu = document.querySelector('.artplayer-app');
|
||||
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
fullscreenWeb: true,
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
mount: $danmu,
|
||||
theme: 'dark',
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
// 也可以手动挂载
|
||||
// art.plugins.artplayerPluginDanmuku.mount($danmu);
|
||||
```
|
||||
|
||||
## `option`
|
||||
|
||||
Used to get the current barrage configuration
|
||||
用于获取当前弹幕配置
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
@@ -394,7 +466,6 @@ Used to get the current barrage configuration
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
setting: true,
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
@@ -407,13 +478,12 @@ art.on('ready', () => {
|
||||
});
|
||||
```
|
||||
|
||||
## Event
|
||||
## 事件
|
||||
|
||||
```js
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
setting: true,
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
@@ -421,6 +491,10 @@ var art = new Artplayer({
|
||||
],
|
||||
});
|
||||
|
||||
art.on('artplayerPluginDanmuku:visible', (danmu) => {
|
||||
console.info('显示弹幕', danmu);
|
||||
});
|
||||
|
||||
art.on('artplayerPluginDanmuku:emit', (danmu) => {
|
||||
console.info('新增弹幕', danmu);
|
||||
});
|
||||
|
||||
@@ -40,33 +40,115 @@ https://unpkg.com/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js
|
||||
|
||||
:::
|
||||
|
||||
## 选项
|
||||
## 弹幕结构
|
||||
|
||||
每一个弹幕是一个对象,多个弹幕组成的数组就是弹幕源,通常只需要`text`就可以发送一个弹幕,其余都是非必要参数
|
||||
|
||||
```js
|
||||
{
|
||||
danmuku: [], // 弹幕库,支持数组, xml 地址, Promise返回数组
|
||||
speed: 5, // 弹幕持续时间,单位秒,范围在[1 ~ 10]
|
||||
opacity: 1, // 弹幕透明度,范围在[0 ~ 1]
|
||||
fontSize: 25, // 字体大小,支持数字和百分比
|
||||
color: '#FFFFFF', // 默认字体颜色
|
||||
mode: 0, // 默认模式,0-滚动,1-静止
|
||||
margin: [10, '25%'], // 弹幕上下边距,支持数字和百分比
|
||||
antiOverlap: true, // 是否防重叠
|
||||
useWorker: true, // 是否使用 web worker
|
||||
synchronousPlayback: false, // 是否同步到播放速度
|
||||
filter: (danmu) => danmu.text.length < 50, // 弹幕过滤函数,返回 true 则可以发送
|
||||
lockTime: 5, // 输入框锁定时间,单位秒,范围在[1 ~ 60]
|
||||
maxLength: 100, // 输入框最大可输入的字数,范围在[0 ~ 500]
|
||||
minWidth: 200, // 输入框最小宽度,范围在[0 ~ 500],填 0 则为无限制
|
||||
maxWidth: 400, // 输入框最大宽度,范围在[0 ~ Infinity],填 0 则为 100% 宽度
|
||||
theme: 'dark', // 输入框自定义挂载时的主题色,默认为 dark,可以选填亮色 light
|
||||
heatmap: true, // 是否开启弹幕热度图, 默认为 false
|
||||
beforeEmit: (danmu) => !!danmu.text.trim(), // 发送弹幕前的自定义校验,返回 true 则可以发送
|
||||
// 通过 mount 选项可以自定义输入框挂载的位置,默认挂载于播放器底部,仅在当宽度小于最小值时生效
|
||||
mount: document.querySelector('.artplayer-danmuku'),
|
||||
text: '', // 弹幕文本
|
||||
time: 10, // 弹幕时间, 默认为当前播放器时间
|
||||
mode: 0, // 弹幕模式: 0: 滚动(默认),1: 顶部,2: 底部
|
||||
color: '#FFFFFF', // 弹幕颜色,默认为白色
|
||||
border: false, // 弹幕是否有描边, 默认为 false
|
||||
style: {}, // 弹幕自定义样式, 默认为空对象
|
||||
escape: true, // 弹幕文本是否转义, 默认为 true
|
||||
}
|
||||
```
|
||||
|
||||
## 全部选项
|
||||
|
||||
只有`danmuku`是必须的参数,其余都是非必填
|
||||
|
||||
```js
|
||||
{
|
||||
danmuku: [], // 弹幕源
|
||||
speed: 5, // 弹幕持续时间,范围在[1 ~ 10]
|
||||
margin: [10, '25%'], // 弹幕上下边距,支持像素数字和百分比
|
||||
opacity: 1, // 弹幕透明度,范围在[0 ~ 1]
|
||||
color: '#FFFFFF', // 默认弹幕颜色,可以被单独弹幕项覆盖
|
||||
mode: 0, // 默认弹幕模式: 0: 滚动,1: 顶部,2: 底部
|
||||
modes: [0, 1, 2], // 弹幕可见的模式
|
||||
fontSize: 25, // 弹幕字体大小,支持像素数字和百分比
|
||||
antiOverlap: true, // 弹幕是否防重叠
|
||||
synchronousPlayback: false, // 是否同步播放速度
|
||||
mount: undefined, // 弹幕发射器挂载点, 默认为播放器控制栏中部
|
||||
heatmap: false, // 是否开启热力图
|
||||
points: [], // 热力图数据
|
||||
filter: () => true, // 弹幕载入前的过滤器,只支持返回布尔值
|
||||
beforeEmit: () => true, // 弹幕发送前的过滤器,支持返回 Promise
|
||||
beforeVisible: () => true, // 弹幕显示前的过滤器,支持返回 Promise
|
||||
visible: true, // 弹幕层是否可见
|
||||
maxLength: 200, // 弹幕输入框最大长度, 范围在[1 ~ 1000]
|
||||
lockTime: 5, // 输入框锁定时间,范围在[1 ~ 60]
|
||||
theme: 'dark', // 弹幕主题,支持 dark 和 light,只在自定义挂载时生效
|
||||
}
|
||||
```
|
||||
|
||||
## 生命周期
|
||||
|
||||
来自用户输入的弹幕:
|
||||
|
||||
`beforeEmit -> filter -> beforeVisible -> artplayerPluginDanmuku:visible`
|
||||
|
||||
来自服务器的弹幕:
|
||||
|
||||
`filter -> beforeVisible -> artplayerPluginDanmuku:visible`
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
</div>
|
||||
|
||||
```js
|
||||
// 保存到数据库
|
||||
function saveDanmu(danmu) {
|
||||
return new Promise(resolve => {
|
||||
setTimeout(() => {
|
||||
resolve(true);
|
||||
}, 1000);
|
||||
})
|
||||
}
|
||||
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
|
||||
// 这是用户在输入框输入弹幕文本,然后点击发送按钮后触发的函数
|
||||
// 你可以对弹幕做合法校验,或者做存库处理
|
||||
// 当返回true后才表示把弹幕加入到弹幕队列
|
||||
async beforeEmit(danmu) {
|
||||
const isDirty = (/fuck/i).test(danmu.text);
|
||||
if (isDirty) return false;
|
||||
const state = await saveDanmu(danmu);
|
||||
return state;
|
||||
},
|
||||
|
||||
// 这里是所有弹幕的过滤器,包含来自服务端的和来自用户输入的
|
||||
// 你可以对弹幕做合法校验
|
||||
// 当返回true后才表示把弹幕加入到弹幕队列
|
||||
filter(danmu) {
|
||||
return danmu.text.length <= 200;
|
||||
},
|
||||
|
||||
// 这是弹幕即将显示的时触发的函数
|
||||
// 你可以对弹幕做合法校验
|
||||
// 当返回true后才表示可以马上发送到播放器里
|
||||
async beforeVisible(danmu) {
|
||||
return true;
|
||||
},
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
// 弹幕已经出现在播放器里,你可以访问到弹幕的dom元素里
|
||||
art.on('artplayerPluginDanmuku:visible', danmu => {
|
||||
danmu.$ref.innerHTML = 'ଘ(੭ˊᵕˋ)੭: ' + danmu.$ref.innerHTML;
|
||||
})
|
||||
```
|
||||
|
||||
## 使用弹幕数组
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
@@ -77,31 +159,11 @@ https://unpkg.com/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
setting: true,
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
// 弹幕数组
|
||||
danmuku: [
|
||||
{
|
||||
text: '111', // 弹幕文本
|
||||
time: 1, // 发送时间,单位秒
|
||||
color: '#fff', // 弹幕局部颜色
|
||||
border: false, // 是否显示描边
|
||||
mode: 0, // 弹幕模式: 0表示滚动, 1静止
|
||||
},
|
||||
{
|
||||
text: '222',
|
||||
time: 2,
|
||||
color: 'red',
|
||||
border: true,
|
||||
mode: 0,
|
||||
},
|
||||
{
|
||||
text: '333',
|
||||
time: 3,
|
||||
color: 'green',
|
||||
border: false,
|
||||
mode: 1,
|
||||
text: '使用数组',
|
||||
},
|
||||
],
|
||||
}),
|
||||
@@ -111,6 +173,8 @@ var art = new Artplayer({
|
||||
|
||||
## 使用弹幕 XML
|
||||
|
||||
弹幕 XML 文件,和 Bilibili 网站的弹幕格式一致
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
</div>
|
||||
@@ -121,14 +185,13 @@ var art = new Artplayer({
|
||||
url: '/assets/sample/video.mp4',
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
// 弹幕 XML 文件,和 Bilibili 网站的弹幕格式一致
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
}),
|
||||
],
|
||||
});
|
||||
```
|
||||
|
||||
## 使用异步调用
|
||||
## 使用异步返回
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
@@ -140,21 +203,11 @@ var art = new Artplayer({
|
||||
url: '/assets/sample/video.mp4',
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
// 使用 Promise 异步返回
|
||||
danmuku: function () {
|
||||
return new Promise((resovle) => {
|
||||
return resovle([
|
||||
{
|
||||
text: '111',
|
||||
time: 1,
|
||||
},
|
||||
{
|
||||
text: '222',
|
||||
time: 2,
|
||||
},
|
||||
{
|
||||
text: '333',
|
||||
time: 3,
|
||||
text: '使用 Promise 异步返回',
|
||||
},
|
||||
]);
|
||||
});
|
||||
@@ -273,20 +326,7 @@ var art = new Artplayer({
|
||||
|
||||
## `config`
|
||||
|
||||
通过方法 `config` 实时改变弹幕配置,支持属性有:
|
||||
|
||||
- `danmuku`
|
||||
- `speed`
|
||||
- `opacity`
|
||||
- `fontSize`
|
||||
- `color`
|
||||
- `mode`
|
||||
- `margin`
|
||||
- `antiOverlap`
|
||||
- `synchronousPlayback`
|
||||
- `filter`
|
||||
- `lockTime`
|
||||
- `beforeEmit`
|
||||
通过方法 `config` 实时改变弹幕配置
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
@@ -373,7 +413,6 @@ var art = new Artplayer({
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
setting: true,
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
@@ -386,6 +425,35 @@ art.on('resize', () => {
|
||||
});
|
||||
```
|
||||
|
||||
## `mount`
|
||||
|
||||
在初始化弹幕插件的时候,是可以指定弹幕发射器的挂载位置的,默认是挂载在控制栏的中部,你也可以把它挂载在播放器以外的地方。
|
||||
当播放器全屏的时候,发射器会自动回到控制栏的中部。假如你挂载的地方是亮色的话,建议把 `theme` 设置成 `light`,否则会看不清。
|
||||
|
||||
<div className="run-code" data-libs="./uncompiled/artplayer-plugin-danmuku/index.js">
|
||||
▶ Run Code
|
||||
</div>
|
||||
|
||||
```js
|
||||
var $danmu = document.querySelector('.artplayer-app');
|
||||
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
fullscreenWeb: true,
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
mount: $danmu,
|
||||
theme: 'dark',
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
// 也可以手动挂载
|
||||
// art.plugins.artplayerPluginDanmuku.mount($danmu);
|
||||
```
|
||||
|
||||
## `option`
|
||||
|
||||
用于获取当前弹幕配置
|
||||
@@ -398,7 +466,6 @@ art.on('resize', () => {
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
setting: true,
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
@@ -417,7 +484,6 @@ art.on('ready', () => {
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
setting: true,
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
@@ -425,6 +491,10 @@ var art = new Artplayer({
|
||||
],
|
||||
});
|
||||
|
||||
art.on('artplayerPluginDanmuku:visible', (danmu) => {
|
||||
console.info('显示弹幕', danmu);
|
||||
});
|
||||
|
||||
art.on('artplayerPluginDanmuku:emit', (danmu) => {
|
||||
console.info('新增弹幕', danmu);
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user