From 6cbb31933d5a31c1f2e36436b13c8ddc5665a389 Mon Sep 17 00:00:00 2001 From: jingqiwei Date: Wed, 21 Jun 2023 10:50:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=E7=BB=84=E4=BB=B6=E6=BA=90?= =?UTF-8?q?=E7=A0=81=E5=92=8C=E4=BB=8B=E7=BB=8D=E6=96=87=E6=A1=A3=E6=BA=90?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 26 + .npmignore | 24 + .vscode/extensions.json | 3 + README.md | 57 + dist/favicon.ico | Bin 0 -> 4286 bytes dist/q-ui.js | 456 + dist/q-ui.umd.cjs | 1 + dist/style.css | 1 + docs/.vitepress/cache/deps/_metadata.json | 13 + docs/.vitepress/cache/deps/package.json | 3 + docs/.vitepress/cache/deps/vue.js | 10795 ++++++++++++++++ docs/.vitepress/cache/deps/vue.js.map | 7 + docs/.vitepress/config.ts | 126 + docs/.vitepress/dist/404.html | 20 + docs/.vitepress/dist/assets/app.1e0108a1.js | 1 + .../chunks/@localSearchIndexroot.9006b9da.js | 1 + .../chunks/VPLocalSearchBox.12a3dd91.js | 7 + .../dist/assets/chunks/framework.dc35932b.js | 2 + .../dist/assets/chunks/q-ui.bc6b1064.js | 1 + .../dist/assets/chunks/theme.0d1c29fb.js | 7 + ...guide_components_breadcrumb.md.56a47eca.js | 77 + ..._components_breadcrumb.md.56a47eca.lean.js | 77 + .../guide_components_button.md.881ed501.js | 42 + ...uide_components_button.md.881ed501.lean.js | 42 + .../guide_components_select.md.880efa1b.js | 317 + ...uide_components_select.md.880efa1b.lean.js | 317 + .../dist/assets/guide_features.md.009e63d0.js | 1 + .../assets/guide_features.md.009e63d0.lean.js | 1 + .../dist/assets/guide_started.md.0f3c8d50.js | 11 + .../assets/guide_started.md.0f3c8d50.lean.js | 1 + .../dist/assets/index.md.eac6bc54.js | 1 + .../dist/assets/index.md.eac6bc54.lean.js | 1 + .../inter-italic-cyrillic-ext.33bd5a8e.woff2 | Bin 0 -> 28332 bytes .../inter-italic-cyrillic.ea42a392.woff2 | Bin 0 -> 17824 bytes .../inter-italic-greek-ext.4fbe9427.woff2 | Bin 0 -> 12188 bytes .../assets/inter-italic-greek.8f4463c4.woff2 | Bin 0 -> 23264 bytes .../inter-italic-latin-ext.bd8920cc.woff2 | Bin 0 -> 63552 bytes .../assets/inter-italic-latin.bd3b6f56.woff2 | Bin 0 -> 46048 bytes .../inter-italic-vietnamese.6ce511fb.woff2 | Bin 0 -> 8784 bytes .../inter-roman-cyrillic-ext.e75737ce.woff2 | Bin 0 -> 26600 bytes .../inter-roman-cyrillic.5f2c6c8c.woff2 | Bin 0 -> 16780 bytes .../inter-roman-greek-ext.ab0619bc.woff2 | Bin 0 -> 11808 bytes .../assets/inter-roman-greek.d5a6d92a.woff2 | Bin 0 -> 21776 bytes .../inter-roman-latin-ext.0030eebd.woff2 | Bin 0 -> 59608 bytes .../assets/inter-roman-latin.2ed14f66.woff2 | Bin 0 -> 42464 bytes .../inter-roman-vietnamese.14ce25a6.woff2 | Bin 0 -> 8492 bytes .../.vitepress/dist/assets/style.081ce8a1.css | 1 + .../assets/utils_date-format.md.e268d2ac.js | 54 + .../utils_date-format.md.e268d2ac.lean.js | 1 + .../dist/assets/utils_debounce.md.8acddf5b.js | 24 + .../assets/utils_debounce.md.8acddf5b.lean.js | 24 + .../assets/utils_download-file.md.45802505.js | 31 + .../utils_download-file.md.45802505.lean.js | 1 + .../dist/assets/utils_started.md.23925c67.js | 3 + .../assets/utils_started.md.23925c67.lean.js | 1 + .../dist/assets/utils_throttle.md.acac61bf.js | 28 + .../assets/utils_throttle.md.acac61bf.lean.js | 28 + .../dist/guide/components/breadcrumb.html | 99 + .../dist/guide/components/button.html | 64 + .../dist/guide/components/select.html | 339 + docs/.vitepress/dist/guide/features.html | 23 + docs/.vitepress/dist/guide/started.html | 33 + docs/.vitepress/dist/hashmap.json | 1 + docs/.vitepress/dist/index.html | 23 + docs/.vitepress/dist/logo.png | Bin 0 -> 42620 bytes docs/.vitepress/dist/utils/date-format.html | 76 + docs/.vitepress/dist/utils/debounce.html | 47 + docs/.vitepress/dist/utils/download-file.html | 53 + docs/.vitepress/dist/utils/started.html | 25 + docs/.vitepress/dist/utils/throttle.html | 51 + docs/.vitepress/theme/env.d.ts | 6 + docs/.vitepress/theme/global.scss | 149 + docs/.vitepress/theme/index.ts | 11 + docs/.vitepress/utils/fetchVersion.ts | 26 + docs/guide/components/breadcrumb.md | 172 + docs/guide/components/button.md | 158 + docs/guide/components/select.md | 572 + docs/guide/features.md | 11 + docs/guide/started.md | 39 + docs/index.md | 34 + docs/public/logo.png | Bin 0 -> 42620 bytes docs/utils/date-format.md | 123 + docs/utils/debounce.md | 72 + docs/utils/download-file.md | 56 + docs/utils/started.md | 27 + docs/utils/throttle.md | 76 + env.d.ts | 8 + index.html | 13 + package-lock.json | 6073 +++++++++ package.json | 64 + packages/Breadcrumb/index.scss | 45 + packages/Breadcrumb/index.ts | 9 + packages/Breadcrumb/index.vue | 77 + packages/Button/index.scss | 260 + packages/Button/index.ts | 9 + packages/Button/index.vue | 59 + packages/Select/index.scss | 140 + packages/Select/index.ts | 9 + packages/Select/index.vue | 193 + packages/index.ts | 28 + packages/style/index.scss | 41 + packages/utils/index.ts | 111 + public/favicon.ico | Bin 0 -> 4286 bytes script/deploy.sh | 28 + script/publish.sh | 29 + src/App.vue | 18 + src/assets/base.css | 78 + src/assets/logo.svg | 1 + src/assets/main.scss | 41 + src/components/Markdown.vue | 13 + src/components/Preview.vue | 84 + src/components/TopNav.vue | 53 + src/main.ts | 13 + src/markdown/getStarted.md | 24 + src/markdown/intro.md | 11 + src/router/index.ts | 11 + .../doc/QButton/QButton-basics.preview.vue | 9 + .../doc/QButton/QButton-disabled.preview.vue | 9 + .../doc/QButton/QButton-loading.preview.vue | 9 + src/views/doc/QButton/index.vue | 19 + src/views/doc/QSelect/index.vue | 16 + src/views/doc/index.vue | 38 + tsconfig.app.json | 12 + tsconfig.json | 11 + tsconfig.node.json | 9 + vite.config.ts | 68 + 126 files changed, 22744 insertions(+) create mode 100644 .gitignore create mode 100644 .npmignore create mode 100644 .vscode/extensions.json create mode 100644 README.md create mode 100644 dist/favicon.ico create mode 100644 dist/q-ui.js create mode 100644 dist/q-ui.umd.cjs create mode 100644 dist/style.css create mode 100644 docs/.vitepress/cache/deps/_metadata.json create mode 100644 docs/.vitepress/cache/deps/package.json create mode 100644 docs/.vitepress/cache/deps/vue.js create mode 100644 docs/.vitepress/cache/deps/vue.js.map create mode 100644 docs/.vitepress/config.ts create mode 100644 docs/.vitepress/dist/404.html create mode 100644 docs/.vitepress/dist/assets/app.1e0108a1.js create mode 100644 docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.9006b9da.js create mode 100644 docs/.vitepress/dist/assets/chunks/VPLocalSearchBox.12a3dd91.js create mode 100644 docs/.vitepress/dist/assets/chunks/framework.dc35932b.js create mode 100644 docs/.vitepress/dist/assets/chunks/q-ui.bc6b1064.js create mode 100644 docs/.vitepress/dist/assets/chunks/theme.0d1c29fb.js create mode 100644 docs/.vitepress/dist/assets/guide_components_breadcrumb.md.56a47eca.js create mode 100644 docs/.vitepress/dist/assets/guide_components_breadcrumb.md.56a47eca.lean.js create mode 100644 docs/.vitepress/dist/assets/guide_components_button.md.881ed501.js create mode 100644 docs/.vitepress/dist/assets/guide_components_button.md.881ed501.lean.js create mode 100644 docs/.vitepress/dist/assets/guide_components_select.md.880efa1b.js create mode 100644 docs/.vitepress/dist/assets/guide_components_select.md.880efa1b.lean.js create mode 100644 docs/.vitepress/dist/assets/guide_features.md.009e63d0.js create mode 100644 docs/.vitepress/dist/assets/guide_features.md.009e63d0.lean.js create mode 100644 docs/.vitepress/dist/assets/guide_started.md.0f3c8d50.js create mode 100644 docs/.vitepress/dist/assets/guide_started.md.0f3c8d50.lean.js create mode 100644 docs/.vitepress/dist/assets/index.md.eac6bc54.js create mode 100644 docs/.vitepress/dist/assets/index.md.eac6bc54.lean.js create mode 100644 docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2 create mode 100644 docs/.vitepress/dist/assets/inter-italic-cyrillic.ea42a392.woff2 create mode 100644 docs/.vitepress/dist/assets/inter-italic-greek-ext.4fbe9427.woff2 create mode 100644 docs/.vitepress/dist/assets/inter-italic-greek.8f4463c4.woff2 create mode 100644 docs/.vitepress/dist/assets/inter-italic-latin-ext.bd8920cc.woff2 create mode 100644 docs/.vitepress/dist/assets/inter-italic-latin.bd3b6f56.woff2 create mode 100644 docs/.vitepress/dist/assets/inter-italic-vietnamese.6ce511fb.woff2 create mode 100644 docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.e75737ce.woff2 create mode 100644 docs/.vitepress/dist/assets/inter-roman-cyrillic.5f2c6c8c.woff2 create mode 100644 docs/.vitepress/dist/assets/inter-roman-greek-ext.ab0619bc.woff2 create mode 100644 docs/.vitepress/dist/assets/inter-roman-greek.d5a6d92a.woff2 create mode 100644 docs/.vitepress/dist/assets/inter-roman-latin-ext.0030eebd.woff2 create mode 100644 docs/.vitepress/dist/assets/inter-roman-latin.2ed14f66.woff2 create mode 100644 docs/.vitepress/dist/assets/inter-roman-vietnamese.14ce25a6.woff2 create mode 100644 docs/.vitepress/dist/assets/style.081ce8a1.css create mode 100644 docs/.vitepress/dist/assets/utils_date-format.md.e268d2ac.js create mode 100644 docs/.vitepress/dist/assets/utils_date-format.md.e268d2ac.lean.js create mode 100644 docs/.vitepress/dist/assets/utils_debounce.md.8acddf5b.js create mode 100644 docs/.vitepress/dist/assets/utils_debounce.md.8acddf5b.lean.js create mode 100644 docs/.vitepress/dist/assets/utils_download-file.md.45802505.js create mode 100644 docs/.vitepress/dist/assets/utils_download-file.md.45802505.lean.js create mode 100644 docs/.vitepress/dist/assets/utils_started.md.23925c67.js create mode 100644 docs/.vitepress/dist/assets/utils_started.md.23925c67.lean.js create mode 100644 docs/.vitepress/dist/assets/utils_throttle.md.acac61bf.js create mode 100644 docs/.vitepress/dist/assets/utils_throttle.md.acac61bf.lean.js create mode 100644 docs/.vitepress/dist/guide/components/breadcrumb.html create mode 100644 docs/.vitepress/dist/guide/components/button.html create mode 100644 docs/.vitepress/dist/guide/components/select.html create mode 100644 docs/.vitepress/dist/guide/features.html create mode 100644 docs/.vitepress/dist/guide/started.html create mode 100644 docs/.vitepress/dist/hashmap.json create mode 100644 docs/.vitepress/dist/index.html create mode 100644 docs/.vitepress/dist/logo.png create mode 100644 docs/.vitepress/dist/utils/date-format.html create mode 100644 docs/.vitepress/dist/utils/debounce.html create mode 100644 docs/.vitepress/dist/utils/download-file.html create mode 100644 docs/.vitepress/dist/utils/started.html create mode 100644 docs/.vitepress/dist/utils/throttle.html create mode 100644 docs/.vitepress/theme/env.d.ts create mode 100644 docs/.vitepress/theme/global.scss create mode 100644 docs/.vitepress/theme/index.ts create mode 100644 docs/.vitepress/utils/fetchVersion.ts create mode 100644 docs/guide/components/breadcrumb.md create mode 100644 docs/guide/components/button.md create mode 100644 docs/guide/components/select.md create mode 100644 docs/guide/features.md create mode 100644 docs/guide/started.md create mode 100644 docs/index.md create mode 100644 docs/public/logo.png create mode 100644 docs/utils/date-format.md create mode 100644 docs/utils/debounce.md create mode 100644 docs/utils/download-file.md create mode 100644 docs/utils/started.md create mode 100644 docs/utils/throttle.md create mode 100644 env.d.ts create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 packages/Breadcrumb/index.scss create mode 100644 packages/Breadcrumb/index.ts create mode 100644 packages/Breadcrumb/index.vue create mode 100644 packages/Button/index.scss create mode 100644 packages/Button/index.ts create mode 100644 packages/Button/index.vue create mode 100644 packages/Select/index.scss create mode 100644 packages/Select/index.ts create mode 100644 packages/Select/index.vue create mode 100644 packages/index.ts create mode 100644 packages/style/index.scss create mode 100644 packages/utils/index.ts create mode 100644 public/favicon.ico create mode 100644 script/deploy.sh create mode 100644 script/publish.sh create mode 100644 src/App.vue create mode 100644 src/assets/base.css create mode 100644 src/assets/logo.svg create mode 100644 src/assets/main.scss create mode 100644 src/components/Markdown.vue create mode 100644 src/components/Preview.vue create mode 100644 src/components/TopNav.vue create mode 100644 src/main.ts create mode 100644 src/markdown/getStarted.md create mode 100644 src/markdown/intro.md create mode 100644 src/router/index.ts create mode 100644 src/views/doc/QButton/QButton-basics.preview.vue create mode 100644 src/views/doc/QButton/QButton-disabled.preview.vue create mode 100644 src/views/doc/QButton/QButton-loading.preview.vue create mode 100644 src/views/doc/QButton/index.vue create mode 100644 src/views/doc/QSelect/index.vue create mode 100644 src/views/doc/index.vue create mode 100644 tsconfig.app.json create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..46f7c67 --- /dev/null +++ b/.gitignore @@ -0,0 +1,26 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +coverage +*.local + +docs/.vuepress/.cache +docs/.vuepress/.temp + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..8fd9f27 --- /dev/null +++ b/.npmignore @@ -0,0 +1,24 @@ +# 只有编译后的 dist 目录、package.json、README.md是需要被发布的 +# 忽略目录 +.DS_Store +.vscode/ +node_modules +packages/ +public/ +src/ +docs/ + +# 忽略指定文件 +.eslintrc.cjs +.gitignore +.npmignore +.npmrc +.prettierrc.json +components.d.ts +env.d.ts +index.html +pnpm-lock.yaml +stats.html +tsconfig.config.json +tsconfig.json +vite.config.ts diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..c0a6e5a --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..70714cc --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# Q UI + +Q UI 是一套基于 `Vue3` + `TypeScript` 开发的 UI 组件库。 + +总结前端 UI 组件库和介绍文档搭建的经验,同时封装一些项目中常用的组件,提高编码效率。 + +## 特性 + +本组件库的实现尽量不采用第三方库,主要提供 **按钮、** 等简洁易用的组件。 + +本组件库主要用于个人学习交流使用,不可用于生产环境。[源代码](https://github.com/jqw755/q-ui) 。 + +## 安装使用 + +```bash +pnpm i @jqw755/q-ui +# or +npm install @jqw755/q-ui +# or +yarn add @jqw755/q-ui +``` + +Import and register component + +**Global** + +```ts +import { createApp } from "vue" +import App from "./App.vue" + +import QUI from "@jqw755/q-ui" +import "@jqw755/q-ui/css" + +const app = createApp(App) +app.use(QUI) +``` + +**Local** + +```vue + +``` + +## Components + +| Component name | Descriptions | +| -------------- | ------------ | +| QBreadcrumb | 面包屑 | +| QButton | 按钮 | +| QSelect | 下拉菜单 | + +**Global** + +[CSDN](https://blog.csdn.net/qq_21473443) diff --git a/dist/favicon.ico b/dist/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/dist/q-ui.js b/dist/q-ui.js new file mode 100644 index 0000000..2b93dc9 --- /dev/null +++ b/dist/q-ui.js @@ -0,0 +1,456 @@ +import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, createCommentVNode, renderSlot, createTextVNode, toDisplayString, ref, watchEffect, normalizeStyle, createElementVNode, withModifiers, createVNode, Transition, withCtx, withDirectives, Fragment, renderList, vShow, pushScopeId, popScopeId } from "vue"; +const index = ""; +function dateFormat(time = Date.now(), fmt = "yyyy-MM-dd hh:mm:ss") { + let date = new Date(time); + let o = { + "M+": date.getMonth() + 1, + //月份 + "d+": date.getDate(), + //日 + "h+": date.getHours(), + //小时 + "m+": date.getMinutes(), + //分 + "s+": date.getSeconds(), + //秒 + "q+": Math.floor((date.getMonth() + 3) / 3), + //季度 + S: date.getMilliseconds() + //毫秒 + }; + if (/(y+)/.test(fmt)) + fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (let k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); + } + } + return fmt; +} +function throttle(fn, delay = 300) { + let timer; + return function() { + if (timer) { + return; + } + timer = setTimeout(() => { + fn(); + timer = null; + }, delay); + }; +} +function debounce(fn, delay = 300) { + let timer; + return function() { + if (timer) { + clearTimeout(timer); + } + timer = setTimeout(() => { + fn(); + timer = null; + }, delay); + }; +} +function copyText(text) { + return new Promise((resolve) => { + const copyInput = document.createElement("input"); + copyInput.value = text; + document.body.appendChild(copyInput); + copyInput.select(); + document.execCommand("copy"); + copyInput.remove(); + resolve(true); + }); +} +function isArrayRepeat(arr) { + var hash = {}; + for (var i in arr) { + if (hash[arr[i]]) { + return true; + } + hash[arr[i]] = true; + } + return false; +} +function downloadFile(url, name) { + var fileName = ""; + if (name) { + fileName = name; + } else { + const res = url.split("?")[0].split("/"); + fileName = res[res.length - 1]; + } + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + xhr.responseType = "blob"; + xhr.onload = function() { + if (xhr.status === 200) { + const blob = xhr.response; + const link = document.createElement("a"); + const body = document.querySelector("body"); + link.href = window.URL.createObjectURL(blob); + link.download = fileName; + link.style.display = "none"; + body == null ? void 0 : body.appendChild(link); + link.click(); + body == null ? void 0 : body.removeChild(link); + window.URL.revokeObjectURL(link.href); + } + }; + xhr.send(); +} +const _hoisted_1$2 = { + key: 0, + class: "q-loadingIndicator" +}; +const __default__$2 = { + name: "QButton" +}; +const _sfc_main$2 = /* @__PURE__ */ defineComponent({ + ...__default__$2, + props: { + type: { + type: String, + default: "default" + }, + dashed: { + type: Boolean, + default: false + }, + size: { + type: String, + default: "default" + }, + round: { + type: Boolean, + default: false + }, + disabled: { + type: Boolean, + default: false + }, + loading: { + type: Boolean, + default: false + } + }, + setup(__props) { + const props = __props; + const { type, dashed, size, round, disabled, loading } = props; + const classes = computed(() => { + return { + [`q-type-${type}`]: type, + [`q-type-dashed`]: dashed, + [`q-size-${size}`]: size, + [`is-round`]: round, + [`is-disabled`]: disabled || loading, + ["is-loading"]: loading + }; + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("button", { + class: normalizeClass(["q-button", classes.value]) + }, [ + unref(loading) ? (openBlock(), createElementBlock("span", _hoisted_1$2)) : createCommentVNode("", true), + renderSlot(_ctx.$slots, "default", {}, () => [ + createTextVNode(toDisplayString(unref(type)), 1) + ], true) + ], 2); + }; + } +}); +const index_vue_vue_type_style_index_0_scoped_4eae179c_lang = ""; +const _export_sfc = (sfc, props) => { + const target = sfc.__vccOpts || sfc; + for (const [key, val] of props) { + target[key] = val; + } + return target; +}; +const QButton = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-4eae179c"]]); +QButton.install = (app) => { + app.component(QButton.__name, QButton); +}; +const _withScopeId$1 = (n) => (pushScopeId("data-v-3b126f0b"), n = n(), popScopeId(), n); +const _hoisted_1$1 = ["title"]; +const _hoisted_2$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("path", { d: "M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z" }, null, -1)); +const _hoisted_3$1 = [ + _hoisted_2$1 +]; +const _hoisted_4$1 = ["onClick"]; +const _hoisted_5$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("path", { d: "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 01-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z" }, null, -1)); +const _hoisted_6$1 = [ + _hoisted_5$1 +]; +const _hoisted_7 = ["title", "onMouseenter", "onClick"]; +const __default__$1 = { + name: "QSelect" +}; +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + ...__default__$1, + props: { + options: { default: () => [] }, + label: { default: "label" }, + value: { default: "value" }, + placeholder: { default: "请选择" }, + disabled: { type: Boolean, default: false }, + allowClear: { type: Boolean, default: false }, + width: { default: 120 }, + height: { default: 32 }, + maxDisplay: { default: 6 }, + modelValue: { default: null } + }, + emits: ["update:modelValue", "change"], + setup(__props, { emit: emits }) { + const props = __props; + const selectedName = ref(); + const hoverValue = ref(); + const showOptions = ref(false); + const activeBlur = ref(true); + const showClose = ref(false); + const select = ref(); + watchEffect(() => { + initSelector(); + }); + function initSelector() { + if (props.modelValue) { + const target = props.options.find((option) => option[props.value] === props.modelValue); + if (target) { + selectedName.value = target[props.label]; + hoverValue.value = target[props.value]; + } else { + selectedName.value = props.modelValue; + hoverValue.value = null; + } + } else { + selectedName.value = null; + hoverValue.value = null; + } + } + function onBlur() { + if (showOptions.value) { + showOptions.value = false; + } + } + function onInputEnter() { + if (props.allowClear && selectedName.value) { + showClose.value = true; + } + } + function onInputLeave() { + if (props.allowClear && showClose.value) { + showClose.value = false; + } + } + function onHover(value) { + hoverValue.value = value; + } + function onEnter() { + activeBlur.value = false; + } + function onLeave() { + hoverValue.value = null; + activeBlur.value = true; + select.value.focus(); + } + function openSelect() { + showOptions.value = !showOptions.value; + if (!hoverValue.value && selectedName.value) { + const target = props.options.find((option) => option[props.label] === selectedName.value); + hoverValue.value = target ? target[props.value] : null; + } + } + function onClear() { + showClose.value = false; + selectedName.value = null; + hoverValue.value = null; + emits("update:modelValue"); + emits("change"); + } + function onChange(value, label, index2) { + if (props.modelValue !== value) { + selectedName.value = label; + hoverValue.value = value; + emits("update:modelValue", value); + emits("change", value, label, index2); + } + showOptions.value = false; + } + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + class: "m-select", + style: normalizeStyle(`height: ${_ctx.height}px;`) + }, [ + createElementVNode("div", { + class: normalizeClass(["m-select-wrap", { hover: !_ctx.disabled, focus: showOptions.value, disabled: _ctx.disabled }]), + style: normalizeStyle(`width: ${_ctx.width}px; height: ${_ctx.height}px;`), + tabindex: "0", + ref_key: "select", + ref: select, + onMouseenter: onInputEnter, + onMouseleave: onInputLeave, + onBlur: _cache[0] || (_cache[0] = ($event) => activeBlur.value && !_ctx.disabled ? onBlur() : () => false), + onClick: _cache[1] || (_cache[1] = ($event) => _ctx.disabled ? () => false : openSelect()) + }, [ + createElementVNode("div", { + class: normalizeClass(["u-select-input", { placeholder: !selectedName.value }]), + style: normalizeStyle(`line-height: ${_ctx.height - 2}px;`), + title: selectedName.value + }, toDisplayString(selectedName.value || _ctx.placeholder), 15, _hoisted_1$1), + (openBlock(), createElementBlock("svg", { + class: normalizeClass(["triangle", { rotate: showOptions.value, show: !showClose.value }]), + viewBox: "64 64 896 896", + "data-icon": "down", + "aria-hidden": "true", + focusable: "false" + }, _hoisted_3$1, 2)), + (openBlock(), createElementBlock("svg", { + onClick: withModifiers(onClear, ["stop"]), + class: normalizeClass(["close", { show: showClose.value }]), + focusable: "false", + "data-icon": "close-circle", + "aria-hidden": "true", + viewBox: "64 64 896 896" + }, _hoisted_6$1, 10, _hoisted_4$1)) + ], 38), + createVNode(Transition, { name: "fade" }, { + default: withCtx(() => [ + withDirectives(createElementVNode("div", { + class: "m-options-panel", + onMouseenter: onEnter, + onMouseleave: onLeave, + style: normalizeStyle(`top: ${_ctx.height + 4}px; line-height: ${_ctx.height - 10}px; max-height: ${_ctx.maxDisplay * _ctx.height + 9}px; width: ${_ctx.width}px;`) + }, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options, (option, index2) => { + return openBlock(), createElementBlock("p", { + key: index2, + class: normalizeClass([ + "u-option", + { + "option-selected": option[_ctx.label] === selectedName.value, + "option-hover": !option.disabled && option[_ctx.value] === hoverValue.value, + "option-disabled": option.disabled + } + ]), + title: option[_ctx.label], + onMouseenter: ($event) => onHover(option[_ctx.value]), + onClick: ($event) => option.disabled ? () => false : onChange(option[_ctx.value], option[_ctx.label], index2) + }, toDisplayString(option[_ctx.label]), 43, _hoisted_7); + }), 128)) + ], 36), [ + [vShow, showOptions.value] + ]) + ]), + _: 1 + }) + ], 4); + }; + } +}); +const index_vue_vue_type_style_index_0_scoped_3b126f0b_lang = ""; +const QSelect = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-3b126f0b"]]); +QSelect.install = (app) => { + app.component(QSelect.__name, QSelect); +}; +const _withScopeId = (n) => (pushScopeId("data-v-8c81a90d"), n = n(), popScopeId(), n); +const _hoisted_1 = ["href", "title", "target"]; +const _hoisted_2 = { + key: 0, + class: "u-separator" +}; +const _hoisted_3 = { + key: 1, + class: "u-arrow", + viewBox: "64 64 896 896", + "data-icon": "right", + "aria-hidden": "true", + focusable: "false" +}; +const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("path", { d: "M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z" }, null, -1)); +const _hoisted_5 = [ + _hoisted_4 +]; +const _hoisted_6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", { class: "assist" }, null, -1)); +const __default__ = { + name: "QBreadcrumb" +}; +const _sfc_main = /* @__PURE__ */ defineComponent({ + ...__default__, + props: { + routes: { default: () => [] }, + fontSize: { default: 14 }, + height: { default: 21 }, + maxWidth: { default: 180 }, + separator: { default: "" }, + target: { default: "_self" } + }, + setup(__props) { + const props = __props; + const len = computed(() => { + return props.routes.length; + }); + function getUrl(route) { + var targetUrl = route.path; + if (route.query && JSON.stringify(route.query) !== "{}") { + const query = route.query; + Object.keys(query).forEach((param, index2) => { + if (index2 === 0) { + targetUrl = targetUrl + "?" + param + "=" + query[param]; + } else { + targetUrl = targetUrl + "&" + param + "=" + query[param]; + } + }); + } + return targetUrl; + } + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + class: "m-breadcrumb", + style: normalizeStyle(`height: ${_ctx.height}px;`) + }, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.routes, (route, index2) => { + return openBlock(), createElementBlock("div", { + class: "m-bread", + key: index2 + }, [ + createElementVNode("a", { + class: normalizeClass(["u-route", { active: index2 === len.value - 1 }]), + style: normalizeStyle(`font-size: ${_ctx.fontSize}px; max-width: ${_ctx.maxWidth}px;`), + href: index2 === len.value - 1 ? "javascript:;" : getUrl(route), + title: route.name, + target: index2 === len.value - 1 ? "_self" : _ctx.target + }, toDisplayString(route.name || "--"), 15, _hoisted_1), + index2 !== len.value - 1 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [ + _ctx.separator ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(_ctx.separator), 1)) : (openBlock(), createElementBlock("svg", _hoisted_3, _hoisted_5)) + ], 64)) : createCommentVNode("", true) + ]); + }), 128)), + _hoisted_6 + ], 4); + }; + } +}); +const index_vue_vue_type_style_index_0_scoped_8c81a90d_lang = ""; +const QBreadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8c81a90d"]]); +QBreadcrumb.install = (app) => { + app.component(QBreadcrumb.__name, QBreadcrumb); +}; +const components = [QButton, QSelect, QBreadcrumb]; +const install = (app) => { + components.forEach((component) => app.component(component.name, component)); +}; +const QUI = { + install +}; +export { + QBreadcrumb, + QButton, + QSelect, + copyText, + dateFormat, + debounce, + QUI as default, + downloadFile, + isArrayRepeat, + throttle +}; diff --git a/dist/q-ui.umd.cjs b/dist/q-ui.umd.cjs new file mode 100644 index 0000000..c2bc533 --- /dev/null +++ b/dist/q-ui.umd.cjs @@ -0,0 +1 @@ +!function(e,l){"object"==typeof exports&&"undefined"!=typeof module?l(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).QUI={},e.Vue)}(this,(function(e,l){"use strict";const t={key:0,class:"q-loadingIndicator"},a=(e,l)=>{const t=e.__vccOpts||e;for(const[a,o]of l)t[a]=o;return t},o=a(l.defineComponent({name:"QButton",props:{type:{type:String,default:"default"},dashed:{type:Boolean,default:!1},size:{type:String,default:"default"},round:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},setup(e){const a=e,{type:o,dashed:n,size:u,round:i,disabled:s,loading:c}=a,r=l.computed((()=>({[`q-type-${o}`]:o,"q-type-dashed":n,[`q-size-${u}`]:u,"is-round":i,"is-disabled":s||c,"is-loading":c})));return(e,a)=>(l.openBlock(),l.createElementBlock("button",{class:l.normalizeClass(["q-button",r.value])},[l.unref(c)?(l.openBlock(),l.createElementBlock("span",t)):l.createCommentVNode("",!0),l.renderSlot(e.$slots,"default",{},(()=>[l.createTextVNode(l.toDisplayString(l.unref(o)),1)]),!0)],2))}}),[["__scopeId","data-v-4eae179c"]]);o.install=e=>{e.component(o.__name,o)};const n=e=>(l.pushScopeId("data-v-3b126f0b"),e=e(),l.popScopeId(),e),u=["title"],i=[n((()=>l.createElementVNode("path",{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"},null,-1)))],s=["onClick"],c=[n((()=>l.createElementVNode("path",{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 01-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z"},null,-1)))],r=["title","onMouseenter","onClick"],d=a(l.defineComponent({name:"QSelect",props:{options:{default:()=>[]},label:{default:"label"},value:{default:"value"},placeholder:{default:"请选择"},disabled:{type:Boolean,default:!1},allowClear:{type:Boolean,default:!1},width:{default:120},height:{default:32},maxDisplay:{default:6},modelValue:{default:null}},emits:["update:modelValue","change"],setup(e,{emit:t}){const a=e,o=l.ref(),n=l.ref(),d=l.ref(!1),p=l.ref(!0),f=l.ref(!1),m=l.ref();function v(){a.allowClear&&o.value&&(f.value=!0)}function h(){a.allowClear&&f.value&&(f.value=!1)}function g(){p.value=!1}function y(){n.value=null,p.value=!0,m.value.focus()}function b(){f.value=!1,o.value=null,n.value=null,t("update:modelValue"),t("change")}return l.watchEffect((()=>{!function(){if(a.modelValue){const e=a.options.find((e=>e[a.value]===a.modelValue));e?(o.value=e[a.label],n.value=e[a.value]):(o.value=a.modelValue,n.value=null)}else o.value=null,n.value=null}()})),(e,k)=>(l.openBlock(),l.createElementBlock("div",{class:"m-select",style:l.normalizeStyle(`height: ${e.height}px;`)},[l.createElementVNode("div",{class:l.normalizeClass(["m-select-wrap",{hover:!e.disabled,focus:d.value,disabled:e.disabled}]),style:l.normalizeStyle(`width: ${e.width}px; height: ${e.height}px;`),tabindex:"0",ref_key:"select",ref:m,onMouseenter:v,onMouseleave:h,onBlur:k[0]||(k[0]=l=>p.value&&!e.disabled?void(d.value&&(d.value=!1)):()=>!1),onClick:k[1]||(k[1]=l=>e.disabled?()=>!1:function(){if(d.value=!d.value,!n.value&&o.value){const e=a.options.find((e=>e[a.label]===o.value));n.value=e?e[a.value]:null}}())},[l.createElementVNode("div",{class:l.normalizeClass(["u-select-input",{placeholder:!o.value}]),style:l.normalizeStyle(`line-height: ${e.height-2}px;`),title:o.value},l.toDisplayString(o.value||e.placeholder),15,u),(l.openBlock(),l.createElementBlock("svg",{class:l.normalizeClass(["triangle",{rotate:d.value,show:!f.value}]),viewBox:"64 64 896 896","data-icon":"down","aria-hidden":"true",focusable:"false"},i,2)),(l.openBlock(),l.createElementBlock("svg",{onClick:l.withModifiers(b,["stop"]),class:l.normalizeClass(["close",{show:f.value}]),focusable:"false","data-icon":"close-circle","aria-hidden":"true",viewBox:"64 64 896 896"},c,10,s))],38),l.createVNode(l.Transition,{name:"fade"},{default:l.withCtx((()=>[l.withDirectives(l.createElementVNode("div",{class:"m-options-panel",onMouseenter:g,onMouseleave:y,style:l.normalizeStyle(`top: ${e.height+4}px; line-height: ${e.height-10}px; max-height: ${e.maxDisplay*e.height+9}px; width: ${e.width}px;`)},[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(e.options,((u,i)=>(l.openBlock(),l.createElementBlock("p",{key:i,class:l.normalizeClass(["u-option",{"option-selected":u[e.label]===o.value,"option-hover":!u.disabled&&u[e.value]===n.value,"option-disabled":u.disabled}]),title:u[e.label],onMouseenter:l=>{return t=u[e.value],void(n.value=t);var t},onClick:l=>u.disabled?()=>!1:function(e,l,u){a.modelValue!==e&&(o.value=l,n.value=e,t("update:modelValue",e),t("change",e,l,u)),d.value=!1}(u[e.value],u[e.label],i)},l.toDisplayString(u[e.label]),43,r)))),128))],36),[[l.vShow,d.value]])])),_:1})],4))}}),[["__scopeId","data-v-3b126f0b"]]);d.install=e=>{e.component(d.__name,d)};const p=e=>(l.pushScopeId("data-v-8c81a90d"),e=e(),l.popScopeId(),e),f=["href","title","target"],m={key:0,class:"u-separator"},v={key:1,class:"u-arrow",viewBox:"64 64 896 896","data-icon":"right","aria-hidden":"true",focusable:"false"},h=[p((()=>l.createElementVNode("path",{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z"},null,-1)))],g=p((()=>l.createElementVNode("div",{class:"assist"},null,-1))),y=a(l.defineComponent({name:"QBreadcrumb",props:{routes:{default:()=>[]},fontSize:{default:14},height:{default:21},maxWidth:{default:180},separator:{default:""},target:{default:"_self"}},setup(e){const t=e,a=l.computed((()=>t.routes.length));function o(e){var l=e.path;if(e.query&&"{}"!==JSON.stringify(e.query)){const t=e.query;Object.keys(t).forEach(((e,a)=>{l=0===a?l+"?"+e+"="+t[e]:l+"&"+e+"="+t[e]}))}return l}return(e,t)=>(l.openBlock(),l.createElementBlock("div",{class:"m-breadcrumb",style:l.normalizeStyle(`height: ${e.height}px;`)},[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(e.routes,((t,n)=>(l.openBlock(),l.createElementBlock("div",{class:"m-bread",key:n},[l.createElementVNode("a",{class:l.normalizeClass(["u-route",{active:n===a.value-1}]),style:l.normalizeStyle(`font-size: ${e.fontSize}px; max-width: ${e.maxWidth}px;`),href:n===a.value-1?"javascript:;":o(t),title:t.name,target:n===a.value-1?"_self":e.target},l.toDisplayString(t.name||"--"),15,f),n!==a.value-1?(l.openBlock(),l.createElementBlock(l.Fragment,{key:0},[e.separator?(l.openBlock(),l.createElementBlock("span",m,l.toDisplayString(e.separator),1)):(l.openBlock(),l.createElementBlock("svg",v,h))],64)):l.createCommentVNode("",!0)])))),128)),g],4))}}),[["__scopeId","data-v-8c81a90d"]]);y.install=e=>{e.component(y.__name,y)};const b=[o,d,y],k={install:e=>{b.forEach((l=>e.component(l.name,l)))}};e.QBreadcrumb=y,e.QButton=o,e.QSelect=d,e.copyText=function(e){return new Promise((l=>{const t=document.createElement("input");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),t.remove(),l(!0)}))},e.dateFormat=function(e=Date.now(),l="yyyy-MM-dd hh:mm:ss"){let t=new Date(e),a={"M+":t.getMonth()+1,"d+":t.getDate(),"h+":t.getHours(),"m+":t.getMinutes(),"s+":t.getSeconds(),"q+":Math.floor((t.getMonth()+3)/3),S:t.getMilliseconds()};/(y+)/.test(l)&&(l=l.replace(RegExp.$1,(t.getFullYear()+"").substr(4-RegExp.$1.length)));for(let o in a)new RegExp("("+o+")").test(l)&&(l=l.replace(RegExp.$1,1===RegExp.$1.length?a[o]:("00"+a[o]).substr((""+a[o]).length)));return l},e.debounce=function(e,l=300){let t;return function(){t&&clearTimeout(t),t=setTimeout((()=>{e(),t=null}),l)}},e.default=k,e.downloadFile=function(e,l){var t="";if(l)t=l;else{const l=e.split("?")[0].split("/");t=l[l.length-1]}var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="blob",a.onload=function(){if(200===a.status){const e=a.response,l=document.createElement("a"),o=document.querySelector("body");l.href=window.URL.createObjectURL(e),l.download=t,l.style.display="none",null==o||o.appendChild(l),l.click(),null==o||o.removeChild(l),window.URL.revokeObjectURL(l.href)}},a.send()},e.isArrayRepeat=function(e){var l={};for(var t in e){if(l[e[t]])return!0;l[e[t]]=!0}return!1},e.throttle=function(e,l=300){let t;return function(){t||(t=setTimeout((()=>{e(),t=null}),l))}},Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})})); diff --git a/dist/style.css b/dist/style.css new file mode 100644 index 0000000..b5606e4 --- /dev/null +++ b/dist/style.css @@ -0,0 +1 @@ +@charset "UTF-8";.w5{width:5%}.w10{width:10%}.w15{width:15%}.w20{width:20%}.w25{width:25%}.w30{width:30%}.w40{width:40%}.w50{width:50%}.w60{width:60%}.w100{width:100%}.ml-0{margin-left:0}.mr-0{margin-right:0}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.pl-0{padding-left:0}.pr-0{padding-right:0}.pt-0{padding-top:0}.pb-0{padding-bottom:0}.ml-2{margin-left:2px}.mr-2{margin-right:2px}.mt-2{margin-top:2px}.mb-2{margin-bottom:2px}.pl-2{padding-left:2px}.pr-2{padding-right:2px}.pt-2{padding-top:2px}.pb-2{padding-bottom:2px}.ml-5{margin-left:5px}.mr-5{margin-right:5px}.mt-5{margin-top:5px}.mb-5{margin-bottom:5px}.pl-5{padding-left:5px}.pr-5{padding-right:5px}.pt-5{padding-top:5px}.pb-5{padding-bottom:5px}.ml-8{margin-left:8px}.mr-8{margin-right:8px}.mt-8{margin-top:8px}.mb-8{margin-bottom:8px}.pl-8{padding-left:8px}.pr-8{padding-right:8px}.pt-8{padding-top:8px}.pb-8{padding-bottom:8px}.ml-10{margin-left:10px}.mr-10{margin-right:10px}.mt-10{margin-top:10px}.mb-10{margin-bottom:10px}.pl-10{padding-left:10px}.pr-10{padding-right:10px}.pt-10{padding-top:10px}.pb-10{padding-bottom:10px}.ml-12{margin-left:12px}.mr-12{margin-right:12px}.mt-12{margin-top:12px}.mb-12{margin-bottom:12px}.pl-12{padding-left:12px}.pr-12{padding-right:12px}.pt-12{padding-top:12px}.pb-12{padding-bottom:12px}.ml-14{margin-left:14px}.mr-14{margin-right:14px}.mt-14{margin-top:14px}.mb-14{margin-bottom:14px}.pl-14{padding-left:14px}.pr-14{padding-right:14px}.pt-14{padding-top:14px}.pb-14{padding-bottom:14px}.ml-15{margin-left:15px}.mr-15{margin-right:15px}.mt-15{margin-top:15px}.mb-15{margin-bottom:15px}.pl-15{padding-left:15px}.pr-15{padding-right:15px}.pt-15{padding-top:15px}.pb-15{padding-bottom:15px}.ml-16{margin-left:16px}.mr-16{margin-right:16px}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}.pl-16{padding-left:16px}.pr-16{padding-right:16px}.pt-16{padding-top:16px}.pb-16{padding-bottom:16px}.ml-18{margin-left:18px}.mr-18{margin-right:18px}.mt-18{margin-top:18px}.mb-18{margin-bottom:18px}.pl-18{padding-left:18px}.pr-18{padding-right:18px}.pt-18{padding-top:18px}.pb-18{padding-bottom:18px}.ml-20{margin-left:20px}.mr-20{margin-right:20px}.mt-20{margin-top:20px}.mb-20{margin-bottom:20px}.pl-20{padding-left:20px}.pr-20{padding-right:20px}.pt-20{padding-top:20px}.pb-20{padding-bottom:20px}.ml-24{margin-left:24px}.mr-24{margin-right:24px}.mt-24{margin-top:24px}.mb-24{margin-bottom:24px}.pl-24{padding-left:24px}.pr-24{padding-right:24px}.pt-24{padding-top:24px}.pb-24{padding-bottom:24px}.ml-25{margin-left:25px}.mr-25{margin-right:25px}.mt-25{margin-top:25px}.mb-25{margin-bottom:25px}.pl-25{padding-left:25px}.pr-25{padding-right:25px}.pt-25{padding-top:25px}.pb-25{padding-bottom:25px}.ml-30{margin-left:30px}.mr-30{margin-right:30px}.mt-30{margin-top:30px}.mb-30{margin-bottom:30px}.pl-30{padding-left:30px}.pr-30{padding-right:30px}.pt-30{padding-top:30px}.pb-30{padding-bottom:30px}.ml-36{margin-left:36px}.mr-36{margin-right:36px}.mt-36{margin-top:36px}.mb-36{margin-bottom:36px}.pl-36{padding-left:36px}.pr-36{padding-right:36px}.pt-36{padding-top:36px}.pb-36{padding-bottom:36px}.ml-40{margin-left:40px}.mr-40{margin-right:40px}.mt-40{margin-top:40px}.mb-40{margin-bottom:40px}.pl-40{padding-left:40px}.pr-40{padding-right:40px}.pt-40{padding-top:40px}.pb-40{padding-bottom:40px}.ml-50{margin-left:50px}.mr-50{margin-right:50px}.mt-50{margin-top:50px}.mb-50{margin-bottom:50px}.pl-50{padding-left:50px}.pr-50{padding-right:50px}.pt-50{padding-top:50px}.pb-50{padding-bottom:50px}.ml-100{margin-left:100px}.mr-100{margin-right:100px}.mt-100{margin-top:100px}.mb-100{margin-bottom:100px}.pl-100{padding-left:100px}.pr-100{padding-right:100px}.pt-100{padding-top:100px}.pb-100{padding-bottom:100px}.w5[data-v-4eae179c]{width:5%}.w10[data-v-4eae179c]{width:10%}.w15[data-v-4eae179c]{width:15%}.w20[data-v-4eae179c]{width:20%}.w25[data-v-4eae179c]{width:25%}.w30[data-v-4eae179c]{width:30%}.w40[data-v-4eae179c]{width:40%}.w50[data-v-4eae179c]{width:50%}.w60[data-v-4eae179c]{width:60%}.w100[data-v-4eae179c]{width:100%}.ml-0[data-v-4eae179c]{margin-left:0}.mr-0[data-v-4eae179c]{margin-right:0}.mt-0[data-v-4eae179c]{margin-top:0}.mb-0[data-v-4eae179c]{margin-bottom:0}.pl-0[data-v-4eae179c]{padding-left:0}.pr-0[data-v-4eae179c]{padding-right:0}.pt-0[data-v-4eae179c]{padding-top:0}.pb-0[data-v-4eae179c]{padding-bottom:0}.ml-2[data-v-4eae179c]{margin-left:2px}.mr-2[data-v-4eae179c]{margin-right:2px}.mt-2[data-v-4eae179c]{margin-top:2px}.mb-2[data-v-4eae179c]{margin-bottom:2px}.pl-2[data-v-4eae179c]{padding-left:2px}.pr-2[data-v-4eae179c]{padding-right:2px}.pt-2[data-v-4eae179c]{padding-top:2px}.pb-2[data-v-4eae179c]{padding-bottom:2px}.ml-5[data-v-4eae179c]{margin-left:5px}.mr-5[data-v-4eae179c]{margin-right:5px}.mt-5[data-v-4eae179c]{margin-top:5px}.mb-5[data-v-4eae179c]{margin-bottom:5px}.pl-5[data-v-4eae179c]{padding-left:5px}.pr-5[data-v-4eae179c]{padding-right:5px}.pt-5[data-v-4eae179c]{padding-top:5px}.pb-5[data-v-4eae179c]{padding-bottom:5px}.ml-8[data-v-4eae179c]{margin-left:8px}.mr-8[data-v-4eae179c]{margin-right:8px}.mt-8[data-v-4eae179c]{margin-top:8px}.mb-8[data-v-4eae179c]{margin-bottom:8px}.pl-8[data-v-4eae179c]{padding-left:8px}.pr-8[data-v-4eae179c]{padding-right:8px}.pt-8[data-v-4eae179c]{padding-top:8px}.pb-8[data-v-4eae179c]{padding-bottom:8px}.ml-10[data-v-4eae179c]{margin-left:10px}.mr-10[data-v-4eae179c]{margin-right:10px}.mt-10[data-v-4eae179c]{margin-top:10px}.mb-10[data-v-4eae179c]{margin-bottom:10px}.pl-10[data-v-4eae179c]{padding-left:10px}.pr-10[data-v-4eae179c]{padding-right:10px}.pt-10[data-v-4eae179c]{padding-top:10px}.pb-10[data-v-4eae179c]{padding-bottom:10px}.ml-12[data-v-4eae179c]{margin-left:12px}.mr-12[data-v-4eae179c]{margin-right:12px}.mt-12[data-v-4eae179c]{margin-top:12px}.mb-12[data-v-4eae179c]{margin-bottom:12px}.pl-12[data-v-4eae179c]{padding-left:12px}.pr-12[data-v-4eae179c]{padding-right:12px}.pt-12[data-v-4eae179c]{padding-top:12px}.pb-12[data-v-4eae179c]{padding-bottom:12px}.ml-14[data-v-4eae179c]{margin-left:14px}.mr-14[data-v-4eae179c]{margin-right:14px}.mt-14[data-v-4eae179c]{margin-top:14px}.mb-14[data-v-4eae179c]{margin-bottom:14px}.pl-14[data-v-4eae179c]{padding-left:14px}.pr-14[data-v-4eae179c]{padding-right:14px}.pt-14[data-v-4eae179c]{padding-top:14px}.pb-14[data-v-4eae179c]{padding-bottom:14px}.ml-15[data-v-4eae179c]{margin-left:15px}.mr-15[data-v-4eae179c]{margin-right:15px}.mt-15[data-v-4eae179c]{margin-top:15px}.mb-15[data-v-4eae179c]{margin-bottom:15px}.pl-15[data-v-4eae179c]{padding-left:15px}.pr-15[data-v-4eae179c]{padding-right:15px}.pt-15[data-v-4eae179c]{padding-top:15px}.pb-15[data-v-4eae179c]{padding-bottom:15px}.ml-16[data-v-4eae179c]{margin-left:16px}.mr-16[data-v-4eae179c]{margin-right:16px}.mt-16[data-v-4eae179c]{margin-top:16px}.mb-16[data-v-4eae179c]{margin-bottom:16px}.pl-16[data-v-4eae179c]{padding-left:16px}.pr-16[data-v-4eae179c]{padding-right:16px}.pt-16[data-v-4eae179c]{padding-top:16px}.pb-16[data-v-4eae179c]{padding-bottom:16px}.ml-18[data-v-4eae179c]{margin-left:18px}.mr-18[data-v-4eae179c]{margin-right:18px}.mt-18[data-v-4eae179c]{margin-top:18px}.mb-18[data-v-4eae179c]{margin-bottom:18px}.pl-18[data-v-4eae179c]{padding-left:18px}.pr-18[data-v-4eae179c]{padding-right:18px}.pt-18[data-v-4eae179c]{padding-top:18px}.pb-18[data-v-4eae179c]{padding-bottom:18px}.ml-20[data-v-4eae179c]{margin-left:20px}.mr-20[data-v-4eae179c]{margin-right:20px}.mt-20[data-v-4eae179c]{margin-top:20px}.mb-20[data-v-4eae179c]{margin-bottom:20px}.pl-20[data-v-4eae179c]{padding-left:20px}.pr-20[data-v-4eae179c]{padding-right:20px}.pt-20[data-v-4eae179c]{padding-top:20px}.pb-20[data-v-4eae179c]{padding-bottom:20px}.ml-24[data-v-4eae179c]{margin-left:24px}.mr-24[data-v-4eae179c]{margin-right:24px}.mt-24[data-v-4eae179c]{margin-top:24px}.mb-24[data-v-4eae179c]{margin-bottom:24px}.pl-24[data-v-4eae179c]{padding-left:24px}.pr-24[data-v-4eae179c]{padding-right:24px}.pt-24[data-v-4eae179c]{padding-top:24px}.pb-24[data-v-4eae179c]{padding-bottom:24px}.ml-25[data-v-4eae179c]{margin-left:25px}.mr-25[data-v-4eae179c]{margin-right:25px}.mt-25[data-v-4eae179c]{margin-top:25px}.mb-25[data-v-4eae179c]{margin-bottom:25px}.pl-25[data-v-4eae179c]{padding-left:25px}.pr-25[data-v-4eae179c]{padding-right:25px}.pt-25[data-v-4eae179c]{padding-top:25px}.pb-25[data-v-4eae179c]{padding-bottom:25px}.ml-30[data-v-4eae179c]{margin-left:30px}.mr-30[data-v-4eae179c]{margin-right:30px}.mt-30[data-v-4eae179c]{margin-top:30px}.mb-30[data-v-4eae179c]{margin-bottom:30px}.pl-30[data-v-4eae179c]{padding-left:30px}.pr-30[data-v-4eae179c]{padding-right:30px}.pt-30[data-v-4eae179c]{padding-top:30px}.pb-30[data-v-4eae179c]{padding-bottom:30px}.ml-36[data-v-4eae179c]{margin-left:36px}.mr-36[data-v-4eae179c]{margin-right:36px}.mt-36[data-v-4eae179c]{margin-top:36px}.mb-36[data-v-4eae179c]{margin-bottom:36px}.pl-36[data-v-4eae179c]{padding-left:36px}.pr-36[data-v-4eae179c]{padding-right:36px}.pt-36[data-v-4eae179c]{padding-top:36px}.pb-36[data-v-4eae179c]{padding-bottom:36px}.ml-40[data-v-4eae179c]{margin-left:40px}.mr-40[data-v-4eae179c]{margin-right:40px}.mt-40[data-v-4eae179c]{margin-top:40px}.mb-40[data-v-4eae179c]{margin-bottom:40px}.pl-40[data-v-4eae179c]{padding-left:40px}.pr-40[data-v-4eae179c]{padding-right:40px}.pt-40[data-v-4eae179c]{padding-top:40px}.pb-40[data-v-4eae179c]{padding-bottom:40px}.ml-50[data-v-4eae179c]{margin-left:50px}.mr-50[data-v-4eae179c]{margin-right:50px}.mt-50[data-v-4eae179c]{margin-top:50px}.mb-50[data-v-4eae179c]{margin-bottom:50px}.pl-50[data-v-4eae179c]{padding-left:50px}.pr-50[data-v-4eae179c]{padding-right:50px}.pt-50[data-v-4eae179c]{padding-top:50px}.pb-50[data-v-4eae179c]{padding-bottom:50px}.ml-100[data-v-4eae179c]{margin-left:100px}.mr-100[data-v-4eae179c]{margin-right:100px}.mt-100[data-v-4eae179c]{margin-top:100px}.mb-100[data-v-4eae179c]{margin-bottom:100px}.pl-100[data-v-4eae179c]{padding-left:100px}.pr-100[data-v-4eae179c]{padding-right:100px}.pt-100[data-v-4eae179c]{padding-top:100px}.pb-100[data-v-4eae179c]{padding-bottom:100px}.q-button[data-v-4eae179c]{box-sizing:border-box;height:32px;background-color:#fff;padding:0 12px;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;border-radius:3px;box-shadow:0 1px #0000000d;transition:all .25s;color:#333;border:1px solid #d9d9d9;user-select:none}.q-button[data-v-4eae179c]:focus{outline:none}.q-button[data-v-4eae179c]::-moz-focus-inner{border:0}.q-button.q-size-large[data-v-4eae179c]{font-size:24px;height:48px;padding:0 16px}.q-button.q-size-small[data-v-4eae179c]{font-size:12px;height:20px;padding:0 8px}.q-button.is-round.q-size-default[data-v-4eae179c]{border-radius:16px}.q-button.is-round.q-size-large[data-v-4eae179c]{border-radius:24px}.q-button.is-round.q-size-small[data-v-4eae179c]{border-radius:10px}.q-button.q-type-default[data-v-4eae179c]:hover{color:#1bb760;border-color:#1bb760}.q-button.q-type-default.is-disabled[data-v-4eae179c]{cursor:not-allowed;background:#fff;border-color:#e4e7ed}.q-button.q-type-default.is-disabled[data-v-4eae179c]:hover{color:#333;background:#fff;border-color:#e4e7ed}.q-button.q-type-default[data-v-4eae179c]:active{color:#0e5e31;border-color:#0e5e31}.q-button.q-type-default.q-type-dashed[data-v-4eae179c]{border-style:dashed}.q-button.q-type-default>.q-loadingIndicator[data-v-4eae179c]{border-color:#333 #333 #333 transparent}.q-button.q-type-primary[data-v-4eae179c]{background-color:#1bb760;border-color:#1bb760;color:#fff}.q-button.q-type-primary[data-v-4eae179c]:hover{background:#52e694;border-color:#52e694}.q-button.q-type-primary[data-v-4eae179c]:active{background-color:#0e5e31;border-color:#0e5e31}.q-button.q-type-primary.is-disabled[data-v-4eae179c]{cursor:not-allowed;background:#52e694;border-color:#52e694}.q-button.q-type-primary.is-disabled[data-v-4eae179c]:hover{background:#52e694;border-color:#52e694}.q-button.q-type-primary.q-type-dashed[data-v-4eae179c]{border-style:dashed;background-color:#fff!important;color:#1bb760}.q-button.q-type-info[data-v-4eae179c]{background-color:#909399;border-color:#909399;color:#fff}.q-button.q-type-info[data-v-4eae179c]:hover{background:#c5c7ca;border-color:#c5c7ca}.q-button.q-type-info[data-v-4eae179c]:active{background-color:#5d6066;border-color:#5d6066}.q-button.q-type-info.is-disabled[data-v-4eae179c]{cursor:not-allowed;background:#c5c7ca;border-color:#c5c7ca}.q-button.q-type-info.is-disabled[data-v-4eae179c]:hover{background:#c5c7ca;border-color:#c5c7ca}.q-button.q-type-info.q-type-dashed[data-v-4eae179c]{border-style:dashed;background-color:#fff!important;color:#909399}.q-button.q-type-success[data-v-4eae179c]{background-color:#85ce61;border-color:#85ce61;color:#fff}.q-button.q-type-success[data-v-4eae179c]:hover{background:#c1e6af;border-color:#c1e6af}.q-button.q-type-success[data-v-4eae179c]:active{background-color:#539930;border-color:#539930}.q-button.q-type-success.is-disabled[data-v-4eae179c]{cursor:not-allowed;background:#c1e6af;border-color:#c1e6af}.q-button.q-type-success.is-disabled[data-v-4eae179c]:hover{background:#c1e6af;border-color:#c1e6af}.q-button.q-type-success.q-type-dashed[data-v-4eae179c]{border-style:dashed;background-color:#fff!important;color:#85ce61}.q-button.q-type-warning[data-v-4eae179c]{background-color:#f0a020;border-color:#f0a020;color:#fff}.q-button.q-type-warning[data-v-4eae179c]:hover{background:#f6c980;border-color:#f6c980}.q-button.q-type-warning[data-v-4eae179c]:active{background-color:#9f660b;border-color:#9f660b}.q-button.q-type-warning.is-disabled[data-v-4eae179c]{cursor:not-allowed;background:#f6c980;border-color:#f6c980}.q-button.q-type-warning.is-disabled[data-v-4eae179c]:hover{background:#f6c980;border-color:#f6c980}.q-button.q-type-warning.q-type-dashed[data-v-4eae179c]{border-style:dashed;background-color:#fff!important;color:#f0a020}.q-button.q-type-error[data-v-4eae179c]{background-color:#d03050;border-color:#d03050;color:#fff}.q-button.q-type-error[data-v-4eae179c]:hover{background:#e38396;border-color:#e38396}.q-button.q-type-error[data-v-4eae179c]:active{background-color:#7e1c30;border-color:#7e1c30}.q-button.q-type-error.is-disabled[data-v-4eae179c]{cursor:not-allowed;background:#e38396;border-color:#e38396}.q-button.q-type-error.is-disabled[data-v-4eae179c]:hover{background:#e38396;border-color:#e38396}.q-button.q-type-error.q-type-dashed[data-v-4eae179c]{border-style:dashed;background-color:#fff!important;color:#d03050}.q-button>.q-loadingIndicator[data-v-4eae179c]{width:14px;height:14px;display:inline-block;margin-right:5px;border-radius:50%;border-color:#fff #fff #fff transparent;border-style:solid;border-width:2px;animation:q-spin-4eae179c 1s infinite linear}.q-button.is-loading[data-v-4eae179c]{pointer-events:none!important}@keyframes q-spin-4eae179c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.w5[data-v-3b126f0b]{width:5%}.w10[data-v-3b126f0b]{width:10%}.w15[data-v-3b126f0b]{width:15%}.w20[data-v-3b126f0b]{width:20%}.w25[data-v-3b126f0b]{width:25%}.w30[data-v-3b126f0b]{width:30%}.w40[data-v-3b126f0b]{width:40%}.w50[data-v-3b126f0b]{width:50%}.w60[data-v-3b126f0b]{width:60%}.w100[data-v-3b126f0b]{width:100%}.ml-0[data-v-3b126f0b]{margin-left:0}.mr-0[data-v-3b126f0b]{margin-right:0}.mt-0[data-v-3b126f0b]{margin-top:0}.mb-0[data-v-3b126f0b]{margin-bottom:0}.pl-0[data-v-3b126f0b]{padding-left:0}.pr-0[data-v-3b126f0b]{padding-right:0}.pt-0[data-v-3b126f0b]{padding-top:0}.pb-0[data-v-3b126f0b]{padding-bottom:0}.ml-2[data-v-3b126f0b]{margin-left:2px}.mr-2[data-v-3b126f0b]{margin-right:2px}.mt-2[data-v-3b126f0b]{margin-top:2px}.mb-2[data-v-3b126f0b]{margin-bottom:2px}.pl-2[data-v-3b126f0b]{padding-left:2px}.pr-2[data-v-3b126f0b]{padding-right:2px}.pt-2[data-v-3b126f0b]{padding-top:2px}.pb-2[data-v-3b126f0b]{padding-bottom:2px}.ml-5[data-v-3b126f0b]{margin-left:5px}.mr-5[data-v-3b126f0b]{margin-right:5px}.mt-5[data-v-3b126f0b]{margin-top:5px}.mb-5[data-v-3b126f0b]{margin-bottom:5px}.pl-5[data-v-3b126f0b]{padding-left:5px}.pr-5[data-v-3b126f0b]{padding-right:5px}.pt-5[data-v-3b126f0b]{padding-top:5px}.pb-5[data-v-3b126f0b]{padding-bottom:5px}.ml-8[data-v-3b126f0b]{margin-left:8px}.mr-8[data-v-3b126f0b]{margin-right:8px}.mt-8[data-v-3b126f0b]{margin-top:8px}.mb-8[data-v-3b126f0b]{margin-bottom:8px}.pl-8[data-v-3b126f0b]{padding-left:8px}.pr-8[data-v-3b126f0b]{padding-right:8px}.pt-8[data-v-3b126f0b]{padding-top:8px}.pb-8[data-v-3b126f0b]{padding-bottom:8px}.ml-10[data-v-3b126f0b]{margin-left:10px}.mr-10[data-v-3b126f0b]{margin-right:10px}.mt-10[data-v-3b126f0b]{margin-top:10px}.mb-10[data-v-3b126f0b]{margin-bottom:10px}.pl-10[data-v-3b126f0b]{padding-left:10px}.pr-10[data-v-3b126f0b]{padding-right:10px}.pt-10[data-v-3b126f0b]{padding-top:10px}.pb-10[data-v-3b126f0b]{padding-bottom:10px}.ml-12[data-v-3b126f0b]{margin-left:12px}.mr-12[data-v-3b126f0b]{margin-right:12px}.mt-12[data-v-3b126f0b]{margin-top:12px}.mb-12[data-v-3b126f0b]{margin-bottom:12px}.pl-12[data-v-3b126f0b]{padding-left:12px}.pr-12[data-v-3b126f0b]{padding-right:12px}.pt-12[data-v-3b126f0b]{padding-top:12px}.pb-12[data-v-3b126f0b]{padding-bottom:12px}.ml-14[data-v-3b126f0b]{margin-left:14px}.mr-14[data-v-3b126f0b]{margin-right:14px}.mt-14[data-v-3b126f0b]{margin-top:14px}.mb-14[data-v-3b126f0b]{margin-bottom:14px}.pl-14[data-v-3b126f0b]{padding-left:14px}.pr-14[data-v-3b126f0b]{padding-right:14px}.pt-14[data-v-3b126f0b]{padding-top:14px}.pb-14[data-v-3b126f0b]{padding-bottom:14px}.ml-15[data-v-3b126f0b]{margin-left:15px}.mr-15[data-v-3b126f0b]{margin-right:15px}.mt-15[data-v-3b126f0b]{margin-top:15px}.mb-15[data-v-3b126f0b]{margin-bottom:15px}.pl-15[data-v-3b126f0b]{padding-left:15px}.pr-15[data-v-3b126f0b]{padding-right:15px}.pt-15[data-v-3b126f0b]{padding-top:15px}.pb-15[data-v-3b126f0b]{padding-bottom:15px}.ml-16[data-v-3b126f0b]{margin-left:16px}.mr-16[data-v-3b126f0b]{margin-right:16px}.mt-16[data-v-3b126f0b]{margin-top:16px}.mb-16[data-v-3b126f0b]{margin-bottom:16px}.pl-16[data-v-3b126f0b]{padding-left:16px}.pr-16[data-v-3b126f0b]{padding-right:16px}.pt-16[data-v-3b126f0b]{padding-top:16px}.pb-16[data-v-3b126f0b]{padding-bottom:16px}.ml-18[data-v-3b126f0b]{margin-left:18px}.mr-18[data-v-3b126f0b]{margin-right:18px}.mt-18[data-v-3b126f0b]{margin-top:18px}.mb-18[data-v-3b126f0b]{margin-bottom:18px}.pl-18[data-v-3b126f0b]{padding-left:18px}.pr-18[data-v-3b126f0b]{padding-right:18px}.pt-18[data-v-3b126f0b]{padding-top:18px}.pb-18[data-v-3b126f0b]{padding-bottom:18px}.ml-20[data-v-3b126f0b]{margin-left:20px}.mr-20[data-v-3b126f0b]{margin-right:20px}.mt-20[data-v-3b126f0b]{margin-top:20px}.mb-20[data-v-3b126f0b]{margin-bottom:20px}.pl-20[data-v-3b126f0b]{padding-left:20px}.pr-20[data-v-3b126f0b]{padding-right:20px}.pt-20[data-v-3b126f0b]{padding-top:20px}.pb-20[data-v-3b126f0b]{padding-bottom:20px}.ml-24[data-v-3b126f0b]{margin-left:24px}.mr-24[data-v-3b126f0b]{margin-right:24px}.mt-24[data-v-3b126f0b]{margin-top:24px}.mb-24[data-v-3b126f0b]{margin-bottom:24px}.pl-24[data-v-3b126f0b]{padding-left:24px}.pr-24[data-v-3b126f0b]{padding-right:24px}.pt-24[data-v-3b126f0b]{padding-top:24px}.pb-24[data-v-3b126f0b]{padding-bottom:24px}.ml-25[data-v-3b126f0b]{margin-left:25px}.mr-25[data-v-3b126f0b]{margin-right:25px}.mt-25[data-v-3b126f0b]{margin-top:25px}.mb-25[data-v-3b126f0b]{margin-bottom:25px}.pl-25[data-v-3b126f0b]{padding-left:25px}.pr-25[data-v-3b126f0b]{padding-right:25px}.pt-25[data-v-3b126f0b]{padding-top:25px}.pb-25[data-v-3b126f0b]{padding-bottom:25px}.ml-30[data-v-3b126f0b]{margin-left:30px}.mr-30[data-v-3b126f0b]{margin-right:30px}.mt-30[data-v-3b126f0b]{margin-top:30px}.mb-30[data-v-3b126f0b]{margin-bottom:30px}.pl-30[data-v-3b126f0b]{padding-left:30px}.pr-30[data-v-3b126f0b]{padding-right:30px}.pt-30[data-v-3b126f0b]{padding-top:30px}.pb-30[data-v-3b126f0b]{padding-bottom:30px}.ml-36[data-v-3b126f0b]{margin-left:36px}.mr-36[data-v-3b126f0b]{margin-right:36px}.mt-36[data-v-3b126f0b]{margin-top:36px}.mb-36[data-v-3b126f0b]{margin-bottom:36px}.pl-36[data-v-3b126f0b]{padding-left:36px}.pr-36[data-v-3b126f0b]{padding-right:36px}.pt-36[data-v-3b126f0b]{padding-top:36px}.pb-36[data-v-3b126f0b]{padding-bottom:36px}.ml-40[data-v-3b126f0b]{margin-left:40px}.mr-40[data-v-3b126f0b]{margin-right:40px}.mt-40[data-v-3b126f0b]{margin-top:40px}.mb-40[data-v-3b126f0b]{margin-bottom:40px}.pl-40[data-v-3b126f0b]{padding-left:40px}.pr-40[data-v-3b126f0b]{padding-right:40px}.pt-40[data-v-3b126f0b]{padding-top:40px}.pb-40[data-v-3b126f0b]{padding-bottom:40px}.ml-50[data-v-3b126f0b]{margin-left:50px}.mr-50[data-v-3b126f0b]{margin-right:50px}.mt-50[data-v-3b126f0b]{margin-top:50px}.mb-50[data-v-3b126f0b]{margin-bottom:50px}.pl-50[data-v-3b126f0b]{padding-left:50px}.pr-50[data-v-3b126f0b]{padding-right:50px}.pt-50[data-v-3b126f0b]{padding-top:50px}.pb-50[data-v-3b126f0b]{padding-bottom:50px}.ml-100[data-v-3b126f0b]{margin-left:100px}.mr-100[data-v-3b126f0b]{margin-right:100px}.mt-100[data-v-3b126f0b]{margin-top:100px}.mb-100[data-v-3b126f0b]{margin-bottom:100px}.pl-100[data-v-3b126f0b]{padding-left:100px}.pr-100[data-v-3b126f0b]{padding-right:100px}.pt-100[data-v-3b126f0b]{padding-top:100px}.pb-100[data-v-3b126f0b]{padding-bottom:100px}.m-select[data-v-3b126f0b]{position:relative;display:inline-block;font-size:14px;font-weight:400;color:#000000a6}.fade-enter-active[data-v-3b126f0b],.fade-leave-active[data-v-3b126f0b]{transform:scaleY(1);transform-origin:0% 0%;opacity:1;transition:all .3s}.fade-enter-from[data-v-3b126f0b]{transform:scaleY(.8);transform-origin:0% 0%;opacity:0}.fade-leave-to[data-v-3b126f0b]{transform:scaleY(1);opacity:0}.m-select-wrap[data-v-3b126f0b]{position:relative;z-index:8;display:inline-block;border:1px solid #d9d9d9;border-radius:4px;background-color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.645,.045,.355,1)}.m-select-wrap .u-select-input[data-v-3b126f0b]{display:block;text-align:left;margin-left:11px;margin-right:27px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-select-wrap .placeholder[data-v-3b126f0b]{color:#bfbfbf}.m-select-wrap .triangle[data-v-3b126f0b]{position:absolute;top:0;bottom:0;margin:auto 0;right:11px;width:12px;height:12px;fill:#00000040;opacity:0;pointer-events:none;transition:all .3s ease-in-out}.m-select-wrap .rotate[data-v-3b126f0b]{transform:rotate(180deg);-webkit-transform:rotate(180deg)}.m-select-wrap .close[data-v-3b126f0b]{position:absolute;top:0;bottom:0;margin:auto 0;right:11px;width:12px;height:12px;fill:#8c8c8c99;opacity:0;pointer-events:none;transition:all .3s ease-in-out}.m-select-wrap .close[data-v-3b126f0b]:hover{fill:#646464cc}.m-select-wrap .show[data-v-3b126f0b]{opacity:1;pointer-events:auto}.hover[data-v-3b126f0b]:hover{border-color:#1bb760}.focus[data-v-3b126f0b]{border-color:#1bb760;box-shadow:0 0 0 2px fade(#1bb760,20%)}.disabled[data-v-3b126f0b]{color:#00000040;background:#f5f5f5;user-select:none;cursor:not-allowed}.m-options-panel[data-v-3b126f0b]{position:absolute;z-index:9;overflow:auto;background:#fff;padding:4px 0;border-radius:4px;box-shadow:0 2px 8px #00000026}.m-options-panel .u-option[data-v-3b126f0b]{text-align:left;position:relative;display:block;padding:5px 12px;font-weight:400;line-height:inherit;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:background .3s ease}.m-options-panel .option-selected[data-v-3b126f0b]{font-weight:600;background:#fafafa}.m-options-panel .option-hover[data-v-3b126f0b]{background:#e6f7ff}.m-options-panel .option-disabled[data-v-3b126f0b]{color:#00000040;user-select:none;cursor:not-allowed}.w5[data-v-8c81a90d]{width:5%}.w10[data-v-8c81a90d]{width:10%}.w15[data-v-8c81a90d]{width:15%}.w20[data-v-8c81a90d]{width:20%}.w25[data-v-8c81a90d]{width:25%}.w30[data-v-8c81a90d]{width:30%}.w40[data-v-8c81a90d]{width:40%}.w50[data-v-8c81a90d]{width:50%}.w60[data-v-8c81a90d]{width:60%}.w100[data-v-8c81a90d]{width:100%}.ml-0[data-v-8c81a90d]{margin-left:0}.mr-0[data-v-8c81a90d]{margin-right:0}.mt-0[data-v-8c81a90d]{margin-top:0}.mb-0[data-v-8c81a90d]{margin-bottom:0}.pl-0[data-v-8c81a90d]{padding-left:0}.pr-0[data-v-8c81a90d]{padding-right:0}.pt-0[data-v-8c81a90d]{padding-top:0}.pb-0[data-v-8c81a90d]{padding-bottom:0}.ml-2[data-v-8c81a90d]{margin-left:2px}.mr-2[data-v-8c81a90d]{margin-right:2px}.mt-2[data-v-8c81a90d]{margin-top:2px}.mb-2[data-v-8c81a90d]{margin-bottom:2px}.pl-2[data-v-8c81a90d]{padding-left:2px}.pr-2[data-v-8c81a90d]{padding-right:2px}.pt-2[data-v-8c81a90d]{padding-top:2px}.pb-2[data-v-8c81a90d]{padding-bottom:2px}.ml-5[data-v-8c81a90d]{margin-left:5px}.mr-5[data-v-8c81a90d]{margin-right:5px}.mt-5[data-v-8c81a90d]{margin-top:5px}.mb-5[data-v-8c81a90d]{margin-bottom:5px}.pl-5[data-v-8c81a90d]{padding-left:5px}.pr-5[data-v-8c81a90d]{padding-right:5px}.pt-5[data-v-8c81a90d]{padding-top:5px}.pb-5[data-v-8c81a90d]{padding-bottom:5px}.ml-8[data-v-8c81a90d]{margin-left:8px}.mr-8[data-v-8c81a90d]{margin-right:8px}.mt-8[data-v-8c81a90d]{margin-top:8px}.mb-8[data-v-8c81a90d]{margin-bottom:8px}.pl-8[data-v-8c81a90d]{padding-left:8px}.pr-8[data-v-8c81a90d]{padding-right:8px}.pt-8[data-v-8c81a90d]{padding-top:8px}.pb-8[data-v-8c81a90d]{padding-bottom:8px}.ml-10[data-v-8c81a90d]{margin-left:10px}.mr-10[data-v-8c81a90d]{margin-right:10px}.mt-10[data-v-8c81a90d]{margin-top:10px}.mb-10[data-v-8c81a90d]{margin-bottom:10px}.pl-10[data-v-8c81a90d]{padding-left:10px}.pr-10[data-v-8c81a90d]{padding-right:10px}.pt-10[data-v-8c81a90d]{padding-top:10px}.pb-10[data-v-8c81a90d]{padding-bottom:10px}.ml-12[data-v-8c81a90d]{margin-left:12px}.mr-12[data-v-8c81a90d]{margin-right:12px}.mt-12[data-v-8c81a90d]{margin-top:12px}.mb-12[data-v-8c81a90d]{margin-bottom:12px}.pl-12[data-v-8c81a90d]{padding-left:12px}.pr-12[data-v-8c81a90d]{padding-right:12px}.pt-12[data-v-8c81a90d]{padding-top:12px}.pb-12[data-v-8c81a90d]{padding-bottom:12px}.ml-14[data-v-8c81a90d]{margin-left:14px}.mr-14[data-v-8c81a90d]{margin-right:14px}.mt-14[data-v-8c81a90d]{margin-top:14px}.mb-14[data-v-8c81a90d]{margin-bottom:14px}.pl-14[data-v-8c81a90d]{padding-left:14px}.pr-14[data-v-8c81a90d]{padding-right:14px}.pt-14[data-v-8c81a90d]{padding-top:14px}.pb-14[data-v-8c81a90d]{padding-bottom:14px}.ml-15[data-v-8c81a90d]{margin-left:15px}.mr-15[data-v-8c81a90d]{margin-right:15px}.mt-15[data-v-8c81a90d]{margin-top:15px}.mb-15[data-v-8c81a90d]{margin-bottom:15px}.pl-15[data-v-8c81a90d]{padding-left:15px}.pr-15[data-v-8c81a90d]{padding-right:15px}.pt-15[data-v-8c81a90d]{padding-top:15px}.pb-15[data-v-8c81a90d]{padding-bottom:15px}.ml-16[data-v-8c81a90d]{margin-left:16px}.mr-16[data-v-8c81a90d]{margin-right:16px}.mt-16[data-v-8c81a90d]{margin-top:16px}.mb-16[data-v-8c81a90d]{margin-bottom:16px}.pl-16[data-v-8c81a90d]{padding-left:16px}.pr-16[data-v-8c81a90d]{padding-right:16px}.pt-16[data-v-8c81a90d]{padding-top:16px}.pb-16[data-v-8c81a90d]{padding-bottom:16px}.ml-18[data-v-8c81a90d]{margin-left:18px}.mr-18[data-v-8c81a90d]{margin-right:18px}.mt-18[data-v-8c81a90d]{margin-top:18px}.mb-18[data-v-8c81a90d]{margin-bottom:18px}.pl-18[data-v-8c81a90d]{padding-left:18px}.pr-18[data-v-8c81a90d]{padding-right:18px}.pt-18[data-v-8c81a90d]{padding-top:18px}.pb-18[data-v-8c81a90d]{padding-bottom:18px}.ml-20[data-v-8c81a90d]{margin-left:20px}.mr-20[data-v-8c81a90d]{margin-right:20px}.mt-20[data-v-8c81a90d]{margin-top:20px}.mb-20[data-v-8c81a90d]{margin-bottom:20px}.pl-20[data-v-8c81a90d]{padding-left:20px}.pr-20[data-v-8c81a90d]{padding-right:20px}.pt-20[data-v-8c81a90d]{padding-top:20px}.pb-20[data-v-8c81a90d]{padding-bottom:20px}.ml-24[data-v-8c81a90d]{margin-left:24px}.mr-24[data-v-8c81a90d]{margin-right:24px}.mt-24[data-v-8c81a90d]{margin-top:24px}.mb-24[data-v-8c81a90d]{margin-bottom:24px}.pl-24[data-v-8c81a90d]{padding-left:24px}.pr-24[data-v-8c81a90d]{padding-right:24px}.pt-24[data-v-8c81a90d]{padding-top:24px}.pb-24[data-v-8c81a90d]{padding-bottom:24px}.ml-25[data-v-8c81a90d]{margin-left:25px}.mr-25[data-v-8c81a90d]{margin-right:25px}.mt-25[data-v-8c81a90d]{margin-top:25px}.mb-25[data-v-8c81a90d]{margin-bottom:25px}.pl-25[data-v-8c81a90d]{padding-left:25px}.pr-25[data-v-8c81a90d]{padding-right:25px}.pt-25[data-v-8c81a90d]{padding-top:25px}.pb-25[data-v-8c81a90d]{padding-bottom:25px}.ml-30[data-v-8c81a90d]{margin-left:30px}.mr-30[data-v-8c81a90d]{margin-right:30px}.mt-30[data-v-8c81a90d]{margin-top:30px}.mb-30[data-v-8c81a90d]{margin-bottom:30px}.pl-30[data-v-8c81a90d]{padding-left:30px}.pr-30[data-v-8c81a90d]{padding-right:30px}.pt-30[data-v-8c81a90d]{padding-top:30px}.pb-30[data-v-8c81a90d]{padding-bottom:30px}.ml-36[data-v-8c81a90d]{margin-left:36px}.mr-36[data-v-8c81a90d]{margin-right:36px}.mt-36[data-v-8c81a90d]{margin-top:36px}.mb-36[data-v-8c81a90d]{margin-bottom:36px}.pl-36[data-v-8c81a90d]{padding-left:36px}.pr-36[data-v-8c81a90d]{padding-right:36px}.pt-36[data-v-8c81a90d]{padding-top:36px}.pb-36[data-v-8c81a90d]{padding-bottom:36px}.ml-40[data-v-8c81a90d]{margin-left:40px}.mr-40[data-v-8c81a90d]{margin-right:40px}.mt-40[data-v-8c81a90d]{margin-top:40px}.mb-40[data-v-8c81a90d]{margin-bottom:40px}.pl-40[data-v-8c81a90d]{padding-left:40px}.pr-40[data-v-8c81a90d]{padding-right:40px}.pt-40[data-v-8c81a90d]{padding-top:40px}.pb-40[data-v-8c81a90d]{padding-bottom:40px}.ml-50[data-v-8c81a90d]{margin-left:50px}.mr-50[data-v-8c81a90d]{margin-right:50px}.mt-50[data-v-8c81a90d]{margin-top:50px}.mb-50[data-v-8c81a90d]{margin-bottom:50px}.pl-50[data-v-8c81a90d]{padding-left:50px}.pr-50[data-v-8c81a90d]{padding-right:50px}.pt-50[data-v-8c81a90d]{padding-top:50px}.pb-50[data-v-8c81a90d]{padding-bottom:50px}.ml-100[data-v-8c81a90d]{margin-left:100px}.mr-100[data-v-8c81a90d]{margin-right:100px}.mt-100[data-v-8c81a90d]{margin-top:100px}.mb-100[data-v-8c81a90d]{margin-bottom:100px}.pl-100[data-v-8c81a90d]{padding-left:100px}.pr-100[data-v-8c81a90d]{padding-right:100px}.pt-100[data-v-8c81a90d]{padding-top:100px}.pb-100[data-v-8c81a90d]{padding-bottom:100px}.m-breadcrumb[data-v-8c81a90d]{display:flex;align-items:center}.m-breadcrumb .m-bread[data-v-8c81a90d]{display:inline-flex;align-items:center;line-height:1.5}.m-breadcrumb .m-bread .u-route[data-v-8c81a90d]{color:#00000073;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;padding:0 4px;border-radius:4px;transition:color .2s,background-color .2s}.m-breadcrumb .m-bread .u-route[data-v-8c81a90d]:hover{background-color:#0000000d;color:#000000e0}.m-breadcrumb .m-bread .active[data-v-8c81a90d]{color:#000000e0;cursor:default}.m-breadcrumb .m-bread .active[data-v-8c81a90d]:hover{background-color:transparent}.m-breadcrumb .m-bread .u-separator[data-v-8c81a90d]{margin:0 4px;color:#00000073}.m-breadcrumb .m-bread .u-arrow[data-v-8c81a90d]{width:12px;height:12px;fill:#00000073}.m-breadcrumb .assist[data-v-8c81a90d]{height:100%;width:0;display:inline-block;vertical-align:middle} diff --git a/docs/.vitepress/cache/deps/_metadata.json b/docs/.vitepress/cache/deps/_metadata.json new file mode 100644 index 0000000..98f9403 --- /dev/null +++ b/docs/.vitepress/cache/deps/_metadata.json @@ -0,0 +1,13 @@ +{ + "hash": "faeec25e", + "browserHash": "708bd63e", + "optimized": { + "vue": { + "src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js", + "file": "vue.js", + "fileHash": "61d62cff", + "needsInterop": false + } + }, + "chunks": {} +} \ No newline at end of file diff --git a/docs/.vitepress/cache/deps/package.json b/docs/.vitepress/cache/deps/package.json new file mode 100644 index 0000000..3dbc1ca --- /dev/null +++ b/docs/.vitepress/cache/deps/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/docs/.vitepress/cache/deps/vue.js b/docs/.vitepress/cache/deps/vue.js new file mode 100644 index 0000000..cc22c9f --- /dev/null +++ b/docs/.vitepress/cache/deps/vue.js @@ -0,0 +1,10795 @@ +// node_modules/@vue/shared/dist/shared.esm-bundler.js +function makeMap(str, expectsLowerCase) { + const map2 = /* @__PURE__ */ Object.create(null); + const list = str.split(","); + for (let i = 0; i < list.length; i++) { + map2[list[i]] = true; + } + return expectsLowerCase ? (val) => !!map2[val.toLowerCase()] : (val) => !!map2[val]; +} +var EMPTY_OBJ = true ? Object.freeze({}) : {}; +var EMPTY_ARR = true ? Object.freeze([]) : []; +var NOOP = () => { +}; +var NO = () => false; +var onRE = /^on[^a-z]/; +var isOn = (key) => onRE.test(key); +var isModelListener = (key) => key.startsWith("onUpdate:"); +var extend = Object.assign; +var remove = (arr, el) => { + const i = arr.indexOf(el); + if (i > -1) { + arr.splice(i, 1); + } +}; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var hasOwn = (val, key) => hasOwnProperty.call(val, key); +var isArray = Array.isArray; +var isMap = (val) => toTypeString(val) === "[object Map]"; +var isSet = (val) => toTypeString(val) === "[object Set]"; +var isDate = (val) => toTypeString(val) === "[object Date]"; +var isRegExp = (val) => toTypeString(val) === "[object RegExp]"; +var isFunction = (val) => typeof val === "function"; +var isString = (val) => typeof val === "string"; +var isSymbol = (val) => typeof val === "symbol"; +var isObject = (val) => val !== null && typeof val === "object"; +var isPromise = (val) => { + return isObject(val) && isFunction(val.then) && isFunction(val.catch); +}; +var objectToString = Object.prototype.toString; +var toTypeString = (value) => objectToString.call(value); +var toRawType = (value) => { + return toTypeString(value).slice(8, -1); +}; +var isPlainObject = (val) => toTypeString(val) === "[object Object]"; +var isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; +var isReservedProp = makeMap( + // the leading comma is intentional so empty string "" is also included + ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" +); +var isBuiltInDirective = makeMap( + "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo" +); +var cacheStringFunction = (fn) => { + const cache = /* @__PURE__ */ Object.create(null); + return (str) => { + const hit = cache[str]; + return hit || (cache[str] = fn(str)); + }; +}; +var camelizeRE = /-(\w)/g; +var camelize = cacheStringFunction((str) => { + return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); +}); +var hyphenateRE = /\B([A-Z])/g; +var hyphenate = cacheStringFunction( + (str) => str.replace(hyphenateRE, "-$1").toLowerCase() +); +var capitalize = cacheStringFunction( + (str) => str.charAt(0).toUpperCase() + str.slice(1) +); +var toHandlerKey = cacheStringFunction( + (str) => str ? `on${capitalize(str)}` : `` +); +var hasChanged = (value, oldValue) => !Object.is(value, oldValue); +var invokeArrayFns = (fns, arg) => { + for (let i = 0; i < fns.length; i++) { + fns[i](arg); + } +}; +var def = (obj, key, value) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + value + }); +}; +var looseToNumber = (val) => { + const n = parseFloat(val); + return isNaN(n) ? val : n; +}; +var toNumber = (val) => { + const n = isString(val) ? Number(val) : NaN; + return isNaN(n) ? val : n; +}; +var _globalThis; +var getGlobalThis = () => { + return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); +}; +var GLOBALS_WHITE_LISTED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console"; +var isGloballyWhitelisted = makeMap(GLOBALS_WHITE_LISTED); +function normalizeStyle(value) { + if (isArray(value)) { + const res = {}; + for (let i = 0; i < value.length; i++) { + const item = value[i]; + const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); + if (normalized) { + for (const key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } else if (isString(value)) { + return value; + } else if (isObject(value)) { + return value; + } +} +var listDelimiterRE = /;(?![^(]*\))/g; +var propertyDelimiterRE = /:([^]+)/; +var styleCommentRE = /\/\*[^]*?\*\//g; +function parseStringStyle(cssText) { + const ret = {}; + cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { + if (item) { + const tmp = item.split(propertyDelimiterRE); + tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); + } + }); + return ret; +} +function normalizeClass(value) { + let res = ""; + if (isString(value)) { + res = value; + } else if (isArray(value)) { + for (let i = 0; i < value.length; i++) { + const normalized = normalizeClass(value[i]); + if (normalized) { + res += normalized + " "; + } + } + } else if (isObject(value)) { + for (const name in value) { + if (value[name]) { + res += name + " "; + } + } + } + return res.trim(); +} +function normalizeProps(props) { + if (!props) + return null; + let { class: klass, style } = props; + if (klass && !isString(klass)) { + props.class = normalizeClass(klass); + } + if (style) { + props.style = normalizeStyle(style); + } + return props; +} +var HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; +var SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; +var VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"; +var isHTMLTag = makeMap(HTML_TAGS); +var isSVGTag = makeMap(SVG_TAGS); +var isVoidTag = makeMap(VOID_TAGS); +var specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; +var isSpecialBooleanAttr = makeMap(specialBooleanAttrs); +var isBooleanAttr = makeMap( + specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected` +); +function includeBooleanAttr(value) { + return !!value || value === ""; +} +var isKnownHtmlAttr = makeMap( + `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap` +); +var isKnownSvgAttr = makeMap( + `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan` +); +function looseCompareArrays(a, b) { + if (a.length !== b.length) + return false; + let equal = true; + for (let i = 0; equal && i < a.length; i++) { + equal = looseEqual(a[i], b[i]); + } + return equal; +} +function looseEqual(a, b) { + if (a === b) + return true; + let aValidType = isDate(a); + let bValidType = isDate(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? a.getTime() === b.getTime() : false; + } + aValidType = isSymbol(a); + bValidType = isSymbol(b); + if (aValidType || bValidType) { + return a === b; + } + aValidType = isArray(a); + bValidType = isArray(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? looseCompareArrays(a, b) : false; + } + aValidType = isObject(a); + bValidType = isObject(b); + if (aValidType || bValidType) { + if (!aValidType || !bValidType) { + return false; + } + const aKeysCount = Object.keys(a).length; + const bKeysCount = Object.keys(b).length; + if (aKeysCount !== bKeysCount) { + return false; + } + for (const key in a) { + const aHasKey = a.hasOwnProperty(key); + const bHasKey = b.hasOwnProperty(key); + if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) { + return false; + } + } + } + return String(a) === String(b); +} +function looseIndexOf(arr, val) { + return arr.findIndex((item) => looseEqual(item, val)); +} +var toDisplayString = (val) => { + return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val); +}; +var replacer = (_key, val) => { + if (val && val.__v_isRef) { + return replacer(_key, val.value); + } else if (isMap(val)) { + return { + [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => { + entries[`${key} =>`] = val2; + return entries; + }, {}) + }; + } else if (isSet(val)) { + return { + [`Set(${val.size})`]: [...val.values()] + }; + } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) { + return String(val); + } + return val; +}; + +// node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js +function warn(msg, ...args) { + console.warn(`[Vue warn] ${msg}`, ...args); +} +var activeEffectScope; +var EffectScope = class { + constructor(detached = false) { + this.detached = detached; + this._active = true; + this.effects = []; + this.cleanups = []; + this.parent = activeEffectScope; + if (!detached && activeEffectScope) { + this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push( + this + ) - 1; + } + } + get active() { + return this._active; + } + run(fn) { + if (this._active) { + const currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } finally { + activeEffectScope = currentEffectScope; + } + } else if (true) { + warn(`cannot run an inactive effect scope.`); + } + } + /** + * This should only be called on non-detached scopes + * @internal + */ + on() { + activeEffectScope = this; + } + /** + * This should only be called on non-detached scopes + * @internal + */ + off() { + activeEffectScope = this.parent; + } + stop(fromParent) { + if (this._active) { + let i, l; + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].stop(); + } + for (i = 0, l = this.cleanups.length; i < l; i++) { + this.cleanups[i](); + } + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].stop(true); + } + } + if (!this.detached && this.parent && !fromParent) { + const last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.parent = void 0; + this._active = false; + } + } +}; +function effectScope(detached) { + return new EffectScope(detached); +} +function recordEffectScope(effect2, scope = activeEffectScope) { + if (scope && scope.active) { + scope.effects.push(effect2); + } +} +function getCurrentScope() { + return activeEffectScope; +} +function onScopeDispose(fn) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } else if (true) { + warn( + `onScopeDispose() is called when there is no active effect scope to be associated with.` + ); + } +} +var createDep = (effects) => { + const dep = new Set(effects); + dep.w = 0; + dep.n = 0; + return dep; +}; +var wasTracked = (dep) => (dep.w & trackOpBit) > 0; +var newTracked = (dep) => (dep.n & trackOpBit) > 0; +var initDepMarkers = ({ deps }) => { + if (deps.length) { + for (let i = 0; i < deps.length; i++) { + deps[i].w |= trackOpBit; + } + } +}; +var finalizeDepMarkers = (effect2) => { + const { deps } = effect2; + if (deps.length) { + let ptr = 0; + for (let i = 0; i < deps.length; i++) { + const dep = deps[i]; + if (wasTracked(dep) && !newTracked(dep)) { + dep.delete(effect2); + } else { + deps[ptr++] = dep; + } + dep.w &= ~trackOpBit; + dep.n &= ~trackOpBit; + } + deps.length = ptr; + } +}; +var targetMap = /* @__PURE__ */ new WeakMap(); +var effectTrackDepth = 0; +var trackOpBit = 1; +var maxMarkerBits = 30; +var activeEffect; +var ITERATE_KEY = Symbol(true ? "iterate" : ""); +var MAP_KEY_ITERATE_KEY = Symbol(true ? "Map key iterate" : ""); +var ReactiveEffect = class { + constructor(fn, scheduler = null, scope) { + this.fn = fn; + this.scheduler = scheduler; + this.active = true; + this.deps = []; + this.parent = void 0; + recordEffectScope(this, scope); + } + run() { + if (!this.active) { + return this.fn(); + } + let parent = activeEffect; + let lastShouldTrack = shouldTrack; + while (parent) { + if (parent === this) { + return; + } + parent = parent.parent; + } + try { + this.parent = activeEffect; + activeEffect = this; + shouldTrack = true; + trackOpBit = 1 << ++effectTrackDepth; + if (effectTrackDepth <= maxMarkerBits) { + initDepMarkers(this); + } else { + cleanupEffect(this); + } + return this.fn(); + } finally { + if (effectTrackDepth <= maxMarkerBits) { + finalizeDepMarkers(this); + } + trackOpBit = 1 << --effectTrackDepth; + activeEffect = this.parent; + shouldTrack = lastShouldTrack; + this.parent = void 0; + if (this.deferStop) { + this.stop(); + } + } + } + stop() { + if (activeEffect === this) { + this.deferStop = true; + } else if (this.active) { + cleanupEffect(this); + if (this.onStop) { + this.onStop(); + } + this.active = false; + } + } +}; +function cleanupEffect(effect2) { + const { deps } = effect2; + if (deps.length) { + for (let i = 0; i < deps.length; i++) { + deps[i].delete(effect2); + } + deps.length = 0; + } +} +function effect(fn, options) { + if (fn.effect) { + fn = fn.effect.fn; + } + const _effect = new ReactiveEffect(fn); + if (options) { + extend(_effect, options); + if (options.scope) + recordEffectScope(_effect, options.scope); + } + if (!options || !options.lazy) { + _effect.run(); + } + const runner = _effect.run.bind(_effect); + runner.effect = _effect; + return runner; +} +function stop(runner) { + runner.effect.stop(); +} +var shouldTrack = true; +var trackStack = []; +function pauseTracking() { + trackStack.push(shouldTrack); + shouldTrack = false; +} +function resetTracking() { + const last = trackStack.pop(); + shouldTrack = last === void 0 ? true : last; +} +function track(target, type, key) { + if (shouldTrack && activeEffect) { + let depsMap = targetMap.get(target); + if (!depsMap) { + targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); + } + let dep = depsMap.get(key); + if (!dep) { + depsMap.set(key, dep = createDep()); + } + const eventInfo = true ? { effect: activeEffect, target, type, key } : void 0; + trackEffects(dep, eventInfo); + } +} +function trackEffects(dep, debuggerEventExtraInfo) { + let shouldTrack2 = false; + if (effectTrackDepth <= maxMarkerBits) { + if (!newTracked(dep)) { + dep.n |= trackOpBit; + shouldTrack2 = !wasTracked(dep); + } + } else { + shouldTrack2 = !dep.has(activeEffect); + } + if (shouldTrack2) { + dep.add(activeEffect); + activeEffect.deps.push(dep); + if (activeEffect.onTrack) { + activeEffect.onTrack( + extend( + { + effect: activeEffect + }, + debuggerEventExtraInfo + ) + ); + } + } +} +function trigger(target, type, key, newValue, oldValue, oldTarget) { + const depsMap = targetMap.get(target); + if (!depsMap) { + return; + } + let deps = []; + if (type === "clear") { + deps = [...depsMap.values()]; + } else if (key === "length" && isArray(target)) { + const newLength = Number(newValue); + depsMap.forEach((dep, key2) => { + if (key2 === "length" || key2 >= newLength) { + deps.push(dep); + } + }); + } else { + if (key !== void 0) { + deps.push(depsMap.get(key)); + } + switch (type) { + case "add": + if (!isArray(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } else if (isIntegerKey(key)) { + deps.push(depsMap.get("length")); + } + break; + case "delete": + if (!isArray(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } + break; + case "set": + if (isMap(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + } + break; + } + } + const eventInfo = true ? { target, type, key, newValue, oldValue, oldTarget } : void 0; + if (deps.length === 1) { + if (deps[0]) { + if (true) { + triggerEffects(deps[0], eventInfo); + } else { + triggerEffects(deps[0]); + } + } + } else { + const effects = []; + for (const dep of deps) { + if (dep) { + effects.push(...dep); + } + } + if (true) { + triggerEffects(createDep(effects), eventInfo); + } else { + triggerEffects(createDep(effects)); + } + } +} +function triggerEffects(dep, debuggerEventExtraInfo) { + const effects = isArray(dep) ? dep : [...dep]; + for (const effect2 of effects) { + if (effect2.computed) { + triggerEffect(effect2, debuggerEventExtraInfo); + } + } + for (const effect2 of effects) { + if (!effect2.computed) { + triggerEffect(effect2, debuggerEventExtraInfo); + } + } +} +function triggerEffect(effect2, debuggerEventExtraInfo) { + if (effect2 !== activeEffect || effect2.allowRecurse) { + if (effect2.onTrigger) { + effect2.onTrigger(extend({ effect: effect2 }, debuggerEventExtraInfo)); + } + if (effect2.scheduler) { + effect2.scheduler(); + } else { + effect2.run(); + } + } +} +function getDepFromReactive(object, key) { + var _a; + return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key); +} +var isNonTrackableKeys = makeMap(`__proto__,__v_isRef,__isVue`); +var builtInSymbols = new Set( + Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol) +); +var get$1 = createGetter(); +var shallowGet = createGetter(false, true); +var readonlyGet = createGetter(true); +var shallowReadonlyGet = createGetter(true, true); +var arrayInstrumentations = createArrayInstrumentations(); +function createArrayInstrumentations() { + const instrumentations = {}; + ["includes", "indexOf", "lastIndexOf"].forEach((key) => { + instrumentations[key] = function(...args) { + const arr = toRaw(this); + for (let i = 0, l = this.length; i < l; i++) { + track(arr, "get", i + ""); + } + const res = arr[key](...args); + if (res === -1 || res === false) { + return arr[key](...args.map(toRaw)); + } else { + return res; + } + }; + }); + ["push", "pop", "shift", "unshift", "splice"].forEach((key) => { + instrumentations[key] = function(...args) { + pauseTracking(); + const res = toRaw(this)[key].apply(this, args); + resetTracking(); + return res; + }; + }); + return instrumentations; +} +function hasOwnProperty2(key) { + const obj = toRaw(this); + track(obj, "has", key); + return obj.hasOwnProperty(key); +} +function createGetter(isReadonly2 = false, shallow = false) { + return function get2(target, key, receiver) { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_isShallow") { + return shallow; + } else if (key === "__v_raw" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) { + return target; + } + const targetIsArray = isArray(target); + if (!isReadonly2) { + if (targetIsArray && hasOwn(arrayInstrumentations, key)) { + return Reflect.get(arrayInstrumentations, key, receiver); + } + if (key === "hasOwnProperty") { + return hasOwnProperty2; + } + } + const res = Reflect.get(target, key, receiver); + if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { + return res; + } + if (!isReadonly2) { + track(target, "get", key); + } + if (shallow) { + return res; + } + if (isRef(res)) { + return targetIsArray && isIntegerKey(key) ? res : res.value; + } + if (isObject(res)) { + return isReadonly2 ? readonly(res) : reactive(res); + } + return res; + }; +} +var set$1 = createSetter(); +var shallowSet = createSetter(true); +function createSetter(shallow = false) { + return function set2(target, key, value, receiver) { + let oldValue = target[key]; + if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) { + return false; + } + if (!shallow) { + if (!isShallow(value) && !isReadonly(value)) { + oldValue = toRaw(oldValue); + value = toRaw(value); + } + if (!isArray(target) && isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + return true; + } + } + const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key); + const result = Reflect.set(target, key, value, receiver); + if (target === toRaw(receiver)) { + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value, oldValue); + } + } + return result; + }; +} +function deleteProperty(target, key) { + const hadKey = hasOwn(target, key); + const oldValue = target[key]; + const result = Reflect.deleteProperty(target, key); + if (result && hadKey) { + trigger(target, "delete", key, void 0, oldValue); + } + return result; +} +function has$1(target, key) { + const result = Reflect.has(target, key); + if (!isSymbol(key) || !builtInSymbols.has(key)) { + track(target, "has", key); + } + return result; +} +function ownKeys(target) { + track(target, "iterate", isArray(target) ? "length" : ITERATE_KEY); + return Reflect.ownKeys(target); +} +var mutableHandlers = { + get: get$1, + set: set$1, + deleteProperty, + has: has$1, + ownKeys +}; +var readonlyHandlers = { + get: readonlyGet, + set(target, key) { + if (true) { + warn( + `Set operation on key "${String(key)}" failed: target is readonly.`, + target + ); + } + return true; + }, + deleteProperty(target, key) { + if (true) { + warn( + `Delete operation on key "${String(key)}" failed: target is readonly.`, + target + ); + } + return true; + } +}; +var shallowReactiveHandlers = extend( + {}, + mutableHandlers, + { + get: shallowGet, + set: shallowSet + } +); +var shallowReadonlyHandlers = extend( + {}, + readonlyHandlers, + { + get: shallowReadonlyGet + } +); +var toShallow = (value) => value; +var getProto = (v) => Reflect.getPrototypeOf(v); +function get(target, key, isReadonly2 = false, isShallow3 = false) { + target = target["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly2) { + if (key !== rawKey) { + track(rawTarget, "get", key); + } + track(rawTarget, "get", rawKey); + } + const { has: has2 } = getProto(rawTarget); + const wrap = isShallow3 ? toShallow : isReadonly2 ? toReadonly : toReactive; + if (has2.call(rawTarget, key)) { + return wrap(target.get(key)); + } else if (has2.call(rawTarget, rawKey)) { + return wrap(target.get(rawKey)); + } else if (target !== rawTarget) { + target.get(key); + } +} +function has(key, isReadonly2 = false) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!isReadonly2) { + if (key !== rawKey) { + track(rawTarget, "has", key); + } + track(rawTarget, "has", rawKey); + } + return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); +} +function size(target, isReadonly2 = false) { + target = target["__v_raw"]; + !isReadonly2 && track(toRaw(target), "iterate", ITERATE_KEY); + return Reflect.get(target, "size", target); +} +function add(value) { + value = toRaw(value); + const target = toRaw(this); + const proto = getProto(target); + const hadKey = proto.has.call(target, value); + if (!hadKey) { + target.add(value); + trigger(target, "add", value, value); + } + return this; +} +function set(key, value) { + value = toRaw(value); + const target = toRaw(this); + const { has: has2, get: get2 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } else if (true) { + checkIdentityKeys(target, has2, key); + } + const oldValue = get2.call(target, key); + target.set(key, value); + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value, oldValue); + } + return this; +} +function deleteEntry(key) { + const target = toRaw(this); + const { has: has2, get: get2 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } else if (true) { + checkIdentityKeys(target, has2, key); + } + const oldValue = get2 ? get2.call(target, key) : void 0; + const result = target.delete(key); + if (hadKey) { + trigger(target, "delete", key, void 0, oldValue); + } + return result; +} +function clear() { + const target = toRaw(this); + const hadItems = target.size !== 0; + const oldTarget = true ? isMap(target) ? new Map(target) : new Set(target) : void 0; + const result = target.clear(); + if (hadItems) { + trigger(target, "clear", void 0, void 0, oldTarget); + } + return result; +} +function createForEach(isReadonly2, isShallow3) { + return function forEach(callback, thisArg) { + const observed = this; + const target = observed["__v_raw"]; + const rawTarget = toRaw(target); + const wrap = isShallow3 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY); + return target.forEach((value, key) => { + return callback.call(thisArg, wrap(value), wrap(key), observed); + }); + }; +} +function createIterableMethod(method, isReadonly2, isShallow3) { + return function(...args) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const targetIsMap = isMap(rawTarget); + const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; + const isKeyOnly = method === "keys" && targetIsMap; + const innerIterator = target[method](...args); + const wrap = isShallow3 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track( + rawTarget, + "iterate", + isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY + ); + return { + // iterator protocol + next() { + const { value, done } = innerIterator.next(); + return done ? { value, done } : { + value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), + done + }; + }, + // iterable protocol + [Symbol.iterator]() { + return this; + } + }; + }; +} +function createReadonlyMethod(type) { + return function(...args) { + if (true) { + const key = args[0] ? `on key "${args[0]}" ` : ``; + console.warn( + `${capitalize(type)} operation ${key}failed: target is readonly.`, + toRaw(this) + ); + } + return type === "delete" ? false : this; + }; +} +function createInstrumentations() { + const mutableInstrumentations2 = { + get(key) { + return get(this, key); + }, + get size() { + return size(this); + }, + has, + add, + set, + delete: deleteEntry, + clear, + forEach: createForEach(false, false) + }; + const shallowInstrumentations2 = { + get(key) { + return get(this, key, false, true); + }, + get size() { + return size(this); + }, + has, + add, + set, + delete: deleteEntry, + clear, + forEach: createForEach(false, true) + }; + const readonlyInstrumentations2 = { + get(key) { + return get(this, key, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, false) + }; + const shallowReadonlyInstrumentations2 = { + get(key) { + return get(this, key, true, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, true) + }; + const iteratorMethods = ["keys", "values", "entries", Symbol.iterator]; + iteratorMethods.forEach((method) => { + mutableInstrumentations2[method] = createIterableMethod( + method, + false, + false + ); + readonlyInstrumentations2[method] = createIterableMethod( + method, + true, + false + ); + shallowInstrumentations2[method] = createIterableMethod( + method, + false, + true + ); + shallowReadonlyInstrumentations2[method] = createIterableMethod( + method, + true, + true + ); + }); + return [ + mutableInstrumentations2, + readonlyInstrumentations2, + shallowInstrumentations2, + shallowReadonlyInstrumentations2 + ]; +} +var [ + mutableInstrumentations, + readonlyInstrumentations, + shallowInstrumentations, + shallowReadonlyInstrumentations +] = createInstrumentations(); +function createInstrumentationGetter(isReadonly2, shallow) { + const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations; + return (target, key, receiver) => { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_raw") { + return target; + } + return Reflect.get( + hasOwn(instrumentations, key) && key in target ? instrumentations : target, + key, + receiver + ); + }; +} +var mutableCollectionHandlers = { + get: createInstrumentationGetter(false, false) +}; +var shallowCollectionHandlers = { + get: createInstrumentationGetter(false, true) +}; +var readonlyCollectionHandlers = { + get: createInstrumentationGetter(true, false) +}; +var shallowReadonlyCollectionHandlers = { + get: createInstrumentationGetter(true, true) +}; +function checkIdentityKeys(target, has2, key) { + const rawKey = toRaw(key); + if (rawKey !== key && has2.call(target, rawKey)) { + const type = toRawType(target); + console.warn( + `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.` + ); + } +} +var reactiveMap = /* @__PURE__ */ new WeakMap(); +var shallowReactiveMap = /* @__PURE__ */ new WeakMap(); +var readonlyMap = /* @__PURE__ */ new WeakMap(); +var shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); +function targetTypeMap(rawType) { + switch (rawType) { + case "Object": + case "Array": + return 1; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2; + default: + return 0; + } +} +function getTargetType(value) { + return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value)); +} +function reactive(target) { + if (isReadonly(target)) { + return target; + } + return createReactiveObject( + target, + false, + mutableHandlers, + mutableCollectionHandlers, + reactiveMap + ); +} +function shallowReactive(target) { + return createReactiveObject( + target, + false, + shallowReactiveHandlers, + shallowCollectionHandlers, + shallowReactiveMap + ); +} +function readonly(target) { + return createReactiveObject( + target, + true, + readonlyHandlers, + readonlyCollectionHandlers, + readonlyMap + ); +} +function shallowReadonly(target) { + return createReactiveObject( + target, + true, + shallowReadonlyHandlers, + shallowReadonlyCollectionHandlers, + shallowReadonlyMap + ); +} +function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { + if (!isObject(target)) { + if (true) { + console.warn(`value cannot be made reactive: ${String(target)}`); + } + return target; + } + if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { + return target; + } + const existingProxy = proxyMap.get(target); + if (existingProxy) { + return existingProxy; + } + const targetType = getTargetType(target); + if (targetType === 0) { + return target; + } + const proxy = new Proxy( + target, + targetType === 2 ? collectionHandlers : baseHandlers + ); + proxyMap.set(target, proxy); + return proxy; +} +function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value["__v_raw"]); + } + return !!(value && value["__v_isReactive"]); +} +function isReadonly(value) { + return !!(value && value["__v_isReadonly"]); +} +function isShallow(value) { + return !!(value && value["__v_isShallow"]); +} +function isProxy(value) { + return isReactive(value) || isReadonly(value); +} +function toRaw(observed) { + const raw = observed && observed["__v_raw"]; + return raw ? toRaw(raw) : observed; +} +function markRaw(value) { + def(value, "__v_skip", true); + return value; +} +var toReactive = (value) => isObject(value) ? reactive(value) : value; +var toReadonly = (value) => isObject(value) ? readonly(value) : value; +function trackRefValue(ref2) { + if (shouldTrack && activeEffect) { + ref2 = toRaw(ref2); + if (true) { + trackEffects(ref2.dep || (ref2.dep = createDep()), { + target: ref2, + type: "get", + key: "value" + }); + } else { + trackEffects(ref2.dep || (ref2.dep = createDep())); + } + } +} +function triggerRefValue(ref2, newVal) { + ref2 = toRaw(ref2); + const dep = ref2.dep; + if (dep) { + if (true) { + triggerEffects(dep, { + target: ref2, + type: "set", + key: "value", + newValue: newVal + }); + } else { + triggerEffects(dep); + } + } +} +function isRef(r) { + return !!(r && r.__v_isRef === true); +} +function ref(value) { + return createRef(value, false); +} +function shallowRef(value) { + return createRef(value, true); +} +function createRef(rawValue, shallow) { + if (isRef(rawValue)) { + return rawValue; + } + return new RefImpl(rawValue, shallow); +} +var RefImpl = class { + constructor(value, __v_isShallow) { + this.__v_isShallow = __v_isShallow; + this.dep = void 0; + this.__v_isRef = true; + this._rawValue = __v_isShallow ? value : toRaw(value); + this._value = __v_isShallow ? value : toReactive(value); + } + get value() { + trackRefValue(this); + return this._value; + } + set value(newVal) { + const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal); + newVal = useDirectValue ? newVal : toRaw(newVal); + if (hasChanged(newVal, this._rawValue)) { + this._rawValue = newVal; + this._value = useDirectValue ? newVal : toReactive(newVal); + triggerRefValue(this, newVal); + } + } +}; +function triggerRef(ref2) { + triggerRefValue(ref2, true ? ref2.value : void 0); +} +function unref(ref2) { + return isRef(ref2) ? ref2.value : ref2; +} +function toValue(source) { + return isFunction(source) ? source() : unref(source); +} +var shallowUnwrapHandlers = { + get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)), + set: (target, key, value, receiver) => { + const oldValue = target[key]; + if (isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + return true; + } else { + return Reflect.set(target, key, value, receiver); + } + } +}; +function proxyRefs(objectWithRefs) { + return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); +} +var CustomRefImpl = class { + constructor(factory) { + this.dep = void 0; + this.__v_isRef = true; + const { get: get2, set: set2 } = factory( + () => trackRefValue(this), + () => triggerRefValue(this) + ); + this._get = get2; + this._set = set2; + } + get value() { + return this._get(); + } + set value(newVal) { + this._set(newVal); + } +}; +function customRef(factory) { + return new CustomRefImpl(factory); +} +function toRefs(object) { + if (!isProxy(object)) { + console.warn(`toRefs() expects a reactive object but received a plain one.`); + } + const ret = isArray(object) ? new Array(object.length) : {}; + for (const key in object) { + ret[key] = propertyToRef(object, key); + } + return ret; +} +var ObjectRefImpl = class { + constructor(_object, _key, _defaultValue) { + this._object = _object; + this._key = _key; + this._defaultValue = _defaultValue; + this.__v_isRef = true; + } + get value() { + const val = this._object[this._key]; + return val === void 0 ? this._defaultValue : val; + } + set value(newVal) { + this._object[this._key] = newVal; + } + get dep() { + return getDepFromReactive(toRaw(this._object), this._key); + } +}; +var GetterRefImpl = class { + constructor(_getter) { + this._getter = _getter; + this.__v_isRef = true; + this.__v_isReadonly = true; + } + get value() { + return this._getter(); + } +}; +function toRef(source, key, defaultValue) { + if (isRef(source)) { + return source; + } else if (isFunction(source)) { + return new GetterRefImpl(source); + } else if (isObject(source) && arguments.length > 1) { + return propertyToRef(source, key, defaultValue); + } else { + return ref(source); + } +} +function propertyToRef(source, key, defaultValue) { + const val = source[key]; + return isRef(val) ? val : new ObjectRefImpl( + source, + key, + defaultValue + ); +} +var ComputedRefImpl = class { + constructor(getter, _setter, isReadonly2, isSSR) { + this._setter = _setter; + this.dep = void 0; + this.__v_isRef = true; + this["__v_isReadonly"] = false; + this._dirty = true; + this.effect = new ReactiveEffect(getter, () => { + if (!this._dirty) { + this._dirty = true; + triggerRefValue(this); + } + }); + this.effect.computed = this; + this.effect.active = this._cacheable = !isSSR; + this["__v_isReadonly"] = isReadonly2; + } + get value() { + const self2 = toRaw(this); + trackRefValue(self2); + if (self2._dirty || !self2._cacheable) { + self2._dirty = false; + self2._value = self2.effect.run(); + } + return self2._value; + } + set value(newValue) { + this._setter(newValue); + } +}; +function computed(getterOrOptions, debugOptions, isSSR = false) { + let getter; + let setter; + const onlyGetter = isFunction(getterOrOptions); + if (onlyGetter) { + getter = getterOrOptions; + setter = true ? () => { + console.warn("Write operation failed: computed value is readonly"); + } : NOOP; + } else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR); + if (debugOptions && !isSSR) { + cRef.effect.onTrack = debugOptions.onTrack; + cRef.effect.onTrigger = debugOptions.onTrigger; + } + return cRef; +} +var tick = Promise.resolve(); + +// node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js +var stack = []; +function pushWarningContext(vnode) { + stack.push(vnode); +} +function popWarningContext() { + stack.pop(); +} +function warn2(msg, ...args) { + if (false) + return; + pauseTracking(); + const instance = stack.length ? stack[stack.length - 1].component : null; + const appWarnHandler = instance && instance.appContext.config.warnHandler; + const trace = getComponentTrace(); + if (appWarnHandler) { + callWithErrorHandling( + appWarnHandler, + instance, + 11, + [ + msg + args.join(""), + instance && instance.proxy, + trace.map( + ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>` + ).join("\n"), + trace + ] + ); + } else { + const warnArgs = [`[Vue warn]: ${msg}`, ...args]; + if (trace.length && // avoid spamming console during tests + true) { + warnArgs.push(` +`, ...formatTrace(trace)); + } + console.warn(...warnArgs); + } + resetTracking(); +} +function getComponentTrace() { + let currentVNode = stack[stack.length - 1]; + if (!currentVNode) { + return []; + } + const normalizedStack = []; + while (currentVNode) { + const last = normalizedStack[0]; + if (last && last.vnode === currentVNode) { + last.recurseCount++; + } else { + normalizedStack.push({ + vnode: currentVNode, + recurseCount: 0 + }); + } + const parentInstance = currentVNode.component && currentVNode.component.parent; + currentVNode = parentInstance && parentInstance.vnode; + } + return normalizedStack; +} +function formatTrace(trace) { + const logs = []; + trace.forEach((entry, i) => { + logs.push(...i === 0 ? [] : [` +`], ...formatTraceEntry(entry)); + }); + return logs; +} +function formatTraceEntry({ vnode, recurseCount }) { + const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; + const isRoot = vnode.component ? vnode.component.parent == null : false; + const open = ` at <${formatComponentName( + vnode.component, + vnode.type, + isRoot + )}`; + const close = `>` + postfix; + return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close]; +} +function formatProps(props) { + const res = []; + const keys = Object.keys(props); + keys.slice(0, 3).forEach((key) => { + res.push(...formatProp(key, props[key])); + }); + if (keys.length > 3) { + res.push(` ...`); + } + return res; +} +function formatProp(key, value, raw) { + if (isString(value)) { + value = JSON.stringify(value); + return raw ? value : [`${key}=${value}`]; + } else if (typeof value === "number" || typeof value === "boolean" || value == null) { + return raw ? value : [`${key}=${value}`]; + } else if (isRef(value)) { + value = formatProp(key, toRaw(value.value), true); + return raw ? value : [`${key}=Ref<`, value, `>`]; + } else if (isFunction(value)) { + return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; + } else { + value = toRaw(value); + return raw ? value : [`${key}=`, value]; + } +} +function assertNumber(val, type) { + if (false) + return; + if (val === void 0) { + return; + } else if (typeof val !== "number") { + warn2(`${type} is not a valid number - got ${JSON.stringify(val)}.`); + } else if (isNaN(val)) { + warn2(`${type} is NaN - the duration expression might be incorrect.`); + } +} +var ErrorTypeStrings = { + ["sp"]: "serverPrefetch hook", + ["bc"]: "beforeCreate hook", + ["c"]: "created hook", + ["bm"]: "beforeMount hook", + ["m"]: "mounted hook", + ["bu"]: "beforeUpdate hook", + ["u"]: "updated", + ["bum"]: "beforeUnmount hook", + ["um"]: "unmounted hook", + ["a"]: "activated hook", + ["da"]: "deactivated hook", + ["ec"]: "errorCaptured hook", + ["rtc"]: "renderTracked hook", + ["rtg"]: "renderTriggered hook", + [0]: "setup function", + [1]: "render function", + [2]: "watcher getter", + [3]: "watcher callback", + [4]: "watcher cleanup function", + [5]: "native event handler", + [6]: "component event handler", + [7]: "vnode hook", + [8]: "directive hook", + [9]: "transition hook", + [10]: "app errorHandler", + [11]: "app warnHandler", + [12]: "ref function", + [13]: "async component loader", + [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core" +}; +function callWithErrorHandling(fn, instance, type, args) { + let res; + try { + res = args ? fn(...args) : fn(); + } catch (err) { + handleError(err, instance, type); + } + return res; +} +function callWithAsyncErrorHandling(fn, instance, type, args) { + if (isFunction(fn)) { + const res = callWithErrorHandling(fn, instance, type, args); + if (res && isPromise(res)) { + res.catch((err) => { + handleError(err, instance, type); + }); + } + return res; + } + const values = []; + for (let i = 0; i < fn.length; i++) { + values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); + } + return values; +} +function handleError(err, instance, type, throwInDev = true) { + const contextVNode = instance ? instance.vnode : null; + if (instance) { + let cur = instance.parent; + const exposedInstance = instance.proxy; + const errorInfo = true ? ErrorTypeStrings[type] : type; + while (cur) { + const errorCapturedHooks = cur.ec; + if (errorCapturedHooks) { + for (let i = 0; i < errorCapturedHooks.length; i++) { + if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { + return; + } + } + } + cur = cur.parent; + } + const appErrorHandler = instance.appContext.config.errorHandler; + if (appErrorHandler) { + callWithErrorHandling( + appErrorHandler, + null, + 10, + [err, exposedInstance, errorInfo] + ); + return; + } + } + logError(err, type, contextVNode, throwInDev); +} +function logError(err, type, contextVNode, throwInDev = true) { + if (true) { + const info = ErrorTypeStrings[type]; + if (contextVNode) { + pushWarningContext(contextVNode); + } + warn2(`Unhandled error${info ? ` during execution of ${info}` : ``}`); + if (contextVNode) { + popWarningContext(); + } + if (throwInDev) { + throw err; + } else { + console.error(err); + } + } else { + console.error(err); + } +} +var isFlushing = false; +var isFlushPending = false; +var queue = []; +var flushIndex = 0; +var pendingPostFlushCbs = []; +var activePostFlushCbs = null; +var postFlushIndex = 0; +var resolvedPromise = Promise.resolve(); +var currentFlushPromise = null; +var RECURSION_LIMIT = 100; +function nextTick(fn) { + const p2 = currentFlushPromise || resolvedPromise; + return fn ? p2.then(this ? fn.bind(this) : fn) : p2; +} +function findInsertionIndex(id) { + let start = flushIndex + 1; + let end = queue.length; + while (start < end) { + const middle = start + end >>> 1; + const middleJobId = getId(queue[middle]); + middleJobId < id ? start = middle + 1 : end = middle; + } + return start; +} +function queueJob(job) { + if (!queue.length || !queue.includes( + job, + isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex + )) { + if (job.id == null) { + queue.push(job); + } else { + queue.splice(findInsertionIndex(job.id), 0, job); + } + queueFlush(); + } +} +function queueFlush() { + if (!isFlushing && !isFlushPending) { + isFlushPending = true; + currentFlushPromise = resolvedPromise.then(flushJobs); + } +} +function invalidateJob(job) { + const i = queue.indexOf(job); + if (i > flushIndex) { + queue.splice(i, 1); + } +} +function queuePostFlushCb(cb) { + if (!isArray(cb)) { + if (!activePostFlushCbs || !activePostFlushCbs.includes( + cb, + cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex + )) { + pendingPostFlushCbs.push(cb); + } + } else { + pendingPostFlushCbs.push(...cb); + } + queueFlush(); +} +function flushPreFlushCbs(seen, i = isFlushing ? flushIndex + 1 : 0) { + if (true) { + seen = seen || /* @__PURE__ */ new Map(); + } + for (; i < queue.length; i++) { + const cb = queue[i]; + if (cb && cb.pre) { + if (checkRecursiveUpdates(seen, cb)) { + continue; + } + queue.splice(i, 1); + i--; + cb(); + } + } +} +function flushPostFlushCbs(seen) { + if (pendingPostFlushCbs.length) { + const deduped = [...new Set(pendingPostFlushCbs)]; + pendingPostFlushCbs.length = 0; + if (activePostFlushCbs) { + activePostFlushCbs.push(...deduped); + return; + } + activePostFlushCbs = deduped; + if (true) { + seen = seen || /* @__PURE__ */ new Map(); + } + activePostFlushCbs.sort((a, b) => getId(a) - getId(b)); + for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { + if (checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) { + continue; + } + activePostFlushCbs[postFlushIndex](); + } + activePostFlushCbs = null; + postFlushIndex = 0; + } +} +var getId = (job) => job.id == null ? Infinity : job.id; +var comparator = (a, b) => { + const diff = getId(a) - getId(b); + if (diff === 0) { + if (a.pre && !b.pre) + return -1; + if (b.pre && !a.pre) + return 1; + } + return diff; +}; +function flushJobs(seen) { + isFlushPending = false; + isFlushing = true; + if (true) { + seen = seen || /* @__PURE__ */ new Map(); + } + queue.sort(comparator); + const check = true ? (job) => checkRecursiveUpdates(seen, job) : NOOP; + try { + for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job && job.active !== false) { + if (check(job)) { + continue; + } + callWithErrorHandling(job, null, 14); + } + } + } finally { + flushIndex = 0; + queue.length = 0; + flushPostFlushCbs(seen); + isFlushing = false; + currentFlushPromise = null; + if (queue.length || pendingPostFlushCbs.length) { + flushJobs(seen); + } + } +} +function checkRecursiveUpdates(seen, fn) { + if (!seen.has(fn)) { + seen.set(fn, 1); + } else { + const count = seen.get(fn); + if (count > RECURSION_LIMIT) { + const instance = fn.ownerInstance; + const componentName = instance && getComponentName(instance.type); + warn2( + `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.` + ); + return true; + } else { + seen.set(fn, count + 1); + } + } +} +var isHmrUpdating = false; +var hmrDirtyComponents = /* @__PURE__ */ new Set(); +if (true) { + getGlobalThis().__VUE_HMR_RUNTIME__ = { + createRecord: tryWrap(createRecord), + rerender: tryWrap(rerender), + reload: tryWrap(reload) + }; +} +var map = /* @__PURE__ */ new Map(); +function registerHMR(instance) { + const id = instance.type.__hmrId; + let record = map.get(id); + if (!record) { + createRecord(id, instance.type); + record = map.get(id); + } + record.instances.add(instance); +} +function unregisterHMR(instance) { + map.get(instance.type.__hmrId).instances.delete(instance); +} +function createRecord(id, initialDef) { + if (map.has(id)) { + return false; + } + map.set(id, { + initialDef: normalizeClassComponent(initialDef), + instances: /* @__PURE__ */ new Set() + }); + return true; +} +function normalizeClassComponent(component) { + return isClassComponent(component) ? component.__vccOpts : component; +} +function rerender(id, newRender) { + const record = map.get(id); + if (!record) { + return; + } + record.initialDef.render = newRender; + [...record.instances].forEach((instance) => { + if (newRender) { + instance.render = newRender; + normalizeClassComponent(instance.type).render = newRender; + } + instance.renderCache = []; + isHmrUpdating = true; + instance.update(); + isHmrUpdating = false; + }); +} +function reload(id, newComp) { + const record = map.get(id); + if (!record) + return; + newComp = normalizeClassComponent(newComp); + updateComponentDef(record.initialDef, newComp); + const instances = [...record.instances]; + for (const instance of instances) { + const oldComp = normalizeClassComponent(instance.type); + if (!hmrDirtyComponents.has(oldComp)) { + if (oldComp !== record.initialDef) { + updateComponentDef(oldComp, newComp); + } + hmrDirtyComponents.add(oldComp); + } + instance.appContext.propsCache.delete(instance.type); + instance.appContext.emitsCache.delete(instance.type); + instance.appContext.optionsCache.delete(instance.type); + if (instance.ceReload) { + hmrDirtyComponents.add(oldComp); + instance.ceReload(newComp.styles); + hmrDirtyComponents.delete(oldComp); + } else if (instance.parent) { + queueJob(instance.parent.update); + } else if (instance.appContext.reload) { + instance.appContext.reload(); + } else if (typeof window !== "undefined") { + window.location.reload(); + } else { + console.warn( + "[HMR] Root or manually mounted instance modified. Full reload required." + ); + } + } + queuePostFlushCb(() => { + for (const instance of instances) { + hmrDirtyComponents.delete( + normalizeClassComponent(instance.type) + ); + } + }); +} +function updateComponentDef(oldComp, newComp) { + extend(oldComp, newComp); + for (const key in oldComp) { + if (key !== "__file" && !(key in newComp)) { + delete oldComp[key]; + } + } +} +function tryWrap(fn) { + return (id, arg) => { + try { + return fn(id, arg); + } catch (e) { + console.error(e); + console.warn( + `[HMR] Something went wrong during Vue component hot-reload. Full reload required.` + ); + } + }; +} +var devtools; +var buffer = []; +var devtoolsNotInstalled = false; +function emit$1(event, ...args) { + if (devtools) { + devtools.emit(event, ...args); + } else if (!devtoolsNotInstalled) { + buffer.push({ event, args }); + } +} +function setDevtoolsHook(hook, target) { + var _a, _b; + devtools = hook; + if (devtools) { + devtools.enabled = true; + buffer.forEach(({ event, args }) => devtools.emit(event, ...args)); + buffer = []; + } else if ( + // handle late devtools injection - only do this if we are in an actual + // browser environment to avoid the timer handle stalling test runner exit + // (#4815) + typeof window !== "undefined" && // some envs mock window but not fully + window.HTMLElement && // also exclude jsdom + !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom")) + ) { + const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []; + replay.push((newHook) => { + setDevtoolsHook(newHook, target); + }); + setTimeout(() => { + if (!devtools) { + target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; + devtoolsNotInstalled = true; + buffer = []; + } + }, 3e3); + } else { + devtoolsNotInstalled = true; + buffer = []; + } +} +function devtoolsInitApp(app, version2) { + emit$1("app:init", app, version2, { + Fragment, + Text, + Comment, + Static + }); +} +function devtoolsUnmountApp(app) { + emit$1("app:unmount", app); +} +var devtoolsComponentAdded = createDevtoolsComponentHook( + "component:added" + /* COMPONENT_ADDED */ +); +var devtoolsComponentUpdated = createDevtoolsComponentHook( + "component:updated" + /* COMPONENT_UPDATED */ +); +var _devtoolsComponentRemoved = createDevtoolsComponentHook( + "component:removed" + /* COMPONENT_REMOVED */ +); +var devtoolsComponentRemoved = (component) => { + if (devtools && typeof devtools.cleanupBuffer === "function" && // remove the component if it wasn't buffered + !devtools.cleanupBuffer(component)) { + _devtoolsComponentRemoved(component); + } +}; +function createDevtoolsComponentHook(hook) { + return (component) => { + emit$1( + hook, + component.appContext.app, + component.uid, + component.parent ? component.parent.uid : void 0, + component + ); + }; +} +var devtoolsPerfStart = createDevtoolsPerformanceHook( + "perf:start" + /* PERFORMANCE_START */ +); +var devtoolsPerfEnd = createDevtoolsPerformanceHook( + "perf:end" + /* PERFORMANCE_END */ +); +function createDevtoolsPerformanceHook(hook) { + return (component, type, time) => { + emit$1(hook, component.appContext.app, component.uid, component, type, time); + }; +} +function devtoolsComponentEmit(component, event, params) { + emit$1( + "component:emit", + component.appContext.app, + component, + event, + params + ); +} +function emit(instance, event, ...rawArgs) { + if (instance.isUnmounted) + return; + const props = instance.vnode.props || EMPTY_OBJ; + if (true) { + const { + emitsOptions, + propsOptions: [propsOptions] + } = instance; + if (emitsOptions) { + if (!(event in emitsOptions) && true) { + if (!propsOptions || !(toHandlerKey(event) in propsOptions)) { + warn2( + `Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.` + ); + } + } else { + const validator = emitsOptions[event]; + if (isFunction(validator)) { + const isValid = validator(...rawArgs); + if (!isValid) { + warn2( + `Invalid event arguments: event validation failed for event "${event}".` + ); + } + } + } + } + } + let args = rawArgs; + const isModelListener2 = event.startsWith("update:"); + const modelArg = isModelListener2 && event.slice(7); + if (modelArg && modelArg in props) { + const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`; + const { number, trim } = props[modifiersKey] || EMPTY_OBJ; + if (trim) { + args = rawArgs.map((a) => isString(a) ? a.trim() : a); + } + if (number) { + args = rawArgs.map(looseToNumber); + } + } + if (true) { + devtoolsComponentEmit(instance, event, args); + } + if (true) { + const lowerCaseEvent = event.toLowerCase(); + if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) { + warn2( + `Event "${lowerCaseEvent}" is emitted in component ${formatComponentName( + instance, + instance.type + )} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate(event)}" instead of "${event}".` + ); + } + } + let handlerName; + let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249) + props[handlerName = toHandlerKey(camelize(event))]; + if (!handler && isModelListener2) { + handler = props[handlerName = toHandlerKey(hyphenate(event))]; + } + if (handler) { + callWithAsyncErrorHandling( + handler, + instance, + 6, + args + ); + } + const onceHandler = props[handlerName + `Once`]; + if (onceHandler) { + if (!instance.emitted) { + instance.emitted = {}; + } else if (instance.emitted[handlerName]) { + return; + } + instance.emitted[handlerName] = true; + callWithAsyncErrorHandling( + onceHandler, + instance, + 6, + args + ); + } +} +function normalizeEmitsOptions(comp, appContext, asMixin = false) { + const cache = appContext.emitsCache; + const cached = cache.get(comp); + if (cached !== void 0) { + return cached; + } + const raw = comp.emits; + let normalized = {}; + let hasExtends = false; + if (__VUE_OPTIONS_API__ && !isFunction(comp)) { + const extendEmits = (raw2) => { + const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true); + if (normalizedFromExtend) { + hasExtends = true; + extend(normalized, normalizedFromExtend); + } + }; + if (!asMixin && appContext.mixins.length) { + appContext.mixins.forEach(extendEmits); + } + if (comp.extends) { + extendEmits(comp.extends); + } + if (comp.mixins) { + comp.mixins.forEach(extendEmits); + } + } + if (!raw && !hasExtends) { + if (isObject(comp)) { + cache.set(comp, null); + } + return null; + } + if (isArray(raw)) { + raw.forEach((key) => normalized[key] = null); + } else { + extend(normalized, raw); + } + if (isObject(comp)) { + cache.set(comp, normalized); + } + return normalized; +} +function isEmitListener(options, key) { + if (!options || !isOn(key)) { + return false; + } + key = key.slice(2).replace(/Once$/, ""); + return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key); +} +var currentRenderingInstance = null; +var currentScopeId = null; +function setCurrentRenderingInstance(instance) { + const prev = currentRenderingInstance; + currentRenderingInstance = instance; + currentScopeId = instance && instance.type.__scopeId || null; + return prev; +} +function pushScopeId(id) { + currentScopeId = id; +} +function popScopeId() { + currentScopeId = null; +} +var withScopeId = (_id) => withCtx; +function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { + if (!ctx) + return fn; + if (fn._n) { + return fn; + } + const renderFnWithContext = (...args) => { + if (renderFnWithContext._d) { + setBlockTracking(-1); + } + const prevInstance = setCurrentRenderingInstance(ctx); + let res; + try { + res = fn(...args); + } finally { + setCurrentRenderingInstance(prevInstance); + if (renderFnWithContext._d) { + setBlockTracking(1); + } + } + if (true) { + devtoolsComponentUpdated(ctx); + } + return res; + }; + renderFnWithContext._n = true; + renderFnWithContext._c = true; + renderFnWithContext._d = true; + return renderFnWithContext; +} +var accessedAttrs = false; +function markAttrsAccessed() { + accessedAttrs = true; +} +function renderComponentRoot(instance) { + const { + type: Component, + vnode, + proxy, + withProxy, + props, + propsOptions: [propsOptions], + slots, + attrs, + emit: emit2, + render: render2, + renderCache, + data, + setupState, + ctx, + inheritAttrs + } = instance; + let result; + let fallthroughAttrs; + const prev = setCurrentRenderingInstance(instance); + if (true) { + accessedAttrs = false; + } + try { + if (vnode.shapeFlag & 4) { + const proxyToUse = withProxy || proxy; + result = normalizeVNode( + render2.call( + proxyToUse, + proxyToUse, + renderCache, + props, + setupState, + data, + ctx + ) + ); + fallthroughAttrs = attrs; + } else { + const render22 = Component; + if (attrs === props) { + markAttrsAccessed(); + } + result = normalizeVNode( + render22.length > 1 ? render22( + props, + true ? { + get attrs() { + markAttrsAccessed(); + return attrs; + }, + slots, + emit: emit2 + } : { attrs, slots, emit: emit2 } + ) : render22( + props, + null + /* we know it doesn't need it */ + ) + ); + fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs); + } + } catch (err) { + blockStack.length = 0; + handleError(err, instance, 1); + result = createVNode(Comment); + } + let root = result; + let setRoot = void 0; + if (result.patchFlag > 0 && result.patchFlag & 2048) { + [root, setRoot] = getChildRoot(result); + } + if (fallthroughAttrs && inheritAttrs !== false) { + const keys = Object.keys(fallthroughAttrs); + const { shapeFlag } = root; + if (keys.length) { + if (shapeFlag & (1 | 6)) { + if (propsOptions && keys.some(isModelListener)) { + fallthroughAttrs = filterModelListeners( + fallthroughAttrs, + propsOptions + ); + } + root = cloneVNode(root, fallthroughAttrs); + } else if (!accessedAttrs && root.type !== Comment) { + const allAttrs = Object.keys(attrs); + const eventAttrs = []; + const extraAttrs = []; + for (let i = 0, l = allAttrs.length; i < l; i++) { + const key = allAttrs[i]; + if (isOn(key)) { + if (!isModelListener(key)) { + eventAttrs.push(key[2].toLowerCase() + key.slice(3)); + } + } else { + extraAttrs.push(key); + } + } + if (extraAttrs.length) { + warn2( + `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.` + ); + } + if (eventAttrs.length) { + warn2( + `Extraneous non-emits event listeners (${eventAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.` + ); + } + } + } + } + if (vnode.dirs) { + if (!isElementRoot(root)) { + warn2( + `Runtime directive used on component with non-element root node. The directives will not function as intended.` + ); + } + root = cloneVNode(root); + root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs; + } + if (vnode.transition) { + if (!isElementRoot(root)) { + warn2( + `Component inside renders non-element root node that cannot be animated.` + ); + } + root.transition = vnode.transition; + } + if (setRoot) { + setRoot(root); + } else { + result = root; + } + setCurrentRenderingInstance(prev); + return result; +} +var getChildRoot = (vnode) => { + const rawChildren = vnode.children; + const dynamicChildren = vnode.dynamicChildren; + const childRoot = filterSingleRoot(rawChildren); + if (!childRoot) { + return [vnode, void 0]; + } + const index = rawChildren.indexOf(childRoot); + const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1; + const setRoot = (updatedRoot) => { + rawChildren[index] = updatedRoot; + if (dynamicChildren) { + if (dynamicIndex > -1) { + dynamicChildren[dynamicIndex] = updatedRoot; + } else if (updatedRoot.patchFlag > 0) { + vnode.dynamicChildren = [...dynamicChildren, updatedRoot]; + } + } + }; + return [normalizeVNode(childRoot), setRoot]; +}; +function filterSingleRoot(children) { + let singleRoot; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (isVNode(child)) { + if (child.type !== Comment || child.children === "v-if") { + if (singleRoot) { + return; + } else { + singleRoot = child; + } + } + } else { + return; + } + } + return singleRoot; +} +var getFunctionalFallthrough = (attrs) => { + let res; + for (const key in attrs) { + if (key === "class" || key === "style" || isOn(key)) { + (res || (res = {}))[key] = attrs[key]; + } + } + return res; +}; +var filterModelListeners = (attrs, props) => { + const res = {}; + for (const key in attrs) { + if (!isModelListener(key) || !(key.slice(9) in props)) { + res[key] = attrs[key]; + } + } + return res; +}; +var isElementRoot = (vnode) => { + return vnode.shapeFlag & (6 | 1) || vnode.type === Comment; +}; +function shouldUpdateComponent(prevVNode, nextVNode, optimized) { + const { props: prevProps, children: prevChildren, component } = prevVNode; + const { props: nextProps, children: nextChildren, patchFlag } = nextVNode; + const emits = component.emitsOptions; + if ((prevChildren || nextChildren) && isHmrUpdating) { + return true; + } + if (nextVNode.dirs || nextVNode.transition) { + return true; + } + if (optimized && patchFlag >= 0) { + if (patchFlag & 1024) { + return true; + } + if (patchFlag & 16) { + if (!prevProps) { + return !!nextProps; + } + return hasPropsChanged(prevProps, nextProps, emits); + } else if (patchFlag & 8) { + const dynamicProps = nextVNode.dynamicProps; + for (let i = 0; i < dynamicProps.length; i++) { + const key = dynamicProps[i]; + if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) { + return true; + } + } + } + } else { + if (prevChildren || nextChildren) { + if (!nextChildren || !nextChildren.$stable) { + return true; + } + } + if (prevProps === nextProps) { + return false; + } + if (!prevProps) { + return !!nextProps; + } + if (!nextProps) { + return true; + } + return hasPropsChanged(prevProps, nextProps, emits); + } + return false; +} +function hasPropsChanged(prevProps, nextProps, emitsOptions) { + const nextKeys = Object.keys(nextProps); + if (nextKeys.length !== Object.keys(prevProps).length) { + return true; + } + for (let i = 0; i < nextKeys.length; i++) { + const key = nextKeys[i]; + if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) { + return true; + } + } + return false; +} +function updateHOCHostEl({ vnode, parent }, el) { + while (parent && parent.subTree === vnode) { + (vnode = parent.vnode).el = el; + parent = parent.parent; + } +} +var isSuspense = (type) => type.__isSuspense; +var SuspenseImpl = { + name: "Suspense", + // In order to make Suspense tree-shakable, we need to avoid importing it + // directly in the renderer. The renderer checks for the __isSuspense flag + // on a vnode's type and calls the `process` method, passing in renderer + // internals. + __isSuspense: true, + process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) { + if (n1 == null) { + mountSuspense( + n2, + container, + anchor, + parentComponent, + parentSuspense, + isSVG, + slotScopeIds, + optimized, + rendererInternals + ); + } else { + patchSuspense( + n1, + n2, + container, + anchor, + parentComponent, + isSVG, + slotScopeIds, + optimized, + rendererInternals + ); + } + }, + hydrate: hydrateSuspense, + create: createSuspenseBoundary, + normalize: normalizeSuspenseChildren +}; +var Suspense = SuspenseImpl; +function triggerEvent(vnode, name) { + const eventListener = vnode.props && vnode.props[name]; + if (isFunction(eventListener)) { + eventListener(); + } +} +function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) { + const { + p: patch, + o: { createElement } + } = rendererInternals; + const hiddenContainer = createElement("div"); + const suspense = vnode.suspense = createSuspenseBoundary( + vnode, + parentSuspense, + parentComponent, + container, + hiddenContainer, + anchor, + isSVG, + slotScopeIds, + optimized, + rendererInternals + ); + patch( + null, + suspense.pendingBranch = vnode.ssContent, + hiddenContainer, + null, + parentComponent, + suspense, + isSVG, + slotScopeIds + ); + if (suspense.deps > 0) { + triggerEvent(vnode, "onPending"); + triggerEvent(vnode, "onFallback"); + patch( + null, + vnode.ssFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + isSVG, + slotScopeIds + ); + setActiveBranch(suspense, vnode.ssFallback); + } else { + suspense.resolve(false, true); + } +} +function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) { + const suspense = n2.suspense = n1.suspense; + suspense.vnode = n2; + n2.el = n1.el; + const newBranch = n2.ssContent; + const newFallback = n2.ssFallback; + const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense; + if (pendingBranch) { + suspense.pendingBranch = newBranch; + if (isSameVNodeType(newBranch, pendingBranch)) { + patch( + pendingBranch, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + isSVG, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else if (isInFallback) { + patch( + activeBranch, + newFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + isSVG, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newFallback); + } + } else { + suspense.pendingId++; + if (isHydrating) { + suspense.isHydrating = false; + suspense.activeBranch = pendingBranch; + } else { + unmount(pendingBranch, parentComponent, suspense); + } + suspense.deps = 0; + suspense.effects.length = 0; + suspense.hiddenContainer = createElement("div"); + if (isInFallback) { + patch( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + isSVG, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else { + patch( + activeBranch, + newFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + isSVG, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newFallback); + } + } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) { + patch( + activeBranch, + newBranch, + container, + anchor, + parentComponent, + suspense, + isSVG, + slotScopeIds, + optimized + ); + suspense.resolve(true); + } else { + patch( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + isSVG, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } + } + } + } else { + if (activeBranch && isSameVNodeType(newBranch, activeBranch)) { + patch( + activeBranch, + newBranch, + container, + anchor, + parentComponent, + suspense, + isSVG, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newBranch); + } else { + triggerEvent(n2, "onPending"); + suspense.pendingBranch = newBranch; + suspense.pendingId++; + patch( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + isSVG, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else { + const { timeout, pendingId } = suspense; + if (timeout > 0) { + setTimeout(() => { + if (suspense.pendingId === pendingId) { + suspense.fallback(newFallback); + } + }, timeout); + } else if (timeout === 0) { + suspense.fallback(newFallback); + } + } + } + } +} +var hasWarned = false; +function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) { + if (!hasWarned) { + hasWarned = true; + console[console.info ? "info" : "log"]( + ` is an experimental feature and its API will likely change.` + ); + } + const { + p: patch, + m: move, + um: unmount, + n: next, + o: { parentNode, remove: remove2 } + } = rendererInternals; + let parentSuspenseId; + const isSuspensible = isVNodeSuspensible(vnode); + if (isSuspensible) { + if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) { + parentSuspenseId = parentSuspense.pendingId; + parentSuspense.deps++; + } + } + const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0; + if (true) { + assertNumber(timeout, `Suspense timeout`); + } + const suspense = { + vnode, + parent: parentSuspense, + parentComponent, + isSVG, + container, + hiddenContainer, + anchor, + deps: 0, + pendingId: 0, + timeout: typeof timeout === "number" ? timeout : -1, + activeBranch: null, + pendingBranch: null, + isInFallback: true, + isHydrating, + isUnmounted: false, + effects: [], + resolve(resume = false, sync = false) { + if (true) { + if (!resume && !suspense.pendingBranch) { + throw new Error( + `suspense.resolve() is called without a pending branch.` + ); + } + if (suspense.isUnmounted) { + throw new Error( + `suspense.resolve() is called on an already unmounted suspense boundary.` + ); + } + } + const { + vnode: vnode2, + activeBranch, + pendingBranch, + pendingId, + effects, + parentComponent: parentComponent2, + container: container2 + } = suspense; + if (suspense.isHydrating) { + suspense.isHydrating = false; + } else if (!resume) { + const delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in"; + if (delayEnter) { + activeBranch.transition.afterLeave = () => { + if (pendingId === suspense.pendingId) { + move(pendingBranch, container2, anchor2, 0); + } + }; + } + let { anchor: anchor2 } = suspense; + if (activeBranch) { + anchor2 = next(activeBranch); + unmount(activeBranch, parentComponent2, suspense, true); + } + if (!delayEnter) { + move(pendingBranch, container2, anchor2, 0); + } + } + setActiveBranch(suspense, pendingBranch); + suspense.pendingBranch = null; + suspense.isInFallback = false; + let parent = suspense.parent; + let hasUnresolvedAncestor = false; + while (parent) { + if (parent.pendingBranch) { + parent.effects.push(...effects); + hasUnresolvedAncestor = true; + break; + } + parent = parent.parent; + } + if (!hasUnresolvedAncestor) { + queuePostFlushCb(effects); + } + suspense.effects = []; + if (isSuspensible) { + if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) { + parentSuspense.deps--; + if (parentSuspense.deps === 0 && !sync) { + parentSuspense.resolve(); + } + } + } + triggerEvent(vnode2, "onResolve"); + }, + fallback(fallbackVNode) { + if (!suspense.pendingBranch) { + return; + } + const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, isSVG: isSVG2 } = suspense; + triggerEvent(vnode2, "onFallback"); + const anchor2 = next(activeBranch); + const mountFallback = () => { + if (!suspense.isInFallback) { + return; + } + patch( + null, + fallbackVNode, + container2, + anchor2, + parentComponent2, + null, + // fallback tree will not have suspense context + isSVG2, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, fallbackVNode); + }; + const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in"; + if (delayEnter) { + activeBranch.transition.afterLeave = mountFallback; + } + suspense.isInFallback = true; + unmount( + activeBranch, + parentComponent2, + null, + // no suspense so unmount hooks fire now + true + // shouldRemove + ); + if (!delayEnter) { + mountFallback(); + } + }, + move(container2, anchor2, type) { + suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type); + suspense.container = container2; + }, + next() { + return suspense.activeBranch && next(suspense.activeBranch); + }, + registerDep(instance, setupRenderEffect) { + const isInPendingSuspense = !!suspense.pendingBranch; + if (isInPendingSuspense) { + suspense.deps++; + } + const hydratedEl = instance.vnode.el; + instance.asyncDep.catch((err) => { + handleError(err, instance, 0); + }).then((asyncSetupResult) => { + if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) { + return; + } + instance.asyncResolved = true; + const { vnode: vnode2 } = instance; + if (true) { + pushWarningContext(vnode2); + } + handleSetupResult(instance, asyncSetupResult, false); + if (hydratedEl) { + vnode2.el = hydratedEl; + } + const placeholder = !hydratedEl && instance.subTree.el; + setupRenderEffect( + instance, + vnode2, + // component may have been moved before resolve. + // if this is not a hydration, instance.subTree will be the comment + // placeholder. + parentNode(hydratedEl || instance.subTree.el), + // anchor will not be used if this is hydration, so only need to + // consider the comment placeholder case. + hydratedEl ? null : next(instance.subTree), + suspense, + isSVG, + optimized + ); + if (placeholder) { + remove2(placeholder); + } + updateHOCHostEl(instance, vnode2.el); + if (true) { + popWarningContext(); + } + if (isInPendingSuspense && --suspense.deps === 0) { + suspense.resolve(); + } + }); + }, + unmount(parentSuspense2, doRemove) { + suspense.isUnmounted = true; + if (suspense.activeBranch) { + unmount( + suspense.activeBranch, + parentComponent, + parentSuspense2, + doRemove + ); + } + if (suspense.pendingBranch) { + unmount( + suspense.pendingBranch, + parentComponent, + parentSuspense2, + doRemove + ); + } + } + }; + return suspense; +} +function hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) { + const suspense = vnode.suspense = createSuspenseBoundary( + vnode, + parentSuspense, + parentComponent, + node.parentNode, + document.createElement("div"), + null, + isSVG, + slotScopeIds, + optimized, + rendererInternals, + true + /* hydrating */ + ); + const result = hydrateNode( + node, + suspense.pendingBranch = vnode.ssContent, + parentComponent, + suspense, + slotScopeIds, + optimized + ); + if (suspense.deps === 0) { + suspense.resolve(false, true); + } + return result; +} +function normalizeSuspenseChildren(vnode) { + const { shapeFlag, children } = vnode; + const isSlotChildren = shapeFlag & 32; + vnode.ssContent = normalizeSuspenseSlot( + isSlotChildren ? children.default : children + ); + vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment); +} +function normalizeSuspenseSlot(s) { + let block; + if (isFunction(s)) { + const trackBlock = isBlockTreeEnabled && s._c; + if (trackBlock) { + s._d = false; + openBlock(); + } + s = s(); + if (trackBlock) { + s._d = true; + block = currentBlock; + closeBlock(); + } + } + if (isArray(s)) { + const singleChild = filterSingleRoot(s); + if (!singleChild) { + warn2(` slots expect a single root node.`); + } + s = singleChild; + } + s = normalizeVNode(s); + if (block && !s.dynamicChildren) { + s.dynamicChildren = block.filter((c) => c !== s); + } + return s; +} +function queueEffectWithSuspense(fn, suspense) { + if (suspense && suspense.pendingBranch) { + if (isArray(fn)) { + suspense.effects.push(...fn); + } else { + suspense.effects.push(fn); + } + } else { + queuePostFlushCb(fn); + } +} +function setActiveBranch(suspense, branch) { + suspense.activeBranch = branch; + const { vnode, parentComponent } = suspense; + const el = vnode.el = branch.el; + if (parentComponent && parentComponent.subTree === vnode) { + parentComponent.vnode.el = el; + updateHOCHostEl(parentComponent, el); + } +} +function isVNodeSuspensible(vnode) { + var _a; + return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false; +} +function watchEffect(effect2, options) { + return doWatch(effect2, null, options); +} +function watchPostEffect(effect2, options) { + return doWatch( + effect2, + null, + true ? extend({}, options, { flush: "post" }) : { flush: "post" } + ); +} +function watchSyncEffect(effect2, options) { + return doWatch( + effect2, + null, + true ? extend({}, options, { flush: "sync" }) : { flush: "sync" } + ); +} +var INITIAL_WATCHER_VALUE = {}; +function watch(source, cb, options) { + if (!isFunction(cb)) { + warn2( + `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.` + ); + } + return doWatch(source, cb, options); +} +function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) { + var _a; + if (!cb) { + if (immediate !== void 0) { + warn2( + `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.` + ); + } + if (deep !== void 0) { + warn2( + `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.` + ); + } + } + const warnInvalidSource = (s) => { + warn2( + `Invalid watch source: `, + s, + `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.` + ); + }; + const instance = getCurrentScope() === ((_a = currentInstance) == null ? void 0 : _a.scope) ? currentInstance : null; + let getter; + let forceTrigger = false; + let isMultiSource = false; + if (isRef(source)) { + getter = () => source.value; + forceTrigger = isShallow(source); + } else if (isReactive(source)) { + getter = () => source; + deep = true; + } else if (isArray(source)) { + isMultiSource = true; + forceTrigger = source.some((s) => isReactive(s) || isShallow(s)); + getter = () => source.map((s) => { + if (isRef(s)) { + return s.value; + } else if (isReactive(s)) { + return traverse(s); + } else if (isFunction(s)) { + return callWithErrorHandling(s, instance, 2); + } else { + warnInvalidSource(s); + } + }); + } else if (isFunction(source)) { + if (cb) { + getter = () => callWithErrorHandling(source, instance, 2); + } else { + getter = () => { + if (instance && instance.isUnmounted) { + return; + } + if (cleanup) { + cleanup(); + } + return callWithAsyncErrorHandling( + source, + instance, + 3, + [onCleanup] + ); + }; + } + } else { + getter = NOOP; + warnInvalidSource(source); + } + if (cb && deep) { + const baseGetter = getter; + getter = () => traverse(baseGetter()); + } + let cleanup; + let onCleanup = (fn) => { + cleanup = effect2.onStop = () => { + callWithErrorHandling(fn, instance, 4); + }; + }; + let ssrCleanup; + if (isInSSRComponentSetup) { + onCleanup = NOOP; + if (!cb) { + getter(); + } else if (immediate) { + callWithAsyncErrorHandling(cb, instance, 3, [ + getter(), + isMultiSource ? [] : void 0, + onCleanup + ]); + } + if (flush === "sync") { + const ctx = useSSRContext(); + ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []); + } else { + return NOOP; + } + } + let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; + const job = () => { + if (!effect2.active) { + return; + } + if (cb) { + const newValue = effect2.run(); + if (deep || forceTrigger || (isMultiSource ? newValue.some( + (v, i) => hasChanged(v, oldValue[i]) + ) : hasChanged(newValue, oldValue)) || false) { + if (cleanup) { + cleanup(); + } + callWithAsyncErrorHandling(cb, instance, 3, [ + newValue, + // pass undefined as the old value when it's changed for the first time + oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, + onCleanup + ]); + oldValue = newValue; + } + } else { + effect2.run(); + } + }; + job.allowRecurse = !!cb; + let scheduler; + if (flush === "sync") { + scheduler = job; + } else if (flush === "post") { + scheduler = () => queuePostRenderEffect(job, instance && instance.suspense); + } else { + job.pre = true; + if (instance) + job.id = instance.uid; + scheduler = () => queueJob(job); + } + const effect2 = new ReactiveEffect(getter, scheduler); + if (true) { + effect2.onTrack = onTrack; + effect2.onTrigger = onTrigger; + } + if (cb) { + if (immediate) { + job(); + } else { + oldValue = effect2.run(); + } + } else if (flush === "post") { + queuePostRenderEffect( + effect2.run.bind(effect2), + instance && instance.suspense + ); + } else { + effect2.run(); + } + const unwatch = () => { + effect2.stop(); + if (instance && instance.scope) { + remove(instance.scope.effects, effect2); + } + }; + if (ssrCleanup) + ssrCleanup.push(unwatch); + return unwatch; +} +function instanceWatch(source, value, options) { + const publicThis = this.proxy; + const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); + let cb; + if (isFunction(value)) { + cb = value; + } else { + cb = value.handler; + options = value; + } + const cur = currentInstance; + setCurrentInstance(this); + const res = doWatch(getter, cb.bind(publicThis), options); + if (cur) { + setCurrentInstance(cur); + } else { + unsetCurrentInstance(); + } + return res; +} +function createPathGetter(ctx, path) { + const segments = path.split("."); + return () => { + let cur = ctx; + for (let i = 0; i < segments.length && cur; i++) { + cur = cur[segments[i]]; + } + return cur; + }; +} +function traverse(value, seen) { + if (!isObject(value) || value["__v_skip"]) { + return value; + } + seen = seen || /* @__PURE__ */ new Set(); + if (seen.has(value)) { + return value; + } + seen.add(value); + if (isRef(value)) { + traverse(value.value, seen); + } else if (isArray(value)) { + for (let i = 0; i < value.length; i++) { + traverse(value[i], seen); + } + } else if (isSet(value) || isMap(value)) { + value.forEach((v) => { + traverse(v, seen); + }); + } else if (isPlainObject(value)) { + for (const key in value) { + traverse(value[key], seen); + } + } + return value; +} +function validateDirectiveName(name) { + if (isBuiltInDirective(name)) { + warn2("Do not use built-in directive ids as custom directive id: " + name); + } +} +function withDirectives(vnode, directives) { + const internalInstance = currentRenderingInstance; + if (internalInstance === null) { + warn2(`withDirectives can only be used inside render functions.`); + return vnode; + } + const instance = getExposeProxy(internalInstance) || internalInstance.proxy; + const bindings = vnode.dirs || (vnode.dirs = []); + for (let i = 0; i < directives.length; i++) { + let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i]; + if (dir) { + if (isFunction(dir)) { + dir = { + mounted: dir, + updated: dir + }; + } + if (dir.deep) { + traverse(value); + } + bindings.push({ + dir, + instance, + value, + oldValue: void 0, + arg, + modifiers + }); + } + } + return vnode; +} +function invokeDirectiveHook(vnode, prevVNode, instance, name) { + const bindings = vnode.dirs; + const oldBindings = prevVNode && prevVNode.dirs; + for (let i = 0; i < bindings.length; i++) { + const binding = bindings[i]; + if (oldBindings) { + binding.oldValue = oldBindings[i].value; + } + let hook = binding.dir[name]; + if (hook) { + pauseTracking(); + callWithAsyncErrorHandling(hook, instance, 8, [ + vnode.el, + binding, + vnode, + prevVNode + ]); + resetTracking(); + } + } +} +function useTransitionState() { + const state = { + isMounted: false, + isLeaving: false, + isUnmounting: false, + leavingVNodes: /* @__PURE__ */ new Map() + }; + onMounted(() => { + state.isMounted = true; + }); + onBeforeUnmount(() => { + state.isUnmounting = true; + }); + return state; +} +var TransitionHookValidator = [Function, Array]; +var BaseTransitionPropsValidators = { + mode: String, + appear: Boolean, + persisted: Boolean, + // enter + onBeforeEnter: TransitionHookValidator, + onEnter: TransitionHookValidator, + onAfterEnter: TransitionHookValidator, + onEnterCancelled: TransitionHookValidator, + // leave + onBeforeLeave: TransitionHookValidator, + onLeave: TransitionHookValidator, + onAfterLeave: TransitionHookValidator, + onLeaveCancelled: TransitionHookValidator, + // appear + onBeforeAppear: TransitionHookValidator, + onAppear: TransitionHookValidator, + onAfterAppear: TransitionHookValidator, + onAppearCancelled: TransitionHookValidator +}; +var BaseTransitionImpl = { + name: `BaseTransition`, + props: BaseTransitionPropsValidators, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const state = useTransitionState(); + let prevTransitionKey; + return () => { + const children = slots.default && getTransitionRawChildren(slots.default(), true); + if (!children || !children.length) { + return; + } + let child = children[0]; + if (children.length > 1) { + let hasFound = false; + for (const c of children) { + if (c.type !== Comment) { + if (hasFound) { + warn2( + " can only be used on a single element or component. Use for lists." + ); + break; + } + child = c; + hasFound = true; + if (false) + break; + } + } + } + const rawProps = toRaw(props); + const { mode } = rawProps; + if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") { + warn2(`invalid mode: ${mode}`); + } + if (state.isLeaving) { + return emptyPlaceholder(child); + } + const innerChild = getKeepAliveChild(child); + if (!innerChild) { + return emptyPlaceholder(child); + } + const enterHooks = resolveTransitionHooks( + innerChild, + rawProps, + state, + instance + ); + setTransitionHooks(innerChild, enterHooks); + const oldChild = instance.subTree; + const oldInnerChild = oldChild && getKeepAliveChild(oldChild); + let transitionKeyChanged = false; + const { getTransitionKey } = innerChild.type; + if (getTransitionKey) { + const key = getTransitionKey(); + if (prevTransitionKey === void 0) { + prevTransitionKey = key; + } else if (key !== prevTransitionKey) { + prevTransitionKey = key; + transitionKeyChanged = true; + } + } + if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) { + const leavingHooks = resolveTransitionHooks( + oldInnerChild, + rawProps, + state, + instance + ); + setTransitionHooks(oldInnerChild, leavingHooks); + if (mode === "out-in") { + state.isLeaving = true; + leavingHooks.afterLeave = () => { + state.isLeaving = false; + if (instance.update.active !== false) { + instance.update(); + } + }; + return emptyPlaceholder(child); + } else if (mode === "in-out" && innerChild.type !== Comment) { + leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => { + const leavingVNodesCache = getLeavingNodesForType( + state, + oldInnerChild + ); + leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild; + el._leaveCb = () => { + earlyRemove(); + el._leaveCb = void 0; + delete enterHooks.delayedLeave; + }; + enterHooks.delayedLeave = delayedLeave; + }; + } + } + return child; + }; + } +}; +var BaseTransition = BaseTransitionImpl; +function getLeavingNodesForType(state, vnode) { + const { leavingVNodes } = state; + let leavingVNodesCache = leavingVNodes.get(vnode.type); + if (!leavingVNodesCache) { + leavingVNodesCache = /* @__PURE__ */ Object.create(null); + leavingVNodes.set(vnode.type, leavingVNodesCache); + } + return leavingVNodesCache; +} +function resolveTransitionHooks(vnode, props, state, instance) { + const { + appear, + mode, + persisted = false, + onBeforeEnter, + onEnter, + onAfterEnter, + onEnterCancelled, + onBeforeLeave, + onLeave, + onAfterLeave, + onLeaveCancelled, + onBeforeAppear, + onAppear, + onAfterAppear, + onAppearCancelled + } = props; + const key = String(vnode.key); + const leavingVNodesCache = getLeavingNodesForType(state, vnode); + const callHook3 = (hook, args) => { + hook && callWithAsyncErrorHandling( + hook, + instance, + 9, + args + ); + }; + const callAsyncHook = (hook, args) => { + const done = args[1]; + callHook3(hook, args); + if (isArray(hook)) { + if (hook.every((hook2) => hook2.length <= 1)) + done(); + } else if (hook.length <= 1) { + done(); + } + }; + const hooks = { + mode, + persisted, + beforeEnter(el) { + let hook = onBeforeEnter; + if (!state.isMounted) { + if (appear) { + hook = onBeforeAppear || onBeforeEnter; + } else { + return; + } + } + if (el._leaveCb) { + el._leaveCb( + true + /* cancelled */ + ); + } + const leavingVNode = leavingVNodesCache[key]; + if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el._leaveCb) { + leavingVNode.el._leaveCb(); + } + callHook3(hook, [el]); + }, + enter(el) { + let hook = onEnter; + let afterHook = onAfterEnter; + let cancelHook = onEnterCancelled; + if (!state.isMounted) { + if (appear) { + hook = onAppear || onEnter; + afterHook = onAfterAppear || onAfterEnter; + cancelHook = onAppearCancelled || onEnterCancelled; + } else { + return; + } + } + let called = false; + const done = el._enterCb = (cancelled) => { + if (called) + return; + called = true; + if (cancelled) { + callHook3(cancelHook, [el]); + } else { + callHook3(afterHook, [el]); + } + if (hooks.delayedLeave) { + hooks.delayedLeave(); + } + el._enterCb = void 0; + }; + if (hook) { + callAsyncHook(hook, [el, done]); + } else { + done(); + } + }, + leave(el, remove2) { + const key2 = String(vnode.key); + if (el._enterCb) { + el._enterCb( + true + /* cancelled */ + ); + } + if (state.isUnmounting) { + return remove2(); + } + callHook3(onBeforeLeave, [el]); + let called = false; + const done = el._leaveCb = (cancelled) => { + if (called) + return; + called = true; + remove2(); + if (cancelled) { + callHook3(onLeaveCancelled, [el]); + } else { + callHook3(onAfterLeave, [el]); + } + el._leaveCb = void 0; + if (leavingVNodesCache[key2] === vnode) { + delete leavingVNodesCache[key2]; + } + }; + leavingVNodesCache[key2] = vnode; + if (onLeave) { + callAsyncHook(onLeave, [el, done]); + } else { + done(); + } + }, + clone(vnode2) { + return resolveTransitionHooks(vnode2, props, state, instance); + } + }; + return hooks; +} +function emptyPlaceholder(vnode) { + if (isKeepAlive(vnode)) { + vnode = cloneVNode(vnode); + vnode.children = null; + return vnode; + } +} +function getKeepAliveChild(vnode) { + return isKeepAlive(vnode) ? vnode.children ? vnode.children[0] : void 0 : vnode; +} +function setTransitionHooks(vnode, hooks) { + if (vnode.shapeFlag & 6 && vnode.component) { + setTransitionHooks(vnode.component.subTree, hooks); + } else if (vnode.shapeFlag & 128) { + vnode.ssContent.transition = hooks.clone(vnode.ssContent); + vnode.ssFallback.transition = hooks.clone(vnode.ssFallback); + } else { + vnode.transition = hooks; + } +} +function getTransitionRawChildren(children, keepComment = false, parentKey) { + let ret = []; + let keyedFragmentCount = 0; + for (let i = 0; i < children.length; i++) { + let child = children[i]; + const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i); + if (child.type === Fragment) { + if (child.patchFlag & 128) + keyedFragmentCount++; + ret = ret.concat( + getTransitionRawChildren(child.children, keepComment, key) + ); + } else if (keepComment || child.type !== Comment) { + ret.push(key != null ? cloneVNode(child, { key }) : child); + } + } + if (keyedFragmentCount > 1) { + for (let i = 0; i < ret.length; i++) { + ret[i].patchFlag = -2; + } + } + return ret; +} +function defineComponent(options, extraOptions) { + return isFunction(options) ? ( + // #8326: extend call and options.name access are considered side-effects + // by Rollup, so we have to wrap it in a pure-annotated IIFE. + (() => extend({ name: options.name }, extraOptions, { setup: options }))() + ) : options; +} +var isAsyncWrapper = (i) => !!i.type.__asyncLoader; +function defineAsyncComponent(source) { + if (isFunction(source)) { + source = { loader: source }; + } + const { + loader, + loadingComponent, + errorComponent, + delay = 200, + timeout, + // undefined = never times out + suspensible = true, + onError: userOnError + } = source; + let pendingRequest = null; + let resolvedComp; + let retries = 0; + const retry = () => { + retries++; + pendingRequest = null; + return load(); + }; + const load = () => { + let thisRequest; + return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { + err = err instanceof Error ? err : new Error(String(err)); + if (userOnError) { + return new Promise((resolve2, reject) => { + const userRetry = () => resolve2(retry()); + const userFail = () => reject(err); + userOnError(err, userRetry, userFail, retries + 1); + }); + } else { + throw err; + } + }).then((comp) => { + if (thisRequest !== pendingRequest && pendingRequest) { + return pendingRequest; + } + if (!comp) { + warn2( + `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.` + ); + } + if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) { + comp = comp.default; + } + if (comp && !isObject(comp) && !isFunction(comp)) { + throw new Error(`Invalid async component load result: ${comp}`); + } + resolvedComp = comp; + return comp; + })); + }; + return defineComponent({ + name: "AsyncComponentWrapper", + __asyncLoader: load, + get __asyncResolved() { + return resolvedComp; + }, + setup() { + const instance = currentInstance; + if (resolvedComp) { + return () => createInnerComp(resolvedComp, instance); + } + const onError = (err) => { + pendingRequest = null; + handleError( + err, + instance, + 13, + !errorComponent + /* do not throw in dev if user provided error component */ + ); + }; + if (suspensible && instance.suspense || isInSSRComponentSetup) { + return load().then((comp) => { + return () => createInnerComp(comp, instance); + }).catch((err) => { + onError(err); + return () => errorComponent ? createVNode(errorComponent, { + error: err + }) : null; + }); + } + const loaded = ref(false); + const error = ref(); + const delayed = ref(!!delay); + if (delay) { + setTimeout(() => { + delayed.value = false; + }, delay); + } + if (timeout != null) { + setTimeout(() => { + if (!loaded.value && !error.value) { + const err = new Error( + `Async component timed out after ${timeout}ms.` + ); + onError(err); + error.value = err; + } + }, timeout); + } + load().then(() => { + loaded.value = true; + if (instance.parent && isKeepAlive(instance.parent.vnode)) { + queueJob(instance.parent.update); + } + }).catch((err) => { + onError(err); + error.value = err; + }); + return () => { + if (loaded.value && resolvedComp) { + return createInnerComp(resolvedComp, instance); + } else if (error.value && errorComponent) { + return createVNode(errorComponent, { + error: error.value + }); + } else if (loadingComponent && !delayed.value) { + return createVNode(loadingComponent); + } + }; + } + }); +} +function createInnerComp(comp, parent) { + const { ref: ref2, props, children, ce } = parent.vnode; + const vnode = createVNode(comp, props, children); + vnode.ref = ref2; + vnode.ce = ce; + delete parent.vnode.ce; + return vnode; +} +var isKeepAlive = (vnode) => vnode.type.__isKeepAlive; +var KeepAliveImpl = { + name: `KeepAlive`, + // Marker for special handling inside the renderer. We are not using a === + // check directly on KeepAlive in the renderer, because importing it directly + // would prevent it from being tree-shaken. + __isKeepAlive: true, + props: { + include: [String, RegExp, Array], + exclude: [String, RegExp, Array], + max: [String, Number] + }, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const sharedContext = instance.ctx; + if (!sharedContext.renderer) { + return () => { + const children = slots.default && slots.default(); + return children && children.length === 1 ? children[0] : children; + }; + } + const cache = /* @__PURE__ */ new Map(); + const keys = /* @__PURE__ */ new Set(); + let current = null; + if (true) { + instance.__v_cache = cache; + } + const parentSuspense = instance.suspense; + const { + renderer: { + p: patch, + m: move, + um: _unmount, + o: { createElement } + } + } = sharedContext; + const storageContainer = createElement("div"); + sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => { + const instance2 = vnode.component; + move(vnode, container, anchor, 0, parentSuspense); + patch( + instance2.vnode, + vnode, + container, + anchor, + instance2, + parentSuspense, + isSVG, + vnode.slotScopeIds, + optimized + ); + queuePostRenderEffect(() => { + instance2.isDeactivated = false; + if (instance2.a) { + invokeArrayFns(instance2.a); + } + const vnodeHook = vnode.props && vnode.props.onVnodeMounted; + if (vnodeHook) { + invokeVNodeHook(vnodeHook, instance2.parent, vnode); + } + }, parentSuspense); + if (true) { + devtoolsComponentAdded(instance2); + } + }; + sharedContext.deactivate = (vnode) => { + const instance2 = vnode.component; + move(vnode, storageContainer, null, 1, parentSuspense); + queuePostRenderEffect(() => { + if (instance2.da) { + invokeArrayFns(instance2.da); + } + const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted; + if (vnodeHook) { + invokeVNodeHook(vnodeHook, instance2.parent, vnode); + } + instance2.isDeactivated = true; + }, parentSuspense); + if (true) { + devtoolsComponentAdded(instance2); + } + }; + function unmount(vnode) { + resetShapeFlag(vnode); + _unmount(vnode, instance, parentSuspense, true); + } + function pruneCache(filter) { + cache.forEach((vnode, key) => { + const name = getComponentName(vnode.type); + if (name && (!filter || !filter(name))) { + pruneCacheEntry(key); + } + }); + } + function pruneCacheEntry(key) { + const cached = cache.get(key); + if (!current || !isSameVNodeType(cached, current)) { + unmount(cached); + } else if (current) { + resetShapeFlag(current); + } + cache.delete(key); + keys.delete(key); + } + watch( + () => [props.include, props.exclude], + ([include, exclude]) => { + include && pruneCache((name) => matches(include, name)); + exclude && pruneCache((name) => !matches(exclude, name)); + }, + // prune post-render after `current` has been updated + { flush: "post", deep: true } + ); + let pendingCacheKey = null; + const cacheSubtree = () => { + if (pendingCacheKey != null) { + cache.set(pendingCacheKey, getInnerChild(instance.subTree)); + } + }; + onMounted(cacheSubtree); + onUpdated(cacheSubtree); + onBeforeUnmount(() => { + cache.forEach((cached) => { + const { subTree, suspense } = instance; + const vnode = getInnerChild(subTree); + if (cached.type === vnode.type && cached.key === vnode.key) { + resetShapeFlag(vnode); + const da = vnode.component.da; + da && queuePostRenderEffect(da, suspense); + return; + } + unmount(cached); + }); + }); + return () => { + pendingCacheKey = null; + if (!slots.default) { + return null; + } + const children = slots.default(); + const rawVNode = children[0]; + if (children.length > 1) { + if (true) { + warn2(`KeepAlive should contain exactly one component child.`); + } + current = null; + return children; + } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) { + current = null; + return rawVNode; + } + let vnode = getInnerChild(rawVNode); + const comp = vnode.type; + const name = getComponentName( + isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp + ); + const { include, exclude, max } = props; + if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) { + current = vnode; + return rawVNode; + } + const key = vnode.key == null ? comp : vnode.key; + const cachedVNode = cache.get(key); + if (vnode.el) { + vnode = cloneVNode(vnode); + if (rawVNode.shapeFlag & 128) { + rawVNode.ssContent = vnode; + } + } + pendingCacheKey = key; + if (cachedVNode) { + vnode.el = cachedVNode.el; + vnode.component = cachedVNode.component; + if (vnode.transition) { + setTransitionHooks(vnode, vnode.transition); + } + vnode.shapeFlag |= 512; + keys.delete(key); + keys.add(key); + } else { + keys.add(key); + if (max && keys.size > parseInt(max, 10)) { + pruneCacheEntry(keys.values().next().value); + } + } + vnode.shapeFlag |= 256; + current = vnode; + return isSuspense(rawVNode.type) ? rawVNode : vnode; + }; + } +}; +var KeepAlive = KeepAliveImpl; +function matches(pattern, name) { + if (isArray(pattern)) { + return pattern.some((p2) => matches(p2, name)); + } else if (isString(pattern)) { + return pattern.split(",").includes(name); + } else if (isRegExp(pattern)) { + return pattern.test(name); + } + return false; +} +function onActivated(hook, target) { + registerKeepAliveHook(hook, "a", target); +} +function onDeactivated(hook, target) { + registerKeepAliveHook(hook, "da", target); +} +function registerKeepAliveHook(hook, type, target = currentInstance) { + const wrappedHook = hook.__wdc || (hook.__wdc = () => { + let current = target; + while (current) { + if (current.isDeactivated) { + return; + } + current = current.parent; + } + return hook(); + }); + injectHook(type, wrappedHook, target); + if (target) { + let current = target.parent; + while (current && current.parent) { + if (isKeepAlive(current.parent.vnode)) { + injectToKeepAliveRoot(wrappedHook, type, target, current); + } + current = current.parent; + } + } +} +function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { + const injected = injectHook( + type, + hook, + keepAliveRoot, + true + /* prepend */ + ); + onUnmounted(() => { + remove(keepAliveRoot[type], injected); + }, target); +} +function resetShapeFlag(vnode) { + vnode.shapeFlag &= ~256; + vnode.shapeFlag &= ~512; +} +function getInnerChild(vnode) { + return vnode.shapeFlag & 128 ? vnode.ssContent : vnode; +} +function injectHook(type, hook, target = currentInstance, prepend = false) { + if (target) { + const hooks = target[type] || (target[type] = []); + const wrappedHook = hook.__weh || (hook.__weh = (...args) => { + if (target.isUnmounted) { + return; + } + pauseTracking(); + setCurrentInstance(target); + const res = callWithAsyncErrorHandling(hook, target, type, args); + unsetCurrentInstance(); + resetTracking(); + return res; + }); + if (prepend) { + hooks.unshift(wrappedHook); + } else { + hooks.push(wrappedHook); + } + return wrappedHook; + } else if (true) { + const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, "")); + warn2( + `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` + ); + } +} +var createHook = (lifecycle) => (hook, target = currentInstance) => ( + // post-create lifecycle registrations are noops during SSR (except for serverPrefetch) + (!isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, (...args) => hook(...args), target) +); +var onBeforeMount = createHook("bm"); +var onMounted = createHook("m"); +var onBeforeUpdate = createHook("bu"); +var onUpdated = createHook("u"); +var onBeforeUnmount = createHook("bum"); +var onUnmounted = createHook("um"); +var onServerPrefetch = createHook("sp"); +var onRenderTriggered = createHook( + "rtg" +); +var onRenderTracked = createHook( + "rtc" +); +function onErrorCaptured(hook, target = currentInstance) { + injectHook("ec", hook, target); +} +var COMPONENTS = "components"; +var DIRECTIVES = "directives"; +function resolveComponent(name, maybeSelfReference) { + return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; +} +var NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc"); +function resolveDynamicComponent(component) { + if (isString(component)) { + return resolveAsset(COMPONENTS, component, false) || component; + } else { + return component || NULL_DYNAMIC_COMPONENT; + } +} +function resolveDirective(name) { + return resolveAsset(DIRECTIVES, name); +} +function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { + const instance = currentRenderingInstance || currentInstance; + if (instance) { + const Component = instance.type; + if (type === COMPONENTS) { + const selfName = getComponentName( + Component, + false + /* do not include inferred name to avoid breaking existing code */ + ); + if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) { + return Component; + } + } + const res = ( + // local registration + // check instance[type] first which is resolved for options API + resolve(instance[type] || Component[type], name) || // global registration + resolve(instance.appContext[type], name) + ); + if (!res && maybeSelfReference) { + return Component; + } + if (warnMissing && !res) { + const extra = type === COMPONENTS ? ` +If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``; + warn2(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`); + } + return res; + } else if (true) { + warn2( + `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().` + ); + } +} +function resolve(registry, name) { + return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]); +} +function renderList(source, renderItem, cache, index) { + let ret; + const cached = cache && cache[index]; + if (isArray(source) || isString(source)) { + ret = new Array(source.length); + for (let i = 0, l = source.length; i < l; i++) { + ret[i] = renderItem(source[i], i, void 0, cached && cached[i]); + } + } else if (typeof source === "number") { + if (!Number.isInteger(source)) { + warn2(`The v-for range expect an integer value but got ${source}.`); + } + ret = new Array(source); + for (let i = 0; i < source; i++) { + ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]); + } + } else if (isObject(source)) { + if (source[Symbol.iterator]) { + ret = Array.from( + source, + (item, i) => renderItem(item, i, void 0, cached && cached[i]) + ); + } else { + const keys = Object.keys(source); + ret = new Array(keys.length); + for (let i = 0, l = keys.length; i < l; i++) { + const key = keys[i]; + ret[i] = renderItem(source[key], key, i, cached && cached[i]); + } + } + } else { + ret = []; + } + if (cache) { + cache[index] = ret; + } + return ret; +} +function createSlots(slots, dynamicSlots) { + for (let i = 0; i < dynamicSlots.length; i++) { + const slot = dynamicSlots[i]; + if (isArray(slot)) { + for (let j = 0; j < slot.length; j++) { + slots[slot[j].name] = slot[j].fn; + } + } else if (slot) { + slots[slot.name] = slot.key ? (...args) => { + const res = slot.fn(...args); + if (res) + res.key = slot.key; + return res; + } : slot.fn; + } + } + return slots; +} +function renderSlot(slots, name, props = {}, fallback, noSlotted) { + if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) { + if (name !== "default") + props.name = name; + return createVNode("slot", props, fallback && fallback()); + } + let slot = slots[name]; + if (slot && slot.length > 1) { + warn2( + `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.` + ); + slot = () => []; + } + if (slot && slot._c) { + slot._d = false; + } + openBlock(); + const validSlotContent = slot && ensureValidVNode(slot(props)); + const rendered = createBlock( + Fragment, + { + key: props.key || // slot content array of a dynamic conditional slot may have a branch + // key attached in the `createSlots` helper, respect that + validSlotContent && validSlotContent.key || `_${name}` + }, + validSlotContent || (fallback ? fallback() : []), + validSlotContent && slots._ === 1 ? 64 : -2 + ); + if (!noSlotted && rendered.scopeId) { + rendered.slotScopeIds = [rendered.scopeId + "-s"]; + } + if (slot && slot._c) { + slot._d = true; + } + return rendered; +} +function ensureValidVNode(vnodes) { + return vnodes.some((child) => { + if (!isVNode(child)) + return true; + if (child.type === Comment) + return false; + if (child.type === Fragment && !ensureValidVNode(child.children)) + return false; + return true; + }) ? vnodes : null; +} +function toHandlers(obj, preserveCaseIfNecessary) { + const ret = {}; + if (!isObject(obj)) { + warn2(`v-on with no argument expects an object value.`); + return ret; + } + for (const key in obj) { + ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key]; + } + return ret; +} +var getPublicInstance = (i) => { + if (!i) + return null; + if (isStatefulComponent(i)) + return getExposeProxy(i) || i.proxy; + return getPublicInstance(i.parent); +}; +var publicPropertiesMap = ( + // Move PURE marker to new line to workaround compiler discarding it + // due to type annotation + extend(/* @__PURE__ */ Object.create(null), { + $: (i) => i, + $el: (i) => i.vnode.el, + $data: (i) => i.data, + $props: (i) => true ? shallowReadonly(i.props) : i.props, + $attrs: (i) => true ? shallowReadonly(i.attrs) : i.attrs, + $slots: (i) => true ? shallowReadonly(i.slots) : i.slots, + $refs: (i) => true ? shallowReadonly(i.refs) : i.refs, + $parent: (i) => getPublicInstance(i.parent), + $root: (i) => getPublicInstance(i.root), + $emit: (i) => i.emit, + $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type, + $forceUpdate: (i) => i.f || (i.f = () => queueJob(i.update)), + $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)), + $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP + }) +); +var isReservedPrefix = (key) => key === "_" || key === "$"; +var hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key); +var PublicInstanceProxyHandlers = { + get({ _: instance }, key) { + const { ctx, setupState, data, props, accessCache, type, appContext } = instance; + if (key === "__isVue") { + return true; + } + let normalizedProps; + if (key[0] !== "$") { + const n = accessCache[key]; + if (n !== void 0) { + switch (n) { + case 1: + return setupState[key]; + case 2: + return data[key]; + case 4: + return ctx[key]; + case 3: + return props[key]; + } + } else if (hasSetupBinding(setupState, key)) { + accessCache[key] = 1; + return setupState[key]; + } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { + accessCache[key] = 2; + return data[key]; + } else if ( + // only cache other properties when instance has declared (thus stable) + // props + (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key) + ) { + accessCache[key] = 3; + return props[key]; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) { + accessCache[key] = 0; + } + } + const publicGetter = publicPropertiesMap[key]; + let cssModule, globalProperties; + if (publicGetter) { + if (key === "$attrs") { + track(instance, "get", key); + markAttrsAccessed(); + } else if (key === "$slots") { + track(instance, "get", key); + } + return publicGetter(instance); + } else if ( + // css module (injected by vue-loader) + (cssModule = type.__cssModules) && (cssModule = cssModule[key]) + ) { + return cssModule; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if ( + // global properties + globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key) + ) { + { + return globalProperties[key]; + } + } else if (currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading + // to infinite warning loop + key.indexOf("__v") !== 0)) { + if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) { + warn2( + `Property ${JSON.stringify( + key + )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.` + ); + } else if (instance === currentRenderingInstance) { + warn2( + `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.` + ); + } + } + }, + set({ _: instance }, key, value) { + const { data, setupState, ctx } = instance; + if (hasSetupBinding(setupState, key)) { + setupState[key] = value; + return true; + } else if (setupState.__isScriptSetup && hasOwn(setupState, key)) { + warn2(`Cannot mutate + + + + + +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

License

+ + + + \ No newline at end of file diff --git a/docs/.vitepress/dist/assets/app.1e0108a1.js b/docs/.vitepress/dist/assets/app.1e0108a1.js new file mode 100644 index 0000000..5076e62 --- /dev/null +++ b/docs/.vitepress/dist/assets/app.1e0108a1.js @@ -0,0 +1 @@ +import{d as C,l as E,o as d,c,b as z,G as L,r as K,a as X,t as y,n as h,h as m,k as M,C as f,K as g,a3 as Y,J as Z,E as x,a5 as ee,F as B,R as P,a6 as ae,T as te,S as q,U as D,Q as k,a7 as le,a8 as se,a9 as ne,aa as oe,ab as ue,ac as ie,ad as re,ae as de,af as ce,ag as pe,M as fe,u as he,p as ve,ah as me,ai as ge,aj as _e,ak as ye}from"./chunks/framework.dc35932b.js";import{t as be}from"./chunks/theme.0d1c29fb.js";const we={key:0,class:"q-loadingIndicator"},$e={name:"QButton"},Ce=C({...$e,props:{type:{type:String,default:"default"},dashed:{type:Boolean,default:!1},size:{type:String,default:"default"},round:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},setup(e){const l=e,{type:a,dashed:n,size:s,round:u,disabled:r,loading:o}=l,v=E(()=>({[`q-type-${a}`]:a,["q-type-dashed"]:n,[`q-size-${s}`]:s,["is-round"]:u,["is-disabled"]:r||o,["is-loading"]:o}));return(S,A)=>(d(),c("button",{class:h(["q-button",v.value])},[z(o)?(d(),c("span",we)):L("",!0),K(S.$slots,"default",{},()=>[X(y(z(a)),1)],!0)],2))}}),V=(e,l)=>{const a=e.__vccOpts||e;for(const[n,s]of l)a[n]=s;return a},b=V(Ce,[["__scopeId","data-v-4eae179c"]]);b.install=e=>{e.component(b.__name,b)};const O=e=>(q("data-v-3b126f0b"),e=e(),D(),e),Se=["title"],Be=O(()=>f("path",{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"},null,-1)),ke=[Be],Ve=["onClick"],Ae=O(()=>f("path",{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 01-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z"},null,-1)),Ie=[Ae],ze=["title","onMouseenter","onClick"],Ee={name:"QSelect"},Le=C({...Ee,props:{options:{default:()=>[]},label:{default:"label"},value:{default:"value"},placeholder:{default:"请选择"},disabled:{type:Boolean,default:!1},allowClear:{type:Boolean,default:!1},width:{default:120},height:{default:32},maxDisplay:{default:6},modelValue:{default:null}},emits:["update:modelValue","change"],setup(e,{emit:l}){const a=e,n=m(),s=m(),u=m(!1),r=m(!0),o=m(!1),v=m();M(()=>{S()});function S(){if(a.modelValue){const t=a.options.find(p=>p[a.value]===a.modelValue);t?(n.value=t[a.label],s.value=t[a.value]):(n.value=a.modelValue,s.value=null)}else n.value=null,s.value=null}function A(){u.value&&(u.value=!1)}function T(){a.allowClear&&n.value&&(o.value=!0)}function N(){a.allowClear&&o.value&&(o.value=!1)}function j(t){s.value=t}function F(){r.value=!1}function U(){s.value=null,r.value=!0,v.value.focus()}function G(){if(u.value=!u.value,!s.value&&n.value){const t=a.options.find(p=>p[a.label]===n.value);s.value=t?t[a.value]:null}}function H(){o.value=!1,n.value=null,s.value=null,l("update:modelValue"),l("change")}function J(t,p,i){a.modelValue!==t&&(n.value=p,s.value=t,l("update:modelValue",t),l("change",t,p,i)),u.value=!1}return(t,p)=>(d(),c("div",{class:"m-select",style:g(`height: ${t.height}px;`)},[f("div",{class:h(["m-select-wrap",{hover:!t.disabled,focus:u.value,disabled:t.disabled}]),style:g(`width: ${t.width}px; height: ${t.height}px;`),tabindex:"0",ref_key:"select",ref:v,onMouseenter:T,onMouseleave:N,onBlur:p[0]||(p[0]=i=>r.value&&!t.disabled?A():()=>!1),onClick:p[1]||(p[1]=i=>t.disabled?()=>!1:G())},[f("div",{class:h(["u-select-input",{placeholder:!n.value}]),style:g(`line-height: ${t.height-2}px;`),title:n.value},y(n.value||t.placeholder),15,Se),(d(),c("svg",{class:h(["triangle",{rotate:u.value,show:!o.value}]),viewBox:"64 64 896 896","data-icon":"down","aria-hidden":"true",focusable:"false"},ke,2)),(d(),c("svg",{onClick:Y(H,["stop"]),class:h(["close",{show:o.value}]),focusable:"false","data-icon":"close-circle","aria-hidden":"true",viewBox:"64 64 896 896"},Ie,10,Ve))],38),Z(te,{name:"fade"},{default:x(()=>[ee(f("div",{class:"m-options-panel",onMouseenter:F,onMouseleave:U,style:g(`top: ${t.height+4}px; line-height: ${t.height-10}px; max-height: ${t.maxDisplay*t.height+9}px; width: ${t.width}px;`)},[(d(!0),c(B,null,P(t.options,(i,I)=>(d(),c("p",{key:I,class:h(["u-option",{"option-selected":i[t.label]===n.value,"option-hover":!i.disabled&&i[t.value]===s.value,"option-disabled":i.disabled}]),title:i[t.label],onMouseenter:W=>j(i[t.value]),onClick:W=>i.disabled?()=>!1:J(i[t.value],i[t.label],I)},y(i[t.label]),43,ze))),128))],36),[[ae,u.value]])]),_:1})],4))}}),w=V(Le,[["__scopeId","data-v-3b126f0b"]]);w.install=e=>{e.component(w.__name,w)};const Q=e=>(q("data-v-8c81a90d"),e=e(),D(),e),Me=["href","title","target"],Pe={key:0,class:"u-separator"},qe={key:1,class:"u-arrow",viewBox:"64 64 896 896","data-icon":"right","aria-hidden":"true",focusable:"false"},De=Q(()=>f("path",{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z"},null,-1)),Oe=[De],Qe=Q(()=>f("div",{class:"assist"},null,-1)),Re={name:"QBreadcrumb"},Te=C({...Re,props:{routes:{default:()=>[]},fontSize:{default:14},height:{default:21},maxWidth:{default:180},separator:{default:""},target:{default:"_self"}},setup(e){const l=e,a=E(()=>l.routes.length);function n(s){var u=s.path;if(s.query&&JSON.stringify(s.query)!=="{}"){const r=s.query;Object.keys(r).forEach((o,v)=>{v===0?u=u+"?"+o+"="+r[o]:u=u+"&"+o+"="+r[o]})}return u}return(s,u)=>(d(),c("div",{class:"m-breadcrumb",style:g(`height: ${s.height}px;`)},[(d(!0),c(B,null,P(s.routes,(r,o)=>(d(),c("div",{class:"m-bread",key:o},[f("a",{class:h(["u-route",{active:o===a.value-1}]),style:g(`font-size: ${s.fontSize}px; max-width: ${s.maxWidth}px;`),href:o===a.value-1?"javascript:;":n(r),title:r.name,target:o===a.value-1?"_self":s.target},y(r.name||"--"),15,Me),o!==a.value-1?(d(),c(B,{key:0},[s.separator?(d(),c("span",Pe,y(s.separator),1)):(d(),c("svg",qe,Oe))],64)):L("",!0)]))),128)),Qe],4))}}),$=V(Te,[["__scopeId","data-v-8c81a90d"]]);$.install=e=>{e.component($.__name,$)};const Ne=[b,w,$],je=e=>{Ne.forEach(l=>e.component(l.name,l))},Fe={install:je};const Ue={extends:be,enhanceApp({app:e}){e.use(Fe)}};function R(e){if(e.extends){const l=R(e.extends);return{...l,...e,async enhanceApp(a){l.enhanceApp&&await l.enhanceApp(a),e.enhanceApp&&await e.enhanceApp(a)}}}return e}const _=R(Ue),Ge=C({name:"VitePressApp",setup(){const{site:e}=he();return ve(()=>{M(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),me(),ge(),_e(),_.setup&&_.setup(),()=>ye(_.Layout)}});async function He(){const e=We(),l=Je();l.provide(se,e);const a=ne(e.route);return l.provide(oe,a),l.component("Content",ue),l.component("ClientOnly",ie),Object.defineProperties(l.config.globalProperties,{$frontmatter:{get(){return a.frontmatter.value}},$params:{get(){return a.page.value.params}}}),_.enhanceApp&&await _.enhanceApp({app:l,router:e,siteData:re}),{app:l,router:e,data:a}}function Je(){return de(Ge)}function We(){let e=k,l;return ce(a=>{let n=pe(a);return e&&(l=n),(e||l===n)&&(n=n.replace(/\.js$/,".lean.js")),k&&(e=!1),fe(()=>import(n),[])},_.NotFound)}k&&He().then(({app:e,router:l,data:a})=>{l.go().then(()=>{le(l.route,a.site),e.mount("#app")})});export{He as createApp}; diff --git a/docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.9006b9da.js b/docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.9006b9da.js new file mode 100644 index 0000000..7500939 --- /dev/null +++ b/docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.9006b9da.js @@ -0,0 +1 @@ +const t='{"documentCount":57,"nextId":57,"documentIds":{"0":"/q-ui/guide/components/breadcrumb.html#面包屑-qbreadcrumb","1":"/q-ui/guide/components/breadcrumb.html#何时使用","2":"/q-ui/guide/components/breadcrumb.html#基本使用","3":"/q-ui/guide/components/breadcrumb.html#自定义分隔符","4":"/q-ui/guide/components/breadcrumb.html#自定义样式","5":"/q-ui/guide/components/breadcrumb.html#新页面打开目标链接","6":"/q-ui/guide/components/breadcrumb.html#apis","7":"/q-ui/guide/components/breadcrumb.html#route-type","8":"/q-ui/guide/components/button.html#按钮","9":"/q-ui/guide/components/button.html#何时使用","10":"/q-ui/guide/components/button.html#基本使用","11":"/q-ui/guide/components/button.html#大、中、小三种尺寸","12":"/q-ui/guide/components/button.html#自定义样式","13":"/q-ui/guide/components/button.html#加载中状态","14":"/q-ui/guide/components/button.html#apis","15":"/q-ui/guide/components/button.html#events","16":"/q-ui/guide/components/select.html#选择器-qselect","17":"/q-ui/guide/components/select.html#何时使用","18":"/q-ui/guide/components/select.html#基本使用","19":"/q-ui/guide/components/select.html#禁用","20":"/q-ui/guide/components/select.html#禁用选项","21":"/q-ui/guide/components/select.html#支持清除","22":"/q-ui/guide/components/select.html#自定义样式","23":"/q-ui/guide/components/select.html#自定义字段名","24":"/q-ui/guide/components/select.html#自定义下拉面板展示数","25":"/q-ui/guide/components/select.html#apis","26":"/q-ui/guide/components/select.html#option-type","27":"/q-ui/guide/components/select.html#events","28":"/q-ui/guide/started.html#快速上手","29":"/q-ui/guide/started.html#安装","30":"/q-ui/guide/started.html#使用","31":"/q-ui/utils/date-format.html#日期格式化","32":"/q-ui/utils/date-format.html#何时使用","33":"/q-ui/utils/date-format.html#基本使用","34":"/q-ui/utils/date-format.html#格式化字符串","35":"/q-ui/utils/date-format.html#展示毫秒值","36":"/q-ui/utils/date-format.html#params","37":"/q-ui/utils/date-format.html#format-支持的格式化占位符列表","38":"/q-ui/utils/started.html#快速上手","39":"/q-ui/utils/started.html#简要介绍","40":"/q-ui/utils/started.html#使用方式","41":"/q-ui/utils/started.html#一共-9-个常用工具函数","42":"/q-ui/utils/throttle.html#节流","43":"/q-ui/utils/throttle.html#何时使用","44":"/q-ui/utils/throttle.html#基本使用","45":"/q-ui/utils/throttle.html#params","46":"/q-ui/guide/features.html#特性","47":"/q-ui/guide/features.html#介绍","48":"/q-ui/guide/features.html#三种使用方式","49":"/q-ui/utils/debounce.html#防抖","50":"/q-ui/utils/debounce.html#何时使用","51":"/q-ui/utils/debounce.html#基本使用","52":"/q-ui/utils/debounce.html#params","53":"/q-ui/utils/download-file.html#下载文件","54":"/q-ui/utils/download-file.html#何时使用","55":"/q-ui/utils/download-file.html#基本使用","56":"/q-ui/utils/download-file.html#params"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[2,1,3],"1":[1,2,6],"2":[1,2,33],"3":[1,2,34],"4":[1,2,36],"5":[1,2,35],"6":[1,2,35],"7":[2,2,16],"8":[1,1,1],"9":[1,1,2],"10":[1,1,33],"11":[3,1,28],"12":[1,1,37],"13":[1,1,43],"14":[1,1,62],"15":[1,1,14],"16":[2,1,1],"17":[1,2,12],"18":[1,2,44],"19":[1,2,42],"20":[1,2,43],"21":[1,2,53],"22":[1,2,55],"23":[1,2,55],"24":[1,2,53],"25":[1,2,42],"26":[2,2,20],"27":[1,2,15],"28":[1,1,1],"29":[1,1,12],"30":[1,1,21],"31":[1,1,64],"32":[1,1,2],"33":[1,1,23],"34":[1,1,21],"35":[1,1,30],"36":[1,1,27],"37":[2,1,40],"38":[1,1,1],"39":[1,1,2],"40":[1,1,18],"41":[3,1,62],"42":[1,1,29],"43":[1,1,6],"44":[1,1,35],"45":[1,1,17],"46":[1,1,1],"47":[1,1,8],"48":[1,1,13],"49":[1,1,25],"50":[1,1,6],"51":[1,1,35],"52":[1,1,17],"53":[1,1,54],"54":[1,1,2],"55":[1,1,27],"56":[1,1,15]},"averageFieldLength":[1.1578947368421053,1.3157894736842102,25.736842105263158],"storedFields":{"0":{"title":"面包屑 QBreadcrumb","titles":[]},"1":{"title":"何时使用","titles":["面包屑 QBreadcrumb"]},"2":{"title":"基本使用","titles":["面包屑 QBreadcrumb"]},"3":{"title":"自定义分隔符","titles":["面包屑 QBreadcrumb"]},"4":{"title":"自定义样式","titles":["面包屑 QBreadcrumb"]},"5":{"title":"新页面打开目标链接","titles":["面包屑 QBreadcrumb"]},"6":{"title":"APIs","titles":["面包屑 QBreadcrumb"]},"7":{"title":"Route Type","titles":["面包屑 QBreadcrumb"]},"8":{"title":"按钮","titles":[]},"9":{"title":"何时使用","titles":["按钮"]},"10":{"title":"基本使用","titles":["按钮"]},"11":{"title":"大、中、小三种尺寸","titles":["按钮"]},"12":{"title":"自定义样式","titles":["按钮"]},"13":{"title":"加载中状态","titles":["按钮"]},"14":{"title":"APIs","titles":["按钮"]},"15":{"title":"Events","titles":["按钮"]},"16":{"title":"选择器 QSelect","titles":[]},"17":{"title":"何时使用","titles":["选择器 QSelect"]},"18":{"title":"基本使用","titles":["选择器 QSelect"]},"19":{"title":"禁用","titles":["选择器 QSelect"]},"20":{"title":"禁用选项","titles":["选择器 QSelect"]},"21":{"title":"支持清除","titles":["选择器 QSelect"]},"22":{"title":"自定义样式","titles":["选择器 QSelect"]},"23":{"title":"自定义字段名","titles":["选择器 QSelect"]},"24":{"title":"自定义下拉面板展示数","titles":["选择器 QSelect"]},"25":{"title":"APIs","titles":["选择器 QSelect"]},"26":{"title":"Option Type","titles":["选择器 QSelect"]},"27":{"title":"Events","titles":["选择器 QSelect"]},"28":{"title":"快速上手","titles":[]},"29":{"title":"安装","titles":["快速上手"]},"30":{"title":"使用","titles":["快速上手"]},"31":{"title":"日期格式化","titles":[]},"32":{"title":"何时使用","titles":["日期格式化"]},"33":{"title":"基本使用","titles":["日期格式化"]},"34":{"title":"格式化字符串","titles":["日期格式化"]},"35":{"title":"展示毫秒值","titles":["日期格式化"]},"36":{"title":"Params","titles":["日期格式化"]},"37":{"title":"format 支持的格式化占位符列表","titles":["日期格式化"]},"38":{"title":"快速上手","titles":[]},"39":{"title":"简要介绍","titles":["快速上手"]},"40":{"title":"使用方式","titles":["快速上手"]},"41":{"title":"一共 9 个常用工具函数","titles":["快速上手"]},"42":{"title":"节流","titles":[]},"43":{"title":"何时使用","titles":["节流"]},"44":{"title":"基本使用","titles":["节流"]},"45":{"title":"Params","titles":["节流"]},"46":{"title":"特性","titles":[]},"47":{"title":"介绍","titles":["特性"]},"48":{"title":"三种使用方式","titles":["特性"]},"49":{"title":"防抖","titles":[]},"50":{"title":"何时使用","titles":["防抖"]},"51":{"title":"基本使用","titles":["防抖"]},"52":{"title":"Params","titles":["防抖"]},"53":{"title":"下载文件","titles":[]},"54":{"title":"何时使用","titles":["下载文件"]},"55":{"title":"基本使用","titles":["下载文件"]},"56":{"title":"Params","titles":["下载文件"]}},"dirtCount":0,"index":[["文件地址",{"2":{"56":1}}],["文本最大显示宽度",{"2":{"6":1}}],["xmlhttprequest",{"2":{"53":1}}],["xhr",{"2":{"53":7}}],["内函数只执行最后一次",{"2":{"50":1}}],["内函数只执行一次",{"2":{"43":1}}],["在",{"2":{"50":1}}],["借助闭包",{"2":{"49":1}}],["事件处理函数只执行一次",{"2":{"49":1}}],["事件名称",{"2":{"15":1,"27":1}}],["期限内",{"2":{"49":1}}],["期限内不再工作",{"2":{"42":1}}],["对于短时间内连续触发的事件",{"2":{"49":1,"50":1}}],["对象",{"2":{"36":1}}],["防抖时间期限",{"2":{"52":1}}],["防抖就是让某个时间",{"2":{"49":1}}],["防抖",{"0":{"49":1},"1":{"50":1,"51":1,"52":1}}],["到项目内使用",{"2":{"48":1}}],["到本地后",{"2":{"48":1}}],["按需引入部分组件",{"2":{"48":1}}],["按钮",{"0":{"8":1},"1":{"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1},"2":{"14":1}}],["实现",{"2":{"47":1}}],["实现的防抖函数",{"2":{"41":1}}],["实现的节流函数",{"2":{"41":1}}],["实现的定时器函数",{"2":{"41":1}}],["该组件库采用",{"2":{"47":1}}],["该函数在指定的时间",{"2":{"42":1}}],["介绍",{"0":{"47":1}}],["特性",{"0":{"46":1},"1":{"47":1,"48":1}}],["要执行的函数",{"2":{"45":1,"52":1}}],["滚动条位置",{"2":{"44":1,"51":1}}],["移除键盘切换事件",{"2":{"44":1,"51":1}}],["打开控制台查看输出",{"2":{"44":1,"51":1}}],["每",{"2":{"43":1}}],["短时间内大量触发同一事件时",{"2":{"43":1}}],["将函数置为无效",{"2":{"42":1}}],["直至过了这段时间才重新生效",{"2":{"42":1}}],["那么在函数执行一次之后",{"2":{"42":1}}],["如果短时间内大量触发同一事件",{"2":{"42":1}}],["如何打开目标",{"2":{"6":1,"14":1}}],["节流",{"0":{"42":1},"1":{"43":1,"44":1,"45":1}}],["未传时",{"2":{"56":1}}],["未传",{"2":{"41":1}}],["未设置",{"2":{"15":1}}],["下载文件",{"0":{"53":1},"1":{"54":1,"55":1,"56":1}}],["下载文件并自定义文件名时",{"2":{"54":1}}],["下载文件并自定义文件名",{"2":{"41":1}}],["下单独拷贝单文件组件",{"2":{"48":1}}],["下拉面板最多能展示的下拉项数",{"2":{"25":1}}],["加减精度问题的加法函数",{"2":{"41":1}}],["加载中状态",{"0":{"13":1}}],["jsdelivr",{"2":{"55":1}}],["js",{"2":{"41":1}}],["jqw755",{"2":{"29":2,"30":4,"33":1,"34":1,"35":1,"40":1,"44":1,"51":1,"55":1}}],["消除",{"2":{"41":1}}],["函数失效时长",{"2":{"45":1}}],["函数不执行",{"2":{"42":1}}],["函数",{"2":{"41":1}}],["和",{"2":{"41":1}}],["等效替代",{"2":{"41":1}}],["针对不同浏览器进行兼容处理",{"2":{"41":2}}],["简单易用的日期格式化函数",{"2":{"41":1}}],["简要介绍",{"0":{"39":1}}],["个常用工具函数",{"0":{"41":1}}],["9",{"0":{"41":1}}],["999",{"2":{"37":1}}],["一共",{"0":{"41":1}}],["一级路由",{"2":{"2":1,"3":1,"4":1,"5":1}}],["开箱即用",{"2":{"39":1}}],["开始",{"2":{"37":1}}],["三种使用方式",{"0":{"48":1}}],["三位数",{"2":{"37":1}}],["三级路由三级路由三级路由三级路由三级路由",{"2":{"4":1}}],["三级路由三级路由三级路由三级路由",{"2":{"2":1,"3":1,"5":1}}],["毫秒",{"2":{"37":1}}],["秒",{"2":{"37":2}}],["分钟",{"2":{"37":2}}],["分隔符",{"2":{"6":1}}],["小时",{"2":{"37":2}}],["小三种尺寸",{"0":{"11":1}}],["日",{"2":{"37":2}}],["日期格式化",{"0":{"31":1},"1":{"32":1,"33":1,"34":1,"35":1,"36":1,"37":1}}],["从文件地址中自动获取文件名称",{"2":{"41":1,"56":1}}],["从",{"2":{"37":1,"48":1}}],["月",{"2":{"37":2}}],["四位数",{"2":{"37":1}}],["两位数",{"2":{"37":6}}],["年",{"2":{"37":2}}],["描述",{"2":{"37":1}}],["示例",{"2":{"37":1}}],["标识",{"2":{"37":1}}],["支持的格式化占位符列表",{"0":{"37":1}}],["支持清除",{"0":{"21":1}}],["或者",{"2":{"36":1}}],["或者可以转化为",{"2":{"36":1}}],["或者需要一个更优雅的多选器时",{"2":{"17":1}}],["位时间戳",{"2":{"36":1}}],["展示毫秒值",{"0":{"35":1}}],["格式化目标形式",{"2":{"36":1}}],["格式化字符串",{"0":{"34":1}}],["格式化时间戳",{"2":{"33":1}}],["格式化日期时",{"2":{"32":1}}],["gh",{"2":{"55":1}}],["git",{"2":{"48":1}}],["get",{"2":{"53":1}}],["getseconds",{"2":{"31":1}}],["gethours",{"2":{"31":1}}],["getdate",{"2":{"31":1}}],["getminutes",{"2":{"31":1}}],["getmilliseconds",{"2":{"31":1}}],["getmonth",{"2":{"31":1}}],["getfullyear",{"2":{"31":1}}],["gt",{"2":{"2":5,"3":5,"4":5,"5":5,"10":14,"11":10,"12":8,"13":13,"15":1,"18":6,"19":5,"20":5,"21":6,"22":6,"23":6,"24":6,"27":1,"33":2,"34":2,"35":2,"40":2,"41":7,"42":1,"44":4,"51":4,"55":2}}],["+",{"2":{"31":3,"44":1,"47":3,"51":1}}],["y",{"2":{"31":3}}],["yy",{"2":{"31":2,"37":1}}],["yyyy",{"2":{"31":3,"34":1,"35":1,"36":1,"37":1,"41":1}}],["yarn",{"2":{"29":2}}],["单文件",{"2":{"30":1}}],["单位",{"2":{"6":2,"45":1,"52":1}}],["全局引入所有组件",{"2":{"48":1}}],["全局",{"2":{"30":1}}],["use",{"2":{"30":1}}],["ui",{"2":{"29":2,"30":4,"33":1,"34":1,"35":1,"40":1,"44":1,"48":1,"51":1,"55":1}}],["url",{"2":{"6":1,"14":2,"41":1,"53":5,"56":1}}],["安装",{"0":{"29":1}}],["快速上手",{"0":{"28":1,"38":1},"1":{"29":1,"30":1,"39":1,"40":1,"41":1}}],["用于取消",{"2":{"41":1}}],["用于包含带有任意数量的其他属性",{"2":{"26":1}}],["用于代替原生的选择器",{"2":{"17":1}}],["添加一个字符串索引签名",{"2":{"26":1}}],["条目",{"2":{"25":1}}],["超过后滚动显示",{"2":{"25":1}}],["超出后显示省略号",{"2":{"6":1}}],["请选择",{"2":{"25":1}}],["字典项的值字段名",{"2":{"25":1}}],["字典项的文本字段名",{"2":{"25":1}}],["字体大小",{"2":{"6":1}}],["选项值改变后的回调",{"2":{"27":1}}],["选项值",{"2":{"26":1}}],["选项名",{"2":{"26":1}}],["选项数据",{"2":{"25":1}}],["选择器",{"0":{"16":1},"1":{"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1}}],["禁用选项",{"0":{"20":1}}],["禁用",{"0":{"19":1}}],["君士坦丁堡",{"2":{"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1}}],["7",{"2":{"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1}}],["拜占庭",{"2":{"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1}}],["679",{"2":{"35":2}}],["6",{"2":{"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1}}],["伊斯坦布尔",{"2":{"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1}}],["布宜诺斯艾利斯",{"2":{"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1}}],["45",{"2":{"33":2,"35":2}}],["4",{"2":{"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"31":1}}],["40",{"2":{"12":1}}],["旧金山",{"2":{"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1}}],["300",{"2":{"41":2,"42":1,"45":1,"49":1,"52":1}}],["31",{"2":{"33":2,"34":3,"35":2,"37":2}}],["32",{"2":{"25":1}}],["3",{"2":{"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"31":1,"55":1}}],["36",{"2":{"6":1,"22":1}}],["纽约市",{"2":{"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1}}],["上海市",{"2":{"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1}}],["北京市",{"2":{"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1}}],["window",{"2":{"53":2}}],["with",{"2":{"29":2}}],["width",{"2":{"14":1,"25":1}}],["width=",{"2":{"12":1,"22":1}}],["watcheffect",{"2":{"18":2,"21":2,"22":2,"23":2,"24":2}}],["是更好的选择",{"2":{"17":1}}],["是否支持清除",{"2":{"25":1}}],["是否将按钮设置为块级元素并居中展示",{"2":{"14":1}}],["是否加载中",{"2":{"14":1}}],["是否禁用选项",{"2":{"26":1}}],["是否禁用",{"2":{"14":1,"25":1}}],["使用方式不变",{"2":{"41":2}}],["使用方式",{"0":{"40":1}}],["使用",{"0":{"30":1},"2":{"17":1,"41":3}}],["建议直接将选项平铺",{"2":{"17":1}}],["项",{"2":{"17":1}}],["少于",{"2":{"17":1}}],["弹出一个下拉菜单给用户选择操作",{"2":{"17":1}}],["点击按钮时的回调",{"2":{"15":1}}],["设置",{"2":{"14":1}}],["open",{"2":{"53":1}}],["option",{"0":{"26":1},"2":{"25":2}}],["optionscustom",{"2":{"23":2}}],["optionsdisabled",{"2":{"20":2}}],["options=",{"2":{"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1}}],["options",{"2":{"18":2,"19":2,"21":2,"22":2,"24":2,"25":1}}],["onload",{"2":{"53":1}}],["onscroll",{"2":{"44":2,"51":2}}],["onunmounted",{"2":{"44":2,"51":2}}],["onmounted",{"2":{"44":2,"51":2}}],["onchange",{"2":{"21":2,"22":2,"23":2,"24":2}}],["onclick",{"2":{"10":6,"11":4,"12":2,"13":4}}],["object",{"2":{"14":1,"41":1}}],["地址",{"2":{"14":1}}],["跳转目标",{"2":{"14":1}}],["59",{"2":{"37":4}}],["5",{"2":{"14":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1}}],["圆角",{"2":{"14":1}}],["高度",{"2":{"14":1,"25":1}}],["000",{"2":{"37":1}}],["00",{"2":{"37":3}}],["01",{"2":{"37":2}}],["05",{"2":{"33":2,"34":3,"35":2}}],["0",{"2":{"14":3,"31":2,"37":3,"41":1,"53":1,"55":2}}],["属性",{"2":{"14":2}}],["优先级高于",{"2":{"14":2}}],["宽度",{"2":{"14":1,"25":1}}],["尺寸",{"2":{"14":1}}],["才生效",{"2":{"14":1}}],["为",{"2":{"14":2}}],["只有",{"2":{"14":1}}],["悬浮变化效果",{"2":{"14":1}}],["markdown",{"2":{"55":2}}],["maxdisplay",{"2":{"25":1}}],["max",{"2":{"24":1}}],["maxwidth",{"2":{"6":1}}],["ms",{"2":{"43":1,"45":1,"50":1,"52":1}}],["m",{"2":{"31":10,"37":2}}],["mm",{"2":{"31":6,"34":1,"35":2,"36":2,"37":2,"41":2}}],["mount",{"2":{"30":1}}],["modelvalue",{"2":{"25":1}}],["model=",{"2":{"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1}}],["model",{"2":{"13":1,"25":1}}],["middle",{"2":{"14":1}}],["vite3",{"2":{"47":1}}],["valid为false时",{"2":{"42":1}}],["valid",{"2":{"42":4}}],["value=",{"2":{"23":1}}],["value",{"2":{"18":9,"19":8,"20":8,"21":12,"22":12,"23":1,"24":12,"25":2,"26":1,"27":1,"31":9,"36":1}}],["var",{"2":{"31":5,"42":1,"53":2}}],["void",{"2":{"15":1,"27":1,"41":2}}],["v",{"2":{"13":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1}}],["vue3",{"2":{"47":1}}],["vue",{"2":{"2":1,"3":1,"4":1,"5":1,"10":1,"11":1,"12":1,"13":2,"18":2,"19":2,"20":2,"21":2,"22":2,"23":2,"24":2,"30":2,"33":1,"34":1,"35":1,"40":1,"44":2,"51":2,"55":1}}],["https",{"2":{"55":1}}],["href",{"2":{"53":2}}],["h",{"2":{"31":5,"37":1}}],["hh",{"2":{"31":3,"35":1,"36":1,"37":1,"41":1}}],["h3",{"2":{"13":2}}],["height=",{"2":{"12":1,"22":1}}],["height",{"2":{"6":1,"14":1,"25":1}}],["interval",{"2":{"41":1}}],["includes",{"2":{"31":13}}],["index",{"2":{"21":3,"22":3,"23":3,"24":3,"27":1}}],["if",{"2":{"31":8,"42":1,"49":1,"53":2}}],["i",{"2":{"29":1}}],["import",{"2":{"13":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"30":4,"33":1,"34":1,"35":1,"40":1,"44":2,"51":2,"55":1}}],["id",{"2":{"2":1,"3":1,"4":1,"5":1,"23":12,"41":1}}],["8",{"2":{"12":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":2}}],["中",{"0":{"11":1}}],["大",{"0":{"11":1}}],["blob",{"2":{"53":3}}],["blank",{"2":{"5":1,"6":1,"14":1}}],["bash$",{"2":{"29":2}}],["body",{"2":{"44":1,"51":1,"53":4}}],["boolean",{"2":{"14":3,"25":2,"26":1}}],["borderradius",{"2":{"14":1}}],["border",{"2":{"12":1}}],["button",{"2":{"10":10,"11":6,"12":2,"13":6}}],["cdn",{"2":{"55":1}}],["createobjecturl",{"2":{"53":1}}],["createelement",{"2":{"53":1}}],["createapp",{"2":{"30":2}}],["cancelraf",{"2":{"41":1,"49":1}}],["cancelanimationframe",{"2":{"41":1}}],["css",{"2":{"30":2}}],["change",{"2":{"27":1}}],["change=",{"2":{"21":1,"22":1,"23":1,"24":1}}],["checked=",{"2":{"13":1}}],["clone",{"2":{"48":1}}],["clear",{"2":{"21":1}}],["click=",{"2":{"10":5,"11":3,"12":1,"13":3}}],["click",{"2":{"10":1,"11":1,"12":1,"13":1,"15":1,"53":1}}],["center",{"2":{"14":1}}],["console",{"2":{"10":1,"11":1,"12":1,"13":1,"18":1,"21":4,"22":4,"23":4,"24":4,"44":1,"51":1}}],["const",{"2":{"2":1,"3":1,"4":1,"5":1,"13":1,"18":2,"19":2,"20":2,"21":2,"22":2,"23":2,"24":2,"30":1,"31":5,"44":1,"51":1,"53":4}}],["code",{"2":{"2":1,"3":1,"4":1,"5":1,"10":1,"11":1,"12":1,"13":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"31":1,"42":1,"49":1,"53":1}}],["else",{"2":{"31":1,"53":1}}],["effect",{"2":{"14":2}}],["effect=",{"2":{"10":1}}],["events",{"0":{"15":1,"27":1}}],["event",{"2":{"10":1,"11":1,"12":1,"13":1,"15":1}}],["e",{"2":{"10":1,"11":1,"12":1,"13":1,"15":1}}],["donwloadfile",{"2":{"55":1}}],["download",{"2":{"53":1}}],["downloadfile",{"2":{"40":1,"41":1,"53":1,"55":1}}],["documentelement",{"2":{"44":1,"51":1}}],["document",{"2":{"44":4,"51":4,"53":2}}],["delay",{"2":{"41":3,"42":3,"43":1,"45":1,"49":3,"50":1,"52":1}}],["descriptions",{"2":{"41":1}}],["debounce",{"2":{"40":1,"41":1,"49":1,"51":2}}],["default",{"2":{"10":2,"11":2,"13":2,"14":3}}],["d",{"2":{"31":5,"37":1}}],["dd",{"2":{"31":3,"34":1,"35":1,"36":1,"37":1,"41":1}}],["date",{"2":{"31":12,"36":4}}],["dateformat",{"2":{"31":1,"33":2,"34":2,"35":2,"40":1,"41":1}}],["danger",{"2":{"10":3,"13":3,"14":1}}],["display",{"2":{"53":1}}],["display=",{"2":{"24":1}}],["disabled",{"2":{"10":3,"14":1,"19":1,"20":1,"25":1,"26":1}}],["raf",{"2":{"41":1}}],["raftimeout",{"2":{"41":4,"42":1,"49":1}}],["radio",{"2":{"17":1}}],["radius=",{"2":{"12":1}}],["revokeobjecturl",{"2":{"53":1}}],["reverse",{"2":{"10":3,"14":1}}],["removechild",{"2":{"53":1}}],["resources",{"2":{"55":1}}],["response",{"2":{"53":1}}],["responsetype",{"2":{"53":1}}],["res",{"2":{"53":3}}],["requestanimationframe",{"2":{"41":2}}],["repeat",{"2":{"31":1}}],["replace",{"2":{"31":13}}],["return",{"2":{"31":2,"42":2,"49":1}}],["ref",{"2":{"13":2,"18":3,"19":3,"20":3,"21":3,"22":3,"23":3,"24":3}}],["route",{"0":{"7":1},"2":{"6":1,"14":2,"15":1}}],["routes=",{"2":{"2":1,"3":1,"4":1,"5":1}}],["routes",{"2":{"2":2,"3":2,"4":2,"5":2,"6":1}}],["a",{"2":{"53":1}}],["arguments",{"2":{"41":1}}],["appendchild",{"2":{"53":1}}],["app",{"2":{"30":7}}],["apis",{"0":{"6":1,"14":1,"25":1}}],["add",{"2":{"29":1,"41":1}}],["allowclear",{"2":{"25":1}}],["allow",{"2":{"21":1}}],["any",{"2":{"7":1,"26":1,"41":2,"42":1,"49":2}}],["名称",{"2":{"7":1,"26":1}}],["||",{"2":{"31":1,"44":1,"51":1}}],["|",{"2":{"6":1,"14":7,"21":1,"22":1,"23":1,"24":1,"25":2,"26":1,"27":1,"31":2,"36":2}}],["默认文字",{"2":{"25":1}}],["默认文本",{"2":{"14":1}}],["默认",{"2":{"6":1}}],["默认值",{"2":{"6":1,"14":1,"25":1,"36":1,"45":1,"52":1,"56":1}}],["net",{"2":{"55":1}}],["new",{"2":{"31":1,"53":1}}],["none",{"2":{"53":1}}],["now",{"2":{"31":1,"36":1}}],["npm",{"2":{"29":2}}],["num2",{"2":{"41":1}}],["num1",{"2":{"41":1}}],["number|string|date",{"2":{"41":1}}],["number",{"2":{"6":2,"14":3,"21":2,"22":2,"23":2,"24":2,"25":4,"26":1,"27":2,"31":3,"36":1,"41":4,"45":1,"52":1}}],["null",{"2":{"25":2,"44":1,"49":1,"51":1}}],["name",{"2":{"2":3,"3":3,"4":3,"5":3,"7":1,"14":1,"23":11,"41":3,"53":3,"56":1}}],["pdf",{"2":{"55":1}}],["packages",{"2":{"48":1}}],["params",{"0":{"36":1,"45":1,"52":1,"56":1}}],["path",{"2":{"2":3,"3":3,"4":3,"5":3,"7":1,"14":1}}],["placeholder",{"2":{"25":1}}],["p",{"2":{"12":2}}],["primary",{"2":{"10":3,"13":3,"14":1}}],["propname",{"2":{"7":1,"26":1}}],["px",{"2":{"6":2}}],["必传",{"2":{"6":1,"7":1,"14":1,"25":1,"26":1,"36":1,"45":1,"52":1,"56":1}}],["类型的字符串日期",{"2":{"36":1}}],["类型",{"2":{"6":1,"7":1,"14":2,"25":1,"26":1,"36":1,"45":1,"52":1,"56":1}}],["说明",{"2":{"6":1,"7":1,"14":1,"15":1,"25":1,"26":1,"27":1,"36":1,"45":1,"52":1,"56":1}}],["参数",{"2":{"6":1,"14":1,"15":1,"25":1,"27":1,"36":1,"45":1,"52":1,"56":1}}],["新页面打开目标链接",{"0":{"5":1}}],["fn",{"2":{"41":2,"42":2,"45":1,"49":2,"52":1}}],["func",{"2":{"41":1}}],["function",{"2":{"10":1,"11":1,"12":1,"13":1,"21":1,"22":1,"23":1,"24":1,"31":1,"41":4,"42":2,"44":1,"45":1,"49":2,"51":1,"52":1,"53":1}}],["filename",{"2":{"53":4}}],["fixedtwo",{"2":{"31":6}}],["first",{"2":{"2":1,"3":1,"4":1,"5":1}}],["format",{"0":{"37":1},"2":{"31":2,"36":1,"41":1}}],["fontsize",{"2":{"6":1}}],["font",{"2":{"4":1,"12":1}}],["fade",{"2":{"14":1}}],["false",{"2":{"6":5,"7":1,"14":14,"25":12,"26":3,"36":2,"41":1,"42":2,"45":1,"52":1,"56":1}}],["from",{"2":{"13":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"30":4,"33":1,"34":1,"35":1,"40":1,"44":2,"51":2,"55":1}}],["自定义文件名",{"2":{"56":1}}],["自定义下拉面板展示数",{"0":{"24":1}}],["自定义字段名",{"0":{"23":1}}],["自定义样式",{"0":{"4":1,"12":1,"22":1},"2":{"12":2}}],["自定义分隔符",{"0":{"3":1}}],["二级路由",{"2":{"2":1,"3":1,"4":1,"5":1}}],["路由查询参数",{"2":{"7":1}}],["路由数组",{"2":{"6":1}}],["路由名称",{"2":{"2":1,"3":1,"4":1,"5":1,"7":1}}],["路由参数",{"2":{"2":1,"3":1,"4":1,"5":1}}],["路由地址",{"2":{"2":1,"3":1,"4":1,"5":1,"7":1}}],["23",{"2":{"37":3}}],["200",{"2":{"53":1}}],["20",{"2":{"33":2,"35":2}}],["2023",{"2":{"33":2,"34":3,"35":2,"37":1}}],["2",{"2":{"2":1,"3":1,"4":1,"5":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"31":1}}],["timer",{"2":{"49":4}}],["timestamp",{"2":{"41":1}}],["themusecatcher",{"2":{"55":1}}],["throttle",{"2":{"40":1,"41":1,"42":1,"44":2}}],["third",{"2":{"2":1,"3":1,"4":1,"5":1}}],["typeof",{"2":{"31":2}}],["type=",{"2":{"10":2,"13":2}}],["type",{"0":{"7":1,"26":1},"2":{"14":2}}],["true",{"2":{"6":1,"7":2,"13":1,"20":1,"42":2,"45":1,"52":1,"53":1,"56":1}}],["target",{"2":{"6":1,"14":1}}],["target=",{"2":{"5":1}}],["tab",{"2":{"2":1,"3":1,"4":1,"5":1}}],["template",{"2":{"2":2,"3":2,"4":2,"5":2,"10":2,"11":2,"12":2,"13":2,"18":2,"19":2,"20":2,"21":2,"22":2,"23":2,"24":2}}],["tsfunction",{"2":{"31":1,"42":1,"49":1,"53":1}}],["tsimport",{"2":{"30":2}}],["ts",{"2":{"2":1,"3":1,"4":1,"5":1,"10":1,"11":1,"12":1,"13":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"33":1,"34":1,"35":1,"40":1,"44":1,"47":1,"51":1,"55":1}}],["12",{"2":{"37":2}}],["120",{"2":{"12":1,"25":1}}],["13",{"2":{"36":1}}],["1000",{"2":{"44":1,"51":1}}],["10",{"2":{"31":1}}],["18px",{"2":{"12":1}}],["180",{"2":{"6":1}}],["14",{"2":{"6":1,"33":2,"35":2}}],["1685514045679",{"2":{"33":1,"35":1}}],["160",{"2":{"22":1}}],["16",{"2":{"4":1}}],["1",{"2":{"2":1,"3":1,"4":1,"5":1,"18":2,"19":2,"20":2,"21":2,"22":2,"23":2,"24":2,"31":1,"37":3,"53":1}}],["===",{"2":{"31":2,"53":1}}],["=",{"2":{"2":1,"3":1,"4":1,"5":1,"13":1,"15":1,"18":3,"19":2,"20":2,"21":3,"22":3,"23":3,"24":3,"27":1,"30":1,"31":19,"41":12,"42":5,"44":5,"49":3,"51":5,"53":13}}],["qbutton",{"2":{"30":1}}],["qbreadcrumb",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1},"2":{"2":1,"3":1,"4":1,"5":1}}],["qselectedvalue",{"2":{"18":4,"19":2,"20":2,"21":4,"22":4,"23":4,"24":4}}],["qselect",{"0":{"16":1},"1":{"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1},"2":{"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1}}],["q",{"2":{"10":10,"11":6,"12":2,"13":6,"29":2,"30":4,"33":1,"34":1,"35":1,"40":1,"44":1,"48":1,"51":1,"55":1}}],["qui",{"2":{"30":2}}],["queryselector",{"2":{"53":1}}],["query",{"2":{"2":1,"3":1,"4":1,"5":1,"7":1,"14":1}}],["quot",{"2":{"2":16,"3":18,"4":18,"5":18,"10":20,"11":14,"12":16,"13":24,"18":26,"19":24,"20":24,"21":34,"22":38,"23":38,"24":36,"30":14,"31":62,"33":4,"34":8,"35":6,"40":4,"44":8,"51":8,"53":16,"55":8}}],["link",{"2":{"53":8}}],["let",{"2":{"49":1}}],["length",{"2":{"31":1,"53":1}}],["loading=",{"2":{"13":3}}],["loading",{"2":{"13":7,"14":1}}],["log",{"2":{"10":1,"11":1,"12":1,"13":1,"18":1,"21":4,"22":4,"23":4,"24":4,"44":1,"51":1}}],["label=",{"2":{"23":1}}],["label",{"2":{"18":8,"19":8,"20":8,"21":11,"22":11,"23":1,"24":11,"25":2,"26":1,"27":1}}],["large",{"2":{"11":3,"12":1,"14":1}}],["lang=",{"2":{"2":1,"3":1,"4":1,"5":1,"10":1,"11":1,"12":1,"13":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"33":1,"34":1,"35":1,"40":1,"44":1,"51":1,"55":1}}],["lt",{"2":{"2":5,"3":5,"4":5,"5":5,"10":14,"11":10,"12":8,"13":13,"18":5,"19":5,"20":5,"21":5,"22":5,"23":5,"24":5,"31":1,"33":2,"34":2,"35":2,"40":2,"44":2,"51":2,"55":2}}],["split",{"2":{"53":2}}],["sfc",{"2":{"48":1}}],["scss",{"2":{"47":1}}],["scrolltop",{"2":{"44":4,"51":4}}],["script",{"2":{"2":2,"3":2,"4":2,"5":2,"10":2,"11":2,"12":2,"13":2,"18":2,"19":2,"20":2,"21":2,"22":2,"23":2,"24":2,"33":2,"34":2,"35":2,"40":2,"44":2,"51":2,"55":2}}],["slice",{"2":{"31":1}}],["slot",{"2":{"14":1}}],["s",{"2":{"31":8,"37":1}}],["sss",{"2":{"31":2,"35":1,"37":1}}],["ss",{"2":{"31":3,"35":1,"36":1,"37":1,"41":1}}],["source",{"2":{"31":1,"42":1,"49":1,"53":1}}],["switch",{"2":{"13":1}}],["size",{"2":{"12":1,"14":3}}],["size=",{"2":{"4":1,"11":2,"12":1}}],["style",{"2":{"53":1}}],["style=",{"2":{"12":1}}],["status",{"2":{"53":1}}],["state",{"2":{"13":2}}],["string",{"2":{"6":1,"7":3,"14":2,"21":2,"22":2,"23":2,"24":2,"25":4,"26":3,"27":2,"31":13,"36":2,"41":3,"53":2,"56":2}}],["small",{"2":{"11":3,"14":1}}],["send",{"2":{"53":1}}],["setinterval",{"2":{"41":1}}],["settimeout",{"2":{"41":1}}],["setup",{"2":{"2":1,"3":1,"4":1,"5":1,"10":1,"11":1,"12":1,"13":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"33":1,"34":1,"35":1,"40":1,"44":1,"51":1,"55":1}}],["self",{"2":{"6":2,"14":3}}],["separator",{"2":{"6":1}}],["separator=",{"2":{"3":1}}],["second",{"2":{"2":1,"3":1,"4":1,"5":1}}],["showposition",{"2":{"44":2,"51":2}}],["showtime",{"2":{"31":35}}],["show",{"2":{"2":1,"3":1,"4":1,"5":1,"10":1,"11":1,"12":1,"13":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"31":1,"42":1,"49":1,"53":1}}],["基本使用",{"0":{"2":1,"10":1,"18":1,"33":1,"44":1,"51":1,"55":1}}],["时生效",{"2":{"14":1,"15":1}}],["时自适应内容的宽度",{"2":{"14":1}}],["时为箭头",{"2":{"6":1}}],["时",{"2":{"1":1,"14":1,"41":1}}],["你在哪里",{"2":{"1":1}}],["当前选中的",{"2":{"25":1}}],["当选项少时",{"2":{"17":1}}],["当需要添加一个操作按钮时",{"2":{"9":1}}],["当需要向上导航的功能时",{"2":{"1":1}}],["当需要告知用户",{"2":{"1":1}}],["当系统拥有超过两级以上的层级结构时",{"2":{"1":1}}],["何时使用",{"0":{"1":1,"9":1,"17":1,"32":1,"43":1,"50":1,"54":1}}],["并能向上返回",{"2":{"0":1}}],["显示当前页面在系统层级结构中的位置",{"2":{"0":1}}],["面包屑高度",{"2":{"6":1}}],["面包屑",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1}}]],"serializationVersion":2}';export{t as default}; diff --git a/docs/.vitepress/dist/assets/chunks/VPLocalSearchBox.12a3dd91.js b/docs/.vitepress/dist/assets/chunks/VPLocalSearchBox.12a3dd91.js new file mode 100644 index 0000000..bc5e6e0 --- /dev/null +++ b/docs/.vitepress/dist/assets/chunks/VPLocalSearchBox.12a3dd91.js @@ -0,0 +1,7 @@ +import{M as vt,h as te,w as Le,d as Nt,s as ue,l as Te,k as _t,p as Ne,v as le,al as It,am as Dt,o as H,D as Ot,C,a3 as Mt,b as $,a5 as Rt,an as Pt,q as Lt,c as Q,n as Ze,G as ye,R as Xe,F as et,a as ce,t as fe,ao as zt,S as Vt,U as Bt,ap as tt,aq as $t,aa as Wt,ag as jt,_ as Kt}from"./framework.dc35932b.js";import{u as Jt,a as Ut,b as Ht,c as rt,d as qt,e as Gt,w as Qt,o as ge,f as Yt,g as Zt,h as Xt}from"./theme.0d1c29fb.js";const er={root:()=>vt(()=>import("./@localSearchIndexroot.9006b9da.js"),[])};/*! +* tabbable 6.1.2 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/var pt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],xe=pt.join(","),yt=typeof Element>"u",re=yt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Fe=!yt&&Element.prototype.getRootNode?function(o){var e;return o==null||(e=o.getRootNode)===null||e===void 0?void 0:e.call(o)}:function(o){return o==null?void 0:o.ownerDocument},Ee=function o(e,t){var r;t===void 0&&(t=!0);var n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"inert"),a=n===""||n==="true",i=a||t&&e&&o(e.parentNode);return i},tr=function(e){var t,r=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return r===""||r==="true"},gt=function(e,t,r){if(Ee(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(xe));return t&&re.call(e,xe)&&n.unshift(e),n=n.filter(r),n},mt=function o(e,t,r){for(var n=[],a=Array.from(e);a.length;){var i=a.shift();if(!Ee(i,!1))if(i.tagName==="SLOT"){var s=i.assignedElements(),u=s.length?s:i.children,l=o(u,!0,r);r.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var f=re.call(i,xe);f&&r.filter(i)&&(t||!e.includes(i))&&n.push(i);var d=i.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(i),v=!Ee(d,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(i));if(d&&v){var y=o(d===!0?i.children:d.children,!0,r);r.flatten?n.push.apply(n,y):n.push({scopeParent:i,candidates:y})}else a.unshift.apply(a,i.children)}}return n},bt=function(e,t){return e.tabIndex<0&&(t||/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||tr(e))&&isNaN(parseInt(e.getAttribute("tabindex"),10))?0:e.tabIndex},rr=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},wt=function(e){return e.tagName==="INPUT"},ar=function(e){return wt(e)&&e.type==="hidden"},nr=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(r){return r.tagName==="SUMMARY"});return t},ir=function(e,t){for(var r=0;rsummary:first-of-type"),i=a?e.parentElement:e;if(re.call(i,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof n=="function"){for(var s=e;e;){var u=e.parentElement,l=Fe(e);if(u&&!u.shadowRoot&&n(u)===!0)return at(e);e.assignedSlot?e=e.assignedSlot:!u&&l!==e.ownerDocument?e=l.host:e=u}e=s}if(lr(e))return!e.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return at(e);return!1},fr=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var r=0;r=0)},dr=function o(e){var t=[],r=[];return e.forEach(function(n,a){var i=!!n.scopeParent,s=i?n.scopeParent:n,u=bt(s,i),l=i?o(n.candidates):s;u===0?i?t.push.apply(t,l):t.push(s):r.push({documentOrder:a,tabIndex:u,item:n,isScope:i,content:l})}),r.sort(rr).reduce(function(n,a){return a.isScope?n.push.apply(n,a.content):n.push(a.content),n},[]).concat(t)},vr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=mt([e],t.includeContainer,{filter:ze.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:hr}):r=gt(e,t.includeContainer,ze.bind(null,t)),dr(r)},pr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=mt([e],t.includeContainer,{filter:Se.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):r=gt(e,t.includeContainer,Se.bind(null,t)),r},me=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,xe)===!1?!1:ze(t,e)},yr=pt.concat("iframe").join(","),_e=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,yr)===!1?!1:Se(t,e)};/*! +* focus-trap 7.4.3 +* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE +*/function nt(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(o);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(o,n).enumerable})),t.push.apply(t,r)}return t}function it(o){for(var e=1;e0){var r=e[e.length-1];r!==t&&r.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var r=e.indexOf(t);r!==-1&&e.splice(r,1),e.length>0&&e[e.length-1].unpause()}},wr=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},xr=function(e){return e.key==="Escape"||e.key==="Esc"||e.keyCode===27},ve=function(e){return e.key==="Tab"||e.keyCode===9},Fr=function(e){return ve(e)&&!e.shiftKey},Er=function(e){return ve(e)&&e.shiftKey},st=function(e){return setTimeout(e,0)},ut=function(e,t){var r=-1;return e.every(function(n,a){return t(n)?(r=a,!1):!0}),r},he=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?h-1:0),S=1;S=0)c=r.activeElement;else{var p=i.tabbableGroups[0],h=p&&p.firstTabbableNode;c=h||f("fallbackFocus")}if(!c)throw new Error("Your focus-trap needs to have at least one focusable element");return c},v=function(){if(i.containerGroups=i.containers.map(function(c){var p=vr(c,a.tabbableOptions),h=pr(c,a.tabbableOptions);return{container:c,tabbableNodes:p,focusableNodes:h,firstTabbableNode:p.length>0?p[0]:null,lastTabbableNode:p.length>0?p[p.length-1]:null,nextTabbableNode:function(S){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,R=h.findIndex(function(m){return m===S});if(!(R<0))return M?h.slice(R+1).find(function(m){return me(m,a.tabbableOptions)}):h.slice(0,R).reverse().find(function(m){return me(m,a.tabbableOptions)})}}}),i.tabbableGroups=i.containerGroups.filter(function(c){return c.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!f("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times")},y=function F(c){if(c!==!1&&c!==r.activeElement){if(!c||!c.focus){F(d());return}c.focus({preventScroll:!!a.preventScroll}),i.mostRecentlyFocusedNode=c,wr(c)&&c.select()}},b=function(c){var p=f("setReturnFocus",c);return p||(p===!1?!1:c)},g=function(c){var p=be(c);if(!(l(p,c)>=0)){if(he(a.clickOutsideDeactivates,c)){s.deactivate({returnFocus:a.returnFocusOnDeactivate});return}he(a.allowOutsideClick,c)||c.preventDefault()}},w=function(c){var p=be(c),h=l(p,c)>=0;h||p instanceof Document?h&&(i.mostRecentlyFocusedNode=p):(c.stopImmediatePropagation(),y(i.mostRecentlyFocusedNode||d()))},T=function(c){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,h=be(c);v();var E=null;if(i.tabbableGroups.length>0){var S=l(h,c),M=S>=0?i.containerGroups[S]:void 0;if(S<0)p?E=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:E=i.tabbableGroups[0].firstTabbableNode;else if(p){var R=ut(i.tabbableGroups,function(K){var V=K.firstTabbableNode;return h===V});if(R<0&&(M.container===h||_e(h,a.tabbableOptions)&&!me(h,a.tabbableOptions)&&!M.nextTabbableNode(h,!1))&&(R=S),R>=0){var m=R===0?i.tabbableGroups.length-1:R-1,k=i.tabbableGroups[m];E=k.lastTabbableNode}else ve(c)||(E=M.nextTabbableNode(h,!1))}else{var P=ut(i.tabbableGroups,function(K){var V=K.lastTabbableNode;return h===V});if(P<0&&(M.container===h||_e(h,a.tabbableOptions)&&!me(h,a.tabbableOptions)&&!M.nextTabbableNode(h))&&(P=S),P>=0){var oe=P===i.tabbableGroups.length-1?0:P+1,ae=i.tabbableGroups[oe];E=ae.firstTabbableNode}else ve(c)||(E=M.nextTabbableNode(h))}}else E=f("fallbackFocus");E&&(ve(c)&&c.preventDefault(),y(E))},_=function(c){if(xr(c)&&he(a.escapeDeactivates,c)!==!1){c.preventDefault(),s.deactivate();return}(a.isKeyForward(c)||a.isKeyBackward(c))&&T(c,a.isKeyBackward(c))},A=function(c){var p=be(c);l(p,c)>=0||he(a.clickOutsideDeactivates,c)||he(a.allowOutsideClick,c)||(c.preventDefault(),c.stopImmediatePropagation())},O=function(){if(i.active)return ot.activateTrap(n,s),i.delayInitialFocusTimer=a.delayInitialFocus?st(function(){y(d())}):y(d()),r.addEventListener("focusin",w,!0),r.addEventListener("mousedown",g,{capture:!0,passive:!1}),r.addEventListener("touchstart",g,{capture:!0,passive:!1}),r.addEventListener("click",A,{capture:!0,passive:!1}),r.addEventListener("keydown",_,{capture:!0,passive:!1}),s},D=function(){if(i.active)return r.removeEventListener("focusin",w,!0),r.removeEventListener("mousedown",g,!0),r.removeEventListener("touchstart",g,!0),r.removeEventListener("click",A,!0),r.removeEventListener("keydown",_,!0),s},L=function(c){var p=c.some(function(h){var E=Array.from(h.removedNodes);return E.some(function(S){return S===i.mostRecentlyFocusedNode})});p&&y(d())},x=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(L):void 0,N=function(){x&&(x.disconnect(),i.active&&!i.paused&&i.containers.map(function(c){x.observe(c,{subtree:!0,childList:!0})}))};return s={get active(){return i.active},get paused(){return i.paused},activate:function(c){if(i.active)return this;var p=u(c,"onActivate"),h=u(c,"onPostActivate"),E=u(c,"checkCanFocusTrap");E||v(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,p==null||p();var S=function(){E&&v(),O(),N(),h==null||h()};return E?(E(i.containers.concat()).then(S,S),this):(S(),this)},deactivate:function(c){if(!i.active)return this;var p=it({onDeactivate:a.onDeactivate,onPostDeactivate:a.onPostDeactivate,checkCanReturnFocus:a.checkCanReturnFocus},c);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,D(),i.active=!1,i.paused=!1,N(),ot.deactivateTrap(n,s);var h=u(p,"onDeactivate"),E=u(p,"onPostDeactivate"),S=u(p,"checkCanReturnFocus"),M=u(p,"returnFocus","returnFocusOnDeactivate");h==null||h();var R=function(){st(function(){M&&y(b(i.nodeFocusedBeforeActivation)),E==null||E()})};return M&&S?(S(b(i.nodeFocusedBeforeActivation)).then(R,R),this):(R(),this)},pause:function(c){if(i.paused||!i.active)return this;var p=u(c,"onPause"),h=u(c,"onPostPause");return i.paused=!0,p==null||p(),D(),N(),h==null||h(),this},unpause:function(c){if(!i.paused||!i.active)return this;var p=u(c,"onUnpause"),h=u(c,"onPostUnpause");return i.paused=!1,p==null||p(),v(),O(),N(),h==null||h(),this},updateContainerElements:function(c){var p=[].concat(c).filter(Boolean);return i.containers=p.map(function(h){return typeof h=="string"?r.querySelector(h):h}),i.active&&v(),N(),this}},s.updateContainerElements(e),s},Cr=Object.defineProperty,kr=Object.defineProperties,Tr=Object.getOwnPropertyDescriptors,Ae=Object.getOwnPropertySymbols,xt=Object.prototype.hasOwnProperty,Ft=Object.prototype.propertyIsEnumerable,lt=(o,e,t)=>e in o?Cr(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,Nr=(o,e)=>{for(var t in e||(e={}))xt.call(e,t)&<(o,t,e[t]);if(Ae)for(var t of Ae(e))Ft.call(e,t)&<(o,t,e[t]);return o},_r=(o,e)=>kr(o,Tr(e)),Ir=(o,e)=>{var t={};for(var r in o)xt.call(o,r)&&e.indexOf(r)<0&&(t[r]=o[r]);if(o!=null&&Ae)for(var r of Ae(o))e.indexOf(r)<0&&Ft.call(o,r)&&(t[r]=o[r]);return t};function Dr(o,e={}){let t;const r=e,{immediate:n}=r,a=Ir(r,["immediate"]),i=te(!1),s=te(!1),u=v=>t&&t.activate(v),l=v=>t&&t.deactivate(v),f=()=>{t&&(t.pause(),s.value=!0)},d=()=>{t&&(t.unpause(),s.value=!1)};return Le(()=>Jt(o),v=>{v&&(t=Ar(v,_r(Nr({},a),{onActivate(){i.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){i.value=!1,e.onDeactivate&&e.onDeactivate()}})),n&&u())},{flush:"post"}),Ut(()=>l()),{hasFocus:i,isPaused:s,activate:u,deactivate:l,pause:f,unpause:d}}class ie{constructor(e,t=!0,r=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=r,this.iframesTimeout=n}static matches(e,t){const r=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let a=!1;return r.every(i=>n.call(e,i)?(a=!0,!1):!0),a}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(r=>{const n=t.filter(a=>a.contains(r)).length>0;t.indexOf(r)===-1&&!n&&t.push(r)}),t}getIframeContents(e,t,r=()=>{}){let n;try{const a=e.contentWindow;if(n=a.document,!a||!n)throw new Error("iframe inaccessible")}catch{r()}n&&t(n)}isIframeBlank(e){const t="about:blank",r=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&r!==t&&r}observeIframeLoad(e,t,r){let n=!1,a=null;const i=()=>{if(!n){n=!0,clearTimeout(a);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,r))}catch{r()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,r){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,r):this.getIframeContents(e,t,r):this.observeIframeLoad(e,t,r)}catch{r()}}waitForIframes(e,t){let r=0;this.forEachIframe(e,()=>!0,n=>{r++,this.waitForIframes(n.querySelector("html"),()=>{--r||t()})},n=>{n||t()})}forEachIframe(e,t,r,n=()=>{}){let a=e.querySelectorAll("iframe"),i=a.length,s=0;a=Array.prototype.slice.call(a);const u=()=>{--i<=0&&n(s)};i||u(),a.forEach(l=>{ie.matches(l,this.exclude)?u():this.onIframeReady(l,f=>{t(l)&&(s++,r(f)),u()},u)})}createIterator(e,t,r){return document.createNodeIterator(e,t,r,!1)}createInstanceOnIframe(e){return new ie(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,r){const n=e.compareDocumentPosition(r),a=Node.DOCUMENT_POSITION_PRECEDING;if(n&a)if(t!==null){const i=t.compareDocumentPosition(r),s=Node.DOCUMENT_POSITION_FOLLOWING;if(i&s)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let r;return t===null?r=e.nextNode():r=e.nextNode()&&e.nextNode(),{prevNode:t,node:r}}checkIframeFilter(e,t,r,n){let a=!1,i=!1;return n.forEach((s,u)=>{s.val===r&&(a=u,i=s.handled)}),this.compareNodeIframe(e,t,r)?(a===!1&&!i?n.push({val:r,handled:!0}):a!==!1&&!i&&(n[a].handled=!0),!0):(a===!1&&n.push({val:r,handled:!1}),!1)}handleOpenIframes(e,t,r,n){e.forEach(a=>{a.handled||this.getIframeContents(a.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,r,n)})})}iterateThroughNodes(e,t,r,n,a){const i=this.createIterator(t,e,n);let s=[],u=[],l,f,d=()=>({prevNode:f,node:l}=this.getIteratorNode(i),l);for(;d();)this.iframes&&this.forEachIframe(t,v=>this.checkIframeFilter(l,f,v,s),v=>{this.createInstanceOnIframe(v).forEachNode(e,y=>u.push(y),n)}),u.push(l);u.forEach(v=>{r(v)}),this.iframes&&this.handleOpenIframes(s,e,r,n),a()}forEachNode(e,t,r,n=()=>{}){const a=this.getContexts();let i=a.length;i||n(),a.forEach(s=>{const u=()=>{this.iterateThroughNodes(e,s,t,r,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(s,u):u()})}}let Or=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new ie(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const r=this.opt.log;this.opt.debug&&typeof r=="object"&&typeof r[t]=="function"&&r[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,r=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let a in t)if(t.hasOwnProperty(a)){const i=t[a],s=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(a):this.escapeStr(a),u=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);s!==""&&u!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(s)}|${this.escapeStr(u)})`,`gm${r}`),n+`(${this.processSynomyms(s)}|${this.processSynomyms(u)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,r,n)=>{let a=n.charAt(r+1);return/[(|)\\]/.test(a)||a===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const r=this.opt.ignorePunctuation;return Array.isArray(r)&&r.length&&t.push(this.escapeStr(r.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",r=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(a=>{r.every(i=>{if(i.indexOf(a)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let r=this.opt.accuracy,n=typeof r=="string"?r:r.value,a=typeof r=="string"?[]:r.limiters,i="";switch(a.forEach(s=>{i+=`|${this.escapeStr(s)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(r=>{this.opt.separateWordSearch?r.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):r.trim()&&t.indexOf(r)===-1&&t.push(r)}),{keywords:t.sort((r,n)=>n.length-r.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let r=0;return e.sort((n,a)=>n.start-a.start).forEach(n=>{let{start:a,end:i,valid:s}=this.callNoMatchOnInvalidRanges(n,r);s&&(n.start=a,n.length=i-a,t.push(n),r=i)}),t}callNoMatchOnInvalidRanges(e,t){let r,n,a=!1;return e&&typeof e.start<"u"?(r=parseInt(e.start,10),n=r+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-r>0?a=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:r,end:n,valid:a}}checkWhitespaceRanges(e,t,r){let n,a=!0,i=r.length,s=t-i,u=parseInt(e.start,10)-s;return u=u>i?i:u,n=u+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),u<0||n-u<0||u>i||n>i?(a=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):r.substring(u,n).replace(/\s+/g,"")===""&&(a=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:u,end:n,valid:a}}getTextNodes(e){let t="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{r.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:r})})}matchesExclude(e){return ie.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,r){const n=this.opt.element?this.opt.element:"mark",a=e.splitText(t),i=a.splitText(r-t);let s=document.createElement(n);return s.setAttribute("data-markjs","true"),this.opt.className&&s.setAttribute("class",this.opt.className),s.textContent=a.textContent,a.parentNode.replaceChild(s,a),i}wrapRangeInMappedTextNode(e,t,r,n,a){e.nodes.every((i,s)=>{const u=e.nodes[s+1];if(typeof u>"u"||u.start>t){if(!n(i.node))return!1;const l=t-i.start,f=(r>i.end?i.end:r)-i.start,d=e.value.substr(0,i.start),v=e.value.substr(f+i.start);if(i.node=this.wrapRangeInTextNode(i.node,l,f),e.value=d+v,e.nodes.forEach((y,b)=>{b>=s&&(e.nodes[b].start>0&&b!==s&&(e.nodes[b].start-=f),e.nodes[b].end-=f)}),r-=f,a(i.node.previousSibling,i.start),r>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,r,n,a){const i=t===0?0:t+1;this.getTextNodes(s=>{s.nodes.forEach(u=>{u=u.node;let l;for(;(l=e.exec(u.textContent))!==null&&l[i]!=="";){if(!r(l[i],u))continue;let f=l.index;if(i!==0)for(let d=1;d{let u;for(;(u=e.exec(s.value))!==null&&u[i]!=="";){let l=u.index;if(i!==0)for(let d=1;dr(u[i],d),(d,v)=>{e.lastIndex=v,n(d)})}a()})}wrapRangeFromIndex(e,t,r,n){this.getTextNodes(a=>{const i=a.value.length;e.forEach((s,u)=>{let{start:l,end:f,valid:d}=this.checkWhitespaceRanges(s,i,a.value);d&&this.wrapRangeInMappedTextNode(a,l,f,v=>t(v,s,a.value.substring(l,f),u),v=>{r(v,s)})}),n()})}unwrapMatches(e){const t=e.parentNode;let r=document.createDocumentFragment();for(;e.firstChild;)r.appendChild(e.removeChild(e.firstChild));t.replaceChild(r,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let r=0,n="wrapMatches";const a=i=>{r++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,s)=>this.opt.filter(s,i,r),a,()=>{r===0&&this.opt.noMatch(e),this.opt.done(r)})}mark(e,t){this.opt=t;let r=0,n="wrapMatches";const{keywords:a,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),s=this.opt.caseSensitive?"":"i",u=l=>{let f=new RegExp(this.createRegExp(l),`gm${s}`),d=0;this.log(`Searching with expression "${f}"`),this[n](f,1,(v,y)=>this.opt.filter(y,l,r,d),v=>{d++,r++,this.opt.each(v)},()=>{d===0&&this.opt.noMatch(l),a[i-1]===l?this.opt.done(r):u(a[a.indexOf(l)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(r):u(a[0])}markRanges(e,t){this.opt=t;let r=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(a,i,s,u)=>this.opt.filter(a,i,s,u),(a,i)=>{r++,this.opt.each(a,i)},()=>{this.opt.done(r)})):this.opt.done(r)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,r=>{this.unwrapMatches(r)},r=>{const n=ie.matches(r,t),a=this.matchesExclude(r);return!n||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function Mr(o){const e=new Or(o);return this.mark=(t,r)=>(e.mark(t,r),this),this.markRegExp=(t,r)=>(e.markRegExp(t,r),this),this.markRanges=(t,r)=>(e.markRanges(t,r),this),this.unmark=t=>(e.unmark(t),this),this}var z=function(){return z=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&a[a.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]=o.length&&(o=void 0),{value:o&&o[r++],done:!o}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function B(o,e){var t=typeof Symbol=="function"&&o[Symbol.iterator];if(!t)return o;var r=t.call(o),n,a=[],i;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)a.push(n.value)}catch(s){i={error:s}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(i)throw i.error}}return a}var Lr="ENTRIES",Et="KEYS",St="VALUES",W="",Ie=function(){function o(e,t){var r=e._tree,n=Array.from(r.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:r,keys:n}]:[]}return o.prototype.next=function(){var e=this.dive();return this.backtrack(),e},o.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=ne(this._path),t=e.node,r=e.keys;if(ne(r)===W)return{done:!1,value:this.result()};var n=t.get(ne(r));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()},o.prototype.backtrack=function(){if(this._path.length!==0){var e=ne(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},o.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return ne(t)}).filter(function(e){return e!==W}).join("")},o.prototype.value=function(){return ne(this._path).node.get(W)},o.prototype.result=function(){switch(this._type){case St:return this.value();case Et:return this.key();default:return[this.key(),this.value()]}},o.prototype[Symbol.iterator]=function(){return this},o}(),ne=function(o){return o[o.length-1]},zr=function(o,e,t){var r=new Map;if(e===void 0)return r;for(var n=e.length+1,a=n+t,i=new Uint8Array(a*n).fill(t+1),s=0;st)continue e}At(o.get(y),e,t,r,n,g,i,s+y)}}}catch(E){u={error:E}}finally{try{v&&!v.done&&(l=d.return)&&l.call(d)}finally{if(u)throw u.error}}},De=function(){function o(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return o.prototype.atPrefix=function(e){var t,r;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var n=B(Ce(this._tree,e.slice(this._prefix.length)),2),a=n[0],i=n[1];if(a===void 0){var s=B(We(i),2),u=s[0],l=s[1];try{for(var f=I(u.keys()),d=f.next();!d.done;d=f.next()){var v=d.value;if(v!==W&&v.startsWith(l)){var y=new Map;return y.set(v.slice(l.length),u.get(v)),new o(y,e)}}}catch(b){t={error:b}}finally{try{d&&!d.done&&(r=f.return)&&r.call(f)}finally{if(t)throw t.error}}}return new o(a,e)},o.prototype.clear=function(){this._size=void 0,this._tree.clear()},o.prototype.delete=function(e){return this._size=void 0,Vr(this._tree,e)},o.prototype.entries=function(){return new Ie(this,Lr)},o.prototype.forEach=function(e){var t,r;try{for(var n=I(this),a=n.next();!a.done;a=n.next()){var i=B(a.value,2),s=i[0],u=i[1];e(s,u,this)}}catch(l){t={error:l}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},o.prototype.fuzzyGet=function(e,t){return zr(this._tree,e,t)},o.prototype.get=function(e){var t=Ve(this._tree,e);return t!==void 0?t.get(W):void 0},o.prototype.has=function(e){var t=Ve(this._tree,e);return t!==void 0&&t.has(W)},o.prototype.keys=function(){return new Ie(this,Et)},o.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=Oe(this._tree,e);return r.set(W,t),this},Object.defineProperty(o.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),o.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=Oe(this._tree,e);return r.set(W,t(r.get(W))),this},o.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=Oe(this._tree,e),n=r.get(W);return n===void 0&&r.set(W,n=t()),n},o.prototype.values=function(){return new Ie(this,St)},o.prototype[Symbol.iterator]=function(){return this.entries()},o.from=function(e){var t,r,n=new o;try{for(var a=I(e),i=a.next();!i.done;i=a.next()){var s=B(i.value,2),u=s[0],l=s[1];n.set(u,l)}}catch(f){t={error:f}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return n},o.fromObject=function(e){return o.from(Object.entries(e))},o}(),Ce=function(o,e,t){var r,n;if(t===void 0&&(t=[]),e.length===0||o==null)return[o,t];try{for(var a=I(o.keys()),i=a.next();!i.done;i=a.next()){var s=i.value;if(s!==W&&e.startsWith(s))return t.push([o,s]),Ce(o.get(s),e.slice(s.length),t)}}catch(u){r={error:u}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return t.push([o,e]),Ce(void 0,"",t)},Ve=function(o,e){var t,r;if(e.length===0||o==null)return o;try{for(var n=I(o.keys()),a=n.next();!a.done;a=n.next()){var i=a.value;if(i!==W&&e.startsWith(i))return Ve(o.get(i),e.slice(i.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},Oe=function(o,e){var t,r,n=e.length;e:for(var a=0;o&&a0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new De,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},o.prototype.discard=function(e){var t=this,r=this._idToShortId.get(e);if(r==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(r),this._storedFields.delete(r),(this._fieldLength.get(r)||[]).forEach(function(n,a){t.removeFieldLength(r,a,t._documentCount,n)}),this._fieldLength.delete(r),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},o.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,r=e.minDirtCount,n=e.batchSize,a=e.batchWait;this.conditionalVacuum({batchSize:n,batchWait:a},{minDirtCount:r,minDirtFactor:t})}},o.prototype.discardAll=function(e){var t,r,n=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=I(e),i=a.next();!i.done;i=a.next()){var s=i.value;this.discard(s)}}catch(u){t={error:u}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()},o.prototype.replace=function(e){var t=this._options,r=t.idField,n=t.extractField,a=n(e,r);this.discard(a),this.add(e)},o.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},o.prototype.conditionalVacuum=function(e,t){var r=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var n=r._enqueuedVacuumConditions;return r._enqueuedVacuumConditions=$e,r.performVacuuming(e,n)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},o.prototype.performVacuuming=function(e,t){return Rr(this,void 0,void 0,function(){var r,n,a,i,s,u,l,f,d,v,y,b,g,w,T,_,A,O,D,L,x,N,F,c,p;return Pr(this,function(h){switch(h.label){case 0:if(r=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];n=e.batchSize||Be.batchSize,a=e.batchWait||Be.batchWait,i=1,h.label=1;case 1:h.trys.push([1,7,8,9]),s=I(this._index),u=s.next(),h.label=2;case 2:if(u.done)return[3,6];l=B(u.value,2),f=l[0],d=l[1];try{for(v=(N=void 0,I(d)),y=v.next();!y.done;y=v.next()){b=B(y.value,2),g=b[0],w=b[1];try{for(T=(c=void 0,I(w)),_=T.next();!_.done;_=T.next())A=B(_.value,1),O=A[0],!this._documentIds.has(O)&&(w.size<=1?d.delete(g):w.delete(O))}catch(E){c={error:E}}finally{try{_&&!_.done&&(p=T.return)&&p.call(T)}finally{if(c)throw c.error}}}}catch(E){N={error:E}}finally{try{y&&!y.done&&(F=v.return)&&F.call(v)}finally{if(N)throw N.error}}return this._index.get(f).size===0&&this._index.delete(f),i%n!==0?[3,4]:[4,new Promise(function(E){return setTimeout(E,a)})];case 3:h.sent(),h.label=4;case 4:i+=1,h.label=5;case 5:return u=s.next(),[3,2];case 6:return[3,9];case 7:return D=h.sent(),L={error:D},[3,9];case 8:try{u&&!u.done&&(x=s.return)&&x.call(s)}finally{if(L)throw L.error}return[7];case 9:this._dirtCount-=r,h.label=10;case 10:return[4,null];case 11:return h.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},o.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,r=e.minDirtFactor;return t=t||Pe.minDirtCount,r=r||Pe.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=r},Object.defineProperty(o.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),o.prototype.has=function(e){return this._idToShortId.has(e)},o.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},o.prototype.search=function(e,t){var r,n;t===void 0&&(t={});var a=this.executeQuery(e,t),i=[];try{for(var s=I(a),u=s.next();!u.done;u=s.next()){var l=B(u.value,2),f=l[0],d=l[1],v=d.score,y=d.terms,b=d.match,g=y.length,w={id:this._documentIds.get(f),score:v*g,terms:Object.keys(b),match:b};Object.assign(w,this._storedFields.get(f)),(t.filter==null||t.filter(w))&&i.push(w)}}catch(T){r={error:T}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return i.sort(ht),i},o.prototype.autoSuggest=function(e,t){var r,n,a,i;t===void 0&&(t={}),t=z(z({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var u=I(this.search(e,t)),l=u.next();!l.done;l=u.next()){var f=l.value,d=f.score,v=f.terms,y=v.join(" "),b=s.get(y);b!=null?(b.score+=d,b.count+=1):s.set(y,{score:d,terms:v,count:1})}}catch(D){r={error:D}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var g=[];try{for(var w=I(s),T=w.next();!T.done;T=w.next()){var _=B(T.value,2),b=_[0],A=_[1],d=A.score,v=A.terms,O=A.count;g.push({suggestion:b,terms:v,score:d/O})}}catch(D){a={error:D}}finally{try{T&&!T.done&&(i=w.return)&&i.call(w)}finally{if(a)throw a.error}}return g.sort(ht),g},Object.defineProperty(o.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),o.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},o.getDefault=function(e){if(Re.hasOwnProperty(e))return Me(Re,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},o.loadJS=function(e,t){var r,n,a,i,s,u,l=e.index,f=e.documentCount,d=e.nextId,v=e.documentIds,y=e.fieldIds,b=e.fieldLength,g=e.averageFieldLength,w=e.storedFields,T=e.dirtCount,_=e.serializationVersion;if(_!==1&&_!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var A=new o(t);A._documentCount=f,A._nextId=d,A._documentIds=we(v),A._idToShortId=new Map,A._fieldIds=y,A._fieldLength=we(b),A._avgFieldLength=g,A._storedFields=we(w),A._dirtCount=T||0,A._index=new De;try{for(var O=I(A._documentIds),D=O.next();!D.done;D=O.next()){var L=B(D.value,2),x=L[0],N=L[1];A._idToShortId.set(N,x)}}catch(P){r={error:P}}finally{try{D&&!D.done&&(n=O.return)&&n.call(O)}finally{if(r)throw r.error}}try{for(var F=I(l),c=F.next();!c.done;c=F.next()){var p=B(c.value,2),h=p[0],E=p[1],S=new Map;try{for(var M=(s=void 0,I(Object.keys(E))),R=M.next();!R.done;R=M.next()){var m=R.value,k=E[m];_===1&&(k=k.ds),S.set(parseInt(m,10),we(k))}}catch(P){s={error:P}}finally{try{R&&!R.done&&(u=M.return)&&u.call(M)}finally{if(s)throw s.error}}A._index.set(h,S)}}catch(P){a={error:P}}finally{try{c&&!c.done&&(i=F.return)&&i.call(F)}finally{if(a)throw a.error}}return A},o.prototype.executeQuery=function(e,t){var r=this;if(t===void 0&&(t={}),typeof e!="string"){var n=z(z(z({},t),e),{queries:void 0}),a=e.queries.map(function(w){return r.executeQuery(w,n)});return this.combineResults(a,n.combineWith)}var i=this._options,s=i.tokenize,u=i.processTerm,l=i.searchOptions,f=z(z({tokenize:s,processTerm:u},l),t),d=f.tokenize,v=f.processTerm,y=d(e).flatMap(function(w){return v(w)}).filter(function(w){return!!w}),b=y.map(Jr(f)),g=b.map(function(w){return r.executeQuerySpec(w,f)});return this.combineResults(g,f.combineWith)},o.prototype.executeQuerySpec=function(e,t){var r,n,a,i,s=z(z({},this._options.searchOptions),t),u=(s.fields||this._options.fields).reduce(function(m,k){var P;return z(z({},m),(P={},P[k]=Me(s.boost,k)||1,P))},{}),l=s.boostDocument,f=s.weights,d=s.maxFuzzy,v=s.bm25,y=z(z({},ct.weights),f),b=y.fuzzy,g=y.prefix,w=this._index.get(e.term),T=this.termResults(e.term,e.term,1,w,u,l,v),_,A;if(e.prefix&&(_=this._index.atPrefix(e.term)),e.fuzzy){var O=e.fuzzy===!0?.2:e.fuzzy,D=O<1?Math.min(d,Math.round(e.term.length*O)):O;D&&(A=this._index.fuzzyGet(e.term,D))}if(_)try{for(var L=I(_),x=L.next();!x.done;x=L.next()){var N=B(x.value,2),F=N[0],c=N[1],p=F.length-e.term.length;if(p){A==null||A.delete(F);var h=g*F.length/(F.length+.3*p);this.termResults(e.term,F,h,c,u,l,v,T)}}}catch(m){r={error:m}}finally{try{x&&!x.done&&(n=L.return)&&n.call(L)}finally{if(r)throw r.error}}if(A)try{for(var E=I(A.keys()),S=E.next();!S.done;S=E.next()){var F=S.value,M=B(A.get(F),2),R=M[0],p=M[1];if(p){var h=b*F.length/(F.length+p);this.termResults(e.term,F,h,R,u,l,v,T)}}}catch(m){a={error:m}}finally{try{S&&!S.done&&(i=E.return)&&i.call(E)}finally{if(a)throw a.error}}return T},o.prototype.combineResults=function(e,t){if(t===void 0&&(t=je),e.length===0)return new Map;var r=t.toLowerCase();return e.reduce(Wr[r])||new Map},o.prototype.toJSON=function(){var e,t,r,n,a=[];try{for(var i=I(this._index),s=i.next();!s.done;s=i.next()){var u=B(s.value,2),l=u[0],f=u[1],d={};try{for(var v=(r=void 0,I(f)),y=v.next();!y.done;y=v.next()){var b=B(y.value,2),g=b[0],w=b[1];d[g]=Object.fromEntries(w)}}catch(T){r={error:T}}finally{try{y&&!y.done&&(n=v.return)&&n.call(v)}finally{if(r)throw r.error}}a.push([l,d])}}catch(T){e={error:T}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},o.prototype.termResults=function(e,t,r,n,a,i,s,u){var l,f,d,v,y;if(u===void 0&&(u=new Map),n==null)return u;try{for(var b=I(Object.keys(a)),g=b.next();!g.done;g=b.next()){var w=g.value,T=a[w],_=this._fieldIds[w],A=n.get(_);if(A!=null){var O=A.size,D=this._avgFieldLength[_];try{for(var L=(d=void 0,I(A.keys())),x=L.next();!x.done;x=L.next()){var N=x.value;if(!this._documentIds.has(N)){this.removeTerm(_,N,t),O-=1;continue}var F=i?i(this._documentIds.get(N),t,this._storedFields.get(N)):1;if(F){var c=A.get(N),p=this._fieldLength.get(N)[_],h=Kr(c,O,this._documentCount,p,D,s),E=r*T*F*h,S=u.get(N);if(S){S.score+=E,Hr(S.terms,e);var M=Me(S.match,t);M?M.push(w):S.match[t]=[w]}else u.set(N,{score:E,terms:[e],match:(y={},y[t]=[w],y)})}}}catch(R){d={error:R}}finally{try{x&&!x.done&&(v=L.return)&&v.call(L)}finally{if(d)throw d.error}}}}}catch(R){l={error:R}}finally{try{g&&!g.done&&(f=b.return)&&f.call(b)}finally{if(l)throw l.error}}return u},o.prototype.addTerm=function(e,t,r){var n=this._index.fetch(r,dt),a=n.get(e);if(a==null)a=new Map,a.set(t,1),n.set(e,a);else{var i=a.get(t);a.set(t,(i||0)+1)}},o.prototype.removeTerm=function(e,t,r){if(!this._index.has(r)){this.warnDocumentChanged(t,e,r);return}var n=this._index.fetch(r,dt),a=n.get(e);a==null||a.get(t)==null?this.warnDocumentChanged(t,e,r):a.get(t)<=1?a.size<=1?n.delete(e):a.delete(t):a.set(t,a.get(t)-1),this._index.get(r).size===0&&this._index.delete(r)},o.prototype.warnDocumentChanged=function(e,t,r){var n,a;try{for(var i=I(Object.keys(this._fieldIds)),s=i.next();!s.done;s=i.next()){var u=s.value;if(this._fieldIds[u]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(r,'" was not present in field "').concat(u,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(l){n={error:l}}finally{try{s&&!s.done&&(a=i.return)&&a.call(i)}finally{if(n)throw n.error}}},o.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},o.prototype.addFields=function(e){for(var t=0;t(Vt("data-v-b030f574"),o=o(),Bt(),o),Gr=["aria-owns"],Qr={class:"shell"},Yr=["title"],Zr=J(()=>C("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[C("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[C("circle",{cx:"11",cy:"11",r:"8"}),C("path",{d:"m21 21l-4.35-4.35"})])],-1)),Xr=[Zr],ea={class:"search-actions before"},ta=["title"],ra=J(()=>C("svg",{width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[C("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 12H5m7 7l-7-7l7-7"})],-1)),aa=[ra],na=["placeholder"],ia={class:"search-actions"},oa=["title"],sa=J(()=>C("svg",{width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[C("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 14h7v7H3zM3 3h7v7H3zm11 1h7m-7 5h7m-7 6h7m-7 5h7"})],-1)),ua=[sa],la=["disabled","title"],ca=J(()=>C("svg",{width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[C("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20 5H9l-7 7l7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2Zm-2 4l-6 6m0-6l6 6"})],-1)),fa=[ca],ha=["id","role","aria-labelledby"],da=["aria-selected"],va=["href","aria-label","onMouseenter","onFocusin"],pa={class:"titles"},ya=J(()=>C("span",{class:"title-icon"},"#",-1)),ga=["innerHTML"],ma=J(()=>C("svg",{width:"18",height:"18",viewBox:"0 0 24 24"},[C("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m9 18l6-6l-6-6"})],-1)),ba={class:"title main"},wa=["innerHTML"],xa={key:0,class:"excerpt-wrapper"},Fa={key:0,class:"excerpt",inert:""},Ea=["innerHTML"],Sa=J(()=>C("div",{class:"excerpt-gradient-bottom"},null,-1)),Aa=J(()=>C("div",{class:"excerpt-gradient-top"},null,-1)),Ca={key:0,class:"no-results"},ka={class:"search-keyboard-shortcuts"},Ta=["aria-label"],Na=J(()=>C("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[C("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 19V5m-7 7l7-7l7 7"})],-1)),_a=[Na],Ia=["aria-label"],Da=J(()=>C("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[C("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 5v14m7-7l-7 7l-7-7"})],-1)),Oa=[Da],Ma=["aria-label"],Ra=J(()=>C("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[C("g",{fill:"none",stroke:"currentcolor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[C("path",{d:"m9 10l-5 5l5 5"}),C("path",{d:"M20 4v7a4 4 0 0 1-4 4H4"})])],-1)),Pa=[Ra],La=["aria-label"],za=Nt({__name:"VPLocalSearchBox",props:{placeholder:{}},emits:["close"],setup(o,{emit:e}){var R;const t=ue(),r=ue(),n=ue(),a=ue(er),i=Ht(),{activate:s}=Dr(t,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:u,theme:l}=i,f=rt(async()=>{var m,k,P;return tt($r.loadJSON((P=await((k=(m=a.value)[u.value])==null?void 0:k.call(m)))==null?void 0:P.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1}}}))}),v=Te(()=>{var m,k;return((m=l.value.search)==null?void 0:m.provider)==="local"&&((k=l.value.search.options)==null?void 0:k.disableQueryPersistence)===!0}).value?te(""):qt("vitepress:local-search-filter",""),y=Gt("vitepress:local-search-detailed-list",!1),b=Te(()=>{var m,k;return((m=l.value.search)==null?void 0:m.provider)==="local"&&((k=l.value.search.options)==null?void 0:k.disableDetailedView)===!0});_t(()=>{b.value&&(y.value=!1)});const g=ue([]),w=te(!1);Le(v,()=>{w.value=!1});const T=rt(async()=>{if(r.value)return tt(new Mr(r.value))},null);Qt(()=>[f.value,v.value,y.value],async([m,k,P],oe,ae)=>{var Ke,Je,Ue,He;let K=!1;if(ae(()=>{K=!0}),!m)return;g.value=m.search(k).slice(0,16),w.value=!0;const V=P?await Promise.all(g.value.map(j=>_(j.id))):[];if(K)return;const q=new Map;for(const{id:j,mod:Z}of V){const X=j.slice(0,j.indexOf("#"));let G=q.get(X);if(G)continue;G=new Map,q.set(X,G);const U=Z.default??Z;if(U!=null&&U.render||U!=null&&U.setup){const ee=$t(U);ee.config.warnHandler=()=>{},ee.provide(Wt,i),Object.defineProperties(ee.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const qe=document.createElement("div");ee.mount(qe),qe.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(se=>{var Ye;const pe=(Ye=se.querySelector("a"))==null?void 0:Ye.getAttribute("href"),Ge=(pe==null?void 0:pe.startsWith("#"))&&pe.slice(1);if(!Ge)return;let Qe="";for(;(se=se.nextElementSibling)&&!/^h[1-6]$/i.test(se.tagName);)Qe+=se.outerHTML;G.set(Ge,Qe)}),ee.unmount()}if(K)return}const Y=new Set;if(g.value=g.value.map(j=>{const[Z,X]=j.id.split("#"),G=q.get(Z),U=(G==null?void 0:G.get(X))??"";for(const ee in j.match)Y.add(ee);return{...j,text:U}}),await le(),K)return;await new Promise(j=>{var Z;(Z=T.value)==null||Z.unmark({done:()=>{var X;(X=T.value)==null||X.markRegExp(M(Y),{done:j})}})});const ke=((Ke=t.value)==null?void 0:Ke.querySelectorAll(".result .excerpt"))??[];for(const j of ke)(Je=j.querySelector('mark[data-markjs="true"]'))==null||Je.scrollIntoView({block:"center"});(He=(Ue=r.value)==null?void 0:Ue.firstElementChild)==null||He.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function _(m){const k=jt(m.slice(0,m.indexOf("#")));try{return{id:m,mod:await vt(()=>import(k),[])}}catch(P){return console.error(P),{id:m,mod:{}}}}const A=te(),O=Te(()=>{var m;return((m=v.value)==null?void 0:m.length)<=0});function D(m=!0){var k,P;(k=A.value)==null||k.focus(),m&&((P=A.value)==null||P.select())}Ne(()=>{D()});function L(m){m.pointerType==="mouse"&&D()}const x=te(-1),N=te(!1);Le(g,m=>{x.value=m.length?0:-1,F()});function F(){le(()=>{const m=document.querySelector(".result.selected");m&&m.scrollIntoView({block:"nearest"})})}ge("ArrowUp",m=>{m.preventDefault(),x.value--,x.value<0&&(x.value=g.value.length-1),N.value=!0,F()}),ge("ArrowDown",m=>{m.preventDefault(),x.value++,x.value>=g.value.length&&(x.value=0),N.value=!0,F()});const c=It();ge("Enter",()=>{const m=g.value[x.value];m&&(c.go(m.id),e("close"))}),ge("Escape",()=>{e("close")});const p={modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}},h=Yt((R=l.value.search)==null?void 0:R.options,p);Ne(()=>{window.history.pushState(null,"",null)}),Zt("popstate",m=>{m.preventDefault(),e("close")});const E=Xt(n);Ne(()=>{n.value=document.body,le(()=>{E.value=!0,le().then(()=>s())})}),Dt(()=>{E.value=!1});function S(){v.value="",le().then(()=>D(!1))}function M(m){return new RegExp([...m].sort((k,P)=>P.length-k.length).map(k=>`(${k.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")})`).join("|"),"gi")}return(m,k)=>{var P,oe,ae,K;return H(),Ot(zt,{to:"body"},[C("div",{ref_key:"el",ref:t,role:"button","aria-owns":(P=g.value)!=null&&P.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[C("div",{class:"backdrop",onClick:k[0]||(k[0]=V=>m.$emit("close"))}),C("div",Qr,[C("form",{class:"search-bar",onPointerup:k[4]||(k[4]=V=>L(V)),onSubmit:k[5]||(k[5]=Mt(()=>{},["prevent"]))},[C("label",{title:m.placeholder,id:"localsearch-label",for:"localsearch-input"},Xr,8,Yr),C("div",ea,[C("button",{class:"back-button",title:$(h)("modal.backButtonTitle"),onClick:k[1]||(k[1]=V=>x.value>-1&&m.$emit("close"))},aa,8,ta)]),Rt(C("input",{ref_key:"searchInput",ref:A,"onUpdate:modelValue":k[2]||(k[2]=V=>Lt(v)?v.value=V:null),placeholder:m.placeholder,id:"localsearch-input","aria-labelledby":"localsearch-label",class:"search-input"},null,8,na),[[Pt,$(v)]]),C("div",ia,[b.value?ye("",!0):(H(),Q("button",{key:0,class:Ze(["toggle-layout-button",{"detailed-list":$(y)}]),title:$(h)("modal.displayDetails"),onClick:k[3]||(k[3]=V=>x.value>-1&&(y.value=!$(y)))},ua,10,oa)),C("button",{class:"clear-button",type:"reset",disabled:O.value,title:$(h)("modal.resetButtonTitle"),onClick:S},fa,8,la)])],32),C("ul",{ref_key:"resultsEl",ref:r,id:(oe=g.value)!=null&&oe.length?"localsearch-list":void 0,role:(ae=g.value)!=null&&ae.length?"listbox":void 0,"aria-labelledby":(K=g.value)!=null&&K.length?"localsearch-label":void 0,class:"results",onMousemove:k[7]||(k[7]=V=>N.value=!1)},[(H(!0),Q(et,null,Xe(g.value,(V,q)=>(H(),Q("li",{key:V.id,role:"option","aria-selected":x.value===q?"true":"false"},[C("a",{href:V.id,class:Ze(["result",{selected:x.value===q}]),"aria-label":[...V.titles,V.title].join(" > "),onMouseenter:Y=>!N.value&&(x.value=q),onFocusin:Y=>x.value=q,onClick:k[6]||(k[6]=Y=>m.$emit("close"))},[C("div",null,[C("div",pa,[ya,(H(!0),Q(et,null,Xe(V.titles,(Y,ke)=>(H(),Q("span",{key:ke,class:"title"},[C("span",{class:"text",innerHTML:Y},null,8,ga),ma]))),128)),C("span",ba,[C("span",{class:"text",innerHTML:V.title},null,8,wa)])]),$(y)?(H(),Q("div",xa,[V.text?(H(),Q("div",Fa,[C("div",{class:"vp-doc",innerHTML:V.text},null,8,Ea)])):ye("",!0),Sa,Aa])):ye("",!0)])],42,va)],8,da))),128)),$(v)&&!g.value.length&&w.value?(H(),Q("li",Ca,[ce(fe($(h)("modal.noResultsText"))+' "',1),C("strong",null,fe($(v)),1),ce('" ')])):ye("",!0)],40,ha),C("div",ka,[C("span",null,[C("kbd",{"aria-label":$(h)("modal.footer.navigateUpKeyAriaLabel")},_a,8,Ta),C("kbd",{"aria-label":$(h)("modal.footer.navigateDownKeyAriaLabel")},Oa,8,Ia),ce(" "+fe($(h)("modal.footer.navigateText")),1)]),C("span",null,[C("kbd",{"aria-label":$(h)("modal.footer.selectKeyAriaLabel")},Pa,8,Ma),ce(" "+fe($(h)("modal.footer.selectText")),1)]),C("span",null,[C("kbd",{"aria-label":$(h)("modal.footer.closeKeyAriaLabel")},"esc",8,La),ce(" "+fe($(h)("modal.footer.closeText")),1)])])])],8,Gr)])}}});const ja=Kt(za,[["__scopeId","data-v-b030f574"]]);export{ja as default}; diff --git a/docs/.vitepress/dist/assets/chunks/framework.dc35932b.js b/docs/.vitepress/dist/assets/chunks/framework.dc35932b.js new file mode 100644 index 0000000..202f2d3 --- /dev/null +++ b/docs/.vitepress/dist/assets/chunks/framework.dc35932b.js @@ -0,0 +1,2 @@ +function ts(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}const te={},at=[],Pe=()=>{},Hi=()=>!1,$i=/^on[^a-z]/,Bt=e=>$i.test(e),ns=e=>e.startsWith("onUpdate:"),oe=Object.assign,ss=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ui=Object.prototype.hasOwnProperty,Y=(e,t)=>Ui.call(e,t),N=Array.isArray,ut=e=>mn(e)==="[object Map]",xr=e=>mn(e)==="[object Set]",D=e=>typeof e=="function",se=e=>typeof e=="string",rs=e=>typeof e=="symbol",ee=e=>e!==null&&typeof e=="object",Er=e=>ee(e)&&D(e.then)&&D(e.catch),Tr=Object.prototype.toString,mn=e=>Tr.call(e),ji=e=>mn(e).slice(8,-1),Ar=e=>mn(e)==="[object Object]",is=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Pt=ts(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),_n=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Bi=/-(\w)/g,Se=_n(e=>e.replace(Bi,(t,n)=>n?n.toUpperCase():"")),Di=/\B([A-Z])/g,it=_n(e=>e.replace(Di,"-$1").toLowerCase()),bn=_n(e=>e.charAt(0).toUpperCase()+e.slice(1)),tn=_n(e=>e?`on${bn(e)}`:""),Nt=(e,t)=>!Object.is(e,t),nn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Bn=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ki=e=>{const t=se(e)?Number(e):NaN;return isNaN(t)?e:t};let Os;const Dn=()=>Os||(Os=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function os(e){if(N(e)){const t={};for(let n=0;n{if(n){const s=n.split(Wi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function ls(e){let t="";if(se(e))t=e;else if(N(e))for(let n=0;nse(e)?e:e==null?"":N(e)||ee(e)&&(e.toString===Tr||!D(e.toString))?JSON.stringify(e,Pr,2):String(e),Pr=(e,t)=>t&&t.__v_isRef?Pr(e,t.value):ut(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:xr(t)?{[`Set(${t.size})`]:[...t.values()]}:ee(t)&&!N(t)&&!Ar(t)?String(t):t;let _e;class Ji{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=_e,!t&&_e&&(this.index=(_e.scopes||(_e.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=_e;try{return _e=this,t()}finally{_e=n}}}on(){_e=this}off(){_e=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},Ir=e=>(e.w&qe)>0,Or=e=>(e.n&qe)>0,Qi=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(d==="length"||d>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":N(e)?is(n)&&l.push(o.get("length")):(l.push(o.get(st)),ut(e)&&l.push(o.get(kn)));break;case"delete":N(e)||(l.push(o.get(st)),ut(e)&&l.push(o.get(kn)));break;case"set":ut(e)&&l.push(o.get(st));break}if(l.length===1)l[0]&&Wn(l[0]);else{const c=[];for(const a of l)a&&c.push(...a);Wn(cs(c))}}function Wn(e,t){const n=N(e)?e:[...e];for(const s of n)s.computed&&Ms(s);for(const s of n)s.computed||Ms(s)}function Ms(e,t){(e!==Ae||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function eo(e,t){var n;return(n=cn.get(e))==null?void 0:n.get(t)}const to=ts("__proto__,__v_isRef,__isVue"),Sr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(rs)),no=as(),so=as(!1,!0),ro=as(!0),Ss=io();function io(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=J(this);for(let i=0,o=this.length;i{e[t]=function(...n){Ct();const s=J(this)[t].apply(this,n);return wt(),s}}),e}function oo(e){const t=J(this);return pe(t,"has",e),t.hasOwnProperty(e)}function as(e=!1,t=!1){return function(s,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?xo:Ur:t?$r:Hr).get(s))return s;const o=N(s);if(!e){if(o&&Y(Ss,r))return Reflect.get(Ss,r,i);if(r==="hasOwnProperty")return oo}const l=Reflect.get(s,r,i);return(rs(r)?Sr.has(r):to(r))||(e||pe(s,"get",r),t)?l:ce(l)?o&&is(r)?l:l.value:ee(l)?e?jr(l):vn(l):l}}const lo=Lr(),co=Lr(!0);function Lr(e=!1){return function(n,s,r,i){let o=n[s];if(_t(o)&&ce(o)&&!ce(r))return!1;if(!e&&(!fn(r)&&!_t(r)&&(o=J(o),r=J(r)),!N(n)&&ce(o)&&!ce(r)))return o.value=r,!0;const l=N(n)&&is(s)?Number(s)e,yn=e=>Reflect.getPrototypeOf(e);function qt(e,t,n=!1,s=!1){e=e.__v_raw;const r=J(e),i=J(t);n||(t!==i&&pe(r,"get",t),pe(r,"get",i));const{has:o}=yn(r),l=s?us:n?ps:Ht;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function Vt(e,t=!1){const n=this.__v_raw,s=J(n),r=J(e);return t||(e!==r&&pe(s,"has",e),pe(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function zt(e,t=!1){return e=e.__v_raw,!t&&pe(J(e),"iterate",st),Reflect.get(e,"size",e)}function Ls(e){e=J(e);const t=J(this);return yn(t).has.call(t,e)||(t.add(e),He(t,"add",e,e)),this}function Ns(e,t){t=J(t);const n=J(this),{has:s,get:r}=yn(n);let i=s.call(n,e);i||(e=J(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?Nt(t,o)&&He(n,"set",e,t):He(n,"add",e,t),this}function Hs(e){const t=J(this),{has:n,get:s}=yn(t);let r=n.call(t,e);r||(e=J(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&He(t,"delete",e,void 0),i}function $s(){const e=J(this),t=e.size!==0,n=e.clear();return t&&He(e,"clear",void 0,void 0),n}function Yt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=J(o),c=t?us:e?ps:Ht;return!e&&pe(l,"iterate",st),o.forEach((a,d)=>s.call(r,c(a),c(d),i))}}function Jt(e,t,n){return function(...s){const r=this.__v_raw,i=J(r),o=ut(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,a=r[e](...s),d=n?us:t?ps:Ht;return!t&&pe(i,"iterate",c?kn:st),{next(){const{value:p,done:g}=a.next();return g?{value:p,done:g}:{value:l?[d(p[0]),d(p[1])]:d(p),done:g}},[Symbol.iterator](){return this}}}}function Ue(e){return function(...t){return e==="delete"?!1:this}}function go(){const e={get(i){return qt(this,i)},get size(){return zt(this)},has:Vt,add:Ls,set:Ns,delete:Hs,clear:$s,forEach:Yt(!1,!1)},t={get(i){return qt(this,i,!1,!0)},get size(){return zt(this)},has:Vt,add:Ls,set:Ns,delete:Hs,clear:$s,forEach:Yt(!1,!0)},n={get(i){return qt(this,i,!0)},get size(){return zt(this,!0)},has(i){return Vt.call(this,i,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:Yt(!0,!1)},s={get(i){return qt(this,i,!0,!0)},get size(){return zt(this,!0)},has(i){return Vt.call(this,i,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:Yt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Jt(i,!1,!1),n[i]=Jt(i,!0,!1),t[i]=Jt(i,!1,!0),s[i]=Jt(i,!0,!0)}),[e,n,t,s]}const[mo,_o,bo,yo]=go();function ds(e,t){const n=t?e?yo:bo:e?_o:mo;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(Y(n,r)&&r in s?n:s,r,i)}const vo={get:ds(!1,!1)},Co={get:ds(!1,!0)},wo={get:ds(!0,!1)},Hr=new WeakMap,$r=new WeakMap,Ur=new WeakMap,xo=new WeakMap;function Eo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function To(e){return e.__v_skip||!Object.isExtensible(e)?0:Eo(ji(e))}function vn(e){return _t(e)?e:hs(e,!1,Nr,vo,Hr)}function Ao(e){return hs(e,!1,po,Co,$r)}function jr(e){return hs(e,!0,ho,wo,Ur)}function hs(e,t,n,s,r){if(!ee(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=To(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function dt(e){return _t(e)?dt(e.__v_raw):!!(e&&e.__v_isReactive)}function _t(e){return!!(e&&e.__v_isReadonly)}function fn(e){return!!(e&&e.__v_isShallow)}function Br(e){return dt(e)||_t(e)}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function It(e){return ln(e,"__v_skip",!0),e}const Ht=e=>ee(e)?vn(e):e,ps=e=>ee(e)?jr(e):e;function gs(e){ke&&Ae&&(e=J(e),Mr(e.dep||(e.dep=cs())))}function ms(e,t){e=J(e);const n=e.dep;n&&Wn(n)}function ce(e){return!!(e&&e.__v_isRef===!0)}function ht(e){return Dr(e,!1)}function Ro(e){return Dr(e,!0)}function Dr(e,t){return ce(e)?e:new Po(e,t)}class Po{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:J(t),this._value=n?t:Ht(t)}get value(){return gs(this),this._value}set value(t){const n=this.__v_isShallow||fn(t)||_t(t);t=n?t:J(t),Nt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ht(t),ms(this))}}function Io(e){return ce(e)?e.value:e}const Oo={get:(e,t,n)=>Io(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ce(r)&&!ce(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Kr(e){return dt(e)?e:new Proxy(e,Oo)}class Fo{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>gs(this),()=>ms(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function Vc(e){return new Fo(e)}class Mo{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return eo(J(this._object),this._key)}}class So{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function zc(e,t,n){return ce(e)?e:D(e)?new So(e):ee(e)&&arguments.length>1?Lo(e,t,n):ht(e)}function Lo(e,t,n){const s=e[t];return ce(s)?s:new Mo(e,t,n)}class No{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new fs(t,()=>{this._dirty||(this._dirty=!0,ms(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=J(this);return gs(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Ho(e,t,n=!1){let s,r;const i=D(e);return i?(s=e,r=Pe):(s=e.get,r=e.set),new No(s,r,i||!r,n)}function We(e,t,n,s){let r;try{r=s?e(...s):e()}catch(i){Dt(i,t,n)}return r}function we(e,t,n,s){if(D(e)){const i=We(e,t,n,s);return i&&Er(i)&&i.catch(o=>{Dt(o,t,n)}),i}const r=[];for(let i=0;i>>1;Ut(ae[s])Me&&ae.splice(t,1)}function Bo(e){N(e)?pt.push(...e):(!Ne||!Ne.includes(e,e.allowRecurse?Qe+1:Qe))&&pt.push(e),qr()}function Us(e,t=$t?Me+1:0){for(;tUt(n)-Ut(s)),Qe=0;Qee.id==null?1/0:e.id,Do=(e,t)=>{const n=Ut(e)-Ut(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Vr(e){qn=!1,$t=!0,ae.sort(Do);const t=Pe;try{for(Me=0;Mese(C)?C.trim():C)),p&&(r=n.map(Bn))}let l,c=s[l=tn(t)]||s[l=tn(Se(t))];!c&&i&&(c=s[l=tn(it(t))]),c&&we(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,we(a,e,6,r)}}function zr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!D(e)){const c=a=>{const d=zr(a,t,!0);d&&(l=!0,oe(o,d))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(ee(e)&&s.set(e,null),null):(N(i)?i.forEach(c=>o[c]=null):oe(o,i),ee(e)&&s.set(e,o),o)}function wn(e,t){return!e||!Bt(t)?!1:(t=t.slice(2).replace(/Once$/,""),Y(e,t[0].toLowerCase()+t.slice(1))||Y(e,it(t))||Y(e,t))}let fe=null,xn=null;function un(e){const t=fe;return fe=e,xn=e&&e.type.__scopeId||null,t}function Yc(e){xn=e}function Jc(){xn=null}function ko(e,t=fe,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Zs(-1);const i=un(t);let o;try{o=e(...r)}finally{un(i),s._d&&Zs(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function Mn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:l,attrs:c,emit:a,render:d,renderCache:p,data:g,setupState:C,ctx:R,inheritAttrs:P}=e;let $,_;const y=un(e);try{if(n.shapeFlag&4){const I=r||s;$=Te(d.call(I,I,p,i,C,g,R)),_=c}else{const I=t;$=Te(I.length>1?I(i,{attrs:c,slots:l,emit:a}):I(i,null)),_=t.props?c:Wo(c)}}catch(I){St.length=0,Dt(I,e,1),$=re(be)}let H=$;if(_&&P!==!1){const I=Object.keys(_),{shapeFlag:K}=H;I.length&&K&7&&(o&&I.some(ns)&&(_=qo(_,o)),H=Ve(H,_))}return n.dirs&&(H=Ve(H),H.dirs=H.dirs?H.dirs.concat(n.dirs):n.dirs),n.transition&&(H.transition=n.transition),$=H,un(y),$}const Wo=e=>{let t;for(const n in e)(n==="class"||n==="style"||Bt(n))&&((t||(t={}))[n]=e[n]);return t},qo=(e,t)=>{const n={};for(const s in e)(!ns(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Vo(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?js(s,o,a):!!o;if(c&8){const d=t.dynamicProps;for(let p=0;pe.__isSuspense;function Yr(e,t){t&&t.pendingBranch?N(e)?t.effects.push(...e):t.effects.push(e):Bo(e)}function Jo(e,t){return En(e,null,t)}function Xc(e,t){return En(e,null,{flush:"post"})}const Xt={};function sn(e,t,n){return En(e,t,n)}function En(e,t,{immediate:n,deep:s,flush:r,onTrack:i,onTrigger:o}=te){var l;const c=Zi()===((l=le)==null?void 0:l.scope)?le:null;let a,d=!1,p=!1;if(ce(e)?(a=()=>e.value,d=fn(e)):dt(e)?(a=()=>e,s=!0):N(e)?(p=!0,d=e.some(I=>dt(I)||fn(I)),a=()=>e.map(I=>{if(ce(I))return I.value;if(dt(I))return tt(I);if(D(I))return We(I,c,2)})):D(e)?t?a=()=>We(e,c,2):a=()=>{if(!(c&&c.isUnmounted))return g&&g(),we(e,c,3,[C])}:a=Pe,t&&s){const I=a;a=()=>tt(I())}let g,C=I=>{g=y.onStop=()=>{We(I,c,4)}},R;if(vt)if(C=Pe,t?n&&we(t,c,3,[a(),p?[]:void 0,C]):a(),r==="sync"){const I=ql();R=I.__watcherHandles||(I.__watcherHandles=[])}else return Pe;let P=p?new Array(e.length).fill(Xt):Xt;const $=()=>{if(y.active)if(t){const I=y.run();(s||d||(p?I.some((K,V)=>Nt(K,P[V])):Nt(I,P)))&&(g&&g(),we(t,c,3,[I,P===Xt?void 0:p&&P[0]===Xt?[]:P,C]),P=I)}else y.run()};$.allowRecurse=!!t;let _;r==="sync"?_=$:r==="post"?_=()=>de($,c&&c.suspense):($.pre=!0,c&&($.id=c.uid),_=()=>Cn($));const y=new fs(a,_);t?n?$():P=y.run():r==="post"?de(y.run.bind(y),c&&c.suspense):y.run();const H=()=>{y.stop(),c&&c.scope&&ss(c.scope.effects,y)};return R&&R.push(H),H}function Xo(e,t,n){const s=this.proxy,r=se(e)?e.includes(".")?Jr(s,e):()=>s[e]:e.bind(s,s);let i;D(t)?i=t:(i=t.handler,n=t);const o=le;yt(this);const l=En(r,i.bind(s),n);return o?yt(o):rt(),l}function Jr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{tt(n,t)});else if(Ar(e))for(const n in e)tt(e[n],t);return e}function Zc(e,t){const n=fe;if(n===null)return e;const s=In(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let i=0;i{e.isMounted=!0}),ei(()=>{e.isUnmounting=!0}),e}const ye=[Function,Array],Xr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ye,onEnter:ye,onAfterEnter:ye,onEnterCancelled:ye,onBeforeLeave:ye,onLeave:ye,onAfterLeave:ye,onLeaveCancelled:ye,onBeforeAppear:ye,onAppear:ye,onAfterAppear:ye,onAppearCancelled:ye},Qo={name:"BaseTransition",props:Xr,setup(e,{slots:t}){const n=yi(),s=Zo();let r;return()=>{const i=t.default&&Qr(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const P of i)if(P.type!==be){o=P;break}}const l=J(e),{mode:c}=l;if(s.isLeaving)return Sn(o);const a=Bs(o);if(!a)return Sn(o);const d=Vn(a,l,s,n);zn(a,d);const p=n.subTree,g=p&&Bs(p);let C=!1;const{getTransitionKey:R}=a.type;if(R){const P=R();r===void 0?r=P:P!==r&&(r=P,C=!0)}if(g&&g.type!==be&&(!Ge(a,g)||C)){const P=Vn(g,l,s,n);if(zn(g,P),c==="out-in")return s.isLeaving=!0,P.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},Sn(o);c==="in-out"&&a.type!==be&&(P.delayLeave=($,_,y)=>{const H=Zr(s,g);H[String(g.key)]=g,$._leaveCb=()=>{_(),$._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=y})}return o}}},Go=Qo;function Zr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Vn(e,t,n,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:d,onBeforeLeave:p,onLeave:g,onAfterLeave:C,onLeaveCancelled:R,onBeforeAppear:P,onAppear:$,onAfterAppear:_,onAppearCancelled:y}=t,H=String(e.key),I=Zr(n,e),K=(E,j)=>{E&&we(E,s,9,j)},V=(E,j)=>{const U=j[1];K(E,j),N(E)?E.every(W=>W.length<=1)&&U():E.length<=1&&U()},k={mode:i,persisted:o,beforeEnter(E){let j=l;if(!n.isMounted)if(r)j=P||l;else return;E._leaveCb&&E._leaveCb(!0);const U=I[H];U&&Ge(e,U)&&U.el._leaveCb&&U.el._leaveCb(),K(j,[E])},enter(E){let j=c,U=a,W=d;if(!n.isMounted)if(r)j=$||c,U=_||a,W=y||d;else return;let O=!1;const q=E._enterCb=M=>{O||(O=!0,M?K(W,[E]):K(U,[E]),k.delayedLeave&&k.delayedLeave(),E._enterCb=void 0)};j?V(j,[E,q]):q()},leave(E,j){const U=String(e.key);if(E._enterCb&&E._enterCb(!0),n.isUnmounting)return j();K(p,[E]);let W=!1;const O=E._leaveCb=q=>{W||(W=!0,j(),q?K(R,[E]):K(C,[E]),E._leaveCb=void 0,I[U]===e&&delete I[U])};I[U]=e,g?V(g,[E,O]):O()},clone(E){return Vn(E,t,n,s)}};return k}function Sn(e){if(Kt(e))return e=Ve(e),e.children=null,e}function Bs(e){return Kt(e)?e.children?e.children[0]:void 0:e}function zn(e,t){e.shapeFlag&6&&e.component?zn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Qr(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;ioe({name:e.name},t,{setup:e}))():e}const gt=e=>!!e.type.__asyncLoader;function Qc(e){D(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,timeout:i,suspensible:o=!0,onError:l}=e;let c=null,a,d=0;const p=()=>(d++,c=null,g()),g=()=>{let C;return c||(C=c=t().catch(R=>{if(R=R instanceof Error?R:new Error(String(R)),l)return new Promise((P,$)=>{l(R,()=>P(p()),()=>$(R),d+1)});throw R}).then(R=>C!==c&&c?c:(R&&(R.__esModule||R[Symbol.toStringTag]==="Module")&&(R=R.default),a=R,R)))};return bs({name:"AsyncComponentWrapper",__asyncLoader:g,get __asyncResolved(){return a},setup(){const C=le;if(a)return()=>Ln(a,C);const R=y=>{c=null,Dt(y,C,13,!s)};if(o&&C.suspense||vt)return g().then(y=>()=>Ln(y,C)).catch(y=>(R(y),()=>s?re(s,{error:y}):null));const P=ht(!1),$=ht(),_=ht(!!r);return r&&setTimeout(()=>{_.value=!1},r),i!=null&&setTimeout(()=>{if(!P.value&&!$.value){const y=new Error(`Async component timed out after ${i}ms.`);R(y),$.value=y}},i),g().then(()=>{P.value=!0,C.parent&&Kt(C.parent.vnode)&&Cn(C.parent.update)}).catch(y=>{R(y),$.value=y}),()=>{if(P.value&&a)return Ln(a,C);if($.value&&s)return re(s,{error:$.value});if(n&&!_.value)return re(n)}}})}function Ln(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=re(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const Kt=e=>e.type.__isKeepAlive;function el(e,t){Gr(e,"a",t)}function tl(e,t){Gr(e,"da",t)}function Gr(e,t,n=le){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Tn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Kt(r.parent.vnode)&&nl(s,t,n,r),r=r.parent}}function nl(e,t,n,s){const r=Tn(t,e,s,!0);Rn(()=>{ss(s[t],r)},n)}function Tn(e,t,n=le,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;Ct(),yt(n);const l=we(t,n,e,o);return rt(),wt(),l});return s?r.unshift(i):r.push(i),i}}const $e=e=>(t,n=le)=>(!vt||e==="sp")&&Tn(e,(...s)=>t(...s),n),sl=$e("bm"),An=$e("m"),rl=$e("bu"),il=$e("u"),ei=$e("bum"),Rn=$e("um"),ol=$e("sp"),ll=$e("rtg"),cl=$e("rtc");function fl(e,t=le){Tn("ec",e,t)}const ys="components";function Gc(e,t){return ni(ys,e,!0,t)||e}const ti=Symbol.for("v-ndc");function ef(e){return se(e)?ni(ys,e,!1)||e:e||ti}function ni(e,t,n=!0,s=!1){const r=fe||le;if(r){const i=r.type;if(e===ys){const l=Kl(i,!1);if(l&&(l===t||l===Se(t)||l===bn(Se(t))))return i}const o=Ds(r[e]||i[e],t)||Ds(r.appContext[e],t);return!o&&s?i:o}}function Ds(e,t){return e&&(e[t]||e[Se(t)]||e[bn(Se(t))])}function tf(e,t,n,s){let r;const i=n&&n[s];if(N(e)||se(e)){r=new Array(e.length);for(let o=0,l=e.length;ot(o,l,void 0,i&&i[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,c=o.length;lgn(t)?!(t.type===be||t.type===he&&!si(t.children)):!0)?e:null}function sf(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:tn(s)]=e[s];return n}const Yn=e=>e?vi(e)?In(e)||e.proxy:Yn(e.parent):null,Ot=oe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Yn(e.parent),$root:e=>Yn(e.root),$emit:e=>e.emit,$options:e=>vs(e),$forceUpdate:e=>e.f||(e.f=()=>Cn(e.update)),$nextTick:e=>e.n||(e.n=Wr.bind(e.proxy)),$watch:e=>Xo.bind(e)}),Nn=(e,t)=>e!==te&&!e.__isScriptSetup&&Y(e,t),al={get({_:e},t){const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const C=o[t];if(C!==void 0)switch(C){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(Nn(s,t))return o[t]=1,s[t];if(r!==te&&Y(r,t))return o[t]=2,r[t];if((a=e.propsOptions[0])&&Y(a,t))return o[t]=3,i[t];if(n!==te&&Y(n,t))return o[t]=4,n[t];Jn&&(o[t]=0)}}const d=Ot[t];let p,g;if(d)return t==="$attrs"&&pe(e,"get",t),d(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(n!==te&&Y(n,t))return o[t]=4,n[t];if(g=c.config.globalProperties,Y(g,t))return g[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return Nn(r,t)?(r[t]=n,!0):s!==te&&Y(s,t)?(s[t]=n,!0):Y(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==te&&Y(e,o)||Nn(t,o)||(l=i[0])&&Y(l,o)||Y(s,o)||Y(Ot,o)||Y(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Y(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function rf(){return ul().slots}function ul(){const e=yi();return e.setupContext||(e.setupContext=wi(e))}function Ks(e){return N(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Jn=!0;function dl(e){const t=vs(e),n=e.proxy,s=e.ctx;Jn=!1,t.beforeCreate&&ks(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:a,created:d,beforeMount:p,mounted:g,beforeUpdate:C,updated:R,activated:P,deactivated:$,beforeDestroy:_,beforeUnmount:y,destroyed:H,unmounted:I,render:K,renderTracked:V,renderTriggered:k,errorCaptured:E,serverPrefetch:j,expose:U,inheritAttrs:W,components:O,directives:q,filters:M}=t;if(a&&hl(a,s,null),o)for(const ne in o){const Q=o[ne];D(Q)&&(s[ne]=Q.bind(n))}if(r){const ne=r.call(n,n);ee(ne)&&(e.data=vn(ne))}if(Jn=!0,i)for(const ne in i){const Q=i[ne],ze=D(Q)?Q.bind(n,n):D(Q.get)?Q.get.bind(n,n):Pe,kt=!D(Q)&&D(Q.set)?Q.set.bind(n):Pe,Ye=Ee({get:ze,set:kt});Object.defineProperty(s,ne,{enumerable:!0,configurable:!0,get:()=>Ye.value,set:Ie=>Ye.value=Ie})}if(l)for(const ne in l)ri(l[ne],s,n,ne);if(c){const ne=D(c)?c.call(n):c;Reflect.ownKeys(ne).forEach(Q=>{yl(Q,ne[Q])})}d&&ks(d,e,"c");function X(ne,Q){N(Q)?Q.forEach(ze=>ne(ze.bind(n))):Q&&ne(Q.bind(n))}if(X(sl,p),X(An,g),X(rl,C),X(il,R),X(el,P),X(tl,$),X(fl,E),X(cl,V),X(ll,k),X(ei,y),X(Rn,I),X(ol,j),N(U))if(U.length){const ne=e.exposed||(e.exposed={});U.forEach(Q=>{Object.defineProperty(ne,Q,{get:()=>n[Q],set:ze=>n[Q]=ze})})}else e.exposed||(e.exposed={});K&&e.render===Pe&&(e.render=K),W!=null&&(e.inheritAttrs=W),O&&(e.components=O),q&&(e.directives=q)}function hl(e,t,n=Pe){N(e)&&(e=Xn(e));for(const s in e){const r=e[s];let i;ee(r)?"default"in r?i=mt(r.from||s,r.default,!0):i=mt(r.from||s):i=mt(r),ce(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function ks(e,t,n){we(N(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function ri(e,t,n,s){const r=s.includes(".")?Jr(n,s):()=>n[s];if(se(e)){const i=t[e];D(i)&&sn(r,i)}else if(D(e))sn(r,e.bind(n));else if(ee(e))if(N(e))e.forEach(i=>ri(i,t,n,s));else{const i=D(e.handler)?e.handler.bind(n):t[e.handler];D(i)&&sn(r,i,e)}}function vs(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>dn(c,a,o,!0)),dn(c,t,o)),ee(t)&&i.set(t,c),c}function dn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&dn(e,i,n,!0),r&&r.forEach(o=>dn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=pl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const pl={data:Ws,props:qs,emits:qs,methods:Rt,computed:Rt,beforeCreate:ue,created:ue,beforeMount:ue,mounted:ue,beforeUpdate:ue,updated:ue,beforeDestroy:ue,beforeUnmount:ue,destroyed:ue,unmounted:ue,activated:ue,deactivated:ue,errorCaptured:ue,serverPrefetch:ue,components:Rt,directives:Rt,watch:ml,provide:Ws,inject:gl};function Ws(e,t){return t?e?function(){return oe(D(e)?e.call(this,this):e,D(t)?t.call(this,this):t)}:t:e}function gl(e,t){return Rt(Xn(e),Xn(t))}function Xn(e){if(N(e)){const t={};for(let n=0;n1)return n&&D(t)?t.call(s&&s.proxy):t}}function vl(e,t,n,s=!1){const r={},i={};ln(i,Pn,1),e.propsDefaults=Object.create(null),oi(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:Ao(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Cl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=J(r),[c]=e.propsOptions;let a=!1;if((s||o>0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let p=0;p{c=!0;const[g,C]=li(p,t,!0);oe(o,g),C&&l.push(...C)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!c)return ee(e)&&s.set(e,at),at;if(N(i))for(let d=0;d-1,C[1]=P<0||R-1||Y(C,"default"))&&l.push(p)}}}const a=[o,l];return ee(e)&&s.set(e,a),a}function Vs(e){return e[0]!=="$"}function zs(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Ys(e,t){return zs(e)===zs(t)}function Js(e,t){return N(t)?t.findIndex(n=>Ys(n,e)):D(t)&&Ys(t,e)?0:-1}const ci=e=>e[0]==="_"||e==="$stable",Cs=e=>N(e)?e.map(Te):[Te(e)],wl=(e,t,n)=>{if(t._n)return t;const s=ko((...r)=>Cs(t(...r)),n);return s._c=!1,s},fi=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ci(r))continue;const i=e[r];if(D(i))t[r]=wl(r,i,s);else if(i!=null){const o=Cs(i);t[r]=()=>o}}},ai=(e,t)=>{const n=Cs(t);e.slots.default=()=>n},xl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=J(t),ln(t,"_",n)):fi(t,e.slots={})}else e.slots={},t&&ai(e,t);ln(e.slots,Pn,1)},El=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=te;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(oe(r,t),!n&&l===1&&delete r._):(i=!t.$stable,fi(t,r)),o=t}else t&&(ai(e,t),o={default:1});if(i)for(const l in r)!ci(l)&&!(l in o)&&delete r[l]};function pn(e,t,n,s,r=!1){if(N(e)){e.forEach((g,C)=>pn(g,t&&(N(t)?t[C]:t),n,s,r));return}if(gt(s)&&!r)return;const i=s.shapeFlag&4?In(s.component)||s.component.proxy:s.el,o=r?null:i,{i:l,r:c}=e,a=t&&t.r,d=l.refs===te?l.refs={}:l.refs,p=l.setupState;if(a!=null&&a!==c&&(se(a)?(d[a]=null,Y(p,a)&&(p[a]=null)):ce(a)&&(a.value=null)),D(c))We(c,l,12,[o,d]);else{const g=se(c),C=ce(c);if(g||C){const R=()=>{if(e.f){const P=g?Y(p,c)?p[c]:d[c]:c.value;r?N(P)&&ss(P,i):N(P)?P.includes(i)||P.push(i):g?(d[c]=[i],Y(p,c)&&(p[c]=d[c])):(c.value=[i],e.k&&(d[e.k]=c.value))}else g?(d[c]=o,Y(p,c)&&(p[c]=o)):C&&(c.value=o,e.k&&(d[e.k]=o))};o?(R.id=-1,de(R,n)):R()}}}let je=!1;const Zt=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Qt=e=>e.nodeType===8;function Tl(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:a}}=e,d=(_,y)=>{if(!y.hasChildNodes()){n(null,_,y),an(),y._vnode=_;return}je=!1,p(y.firstChild,_,null,null,null),an(),y._vnode=_,je&&console.error("Hydration completed but contains mismatches.")},p=(_,y,H,I,K,V=!1)=>{const k=Qt(_)&&_.data==="[",E=()=>P(_,y,H,I,K,k),{type:j,ref:U,shapeFlag:W,patchFlag:O}=y;let q=_.nodeType;y.el=_,O===-2&&(V=!1,y.dynamicChildren=null);let M=null;switch(j){case bt:q!==3?y.children===""?(c(y.el=r(""),o(_),_),M=_):M=E():(_.data!==y.children&&(je=!0,_.data=y.children),M=i(_));break;case be:q!==8||k?M=E():M=i(_);break;case Mt:if(k&&(_=i(_),q=_.nodeType),q===1||q===3){M=_;const ge=!y.children.length;for(let X=0;X{V=V||!!y.dynamicChildren;const{type:k,props:E,patchFlag:j,shapeFlag:U,dirs:W}=y,O=k==="input"&&W||k==="option";if(O||j!==-1){if(W&&Fe(y,null,H,"created"),E)if(O||!V||j&48)for(const M in E)(O&&M.endsWith("value")||Bt(M)&&!Pt(M))&&s(_,M,null,E[M],!1,void 0,H);else E.onClick&&s(_,"onClick",null,E.onClick,!1,void 0,H);let q;if((q=E&&E.onVnodeBeforeMount)&&ve(q,H,y),W&&Fe(y,null,H,"beforeMount"),((q=E&&E.onVnodeMounted)||W)&&Yr(()=>{q&&ve(q,H,y),W&&Fe(y,null,H,"mounted")},I),U&16&&!(E&&(E.innerHTML||E.textContent))){let M=C(_.firstChild,y,_,H,I,K,V);for(;M;){je=!0;const ge=M;M=M.nextSibling,l(ge)}}else U&8&&_.textContent!==y.children&&(je=!0,_.textContent=y.children)}return _.nextSibling},C=(_,y,H,I,K,V,k)=>{k=k||!!y.dynamicChildren;const E=y.children,j=E.length;for(let U=0;U{const{slotScopeIds:k}=y;k&&(K=K?K.concat(k):k);const E=o(_),j=C(i(_),y,E,H,I,K,V);return j&&Qt(j)&&j.data==="]"?i(y.anchor=j):(je=!0,c(y.anchor=a("]"),E,j),j)},P=(_,y,H,I,K,V)=>{if(je=!0,y.el=null,V){const j=$(_);for(;;){const U=i(_);if(U&&U!==j)l(U);else break}}const k=i(_),E=o(_);return l(_),n(null,y,E,k,H,I,Zt(E),K),k},$=_=>{let y=0;for(;_;)if(_=i(_),_&&Qt(_)&&(_.data==="["&&y++,_.data==="]")){if(y===0)return i(_);y--}return _};return[d,p]}const de=Yr;function Al(e){return ui(e)}function Rl(e){return ui(e,Tl)}function ui(e,t){const n=Dn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:a,setElementText:d,parentNode:p,nextSibling:g,setScopeId:C=Pe,insertStaticContent:R}=e,P=(f,u,h,b=null,m=null,x=null,A=!1,w=null,T=!!u.dynamicChildren)=>{if(f===u)return;f&&!Ge(f,u)&&(b=Wt(f),Ie(f,m,x,!0),f=null),u.patchFlag===-2&&(T=!1,u.dynamicChildren=null);const{type:v,ref:S,shapeFlag:F}=u;switch(v){case bt:$(f,u,h,b);break;case be:_(f,u,h,b);break;case Mt:f==null&&y(u,h,b,A);break;case he:O(f,u,h,b,m,x,A,w,T);break;default:F&1?K(f,u,h,b,m,x,A,w,T):F&6?q(f,u,h,b,m,x,A,w,T):(F&64||F&128)&&v.process(f,u,h,b,m,x,A,w,T,ot)}S!=null&&m&&pn(S,f&&f.ref,x,u||f,!u)},$=(f,u,h,b)=>{if(f==null)s(u.el=l(u.children),h,b);else{const m=u.el=f.el;u.children!==f.children&&a(m,u.children)}},_=(f,u,h,b)=>{f==null?s(u.el=c(u.children||""),h,b):u.el=f.el},y=(f,u,h,b)=>{[f.el,f.anchor]=R(f.children,u,h,b,f.el,f.anchor)},H=({el:f,anchor:u},h,b)=>{let m;for(;f&&f!==u;)m=g(f),s(f,h,b),f=m;s(u,h,b)},I=({el:f,anchor:u})=>{let h;for(;f&&f!==u;)h=g(f),r(f),f=h;r(u)},K=(f,u,h,b,m,x,A,w,T)=>{A=A||u.type==="svg",f==null?V(u,h,b,m,x,A,w,T):j(f,u,m,x,A,w,T)},V=(f,u,h,b,m,x,A,w)=>{let T,v;const{type:S,props:F,shapeFlag:L,transition:B,dirs:z}=f;if(T=f.el=o(f.type,x,F&&F.is,F),L&8?d(T,f.children):L&16&&E(f.children,T,null,b,m,x&&S!=="foreignObject",A,w),z&&Fe(f,null,b,"created"),k(T,f,f.scopeId,A,b),F){for(const Z in F)Z!=="value"&&!Pt(Z)&&i(T,Z,null,F[Z],x,f.children,b,m,Le);"value"in F&&i(T,"value",null,F.value),(v=F.onVnodeBeforeMount)&&ve(v,b,f)}z&&Fe(f,null,b,"beforeMount");const G=(!m||m&&!m.pendingBranch)&&B&&!B.persisted;G&&B.beforeEnter(T),s(T,u,h),((v=F&&F.onVnodeMounted)||G||z)&&de(()=>{v&&ve(v,b,f),G&&B.enter(T),z&&Fe(f,null,b,"mounted")},m)},k=(f,u,h,b,m)=>{if(h&&C(f,h),b)for(let x=0;x{for(let v=T;v{const w=u.el=f.el;let{patchFlag:T,dynamicChildren:v,dirs:S}=u;T|=f.patchFlag&16;const F=f.props||te,L=u.props||te;let B;h&&Je(h,!1),(B=L.onVnodeBeforeUpdate)&&ve(B,h,u,f),S&&Fe(u,f,h,"beforeUpdate"),h&&Je(h,!0);const z=m&&u.type!=="foreignObject";if(v?U(f.dynamicChildren,v,w,h,b,z,x):A||Q(f,u,w,null,h,b,z,x,!1),T>0){if(T&16)W(w,u,F,L,h,b,m);else if(T&2&&F.class!==L.class&&i(w,"class",null,L.class,m),T&4&&i(w,"style",F.style,L.style,m),T&8){const G=u.dynamicProps;for(let Z=0;Z{B&&ve(B,h,u,f),S&&Fe(u,f,h,"updated")},b)},U=(f,u,h,b,m,x,A)=>{for(let w=0;w{if(h!==b){if(h!==te)for(const w in h)!Pt(w)&&!(w in b)&&i(f,w,h[w],null,A,u.children,m,x,Le);for(const w in b){if(Pt(w))continue;const T=b[w],v=h[w];T!==v&&w!=="value"&&i(f,w,v,T,A,u.children,m,x,Le)}"value"in b&&i(f,"value",h.value,b.value)}},O=(f,u,h,b,m,x,A,w,T)=>{const v=u.el=f?f.el:l(""),S=u.anchor=f?f.anchor:l("");let{patchFlag:F,dynamicChildren:L,slotScopeIds:B}=u;B&&(w=w?w.concat(B):B),f==null?(s(v,h,b),s(S,h,b),E(u.children,h,S,m,x,A,w,T)):F>0&&F&64&&L&&f.dynamicChildren?(U(f.dynamicChildren,L,h,m,x,A,w),(u.key!=null||m&&u===m.subTree)&&ws(f,u,!0)):Q(f,u,h,S,m,x,A,w,T)},q=(f,u,h,b,m,x,A,w,T)=>{u.slotScopeIds=w,f==null?u.shapeFlag&512?m.ctx.activate(u,h,b,A,T):M(u,h,b,m,x,A,T):ge(f,u,T)},M=(f,u,h,b,m,x,A)=>{const w=f.component=Ul(f,b,m);if(Kt(f)&&(w.ctx.renderer=ot),jl(w),w.asyncDep){if(m&&m.registerDep(w,X),!f.el){const T=w.subTree=re(be);_(null,T,u,h)}return}X(w,f,u,h,m,x,A)},ge=(f,u,h)=>{const b=u.component=f.component;if(Vo(f,u,h))if(b.asyncDep&&!b.asyncResolved){ne(b,u,h);return}else b.next=u,jo(b.update),b.update();else u.el=f.el,b.vnode=u},X=(f,u,h,b,m,x,A)=>{const w=()=>{if(f.isMounted){let{next:S,bu:F,u:L,parent:B,vnode:z}=f,G=S,Z;Je(f,!1),S?(S.el=z.el,ne(f,S,A)):S=z,F&&nn(F),(Z=S.props&&S.props.onVnodeBeforeUpdate)&&ve(Z,B,S,z),Je(f,!0);const ie=Mn(f),xe=f.subTree;f.subTree=ie,P(xe,ie,p(xe.el),Wt(xe),f,m,x),S.el=ie.el,G===null&&zo(f,ie.el),L&&de(L,m),(Z=S.props&&S.props.onVnodeUpdated)&&de(()=>ve(Z,B,S,z),m)}else{let S;const{el:F,props:L}=u,{bm:B,m:z,parent:G}=f,Z=gt(u);if(Je(f,!1),B&&nn(B),!Z&&(S=L&&L.onVnodeBeforeMount)&&ve(S,G,u),Je(f,!0),F&&Fn){const ie=()=>{f.subTree=Mn(f),Fn(F,f.subTree,f,m,null)};Z?u.type.__asyncLoader().then(()=>!f.isUnmounted&&ie()):ie()}else{const ie=f.subTree=Mn(f);P(null,ie,h,b,f,m,x),u.el=ie.el}if(z&&de(z,m),!Z&&(S=L&&L.onVnodeMounted)){const ie=u;de(()=>ve(S,G,ie),m)}(u.shapeFlag&256||G&>(G.vnode)&&G.vnode.shapeFlag&256)&&f.a&&de(f.a,m),f.isMounted=!0,u=h=b=null}},T=f.effect=new fs(w,()=>Cn(v),f.scope),v=f.update=()=>T.run();v.id=f.uid,Je(f,!0),v()},ne=(f,u,h)=>{u.component=f;const b=f.vnode.props;f.vnode=u,f.next=null,Cl(f,u.props,b,h),El(f,u.children,h),Ct(),Us(),wt()},Q=(f,u,h,b,m,x,A,w,T=!1)=>{const v=f&&f.children,S=f?f.shapeFlag:0,F=u.children,{patchFlag:L,shapeFlag:B}=u;if(L>0){if(L&128){kt(v,F,h,b,m,x,A,w,T);return}else if(L&256){ze(v,F,h,b,m,x,A,w,T);return}}B&8?(S&16&&Le(v,m,x),F!==v&&d(h,F)):S&16?B&16?kt(v,F,h,b,m,x,A,w,T):Le(v,m,x,!0):(S&8&&d(h,""),B&16&&E(F,h,b,m,x,A,w,T))},ze=(f,u,h,b,m,x,A,w,T)=>{f=f||at,u=u||at;const v=f.length,S=u.length,F=Math.min(v,S);let L;for(L=0;LS?Le(f,m,x,!0,!1,F):E(u,h,b,m,x,A,w,T,F)},kt=(f,u,h,b,m,x,A,w,T)=>{let v=0;const S=u.length;let F=f.length-1,L=S-1;for(;v<=F&&v<=L;){const B=f[v],z=u[v]=T?Ke(u[v]):Te(u[v]);if(Ge(B,z))P(B,z,h,null,m,x,A,w,T);else break;v++}for(;v<=F&&v<=L;){const B=f[F],z=u[L]=T?Ke(u[L]):Te(u[L]);if(Ge(B,z))P(B,z,h,null,m,x,A,w,T);else break;F--,L--}if(v>F){if(v<=L){const B=L+1,z=BL)for(;v<=F;)Ie(f[v],m,x,!0),v++;else{const B=v,z=v,G=new Map;for(v=z;v<=L;v++){const me=u[v]=T?Ke(u[v]):Te(u[v]);me.key!=null&&G.set(me.key,v)}let Z,ie=0;const xe=L-z+1;let lt=!1,Rs=0;const xt=new Array(xe);for(v=0;v=xe){Ie(me,m,x,!0);continue}let Oe;if(me.key!=null)Oe=G.get(me.key);else for(Z=z;Z<=L;Z++)if(xt[Z-z]===0&&Ge(me,u[Z])){Oe=Z;break}Oe===void 0?Ie(me,m,x,!0):(xt[Oe-z]=v+1,Oe>=Rs?Rs=Oe:lt=!0,P(me,u[Oe],h,null,m,x,A,w,T),ie++)}const Ps=lt?Pl(xt):at;for(Z=Ps.length-1,v=xe-1;v>=0;v--){const me=z+v,Oe=u[me],Is=me+1{const{el:x,type:A,transition:w,children:T,shapeFlag:v}=f;if(v&6){Ye(f.component.subTree,u,h,b);return}if(v&128){f.suspense.move(u,h,b);return}if(v&64){A.move(f,u,h,ot);return}if(A===he){s(x,u,h);for(let F=0;Fw.enter(x),m);else{const{leave:F,delayLeave:L,afterLeave:B}=w,z=()=>s(x,u,h),G=()=>{F(x,()=>{z(),B&&B()})};L?L(x,z,G):G()}else s(x,u,h)},Ie=(f,u,h,b=!1,m=!1)=>{const{type:x,props:A,ref:w,children:T,dynamicChildren:v,shapeFlag:S,patchFlag:F,dirs:L}=f;if(w!=null&&pn(w,null,h,f,!0),S&256){u.ctx.deactivate(f);return}const B=S&1&&L,z=!gt(f);let G;if(z&&(G=A&&A.onVnodeBeforeUnmount)&&ve(G,u,f),S&6)Ni(f.component,h,b);else{if(S&128){f.suspense.unmount(h,b);return}B&&Fe(f,null,u,"beforeUnmount"),S&64?f.type.remove(f,u,h,m,ot,b):v&&(x!==he||F>0&&F&64)?Le(v,u,h,!1,!0):(x===he&&F&384||!m&&S&16)&&Le(T,u,h),b&&Ts(f)}(z&&(G=A&&A.onVnodeUnmounted)||B)&&de(()=>{G&&ve(G,u,f),B&&Fe(f,null,u,"unmounted")},h)},Ts=f=>{const{type:u,el:h,anchor:b,transition:m}=f;if(u===he){Li(h,b);return}if(u===Mt){I(f);return}const x=()=>{r(h),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(f.shapeFlag&1&&m&&!m.persisted){const{leave:A,delayLeave:w}=m,T=()=>A(h,x);w?w(f.el,x,T):T()}else x()},Li=(f,u)=>{let h;for(;f!==u;)h=g(f),r(f),f=h;r(u)},Ni=(f,u,h)=>{const{bum:b,scope:m,update:x,subTree:A,um:w}=f;b&&nn(b),m.stop(),x&&(x.active=!1,Ie(A,f,u,h)),w&&de(w,u),de(()=>{f.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&f.asyncDep&&!f.asyncResolved&&f.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Le=(f,u,h,b=!1,m=!1,x=0)=>{for(let A=x;Af.shapeFlag&6?Wt(f.component.subTree):f.shapeFlag&128?f.suspense.next():g(f.anchor||f.el),As=(f,u,h)=>{f==null?u._vnode&&Ie(u._vnode,null,null,!0):P(u._vnode||null,f,u,null,null,null,h),Us(),an(),u._vnode=f},ot={p:P,um:Ie,m:Ye,r:Ts,mt:M,mc:E,pc:Q,pbc:U,n:Wt,o:e};let On,Fn;return t&&([On,Fn]=t(ot)),{render:As,hydrate:On,createApp:bl(As,On)}}function Je({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ws(e,t,n=!1){const s=e.children,r=t.children;if(N(s)&&N(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}const Il=e=>e.__isTeleport,Ft=e=>e&&(e.disabled||e.disabled===""),Xs=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Qn=(e,t)=>{const n=e&&e.to;return se(n)?t?t(n):null:n},Ol={__isTeleport:!0,process(e,t,n,s,r,i,o,l,c,a){const{mc:d,pc:p,pbc:g,o:{insert:C,querySelector:R,createText:P,createComment:$}}=a,_=Ft(t.props);let{shapeFlag:y,children:H,dynamicChildren:I}=t;if(e==null){const K=t.el=P(""),V=t.anchor=P("");C(K,n,s),C(V,n,s);const k=t.target=Qn(t.props,R),E=t.targetAnchor=P("");k&&(C(E,k),o=o||Xs(k));const j=(U,W)=>{y&16&&d(H,U,W,r,i,o,l,c)};_?j(n,V):k&&j(k,E)}else{t.el=e.el;const K=t.anchor=e.anchor,V=t.target=e.target,k=t.targetAnchor=e.targetAnchor,E=Ft(e.props),j=E?n:V,U=E?K:k;if(o=o||Xs(V),I?(g(e.dynamicChildren,I,j,r,i,o,l),ws(e,t,!0)):c||p(e,t,j,U,r,i,o,l,!1),_)E||Gt(t,n,K,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const W=t.target=Qn(t.props,R);W&&Gt(t,W,null,a,0)}else E&&Gt(t,V,k,a,1)}di(t)},remove(e,t,n,s,{um:r,o:{remove:i}},o){const{shapeFlag:l,children:c,anchor:a,targetAnchor:d,target:p,props:g}=e;if(p&&i(d),(o||!Ft(g))&&(i(a),l&16))for(let C=0;C0?Re||at:null,Ml(),jt>0&&Re&&Re.push(e),e}function lf(e,t,n,s,r,i){return pi(_i(e,t,n,s,r,i,!0))}function gi(e,t,n,s,r){return pi(re(e,t,n,s,r,!0))}function gn(e){return e?e.__v_isVNode===!0:!1}function Ge(e,t){return e.type===t.type&&e.key===t.key}const Pn="__vInternal",mi=({key:e})=>e??null,rn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?se(e)||ce(e)||D(e)?{i:fe,r:e,k:t,f:!!n}:e:null);function _i(e,t=null,n=null,s=0,r=null,i=e===he?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&mi(t),ref:t&&rn(t),scopeId:xn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:fe};return l?(xs(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=se(n)?8:16),jt>0&&!o&&Re&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Re.push(c),c}const re=Sl;function Sl(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===ti)&&(e=be),gn(e)){const l=Ve(e,t,!0);return n&&xs(l,n),jt>0&&!i&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(kl(e)&&(e=e.__vccOpts),t){t=Ll(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=ls(l)),ee(c)&&(Br(c)&&!N(c)&&(c=oe({},c)),t.style=os(c))}const o=se(e)?1:Yo(e)?128:Il(e)?64:ee(e)?4:D(e)?2:0;return _i(e,t,n,s,r,o,i,!0)}function Ll(e){return e?Br(e)||Pn in e?oe({},e):e:null}function Ve(e,t,n=!1){const{props:s,ref:r,patchFlag:i,children:o}=e,l=t?Nl(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&mi(l),ref:t&&t.ref?n&&r?N(r)?r.concat(rn(t)):[r,rn(t)]:rn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==he?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ve(e.ssContent),ssFallback:e.ssFallback&&Ve(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function bi(e=" ",t=0){return re(bt,null,e,t)}function cf(e,t){const n=re(Mt,null,e);return n.staticCount=t,n}function ff(e="",t=!1){return t?(hi(),gi(be,null,e)):re(be,null,e)}function Te(e){return e==null||typeof e=="boolean"?re(be):N(e)?re(he,null,e.slice()):typeof e=="object"?Ke(e):re(bt,null,String(e))}function Ke(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ve(e)}function xs(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(N(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),xs(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Pn in t)?t._ctx=fe:r===3&&fe&&(fe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else D(t)?(t={default:t,_ctx:fe},n=32):(t=String(t),s&64?(n=16,t=[bi(t)]):n=8);e.children=t,e.shapeFlag|=n}function Nl(...e){const t={};for(let n=0;nle||fe;let Es,ct,Qs="__VUE_INSTANCE_SETTERS__";(ct=Dn()[Qs])||(ct=Dn()[Qs]=[]),ct.push(e=>le=e),Es=e=>{ct.length>1?ct.forEach(t=>t(e)):ct[0](e)};const yt=e=>{Es(e),e.scope.on()},rt=()=>{le&&le.scope.off(),Es(null)};function vi(e){return e.vnode.shapeFlag&4}let vt=!1;function jl(e,t=!1){vt=t;const{props:n,children:s}=e.vnode,r=vi(e);vl(e,n,r,t),xl(e,s);const i=r?Bl(e,t):void 0;return vt=!1,i}function Bl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=It(new Proxy(e.ctx,al));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?wi(e):null;yt(e),Ct();const i=We(s,e,0,[e.props,r]);if(wt(),rt(),Er(i)){if(i.then(rt,rt),t)return i.then(o=>{Gs(e,o,t)}).catch(o=>{Dt(o,e,0)});e.asyncDep=i}else Gs(e,i,t)}else Ci(e,t)}function Gs(e,t,n){D(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ee(t)&&(e.setupState=Kr(t)),Ci(e,n)}let er;function Ci(e,t,n){const s=e.type;if(!e.render){if(!t&&er&&!s.render){const r=s.template||vs(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,a=oe(oe({isCustomElement:i,delimiters:l},o),c);s.render=er(r,a)}}e.render=s.render||Pe}yt(e),Ct(),dl(e),wt(),rt()}function Dl(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return pe(e,"get","$attrs"),t[n]}}))}function wi(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Dl(e)},slots:e.slots,emit:e.emit,expose:t}}function In(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Kr(It(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ot)return Ot[n](e)},has(t,n){return n in t||n in Ot}}))}function Kl(e,t=!0){return D(e)?e.displayName||e.name:e.name||t&&e.__name}function kl(e){return D(e)&&"__vccOpts"in e}const Ee=(e,t)=>Ho(e,t,vt);function Gn(e,t,n){const s=arguments.length;return s===2?ee(t)&&!N(t)?gn(t)?re(e,null,[t]):re(e,t):re(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&gn(n)&&(n=[n]),re(e,t,n))}const Wl=Symbol.for("v-scx"),ql=()=>mt(Wl),Vl="3.3.4",zl="http://www.w3.org/2000/svg",et=typeof document<"u"?document:null,tr=et&&et.createElement("template"),Yl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?et.createElementNS(zl,e):et.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>et.createTextNode(e),createComment:e=>et.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>et.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{tr.innerHTML=s?`${e}`:e;const l=tr.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Jl(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Xl(e,t,n){const s=e.style,r=se(n);if(n&&!r){if(t&&!se(t))for(const i in t)n[i]==null&&es(s,i,"");for(const i in n)es(s,i,n[i])}else{const i=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=i)}}const nr=/\s*!important$/;function es(e,t,n){if(N(n))n.forEach(s=>es(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Zl(e,t);nr.test(n)?e.setProperty(it(s),n.replace(nr,""),"important"):e[s]=n}}const sr=["Webkit","Moz","ms"],Hn={};function Zl(e,t){const n=Hn[t];if(n)return n;let s=Se(t);if(s!=="filter"&&s in e)return Hn[t]=s;s=bn(s);for(let r=0;r$n||(sc.then(()=>$n=0),$n=Date.now());function ic(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;we(oc(s,n.value),t,5,[s])};return n.value=e,n.attached=rc(),n}function oc(e,t){if(N(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const or=/^on[a-z]/,lc=(e,t,n,s,r=!1,i,o,l,c)=>{t==="class"?Jl(e,s,r):t==="style"?Xl(e,n,s):Bt(t)?ns(t)||tc(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):cc(e,t,s,r))?Gl(e,t,s,i,o,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ql(e,t,s,r))};function cc(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&or.test(t)&&D(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||or.test(t)&&se(n)?!1:t in e}const Be="transition",Et="animation",xi=(e,{slots:t})=>Gn(Go,fc(e),t);xi.displayName="Transition";const Ei={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};xi.props=oe({},Xr,Ei);const Xe=(e,t=[])=>{N(e)?e.forEach(n=>n(...t)):e&&e(...t)},lr=e=>e?N(e)?e.some(t=>t.length>1):e.length>1:!1;function fc(e){const t={};for(const O in e)O in Ei||(t[O]=e[O]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:a=o,appearToClass:d=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:g=`${n}-leave-active`,leaveToClass:C=`${n}-leave-to`}=e,R=ac(r),P=R&&R[0],$=R&&R[1],{onBeforeEnter:_,onEnter:y,onEnterCancelled:H,onLeave:I,onLeaveCancelled:K,onBeforeAppear:V=_,onAppear:k=y,onAppearCancelled:E=H}=t,j=(O,q,M)=>{Ze(O,q?d:l),Ze(O,q?a:o),M&&M()},U=(O,q)=>{O._isLeaving=!1,Ze(O,p),Ze(O,C),Ze(O,g),q&&q()},W=O=>(q,M)=>{const ge=O?k:y,X=()=>j(q,O,M);Xe(ge,[q,X]),cr(()=>{Ze(q,O?c:i),De(q,O?d:l),lr(ge)||fr(q,s,P,X)})};return oe(t,{onBeforeEnter(O){Xe(_,[O]),De(O,i),De(O,o)},onBeforeAppear(O){Xe(V,[O]),De(O,c),De(O,a)},onEnter:W(!1),onAppear:W(!0),onLeave(O,q){O._isLeaving=!0;const M=()=>U(O,q);De(O,p),hc(),De(O,g),cr(()=>{O._isLeaving&&(Ze(O,p),De(O,C),lr(I)||fr(O,s,$,M))}),Xe(I,[O,M])},onEnterCancelled(O){j(O,!1),Xe(H,[O])},onAppearCancelled(O){j(O,!0),Xe(E,[O])},onLeaveCancelled(O){U(O),Xe(K,[O])}})}function ac(e){if(e==null)return null;if(ee(e))return[Un(e.enter),Un(e.leave)];{const t=Un(e);return[t,t]}}function Un(e){return Ki(e)}function De(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Ze(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function cr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let uc=0;function fr(e,t,n,s){const r=e._endId=++uc,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=dc(e,t);if(!o)return s();const a=o+"end";let d=0;const p=()=>{e.removeEventListener(a,g),i()},g=C=>{C.target===e&&++d>=c&&p()};setTimeout(()=>{d(n[R]||"").split(", "),r=s(`${Be}Delay`),i=s(`${Be}Duration`),o=ar(r,i),l=s(`${Et}Delay`),c=s(`${Et}Duration`),a=ar(l,c);let d=null,p=0,g=0;t===Be?o>0&&(d=Be,p=o,g=i.length):t===Et?a>0&&(d=Et,p=a,g=c.length):(p=Math.max(o,a),d=p>0?o>a?Be:Et:null,g=d?d===Be?i.length:c.length:0);const C=d===Be&&/\b(transform|all)(,|$)/.test(s(`${Be}Property`).toString());return{type:d,timeout:p,propCount:g,hasTransform:C}}function ar(e,t){for(;e.lengthur(n)+ur(e[s])))}function ur(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function hc(){return document.body.offsetHeight}const dr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return N(t)?n=>nn(t,n):t};function pc(e){e.target.composing=!0}function hr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const af={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e._assign=dr(r);const i=s||r.props&&r.props.type==="number";ft(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),i&&(l=Bn(l)),e._assign(l)}),n&&ft(e,"change",()=>{e.value=e.value.trim()}),t||(ft(e,"compositionstart",pc),ft(e,"compositionend",hr),ft(e,"change",hr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:r}},i){if(e._assign=dr(i),e.composing||document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===t||(r||e.type==="number")&&Bn(e.value)===t))return;const o=t??"";e.value!==o&&(e.value=o)}},gc=["ctrl","shift","alt","meta"],mc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>gc.some(n=>e[`${n}Key`]&&!t.includes(n))},uf=(e,t)=>(n,...s)=>{for(let r=0;rn=>{if(!("key"in n))return;const s=it(n.key);if(t.some(r=>r===s||_c[r]===s))return e(n)},hf={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Tt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Tt(e,!0),s.enter(e)):s.leave(e,()=>{Tt(e,!1)}):Tt(e,t))},beforeUnmount(e,{value:t}){Tt(e,t)}};function Tt(e,t){e.style.display=t?e._vod:"none"}const Ti=oe({patchProp:lc},Yl);let Lt,pr=!1;function bc(){return Lt||(Lt=Al(Ti))}function yc(){return Lt=pr?Lt:Rl(Ti),pr=!0,Lt}const pf=(...e)=>{const t=bc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Ai(s);if(!r)return;const i=t._component;!D(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const o=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t},gf=(...e)=>{const t=yc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Ai(s);if(r)return n(r,!0,r instanceof SVGElement)},t};function Ai(e){return se(e)?document.querySelector(e):e}const mf=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},vc="modulepreload",Cc=function(e){return"/q-ui/"+e},gr={},_f=function(t,n,s){if(!n||n.length===0)return t();const r=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=Cc(i),i in gr)return;gr[i]=!0;const o=i.endsWith(".css"),l=o?'[rel="stylesheet"]':"";if(!!s)for(let d=r.length-1;d>=0;d--){const p=r[d];if(p.href===i&&(!o||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${l}`))return;const a=document.createElement("link");if(a.rel=o?"stylesheet":vc,o||(a.as="script",a.crossOrigin=""),a.href=i,document.head.appendChild(a),o)return new Promise((d,p)=>{a.addEventListener("load",d),a.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())},wc=window.__VP_SITE_DATA__,Ri=/^[a-z]+:/i,bf=/^pathname:\/\//,yf="vitepress-theme-appearance",Pi=/#.*$/,xc=/(index)?\.(md|html)$/,Ce=typeof document<"u",Ii={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Ec(e,t,n=!1){if(t===void 0)return!1;if(e=mr(`/${e}`),n)return new RegExp(t).test(e);if(mr(t)!==e)return!1;const s=t.match(Pi);return s?(Ce?location.hash:"")===s[0]:!0}function mr(e){return decodeURI(e).replace(Pi,"").replace(xc,"")}function Tc(e){return Ri.test(e)}function Ac(e,t){var s,r,i,o,l,c,a;const n=Object.keys(e.locales).find(d=>d!=="root"&&!Tc(d)&&Ec(t,`/${d}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:Fi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function Oi(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=Rc(e.title,s);return`${n}${r}`}function Rc(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Pc(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function Fi(e,t){return[...e.filter(n=>!Pc(t,n)),...t]}const Ic=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Oc=/^[a-z]:/i;function _r(e){const t=Oc.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Ic,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const Fc=Symbol(),nt=Ro(wc);function vf(e){const t=Ee(()=>Ac(nt.value,e.data.relativePath));return{site:t,theme:Ee(()=>t.value.themeConfig),page:Ee(()=>e.data),frontmatter:Ee(()=>e.data.frontmatter),params:Ee(()=>e.data.params),lang:Ee(()=>t.value.lang),dir:Ee(()=>t.value.dir),localeIndex:Ee(()=>t.value.localeIndex||"root"),title:Ee(()=>Oi(t.value,e.data)),description:Ee(()=>e.data.description||t.value.description),isDark:ht(!1)}}function Cf(){const e=mt(Fc);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Mc(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function br(e){return Ri.test(e)||e.startsWith(".")?e:Mc(nt.value.base,e)}function Sc(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/q-ui/";t=_r(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),t=`${n}assets/${t}.${s}.js`}else t=`./${_r(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let on=[];function wf(e){on.push(e),Rn(()=>{on=on.filter(t=>t!==e)})}const Lc=Symbol(),yr="http://a.com",Nc=()=>({path:"/",component:null,data:Ii});function xf(e,t){const n=vn(Nc()),s={route:n,go:r};async function r(l=Ce?location.href:"/"){var a,d;await((a=s.onBeforeRouteChange)==null?void 0:a.call(s,l));const c=new URL(l,yr);nt.value.cleanUrls||!c.pathname.endsWith("/")&&!c.pathname.endsWith(".html")&&(c.pathname+=".html",l=c.pathname+c.search+c.hash),Ce&&l!==location.href&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",l)),await o(l),await((d=s.onAfterRouteChanged)==null?void 0:d.call(s,l))}let i=null;async function o(l,c=0,a=!1){const d=new URL(l,yr),p=i=d.pathname;try{let g=await e(p);if(i===p){i=null;const{default:C,__pageData:R}=g;if(!C)throw new Error(`Invalid route component: ${C}`);n.path=Ce?p:br(p),n.component=It(C),n.data=It(R),Ce&&Wr(()=>{let P=nt.value.base+R.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!nt.value.cleanUrls&&!P.endsWith("/")&&(P+=".html"),P!==d.pathname&&(d.pathname=P,l=P+d.search+d.hash,history.replaceState(null,"",l)),d.hash&&!c){let $=null;try{$=document.querySelector(decodeURIComponent(d.hash))}catch(_){console.warn(_)}if($){vr($,d.hash);return}}window.scrollTo(0,c)})}}catch(g){if(!/fetch/.test(g.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(g),!a)try{const C=await fetch(nt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await C.json(),await o(l,c,!0);return}catch{}i===p&&(i=null,n.path=Ce?p:br(p),n.component=t?It(t):null,n.data=Ii)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:d}=a,{href:p,origin:g,pathname:C,hash:R,search:P}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),$=window.location,_=C.match(/\.\w+$/);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&d!=="_blank"&&g===$.origin&&!(_&&_[0]!==".html")&&(l.preventDefault(),C===$.pathname&&P===$.search?R&&(R!==$.hash&&(history.pushState(null,"",R),window.dispatchEvent(new Event("hashchange"))),vr(a,R,a.classList.contains("header-anchor"))):r(p))}},{capture:!0}),window.addEventListener("popstate",l=>{o(location.href,l.state&&l.state.scrollPosition||0)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function Hc(){const e=mt(Lc);if(!e)throw new Error("useRouter() is called without provider.");return e}function Mi(){return Hc().route}function vr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.querySelector(decodeURIComponent(t))}catch(r){console.warn(r)}if(s){const r=nt.value.scrollOffset;let i=0;if(typeof r=="number")i=r;else if(typeof r=="string")i=Cr(r);else if(Array.isArray(r))for(const c of r){const a=Cr(c);if(a){i=a;break}}const o=parseInt(window.getComputedStyle(s).paddingTop,10),l=window.scrollY+s.getBoundingClientRect().top-i+o;!n||Math.abs(l-window.scrollY)>window.innerHeight?window.scrollTo(0,l):window.scrollTo({left:0,top:l,behavior:"smooth"})}}function Cr(e){const t=document.querySelector(e);if(!t)return 0;const n=t.getBoundingClientRect().bottom;return n<0?0:n+24}const wr=()=>on.forEach(e=>e()),Ef=bs({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=Mi();return()=>Gn(e.as,{style:{position:"relative"}},[t.component?Gn(t.component,{onVnodeMounted:wr,onVnodeUpdated:wr}):"404 Page Not Found"])}});function Tf(e,t){let n=[],s=!0;const r=i=>{if(s){s=!1;return}n.forEach(o=>document.head.removeChild(o)),n=[],i.forEach(o=>{const l=$c(o);document.head.appendChild(l),n.push(l)})};Jo(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[];document.title=Oi(o,i),document.querySelector("meta[name=description]").setAttribute("content",l||o.description),r(Fi(o.head,jc(c)))})}function $c([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),s}function Uc(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function jc(e){return e.filter(t=>!Uc(t))}const jn=new Set,Si=()=>document.createElement("link"),Bc=e=>{const t=Si();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Dc=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let en;const Kc=Ce&&(en=Si())&&en.relList&&en.relList.supports&&en.relList.supports("prefetch")?Bc:Dc;function Af(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!jn.has(c)){jn.add(c);const a=Sc(c);Kc(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{target:o}=i,{hostname:l,pathname:c}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),a=c.match(/\.\w+$/);a&&a[0]!==".html"||o!=="_blank"&&l===location.hostname&&(c!==location.pathname?n.observe(i):jn.add(c))})})};An(s);const r=Mi();sn(()=>r.path,s),Rn(()=>{n&&n.disconnect()})}const Rf=bs({setup(e,{slots:t}){const n=ht(!1);return An(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Pf(){if(Ce){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className);let l="";i.querySelectorAll("span.line:not(.diff.remove)").forEach(c=>l+=(c.textContent||"")+` +`),l=l.slice(0,-1),o&&(l=l.replace(/^ *(\$|>) /gm,"").trim()),kc(l).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const c=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,c)})}})}}async function kc(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function If(){Ce&&window.addEventListener("click",e=>{var n,s;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement,i=Array.from((r==null?void 0:r.querySelectorAll("input"))||[]).indexOf(t),o=r==null?void 0:r.querySelector('div[class*="language-"].active'),l=(s=r==null?void 0:r.querySelectorAll('div[class*="language-"]:not(.language-id)'))==null?void 0:s[i];o&&l&&o!==l&&(o.classList.remove("active"),l.classList.add("active"))}})}export{wf as $,Mi as A,Rn as B,_i as C,gi as D,ko as E,he as F,ff as G,Gc as H,Nl as I,re as J,os as K,Qc as L,_f as M,ef as N,Ri as O,bf as P,Ce as Q,tf as R,Yc as S,xi as T,Jc as U,cf as V,yf as W,mt as X,yl as Y,il as Z,mf as _,bi as a,sf as a0,df as a1,Xc as a2,uf as a3,rf as a4,Zc as a5,hf as a6,Tf as a7,Lc as a8,vf as a9,Fc as aa,Ef as ab,Rf as ac,nt as ad,gf as ae,xf as af,Sc as ag,Af as ah,Pf as ai,If as aj,Gn as ak,Hc as al,ei as am,af as an,of as ao,It as ap,pf as aq,Io as b,lf as c,bs as d,zc as e,jr as f,Vc as g,ht as h,Zi as i,qc as j,Jo as k,Ee as l,yi as m,ls as n,hi as o,An as p,ce as q,nf as r,Ro as s,Wc as t,Cf as u,Wr as v,sn as w,Tc as x,br as y,Ec as z}; diff --git a/docs/.vitepress/dist/assets/chunks/q-ui.bc6b1064.js b/docs/.vitepress/dist/assets/chunks/q-ui.bc6b1064.js new file mode 100644 index 0000000..0354b53 --- /dev/null +++ b/docs/.vitepress/dist/assets/chunks/q-ui.bc6b1064.js @@ -0,0 +1 @@ +import{d as S,l as I,o as r,c,b as z,G as M,r as G,a as H,t as _,n as v,h as m,k as K,C as h,K as g,a3 as R,J as P,E as X,a5 as Y,F as B,R as q,a6 as Z,T as x,S as L,U as E}from"./framework.dc35932b.js";function $e(t,u=300){let a;return function(){a||(a=setTimeout(()=>{t(),a=null},u))}}function we(t,u=300){let a;return function(){a&&clearTimeout(a),a=setTimeout(()=>{t(),a=null},u)}}const ee={key:0,class:"q-loadingIndicator"},ae={name:"QButton"},le=S({...ae,props:{type:{type:String,default:"default"},dashed:{type:Boolean,default:!1},size:{type:String,default:"default"},round:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},setup(t){const u=t,{type:a,dashed:o,size:l,round:n,disabled:d,loading:s}=u,p=I(()=>({[`q-type-${a}`]:a,["q-type-dashed"]:o,[`q-size-${l}`]:l,["is-round"]:n,["is-disabled"]:d||s,["is-loading"]:s}));return(b,C)=>(r(),c("button",{class:v(["q-button",p.value])},[z(s)?(r(),c("span",ee)):M("",!0),G(b.$slots,"default",{},()=>[H(_(z(a)),1)],!0)],2))}}),k=(t,u)=>{const a=t.__vccOpts||t;for(const[o,l]of u)a[o]=l;return a},y=k(le,[["__scopeId","data-v-4eae179c"]]);y.install=t=>{t.component(y.__name,y)};const N=t=>(L("data-v-3b126f0b"),t=t(),E(),t),te=["title"],se=N(()=>h("path",{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"},null,-1)),oe=[se],ne=["onClick"],ue=N(()=>h("path",{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 01-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z"},null,-1)),ie=[ue],de=["title","onMouseenter","onClick"],re={name:"QSelect"},ce=S({...re,props:{options:{default:()=>[]},label:{default:"label"},value:{default:"value"},placeholder:{default:"请选择"},disabled:{type:Boolean,default:!1},allowClear:{type:Boolean,default:!1},width:{default:120},height:{default:32},maxDisplay:{default:6},modelValue:{default:null}},emits:["update:modelValue","change"],setup(t,{emit:u}){const a=t,o=m(),l=m(),n=m(!1),d=m(!0),s=m(!1),p=m();K(()=>{b()});function b(){if(a.modelValue){const e=a.options.find(f=>f[a.value]===a.modelValue);e?(o.value=e[a.label],l.value=e[a.value]):(o.value=a.modelValue,l.value=null)}else o.value=null,l.value=null}function C(){n.value&&(n.value=!1)}function T(){a.allowClear&&o.value&&(s.value=!0)}function D(){a.allowClear&&s.value&&(s.value=!1)}function O(e){l.value=e}function U(){d.value=!1}function j(){l.value=null,d.value=!0,p.value.focus()}function F(){if(n.value=!n.value,!l.value&&o.value){const e=a.options.find(f=>f[a.label]===o.value);l.value=e?e[a.value]:null}}function J(){s.value=!1,o.value=null,l.value=null,u("update:modelValue"),u("change")}function W(e,f,i){a.modelValue!==e&&(o.value=f,l.value=e,u("update:modelValue",e),u("change",e,f,i)),n.value=!1}return(e,f)=>(r(),c("div",{class:"m-select",style:g(`height: ${e.height}px;`)},[h("div",{class:v(["m-select-wrap",{hover:!e.disabled,focus:n.value,disabled:e.disabled}]),style:g(`width: ${e.width}px; height: ${e.height}px;`),tabindex:"0",ref_key:"select",ref:p,onMouseenter:T,onMouseleave:D,onBlur:f[0]||(f[0]=i=>d.value&&!e.disabled?C():()=>!1),onClick:f[1]||(f[1]=i=>e.disabled?()=>!1:F())},[h("div",{class:v(["u-select-input",{placeholder:!o.value}]),style:g(`line-height: ${e.height-2}px;`),title:o.value},_(o.value||e.placeholder),15,te),(r(),c("svg",{class:v(["triangle",{rotate:n.value,show:!s.value}]),viewBox:"64 64 896 896","data-icon":"down","aria-hidden":"true",focusable:"false"},oe,2)),(r(),c("svg",{onClick:R(J,["stop"]),class:v(["close",{show:s.value}]),focusable:"false","data-icon":"close-circle","aria-hidden":"true",viewBox:"64 64 896 896"},ie,10,ne))],38),P(x,{name:"fade"},{default:X(()=>[Y(h("div",{class:"m-options-panel",onMouseenter:U,onMouseleave:j,style:g(`top: ${e.height+4}px; line-height: ${e.height-10}px; max-height: ${e.maxDisplay*e.height+9}px; width: ${e.width}px;`)},[(r(!0),c(B,null,q(e.options,(i,V)=>(r(),c("p",{key:V,class:v(["u-option",{"option-selected":i[e.label]===o.value,"option-hover":!i.disabled&&i[e.value]===l.value,"option-disabled":i.disabled}]),title:i[e.label],onMouseenter:A=>O(i[e.value]),onClick:A=>i.disabled?()=>!1:W(i[e.value],i[e.label],V)},_(i[e.label]),43,de))),128))],36),[[Z,n.value]])]),_:1})],4))}}),$=k(ce,[["__scopeId","data-v-3b126f0b"]]);$.install=t=>{t.component($.__name,$)};const Q=t=>(L("data-v-8c81a90d"),t=t(),E(),t),fe=["href","title","target"],he={key:0,class:"u-separator"},ve={key:1,class:"u-arrow",viewBox:"64 64 896 896","data-icon":"right","aria-hidden":"true",focusable:"false"},pe=Q(()=>h("path",{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z"},null,-1)),me=[pe],ge=Q(()=>h("div",{class:"assist"},null,-1)),_e={name:"QBreadcrumb"},be=S({..._e,props:{routes:{default:()=>[]},fontSize:{default:14},height:{default:21},maxWidth:{default:180},separator:{default:""},target:{default:"_self"}},setup(t){const u=t,a=I(()=>u.routes.length);function o(l){var n=l.path;if(l.query&&JSON.stringify(l.query)!=="{}"){const d=l.query;Object.keys(d).forEach((s,p)=>{p===0?n=n+"?"+s+"="+d[s]:n=n+"&"+s+"="+d[s]})}return n}return(l,n)=>(r(),c("div",{class:"m-breadcrumb",style:g(`height: ${l.height}px;`)},[(r(!0),c(B,null,q(l.routes,(d,s)=>(r(),c("div",{class:"m-bread",key:s},[h("a",{class:v(["u-route",{active:s===a.value-1}]),style:g(`font-size: ${l.fontSize}px; max-width: ${l.maxWidth}px;`),href:s===a.value-1?"javascript:;":o(d),title:d.name,target:s===a.value-1?"_self":l.target},_(d.name||"--"),15,fe),s!==a.value-1?(r(),c(B,{key:0},[l.separator?(r(),c("span",he,_(l.separator),1)):(r(),c("svg",ve,me))],64)):M("",!0)]))),128)),ge],4))}}),w=k(be,[["__scopeId","data-v-8c81a90d"]]);w.install=t=>{t.component(w.__name,w)};export{we as d,$e as t}; diff --git a/docs/.vitepress/dist/assets/chunks/theme.0d1c29fb.js b/docs/.vitepress/dist/assets/chunks/theme.0d1c29fb.js new file mode 100644 index 0000000..c9bf123 --- /dev/null +++ b/docs/.vitepress/dist/assets/chunks/theme.0d1c29fb.js @@ -0,0 +1,7 @@ +import{d as y,o as a,c as l,r as d,n as T,a as O,t as C,_ as g,u as Ct,b as i,e as At,f as Ie,g as Tt,h as L,i as Bt,j as xt,w as K,k as ee,l as w,m as Ot,p as R,q as Et,s as le,v as at,x as Ht,P as Dt,y as Ne,z as te,A as ce,B as Ce,C as _,F as A,D as P,E as p,G as m,T as Ae,H as X,I as fe,J as f,K as rt,L as zt,M as Ft,N as Q,O as it,Q as lt,R as E,S as F,U as j,V as jt,W as We,X as Te,Y as he,Z as Gt,$ as se,a0 as Rt,a1 as Ut,a2 as Wt,a3 as Kt,a4 as qt}from"./framework.dc35932b.js";const Yt=y({__name:"VPBadge",props:{text:{},type:{}},setup(t){return(e,n)=>(a(),l("span",{class:T(["VPBadge",e.type??"tip"])},[d(e.$slots,"default",{},()=>[O(C(e.text),1)],!0)],2))}});const Jt=g(Yt,[["__scopeId","data-v-350d3852"]]),N=Ct;function Be(t){return Bt()?(xt(t),!0):!1}function U(t){return typeof t=="function"?t():i(t)}const ct=typeof window<"u",ae=()=>{},Ke=Xt();function Xt(){var t;return ct&&((t=window==null?void 0:window.navigator)==null?void 0:t.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}function Qt(t,e){function n(...o){return new Promise((s,r)=>{Promise.resolve(t(()=>e.apply(this,o),{fn:e,thisArg:this,args:o})).then(s).catch(r)})}return n}const ut=t=>t();function Zt(t,e={}){let n,o,s=ae;const r=v=>{clearTimeout(v),s(),s=ae};return v=>{const u=U(t),h=U(e.maxWait);return n&&r(n),u<=0||h!==void 0&&h<=0?(o&&(r(o),o=null),Promise.resolve(v())):new Promise((b,k)=>{s=e.rejectOnCancel?k:b,h&&!o&&(o=setTimeout(()=>{n&&r(n),o=null,b(v())},h)),n=setTimeout(()=>{o&&r(o),o=null,b(v())},u)})}}function en(t=ut){const e=L(!0);function n(){e.value=!1}function o(){e.value=!0}const s=(...r)=>{e.value&&t(...r)};return{isActive:Ie(e),pause:n,resume:o,eventFilter:s}}function dt(...t){if(t.length!==1)return At(...t);const e=t[0];return typeof e=="function"?Ie(Tt(()=>({get:e,set:ae}))):L(e)}var qe=Object.getOwnPropertySymbols,tn=Object.prototype.hasOwnProperty,nn=Object.prototype.propertyIsEnumerable,on=(t,e)=>{var n={};for(var o in t)tn.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&qe)for(var o of qe(t))e.indexOf(o)<0&&nn.call(t,o)&&(n[o]=t[o]);return n};function _t(t,e,n={}){const o=n,{eventFilter:s=ut}=o,r=on(o,["eventFilter"]);return K(t,Qt(s,e),r)}var sn=Object.defineProperty,an=Object.defineProperties,rn=Object.getOwnPropertyDescriptors,me=Object.getOwnPropertySymbols,vt=Object.prototype.hasOwnProperty,pt=Object.prototype.propertyIsEnumerable,Ye=(t,e,n)=>e in t?sn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ln=(t,e)=>{for(var n in e||(e={}))vt.call(e,n)&&Ye(t,n,e[n]);if(me)for(var n of me(e))pt.call(e,n)&&Ye(t,n,e[n]);return t},cn=(t,e)=>an(t,rn(e)),un=(t,e)=>{var n={};for(var o in t)vt.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&me)for(var o of me(t))e.indexOf(o)<0&&pt.call(t,o)&&(n[o]=t[o]);return n};function Rl(t,e,n={}){const o=n,{debounce:s=0,maxWait:r=void 0}=o,c=un(o,["debounce","maxWait"]);return _t(t,e,cn(ln({},c),{eventFilter:Zt(s,{maxWait:r})}))}var dn=Object.defineProperty,_n=Object.defineProperties,vn=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,ft=Object.prototype.hasOwnProperty,ht=Object.prototype.propertyIsEnumerable,Je=(t,e,n)=>e in t?dn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,pn=(t,e)=>{for(var n in e||(e={}))ft.call(e,n)&&Je(t,n,e[n]);if(ge)for(var n of ge(e))ht.call(e,n)&&Je(t,n,e[n]);return t},fn=(t,e)=>_n(t,vn(e)),hn=(t,e)=>{var n={};for(var o in t)ft.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&ge)for(var o of ge(t))e.indexOf(o)<0&&ht.call(t,o)&&(n[o]=t[o]);return n};function mn(t,e,n={}){const o=n,{eventFilter:s}=o,r=hn(o,["eventFilter"]),{eventFilter:c,pause:v,resume:u,isActive:h}=en(s);return{stop:_t(t,e,fn(pn({},r),{eventFilter:c})),pause:v,resume:u,isActive:h}}function Ul(t,e,n){let o;Et(n)?o={evaluating:n}:o=n||{};const{lazy:s=!1,evaluating:r=void 0,shallow:c=!0,onError:v=ae}=o,u=L(!s),h=c?le(e):L(e);let b=0;return ee(async k=>{if(!u.value)return;b++;const I=b;let V=!1;r&&Promise.resolve().then(()=>{r.value=!0});try{const $=await t(M=>{k(()=>{r&&(r.value=!1),V||M()})});I===b&&(h.value=$)}catch($){v($)}finally{r&&I===b&&(r.value=!1),V=!0}}),s?w(()=>(u.value=!0,h.value)):h}function gn(t){var e;const n=U(t);return(e=n==null?void 0:n.$el)!=null?e:n}const W=ct?window:void 0;function re(...t){let e,n,o,s;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,o,s]=t,e=W):[e,n,o,s]=t,!e)return ae;Array.isArray(n)||(n=[n]),Array.isArray(o)||(o=[o]);const r=[],c=()=>{r.forEach(b=>b()),r.length=0},v=(b,k,I,V)=>(b.addEventListener(k,I,V),()=>b.removeEventListener(k,I,V)),u=K(()=>[gn(e),U(s)],([b,k])=>{c(),b&&r.push(...n.flatMap(I=>o.map(V=>v(b,I,V,k))))},{immediate:!0,flush:"post"}),h=()=>{u(),c()};return Be(h),h}function yn(t){return typeof t=="function"?t:typeof t=="string"?e=>e.key===t:Array.isArray(t)?e=>t.includes(e.key):()=>!0}function Xe(...t){let e,n,o={};t.length===3?(e=t[0],n=t[1],o=t[2]):t.length===2?typeof t[1]=="object"?(e=!0,n=t[0],o=t[1]):(e=t[0],n=t[1]):(e=!0,n=t[0]);const{target:s=W,eventName:r="keydown",passive:c=!1,dedupe:v=!1}=o,u=yn(e);return re(s,r,b=>{b.repeat&&U(v)||u(b)&&n(b)},c)}function bn(){const t=L(!1);return Ot()&&R(()=>{t.value=!0}),t}function $n(t){const e=bn();return w(()=>(e.value,!!t()))}function Se(t,e={}){const{window:n=W}=e,o=$n(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const r=L(!1),c=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",v):s.removeListener(v))},v=()=>{o.value&&(c(),s=n.matchMedia(dt(t).value),r.value=!!(s!=null&&s.matches),s&&("addEventListener"in s?s.addEventListener("change",v):s.addListener(v)))};return ee(v),Be(()=>c()),r}const ve=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},pe="__vueuse_ssr_handlers__",kn=Pn();function Pn(){return pe in ve||(ve[pe]=ve[pe]||{}),ve[pe]}function wn(t,e){return kn[t]||e}function Vn(t){return t==null?"any":t instanceof Set?"set":t instanceof Map?"map":t instanceof Date?"date":typeof t=="boolean"?"boolean":typeof t=="string"?"string":typeof t=="object"?"object":Number.isNaN(t)?"any":"number"}var Sn=Object.defineProperty,Qe=Object.getOwnPropertySymbols,Ln=Object.prototype.hasOwnProperty,Mn=Object.prototype.propertyIsEnumerable,Ze=(t,e,n)=>e in t?Sn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,et=(t,e)=>{for(var n in e||(e={}))Ln.call(e,n)&&Ze(t,n,e[n]);if(Qe)for(var n of Qe(e))Mn.call(e,n)&&Ze(t,n,e[n]);return t};const In={boolean:{read:t=>t==="true",write:t=>String(t)},object:{read:t=>JSON.parse(t),write:t=>JSON.stringify(t)},number:{read:t=>Number.parseFloat(t),write:t=>String(t)},any:{read:t=>t,write:t=>String(t)},string:{read:t=>t,write:t=>String(t)},map:{read:t=>new Map(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t.entries()))},set:{read:t=>new Set(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t))},date:{read:t=>new Date(t),write:t=>t.toISOString()}},tt="vueuse-storage";function mt(t,e,n,o={}){var s;const{flush:r="pre",deep:c=!0,listenToStorageChanges:v=!0,writeDefaults:u=!0,mergeDefaults:h=!1,shallow:b,window:k=W,eventFilter:I,onError:V=B=>{console.error(B)}}=o,$=(b?le:L)(e);if(!n)try{n=wn("getDefaultStorage",()=>{var B;return(B=W)==null?void 0:B.localStorage})()}catch(B){V(B)}if(!n)return $;const M=U(e),S=Vn(M),x=(s=o.serializer)!=null?s:In[S],{pause:z,resume:D}=mn($,()=>de($.value),{flush:r,deep:c,eventFilter:I});return k&&v&&(re(k,"storage",we),re(k,tt,Nt)),we(),$;function de(B){try{if(B==null)n.removeItem(t);else{const H=x.write(B),Y=n.getItem(t);Y!==H&&(n.setItem(t,H),k&&k.dispatchEvent(new CustomEvent(tt,{detail:{key:t,oldValue:Y,newValue:H,storageArea:n}})))}}catch(H){V(H)}}function _e(B){const H=B?B.newValue:n.getItem(t);if(H==null)return u&&M!==null&&n.setItem(t,x.write(M)),M;if(!B&&h){const Y=x.read(H);return typeof h=="function"?h(Y,M):S==="object"&&!Array.isArray(Y)?et(et({},M),Y):Y}else return typeof H!="string"?H:x.read(H)}function Nt(B){we(B.detail)}function we(B){if(!(B&&B.storageArea!==n)){if(B&&B.key==null){$.value=M;return}if(!(B&&B.key!==t)){z();try{$.value=_e(B)}catch(H){V(H)}finally{B?at(D):D()}}}}}function Wl(t,e,n={}){const{window:o=W}=n;return mt(t,e,o==null?void 0:o.localStorage,n)}function gt(t){const e=window.getComputedStyle(t);if(e.overflowX==="scroll"||e.overflowY==="scroll"||e.overflowX==="auto"&&t.clientWidth1?!0:(e.preventDefault&&e.preventDefault(),!1)}function Kl(t,e=!1){const n=L(e);let o=null,s;K(dt(t),v=>{if(v){const u=v;s=u.style.overflow,n.value&&(u.style.overflow="hidden")}},{immediate:!0});const r=()=>{const v=U(t);!v||n.value||(Ke&&(o=re(v,"touchmove",u=>{Nn(u)},{passive:!1})),v.style.overflow="hidden",n.value=!0)},c=()=>{const v=U(t);!v||!n.value||(Ke&&(o==null||o()),v.style.overflow=s,n.value=!1)};return Be(c),w({get(){return n.value},set(v){v?r():c()}})}function ql(t,e,n={}){const{window:o=W}=n;return mt(t,e,o==null?void 0:o.sessionStorage,n)}function yt({window:t=W}={}){if(!t)return{x:L(0),y:L(0)};const e=L(t.scrollX),n=L(t.scrollY);return re(t,"scroll",()=>{e.value=t.scrollX,n.value=t.scrollY},{capture:!1,passive:!0}),{x:e,y:n}}function Cn(t,e){let n,o=!1;return()=>{n&&clearTimeout(n),o?n=setTimeout(t,e):(t(),o=!0,setTimeout(()=>{o=!1},e))}}function Le(t){return/^\//.test(t)?t:`/${t}`}function ie(t){if(Ht(t))return t.replace(Dt,"");const{site:e}=N(),{pathname:n,search:o,hash:s}=new URL(t,"http://example.com"),r=n.endsWith("/")||n.endsWith(".html")?t:t.replace(/(?:(^\.+)\/)?.*$/,`$1${n.replace(/(\.md)?$/,e.value.cleanUrls?"":".html")}${o}${s}`);return Ne(r)}function bt(t,e){if(Array.isArray(t))return t;if(t==null)return[];e=Le(e);const n=Object.keys(t).sort((o,s)=>s.split("/").length-o.split("/").length).find(o=>e.startsWith(Le(o)));return n?t[n]:[]}function An(t){const e=[];let n=0;for(const o in t){const s=t[o];if(s.items){n=e.push(s);continue}e[n]||e.push({items:[]}),e[n].items.push(s)}return e}function Tn(t){const e=[];function n(o){for(const s of o)s.text&&s.link&&e.push({text:s.text,link:s.link}),s.items&&n(s.items)}return n(t),e}function Me(t,e){return Array.isArray(e)?e.some(n=>Me(t,n)):te(t,e.link)?!0:e.items?Me(t,e.items):!1}function G(){const t=ce(),{theme:e,frontmatter:n}=N(),o=Se("(min-width: 960px)"),s=L(!1),r=w(()=>{const $=e.value.sidebar,M=t.data.relativePath;return $?bt($,M):[]}),c=w(()=>n.value.sidebar!==!1&&r.value.length>0&&n.value.layout!=="home"),v=w(()=>u?n.value.aside==null?e.value.aside==="left":n.value.aside==="left":!1),u=w(()=>n.value.layout==="home"?!1:n.value.aside!=null?!!n.value.aside:e.value.aside!==!1),h=w(()=>c.value&&o.value),b=w(()=>c.value?An(r.value):[]);function k(){s.value=!0}function I(){s.value=!1}function V(){s.value?I():k()}return{isOpen:s,sidebar:r,sidebarGroups:b,hasSidebar:c,hasAside:u,leftAside:v,isSidebarEnabled:h,open:k,close:I,toggle:V}}function Bn(t,e){let n;ee(()=>{n=t.value?document.activeElement:void 0}),R(()=>{window.addEventListener("keyup",o)}),Ce(()=>{window.removeEventListener("keyup",o)});function o(s){s.key==="Escape"&&t.value&&(e(),n==null||n.focus())}}function xn(t){const{page:e}=N(),n=L(!1),o=w(()=>t.value.collapsed!=null),s=w(()=>!!t.value.link),r=w(()=>te(e.value.relativePath,t.value.link)),c=w(()=>r.value?!0:t.value.items?Me(e.value.relativePath,t.value.items):!1),v=w(()=>!!(t.value.items&&t.value.items.length));ee(()=>{n.value=!!(o.value&&t.value.collapsed)}),ee(()=>{(r.value||c.value)&&(n.value=!1)});function u(){o.value&&(n.value=!n.value)}return{collapsed:n,collapsible:o,isLink:s,isActiveLink:r,hasActiveLink:c,hasChildren:v,toggle:u}}const On=y({__name:"VPSkipLink",setup(t){const e=ce(),n=L();K(()=>e.path,()=>n.value.focus());function o({target:s}){const r=document.querySelector(decodeURIComponent(s.hash));if(r){const c=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",c)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",c),r.focus(),window.scrollTo(0,0)}}return(s,r)=>(a(),l(A,null,[_("span",{ref_key:"backToTop",ref:n,tabindex:"-1"},null,512),_("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o}," Skip to content ")],64))}});const En=g(On,[["__scopeId","data-v-b8b11faa"]]),Hn={key:0,class:"VPBackdrop"},Dn=y({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(t){return(e,n)=>(a(),P(Ae,{name:"fade"},{default:p(()=>[e.show?(a(),l("div",Hn)):m("",!0)]),_:1}))}});const zn=g(Dn,[["__scopeId","data-v-c79a1216"]]);function Fn(){const t=L(!1);function e(){t.value=!0,window.addEventListener("resize",s)}function n(){t.value=!1,window.removeEventListener("resize",s)}function o(){t.value?n():e()}function s(){window.outerWidth>=768&&n()}const r=ce();return K(()=>r.path,n),{isScreenOpen:t,openScreen:e,closeScreen:n,toggleScreen:o}}function ue({removeCurrent:t=!0,correspondingLink:e=!1}={}){const{site:n,localeIndex:o,page:s,theme:r}=N(),c=w(()=>{var u,h;return{label:(u=n.value.locales[o.value])==null?void 0:u.label,link:((h=n.value.locales[o.value])==null?void 0:h.link)||(o.value==="root"?"/":`/${o.value}/`)}});return{localeLinks:w(()=>Object.entries(n.value.locales).flatMap(([u,h])=>t&&c.value.label===h.label?[]:{text:h.label,link:jn(h.link||(u==="root"?"/":`/${u}/`),r.value.i18nRouting!==!1&&e,s.value.relativePath.slice(c.value.link.length-1),!n.value.cleanUrls)})),currentLang:c}}function jn(t,e,n,o){return e?t.replace(/\/$/,"")+Le(n.replace(/(^|\/)?index.md$/,"$1").replace(/\.md$/,o?".html":"")):t}const Gn=["src","alt"],Rn={inheritAttrs:!1},Un=y({...Rn,__name:"VPImage",props:{image:{},alt:{}},setup(t){return(e,n)=>{const o=X("VPImage",!0);return e.image?(a(),l(A,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),l("img",fe({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(Ne)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Gn)):(a(),l(A,{key:1},[f(o,fe({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),f(o,fe({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):m("",!0)}}});const xe=g(Un,[["__scopeId","data-v-6db2186b"]]),Wn=["href"],Kn=y({__name:"VPNavBarTitle",setup(t){const{site:e,theme:n}=N(),{hasSidebar:o}=G(),{currentLang:s}=ue();return(r,c)=>(a(),l("div",{class:T(["VPNavBarTitle",{"has-sidebar":i(o)}])},[_("a",{class:"title",href:i(ie)(i(s).link)},[d(r.$slots,"nav-bar-title-before",{},void 0,!0),i(n).logo?(a(),P(xe,{key:0,class:"logo",image:i(n).logo},null,8,["image"])):m("",!0),i(n).siteTitle?(a(),l(A,{key:1},[O(C(i(n).siteTitle),1)],64)):i(n).siteTitle===void 0?(a(),l(A,{key:2},[O(C(i(e).title),1)],64)):m("",!0),d(r.$slots,"nav-bar-title-after",{},void 0,!0)],8,Wn)],2))}});const qn=g(Kn,[["__scopeId","data-v-4d981103"]]);const Yn={type:"button",class:"DocSearch DocSearch-Button","aria-label":"Search"},Jn={class:"DocSearch-Button-Container"},Xn=_("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[_("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Qn={class:"DocSearch-Button-Placeholder"},Zn=_("span",{class:"DocSearch-Button-Keys"},[_("kbd",{class:"DocSearch-Button-Key"}),_("kbd",{class:"DocSearch-Button-Key"},"K")],-1),nt=y({__name:"VPNavBarSearchButton",props:{placeholder:{}},setup(t){return(e,n)=>(a(),l("button",Yn,[_("span",Jn,[Xn,_("span",Qn,C(e.placeholder),1)]),Zn]))}});const eo={id:"local-search"},to={key:1,id:"docsearch"},no=y({__name:"VPNavBarSearch",setup(t){const e=zt(()=>Ft(()=>import("./VPLocalSearchBox.12a3dd91.js"),["assets/chunks/VPLocalSearchBox.12a3dd91.js","assets/chunks/framework.dc35932b.js"])),n=()=>null,{theme:o,localeIndex:s}=N(),r=L(!1),c=L(!1),v=w(()=>{var M,S,x,z,D,de,_e;const $=((M=o.value.search)==null?void 0:M.options)??o.value.algolia;return((D=(z=(x=(S=$==null?void 0:$.locales)==null?void 0:S[s.value])==null?void 0:x.translations)==null?void 0:z.button)==null?void 0:D.buttonText)||((_e=(de=$==null?void 0:$.translations)==null?void 0:de.button)==null?void 0:_e.buttonText)||"Search"});R(()=>{});function u(){r.value||(r.value=!0,setTimeout(h,16))}function h(){const $=new Event("keydown");$.key="k",$.metaKey=!0,window.dispatchEvent($),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||h()},16)}function b($){const M=$.target,S=M.tagName;return M.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const k=L(!1);Xe("k",$=>{($.ctrlKey||$.metaKey)&&($.preventDefault(),k.value=!0)}),Xe("/",$=>{b($)||($.preventDefault(),k.value=!0)});const I=L("'Meta'");R(()=>{I.value=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"'⌘'":"'Ctrl'"});const V="local";return($,M)=>{var S;return a(),l("div",{class:"VPNavBarSearch",style:rt({"--vp-meta-key":I.value})},[i(V)==="local"?(a(),l(A,{key:0},[k.value?(a(),P(i(e),{key:0,placeholder:v.value,onClose:M[0]||(M[0]=x=>k.value=!1)},null,8,["placeholder"])):m("",!0),_("div",eo,[f(nt,{placeholder:v.value,onClick:M[1]||(M[1]=x=>k.value=!0)},null,8,["placeholder"])])],64)):i(V)==="algolia"?(a(),l(A,{key:1},[r.value?(a(),P(i(n),{key:0,algolia:((S=i(o).search)==null?void 0:S.options)??i(o).algolia,onVnodeBeforeMount:M[2]||(M[2]=x=>c.value=!0)},null,8,["algolia"])):m("",!0),c.value?m("",!0):(a(),l("div",to,[f(nt,{placeholder:v.value,onClick:u},null,8,["placeholder"])]))],64)):m("",!0)],4)}}});const oo={},so={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",height:"24px",viewBox:"0 0 24 24",width:"24px"},ao=_("path",{d:"M0 0h24v24H0V0z",fill:"none"},null,-1),ro=_("path",{d:"M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"},null,-1),io=[ao,ro];function lo(t,e){return a(),l("svg",so,io)}const co=g(oo,[["render",lo]]),uo=y({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(t){const e=t,n=w(()=>e.tag??e.href?"a":"span"),o=w(()=>e.href&&it.test(e.href));return(s,r)=>(a(),P(Q(n.value),{class:T(["VPLink",{link:s.href}]),href:s.href?i(ie)(s.href):void 0,target:s.target||(o.value?"_blank":void 0),rel:s.rel||(o.value?"noreferrer":void 0)},{default:p(()=>[d(s.$slots,"default",{},void 0,!0),o.value&&!s.noIcon?(a(),P(co,{key:0,class:"icon"})):m("",!0)]),_:3},8,["class","href","target","rel"]))}});const q=g(uo,[["__scopeId","data-v-8f4dc553"]]),_o=y({__name:"VPNavBarMenuLink",props:{item:{}},setup(t){const{page:e}=N();return(n,o)=>(a(),P(q,{class:T({VPNavBarMenuLink:!0,active:i(te)(i(e).relativePath,n.item.activeMatch||n.item.link,!!n.item.activeMatch)}),href:n.item.link,target:n.item.target,rel:n.item.rel,tabindex:"0"},{default:p(()=>[O(C(n.item.text),1)]),_:1},8,["class","href","target","rel"]))}});const vo=g(_o,[["__scopeId","data-v-5e623618"]]),Oe=L();let $t=!1,Ve=0;function po(t){const e=L(!1);if(lt){!$t&&fo(),Ve++;const n=K(Oe,o=>{var s,r,c;o===t.el.value||(s=t.el.value)!=null&&s.contains(o)?(e.value=!0,(r=t.onFocus)==null||r.call(t)):(e.value=!1,(c=t.onBlur)==null||c.call(t))});Ce(()=>{n(),Ve--,Ve||ho()})}return Ie(e)}function fo(){document.addEventListener("focusin",kt),$t=!0,Oe.value=document.activeElement}function ho(){document.removeEventListener("focusin",kt)}function kt(){Oe.value=document.activeElement}const mo={},go={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},yo=_("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),bo=[yo];function $o(t,e){return a(),l("svg",go,bo)}const Pt=g(mo,[["render",$o]]),ko={},Po={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},wo=_("circle",{cx:"12",cy:"12",r:"2"},null,-1),Vo=_("circle",{cx:"19",cy:"12",r:"2"},null,-1),So=_("circle",{cx:"5",cy:"12",r:"2"},null,-1),Lo=[wo,Vo,So];function Mo(t,e){return a(),l("svg",Po,Lo)}const Io=g(ko,[["render",Mo]]),No={class:"VPMenuLink"},Co=y({__name:"VPMenuLink",props:{item:{}},setup(t){const{page:e}=N();return(n,o)=>(a(),l("div",No,[f(q,{class:T({active:i(te)(i(e).relativePath,n.item.activeMatch||n.item.link,!!n.item.activeMatch)}),href:n.item.link,target:n.item.target,rel:n.item.rel},{default:p(()=>[O(C(n.item.text),1)]),_:1},8,["class","href","target","rel"])]))}});const ke=g(Co,[["__scopeId","data-v-2f2cfafc"]]),Ao={class:"VPMenuGroup"},To={key:0,class:"title"},Bo=y({__name:"VPMenuGroup",props:{text:{},items:{}},setup(t){return(e,n)=>(a(),l("div",Ao,[e.text?(a(),l("p",To,C(e.text),1)):m("",!0),(a(!0),l(A,null,E(e.items,o=>(a(),l(A,null,["link"in o?(a(),P(ke,{key:0,item:o},null,8,["item"])):m("",!0)],64))),256))]))}});const xo=g(Bo,[["__scopeId","data-v-69e747b5"]]),Oo={class:"VPMenu"},Eo={key:0,class:"items"},Ho=y({__name:"VPMenu",props:{items:{}},setup(t){return(e,n)=>(a(),l("div",Oo,[e.items?(a(),l("div",Eo,[(a(!0),l(A,null,E(e.items,o=>(a(),l(A,{key:o.text},["link"in o?(a(),P(ke,{key:0,item:o},null,8,["item"])):(a(),P(xo,{key:1,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):m("",!0),d(e.$slots,"default",{},void 0,!0)]))}});const Do=g(Ho,[["__scopeId","data-v-e7ea1737"]]),zo=["aria-expanded","aria-label"],Fo={key:0,class:"text"},jo={class:"menu"},Go=y({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(t){const e=L(!1),n=L();po({el:n,onBlur:o});function o(){e.value=!1}return(s,r)=>(a(),l("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:r[1]||(r[1]=c=>e.value=!0),onMouseleave:r[2]||(r[2]=c=>e.value=!1)},[_("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":s.label,onClick:r[0]||(r[0]=c=>e.value=!e.value)},[s.button||s.icon?(a(),l("span",Fo,[s.icon?(a(),P(Q(s.icon),{key:0,class:"option-icon"})):m("",!0),O(" "+C(s.button)+" ",1),f(Pt,{class:"text-icon"})])):(a(),P(Io,{key:1,class:"icon"}))],8,zo),_("div",jo,[f(Do,{items:s.items},{default:p(()=>[d(s.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const Ee=g(Go,[["__scopeId","data-v-764effdf"]]),Ro=y({__name:"VPNavBarMenuGroup",props:{item:{}},setup(t){const{page:e}=N();return(n,o)=>(a(),P(Ee,{class:T({VPNavBarMenuGroup:!0,active:i(te)(i(e).relativePath,n.item.activeMatch,!!n.item.activeMatch)}),button:n.item.text,items:n.item.items},null,8,["class","button","items"]))}}),Uo=t=>(F("data-v-7f418b0f"),t=t(),j(),t),Wo={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Ko=Uo(()=>_("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),qo=y({__name:"VPNavBarMenu",setup(t){const{theme:e}=N();return(n,o)=>i(e).nav?(a(),l("nav",Wo,[Ko,(a(!0),l(A,null,E(i(e).nav,s=>(a(),l(A,{key:s.text},["link"in s?(a(),P(vo,{key:0,item:s},null,8,["item"])):(a(),P(Ro,{key:1,item:s},null,8,["item"]))],64))),128))])):m("",!0)}});const Yo=g(qo,[["__scopeId","data-v-7f418b0f"]]),Jo={},Xo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Qo=_("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),Zo=_("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),es=[Qo,Zo];function ts(t,e){return a(),l("svg",Xo,es)}const wt=g(Jo,[["render",ts]]),ns={class:"items"},os={class:"title"},ss=y({__name:"VPNavBarTranslations",setup(t){const{theme:e}=N(),{localeLinks:n,currentLang:o}=ue({correspondingLink:!0});return(s,r)=>i(n).length&&i(o).label?(a(),P(Ee,{key:0,class:"VPNavBarTranslations",icon:wt,label:i(e).langMenuLabel||"Change language"},{default:p(()=>[_("div",ns,[_("p",os,C(i(o).label),1),(a(!0),l(A,null,E(i(n),c=>(a(),P(ke,{key:c.link,item:c},null,8,["item"]))),128))])]),_:1},8,["label"])):m("",!0)}});const as=g(ss,[["__scopeId","data-v-74abcbb9"]]);const rs={},is={class:"VPSwitch",type:"button",role:"switch"},ls={class:"check"},cs={key:0,class:"icon"};function us(t,e){return a(),l("button",is,[_("span",ls,[t.$slots.default?(a(),l("span",cs,[d(t.$slots,"default",{},void 0,!0)])):m("",!0)])])}const ds=g(rs,[["render",us],["__scopeId","data-v-f3c41672"]]),_s={},vs={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ps=jt('',9),fs=[ps];function hs(t,e){return a(),l("svg",vs,fs)}const ms=g(_s,[["render",hs]]),gs={},ys={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},bs=_("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),$s=[bs];function ks(t,e){return a(),l("svg",ys,$s)}const Ps=g(gs,[["render",ks]]),ws=y({__name:"VPSwitchAppearance",setup(t){const{site:e,isDark:n}=N(),o=L(!1),s=lt?r():()=>{};R(()=>{o.value=document.documentElement.classList.contains("dark")});function r(){const c=window.matchMedia("(prefers-color-scheme: dark)"),v=document.documentElement.classList;let u=localStorage.getItem(We),h=e.value.appearance==="dark"&&u==null||(u==="auto"||u==null?c.matches:u==="dark");c.onchange=I=>{u==="auto"&&k(h=I.matches)};function b(){k(h=!h),u=h?c.matches?"auto":"dark":c.matches?"light":"auto",localStorage.setItem(We,u)}function k(I){const V=document.createElement("style");V.type="text/css",V.appendChild(document.createTextNode(`:not(.VPSwitchAppearance):not(.VPSwitchAppearance *) { + -webkit-transition: none !important; + -moz-transition: none !important; + -o-transition: none !important; + -ms-transition: none !important; + transition: none !important; +}`)),document.head.appendChild(V),o.value=I,v[I?"add":"remove"]("dark"),window.getComputedStyle(V).opacity,document.head.removeChild(V)}return b}return K(o,c=>{n.value=c}),(c,v)=>(a(),P(ds,{title:"toggle dark mode",class:"VPSwitchAppearance","aria-checked":o.value,onClick:i(s)},{default:p(()=>[f(ms,{class:"sun"}),f(Ps,{class:"moon"})]),_:1},8,["aria-checked","onClick"]))}});const He=g(ws,[["__scopeId","data-v-82b282f1"]]),Vs={key:0,class:"VPNavBarAppearance"},Ss=y({__name:"VPNavBarAppearance",setup(t){const{site:e}=N();return(n,o)=>i(e).appearance?(a(),l("div",Vs,[f(He)])):m("",!0)}});const Ls=g(Ss,[["__scopeId","data-v-f6a63727"]]),Ms={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',slack:'Slack',twitter:'Twitter',youtube:'YouTube'},Is=["href","aria-label","innerHTML"],Ns=y({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(t){const e=t,n=w(()=>typeof e.icon=="object"?e.icon.svg:Ms[e.icon]);return(o,s)=>(a(),l("a",{class:"VPSocialLink",href:o.link,"aria-label":o.ariaLabel??(typeof o.icon=="string"?o.icon:""),target:"_blank",rel:"noopener",innerHTML:n.value},null,8,Is))}});const Cs=g(Ns,[["__scopeId","data-v-36371990"]]),As={class:"VPSocialLinks"},Ts=y({__name:"VPSocialLinks",props:{links:{}},setup(t){return(e,n)=>(a(),l("div",As,[(a(!0),l(A,null,E(e.links,({link:o,icon:s,ariaLabel:r})=>(a(),P(Cs,{key:o,icon:s,link:o,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}});const De=g(Ts,[["__scopeId","data-v-7bc22406"]]),Bs=y({__name:"VPNavBarSocialLinks",setup(t){const{theme:e}=N();return(n,o)=>i(e).socialLinks?(a(),P(De,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):m("",!0)}});const xs=g(Bs,[["__scopeId","data-v-0394ad82"]]),Os={key:0,class:"group translations"},Es={class:"trans-title"},Hs={key:1,class:"group"},Ds={class:"item appearance"},zs={class:"label"},Fs={class:"appearance-action"},js={key:2,class:"group"},Gs={class:"item social-links"},Rs=y({__name:"VPNavBarExtra",setup(t){const{site:e,theme:n}=N(),{localeLinks:o,currentLang:s}=ue({correspondingLink:!0}),r=w(()=>o.value.length&&s.value.label||e.value.appearance||n.value.socialLinks);return(c,v)=>r.value?(a(),P(Ee,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:p(()=>[i(o).length&&i(s).label?(a(),l("div",Os,[_("p",Es,C(i(s).label),1),(a(!0),l(A,null,E(i(o),u=>(a(),P(ke,{key:u.link,item:u},null,8,["item"]))),128))])):m("",!0),i(e).appearance?(a(),l("div",Hs,[_("div",Ds,[_("p",zs,C(i(n).darkModeSwitchLabel||"Appearance"),1),_("div",Fs,[f(He)])])])):m("",!0),i(n).socialLinks?(a(),l("div",js,[_("div",Gs,[f(De,{class:"social-links-list",links:i(n).socialLinks},null,8,["links"])])])):m("",!0)]),_:1})):m("",!0)}});const Us=g(Rs,[["__scopeId","data-v-40855f84"]]),Ws=t=>(F("data-v-e5dd9c1c"),t=t(),j(),t),Ks=["aria-expanded"],qs=Ws(()=>_("span",{class:"container"},[_("span",{class:"top"}),_("span",{class:"middle"}),_("span",{class:"bottom"})],-1)),Ys=[qs],Js=y({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(t){return(e,n)=>(a(),l("button",{type:"button",class:T(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=o=>e.$emit("click"))},Ys,10,Ks))}});const Xs=g(Js,[["__scopeId","data-v-e5dd9c1c"]]),Qs=t=>(F("data-v-7683ced7"),t=t(),j(),t),Zs={class:"container"},ea={class:"title"},ta={class:"content"},na=Qs(()=>_("div",{class:"curtain"},null,-1)),oa={class:"content-body"},sa=y({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(t){const{y:e}=yt(),{hasSidebar:n}=G(),o=w(()=>({"has-sidebar":n.value,fill:e.value>0}));return(s,r)=>(a(),l("div",{class:T(["VPNavBar",o.value])},[_("div",Zs,[_("div",ea,[f(qn,null,{"nav-bar-title-before":p(()=>[d(s.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[d(s.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),_("div",ta,[na,_("div",oa,[d(s.$slots,"nav-bar-content-before",{},void 0,!0),f(no,{class:"search"}),f(Yo,{class:"menu"}),f(as,{class:"translations"}),f(Ls,{class:"appearance"}),f(xs,{class:"social-links"}),f(Us,{class:"extra"}),d(s.$slots,"nav-bar-content-after",{},void 0,!0),f(Xs,{class:"hamburger",active:s.isScreenOpen,onClick:r[0]||(r[0]=c=>s.$emit("toggle-screen"))},null,8,["active"])])])])],2))}});const aa=g(sa,[["__scopeId","data-v-7683ced7"]]);function ra(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e1),Z=[],be=!1,Fe=-1,ne=void 0,J=void 0,oe=void 0,Vt=function(e){return Z.some(function(n){return!!(n.options.allowTouchMove&&n.options.allowTouchMove(e))})},$e=function(e){var n=e||window.event;return Vt(n.target)||n.touches.length>1?!0:(n.preventDefault&&n.preventDefault(),!1)},ia=function(e){if(oe===void 0){var n=!!e&&e.reserveScrollBarGap===!0,o=window.innerWidth-document.documentElement.clientWidth;if(n&&o>0){var s=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);oe=document.body.style.paddingRight,document.body.style.paddingRight=s+o+"px"}}ne===void 0&&(ne=document.body.style.overflow,document.body.style.overflow="hidden")},la=function(){oe!==void 0&&(document.body.style.paddingRight=oe,oe=void 0),ne!==void 0&&(document.body.style.overflow=ne,ne=void 0)},ca=function(){return window.requestAnimationFrame(function(){if(J===void 0){J={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var e=window,n=e.scrollY,o=e.scrollX,s=e.innerHeight;document.body.style.position="fixed",document.body.style.top=-n,document.body.style.left=-o,setTimeout(function(){return window.requestAnimationFrame(function(){var r=s-window.innerHeight;r&&n>=s&&(document.body.style.top=-(n+r))})},300)}})},ua=function(){if(J!==void 0){var e=-parseInt(document.body.style.top,10),n=-parseInt(document.body.style.left,10);document.body.style.position=J.position,document.body.style.top=J.top,document.body.style.left=J.left,window.scrollTo(n,e),J=void 0}},da=function(e){return e?e.scrollHeight-e.scrollTop<=e.clientHeight:!1},_a=function(e,n){var o=e.targetTouches[0].clientY-Fe;return Vt(e.target)?!1:n&&n.scrollTop===0&&o>0||da(n)&&o<0?$e(e):(e.stopPropagation(),!0)},St=function(e,n){if(!e){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!Z.some(function(s){return s.targetElement===e})){var o={targetElement:e,options:n||{}};Z=[].concat(ra(Z),[o]),ye?ca():ia(n),ye&&(e.ontouchstart=function(s){s.targetTouches.length===1&&(Fe=s.targetTouches[0].clientY)},e.ontouchmove=function(s){s.targetTouches.length===1&&_a(s,e)},be||(document.addEventListener("touchmove",$e,ze?{passive:!1}:void 0),be=!0))}},Lt=function(){ye&&(Z.forEach(function(e){e.targetElement.ontouchstart=null,e.targetElement.ontouchmove=null}),be&&(document.removeEventListener("touchmove",$e,ze?{passive:!1}:void 0),be=!1),Fe=-1),ye?ua():la(),Z=[]};const va=y({__name:"VPNavScreenMenuLink",props:{item:{}},setup(t){const e=Te("close-screen");return(n,o)=>(a(),P(q,{class:"VPNavScreenMenuLink",href:n.item.link,target:n.item.target,rel:n.item.rel,onClick:i(e)},{default:p(()=>[O(C(n.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const pa=g(va,[["__scopeId","data-v-30be0acb"]]),fa={},ha={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ma=_("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),ga=[ma];function ya(t,e){return a(),l("svg",ha,ga)}const ba=g(fa,[["render",ya]]),$a=y({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(t){const e=Te("close-screen");return(n,o)=>(a(),P(q,{class:"VPNavScreenMenuGroupLink",href:n.item.link,target:n.item.target,rel:n.item.rel,onClick:i(e)},{default:p(()=>[O(C(n.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const Mt=g($a,[["__scopeId","data-v-6656c42a"]]),ka={class:"VPNavScreenMenuGroupSection"},Pa={key:0,class:"title"},wa=y({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(t){return(e,n)=>(a(),l("div",ka,[e.text?(a(),l("p",Pa,C(e.text),1)):m("",!0),(a(!0),l(A,null,E(e.items,o=>(a(),P(Mt,{key:o.text,item:o},null,8,["item"]))),128))]))}});const Va=g(wa,[["__scopeId","data-v-8133b170"]]),Sa=["aria-controls","aria-expanded"],La={class:"button-text"},Ma=["id"],Ia={key:1,class:"group"},Na=y({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(t){const e=t,n=L(!1),o=w(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function s(){n.value=!n.value}return(r,c)=>(a(),l("div",{class:T(["VPNavScreenMenuGroup",{open:n.value}])},[_("button",{class:"button","aria-controls":o.value,"aria-expanded":n.value,onClick:s},[_("span",La,C(r.text),1),f(ba,{class:"button-icon"})],8,Sa),_("div",{id:o.value,class:"items"},[(a(!0),l(A,null,E(r.items,v=>(a(),l(A,{key:v.text},["link"in v?(a(),l("div",{key:v.text,class:"item"},[f(Mt,{item:v},null,8,["item"])])):(a(),l("div",Ia,[f(Va,{text:v.text,items:v.items},null,8,["text","items"])]))],64))),128))],8,Ma)],2))}});const Ca=g(Na,[["__scopeId","data-v-338a1689"]]),Aa={key:0,class:"VPNavScreenMenu"},Ta=y({__name:"VPNavScreenMenu",setup(t){const{theme:e}=N();return(n,o)=>i(e).nav?(a(),l("nav",Aa,[(a(!0),l(A,null,E(i(e).nav,s=>(a(),l(A,{key:s.text},["link"in s?(a(),P(pa,{key:0,item:s},null,8,["item"])):(a(),P(Ca,{key:1,text:s.text||"",items:s.items},null,8,["text","items"]))],64))),128))])):m("",!0)}}),Ba={key:0,class:"VPNavScreenAppearance"},xa={class:"text"},Oa=y({__name:"VPNavScreenAppearance",setup(t){const{site:e,theme:n}=N();return(o,s)=>i(e).appearance?(a(),l("div",Ba,[_("p",xa,C(i(n).darkModeSwitchLabel||"Appearance"),1),f(He)])):m("",!0)}});const Ea=g(Oa,[["__scopeId","data-v-add8f686"]]),Ha={class:"list"},Da=y({__name:"VPNavScreenTranslations",setup(t){const{localeLinks:e,currentLang:n}=ue({correspondingLink:!0}),o=L(!1);function s(){o.value=!o.value}return(r,c)=>i(e).length&&i(n).label?(a(),l("div",{key:0,class:T(["VPNavScreenTranslations",{open:o.value}])},[_("button",{class:"title",onClick:s},[f(wt,{class:"icon lang"}),O(" "+C(i(n).label)+" ",1),f(Pt,{class:"icon chevron"})]),_("ul",Ha,[(a(!0),l(A,null,E(i(e),v=>(a(),l("li",{key:v.link,class:"item"},[f(q,{class:"link",href:v.link},{default:p(()=>[O(C(v.text),1)]),_:2},1032,["href"])]))),128))])],2)):m("",!0)}});const za=g(Da,[["__scopeId","data-v-d72aa483"]]),Fa=y({__name:"VPNavScreenSocialLinks",setup(t){const{theme:e}=N();return(n,o)=>i(e).socialLinks?(a(),P(De,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):m("",!0)}}),ja={class:"container"},Ga=y({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(t){const e=L(null);function n(){St(e.value,{reserveScrollBarGap:!0})}function o(){Lt()}return(s,r)=>(a(),P(Ae,{name:"fade",onEnter:n,onAfterLeave:o},{default:p(()=>[s.open?(a(),l("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e},[_("div",ja,[d(s.$slots,"nav-screen-content-before",{},void 0,!0),f(Ta,{class:"menu"}),f(za,{class:"translations"}),f(Ea,{class:"appearance"}),f(Fa,{class:"social-links"}),d(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):m("",!0)]),_:3}))}});const Ra=g(Ga,[["__scopeId","data-v-724636ae"]]),Ua={class:"VPNav"},Wa=y({__name:"VPNav",setup(t){const{isScreenOpen:e,closeScreen:n,toggleScreen:o}=Fn();return he("close-screen",n),(s,r)=>(a(),l("header",Ua,[f(aa,{"is-screen-open":i(e),onToggleScreen:i(o)},{"nav-bar-title-before":p(()=>[d(s.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[d(s.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[d(s.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[d(s.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),f(Ra,{open:i(e)},{"nav-screen-content-before":p(()=>[d(s.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[d(s.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])]))}});const Ka=g(Wa,[["__scopeId","data-v-7e5bc4a5"]]);function qa(){const{hasSidebar:t}=G(),e=Se("(min-width: 960px)"),n=Se("(min-width: 1280px)");return{isAsideEnabled:w(()=>!n.value&&!e.value?!1:t.value?n.value:e.value)}}const Ya=71;function je(t){return typeof t.outline=="object"&&!Array.isArray(t.outline)&&t.outline.label||t.outlineTitle||"On this page"}function Ge(t){const e=[...document.querySelectorAll(".VPDoc h2,h3,h4,h5,h6")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const o=Number(n.tagName[1]);return{title:Ja(n),link:"#"+n.id,level:o}});return Xa(e,t)}function Ja(t){let e="";for(const n of t.childNodes)if(n.nodeType===1){if(n.classList.contains("VPBadge")||n.classList.contains("header-anchor"))continue;e+=n.textContent}else n.nodeType===3&&(e+=n.textContent);return e.trim()}function Xa(t,e){if(e===!1)return[];const n=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[o,s]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;t=t.filter(c=>c.level>=o&&c.level<=s);const r=[];e:for(let c=0;c=0;u--){const h=t[u];if(h.level{requestAnimationFrame(r),window.addEventListener("scroll",o)}),Gt(()=>{c(location.hash)}),Ce(()=>{window.removeEventListener("scroll",o)});function r(){if(!n.value)return;const v=[].slice.call(t.value.querySelectorAll(".outline-link")),u=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter(V=>v.some($=>$.hash===V.hash&&V.offsetParent!==null)),h=window.scrollY,b=window.innerHeight,k=document.body.offsetHeight,I=Math.abs(h+b-k)<1;if(u.length&&I){c(u[u.length-1].hash);return}for(let V=0;V{const s=X("VPDocOutlineItem",!0);return a(),l("ul",{class:T(n.root?"root":"nested")},[(a(!0),l(A,null,E(n.headers,({children:r,link:c,title:v})=>(a(),l("li",null,[_("a",{class:"outline-link",href:c,onClick:e,title:v},C(v),9,er),r!=null&&r.length?(a(),P(s,{key:0,headers:r},null,8,["headers"])):m("",!0)]))),256))],2)}}});const Re=g(tr,[["__scopeId","data-v-9a431c33"]]),nr={},or={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},sr=_("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),ar=[sr];function rr(t,e){return a(),l("svg",or,ar)}const Ue=g(nr,[["render",rr]]),ir=y({__name:"VPLocalNavOutlineDropdown",props:{headers:{}},setup(t){const{theme:e}=N(),n=L(!1),o=L(0),s=L();se(()=>{n.value=!1});function r(){n.value=!n.value,o.value=window.innerHeight+Math.min(window.scrollY-64,0)}function c(u){u.target.classList.contains("outline-link")&&(s.value&&(s.value.style.transition="none"),at(()=>{n.value=!1}))}function v(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(u,h)=>(a(),l("div",{class:"VPLocalNavOutlineDropdown",style:rt({"--vp-vh":o.value+"px"})},[u.headers.length>0?(a(),l("button",{key:0,onClick:r,class:T({open:n.value})},[O(C(i(je)(i(e)))+" ",1),f(Ue,{class:"icon"})],2)):(a(),l("button",{key:1,onClick:v},C(i(e).returnToTopLabel||"Return to top"),1)),f(Ae,{name:"flyout"},{default:p(()=>[n.value?(a(),l("div",{key:0,ref_key:"items",ref:s,class:"items",onClick:c},[_("a",{class:"top-link",href:"#",onClick:v},C(i(e).returnToTopLabel||"Return to top"),1),f(Re,{headers:u.headers},null,8,["headers"])],512)):m("",!0)]),_:1})],4))}});const lr=g(ir,[["__scopeId","data-v-687955bc"]]),cr={},ur={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},dr=_("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),_r=_("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),vr=_("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),pr=_("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),fr=[dr,_r,vr,pr];function hr(t,e){return a(),l("svg",ur,fr)}const mr=g(cr,[["render",hr]]),gr=["aria-expanded"],yr={class:"menu-text"},br=y({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(t){const{theme:e,frontmatter:n}=N(),{hasSidebar:o}=G(),{y:s}=yt(),r=le([]);se(()=>{r.value=Ge(n.value.outline??e.value.outline)});const c=w(()=>r.value.length===0&&!o.value),v=w(()=>({VPLocalNav:!0,fixed:c.value,"reached-top":s.value>=64}));return(u,h)=>i(n).layout!=="home"&&(!c.value||i(s)>=64)?(a(),l("div",{key:0,class:T(v.value)},[i(o)?(a(),l("button",{key:0,class:"menu","aria-expanded":u.open,"aria-controls":"VPSidebarNav",onClick:h[0]||(h[0]=b=>u.$emit("open-menu"))},[f(mr,{class:"menu-icon"}),_("span",yr,C(i(e).sidebarMenuLabel||"Menu"),1)],8,gr)):m("",!0),f(lr,{headers:r.value},null,8,["headers"])],2)):m("",!0)}});const $r=g(br,[["__scopeId","data-v-9074c407"]]),kr=t=>(F("data-v-c4656e6d"),t=t(),j(),t),Pr=["role","tabindex"],wr=kr(()=>_("div",{class:"indicator"},null,-1)),Vr=["onKeydown"],Sr={key:1,class:"items"},Lr=y({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(t){const e=t,{collapsed:n,collapsible:o,isLink:s,isActiveLink:r,hasActiveLink:c,hasChildren:v,toggle:u}=xn(w(()=>e.item)),h=w(()=>v.value?"section":"div"),b=w(()=>s.value?"a":"div"),k=w(()=>v.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),I=w(()=>s.value?void 0:"button"),V=w(()=>[[`level-${e.depth}`],{collapsible:o.value},{collapsed:n.value},{"is-link":s.value},{"is-active":r.value},{"has-active":c.value}]);function $(S){"key"in S&&S.key!=="Enter"||!e.item.link&&u()}function M(){e.item.link&&u()}return(S,x)=>{const z=X("VPSidebarItem",!0);return a(),P(Q(h.value),{class:T(["VPSidebarItem",V.value])},{default:p(()=>[S.item.text?(a(),l("div",fe({key:0,class:"item",role:I.value},Rt(S.item.items?{click:$,keydown:$}:{},!0),{tabindex:S.item.items&&0}),[wr,S.item.link?(a(),P(q,{key:0,tag:b.value,class:"link",href:S.item.link},{default:p(()=>[(a(),P(Q(k.value),{class:"text",innerHTML:S.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href"])):(a(),P(Q(k.value),{key:1,class:"text",innerHTML:S.item.text},null,8,["innerHTML"])),S.item.collapsed!=null?(a(),l("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:M,onKeydown:Ut(M,["enter"]),tabindex:"0"},[f(Ue,{class:"caret-icon"})],40,Vr)):m("",!0)],16,Pr)):m("",!0),S.item.items&&S.item.items.length?(a(),l("div",Sr,[S.depth<5?(a(!0),l(A,{key:0},E(S.item.items,D=>(a(),P(z,{key:D.text,item:D,depth:S.depth+1},null,8,["item","depth"]))),128)):m("",!0)])):m("",!0)]),_:1},8,["class"])}}});const Mr=g(Lr,[["__scopeId","data-v-c4656e6d"]]),It=t=>(F("data-v-af16598e"),t=t(),j(),t),Ir=It(()=>_("div",{class:"curtain"},null,-1)),Nr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Cr=It(()=>_("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Ar=y({__name:"VPSidebar",props:{open:{type:Boolean}},setup(t){const e=t,{sidebarGroups:n,hasSidebar:o}=G();let s=L(null);function r(){St(s.value,{reserveScrollBarGap:!0})}function c(){Lt()}return Wt(async()=>{var v;e.open?(r(),(v=s.value)==null||v.focus()):c()}),(v,u)=>i(o)?(a(),l("aside",{key:0,class:T(["VPSidebar",{open:v.open}]),ref_key:"navEl",ref:s,onClick:u[0]||(u[0]=Kt(()=>{},["stop"]))},[Ir,_("nav",Nr,[Cr,d(v.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),l(A,null,E(i(n),h=>(a(),l("div",{key:h.text,class:"group"},[f(Mr,{item:h,depth:0},null,8,["item"])]))),128)),d(v.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):m("",!0)}});const Tr=g(Ar,[["__scopeId","data-v-af16598e"]]),Br={},xr={class:"VPPage"};function Or(t,e){const n=X("Content");return a(),l("div",xr,[d(t.$slots,"page-top"),f(n),d(t.$slots,"page-bottom")])}const Er=g(Br,[["render",Or]]),Hr=y({__name:"VPButton",props:{tag:{},size:{},theme:{},text:{},href:{}},setup(t){const e=t,n=w(()=>[e.size??"medium",e.theme??"brand"]),o=w(()=>e.href&&it.test(e.href)),s=w(()=>e.tag?e.tag:e.href?"a":"button");return(r,c)=>(a(),P(Q(s.value),{class:T(["VPButton",n.value]),href:r.href?i(ie)(r.href):void 0,target:o.value?"_blank":void 0,rel:o.value?"noreferrer":void 0},{default:p(()=>[O(C(r.text),1)]),_:1},8,["class","href","target","rel"]))}});const Dr=g(Hr,[["__scopeId","data-v-567ba664"]]),zr=t=>(F("data-v-fd2650d5"),t=t(),j(),t),Fr={class:"container"},jr={class:"main"},Gr={key:0,class:"name"},Rr={class:"clip"},Ur={key:1,class:"text"},Wr={key:2,class:"tagline"},Kr={key:0,class:"actions"},qr={key:0,class:"image"},Yr={class:"image-container"},Jr=zr(()=>_("div",{class:"image-bg"},null,-1)),Xr=y({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(t){const e=Te("hero-image-slot-exists");return(n,o)=>(a(),l("div",{class:T(["VPHero",{"has-image":n.image||i(e)}])},[_("div",Fr,[_("div",jr,[d(n.$slots,"home-hero-info",{},()=>[n.name?(a(),l("h1",Gr,[_("span",Rr,C(n.name),1)])):m("",!0),n.text?(a(),l("p",Ur,C(n.text),1)):m("",!0),n.tagline?(a(),l("p",Wr,C(n.tagline),1)):m("",!0)],!0),n.actions?(a(),l("div",Kr,[(a(!0),l(A,null,E(n.actions,s=>(a(),l("div",{key:s.link,class:"action"},[f(Dr,{tag:"a",size:"medium",theme:s.theme,text:s.text,href:s.link},null,8,["theme","text","href"])]))),128))])):m("",!0)]),n.image||i(e)?(a(),l("div",qr,[_("div",Yr,[Jr,d(n.$slots,"home-hero-image",{},()=>[n.image?(a(),P(xe,{key:0,class:"image-src",image:n.image},null,8,["image"])):m("",!0)],!0)])])):m("",!0)])],2))}});const Qr=g(Xr,[["__scopeId","data-v-fd2650d5"]]),Zr=y({__name:"VPHomeHero",setup(t){const{frontmatter:e}=N();return(n,o)=>i(e).hero?(a(),P(Qr,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info":p(()=>[d(n.$slots,"home-hero-info")]),"home-hero-image":p(()=>[d(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):m("",!0)}}),ei={},ti={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},ni=_("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),oi=[ni];function si(t,e){return a(),l("svg",ti,oi)}const ai=g(ei,[["render",si]]),ri={class:"box"},ii=["innerHTML"],li=["innerHTML"],ci=["innerHTML"],ui={key:3,class:"link-text"},di={class:"link-text-value"},_i=y({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{}},setup(t){return(e,n)=>(a(),P(q,{class:"VPFeature",href:e.link,"no-icon":!0},{default:p(()=>[_("article",ri,[typeof e.icon=="object"?(a(),P(xe,{key:0,image:e.icon,alt:e.icon.alt,height:e.icon.height,width:e.icon.width},null,8,["image","alt","height","width"])):e.icon?(a(),l("div",{key:1,class:"icon",innerHTML:e.icon},null,8,ii)):m("",!0),_("h2",{class:"title",innerHTML:e.title},null,8,li),e.details?(a(),l("p",{key:2,class:"details",innerHTML:e.details},null,8,ci)):m("",!0),e.linkText?(a(),l("div",ui,[_("p",di,[O(C(e.linkText)+" ",1),f(ai,{class:"link-text-icon"})])])):m("",!0)])]),_:1},8,["href"]))}});const vi=g(_i,[["__scopeId","data-v-837f6cca"]]),pi={key:0,class:"VPFeatures"},fi={class:"container"},hi={class:"items"},mi=y({__name:"VPFeatures",props:{features:{}},setup(t){const e=t,n=w(()=>{const o=e.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,s)=>o.features?(a(),l("div",pi,[_("div",fi,[_("div",hi,[(a(!0),l(A,null,E(o.features,r=>(a(),l("div",{key:r.title,class:T(["item",[n.value]])},[f(vi,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText},null,8,["icon","title","details","link","link-text"])],2))),128))])])])):m("",!0)}});const gi=g(mi,[["__scopeId","data-v-ba861f23"]]),yi=y({__name:"VPHomeFeatures",setup(t){const{frontmatter:e}=N();return(n,o)=>i(e).features?(a(),P(gi,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):m("",!0)}}),bi={class:"VPHome"},$i=y({__name:"VPHome",setup(t){return(e,n)=>{const o=X("Content");return a(),l("div",bi,[d(e.$slots,"home-hero-before",{},void 0,!0),f(Zr,null,{"home-hero-info":p(()=>[d(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[d(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),d(e.$slots,"home-hero-after",{},void 0,!0),d(e.$slots,"home-features-before",{},void 0,!0),f(yi),d(e.$slots,"home-features-after",{},void 0,!0),f(o)])}}});const ki=g($i,[["__scopeId","data-v-d82743a8"]]),Pi=t=>(F("data-v-ff0f39c8"),t=t(),j(),t),wi={class:"content"},Vi={class:"outline-title"},Si={"aria-labelledby":"doc-outline-aria-label"},Li=Pi(()=>_("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Mi=y({__name:"VPDocAsideOutline",setup(t){const{frontmatter:e,theme:n}=N(),o=le([]);se(()=>{o.value=Ge(e.value.outline??n.value.outline)});const s=L(),r=L();return Qa(s,r),(c,v)=>(a(),l("div",{class:T(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:s},[_("div",wi,[_("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),_("div",Vi,C(i(je)(i(n))),1),_("nav",Si,[Li,f(Re,{headers:o.value,root:!0},null,8,["headers"])])])],2))}});const Ii=g(Mi,[["__scopeId","data-v-ff0f39c8"]]),Ni={class:"VPDocAsideCarbonAds"},Ci=y({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(t){const e=()=>null;return(n,o)=>(a(),l("div",Ni,[f(i(e),{"carbon-ads":n.carbonAds},null,8,["carbon-ads"])]))}}),Ai=t=>(F("data-v-3f215769"),t=t(),j(),t),Ti={class:"VPDocAside"},Bi=Ai(()=>_("div",{class:"spacer"},null,-1)),xi=y({__name:"VPDocAside",setup(t){const{theme:e}=N();return(n,o)=>(a(),l("div",Ti,[d(n.$slots,"aside-top",{},void 0,!0),d(n.$slots,"aside-outline-before",{},void 0,!0),f(Ii),d(n.$slots,"aside-outline-after",{},void 0,!0),Bi,d(n.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(a(),P(Ci,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):m("",!0),d(n.$slots,"aside-ads-after",{},void 0,!0),d(n.$slots,"aside-bottom",{},void 0,!0)]))}});const Oi=g(xi,[["__scopeId","data-v-3f215769"]]);function Ei(){const{theme:t,page:e}=N();return w(()=>{const{text:n="Edit this page",pattern:o=""}=t.value.editLink||{};let s;return typeof o=="function"?s=o(e.value):s=o.replace(/:path/g,e.value.filePath),{url:s,text:n}})}function Hi(){const{page:t,theme:e,frontmatter:n}=N();return w(()=>{var u,h,b,k,I,V;const o=bt(e.value.sidebar,t.value.relativePath),s=Tn(o),r=s.findIndex($=>te(t.value.relativePath,$.link)),c=((u=e.value.docFooter)==null?void 0:u.prev)===!1&&!n.value.prev||n.value.prev===!1,v=((h=e.value.docFooter)==null?void 0:h.next)===!1&&!n.value.next||n.value.next===!1;return{prev:c?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??((b=s[r-1])==null?void 0:b.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??((k=s[r-1])==null?void 0:k.link)},next:v?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((I=s[r+1])==null?void 0:I.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((V=s[r+1])==null?void 0:V.link)}}})}const Di={},zi={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Fi=_("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),ji=_("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),Gi=[Fi,ji];function Ri(t,e){return a(),l("svg",zi,Gi)}const Ui=g(Di,[["render",Ri]]),Wi={class:"VPLastUpdated"},Ki=["datetime"],qi=y({__name:"VPDocFooterLastUpdated",setup(t){const{theme:e,page:n,lang:o}=N(),s=w(()=>new Date(n.value.lastUpdated)),r=w(()=>s.value.toISOString()),c=L("");return R(()=>{ee(()=>{c.value=s.value.toLocaleString(o.value)})}),(v,u)=>(a(),l("p",Wi,[O(C(i(e).lastUpdatedText||"Last updated")+": ",1),_("time",{datetime:r.value},C(c.value),9,Ki)]))}});const Yi=g(qi,[["__scopeId","data-v-7b3ebfe1"]]),Ji={key:0,class:"VPDocFooter"},Xi={key:0,class:"edit-info"},Qi={key:0,class:"edit-link"},Zi={key:1,class:"last-updated"},el={key:1,class:"prev-next"},tl={class:"pager"},nl=["href"],ol=["innerHTML"],sl=["innerHTML"],al=["href"],rl=["innerHTML"],il=["innerHTML"],ll=y({__name:"VPDocFooter",setup(t){const{theme:e,page:n,frontmatter:o}=N(),s=Ei(),r=Hi(),c=w(()=>e.value.editLink&&o.value.editLink!==!1),v=w(()=>n.value.lastUpdated&&o.value.lastUpdated!==!1),u=w(()=>c.value||v.value||r.value.prev||r.value.next);return(h,b)=>{var k,I,V,$,M,S,x;return u.value?(a(),l("footer",Ji,[d(h.$slots,"doc-footer-before",{},void 0,!0),c.value||v.value?(a(),l("div",Xi,[c.value?(a(),l("div",Qi,[f(q,{class:"edit-link-button",href:i(s).url,"no-icon":!0},{default:p(()=>[f(Ui,{class:"edit-link-icon","aria-label":"edit icon"}),O(" "+C(i(s).text),1)]),_:1},8,["href"])])):m("",!0),v.value?(a(),l("div",Zi,[f(Yi)])):m("",!0)])):m("",!0),(k=i(r).prev)!=null&&k.link||(I=i(r).next)!=null&&I.link?(a(),l("div",el,[_("div",tl,[(V=i(r).prev)!=null&&V.link?(a(),l("a",{key:0,class:"pager-link prev",href:i(ie)(i(r).prev.link)},[_("span",{class:"desc",innerHTML:(($=i(e).docFooter)==null?void 0:$.prev)||"Previous page"},null,8,ol),_("span",{class:"title",innerHTML:i(r).prev.text},null,8,sl)],8,nl)):m("",!0)]),_("div",{class:T(["pager",{"has-prev":(M=i(r).prev)==null?void 0:M.link}])},[(S=i(r).next)!=null&&S.link?(a(),l("a",{key:0,class:"pager-link next",href:i(ie)(i(r).next.link)},[_("span",{class:"desc",innerHTML:((x=i(e).docFooter)==null?void 0:x.next)||"Next page"},null,8,rl),_("span",{class:"title",innerHTML:i(r).next.text},null,8,il)],8,al)):m("",!0)],2)])):m("",!0)])):m("",!0)}}});const cl=g(ll,[["__scopeId","data-v-face870a"]]),ul={key:0,class:"VPDocOutlineDropdown"},dl={key:0,class:"items"},_l=y({__name:"VPDocOutlineDropdown",setup(t){const{frontmatter:e,theme:n}=N(),o=L(!1);se(()=>{o.value=!1});const s=le([]);return se(()=>{s.value=Ge(e.value.outline??n.value.outline)}),(r,c)=>s.value.length>0?(a(),l("div",ul,[_("button",{onClick:c[0]||(c[0]=v=>o.value=!o.value),class:T({open:o.value})},[O(C(i(je)(i(n)))+" ",1),f(Ue,{class:"icon"})],2),o.value?(a(),l("div",dl,[f(Re,{headers:s.value},null,8,["headers"])])):m("",!0)])):m("",!0)}});const vl=g(_l,[["__scopeId","data-v-2edece88"]]),pl=t=>(F("data-v-c4b0d3cf"),t=t(),j(),t),fl={class:"container"},hl=pl(()=>_("div",{class:"aside-curtain"},null,-1)),ml={class:"aside-container"},gl={class:"aside-content"},yl={class:"content"},bl={class:"content-container"},$l={class:"main"},kl=y({__name:"VPDoc",setup(t){const e=ce(),{hasSidebar:n,hasAside:o,leftAside:s}=G(),r=w(()=>e.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(c,v)=>{const u=X("Content");return a(),l("div",{class:T(["VPDoc",{"has-sidebar":i(n),"has-aside":i(o)}])},[d(c.$slots,"doc-top",{},void 0,!0),_("div",fl,[i(o)?(a(),l("div",{key:0,class:T(["aside",{"left-aside":i(s)}])},[hl,_("div",ml,[_("div",gl,[f(Oi,null,{"aside-top":p(()=>[d(c.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[d(c.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[d(c.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[d(c.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[d(c.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[d(c.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):m("",!0),_("div",yl,[_("div",bl,[d(c.$slots,"doc-before",{},void 0,!0),f(vl),_("main",$l,[f(u,{class:T(["vp-doc",r.value])},null,8,["class"])]),f(cl,null,{"doc-footer-before":p(()=>[d(c.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),d(c.$slots,"doc-after",{},void 0,!0)])])]),d(c.$slots,"doc-bottom",{},void 0,!0)],2)}}});const Pl=g(kl,[["__scopeId","data-v-c4b0d3cf"]]),Pe=t=>(F("data-v-c70503b8"),t=t(),j(),t),wl={class:"NotFound"},Vl=Pe(()=>_("p",{class:"code"},"404",-1)),Sl=Pe(()=>_("h1",{class:"title"},"PAGE NOT FOUND",-1)),Ll=Pe(()=>_("div",{class:"divider"},null,-1)),Ml=Pe(()=>_("blockquote",{class:"quote"}," But if you don't change your direction, and if you keep looking, you may end up where you are heading. ",-1)),Il={class:"action"},Nl=["href"],Cl=y({__name:"NotFound",setup(t){const{site:e}=N(),{localeLinks:n}=ue({removeCurrent:!1}),o=L("/");return R(()=>{var r;const s=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(o.value=((r=n.value.find(({link:c})=>c.startsWith(s)))==null?void 0:r.link)||n.value[0].link)}),(s,r)=>(a(),l("div",wl,[Vl,Sl,Ll,Ml,_("div",Il,[_("a",{class:"link",href:i(Ne)(o.value),"aria-label":"go to home"}," Take me home ",8,Nl)])]))}});const Al=g(Cl,[["__scopeId","data-v-c70503b8"]]),Tl=y({__name:"VPContent",setup(t){const{page:e,frontmatter:n}=N(),{hasSidebar:o}=G();return(s,r)=>(a(),l("div",{class:T(["VPContent",{"has-sidebar":i(o),"is-home":i(n).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?d(s.$slots,"not-found",{key:0},()=>[f(Al)],!0):i(n).layout==="page"?(a(),P(Er,{key:1},{"page-top":p(()=>[d(s.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[d(s.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(n).layout==="home"?(a(),P(ki,{key:2},{"home-hero-before":p(()=>[d(s.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":p(()=>[d(s.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[d(s.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[d(s.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[d(s.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[d(s.$slots,"home-features-after",{},void 0,!0)]),_:3})):(a(),P(Pl,{key:3},{"doc-top":p(()=>[d(s.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[d(s.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":p(()=>[d(s.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[d(s.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[d(s.$slots,"doc-after",{},void 0,!0)]),"aside-top":p(()=>[d(s.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":p(()=>[d(s.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[d(s.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[d(s.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[d(s.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":p(()=>[d(s.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const Bl=g(Tl,[["__scopeId","data-v-a494bd1d"]]),xl={class:"container"},Ol=["innerHTML"],El=["innerHTML"],Hl=y({__name:"VPFooter",setup(t){const{theme:e}=N(),{hasSidebar:n}=G();return(o,s)=>i(e).footer?(a(),l("footer",{key:0,class:T(["VPFooter",{"has-sidebar":i(n)}])},[_("div",xl,[i(e).footer.message?(a(),l("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,Ol)):m("",!0),i(e).footer.copyright?(a(),l("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,El)):m("",!0)])],2)):m("",!0)}});const Dl=g(Hl,[["__scopeId","data-v-f7fc41f4"]]),zl={key:0,class:"Layout"},Fl=y({__name:"Layout",setup(t){const{isOpen:e,open:n,close:o}=G(),s=ce();K(()=>s.path,o),Bn(e,o),he("close-sidebar",o),he("is-sidebar-open",e);const{frontmatter:r}=N(),c=qt(),v=w(()=>!!c["home-hero-image"]);return he("hero-image-slot-exists",v),(u,h)=>{const b=X("Content");return i(r).layout!==!1?(a(),l("div",zl,[d(u.$slots,"layout-top",{},void 0,!0),f(En),f(zn,{class:"backdrop",show:i(e),onClick:i(o)},null,8,["show","onClick"]),f(Ka,null,{"nav-bar-title-before":p(()=>[d(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[d(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[d(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[d(u.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":p(()=>[d(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[d(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),f($r,{open:i(e),onOpenMenu:i(n)},null,8,["open","onOpenMenu"]),f(Tr,{open:i(e)},{"sidebar-nav-before":p(()=>[d(u.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":p(()=>[d(u.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),f(Bl,null,{"page-top":p(()=>[d(u.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[d(u.$slots,"page-bottom",{},void 0,!0)]),"not-found":p(()=>[d(u.$slots,"not-found",{},void 0,!0)]),"home-hero-before":p(()=>[d(u.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":p(()=>[d(u.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[d(u.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[d(u.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[d(u.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[d(u.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":p(()=>[d(u.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[d(u.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[d(u.$slots,"doc-after",{},void 0,!0)]),"doc-top":p(()=>[d(u.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[d(u.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":p(()=>[d(u.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[d(u.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[d(u.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[d(u.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[d(u.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[d(u.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),f(Dl),d(u.$slots,"layout-bottom",{},void 0,!0)])):(a(),P(b,{key:1}))}}});const jl=g(Fl,[["__scopeId","data-v-b2cf3e0b"]]);const Yl={Layout:jl,enhanceApp:({app:t})=>{t.component("Badge",Jt)}};function Jl(t,e){const{localeIndex:n}=N();function o(s){var V,$;const r=s.split("."),c=t&&typeof t=="object",v=c&&(($=(V=t.locales)==null?void 0:V[n.value])==null?void 0:$.translations)||null,u=c&&t.translations||null;let h=v,b=u,k=e;const I=r.pop();for(const M of r){let S=null;const x=k==null?void 0:k[M];x&&(S=k=x);const z=b==null?void 0:b[M];z&&(S=b=z);const D=h==null?void 0:h[M];D&&(S=h=D),x||(k=S),z||(b=S),D||(h=S)}return(h==null?void 0:h[I])??(b==null?void 0:b[I])??(k==null?void 0:k[I])??""}return o}export{Be as a,N as b,Ul as c,ql as d,Wl as e,Jl as f,re as g,Kl as h,Xe as o,Yl as t,gn as u,Rl as w}; diff --git a/docs/.vitepress/dist/assets/guide_components_breadcrumb.md.56a47eca.js b/docs/.vitepress/dist/assets/guide_components_breadcrumb.md.56a47eca.js new file mode 100644 index 0000000..b905fe8 --- /dev/null +++ b/docs/.vitepress/dist/assets/guide_components_breadcrumb.md.56a47eca.js @@ -0,0 +1,77 @@ +import{d as p,H as o,c as t,J as l,V as s,o as e}from"./chunks/framework.dc35932b.js";const c=s('

面包屑 QBreadcrumb


显示当前页面在系统层级结构中的位置,并能向上返回

何时使用

  • 当系统拥有超过两级以上的层级结构时
  • 当需要告知用户『你在哪里』时
  • 当需要向上导航的功能时

基本使用

',6),r=s(`
Show Code
vue
<script setup lang="ts">
+const routes = [
+  {
+    path: "/first", // 路由地址
+    query: { id: 1, tab: 2 }, // 路由参数
+    name: "一级路由", // 路由名称
+  },
+  {
+    path: "/second",
+    name: "二级路由",
+  },
+  {
+    path: "/third",
+    name: "三级路由三级路由三级路由三级路由",
+  },
+]
+</script>
+<template>
+  <QBreadcrumb :routes="routes" />
+</template>

自定义分隔符

`,2),D=s(`
Show Code
vue
<script setup lang="ts">
+const routes = [
+  {
+    path: "/first", // 路由地址
+    query: { id: 1, tab: 2 }, // 路由参数
+    name: "一级路由", // 路由名称
+  },
+  {
+    path: "/second",
+    name: "二级路由",
+  },
+  {
+    path: "/third",
+    name: "三级路由三级路由三级路由三级路由",
+  },
+]
+</script>
+<template>
+  <QBreadcrumb :routes="routes" separator="/" />
+</template>

自定义样式

`,2),y=s(`
Show Code
vue
<script setup lang="ts">
+const routes = [
+  {
+    path: "/first", // 路由地址
+    query: { id: 1, tab: 2 }, // 路由参数
+    name: "一级路由", // 路由名称
+  },
+  {
+    path: "/second",
+    name: "二级路由",
+  },
+  {
+    path: "/third",
+    name: "三级路由三级路由三级路由三级路由三级路由",
+  },
+]
+</script>
+<template>
+  <QBreadcrumb :routes="routes" :font-size="16" />
+</template>

新页面打开目标链接

`,2),F=s(`
Show Code
vue
<script setup lang="ts">
+const routes = [
+  {
+    path: "/first", // 路由地址
+    query: { id: 1, tab: 2 }, // 路由参数
+    name: "一级路由", // 路由名称
+  },
+  {
+    path: "/second",
+    name: "二级路由",
+  },
+  {
+    path: "/third",
+    name: "三级路由三级路由三级路由三级路由",
+  },
+]
+</script>
+<template>
+  <QBreadcrumb :routes="routes" target="_blank" />
+</template>

APIs

参数说明类型默认值必传
routes路由数组Route[][]true
fontSize字体大小,单位 pxnumber14false
height面包屑高度number36false
maxWidth文本最大显示宽度,超出后显示省略号,单位 px180false
separator分隔符,默认''时为箭头string''false
target如何打开目标 URL'_self' | '_blank''_self'false

Route Type

名称说明类型必传
path路由地址stringtrue
query路由查询参数[propName: string]: anyfalse
name路由名称stringtrue
`,5),h=JSON.parse('{"title":"面包屑 QBreadcrumb","description":"","frontmatter":{},"headers":[],"relativePath":"guide/components/breadcrumb.md","filePath":"guide/components/breadcrumb.md"}'),C={name:"guide/components/breadcrumb.md"},m=p({...C,setup(A){const a=[{path:"/first",query:{id:1,tab:2},name:"一级路由"},{path:"/second",name:"二级路由"},{path:"/third",name:"三级路由三级路由三级路由三级路由"}];return(i,d)=>{const n=o("QBreadcrumb");return e(),t("div",null,[c,l(n,{routes:a}),r,l(n,{routes:a,separator:"/"}),D,l(n,{routes:a,"font-size":16}),y,l(n,{routes:a,target:"_blank"}),F])}}});export{h as __pageData,m as default}; diff --git a/docs/.vitepress/dist/assets/guide_components_breadcrumb.md.56a47eca.lean.js b/docs/.vitepress/dist/assets/guide_components_breadcrumb.md.56a47eca.lean.js new file mode 100644 index 0000000..b905fe8 --- /dev/null +++ b/docs/.vitepress/dist/assets/guide_components_breadcrumb.md.56a47eca.lean.js @@ -0,0 +1,77 @@ +import{d as p,H as o,c as t,J as l,V as s,o as e}from"./chunks/framework.dc35932b.js";const c=s('

面包屑 QBreadcrumb


显示当前页面在系统层级结构中的位置,并能向上返回

何时使用

  • 当系统拥有超过两级以上的层级结构时
  • 当需要告知用户『你在哪里』时
  • 当需要向上导航的功能时

基本使用

',6),r=s(`
Show Code
vue
<script setup lang="ts">
+const routes = [
+  {
+    path: "/first", // 路由地址
+    query: { id: 1, tab: 2 }, // 路由参数
+    name: "一级路由", // 路由名称
+  },
+  {
+    path: "/second",
+    name: "二级路由",
+  },
+  {
+    path: "/third",
+    name: "三级路由三级路由三级路由三级路由",
+  },
+]
+</script>
+<template>
+  <QBreadcrumb :routes="routes" />
+</template>

自定义分隔符

`,2),D=s(`
Show Code
vue
<script setup lang="ts">
+const routes = [
+  {
+    path: "/first", // 路由地址
+    query: { id: 1, tab: 2 }, // 路由参数
+    name: "一级路由", // 路由名称
+  },
+  {
+    path: "/second",
+    name: "二级路由",
+  },
+  {
+    path: "/third",
+    name: "三级路由三级路由三级路由三级路由",
+  },
+]
+</script>
+<template>
+  <QBreadcrumb :routes="routes" separator="/" />
+</template>

自定义样式

`,2),y=s(`
Show Code
vue
<script setup lang="ts">
+const routes = [
+  {
+    path: "/first", // 路由地址
+    query: { id: 1, tab: 2 }, // 路由参数
+    name: "一级路由", // 路由名称
+  },
+  {
+    path: "/second",
+    name: "二级路由",
+  },
+  {
+    path: "/third",
+    name: "三级路由三级路由三级路由三级路由三级路由",
+  },
+]
+</script>
+<template>
+  <QBreadcrumb :routes="routes" :font-size="16" />
+</template>

新页面打开目标链接

`,2),F=s(`
Show Code
vue
<script setup lang="ts">
+const routes = [
+  {
+    path: "/first", // 路由地址
+    query: { id: 1, tab: 2 }, // 路由参数
+    name: "一级路由", // 路由名称
+  },
+  {
+    path: "/second",
+    name: "二级路由",
+  },
+  {
+    path: "/third",
+    name: "三级路由三级路由三级路由三级路由",
+  },
+]
+</script>
+<template>
+  <QBreadcrumb :routes="routes" target="_blank" />
+</template>

APIs

参数说明类型默认值必传
routes路由数组Route[][]true
fontSize字体大小,单位 pxnumber14false
height面包屑高度number36false
maxWidth文本最大显示宽度,超出后显示省略号,单位 px180false
separator分隔符,默认''时为箭头string''false
target如何打开目标 URL'_self' | '_blank''_self'false

Route Type

名称说明类型必传
path路由地址stringtrue
query路由查询参数[propName: string]: anyfalse
name路由名称stringtrue
`,5),h=JSON.parse('{"title":"面包屑 QBreadcrumb","description":"","frontmatter":{},"headers":[],"relativePath":"guide/components/breadcrumb.md","filePath":"guide/components/breadcrumb.md"}'),C={name:"guide/components/breadcrumb.md"},m=p({...C,setup(A){const a=[{path:"/first",query:{id:1,tab:2},name:"一级路由"},{path:"/second",name:"二级路由"},{path:"/third",name:"三级路由三级路由三级路由三级路由"}];return(i,d)=>{const n=o("QBreadcrumb");return e(),t("div",null,[c,l(n,{routes:a}),r,l(n,{routes:a,separator:"/"}),D,l(n,{routes:a,"font-size":16}),y,l(n,{routes:a,target:"_blank"}),F])}}});export{h as __pageData,m as default}; diff --git a/docs/.vitepress/dist/assets/guide_components_button.md.881ed501.js b/docs/.vitepress/dist/assets/guide_components_button.md.881ed501.js new file mode 100644 index 0000000..c9197ef --- /dev/null +++ b/docs/.vitepress/dist/assets/guide_components_button.md.881ed501.js @@ -0,0 +1,42 @@ +import{d as i,h as C,H as F,c as u,C as p,J as s,E as n,n as c,V as r,o as A,a as o,_ as g}from"./chunks/framework.dc35932b.js";const q=r('

按钮

何时使用

  • 当需要添加一个操作按钮时

基本使用

',4),h=r(`
Show Code
vue
<script setup lang="ts">
+function onClick(e: Event) {
+  console.log("click")
+}
+</script>
+<template>
+  <q-button @click="onClick">Default</q-button>
+  <q-button effect="reverse" @click="onClick">Reverse</q-button>
+  <q-button type="primary" @click="onClick">Primary</q-button>
+  <q-button type="danger" @click="onClick">Danger</q-button>
+  <q-button disabled @click="onClick">Disabled</q-button>
+</template>

大、中、小三种尺寸

`,2),m=r(`
Show Code
vue
<script setup lang="ts">
+function onClick(e: Event) {
+  console.log("click")
+}
+</script>
+<template>
+  <q-button size="small" @click="onClick">Small</q-button>
+  <q-button @click="onClick">Default</q-button>
+  <q-button size="large" @click="onClick">Large</q-button>
+</template>

自定义样式

`,2),E=p("p",{style:{"font-size":"18px"}},"自定义样式",-1),f=r(`
Show Code
vue
<script setup lang="ts">
+function onClick(e: Event) {
+  console.log("click")
+}
+</script>
+<template>
+  <q-button :width="120" :height="40" :border-radius="8" size="large" @click="onClick">
+    <p style="font-size: 18px;">自定义样式</p>
+  </q-button>
+</template>

加载中状态

`,2),b=r(`
Show Code
vue
<script setup lang="ts">
+import { ref } from "vue"
+const loading = ref(true)
+function onClick(e: Event) {
+  console.log("click")
+}
+</script>
+<template>
+  <q-button :loading="loading" @click="onClick">Default</q-button>
+  <q-button :loading="loading" type="primary" @click="onClick">Primary</q-button>
+  <q-button :loading="loading" type="danger" @click="onClick">Danger</q-button>
+  <h3>Loading state: <Switch v-model:checked="loading" /></h3>
+</template>

APIs

参数说明类型默认值必传
name默认文本string | slot'按钮'false
type类型'default' | 'primary' | 'danger''default'false
effect悬浮变化效果,只有 type 为 default 时,effect 才生效'fade' | 'reverse'''
size尺寸'small' | 'middle' | 'large''_self'false
width宽度,优先级高于 size 属性,为 0 时自适应内容的宽度number0false
height高度,优先级高于 size 属性number0false
borderRadius圆角number5false
route跳转目标 URL 地址{path?: string, query?: object}{}false
target如何打开目标 URL,设置 route 时生效'_self' | '_blank''_self'false
disabled是否禁用booleanfalsefalse
loading是否加载中booleanfalsefalse
center是否将按钮设置为块级元素并居中展示booleanfalsefalse

Events

事件名称说明参数
click点击按钮时的回调,未设置 route 时生效(e: Event) => void
`,5),w=JSON.parse('{"title":"按钮","description":"","frontmatter":{},"headers":[],"relativePath":"guide/components/button.md","filePath":"guide/components/button.md"}'),k={name:"guide/components/button.md"},_=i({...k,setup(P){const e=C(!0);function a(t){console.log("click")}return(t,D)=>{const l=F("q-button"),y=F("Switch");return A(),u("div",null,[q,p("div",{class:c(t.$style["m-flex"])},[s(l,{onClick:a},{default:n(()=>[o("Default")]),_:1}),s(l,{effect:"reverse",onClick:a},{default:n(()=>[o("Reverse")]),_:1}),s(l,{type:"primary",onClick:a},{default:n(()=>[o("Primary")]),_:1}),s(l,{type:"danger",onClick:a},{default:n(()=>[o("Danger")]),_:1}),s(l,{disabled:"",onClick:a},{default:n(()=>[o("Disabled")]),_:1})],2),h,p("div",{class:c(t.$style["m-flex"])},[s(l,{size:"small",onClick:a},{default:n(()=>[o("Small")]),_:1}),s(l,{onClick:a},{default:n(()=>[o("Default")]),_:1}),s(l,{size:"large",onClick:a},{default:n(()=>[o("Large")]),_:1})],2),m,s(l,{width:120,height:40,"border-radius":8,size:"large",onClick:a},{default:n(()=>[E]),_:1}),f,p("div",{class:c(t.$style["m-flex"])},[s(l,{loading:e.value,onClick:a},{default:n(()=>[o("Default")]),_:1},8,["loading"]),s(l,{loading:e.value,type:"primary",onClick:a},{default:n(()=>[o("Primary")]),_:1},8,["loading"]),s(l,{loading:e.value,type:"danger",onClick:a},{default:n(()=>[o("Danger")]),_:1},8,["loading"])],2),p("div",{class:c(t.$style["m-flex"]),style:{"margin-top":"30px"}},[p("h3",{class:c(t.$style["u-h3"])},"Loading state: ",2),s(y,{checked:e.value,"onUpdate:checked":D[0]||(D[0]=d=>e.value=d)},null,8,["checked"])],2),b])}}}),v={"m-flex":"_m-flex_xogkl_2","u-h3":"_u-h3_xogkl_8"},x={$style:v},B=g(_,[["__cssModules",x]]);export{w as __pageData,B as default}; diff --git a/docs/.vitepress/dist/assets/guide_components_button.md.881ed501.lean.js b/docs/.vitepress/dist/assets/guide_components_button.md.881ed501.lean.js new file mode 100644 index 0000000..c9197ef --- /dev/null +++ b/docs/.vitepress/dist/assets/guide_components_button.md.881ed501.lean.js @@ -0,0 +1,42 @@ +import{d as i,h as C,H as F,c as u,C as p,J as s,E as n,n as c,V as r,o as A,a as o,_ as g}from"./chunks/framework.dc35932b.js";const q=r('

按钮

何时使用

  • 当需要添加一个操作按钮时

基本使用

',4),h=r(`
Show Code
vue
<script setup lang="ts">
+function onClick(e: Event) {
+  console.log("click")
+}
+</script>
+<template>
+  <q-button @click="onClick">Default</q-button>
+  <q-button effect="reverse" @click="onClick">Reverse</q-button>
+  <q-button type="primary" @click="onClick">Primary</q-button>
+  <q-button type="danger" @click="onClick">Danger</q-button>
+  <q-button disabled @click="onClick">Disabled</q-button>
+</template>

大、中、小三种尺寸

`,2),m=r(`
Show Code
vue
<script setup lang="ts">
+function onClick(e: Event) {
+  console.log("click")
+}
+</script>
+<template>
+  <q-button size="small" @click="onClick">Small</q-button>
+  <q-button @click="onClick">Default</q-button>
+  <q-button size="large" @click="onClick">Large</q-button>
+</template>

自定义样式

`,2),E=p("p",{style:{"font-size":"18px"}},"自定义样式",-1),f=r(`
Show Code
vue
<script setup lang="ts">
+function onClick(e: Event) {
+  console.log("click")
+}
+</script>
+<template>
+  <q-button :width="120" :height="40" :border-radius="8" size="large" @click="onClick">
+    <p style="font-size: 18px;">自定义样式</p>
+  </q-button>
+</template>

加载中状态

`,2),b=r(`
Show Code
vue
<script setup lang="ts">
+import { ref } from "vue"
+const loading = ref(true)
+function onClick(e: Event) {
+  console.log("click")
+}
+</script>
+<template>
+  <q-button :loading="loading" @click="onClick">Default</q-button>
+  <q-button :loading="loading" type="primary" @click="onClick">Primary</q-button>
+  <q-button :loading="loading" type="danger" @click="onClick">Danger</q-button>
+  <h3>Loading state: <Switch v-model:checked="loading" /></h3>
+</template>

APIs

参数说明类型默认值必传
name默认文本string | slot'按钮'false
type类型'default' | 'primary' | 'danger''default'false
effect悬浮变化效果,只有 type 为 default 时,effect 才生效'fade' | 'reverse'''
size尺寸'small' | 'middle' | 'large''_self'false
width宽度,优先级高于 size 属性,为 0 时自适应内容的宽度number0false
height高度,优先级高于 size 属性number0false
borderRadius圆角number5false
route跳转目标 URL 地址{path?: string, query?: object}{}false
target如何打开目标 URL,设置 route 时生效'_self' | '_blank''_self'false
disabled是否禁用booleanfalsefalse
loading是否加载中booleanfalsefalse
center是否将按钮设置为块级元素并居中展示booleanfalsefalse

Events

事件名称说明参数
click点击按钮时的回调,未设置 route 时生效(e: Event) => void
`,5),w=JSON.parse('{"title":"按钮","description":"","frontmatter":{},"headers":[],"relativePath":"guide/components/button.md","filePath":"guide/components/button.md"}'),k={name:"guide/components/button.md"},_=i({...k,setup(P){const e=C(!0);function a(t){console.log("click")}return(t,D)=>{const l=F("q-button"),y=F("Switch");return A(),u("div",null,[q,p("div",{class:c(t.$style["m-flex"])},[s(l,{onClick:a},{default:n(()=>[o("Default")]),_:1}),s(l,{effect:"reverse",onClick:a},{default:n(()=>[o("Reverse")]),_:1}),s(l,{type:"primary",onClick:a},{default:n(()=>[o("Primary")]),_:1}),s(l,{type:"danger",onClick:a},{default:n(()=>[o("Danger")]),_:1}),s(l,{disabled:"",onClick:a},{default:n(()=>[o("Disabled")]),_:1})],2),h,p("div",{class:c(t.$style["m-flex"])},[s(l,{size:"small",onClick:a},{default:n(()=>[o("Small")]),_:1}),s(l,{onClick:a},{default:n(()=>[o("Default")]),_:1}),s(l,{size:"large",onClick:a},{default:n(()=>[o("Large")]),_:1})],2),m,s(l,{width:120,height:40,"border-radius":8,size:"large",onClick:a},{default:n(()=>[E]),_:1}),f,p("div",{class:c(t.$style["m-flex"])},[s(l,{loading:e.value,onClick:a},{default:n(()=>[o("Default")]),_:1},8,["loading"]),s(l,{loading:e.value,type:"primary",onClick:a},{default:n(()=>[o("Primary")]),_:1},8,["loading"]),s(l,{loading:e.value,type:"danger",onClick:a},{default:n(()=>[o("Danger")]),_:1},8,["loading"])],2),p("div",{class:c(t.$style["m-flex"]),style:{"margin-top":"30px"}},[p("h3",{class:c(t.$style["u-h3"])},"Loading state: ",2),s(y,{checked:e.value,"onUpdate:checked":D[0]||(D[0]=d=>e.value=d)},null,8,["checked"])],2),b])}}}),v={"m-flex":"_m-flex_xogkl_2","u-h3":"_u-h3_xogkl_8"},x={$style:v},B=g(_,[["__cssModules",x]]);export{w as __pageData,B as default}; diff --git a/docs/.vitepress/dist/assets/guide_components_select.md.880efa1b.js b/docs/.vitepress/dist/assets/guide_components_select.md.880efa1b.js new file mode 100644 index 0000000..c4ebac3 --- /dev/null +++ b/docs/.vitepress/dist/assets/guide_components_select.md.880efa1b.js @@ -0,0 +1,317 @@ +import{d as y,h as c,k as C,H as A,c as i,J as o,V as p,o as u}from"./chunks/framework.dc35932b.js";const d=p('

选择器 QSelect

何时使用

  • 弹出一个下拉菜单给用户选择操作,用于代替原生的选择器,或者需要一个更优雅的多选器时
  • 当选项少时(少于 5 项),建议直接将选项平铺,使用 Radio 是更好的选择

基本使用

',4),q=p(`
Show Code
vue
<script setup lang="ts">
+import { ref, watchEffect } from "vue"
+const options = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+watchEffect(() => {
+  console.log("QSelectedValue:", QSelectedValue.value)
+})
+</script>
+<template>
+  <QSelect :options="options" v-model="QSelectedValue" />
+</template>

禁用

`,2),E=p(`
Show Code
vue
<script setup lang="ts">
+import { ref } from "vue"
+const options = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+</script>
+<template>
+  <QSelect :options="options" v-model="QSelectedValue" disabled />
+</template>

禁用选项

`,2),m=p(`
Show Code
vue
<script setup lang="ts">
+import { ref } from "vue"
+const optionsDisabled = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+    disabled: true,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+</script>
+<template>
+  <QSelect :options="optionsDisabled" v-model="QSelectedValue" />
+</template>

支持清除

`,2),b=p(`
Show Code
vue
<script setup lang="ts">
+import { ref, watchEffect } from "vue"
+const options = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+watchEffect(() => {
+  console.log("QSelectedValue:", QSelectedValue.value)
+})
+function onChange(value: string | number, label: string, index: number) {
+  console.log("value:", value)
+  console.log("label:", label)
+  console.log("index:", index)
+}
+</script>
+<template>
+  <QSelect :options="options" allow-clear v-model="QSelectedValue" @change="onChange" />
+</template>

自定义样式

`,2),v=p(`
Show Code
vue
<script setup lang="ts">
+import { ref, watchEffect } from "vue"
+const options = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+watchEffect(() => {
+  console.log("QSelectedValue:", QSelectedValue.value)
+})
+function onChange(value: string | number, label: string, index: number) {
+  console.log("value:", value)
+  console.log("label:", label)
+  console.log("index:", index)
+}
+</script>
+<template>
+  <QSelect :width="160" :height="36" :options="options" v-model="QSelectedValue" @change="onChange" />
+</template>

自定义字段名

`,2),h=p(`
Show Code
vue
<script setup lang="ts">
+import { ref, watchEffect } from "vue"
+const optionsCustom = ref([
+  {
+    name: "北京市",
+    id: 1,
+  },
+  {
+    name: "上海市",
+    id: 2,
+  },
+  {
+    name: "纽约市",
+    id: 3,
+  },
+  {
+    name: "旧金山",
+    id: 4,
+  },
+  {
+    name: "布宜诺斯艾利斯",
+    id: 5,
+  },
+  {
+    name: "伊斯坦布尔",
+    id: 6,
+  },
+  {
+    name: "拜占庭",
+    id: 7,
+  },
+  {
+    name: "君士坦丁堡",
+    id: 8,
+  },
+])
+const QSelectedValue = ref(1)
+watchEffect(() => {
+  console.log("QSelectedValue:", QSelectedValue.value)
+})
+function onChange(id: string | number, name: string, index: number) {
+  console.log("id:", id)
+  console.log("name:", label)
+  console.log("index:", index)
+}
+</script>
+<template>
+  <QSelect :options="optionsCustom" label="name" value="id" v-model="QSelectedValue" @change="onChange" />
+</template>

自定义下拉面板展示数

`,2),g=p(`
Show Code
vue
<script setup lang="ts">
+import { ref, watchEffect } from "vue"
+const options = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+watchEffect(() => {
+  console.log("QSelectedValue:", QSelectedValue.value)
+})
+function onChange(value: string | number, label: string, index: number) {
+  console.log("value:", value)
+  console.log("label:", label)
+  console.log("index:", index)
+}
+</script>
+<template>
+  <QSelect :options="options" :max-display="8" v-model="QSelectedValue" @change="onChange" />
+</template>

APIs

参数说明类型默认值必传
options选项数据Option[][]false
label字典项的文本字段名string'label'false
value字典项的值字段名string'value'false
placeholder默认文字string'请选择'false
disabled是否禁用booleanfalsefalse
allowClear是否支持清除booleanfalsefalse
width宽度number120false
height高度number32false
maxDisplay下拉面板最多能展示的下拉项数,超过后滚动显示number6false
modelValue(v-model)当前选中的 option 条目number | string | nullnullfalse

Option Type

名称说明类型必传
label选项名stringfalse
value选项值string | numberfalse
disabled是否禁用选项booleanfalse
[propName: string]添加一个字符串索引签名,用于包含带有任意数量的其他属性any-

Events

事件名称说明参数
change选项值改变后的回调(value: string | number, label: string, index: number) => void
`,7),Q=JSON.parse('{"title":"选择器 QSelect","description":"","frontmatter":{},"headers":[],"relativePath":"guide/components/select.md","filePath":"guide/components/select.md"}'),f={name:"guide/components/select.md"},B=y({...f,setup(V){const e=c([{label:"北京市",value:1},{label:"上海市",value:2},{label:"纽约市",value:3},{label:"旧金山",value:4},{label:"布宜诺斯艾利斯",value:5},{label:"伊斯坦布尔",value:6},{label:"拜占庭",value:7},{label:"君士坦丁堡",value:8}]),r=c([{label:"北京市",value:1},{label:"上海市",value:2,disabled:!0},{label:"纽约市",value:3},{label:"旧金山",value:4},{label:"布宜诺斯艾利斯",value:5},{label:"伊斯坦布尔",value:6},{label:"拜占庭",value:7},{label:"君士坦丁堡",value:8}]),F=c([{name:"北京市",id:1},{name:"上海市",id:2},{name:"纽约市",id:3},{name:"旧金山",id:4},{name:"布宜诺斯艾利斯",id:5},{name:"伊斯坦布尔",id:6},{name:"拜占庭",id:7},{name:"君士坦丁堡",id:8}]),n=c(1);C(()=>{console.log("QSelectedValue:",n.value)});function t(D,s,l){console.log("value:",D),console.log("label:",s),console.log("index:",l)}return(D,s)=>{const l=A("QSelect");return u(),i("div",null,[d,o(l,{options:e.value,modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=a=>n.value=a)},null,8,["options","modelValue"]),q,o(l,{options:e.value,modelValue:n.value,"onUpdate:modelValue":s[1]||(s[1]=a=>n.value=a),disabled:""},null,8,["options","modelValue"]),E,o(l,{options:r.value,modelValue:n.value,"onUpdate:modelValue":s[2]||(s[2]=a=>n.value=a)},null,8,["options","modelValue"]),m,o(l,{options:e.value,"allow-clear":"",modelValue:n.value,"onUpdate:modelValue":s[3]||(s[3]=a=>n.value=a),onChange:t},null,8,["options","modelValue"]),b,o(l,{width:160,height:36,options:e.value,modelValue:n.value,"onUpdate:modelValue":s[4]||(s[4]=a=>n.value=a),onChange:t},null,8,["options","modelValue"]),v,o(l,{options:F.value,label:"name",value:"id",modelValue:n.value,"onUpdate:modelValue":s[5]||(s[5]=a=>n.value=a),onChange:t},null,8,["options","modelValue"]),h,o(l,{options:e.value,"max-display":8,modelValue:n.value,"onUpdate:modelValue":s[6]||(s[6]=a=>n.value=a),onChange:t},null,8,["options","modelValue"]),g])}}});export{Q as __pageData,B as default}; diff --git a/docs/.vitepress/dist/assets/guide_components_select.md.880efa1b.lean.js b/docs/.vitepress/dist/assets/guide_components_select.md.880efa1b.lean.js new file mode 100644 index 0000000..c4ebac3 --- /dev/null +++ b/docs/.vitepress/dist/assets/guide_components_select.md.880efa1b.lean.js @@ -0,0 +1,317 @@ +import{d as y,h as c,k as C,H as A,c as i,J as o,V as p,o as u}from"./chunks/framework.dc35932b.js";const d=p('

选择器 QSelect

何时使用

  • 弹出一个下拉菜单给用户选择操作,用于代替原生的选择器,或者需要一个更优雅的多选器时
  • 当选项少时(少于 5 项),建议直接将选项平铺,使用 Radio 是更好的选择

基本使用

',4),q=p(`
Show Code
vue
<script setup lang="ts">
+import { ref, watchEffect } from "vue"
+const options = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+watchEffect(() => {
+  console.log("QSelectedValue:", QSelectedValue.value)
+})
+</script>
+<template>
+  <QSelect :options="options" v-model="QSelectedValue" />
+</template>

禁用

`,2),E=p(`
Show Code
vue
<script setup lang="ts">
+import { ref } from "vue"
+const options = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+</script>
+<template>
+  <QSelect :options="options" v-model="QSelectedValue" disabled />
+</template>

禁用选项

`,2),m=p(`
Show Code
vue
<script setup lang="ts">
+import { ref } from "vue"
+const optionsDisabled = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+    disabled: true,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+</script>
+<template>
+  <QSelect :options="optionsDisabled" v-model="QSelectedValue" />
+</template>

支持清除

`,2),b=p(`
Show Code
vue
<script setup lang="ts">
+import { ref, watchEffect } from "vue"
+const options = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+watchEffect(() => {
+  console.log("QSelectedValue:", QSelectedValue.value)
+})
+function onChange(value: string | number, label: string, index: number) {
+  console.log("value:", value)
+  console.log("label:", label)
+  console.log("index:", index)
+}
+</script>
+<template>
+  <QSelect :options="options" allow-clear v-model="QSelectedValue" @change="onChange" />
+</template>

自定义样式

`,2),v=p(`
Show Code
vue
<script setup lang="ts">
+import { ref, watchEffect } from "vue"
+const options = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+watchEffect(() => {
+  console.log("QSelectedValue:", QSelectedValue.value)
+})
+function onChange(value: string | number, label: string, index: number) {
+  console.log("value:", value)
+  console.log("label:", label)
+  console.log("index:", index)
+}
+</script>
+<template>
+  <QSelect :width="160" :height="36" :options="options" v-model="QSelectedValue" @change="onChange" />
+</template>

自定义字段名

`,2),h=p(`
Show Code
vue
<script setup lang="ts">
+import { ref, watchEffect } from "vue"
+const optionsCustom = ref([
+  {
+    name: "北京市",
+    id: 1,
+  },
+  {
+    name: "上海市",
+    id: 2,
+  },
+  {
+    name: "纽约市",
+    id: 3,
+  },
+  {
+    name: "旧金山",
+    id: 4,
+  },
+  {
+    name: "布宜诺斯艾利斯",
+    id: 5,
+  },
+  {
+    name: "伊斯坦布尔",
+    id: 6,
+  },
+  {
+    name: "拜占庭",
+    id: 7,
+  },
+  {
+    name: "君士坦丁堡",
+    id: 8,
+  },
+])
+const QSelectedValue = ref(1)
+watchEffect(() => {
+  console.log("QSelectedValue:", QSelectedValue.value)
+})
+function onChange(id: string | number, name: string, index: number) {
+  console.log("id:", id)
+  console.log("name:", label)
+  console.log("index:", index)
+}
+</script>
+<template>
+  <QSelect :options="optionsCustom" label="name" value="id" v-model="QSelectedValue" @change="onChange" />
+</template>

自定义下拉面板展示数

`,2),g=p(`
Show Code
vue
<script setup lang="ts">
+import { ref, watchEffect } from "vue"
+const options = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+watchEffect(() => {
+  console.log("QSelectedValue:", QSelectedValue.value)
+})
+function onChange(value: string | number, label: string, index: number) {
+  console.log("value:", value)
+  console.log("label:", label)
+  console.log("index:", index)
+}
+</script>
+<template>
+  <QSelect :options="options" :max-display="8" v-model="QSelectedValue" @change="onChange" />
+</template>

APIs

参数说明类型默认值必传
options选项数据Option[][]false
label字典项的文本字段名string'label'false
value字典项的值字段名string'value'false
placeholder默认文字string'请选择'false
disabled是否禁用booleanfalsefalse
allowClear是否支持清除booleanfalsefalse
width宽度number120false
height高度number32false
maxDisplay下拉面板最多能展示的下拉项数,超过后滚动显示number6false
modelValue(v-model)当前选中的 option 条目number | string | nullnullfalse

Option Type

名称说明类型必传
label选项名stringfalse
value选项值string | numberfalse
disabled是否禁用选项booleanfalse
[propName: string]添加一个字符串索引签名,用于包含带有任意数量的其他属性any-

Events

事件名称说明参数
change选项值改变后的回调(value: string | number, label: string, index: number) => void
`,7),Q=JSON.parse('{"title":"选择器 QSelect","description":"","frontmatter":{},"headers":[],"relativePath":"guide/components/select.md","filePath":"guide/components/select.md"}'),f={name:"guide/components/select.md"},B=y({...f,setup(V){const e=c([{label:"北京市",value:1},{label:"上海市",value:2},{label:"纽约市",value:3},{label:"旧金山",value:4},{label:"布宜诺斯艾利斯",value:5},{label:"伊斯坦布尔",value:6},{label:"拜占庭",value:7},{label:"君士坦丁堡",value:8}]),r=c([{label:"北京市",value:1},{label:"上海市",value:2,disabled:!0},{label:"纽约市",value:3},{label:"旧金山",value:4},{label:"布宜诺斯艾利斯",value:5},{label:"伊斯坦布尔",value:6},{label:"拜占庭",value:7},{label:"君士坦丁堡",value:8}]),F=c([{name:"北京市",id:1},{name:"上海市",id:2},{name:"纽约市",id:3},{name:"旧金山",id:4},{name:"布宜诺斯艾利斯",id:5},{name:"伊斯坦布尔",id:6},{name:"拜占庭",id:7},{name:"君士坦丁堡",id:8}]),n=c(1);C(()=>{console.log("QSelectedValue:",n.value)});function t(D,s,l){console.log("value:",D),console.log("label:",s),console.log("index:",l)}return(D,s)=>{const l=A("QSelect");return u(),i("div",null,[d,o(l,{options:e.value,modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=a=>n.value=a)},null,8,["options","modelValue"]),q,o(l,{options:e.value,modelValue:n.value,"onUpdate:modelValue":s[1]||(s[1]=a=>n.value=a),disabled:""},null,8,["options","modelValue"]),E,o(l,{options:r.value,modelValue:n.value,"onUpdate:modelValue":s[2]||(s[2]=a=>n.value=a)},null,8,["options","modelValue"]),m,o(l,{options:e.value,"allow-clear":"",modelValue:n.value,"onUpdate:modelValue":s[3]||(s[3]=a=>n.value=a),onChange:t},null,8,["options","modelValue"]),b,o(l,{width:160,height:36,options:e.value,modelValue:n.value,"onUpdate:modelValue":s[4]||(s[4]=a=>n.value=a),onChange:t},null,8,["options","modelValue"]),v,o(l,{options:F.value,label:"name",value:"id",modelValue:n.value,"onUpdate:modelValue":s[5]||(s[5]=a=>n.value=a),onChange:t},null,8,["options","modelValue"]),h,o(l,{options:e.value,"max-display":8,modelValue:n.value,"onUpdate:modelValue":s[6]||(s[6]=a=>n.value=a),onChange:t},null,8,["options","modelValue"]),g])}}});export{Q as __pageData,B as default}; diff --git a/docs/.vitepress/dist/assets/guide_features.md.009e63d0.js b/docs/.vitepress/dist/assets/guide_features.md.009e63d0.js new file mode 100644 index 0000000..acc0a4a --- /dev/null +++ b/docs/.vitepress/dist/assets/guide_features.md.009e63d0.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,V as r}from"./chunks/framework.dc35932b.js";const p=JSON.parse('{"title":"特性","description":"","frontmatter":{},"headers":[],"relativePath":"guide/features.md","filePath":"guide/features.md"}'),i={name:"guide/features.md"},o=r('

特性

介绍

该组件库采用 Vite3 + Vue3 + TS + Scss 实现!

三种使用方式

  • 全局引入所有组件
  • 按需引入部分组件
  • git clone q-ui 到本地后,从 packages 下单独拷贝单文件组件 (SFC) 到项目内使用
',5),s=[o];function l(n,c,_,d,h,u){return t(),a("div",null,s)}const m=e(i,[["render",l]]);export{p as __pageData,m as default}; diff --git a/docs/.vitepress/dist/assets/guide_features.md.009e63d0.lean.js b/docs/.vitepress/dist/assets/guide_features.md.009e63d0.lean.js new file mode 100644 index 0000000..90d4393 --- /dev/null +++ b/docs/.vitepress/dist/assets/guide_features.md.009e63d0.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,V as r}from"./chunks/framework.dc35932b.js";const p=JSON.parse('{"title":"特性","description":"","frontmatter":{},"headers":[],"relativePath":"guide/features.md","filePath":"guide/features.md"}'),i={name:"guide/features.md"},o=r("",5),s=[o];function l(n,c,_,d,h,u){return t(),a("div",null,s)}const m=e(i,[["render",l]]);export{p as __pageData,m as default}; diff --git a/docs/.vitepress/dist/assets/guide_started.md.0f3c8d50.js b/docs/.vitepress/dist/assets/guide_started.md.0f3c8d50.js new file mode 100644 index 0000000..adb6bbe --- /dev/null +++ b/docs/.vitepress/dist/assets/guide_started.md.0f3c8d50.js @@ -0,0 +1,11 @@ +import{_ as s,c as a,o as n,V as o}from"./chunks/framework.dc35932b.js";const A=JSON.parse('{"title":"快速上手","description":"","frontmatter":{},"headers":[],"relativePath":"guide/started.md","filePath":"guide/started.md"}'),l={name:"guide/started.md"},p=o(`

快速上手

安装

With Yarn

bash
$ yarn add @jqw755/q-ui

With NPM

bash
$ npm i @jqw755/q-ui

使用

全局

ts
import { createApp } from "vue"
+import App from "./App.vue"
+
+import QUI from "@jqw755/q-ui"
+import "@jqw755/q-ui/css"
+
+const app = createApp(App)
+app.use(QUI)
+
+app.mount("#app")

单文件

ts
import { QButton } from "@jqw755/q-ui"
+import "@jqw755/q-ui/css"
`,11),t=[p];function e(c,r,i,D,y,C){return n(),a("div",null,t)}const d=s(l,[["render",e]]);export{A as __pageData,d as default}; diff --git a/docs/.vitepress/dist/assets/guide_started.md.0f3c8d50.lean.js b/docs/.vitepress/dist/assets/guide_started.md.0f3c8d50.lean.js new file mode 100644 index 0000000..f961f92 --- /dev/null +++ b/docs/.vitepress/dist/assets/guide_started.md.0f3c8d50.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,V as o}from"./chunks/framework.dc35932b.js";const A=JSON.parse('{"title":"快速上手","description":"","frontmatter":{},"headers":[],"relativePath":"guide/started.md","filePath":"guide/started.md"}'),l={name:"guide/started.md"},p=o("",11),t=[p];function e(c,r,i,D,y,C){return n(),a("div",null,t)}const d=s(l,[["render",e]]);export{A as __pageData,d as default}; diff --git a/docs/.vitepress/dist/assets/index.md.eac6bc54.js b/docs/.vitepress/dist/assets/index.md.eac6bc54.js new file mode 100644 index 0000000..3c61191 --- /dev/null +++ b/docs/.vitepress/dist/assets/index.md.eac6bc54.js @@ -0,0 +1 @@ +import{d as a,p as i,c as o,o as s}from"./chunks/framework.dc35932b.js";function r(){return fetch("https://raw.githubusercontent.com/jqw755/q-ui/master/package.json").then(e=>e.json()).then(e=>e.version??"").then(e=>{if(!e)return;const t=document.querySelector("div.VPHero.has-image.VPHomeHero > div > div.main > p.tagline"),n=document.createElement("samp");n.classList.add("version-tag"),n.innerText=e,t==null||t.appendChild(n)})}const l=JSON.parse('{"title":"QUI","titleTemplate":"组件库文档","description":"","frontmatter":{"layout":"home","title":"QUI","titleTemplate":"组件库文档","hero":{"name":"QUI","text":"组件库","tagline":"基于 Vite3 + Vue3 + TS 开发","image":{"src":"/logo.png","alt":"QUI"},"actions":[{"theme":"brand","text":"开始","link":"/guide/features"},{"theme":"alt","text":"在GitHub上查看","link":"https://github.com/jqw755/q-ui"},{"theme":"alt","text":"在NPM上查看","link":"https://www.npmjs.com/package/@jqw755/q-ui"}]}},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),c={name:"index.md"},d=a({...c,setup(e){return i(()=>{r()}),(t,n)=>(s(),o("div"))}});export{l as __pageData,d as default}; diff --git a/docs/.vitepress/dist/assets/index.md.eac6bc54.lean.js b/docs/.vitepress/dist/assets/index.md.eac6bc54.lean.js new file mode 100644 index 0000000..3c61191 --- /dev/null +++ b/docs/.vitepress/dist/assets/index.md.eac6bc54.lean.js @@ -0,0 +1 @@ +import{d as a,p as i,c as o,o as s}from"./chunks/framework.dc35932b.js";function r(){return fetch("https://raw.githubusercontent.com/jqw755/q-ui/master/package.json").then(e=>e.json()).then(e=>e.version??"").then(e=>{if(!e)return;const t=document.querySelector("div.VPHero.has-image.VPHomeHero > div > div.main > p.tagline"),n=document.createElement("samp");n.classList.add("version-tag"),n.innerText=e,t==null||t.appendChild(n)})}const l=JSON.parse('{"title":"QUI","titleTemplate":"组件库文档","description":"","frontmatter":{"layout":"home","title":"QUI","titleTemplate":"组件库文档","hero":{"name":"QUI","text":"组件库","tagline":"基于 Vite3 + Vue3 + TS 开发","image":{"src":"/logo.png","alt":"QUI"},"actions":[{"theme":"brand","text":"开始","link":"/guide/features"},{"theme":"alt","text":"在GitHub上查看","link":"https://github.com/jqw755/q-ui"},{"theme":"alt","text":"在NPM上查看","link":"https://www.npmjs.com/package/@jqw755/q-ui"}]}},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),c={name:"index.md"},d=a({...c,setup(e){return i(()=>{r()}),(t,n)=>(s(),o("div"))}});export{l as __pageData,d as default}; diff --git a/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2 b/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2a687296748f6b8bc8076cd11bde49cd27e4442b GIT binary patch literal 28332 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 HNCp4^t1hY; literal 0 HcmV?d00001 diff --git a/docs/.vitepress/dist/assets/inter-italic-cyrillic.ea42a392.woff2 b/docs/.vitepress/dist/assets/inter-italic-cyrillic.ea42a392.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f64035158d7e4c01654e3f23dcd6e8299928a28c GIT binary patch literal 17824 zcmV(|K+(TGZYzoV0yihRy3;{L*Bm;yv3xXa1 z1Rw>42nQe=C3zL>7I?PUshK)MG!ta^L3b^d$O{#w!;WOi#caU z9epdi^~z}FXC1zMc;nw||B-~iJKZ7-`H(Kn3lKjZ5N5RqaHof~Lr#JsXW1jml58&> zQGi~|0cnL4zB|P8}0t5&U@c|JdMvNGlmzMw!d_sgsBSwh~ z<3uKERMdzOA;C{wc9u@*KWk~1ZrQFoOIvrA?XoRxnU;2`Lr2EaDbuDiOouv|*;F%- z#gKPJ>8fl=HUf*mFq&P*op#SRB5uMwrI5O=D|BV|t7*jYszMn6_y=vT5wbG)8zDBN(kmfH1b)al)=7_XtiK52#|ESncdAW0QK2HvRY`_;WiO>pz_-Xk zH!T)&YR`MAJa7J@pNA;Ve=XlUuY2Z4Y1bh`Bcza^p&9I}QLUiMj74g|4NyqjXq$hi zG1}j&v`P|}Bqr@5l@eV;qy>fq`v}SgHrfA#@*v!mV~$a+B6D&Jh-sRueXL+`%jr?vt30*Vq&Bs(79VL�!Z1%E;0yxE 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 literal 0 HcmV?d00001 diff --git a/docs/.vitepress/dist/assets/inter-italic-latin-ext.bd8920cc.woff2 b/docs/.vitepress/dist/assets/inter-italic-latin-ext.bd8920cc.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9c1b9440ed419d4a71ba46b0db3951164f9e10df GIT binary patch literal 63552 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 literal 0 HcmV?d00001 diff --git a/docs/.vitepress/dist/assets/inter-italic-latin.bd3b6f56.woff2 b/docs/.vitepress/dist/assets/inter-italic-latin.bd3b6f56.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..01fcf20724f915f68a974ef2fb85f86f3039b1d8 GIT binary patch literal 46048 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 literal 0 HcmV?d00001 diff --git a/docs/.vitepress/dist/assets/inter-italic-vietnamese.6ce511fb.woff2 b/docs/.vitepress/dist/assets/inter-italic-vietnamese.6ce511fb.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e4f788ee02bb687bc1d5045483ff0d381e7654e0 GIT binary patch literal 8784 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 G0002QVTgqQ literal 0 HcmV?d00001 diff --git a/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.e75737ce.woff2 b/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.e75737ce.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..28593ccb8a4d849a746f2b970678fe426cb136e8 GIT binary patch literal 26600 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 literal 0 HcmV?d00001 diff --git a/docs/.vitepress/dist/assets/inter-roman-cyrillic.5f2c6c8c.woff2 b/docs/.vitepress/dist/assets/inter-roman-cyrillic.5f2c6c8c.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a20adc161f433a7c4e3d92306301b9228bcf9fb4 GIT binary patch literal 16780 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

KZ;k8ywA} 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 O1{o}0SRMEP0000Yp_Hru literal 0 HcmV?d00001 diff --git a/docs/.vitepress/dist/assets/inter-roman-greek.d5a6d92a.woff2 b/docs/.vitepress/dist/assets/inter-roman-greek.d5a6d92a.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f790e047daa346583880da2be470431e35aa6054 GIT binary patch literal 21776 zcmV)1K+V5*Pew8T0RR91096nG5dZ)H0F~eX092&_0|eaw00000000000000000000 z0000Qf-4)J030emNLE2ogenGLKT}jeRDl`*f>bYT3f2_GNicz%3;{L*Bm;zQ3xYZT z1Rw>38V4X7FN+22R&1!9099AL&6-~nb&9hR8HunLjFfWr|1mj{u|WmkXBLqqhgS6B z*89rbGY9tSl-Ogqov%UQJyVUEtk5;ACT%y9qe?^~nPX;~WyInH^VH$7f4KDd;6Hr? zD~+r>XrgNl{!tJRyZzD;8v7*4h39)-U3KpJUteFcWXZNH%b^)zj1jZ}4ebV#zrJK! zfB`oM;|2o;Oz3V8<6%w6`j(*+JLTG9dSYTirgoT+*%>x7A$zKr%yxNq-PwfJn}5vB z&*5>`VW}d!{`|A6Y)A-2bxqCbN|ypUE)cx-9>LRE ze)YP0W+(X!O78~cosg&Gyv+fz0u~NX9y=ll`jQTS;raLW$K1^|!^JR+7L(D`DrK=U zOf4-fRxK%u`IN;fNl3Fvl30;EEy*X6B(3sFFCnQsNvc(=B(zt1y*){*CRdoV{~lR3 z1`Hv&UzWXY-g%E?V;nZ`y#IN;^N?h5B+KqP8(!*SiE}*Go9FBr;($XO)&z$rtQ-sx zjyaU2T z{loUhQpb!Qe`(Y2@O(e^?cDdpcKd=?2!*KXZ!KXK3W-gGOo&XU1o3;Wrfv7~YBzBd z-yMT}VQBgat*E@E=2tk3Kze5GQomIRM>oN}L<3wPd)&_fTD~-WJ^jBW-=BzQ5I)Al ziF7Y%Ynz=DT2?gSnt&C1;MRZI?_2%%pEWzX9$#ArLi?G9H%cC6bvT$k26Jh@LZuO^ zSSN`kJdpymi#CgizgM+v|07R2@S?bp&e}pA>|L{=XdH577o|HF<>v<&0EiNZ4F*Z= znS@SzASHPrLfi!?@irvta&(9R1eP{PN;VaEiJNpeRt~Yuohy$kw;^?{J2$Oebnabr zg^Si!V_9^Mn&)e7&LfGkNC<1yEizZ82tO9y>fhnw5o>Kj8rxEF;E#QcX|WK#U)k$D z$yo?NL|74(Wd3>x2Gz>7zbcYgYam#WLcrZvL5P(^SS=RfppbB2gGSEs7S1*&%msyc z6y`gy&7zP7g(VJLYFStb3acrsbzrue>(?4W+A9tS5JY_!+S@MFd7H|N6-VFI&ky|LjemdK$s>duvoiP2Z%_h|TEz+W&ctAklq2kRv{9(Xk9Z&O&V{VAGWJsS&wVi z4jtMlv`drrtl*#y2^?N;5~QvjuiC5HgC?2;E}$pwa8PS!qJk;apRHE} zxvi}Yf-kc>C}o82wO+({X!a9NQH{~`LJ+ctW$;pLlvww~`0m@l=j?X-=o_-#T9Pue@ z*hw$BPZ$$1aV{EMcrgu5uIx{ff%q6uI|WQT}Z;!{ik4aQgX(0%MG4kW9yRzHk$5z>6@R^95()y3rjEJa0SJ(^!bl$jz1p z#-zZJnr+|z8D8WiUgnk2*;+U6^4?+L2Yh%#viDB*5|oLn2a1@{EQSdvYCiE16SH_~ zk$|d4lQ0m6A5{pTHjU7Z$@Z8sEC*v&($6X;tfoOm^;kp2!I5El*l42~MwYpiQn*v$ zAk~CE4KWPXImaOHTAzX9VJh%J%sjJVylmB;7Qz=29X02g2%rKsDy1kQ0tE|#n#txk z+7m?#3I=LbebcDWm>LFxsll$uYP+QvfB}U#{HQ9nwpK-;khu;F083^AfFELkCb>4ub0ac(t0g&={O1IvIcH~#=a;HMdAw?>O6|vk$Amu1QDEAY%a*P1K{~HF1 zf?{ebA-ykQJ(Q3>n6N$^a`!}{?+mW*4yJpPpm&GbbA#%+3F)(uq#PB%jMUS&U#iB| zmeAVL^6_qa71H`Ca_m@sKKg!+j9uF7N&)3=18(hs7S24m!NB-hua>oxmhuf_pTd_o3%a z&WnP>LwAR|UcD_W?EH9WH1}c7nE8X$k?^EX{x)N3p2>`!PY?)9I||wUMIwhm0Dr4h z0f3*&#P}U3b)5ojFg+)9<1p9EmaQANwvA$ACiwdUK47MZ21z~)ODtd^`Smit5io$- zrU05ioj7!OR4f5hPpx~ggdm>fbw1*AG5{b^gn(*g6}>B~g}SmvReP^|=RzgOk|c*Ei)G6%7-V@ex^ zEt9Y#S?{?6qZ5a&ACph;;Zu?5uCd9R>5Q2;`?QnNr=|gg%%8oKoxA<5v0-G7pNk%f z8S8Q$zwADU#cveuyz=U6!===DWY@sD~(pc$&Ap zObrn~ootNzBLCsDTNH!KOTKca#! zQq_f$djoOC9V4uS^ zq$ChF6jlmj47EnNtC^I6S&#||rIFb#C>ihyC@^D27BgUqBFGk&6YRuwx6Stfmy>`; znHiH>*rDq#33t%BsnQym3DmGtu$y*7P~aS`nD3@@HfgE}Ii!_oRMGdWc^sJly1Ap0 zr^^bydhsd<)lBjhzfFA+pn?cYK&cR2raY4XxPQ|nVu*A!`_lmvj{~CsT@>+KTfoGB z!F>X6Nno8btLg~Gg%0rI_8O|^b>$Hq`2sL~b4q9=IYt6p%Scg`D#K&m!sv2b8b|bK z>L{nvuBiTP;(;sThRHTjP9_vjaZTUNZ^}=)QW+Y>(d0Q}&ZINF$BUKp<_j_I&qmyM zh@!RlVhUU!DNnM>!uA4nWH+h-FOi*&jqVi%DuLpDb35jFi}2V3t%dJGch zOT@d$yq0>^E~|dy;&MDH9mSR3MW#O7n>H!Lg4l)niV=;Yqa#d$QstqS-;#FFsri<`-T`PHF|L~}o^tzGhwtiVwtmfmd9;COi+2b?+;S-C6xG8l+ zaBjpy15K9OOm>muP2-S2kuNf!5z!4URW4dmcEdO#Nls)xC6hH@m#t0Wcm##rG>-#%|I{7CHuYKm~&t#s<4;@6H@^H)G6|^TLh9; zoa{LHqTFB%vJKjz8nm{qx65;#IWur1ImyvOtYz#bQ856Q*)BkpoYwK6=# zyMzIr#5TN{@UXhY*LK&|Qrf=vOFVnka;!Y_rtZonD^@f!*kTSp;e-3iHs7!8yhM5D zx&I5yW1Nv8BQ`bFahTdg?zb(W0oZd3$eWhDIQ5EG6e8Oe`mX(QkFkailJjZe|HQJeYqCkP-URhOmL^couHQ1?!9<2M%1E2;0hd5vg_RLK^1d%Iu^Vz)V8 z*oozSMYF?fE=%0|E^LN_zO@+EihDR$vLuYCTq_bc^n6w9`^sf(7Pn7kQ5yNh@Q}Te zRo!&Sh)D9hc;+!2yt0YwA@%4KbHbDV1s@n?FQObR8DIul-gz>d%GnYcFsTfB{*HoE zu!M$OK5H8B2mrhQ|&4aX!RPUR5zB#;GKv;_npD?F;z}IXQt0%P=nwnx^uy%g0FU&N#^V0{t$(F+F^Owb+zgr8Nlmo!NHsOnCpP=YEAu!|wi6 zcCY{TFMcrmEQzoA&7l`vCq1(KH$fWxQ68c8@*`vjM#C3Y-r1D@PYA}_^3aY$Pt8c* zq0`$V>!Gl4`!D@LoJIDTer9>ywO+QLM?d*x{_;>95#sxIee~WmalUPr7w7!{Fu-+> zR3T#N|7Ns|VM65EDbg7g_mo(2$H(qqMi_evPHor|rVryUKem(rQfll!nTX`CoCnOH z^ppL~`8EI&{f7dzc6~ca3jRPsJ!RRN#~;vRrSJQluQ#lfjsNiD3;(>c4!^~B`!{Y* z55B9eIQq@Ic;fQ~?bkl}aN_ost{r)LRYI)XxZ|wo@U8Z~A&^!l(cA72ovTQ`k3q>4ICVj9w>_zP z+clHU+3nC1&zzWg6RS-XzL3?16W{H27@AZo6>3GBRy{wcpJ2&l_Z3ztm_^>aF)+p& z9pDxOga{)2Q;UoY35XQ@T0DHfYy^7H*Sm|Y(8pRE&>1H`oSEFXL2_#4wxpAr!kQ26 z<#x>wmdf<3#a)WU-9jo=);2SX0+!DJ%8Plm1ag#{Mgt~>rvQd2JV;zjp9J&nnac z4BEfomZiVRmPpju%hPdW@GomUx|PX}u`E~C)=*29pW1JC2_f*&! zr>4f8@8TCBU_b!sNiPk-fPCNonaz)=>9a$I5wM#~RtwY-VKR5|#5w>b*U4(t1U0)$ zqSmWHiVFanaOi{g_5|F|Xf*2pxU&(X&2Ry@v#e{FxWHKDAE0#MDP6>&CctJb`m)LG zgWrZ^jQXJDy+IH1|yBboKe1}R>7xt#ongtsvb&hB-w_MK$D0cB^DY*w z8!sS=qhDRB+H0TRR22RRc$-KA;x^HlkoBpnL{DVR4c87j%k;QUV=vcby$d?hN=UA{ ze`wjfLm7KU*wTQ3%c|hrB1+D(qLK%2(&fvT?Ug;&1$silt%Ij4Z|5cnYWLK)fzU>f z9(Wp?a=hy4h8GnHdr!u>-0;1y=x%MaAWtRUTAb-09Go+6PVyRoQ>I%N{hfvK;Nlm; zd&j#XcYLm4sab$%S17aq!{{`Aaq8=$X2n0*IiMR%R0}XDzxk+6+_EkH76^0j)C1}j zfS~%FKIzoe(J`y*>`A{#`k7vtWZ=XK)-$qVvpe)0FK|+hsP}?EN3xZ?R$2 zy}8J|OuCo<+?&I|xtT6{+>^Jy%FaD6D*6t|Ay)yo*GD~GC>I^hyc`&HAoA#F+2iio zzNd_|%P)=>)j#vx*PVFR88KeiSKAHDCMPRzJ-h6A+U=fqT~0Cx{@lr=6RVhK_eBZk z?I17T%-lm*ZMl@`>G6HZAAvwv57fJvKz$2f(1L-U%N3>gGiI~QZPltcJNB{bSKfmA zD}k>URm~$bw3Ppwc3!=~=MHh;RFHjJhhivG{$cUy(_L(j3!6{*#w^?~R6q}(Ybw$ndV2`Js5=GUYUJWf|vE!q?u?6iNuutV~S+-`>#yUs?<{`*6?bPC?r`Xp`6e~+{P zp3nljHh>$f6&ksXWm+_Po|Gvx@A}&NUhejOqd0qM@=i|TjGpe>C~3kaT}o_U)m+fxvgSWfHQBWxQ(4 zK3MtK^NAPAJkKn}#F+CzYhg77KLuycH_EjLTx>K)xh`Lsf)uA5_6=CW4+~qz4+vPt zOQtov1s(oD>oyf9ZwkU*1w`;%Xq24O)pD9Ku-tOBNF88&`%i&R4d%agFk&A&c<5_z z5+}G1Bcz)~MVShdgc;T+TJ7J|L^!>8_66=I*J3xVc^c4ZDC^l5b4SF$%HhzpB>^=s zO9Y2vl5FGm>`%A0x?=yL#u(tE<0QM&IqvU2vyZ65x>k>cq|4KF^E!PPV7l{L-7T+D zzlK+<;cthGkDNC-X%ZYHPPr2-71v)4mWm=C1$GL+I)bQKg5rje{zW*Qc(sgv%>FG3+KY9`N>^&*E=tye~e#<^8Ne|A@!Q)C;Zwd$-1T zGu9{UPP>>R()cX79ufEJK+@~@mMx+ic?F?^wQ2eJO=;nS1rOQ=0nW&66So29dI0QI z2o1|SwJL&YDGD{@ss*`i>OM8#RIdOO+_9r8^~WU1Dc0x^6&z_njybnHErWR_)!-k< z+g4p|*SZI?`30IQz20I5NKODO@O;j5Wia2K95eT`wObAt$N$9Tu6Z&62;~LpL^aX4 z%Aq@Jm`i}DOJrICgf}>J3x+}YoIC&;uR)09QT5tQp6(=Lg;rwKW$7datG{#cgTZ(J z4qHHdfeFC1mj(_Sy_N${I%zdiF0Jf0)377nu`xF_drvpMNJ z^~V*oAY%rxBvv1o^NarMiQnxQg}*Yln8!Oev-U$ja<4pJkok=qHP&<>{BZ`cGW-) zejPp@dgAu1h)!Jg;+XhgsW|CQaFE#1*yrVc5a7?@M!&ozfDyoFeU6RDnf@vz=7r|URgk9jS@#uvRnW|^u+?7k7b1|*t*$kx#du*t!}mH zY+jkq-h`l2vG?byftu|NLx$0N^svRZgW8jYtec%7d|hBk?whQNnN)SE#{Uk0p|8t) z?qyw-g&fKP7!a`Vix6{59{wxD3p1B-ya?aj?su%W00(bFCTk+I%R*yL)GI=C*_?c~ zzOnK|b$zc{C1i5p1lpwJ#vAv66OjX)p0aSa{->95$Ig5J8`lRO;A{C^L!%x8#T{w- z!12gu(<7~z6Qu_9K?p8x=_;$ZP#LVxr{@RigS{fRvmTZ~=%ck-Y?0wl4ILOEInEO{ zcU^~DKBWt_XlzNP&JR3R`eE<%UU9-c1RSh@#Xs!P{{WUeIrQScMIO;d=f)y-8W6l* za`E6=YFBstJ0N^21Ovz?>OXuptMK^becd)>&ff6bA(!X2@7oj5x;LYGdF<>c3sur~ zv9(B+d@MDvJ@(atvreu>F0H>>AP@fJz9zq1C|z`1J*fs8$7>ZAi-Je8>DeJ8 zPoZK9wWFBTL*Er;Q5mf@+qcQA0(ui&a?4>)4CqMZ0jL+itMHDTx^Wo#fWh0{B-gQ* zPj0p7>N1w9wXc%>J~!UJ_VzE2NfKe`zE{BMN7M0|J2g%k=X*8D<1=f!^7dTt^-ss= zq#vdYP#MuKmWxaa#~gsNfDu5o0s&x={L>XfyBQ`KYzgyb3DlJ3WxiS;7JfEk$d;`T z{V4!`n{PM)$m$Wcu+MdXGl(K7RwO?K2gsNMio8s&Sb%Cl8+b4m^RYmSz!p2xqwV4$ zMbKWJwa(NvS{gdRkRpE>od{W$!UsjEc-4fgg0S)!n!K(aFnAlq>B0en7S1?dBq>P( zpv@vl%jo7~CfIBt9zm+QlrPY01fvBBrImFnKRW>Cw_z|zHc2U6l#lW z9b!5RFcfZ%qW972A(+r~zLe*nky@Zjx0nYBzNR#|Gd|?UblpPUfB~C-7St zIQ(uQ>3lK(2q=JT`e_!}^8Y&UR+htI4;TFt+th9J3XKyOlr@Ts3Pi0zMWe*1yTsqb zJL0oxq49F#WaA9utHyVXADJeyXG2to4pl(sp=;<_=p^($bP4(_`ic3i1&hhVwjR3y`@S^L>|yC^8wa-)myG*1 z%4>em!o?!U;`f-KWi4WdL?g+_gw-OeV5^x@azoAAGFakfsj zb8TySs+S+y+V5&S-`5ED`_*1|u*4yrpoCvpBfkIMj|+A}WK`@Mn@? z3UE3fXH2_d3EA;7xw3ixy-)36@Me^4V7`lO7>qTE-tnlT|9SaRtC`3Nn)zU+3D;_^{W(O+{8v~)QV>vpLkTJ@ zq;vKL1NmgT0waaXOnPLa@Y*cDMX`;I@mXUd-wF7 zIa;HImSjzQrI2z@&YwPW@Wz~_R#LwU0-DB8!cYEMg`O4rh&BiPdBOTS9hW|>TmPLm&!KuY z^z&C~a+5ko1XmV6@pRd`bzMV~fwdh(F=G%>!&g~U(}Gz$T~*H9 zk)>KsAVRc;Z-)BJoWUH0n2E{1i0qlGOGps%xJFs${7bGxD1733hN=JR)$+4vD7(DWueBR1h`)=%j^0aWj z2Wu|8*kl_EDKKO68VD?4&z{VCJb%!I%B@R0PuJ3JWpG^Eox?lT8ODRv<+_3KSMqe1 zl1#}F>VCRTMY;Q-2Frxtbns_2U91kaor}*`93cm4NAq0J6(1qzr$I-ugi4&|$p5c< zy@wq=f<3EH$v={A(6&j3yK05-5Z7-1;zvJC(qG!gtp0~TbqfGNk|h`&PEus?Sa*OA zH|k)(I|?CMMb3)>g(wI-fE&y&vhw+f3FfEc1ALlp+#4$`(8*D$MOzj*5#7v1g-x~2 zu0!o4W=P<2_r=#MnHeK|8Am>TsW8%`RMA(HUb;hod9b9I{2~o&RQd;pSUXojf?QZt z>h-#i4oniJpHz^e;61ur1bi6;VXO+$C{oC8%3$cH-5`4~GNll{?iULY7-BYoCP*}} z+`MNWc_j4pe$;^@BIXBd5mD;?j-zv6YOcri-bKK2c{rG3PDWXn<7zpicsKlVNjaxy z48BhN&ryZQXaaXcIV48@%9Tb86FTKRw(VA8EqCGaSSq72;HHA9Tm;{)Og^Q%l9c>1 z%pFvd=rVli#Q!-=t@G;vbrU+@4H1Q>QXW?)4-rT>nfSG!kjkxY@j6vfLhxUXZEn=I z9rR8|bUJ)F_mF-7GZ|zS7$dPEzP-+w-&djXscxyD?VJV1pR&h9o=i_X-bGqEX_v2( zB&|G>W)53*yhC!!!8w>iUyK>3f;5oVoDSTzh`uaw=GP9T#AI1b^N!aXaLMXwh8@c| z=APeepB-Zs*Xafmz~+o=-=&?PXpp}1VCO4BLnzVQk4ZzJaOqOTKSwOBU*7OlDlb(! z8OrX*y!zQ|{JhS;{Bcq3crxQl4(=uBO2NZB+}7y-h&m9l>5Hz#!0HHB1ZMy2VqlGh zk6Q&xURc-(WFevAfRvAbAH;?7pKQ6(O-ck&$W+3-9< z=i^|FY&Q5z4^=EJm$58;zT7!7r#7IjkQmYMN59CxUYFJB>-QwiI=Pho$AZ2?j#H%1 z2MsQPPvfg(`%>f{p7Qs~UA2*@HJhFaAK?i{|9|gSH=+#qPUSLY@Vp`wz=+(HLx}Hy zI(tzk58Tll8%Q`>tB$}^+d-|nhTuX8?xgDxl2efgaLw$4$dd%r#j zj)D^bLV~0Sk^>q(SN->3tpK=r@wq`*J zxFseHsaDz=w~Wq2-wS+zV!euTjw1wh*yXTegr@K-w4*uB1rCaM(Nfb!$`Dvl%vgTZgk(@Ot5$bpa{hs+o@oT1Q;N0~VkZBH9dWaK~ck%aa{zrD+5L&95l zuhGH6dSe2BhC5lr7SM>sn%D(DEf~uzJOxMR{ChclUQaIFG!1&PWoA+H`+XAmGixML z0RlC$-6*(8`km1gEpr9be-LY)K}z{nl%u!w=eC@4mk#y7mbRe{HYixy$f2q@h>IG_ z8-dJ_qobNW%VfsinqgQz(?#QWw0hYe57Hm|A$P$&t5*h;MoT^V?os;*a88D9Azkkr zH%d3qUBH&K0fM7YK>W~ zAWp25tA&^I0TQI~;vR)O}e5J$f|7 zwzixi-HtR3uX~IlLOdm+l0#%OrqzYIY~4Q1>ZnVZdR(lS!l1_!_icQH92RQ(Yi5dG z1YJLoV0SH=a(Qoq-TJmR?Th-cn8Ac*g1T=ci(e<=pkr#I%&~e8+=>!5b9?>-=ym7g zIX$tFFr@?CfB(6h4}=HPet&wGm7`p!-|MHNwx9^B#TvwT#*hYa;sVx$)ncYo&N9x- z8y;!bJtSF;;chI71LfgrNORx|p%#s+B+TbD)|C?;rCWRD%$vUX)JlfGt6l@8>E786 z+SvVqx^)REqn#fu>~{N=63j}44z;SvN0_6YhHCvuVLP>u@dJ#B@f~jiU?QixgbUib zMaaac6i$3-(J?GK6!DcL1QQxClq7+iqVKw?cnTEa5a zj8An8`bZ^vO=m+O99%q|=SZ%R_=#KZilk)fhu=xJ{^9!i#>Ut`2~8_RDS!m0a;G?Z zu9WV|6VN%}3Om||Qht?=<_MffArzdX&*M@Ibhk3kRcmalUSkoiCmHu z*A6asIS@T6aeV917rK*Mk_5Pl&Mj0?H|4wRwYG%A)#m)6-l^{9=N6%sQK?gxVV&5Y zw4naxbwp*mAmFtGML=x5pnM*DEF(PBnL_WLGb2d_P-+#!Rzd1HtW`X>TpiEIajY*` z>jhr$AnqE`szsMAqx3@X;xX!3LddrI8dLsAjqucItWXaJ0A`lmYAu=>nEK!OYwdy!pKZ6 zM`@v`92)>rHc3n7bbe4`e6Vd1=Q=Oof<%-zB8Bc9&Q9Tj1y?BOeY&1^H7S%naV-gr zNT49RFZ%Y<8NwFNeZ|PRz(^CO(TIU9I%GmYN>Zs1Up^i= z|7Gj=JCo=M_~lCrA|U3>{U*-m$*DyB?~bCk{y;j@cR?J&9C7|&}s{LgBX~hV{5FJFOVYBL^rb5 zR~E0qm)PUsAt|>sCr|c7g{$|pn#CNY6_M?{kp_m|u#^zmjPNg;DTW?t)S`otOpS*z zEW%{1M`;PY#;JSEFcwGW8cjltn&<%+>boqjR|@Xe(ubGQjee>$bWVb)h)n_&c~q|6 zx=92+wNmmL>~6XUz@HxH{XGAn9w>d2-+Lz-I>u|v(O_h(r~aqKhdoZg=3gszwh{9< zBg*+50;o=wc8D%09t}%hx)B8FwI#Q#Ak> zJ$I3K#G%0UQJa*4w5m;2zm4s++ymy0Zt~J$V<}Mx|Z)HCZ&x)Iz3rTzoV*eC?(n zEmaMi@8q~N-g9w*Q-X#6O9MjqKknHb!}nI;V;*CkdGip=<`@w)G*lAwPaHZG?H1NU zTS!O!kA#WUJ{j2&vF*$6MtLOlWYNfq9DE?}_+11LyrbN1xTd_?-rHNkoY}QlBFR5o z{dgQ^ZWBZ=$7(Zrb$e@zTpRCdH5!8zV-tU)*W|-+VX&aneaR+3>sgKlBgO#&KWFqm z7H*6*l?KmviLB9oXb9_-(wvqE3=IvvhiM7pN7G9BA}I<%Omb0t&bl=~ zy7_Bxo*J6?6BR?K;(TAC4DVr^-#RWoUU65;r+bF308(1s$CtHL^@DuAkHft~xre6d z(ZS#XFF)dLDV5hoW`SN-igh3wCa3w&WmEDmEnc5H%rV$l5URos*Pdv^I4d0&I_ac# zuOVB(bVt!?vSa;b&Dg+Hl5QoJf*?{|NIROGzx>D4`;I$T(BoM$M<-19Q?~@dE`|kK z6gUoNrrhH#3W2l8l0s-fH)|muYWDNgh}-;=eAo`{q8eaPU_kOba9- ze&%*zN|=b9wuu|+aFIQd%BqEntKj%f6vM_=Dn%mZR5S`9v0sAQqt8^spea^g;G|PB zq>#ad;92`;b>$aXTxy`LK>OF~NE}>+b;~FeM24nRHt_FQBAHyh=i0P4Mc} z^KYHF{N=#(i*^C|=#NSGf}d*Z553~LTL~c8=rT6^*2y1Ce>mg==ox&~2D&zK@5u{$ z+*)@Z!e5xW+e7f_%R_7SC_)Xz(V|?I#xqf=5j^XTi7y8E5uVs)M!uwSdUirpG#b zf%6-ABspG2D}+?~eIFM4g?Pob0RX|11$rqR7sL|b@f;Nh5<$Vas7Elms#a^n0c*%9 zSDrgLr-xdKK;poqSq_HFFZ3<|sGz$d5&M4y=Dh|d`^2bdjmcENk% z9|Z>~h&Vj6D-5yJSYc3}X>?7M3k0mN&^plkCiQBNb7%%f>Uo6Gi$r%*&3a(lQt`GL z5&eC*O8}T5uc*PX?CMwdIwR7Zh_hpBd;bLK{q4@lKiDsA4dgjLdwV)`U+Gnc4QicZt{1h$T{cLjiW=CtffBt#mMxD^AMt#fLj>WqqSy>9B(Esz z7t$ZkUH{oKS1~ah`kzg!89K!B@T(43g#OUcHpOF7HqcNWv;_=A@}$uM9W6^^I9D{b zT1QQPp0CZ>3(iMY@gksPdQOQazKZ54T544et2*Z=_J$w`BG$ZfOHBDHzzFdBAlg(} zFDrlp+BpR0n48hY@gpGs=@Lr|aX&I0q!`5YC>I&z^N}!#D}!|yC-EaW;I5w;h>$$; zS#Kc=FBF`ZAb?$WQRMpglLvl(;!l^RCnv!1#>6|cri{wHH0bxA>o|HQSox)`CsdT< zX_omVc;ZtIC_$elEHYs$gz0n-_>LACC-)r!`7D$xF1d8O$*1zQguym6x%Kz0ZDGJLwKZMS@(-H9RM5-s0f~F{J0MV=f8@|dAlYN87Z|oCvPQZKwKr; z(PlF?*t`dsRXQT;W8pBIw=+Kxz8g4XS9cWLKPr*q@$~%a{la?oW~c8BDZA~`->X%{ z#b}=S~&E?d^bm zR6xa3*}Z!Y`riBoifO#L5E`f1S-Laors!3}KgYRdt}3k8*jGc$!09L?cNDmW_c#@W z7m0pT<KtduM;##!& z%!mKxhAy3}*?U`(uEh)7MCa{H$`-sksGYSF!>t$VeoJ`hN@m;Wg&c`B!VUANMBHz! z!UG$rO9v9pJC8AM98Og7F%Dl~KwA;4+q}6~RYpqLkCCrQ)LGXKVjLnUvX>f)TdX!I zTBFmZSM7F(uAMI;pA%WmxJ?0NEVWI75}M|$$>oYw3>UN%o?p!QAS>SX3ptt?T$XCu z2i?d93y#8v6z4;k&jxdpnSL}18KFUG0|q-FtzqEirN6bb{KLV>;9E`?0I*1lz?U}P zI}zo~j%VNQD%&XU82i=fc?3auV*;v@-xFdhqXtH@)Rg=#D!d+`f9&^7XJ0?sdbFwA z0$pppkxcJ6O|v&8&6Jp%CBz+d2~pNV^$JgcE(%#eKm!k^4N1QZgVH9{8$_Z`_?T<1 zDBLM9Sv(*AWy6yHiGe^Pt;~NrHp#G3Q6HBjP9`WjyL)Jb3t&X&P_Pam#~K)!CQQa7 zH8>*LuUeh_STuCnO^F59A`hEzCNj06+U5Azs9Qs1{COM7lFx}ZBgWgrZHks?6iRc? z@06mGkV@@%a`cJyOF0ccHRRUUQ+kvRGlebOB%*ENgJ*-H;j(`&6nHbc>{1CnW=mds z^1#OJqkFpWJ3@?=kBBO*>5sMAvIGuo26*q_MtXL-HxlVp?6-2%Nrov6xRQP{G2A|j zP~sttkFtkVX>fu?qjMbkt+TAkQ9uEllvN&_wliMlm`e7;+Mgk102jD?W^hVhy@I^o z3s~71P86D;kpu93Kx*^)D$ZFDls@J+1t%mgQ%Sw#(WtP#N- z3Xz4vlyC_azWB&8VF{J4Lhk^~sA{~`6v|6Cw3CdVRasPY=Q((D5x9gEz-_)_#pPFD zJDspDI&kLnSr@-T=*dAz8rD5LFfdIzETaRg#}Yc}ue4=YY0DqjK)4FeVpzy5&)!?% z#B$n=xE<8xLS+g4CeMk{a*35JwKq|_cMaHlwmM1p)rBB9JQk^{6i6zxP*=kk9V(fT z82J3h5-0yAiw7oPk}H-aU^5iBj(ufy&wEY1=RYkBHG{)fugc&z{H2siI3S-YCK~@N z2X3FbBWpuf|h@+_(kRu2pEK24?a@yfpVKpu!<+BwcDy z7wTo)-NhnaXpAWwH|AvOU4ujjBuh6qkrfAsi_pZHr)F%6cO^DSBRYrVaJMkH;5-Hk zqhf7FY9UCeu`;v9IV9>_Jm~$wnDc$MYZxUpsS=v3mL*jOtXA61!2z^)PT03*H%*Xn zZzk?i-~_!i;b2&1@yX{2d%{=4LdQ9uiceCylx%;QvIk3= zl+vW=@x_ub-#iPG`?6qgECSXxCcwwnDJk-_c?;ob?LqPULSCXoiW<;0r1V51lI1CG z?-pw?v&4))?T1rt2{TyWCF+j23mG`!<(>^OFj`o~VyrZ&-%M-TkeJEr@vWkRD{DIy8f~eS(#)2n98qz0W3Cozem@$P)o8?n6(@qs5{SF#qK!rc zuqi#?LiX@pyqvXOaFP%&St1NpbDo&e4R5@cg4Z%sfFRr%fQ_>0><>jDHm%E;zKWY^ zbHe5nVd@sL9^+dqq{LKSNo#`wt~AMe_H$TY)HQuoSM?QRrT8w6C|3Q=jk+?n7oYKC z;+e6pyNf9#PUB~x31)QN(#r9=#tbW1d-lZlw&D(IK`wh9N=|dzl zDQObGswRiDsRE|{F^gF;UDzady<Ak(DLs!UtPHPmQi|8_{f>DlG@VwawLTJnv zZwyR}DMP9hd-vE=s1+&Ejl{*>azu2b#mUjK{x0zognrz#RU$JkY|kSJ;h&a7*C{EH z-4Q6}U9yMMQu1RWHD}2oG5?cF+~Ww^@cGQ^e){<=5npn3TWS3)Bb1_r=MOB?|Kh?T z#RevHLEaRS1_P_LPioG5ilZ1zO-t1qUmLC zDDy1Sw~N1;0(dB5^~U?YUjLYh^Gj(8Tp z2=H5M+toAS9h+eN9-vw1$3bgIKZ}VcMs{v3JgCfvv{+*fdR|jt0u~h#tSfMQPEo+Z zkQEbI7-MN`@a0?dE~yoq1(z()nBo$Xy)RSwSHIaMo_jY=&VR6X!`B2MDBO16#jIP9*UFUGF-s5+v&BNBfwens7fTKGWRR2Uu*fh0|PZ;TSL@lttA+f zMDEQ);(NVec;?5Qme*B%Q`ZbxOL|tH)yMS-J*}%o#euVrrBF4OverQDRSDT)^%^3L zd%Z?&V2m;Nd=>UC!#?wxaKcnN0eL}CCJr#b|WmN-ElU!yl7m99Nouia3g? zSP~a6aTJ1(FzGF{%Pi_4I;uu1bNn1QnJ=l*i|{F@=+?o>V4!DQm|n)f)Y~6IR%eTq z&A>3NvTgt)z}G6{0gUb1nUHRUVntSYsLbgFq)Sr*s?EV(D6U+yZ{NTZhYwZNiYuis zTX=0e9y*NeZ;~JH4)z~#cv4!d&tfl@o{E}q_~A;BmoPM=5qv*=`pN_ey_uS}3}iMr z6WiEA-ZYk**H{tB=0$vp*s-8m~A38eTqe+@h~qy z#e9rc3nE5L3!JJF#fwR9+7}Mf%7CkIXCmXfdJv5tpKRy8J-WgBzt7G_PkUSW8atl3 z6VxD}*n4i(Ql)Q(hua)7;#ZnfO(pLz5(R2EoKFYdRY`Ok0MN-9oK(|OS#?tj%}mjH z_F!gCg4;S>Mu|9egl_)8zje1L!yj?o5?QJq_AVZvqACRu*KIqT6;sWwXvUWGWS^HI z4qWgwr(&Kt9u|THzexsfZbGI6ENP*@Z23+HQkX<%pcEt8#vxVehEyY_nS|0)+Jg6F zCyjlZJY8fVY;%3Lu^2E>)1pfD^+;3wP*zI(J zH_pyIw@0-uJ-lsYS4!K$@51crAq2Zi^#CJtWIrT1@!L_&<6xSF|g~*ocTdwIGp%AG+v~&|H^2t8iHf;8 zzGP#p<#OR1P!cHPFXq4!Q&={cyt*B<63ZhA#@HM1K*aro9 zNEN}ML9ddG?DWl_1S@B(OHG?26UGGn-M2cem>Q6gT1ZW<3)nNutOoNLJBf-ZyG$7lg0{K?Ay$CX@bn9$s|gSB({~L=I=Y zXJ2*fi8H!y;3QftQ-v9?Q(!yRd39Ewc))x0 z)h+J`eQ*&KHgWOJw(&qmO8`)j*90uMcKM$=5a+;o)K-Uz%T?6Cc3>Py#Ic||JhICB zM_NvGCKWl@)Oa{B5FcGJOUbFx@JXgxf~FSl+Md{>DqH_TK3)Brn7|(ovk| zip441B;z)OYo;Z|&FuPU0Zp1K?j$42Ws&=+`4eB@yQ^M>kBAEu0uDf?YMJJ|yw<*t zwLjd-#rEy2smS>w^^9ZPgZ@yp&5c>QIP(guTsAf&=0&O3bkN#lWQ+HJf2`=4sgNL- zwG7hFz4a)Rs#`>(?aES%aZqpwzxUYdp^MncsjbZyx{=Xsvh5AN3tgeERhTi?M6cFL zJXft5%}@euwSI#34?T2A$>JMgB~+?ZdKv6TUlXjW0O4}W&@Zp;D$IkRM4KNopYpPk zlIXt$0`38EnxevoH+Vwz^TAr-us8o8dNrW{D1gQak!Sc5Q8}GoR=Hj^!F{IHbnv*=S($jrNX2D;z*ufKZU+jj;NTUBUzTAhgp1eSj|M7qVz#{j#9n++^M^Biq1lPnRDO+IzNZ z$No|@|7s0_MZaZ6aAg!Lhajn~M_a!+&^csKAP+?0Hy5y!Up2*cZ4^p=VBH15U*v3d zF#>}7C)wq+?lb^!B1!%MK>#X~1*3&~aeru2hDvJL@J)adj1ZgkTg?gbJ)Jf&M)MR& zgvG!dqf%ReFk_fxQDJ=(=rgct8jP`y!>kefo3F1-K7;jCdm?w=7$0#wPBV4TOFr_U zfqV>|PNaSr*;Pj8kfQsm6A?2wPbGcUnAhuk|0u{5&*&U1H5Fqq^h~6ZTk|1@uM0)1 zkP#s?QXpp;1oARxmj_(Lw#RLt^wj^2N}wo>~rxV}xoaZ-k-AcsQ@4#2C6 zz_J=l9LI;)7`;zTU>hV!%nZYt*!M%%CbAzT(k}gUww*G&QT(BPYu&fuz{#^PQ}>uL zJ*D=-cPH+ud%}zO;-=U!gfpOD~-b@wPO?zYLvN;$-}$8%DaM3^=m6uQ2y% zjW^6Q`N6CUsZVOa8BMuOL!IQKWNTH52BF(-V+@$EN$?7XbA&t2Qmissblq92E&R-R zfxxU;YBsZ`pHfqtOg~~3kO4;v%tT@`+B|c^{Ap=a-E-rbaZ59!3Gw{FmrwuGvist@ z)z%%AO(a~E(FgmEed3)*Iw6wVai7Bo%-g&N=CjbCttbVXbFGwgT*1nn%0fdaS@|LT zm8{-~+hQo<@mN}Oi(qe_09xE{OuuVF3ml6sbk4zXfwMEc`&~-ZpjzA2J<6$0P6glw zaH}22H+M=cpi*S)s)cmvq>W?&+~gghG{u@H3l-BAGgo_povz;P3gY%w)Rn&NE)<#! z{6E+avRd48y&{ZvyAq%LAhr6BYRr?A)5LG}<(R)E+gtT)JaI0*xNW;?C=CHv<>PtZ zM(^qqPsW@mVh7x{3KX!Tr(276oaK(vU8Xp5`c6i(HPYfYx6Oq<1c#6uP**M^ZHu$g8NV zsIF&69bN*>DDwN$q}9RM(-rqtx$v*O*F$1DZ{Z!M(qf1LfG?kERhv$oQsdz@Yq;I< zlbEN04cQE97rT{bu*>G{=v8g^YNJkb-dBm`?{t4<;-8fEo{e5KiiVLArQ?r$B*OA$ z(3DRR7mCLda?d|3f?i{Yg1f35z)dKfkCS=S-S*9l8%!GX8GYOsHk2`Za4qY@n3pj| zYPZLo+}4BUE@A4=o|aXdfNwM&z$x0Qf_uJVy@_ewlf>h8C)S!S;_hQ`CRjJ-Kf!;| z>CW|=tSEo6e4zZ?SkuzhSe`@Q)t7{_Z7IcT(alTM-zZ1rBx?NCDs9IS!SUKr@ITI9 zfbbEwoygE1q!Pi5rewwFCy2BBC0?U(#a{{}1g93)XNixoAK-9DZmF4l=#sk#`Tb9wCMWB{Yq*Vo1 z+hO3AS0W7AMUMPGrlOfF$Fr_Z`Ar!ls&M0176eykr?}$HR`$D?I9XnHi5+yz@(D z)kf`1dL~y&-F)QO=&>W4+dkv8v!K~7oUdx;I2}d;52wGRz-LLXrU@ie84Cf!n9l&V zSS94{Q!%m7LK=qw9)}OqxQ!NVvK||@qKzr|OVE?OjOOzh;hDX!$>s#|`sF~COe?@Kb7v_$N$);o z@v(x%l$y*wp;YVu6E#V&G@@Al1&8Crv_I!5+GgT)wG^zj)T{~?mVKZwfOVSddfrWwkd5f z)_JVjo|@GA+quXs)kvW0l`47GE`(Cn_eroc3)*lOgWW=QfTd>G2KCw+CtvTnoiI_3 z_6t*}V#8lGOSA8zCCnu)>m*gmfkhJB6pF0QW4WSX|Sn8+!D(~)I;no6Y{xvOpYScuEW@k&;PXY5)#6NZFm%BgjZ9cIQ=Abz$RsV7K zLqb)vJMBHu{QB9qE&!h7%2ggFUl?i)=>b zR1Rjf!F57L<0jzc5k4o#0AQGZ_~D1H{d*#e*Q`zz0188s|6Q(?=Dj~Y(5kv*msX1^x4E0Iu@yk;+&Kw?N}BhYz}B5LhFS zg;q3hOEN@I3_gxZY3bpY;`tpa`jvrRctbXOsQ@lnZrGrV1}MOb{0RA8&I&GDHg*j# z*d7KBmXMJ@zbK3zag-wh9b`rxO=3bFbnw%TQJPg4nwSui9EV+^{(iv* znOOP_CH}77_ep2DMNVU755%f@7%ywZaTkJna&}YZe{IqXbFJqBsH+s;h$ z%Z}jjR}d&Ujej*G95Z~ebo;#V6D{QQ_`^%!1ImqL#2<-*Z_!-kXN{Q7vb;c#5Twwf zsAPAK!6L)uW^<2^rQTO&)fE^Kg}5bpm~19{G{ya;M<~cWJ~k7Ao`gbzo|LMCdor?R z>d7e*dY1cx%l8IZ$0C)DaN-!^Gg-Zo;R#PZwN|c+2vE2DFf!Xn^rOLY@AqAKT zlOU*9FE?V;-!l8OhFzbzWItygvTl8Pf%?u|q*=3NM8od&gw(ctb>;uShtKz10ssI2 De!(H( literal 0 HcmV?d00001 diff --git a/docs/.vitepress/dist/assets/inter-roman-latin-ext.0030eebd.woff2 b/docs/.vitepress/dist/assets/inter-roman-latin-ext.0030eebd.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..715bd903b9b14d22a056f10e6d13b8d7e0acce57 GIT binary patch literal 59608 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

日期格式化

Show Source Code
ts
function dateFormat(value: number | string | Date = Date.now(), format = "YYYY-MM-DD HH:mm:ss"): string {
+  if (typeof value === "number" || typeof value === "string") {
+    var date = new Date(value)
+  } else {
+    var date = value
+  }
+  function fixedTwo(value: number): string {
+    return value < 10 ? "0" + value : String(value)
+  }
+  var showTime = format
+  if (showTime.includes("SSS")) {
+    const S = date.getMilliseconds()
+    showTime = showTime.replace("SSS", "0".repeat(3 - String(S).length) + S)
+  }
+  if (showTime.includes("YY")) {
+    const Y = date.getFullYear()
+    showTime = showTime.includes("YYYY")
+      ? showTime.replace("YYYY", String(Y))
+      : showTime.replace("YY", String(Y).slice(2, 4))
+  }
+  if (showTime.includes("M")) {
+    const M = date.getMonth() + 1
+    showTime = showTime.includes("MM") ? showTime.replace("MM", fixedTwo(M)) : showTime.replace("M", String(M))
+  }
+  if (showTime.includes("D")) {
+    const D = date.getDate()
+    showTime = showTime.includes("DD") ? showTime.replace("DD", fixedTwo(D)) : showTime.replace("D", String(D))
+  }
+  if (showTime.includes("H")) {
+    const H = date.getHours()
+    showTime = showTime.includes("HH") ? showTime.replace("HH", fixedTwo(H)) : showTime.replace("H", String(H))
+  }
+  if (showTime.includes("m")) {
+    var m = date.getMinutes()
+    showTime = showTime.includes("mm") ? showTime.replace("mm", fixedTwo(m)) : showTime.replace("m", String(m))
+  }
+  if (showTime.includes("s")) {
+    var s = date.getSeconds()
+    showTime = showTime.includes("ss") ? showTime.replace("ss", fixedTwo(s)) : showTime.replace("s", String(s))
+  }
+  return showTime
+}

何时使用

  • 格式化日期时

基本使用

格式化时间戳


2023-05-31 14:20:45

vue
<script setup lang="ts">
+import { dateFormat } from "@jqw755/q-ui"
+
+dateFormat(1685514045679) // 2023-05-31 14:20:45
+</script>

格式化字符串


05/31/2023

vue
<script setup lang="ts">
+import { dateFormat } from "@jqw755/q-ui"
+
+dateFormat("2023-05-31", "MM/DD/YYYY") // 05/31/2023
+</script>

展示毫秒值


2023-05-31 14:20:45:679

vue
<script setup lang="ts">
+import { dateFormat } from "@jqw755/q-ui"
+
+dateFormat(1685514045679, "YYYY-MM-DD HH:mm:ss:SSS") // 2023-05-31 14:20:45:679
+</script>

Params

参数说明类型默认值必传
value13 位时间戳;或者可以转化为 Date 类型的字符串日期;或者 Date 对象number | string | DateDate.now()false
format格式化目标形式string'YYYY-MM-DD HH:mm:ss'false

format 支持的格式化占位符列表

标识示例描述
YY23年,两位数
YYYY2023年,四位数
M1-12月,从 1 开始
MM01-12月,两位数
D1-31
DD01-31日,两位数
H0-23小时
HH00-23小时,两位数
m0-59分钟
mm00-59分钟,两位数
s0-59
ss00-59秒,两位数
SSS000-999毫秒,三位数
`,21),t=[p];function e(r,c,F,y,D,A){return n(),a("div",null,t)}const d=s(o,[["render",e]]);export{i as __pageData,d as default}; diff --git a/docs/.vitepress/dist/assets/utils_date-format.md.e268d2ac.lean.js b/docs/.vitepress/dist/assets/utils_date-format.md.e268d2ac.lean.js new file mode 100644 index 0000000..f70548f --- /dev/null +++ b/docs/.vitepress/dist/assets/utils_date-format.md.e268d2ac.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,V as l}from"./chunks/framework.dc35932b.js";const i=JSON.parse('{"title":"日期格式化","description":"","frontmatter":{},"headers":[],"relativePath":"utils/date-format.md","filePath":"utils/date-format.md"}'),o={name:"utils/date-format.md"},p=l("",21),t=[p];function e(r,c,F,y,D,A){return n(),a("div",null,t)}const d=s(o,[["render",e]]);export{i as __pageData,d as default}; diff --git a/docs/.vitepress/dist/assets/utils_debounce.md.8acddf5b.js b/docs/.vitepress/dist/assets/utils_debounce.md.8acddf5b.js new file mode 100644 index 0000000..30e332e --- /dev/null +++ b/docs/.vitepress/dist/assets/utils_debounce.md.8acddf5b.js @@ -0,0 +1,24 @@ +import{d as a}from"./chunks/q-ui.bc6b1064.js";import{d as l,p as o,B as p,c as t,o as e,V as c}from"./chunks/framework.dc35932b.js";const r=c(`

防抖


对于短时间内连续触发的事件,防抖就是让某个时间(delay)期限内,事件处理函数只执行一次

Show Source Code
ts
function debounce(fn: Function, delay = 300): any {
+  let timer: any = null //借助闭包
+  return function () {
+    if (timer) {
+      cancelRaf(timer)
+    }
+    timer = rafTimeout(fn, delay)
+  }
+}

何时使用

  • 对于短时间内连续触发的事件,在 delay ms 内函数只执行最后一次

基本使用

打开控制台查看输出

vue
<script setup lang="ts">
+import { onMounted, onUnmounted } from "vue"
+import { debounce } from "@jqw755/q-ui"
+
+onMounted(() => {
+  document.onscroll = debounce(showPosition, 1000)
+})
+onUnmounted(() => {
+  // 移除键盘切换事件
+  document.onscroll = null
+})
+function showPosition() {
+  const scrollTop = document.body.scrollTop || document.documentElement.scrollTop
+  console.log("滚动条位置:" + scrollTop)
+}
+</script>

Params

参数说明类型默认值必传
fn要执行的函数Function-true
delay防抖时间期限,单位 msnumber300false
`,11),y=[r],d=JSON.parse('{"title":"防抖","description":"","frontmatter":{},"headers":[],"relativePath":"utils/debounce.md","filePath":"utils/debounce.md"}'),F={name:"utils/debounce.md"},u=l({...F,setup(D){o(()=>{document.onscroll=a(n,1e3)}),p(()=>{document.onscroll=null});function n(){const s=document.body.scrollTop||document.documentElement.scrollTop;console.log("滚动条位置:"+s)}return(s,A)=>(e(),t("div",null,y))}});export{d as __pageData,u as default}; diff --git a/docs/.vitepress/dist/assets/utils_debounce.md.8acddf5b.lean.js b/docs/.vitepress/dist/assets/utils_debounce.md.8acddf5b.lean.js new file mode 100644 index 0000000..30e332e --- /dev/null +++ b/docs/.vitepress/dist/assets/utils_debounce.md.8acddf5b.lean.js @@ -0,0 +1,24 @@ +import{d as a}from"./chunks/q-ui.bc6b1064.js";import{d as l,p as o,B as p,c as t,o as e,V as c}from"./chunks/framework.dc35932b.js";const r=c(`

防抖


对于短时间内连续触发的事件,防抖就是让某个时间(delay)期限内,事件处理函数只执行一次

Show Source Code
ts
function debounce(fn: Function, delay = 300): any {
+  let timer: any = null //借助闭包
+  return function () {
+    if (timer) {
+      cancelRaf(timer)
+    }
+    timer = rafTimeout(fn, delay)
+  }
+}

何时使用

  • 对于短时间内连续触发的事件,在 delay ms 内函数只执行最后一次

基本使用

打开控制台查看输出

vue
<script setup lang="ts">
+import { onMounted, onUnmounted } from "vue"
+import { debounce } from "@jqw755/q-ui"
+
+onMounted(() => {
+  document.onscroll = debounce(showPosition, 1000)
+})
+onUnmounted(() => {
+  // 移除键盘切换事件
+  document.onscroll = null
+})
+function showPosition() {
+  const scrollTop = document.body.scrollTop || document.documentElement.scrollTop
+  console.log("滚动条位置:" + scrollTop)
+}
+</script>

Params

参数说明类型默认值必传
fn要执行的函数Function-true
delay防抖时间期限,单位 msnumber300false
`,11),y=[r],d=JSON.parse('{"title":"防抖","description":"","frontmatter":{},"headers":[],"relativePath":"utils/debounce.md","filePath":"utils/debounce.md"}'),F={name:"utils/debounce.md"},u=l({...F,setup(D){o(()=>{document.onscroll=a(n,1e3)}),p(()=>{document.onscroll=null});function n(){const s=document.body.scrollTop||document.documentElement.scrollTop;console.log("滚动条位置:"+s)}return(s,A)=>(e(),t("div",null,y))}});export{d as __pageData,u as default}; diff --git a/docs/.vitepress/dist/assets/utils_download-file.md.45802505.js b/docs/.vitepress/dist/assets/utils_download-file.md.45802505.js new file mode 100644 index 0000000..35a96ec --- /dev/null +++ b/docs/.vitepress/dist/assets/utils_download-file.md.45802505.js @@ -0,0 +1,31 @@ +import{_ as s,c as a,o as n,V as l}from"./chunks/framework.dc35932b.js";const i=JSON.parse('{"title":"下载文件","description":"","frontmatter":{},"headers":[],"relativePath":"utils/download-file.md","filePath":"utils/download-file.md"}'),o={name:"utils/download-file.md"},p=l(`

下载文件

Show Source Code
ts
function downloadFile(url: string, name: string) {
+  var fileName = ""
+  if (name) {
+    fileName = name
+  } else {
+    const res = url.split("?")[0].split("/")
+    fileName = res[res.length - 1]
+  }
+  var xhr = new XMLHttpRequest()
+  xhr.open("GET", url, true)
+  xhr.responseType = "blob"
+  xhr.onload = function () {
+    if (xhr.status === 200) {
+      const blob = xhr.response
+      const link = document.createElement("a")
+      const body = document.querySelector("body")
+      link.href = window.URL.createObjectURL(blob)
+      link.download = fileName
+      link.style.display = "none"
+      body?.appendChild(link)
+      link.click()
+      body?.removeChild(link)
+      window.URL.revokeObjectURL(link.href)
+    }
+  }
+  xhr.send()
+}

何时使用

  • 下载文件并自定义文件名时

基本使用

vue
<script setup lang="ts">
+import { downloadFile } from "@jqw755/q-ui"
+
+donwloadFile("https://cdn.jsdelivr.net/gh/themusecatcher/resources@0.0.3/Markdown.pdf", "Markdown")
+</script>

Params

参数说明类型默认值必传
url文件地址string-true
name自定义文件名,未传时,从文件地址中自动获取文件名称string-false
`,8),t=[p];function e(c,r,F,y,D,A){return n(),a("div",null,t)}const d=s(o,[["render",e]]);export{i as __pageData,d as default}; diff --git a/docs/.vitepress/dist/assets/utils_download-file.md.45802505.lean.js b/docs/.vitepress/dist/assets/utils_download-file.md.45802505.lean.js new file mode 100644 index 0000000..d7ce6b6 --- /dev/null +++ b/docs/.vitepress/dist/assets/utils_download-file.md.45802505.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,V as l}from"./chunks/framework.dc35932b.js";const i=JSON.parse('{"title":"下载文件","description":"","frontmatter":{},"headers":[],"relativePath":"utils/download-file.md","filePath":"utils/download-file.md"}'),o={name:"utils/download-file.md"},p=l("",8),t=[p];function e(c,r,F,y,D,A){return n(),a("div",null,t)}const d=s(o,[["render",e]]);export{i as __pageData,d as default}; diff --git a/docs/.vitepress/dist/assets/utils_started.md.23925c67.js b/docs/.vitepress/dist/assets/utils_started.md.23925c67.js new file mode 100644 index 0000000..2d82ed2 --- /dev/null +++ b/docs/.vitepress/dist/assets/utils_started.md.23925c67.js @@ -0,0 +1,3 @@ +import{_ as t,c as e,o as a,V as s}from"./chunks/framework.dc35932b.js";const D=JSON.parse('{"title":"快速上手","description":"","frontmatter":{},"headers":[],"relativePath":"utils/started.md","filePath":"utils/started.md"}'),l={name:"utils/started.md"},n=s(`

快速上手

简要介绍

开箱即用!

使用方式

vue
<script setup lang="ts">
+import { dateFormat, throttle, debounce, downloadFile } from "@jqw755/q-ui"
+</script>

一共 9 个常用工具函数

Function nameDescriptionsArguments
dateFormat简单易用的日期格式化函数!(timestamp: number|string|Date, format = 'YYYY-MM-DD HH:mm:ss') => string
requestAnimationFrame针对不同浏览器进行兼容处理!使用方式不变
cancelAnimationFrame针对不同浏览器进行兼容处理!使用方式不变
rafTimeout使用 requestAnimationFrame 实现的定时器函数,等效替代 (setTimeout 和 setInterval)!(func: Function, delay = 0, interval = false) => object
cancelRaf用于取消 rafTimeout 函数!(raf: { id: number }) => void
throttle使用 rafTimeout 实现的节流函数!(fn: Function, delay = 300) => any
debounce使用 rafTimeout 实现的防抖函数!(fn: Function, delay = 300) => any
add消除 js 加减精度问题的加法函数!(num1: number, num2: number) => number
downloadFile下载文件并自定义文件名,未传 name 时,从文件地址中自动获取文件名称(url: string, name: string) => void
`,7),o=[n];function r(d,p,i,c,y,u){return a(),e("div",null,o)}const f=t(l,[["render",r]]);export{D as __pageData,f as default}; diff --git a/docs/.vitepress/dist/assets/utils_started.md.23925c67.lean.js b/docs/.vitepress/dist/assets/utils_started.md.23925c67.lean.js new file mode 100644 index 0000000..1eb8f41 --- /dev/null +++ b/docs/.vitepress/dist/assets/utils_started.md.23925c67.lean.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as a,V as s}from"./chunks/framework.dc35932b.js";const D=JSON.parse('{"title":"快速上手","description":"","frontmatter":{},"headers":[],"relativePath":"utils/started.md","filePath":"utils/started.md"}'),l={name:"utils/started.md"},n=s("",7),o=[n];function r(d,p,i,c,y,u){return a(),e("div",null,o)}const f=t(l,[["render",r]]);export{D as __pageData,f as default}; diff --git a/docs/.vitepress/dist/assets/utils_throttle.md.acac61bf.js b/docs/.vitepress/dist/assets/utils_throttle.md.acac61bf.js new file mode 100644 index 0000000..0d8f50b --- /dev/null +++ b/docs/.vitepress/dist/assets/utils_throttle.md.acac61bf.js @@ -0,0 +1,28 @@ +import{t as a}from"./chunks/q-ui.bc6b1064.js";import{d as l,p as o,B as p,c as t,o as e,V as c}from"./chunks/framework.dc35932b.js";const r=c(`

节流


如果短时间内大量触发同一事件,那么在函数执行一次之后,该函数在指定的时间(delay)期限内不再工作,直至过了这段时间才重新生效

Show Source Code
ts
function throttle(fn: Function, delay = 300): any {
+  var valid = true
+  return function () {
+    if (valid) {
+      valid = false // 将函数置为无效
+      rafTimeout(() => {
+        fn()
+        valid = true
+      }, delay)
+    }
+    return false // valid为false时,函数不执行
+  }
+}

何时使用

  • 短时间内大量触发同一事件时,每 delay ms 内函数只执行一次

基本使用

打开控制台查看输出

vue
<script setup lang="ts">
+import { onMounted, onUnmounted } from "vue"
+import { throttle } from "@jqw755/q-ui"
+
+onMounted(() => {
+  document.onscroll = throttle(showPosition, 1000)
+})
+onUnmounted(() => {
+  // 移除键盘切换事件
+  document.onscroll = null
+})
+function showPosition() {
+  const scrollTop = document.body.scrollTop || document.documentElement.scrollTop
+  console.log("滚动条位置:" + scrollTop)
+}
+</script>

Params

参数说明类型默认值必传
fn要执行的函数Function-true
delay函数失效时长,单位 msnumber300false
`,11),y=[r],d=JSON.parse('{"title":"节流","description":"","frontmatter":{},"headers":[],"relativePath":"utils/throttle.md","filePath":"utils/throttle.md"}'),F={name:"utils/throttle.md"},u=l({...F,setup(D){o(()=>{document.onscroll=a(n,1e3)}),p(()=>{document.onscroll=null});function n(){const s=document.body.scrollTop||document.documentElement.scrollTop;console.log("滚动条位置:"+s)}return(s,C)=>(e(),t("div",null,y))}});export{d as __pageData,u as default}; diff --git a/docs/.vitepress/dist/assets/utils_throttle.md.acac61bf.lean.js b/docs/.vitepress/dist/assets/utils_throttle.md.acac61bf.lean.js new file mode 100644 index 0000000..0d8f50b --- /dev/null +++ b/docs/.vitepress/dist/assets/utils_throttle.md.acac61bf.lean.js @@ -0,0 +1,28 @@ +import{t as a}from"./chunks/q-ui.bc6b1064.js";import{d as l,p as o,B as p,c as t,o as e,V as c}from"./chunks/framework.dc35932b.js";const r=c(`

节流


如果短时间内大量触发同一事件,那么在函数执行一次之后,该函数在指定的时间(delay)期限内不再工作,直至过了这段时间才重新生效

Show Source Code
ts
function throttle(fn: Function, delay = 300): any {
+  var valid = true
+  return function () {
+    if (valid) {
+      valid = false // 将函数置为无效
+      rafTimeout(() => {
+        fn()
+        valid = true
+      }, delay)
+    }
+    return false // valid为false时,函数不执行
+  }
+}

何时使用

  • 短时间内大量触发同一事件时,每 delay ms 内函数只执行一次

基本使用

打开控制台查看输出

vue
<script setup lang="ts">
+import { onMounted, onUnmounted } from "vue"
+import { throttle } from "@jqw755/q-ui"
+
+onMounted(() => {
+  document.onscroll = throttle(showPosition, 1000)
+})
+onUnmounted(() => {
+  // 移除键盘切换事件
+  document.onscroll = null
+})
+function showPosition() {
+  const scrollTop = document.body.scrollTop || document.documentElement.scrollTop
+  console.log("滚动条位置:" + scrollTop)
+}
+</script>

Params

参数说明类型默认值必传
fn要执行的函数Function-true
delay函数失效时长,单位 msnumber300false
`,11),y=[r],d=JSON.parse('{"title":"节流","description":"","frontmatter":{},"headers":[],"relativePath":"utils/throttle.md","filePath":"utils/throttle.md"}'),F={name:"utils/throttle.md"},u=l({...F,setup(D){o(()=>{document.onscroll=a(n,1e3)}),p(()=>{document.onscroll=null});function n(){const s=document.body.scrollTop||document.documentElement.scrollTop;console.log("滚动条位置:"+s)}return(s,C)=>(e(),t("div",null,y))}});export{d as __pageData,u as default}; diff --git a/docs/.vitepress/dist/guide/components/breadcrumb.html b/docs/.vitepress/dist/guide/components/breadcrumb.html new file mode 100644 index 0000000..fdab769 --- /dev/null +++ b/docs/.vitepress/dist/guide/components/breadcrumb.html @@ -0,0 +1,99 @@ + + + + + + 面包屑 QBreadcrumb | QUI + + + + + + + + + + + +
Skip to content
On this page

面包屑 QBreadcrumb


显示当前页面在系统层级结构中的位置,并能向上返回

何时使用

  • 当系统拥有超过两级以上的层级结构时
  • 当需要告知用户『你在哪里』时
  • 当需要向上导航的功能时

基本使用

Show Code
vue
<script setup lang="ts">
+const routes = [
+  {
+    path: "/first", // 路由地址
+    query: { id: 1, tab: 2 }, // 路由参数
+    name: "一级路由", // 路由名称
+  },
+  {
+    path: "/second",
+    name: "二级路由",
+  },
+  {
+    path: "/third",
+    name: "三级路由三级路由三级路由三级路由",
+  },
+]
+</script>
+<template>
+  <QBreadcrumb :routes="routes" />
+</template>

自定义分隔符

Show Code
vue
<script setup lang="ts">
+const routes = [
+  {
+    path: "/first", // 路由地址
+    query: { id: 1, tab: 2 }, // 路由参数
+    name: "一级路由", // 路由名称
+  },
+  {
+    path: "/second",
+    name: "二级路由",
+  },
+  {
+    path: "/third",
+    name: "三级路由三级路由三级路由三级路由",
+  },
+]
+</script>
+<template>
+  <QBreadcrumb :routes="routes" separator="/" />
+</template>

自定义样式

Show Code
vue
<script setup lang="ts">
+const routes = [
+  {
+    path: "/first", // 路由地址
+    query: { id: 1, tab: 2 }, // 路由参数
+    name: "一级路由", // 路由名称
+  },
+  {
+    path: "/second",
+    name: "二级路由",
+  },
+  {
+    path: "/third",
+    name: "三级路由三级路由三级路由三级路由三级路由",
+  },
+]
+</script>
+<template>
+  <QBreadcrumb :routes="routes" :font-size="16" />
+</template>

新页面打开目标链接

Show Code
vue
<script setup lang="ts">
+const routes = [
+  {
+    path: "/first", // 路由地址
+    query: { id: 1, tab: 2 }, // 路由参数
+    name: "一级路由", // 路由名称
+  },
+  {
+    path: "/second",
+    name: "二级路由",
+  },
+  {
+    path: "/third",
+    name: "三级路由三级路由三级路由三级路由",
+  },
+]
+</script>
+<template>
+  <QBreadcrumb :routes="routes" target="_blank" />
+</template>

APIs

参数说明类型默认值必传
routes路由数组Route[][]true
fontSize字体大小,单位 pxnumber14false
height面包屑高度number36false
maxWidth文本最大显示宽度,超出后显示省略号,单位 px180false
separator分隔符,默认''时为箭头string''false
target如何打开目标 URL'_self' | '_blank''_self'false

Route Type

名称说明类型必传
path路由地址stringtrue
query路由查询参数[propName: string]: anyfalse
name路由名称stringtrue

License

+ + + + \ No newline at end of file diff --git a/docs/.vitepress/dist/guide/components/button.html b/docs/.vitepress/dist/guide/components/button.html new file mode 100644 index 0000000..9c70446 --- /dev/null +++ b/docs/.vitepress/dist/guide/components/button.html @@ -0,0 +1,64 @@ + + + + + + 按钮 | QUI + + + + + + + + + + + +
Skip to content
On this page

按钮

何时使用

  • 当需要添加一个操作按钮时

基本使用

Show Code
vue
<script setup lang="ts">
+function onClick(e: Event) {
+  console.log("click")
+}
+</script>
+<template>
+  <q-button @click="onClick">Default</q-button>
+  <q-button effect="reverse" @click="onClick">Reverse</q-button>
+  <q-button type="primary" @click="onClick">Primary</q-button>
+  <q-button type="danger" @click="onClick">Danger</q-button>
+  <q-button disabled @click="onClick">Disabled</q-button>
+</template>

大、中、小三种尺寸

Show Code
vue
<script setup lang="ts">
+function onClick(e: Event) {
+  console.log("click")
+}
+</script>
+<template>
+  <q-button size="small" @click="onClick">Small</q-button>
+  <q-button @click="onClick">Default</q-button>
+  <q-button size="large" @click="onClick">Large</q-button>
+</template>

自定义样式

Show Code
vue
<script setup lang="ts">
+function onClick(e: Event) {
+  console.log("click")
+}
+</script>
+<template>
+  <q-button :width="120" :height="40" :border-radius="8" size="large" @click="onClick">
+    <p style="font-size: 18px;">自定义样式</p>
+  </q-button>
+</template>

加载中状态

Loading state:

Show Code
vue
<script setup lang="ts">
+import { ref } from "vue"
+const loading = ref(true)
+function onClick(e: Event) {
+  console.log("click")
+}
+</script>
+<template>
+  <q-button :loading="loading" @click="onClick">Default</q-button>
+  <q-button :loading="loading" type="primary" @click="onClick">Primary</q-button>
+  <q-button :loading="loading" type="danger" @click="onClick">Danger</q-button>
+  <h3>Loading state: <Switch v-model:checked="loading" /></h3>
+</template>

APIs

参数说明类型默认值必传
name默认文本string | slot'按钮'false
type类型'default' | 'primary' | 'danger''default'false
effect悬浮变化效果,只有 type 为 default 时,effect 才生效'fade' | 'reverse'''
size尺寸'small' | 'middle' | 'large''_self'false
width宽度,优先级高于 size 属性,为 0 时自适应内容的宽度number0false
height高度,优先级高于 size 属性number0false
borderRadius圆角number5false
route跳转目标 URL 地址{path?: string, query?: object}{}false
target如何打开目标 URL,设置 route 时生效'_self' | '_blank''_self'false
disabled是否禁用booleanfalsefalse
loading是否加载中booleanfalsefalse
center是否将按钮设置为块级元素并居中展示booleanfalsefalse

Events

事件名称说明参数
click点击按钮时的回调,未设置 route 时生效(e: Event) => void

License

+ + + + \ No newline at end of file diff --git a/docs/.vitepress/dist/guide/components/select.html b/docs/.vitepress/dist/guide/components/select.html new file mode 100644 index 0000000..77fb7dc --- /dev/null +++ b/docs/.vitepress/dist/guide/components/select.html @@ -0,0 +1,339 @@ + + + + + + 选择器 QSelect | QUI + + + + + + + + + + + +
Skip to content
On this page

选择器 QSelect

何时使用

  • 弹出一个下拉菜单给用户选择操作,用于代替原生的选择器,或者需要一个更优雅的多选器时
  • 当选项少时(少于 5 项),建议直接将选项平铺,使用 Radio 是更好的选择

基本使用

北京市
Show Code
vue
<script setup lang="ts">
+import { ref, watchEffect } from "vue"
+const options = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+watchEffect(() => {
+  console.log("QSelectedValue:", QSelectedValue.value)
+})
+</script>
+<template>
+  <QSelect :options="options" v-model="QSelectedValue" />
+</template>

禁用

北京市
Show Code
vue
<script setup lang="ts">
+import { ref } from "vue"
+const options = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+</script>
+<template>
+  <QSelect :options="options" v-model="QSelectedValue" disabled />
+</template>

禁用选项

北京市
Show Code
vue
<script setup lang="ts">
+import { ref } from "vue"
+const optionsDisabled = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+    disabled: true,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+</script>
+<template>
+  <QSelect :options="optionsDisabled" v-model="QSelectedValue" />
+</template>

支持清除

北京市
Show Code
vue
<script setup lang="ts">
+import { ref, watchEffect } from "vue"
+const options = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+watchEffect(() => {
+  console.log("QSelectedValue:", QSelectedValue.value)
+})
+function onChange(value: string | number, label: string, index: number) {
+  console.log("value:", value)
+  console.log("label:", label)
+  console.log("index:", index)
+}
+</script>
+<template>
+  <QSelect :options="options" allow-clear v-model="QSelectedValue" @change="onChange" />
+</template>

自定义样式

北京市
Show Code
vue
<script setup lang="ts">
+import { ref, watchEffect } from "vue"
+const options = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+watchEffect(() => {
+  console.log("QSelectedValue:", QSelectedValue.value)
+})
+function onChange(value: string | number, label: string, index: number) {
+  console.log("value:", value)
+  console.log("label:", label)
+  console.log("index:", index)
+}
+</script>
+<template>
+  <QSelect :width="160" :height="36" :options="options" v-model="QSelectedValue" @change="onChange" />
+</template>

自定义字段名

北京市
Show Code
vue
<script setup lang="ts">
+import { ref, watchEffect } from "vue"
+const optionsCustom = ref([
+  {
+    name: "北京市",
+    id: 1,
+  },
+  {
+    name: "上海市",
+    id: 2,
+  },
+  {
+    name: "纽约市",
+    id: 3,
+  },
+  {
+    name: "旧金山",
+    id: 4,
+  },
+  {
+    name: "布宜诺斯艾利斯",
+    id: 5,
+  },
+  {
+    name: "伊斯坦布尔",
+    id: 6,
+  },
+  {
+    name: "拜占庭",
+    id: 7,
+  },
+  {
+    name: "君士坦丁堡",
+    id: 8,
+  },
+])
+const QSelectedValue = ref(1)
+watchEffect(() => {
+  console.log("QSelectedValue:", QSelectedValue.value)
+})
+function onChange(id: string | number, name: string, index: number) {
+  console.log("id:", id)
+  console.log("name:", label)
+  console.log("index:", index)
+}
+</script>
+<template>
+  <QSelect :options="optionsCustom" label="name" value="id" v-model="QSelectedValue" @change="onChange" />
+</template>

自定义下拉面板展示数

北京市
Show Code
vue
<script setup lang="ts">
+import { ref, watchEffect } from "vue"
+const options = ref([
+  {
+    label: "北京市",
+    value: 1,
+  },
+  {
+    label: "上海市",
+    value: 2,
+  },
+  {
+    label: "纽约市",
+    value: 3,
+  },
+  {
+    label: "旧金山",
+    value: 4,
+  },
+  {
+    label: "布宜诺斯艾利斯",
+    value: 5,
+  },
+  {
+    label: "伊斯坦布尔",
+    value: 6,
+  },
+  {
+    label: "拜占庭",
+    value: 7,
+  },
+  {
+    label: "君士坦丁堡",
+    value: 8,
+  },
+])
+const QSelectedValue = ref(1)
+watchEffect(() => {
+  console.log("QSelectedValue:", QSelectedValue.value)
+})
+function onChange(value: string | number, label: string, index: number) {
+  console.log("value:", value)
+  console.log("label:", label)
+  console.log("index:", index)
+}
+</script>
+<template>
+  <QSelect :options="options" :max-display="8" v-model="QSelectedValue" @change="onChange" />
+</template>

APIs

参数说明类型默认值必传
options选项数据Option[][]false
label字典项的文本字段名string'label'false
value字典项的值字段名string'value'false
placeholder默认文字string'请选择'false
disabled是否禁用booleanfalsefalse
allowClear是否支持清除booleanfalsefalse
width宽度number120false
height高度number32false
maxDisplay下拉面板最多能展示的下拉项数,超过后滚动显示number6false
modelValue(v-model)当前选中的 option 条目number | string | nullnullfalse

Option Type

名称说明类型必传
label选项名stringfalse
value选项值string | numberfalse
disabled是否禁用选项booleanfalse
[propName: string]添加一个字符串索引签名,用于包含带有任意数量的其他属性any-

Events

事件名称说明参数
change选项值改变后的回调(value: string | number, label: string, index: number) => void

License

+ + + + \ No newline at end of file diff --git a/docs/.vitepress/dist/guide/features.html b/docs/.vitepress/dist/guide/features.html new file mode 100644 index 0000000..2034832 --- /dev/null +++ b/docs/.vitepress/dist/guide/features.html @@ -0,0 +1,23 @@ + + + + + + 特性 | QUI + + + + + + + + + + + +
Skip to content
On this page

特性

介绍

该组件库采用 Vite3 + Vue3 + TS + Scss 实现!

三种使用方式

  • 全局引入所有组件
  • 按需引入部分组件
  • git clone q-ui 到本地后,从 packages 下单独拷贝单文件组件 (SFC) 到项目内使用

License

+ + + + \ No newline at end of file diff --git a/docs/.vitepress/dist/guide/started.html b/docs/.vitepress/dist/guide/started.html new file mode 100644 index 0000000..be29c99 --- /dev/null +++ b/docs/.vitepress/dist/guide/started.html @@ -0,0 +1,33 @@ + + + + + + 快速上手 | QUI + + + + + + + + + + + +
Skip to content
On this page

快速上手

安装

With Yarn

bash
$ yarn add @jqw755/q-ui

With NPM

bash
$ npm i @jqw755/q-ui

使用

全局

ts
import { createApp } from "vue"
+import App from "./App.vue"
+
+import QUI from "@jqw755/q-ui"
+import "@jqw755/q-ui/css"
+
+const app = createApp(App)
+app.use(QUI)
+
+app.mount("#app")

单文件

ts
import { QButton } from "@jqw755/q-ui"
+import "@jqw755/q-ui/css"

License

+ + + + \ No newline at end of file diff --git a/docs/.vitepress/dist/hashmap.json b/docs/.vitepress/dist/hashmap.json new file mode 100644 index 0000000..3f99ec6 --- /dev/null +++ b/docs/.vitepress/dist/hashmap.json @@ -0,0 +1 @@ +{"guide_features.md":"009e63d0","utils_started.md":"23925c67","index.md":"eac6bc54","guide_started.md":"0f3c8d50","utils_throttle.md":"acac61bf","utils_debounce.md":"8acddf5b","utils_download-file.md":"45802505","guide_components_button.md":"881ed501","guide_components_breadcrumb.md":"56a47eca","utils_date-format.md":"e268d2ac","guide_components_select.md":"880efa1b"} diff --git a/docs/.vitepress/dist/index.html b/docs/.vitepress/dist/index.html new file mode 100644 index 0000000..7921384 --- /dev/null +++ b/docs/.vitepress/dist/index.html @@ -0,0 +1,23 @@ + + + + + + QUI | 组件库文档 + + + + + + + + + + + +
Skip to content

QUI

组件库

基于 Vite3 + Vue3 + TS 开发

QUI

License

+ + + + \ No newline at end of file diff --git a/docs/.vitepress/dist/logo.png b/docs/.vitepress/dist/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..cc5336b3585c2424a59af6b457b5792af921fa38 GIT binary patch literal 42620 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%0DIWN&tCf%c%$^_V*Y5Sk56{n$S$40$jR#a z!oy$oE_SJ_EALyRv}ZOttq9*+>%fzNJyhgCx-5)dt;E>X41S&SFR zUML_nJ;x$z>5ng;!mqBrk7|7lJ9lnlbzvRt@f4L@0o^G@f@1;ML@Q600L%(4^-3no z2z7$f$UZ)}#*T^$>2Dq`HsF}2G9lh$He3zuU@8#I9mIQ*@REA7gV6x3K2$0NDeW-x zASz0XMpFUNNWBrq$}PFyM73%Sb7Nwqm60T6MWwz|KBwM+pwcRTD4}h?iz}OJ_><28 z5$)F>Tt_#iibhVn-&BB5(2(xnpoN}w)bal`~qS-?vYNu?nk{I6>-6p(1Kgg%=k4_D5vNeaCEMu2ewmL;JF-vktHEm zs9+%{gkLCWO2&S{cE7KEZk%T#KcDvWvBO)Jq@x}*qL-8VlBAxMvx0aa9)R-fh}l#U z3{gy`_|Jayr}!V`UR$l*WVLo*XXxMFoh1M3Kl}#Sg(bvZ9$g8GOX5O?)Si|1k;I$q z{!j@}q+u)@UfFLauiaB`T2=jA5=c^-B^b8l+Io2Xjn~o0OQ`vR6c~=%3kM`}o097A zzxeYX;H`i4?_^i4O7t<+WIbERqm<8MV9BBoAhG=Ik%2X22|Cg|ggoI^Y;EJ=WS1xXvaKWRfzoLeGeu3(c?|(Yo`-=Z_S6-c z1Uy`p$C8{!OU~j6NX;Bd{*sdogS{68S@iTs({O}XJQtgI54UgPCrb@nUN)R@$3gU) zX_EZwzkdrO$<1=r2KL&0xB_kxH}2fJrJGO4mn1ott(r;cp|f~Q*N!k5_HknKgm|NZ z`^Xcd%TR_un>E)^GYbKWp~F0jZfUSofkhsY>MV=Wo1prI2*a1Jlihz3VA$>G1glFPHx1j&;@GIt%s@} zI)f2B(lN_|W>v1$8yIqa@j#q^Vvn3w%QANQu%?fX{d8mlVk2y=TE=MDQEyz6MIH`Y zxN>S4mpA=KuJgShN&eNZ{)n;UMX@}`Xgt=6oh{yJ_s%xPN{k8Z5sYL!6nC+;1xR)VPD?!U|3`stTg#eO%&k_Cf-Q#);3BqKzvjR`9D2?#O2z z$U4ht3tTyuS8p`PjAVE9^u%As!#R^gUhBkEl)f>5(h%_Y@?Movbewyh)LxP_+-kOdE+f*3IVJH7ma)p&MOKW=6FdCv%auFmG{OFZ4 zIQcofZSP#)!6)}xa2qS=Qn`bj;kKg!)Fk4k5_;^Iu=f4{u%(qpn~kuN8&xX;JRbDA z#9O4(xJyMJ=T{n7l~gbPwcpKW-(FZCQ4xXM4wpAq@Zl$Sa40*o-zZ?x9_o&s&txU> zt)N5M6Irm@gqj$3n*=kj@y+ahmG2>&we(oCXR*>^TcWK>Jk#QoD_K)15~hc&3Le8= z#1Rj&q?+f5j~-vaM7f)06@J#iV9=A-2^EsIhh61jIKB9wH`=P1$@2jZy_Y`97Eqk&&MnyU;V) zk9k+ViHDlm@lb9S_F1!**Vy#wvHC?pGkO75%Je?$4OGQ+%}$i|mu8BH(-eSDBk2in#Gc+IKqhIwM>wo{Wo!sq>ku5dQ9mmKOvVz$x+MS8E zEk&$kTBhiK6r%E)BTKc5e7UxIrJ`Pm6~}DW$KYTa?zo4OOB+}!XTFvO)bnI7G?4cD z!=#zBtiQe8Pu{(=i@i}F`ND!Zz>KMcVh$_W1WFNLjv-{IAdx(%=J&)!2JLf8?mM+v zZQ=NjNs^9Tq~}uB%qy8u1dr01;Z&JZY05}Sd6?OPjvw0GnIDN4p{}c|9S5NTBJ3Ti zNcBdefeUNpM?UadagzK`|Ib_Kva2JLgEe6jsnJg20W1d@r^-o@j+^M@uWh4Hr(XtAy!`?2TwIG?1D_)5o<^FW};-bsT=SuiOHjgh=F- zV?N|tW|AhF@VsLpVM_j3YfqZvq(3DO-1>O4(z&F^*#kLKDpF>dUnqzezPT)WGw0!1 zu_W@YPU1$Yx@U$uOy>oqEA@N`Y%{V^FXrHiR~vNtXjDoVhswN&KmEy%QRTRNt8?_+ z+XA9L-W%iAVIP58Ml=q!r*0Y~O0L=I4-q+rj#;&kv|1SJ!L?F+!Q@6Hnat<17z%jE zBR*)|Q;nl@Ya3W7LixsDbbFzJG_ys?a@kk*kMF#XVx@{Oc2$C2d=OUTXHKZLWhZuK z33@UEL#p-2#XW1op%P!DjX6i-3rIsAlV_PprQ=-!zNT0w<(juK|np(X=_ztLP>hS zf(zx!<3Vjh^0CSGCs@hZ_{pVB?d6*c`rq*<{PgXm021T#jb;w7o!i9C-cVV1in+2; zo|9Ex%@uIa>%k(kCBmJ4w$Swv_7C>4BKgt} zE}TY5KI!AU2pl{4-F6>0s4*q^6swnPE-gu}bEnlqo5YjpnUUof-iK&3m5|d%FrKPc zas|94mf7XO$D^Kj&_I<5>jHc>rY`w{JHGez$_pLV(OwE5HElDm^s`ql;m&{fjW%zR z1AL&u$~gg59_4%iEfV6BbYCk{X%$avSLxf7w)B{9O=Zt8HOzqZ^=f?&0xwaOhQyFR z=wU16D>-GW|1q>mnBXUx2XUB=Og`jcU>+6pClZd?D3>usc3HZUZ+{DptHZNp;a;) z!n3Vooe61eoMxqfnjM7BLOVRvsqloBq$=Xk% zqt)pMkVcwIlJ+>!yeKlSpKP*Zs%7jen^C1)P>#Iepo3CYu20^N$zczh%gf@0JS|yd zq8Geem)c7MBu^G#*>UmHi>Gk!*YC@s>!Ms(K%Whu5<+nv$m4Jy7X!ztDPf|Gp|*Br z8*h|8*epypx>4^CXO^qDwAp;59q5xdN&c_j-as#suu<;U=cqfysxvkY`(3mp z{BoJn{vD@h!_EOV$~jzKGkUVNq*P0#=R+v$ zo7zhQqy^uz?hJ$E#}`-e&h=Zky48|!s4n?N1iw_3-9AQD7DsD1kZ>v114svHOOKV( zZCR;oOA;MH<$+%BqZ_R+9HD+(4s}$$qk4s^ekVr&<@r{I!+o-#%M!*h$*(MwP_LJ@ zk#-=tQN372Yj+EqYqCMy-olxsRjlUkH_mPy9ww{xy7k!s@Xn39$dnqey_~il6)II6 zh&Sr#^lgAlwxA;=%1LbWLv;c+=nvq$1w0vq(}5E5lk9&gVcidYbOq;D%UF>Y zbI=c74tIo?2uL(GY?8m=hZoM^(|dnFw|xkQV3H)6Ty6DY(c}jf%g&*8k|_l-?`)~0 zGtzG{>y>-NzRDQIBX_yKY3seUtnHXN-Dzk-N)qJDZ;RrEPOomLx?SQ-bxdIzPn0dy z&*e~%7}gSR)D%Z@ezAt!u}*e^=(?cz-@kK!g8*9b8|uggM>t~a9CR?I<8?f3E;4Me zCXD0jno?p@fLtx+QSvEVFqO9;)UlLEa;k=ecNf=|P)}D?qv*X9-iY>60jW_aSlh!% za^=(le)oP2S9iy#FBkFIUQ4`ENf|)PxvV7O92d|79HT6uvr6W)hBsvFlr8AtC$Nt7 z)_p}RJpiKABTXYC38@P>G>5~y98UMH)N1e?f;!SXiXs5Mc!mr)@%HYZ!a<-`2WOYd zxV&7!#zSG0xVM`EsT=g(CoM;2-nax#IjmQdEChX1@Po#`R;|T489aJQrsZr!uyy?IE;T4=D zyVCx4ve8`8C!;s|U;gn!+?5J!_1?5r>SpnxI7}_^RB;lMDjTK0l=@_q_xq?R8%J(vXi1yL}iAJ%j-yS5% z&F%#6Y<1w~iB2aODkTHJSQ}f zcd%SzFB_Er16lABlnWkw0arL|BaZ+lRu*w;xsGba!AhZspHvJ|XCR{8=>uJPP2|h7 zRUFMyZ_{aYRn8`%61taHFq0I<97tzOC3708RE+N#`mit|8xt9dWb+ZPbYX23m)5d) zbU@?fu$K}@w9PtjX>%D@Z{313wUPG=N+8L;u_0w4sh7mg09k2l*9k*Oz2nq#9C@CH zgS&6(%p^&5me^S>c~~`{!$Pep>z?ySv9{zSqrOC*V=NXjcjMA10KT=eKe zvZwCfy?qy3hb?6Xnucah- zHwjHiS;^;3gTv#@N{&T(->6olXcdrziVDt7mE@XSS-_LY5Y?QEpuG=k(!*M_hM!(M zgV#>_IyCo1Dtjb#-4zfGBoFe6o{o*jawGMW27`eiez8b#9O>B<8&3^~g`?dGTqw=`2Mx*F>fs0{Yi8c4>A%>`sgJXl7D()Npy=|CE}g=SfBGGgK^yVZ z)w3HaIk18kOr~hFQ-BjWZdS(|81h(;LDbg;&?D<#l6WUQ3}$kl&F1w?YZ6DQS!*R@ ztTv1I!Kr1uw&vrq{Nc^+7nhoOhFi=RBvkFB-Q%I^$ujq0WzyooZ+g(GG?dg$k}xn1 zLY){c$^+C2Ipt=ZfwstJ$GUBUAMgGGFQe@9tIPfuIp(B2FuYTy{vf&&aE%u z{7N0A^m0y=zqr)Q>fOJ&HA$|whS-rD%Vx+XAmtbYn{{nFG?T$pAe2yzvNRJVo{Y5f zqngiZ_X1RGz{6NPVma%gI03GlsKXymzv$^-czdaVBle8^WGEq> zt05IR;e19qdak1fvar&T@B5Rf4|}5I8}7@t&ZIgTUXiubbF*3!w**k3EZA^5#8SP8 zpH-gB1Dss*u(H#@?wxyb&7S5!)ZEQV4(5)gNXYfYQE@9ao$AaL9RZ8vWbEp8l_%Z8 z;lUo(n-#QgeTM()ul_`Hqs`pQb7u5;_EH0B&COdk<1l&k^a;FoeFxjg5O(OOq8>%Z z3SLffrJRltOs&{3_r&I4)_}z}L+L5~0!z^h`r_ov!Swj#@-jmlo>fzGn8qO_cQFv+k7angfHIQiGVGpa4I8)Sl>*@#E>{+O9!Xgt- zzKl^R!NJ|zNF>FdeuROP^Ug{=9`hGB zLyBUfu*cNJ6$g z)n~OwD2|WW@!MEEBT1z1WaSARZ3<r#0~H(cp5k@KT3$ zw3i-8G_p`Pa=?X?65?$iA}gWPL3aDKU-f4pof1y zb1o!`oOL(^5eM}o(a&kkKV znF5Ez)1m`)ngY3|sXV7Gualh~WT%bD89{tgF+Lb#qguq71y@HU!r?qYqRoMnT0y>6 zWKEr4Tg30K?_#mGgmyGSII)qF9Xadeu(xZdd8Y~*u3bkPTWuW?kF|Vfq+-9gY4w3| z^4V?2{!K#3M{Hla8@l~I>h%gdiK!;Cz+K602!Ic7ZDX-mM0w?_HRbHd*IOTLVW-tW zoU1Eqk~5wlpY_m@u&yoPo=(JaCTkj^lygxe@3&*dMk2|}!od`I3Gv=Mb5TL`a6|0N zY;z!`){sT` znzO8}b~j;@&t|n^-IU*vH|X81F0Oud3sa6rSdKoHazF?m`r2-k%EJUx_^yL0LpqN{ zk+zOwMdJ}B!yZo8OSrIFSD~=|(KKo1UMzW*uWNH49W%;}Y*vAvzIqwA#(lUf_j*)$ za5R^wmn#Z}mMkj6x$Wo~lUC~JoGAR2gpXuNPbOAo8@>kda3q183UE8^L*z15WOD)n zYALa{=jQOqZVTS~chEn(j`aqRmun!Xbi`Y}*txMI*Zsjx5AS}qh24RKr0l1YysuBW z6#>(r+d{kB6`C`Y6dVlzc5L<>8i0C9yvkVx_)8ePQPGZSoHjg3olw_xN9anP-79b2S-J|)@!3^mL%ocxJy5GB_!+;|p!)&$cbVHn_zvnNsafc2NS zr|xk!2hv04vX@Mf{WmY2!~WYJ;IQ#7rjz(!M+sabmt1Gx@QJjoat4&`}8^u-+w zMzQ2WKH_Q~NhXhWKxQn-iJY7c?@>f-XMaz-8+>_9F-O{?5R2t9%Gn&Ik~d{bE~e86 zUNXU|G1sC-E`^wF7vrhqJ3Kt%oRvIQZ#+e3G(o;tl>3vS zOn_r~SZOv;$;xxa0?c@-Q@RvwJGZ)s)v|;97mSj;%r*zo=U9&YZjvxuSYO85*FMEm zLM+kZ4SGvR=sQX2DoE2ERO-8SjA zx)_lQf)zZ~%uRIqw#et&qG-Vp>!L%uUC^$z~PB%!?^o`EA%7NS|Zsm4-ob zcG=Zj=^sD5h5XV6x;kneA?Mnt74rh52orL`k=mD}BNSMTlP@ID|58(Kyu`E~2}olJ z8AHp2dGtR0AVg0>vhrwzp5!rH^qgAtRWHer57bso+|c&)aFt~E0mDDZo%-E@%2-m^ znZzkhA%|c}vXew-l~$G)b$o-YN)(6oGa>TUM3u;w1Vw9e5IxrBKzfY%l3Y8o!(Sqh z-u)0+0Z%`iAP_IayoLI#gCNFkXMidD&`9QJeR(&-aeH`OnxA7Nvv^%!A0+9Zfx7!!!zwUXfuj{#wipGf-*Kk5pLl91cBQ;uzKzT@Zg%dKKF8)j`U0~i32L%#{`?2$aP9y82e`E+ zrn;~b)t%)SxGDgWgpoCB$)iYP#Z%hHfysSLJ;cE3r1CEj z$GY{wECnGaU9|~4V?It+vZuIbKl!w_I;%PL$7P z^f1`7N9YgtuzG3(RoC<(&h3kB4x}$Jc7}8A=g(fhfWLeH2D&4PZRJ%WGm32OknYKC zqkxpY>=&{%y-AMgCCya%>|@;wc1n9}6f9E-Ow0Tm-GxzowNe3RRqs1e zMo-M+*+#n3v>RniHQq`I|CQV_){=R~j!~D~sGRpD5=_wPwXwEXL}&LiEZ1^4x3+|u z59RUx-rn%%)aF3?3dR)w;>iYne`5!oV1j-;5zsh##zQ6VMx~6My*2`l8&CjD*PV4F z14D14To1f8EssAS0ejSLV?DykZ=_}|mA#yq@<*6Q*8fMTK9g~9aq9ABGBnZA;Gub* zSaUB*$8g4}R4ORZ%XBnU4)5uphfEmY;`tLewf?B)?A$)z=I_&2Fz)Z{(>%A-L}zpl z0jE^QLpZq-d^an*dI|UT4h{QG#&Ckise;3-%R5dv_t{Fsg?tp=S&tSc9(Dk;5b)s% z+oPkWhtHx?P6j@>UV@bt9QdnrRG#A?1p!c&yy2Xj9SNQh^I!(5+e8X+(DT@f#}T5{AAFT3-w?yJ}wNMF%-qR%PXvx^OUw0(fsk1-te zQ7)Dcig#LDZel14vDFT(BfKK%NX zZ4RU-uuWODziB7Q2U~miq&Go0oNAXe2mYwxN)@}oWP~xriY1x94-jMbJ;?o%xA7op z=!OSFwi!T@qcL`KtCKMWbbBVrc|^o=%IZ{W$C33*!$U-^} zv{%ovQ$5-^KGvL?XjRR^eIOn2;?4ddc{o%{!$f=Lp`xR|JDxWsDF>L%0B-hxGmoXH zO0*faTrQ&`*X$_O7fazGro%DLZY*P|oYRswDZ%FU)ol)>Cp6B4o?a@USrEX$l~AsY z@kxTnYkMzNg}7)5!qkTu%GyI9tWDqgbxZ)~hA; zMoZ3og#1Zt4x}eED*);_;Pta7u=mzS$U9lt)gxsWiX?F_OV~8%lU8_Y4nb2@i6brA zw2~L=nd@w=nyJ{C$NAdVc03ZJ)8fRg<0yakbUId0mzf)t$_R!dIFcJR#WRI_EmZsr zPA=5Y%$aik+@8$lKzc%>Y{|_qNiMBd@Voac^hqWe1=^rPVv=Ik(sP+$9O@{8B@3BM zJW-T_iHD`JiMx(SCiQ&h;biLAkM_e^zjKVGb#`uqqY}HtgVy6D0ld=6Qj>7f%Du)r(?hP`5#&556m?=;)oJu1Y(mC`}QIU z-J*=GGgO&W6}{DIX^7aU7SP%L7(ade95(Xvd84mub0B>UTk&0MSCWy}&urlKeiwh- zZ=ujwMRz=b=SmKe%c3VZ^(uV2e+bb~VhZcQe2wM{TU;5cLrP{zq;w#fPJA zKFcu@Flk!^r7Jzx#h6Xsk_WM}m=oYrjlAl)nD)CUb9gWgFlg=KM74}dCz?;pB|f+N zHV4wzG+T0@rIL%Yn=5$x)>|kqJ7{-@D#5~XID7EOu}yF#l2}oa#Yvk?kC(xZn@UYS z=@7=lGfioAj;a+rOJ(a1Bp1q;@+zLTEIHBc-8-$l5-n%N!}&r2u;pmi8mm{aY=Un@}P*pB+!tK5K%9Z zn6QgpWL9NUvrNH3!SvYSz_fRd|5>v>g<1Lg{`YKXU|CxmR3$(1bDmsdQ4e3)iNOZd zQLnA#`zsgDp`0_am2(h%eVYU632i*tOEP{#7hF;P&%EN?auc7m2FOW1G7g4F#2e)O ztTGPex*1HglK}|QgH;@>&K%IScLlV1L#?hkiIvV6S*lzSKTuV$?vFYgz2RCjbkj3ofeY8en$yY30z@1)SqcznSvR$pBX=s;`!tgHbkGp>x z(mI4WgVLZbbz*t|Yu^W-MusraBf~rD;4ajwdd{VadmK0nN2umAIMt|NLA+6JPMZ3S zZ4RVw!E!EeW@8n9xN}?SjAL)C2cp?r3H6MN?l{1m-F~qZ~>EY~A2ZMFLvq68< zbmt*9B5U?PK7y^_G5^h)R1>4_r{qI{c7S{GyRvWcqc|L@G)tCxOZ}Egvz%J4p(-oD z9eEfe?AOnh71L~1!=x69vW;H(rR2te@wv`s~Vg+i!^HIrW;U=6n8lzlt;gMY^7+|fw zg5|P+C}xpi9@c$Rn*-@vuth<^U7jnQ-o#FKfXUECe>Bj8*n9W3v9z>=?kK=$8eu%1 zz~xzvdXiYfHRd%scckIptd%I%Y1$)iHRC6;%(>I-XvzF4N$cLmV+Z0Jl8_d>tL~5!0E+0YVy}jXAYuo!{$KxmW=d_Cz~G5tt?>c;~gAGvcI%`0`0AP zs4OjGad8pXZ`?||!V@^Lh47&k1~b*F1Pc#7_|eSKY~atjpF!EjK!$VzH;I+qh^m2hz7_v4m}_MIY;u$diJuJ?SBcV)&Un z`rSjUEG(kc?IW3nlv{$G$rySqhF%0kY?~P-Sn15s{c#F)9$Jz+&WdNKyZ9kmO8yXQ zv#KlJr&2BokmT{hKptzVToR7tQl}OgSSrjv_;1_h@8`E@8@a5GqyOacIo$XUze1r> z!*JL|eYK9=UVvt`qEx|S$)6M`Y*M8{I-3wuS|O71J7iIXqdjvpD-|M3;u&{CVpJ+3 zbBfBwR9iq2MxjP}Mc3D`P74+!tBeHIL4-x|Mwd4>QHGKFd^+#ai)nKpean`UuQQ7t zHX217O3pL!Yz*6n$opk9YBlWN+n2mWvKEGQlvrVyCxEg295NE_#Z!i7R@%_*98JS= zG{Uh=wNE2H5<)tT`Xut)W$29rq~&5Bm104jLw*;EC!#XD04Xbvvr(zytX$jt-00i4 zIgq|(V*>w4oFxC^jVt)u-(N*BlSO;bL8Vkhuhqutauea*0Bw4u=qUR!|0h|#OmJNaP3qC$vsNv3spJ8?NEDrk}jCv6kme9QmzD(vkJG;Y(@GrGbVwa78pp1&%;+se$nr=QC_OTi6(G^AOKSa(E(Lf}ZA<&uwK8tK7qEa6?PT+{O-OTbxc){%rAgo8HDpWnb*CBw0#xqU}A z2hw+FtF=5sWq zY6_y1%PvVnJH(;V4rj$%Ei~$a!3h1~P<|HB_72c2<#AcST*X|P<-4>wkiJ7BiO(x* zMg0B)AKl?ZQX4AgjgZf0VR@eXY$4-%NaXuy6d`ni^q#XZ3JLX&QFg^?n<`Q&;z&Y9 zCkjz4=2385G^rQwh29rci`o*Igq|1+v)EnE;+R&kNNT0 zQ`p^oAC`EdjNC@Lg!Z_LM!A5#gnHx162OqkI8xHa@Q6Is@Y6+U#SSU0aVA62unA(x zx9l)LrB=goy@}S&A!_vky73UxNe34tM|-8Ygr?jp9?VO1-=)og^c~r9aq%dO`c<3r zN=x|QppROqrlcso@2MQjNKkWYuOsD11Pp#I zi`8ZmcenQ?)N>K*0jo_;$0Iu8B&8lcnoUZ~5TB(pNRfnzdE^C@Y-4496pZ@F7cJ#x zSYKK|dCvCuz1SQ`--DeJk8pLGB0vC@COnRjM-ybGeOz4I#FAs!f#&wz+Z;&WlQF_NzgEV(H$1$5xQphQi8g&Tn4W#3#Rg7r~&TjitkJq~NGmi`eOmFcJ6! zREJ2MqYek1npMfnL{%lIal{7JQmF(#<02gP5bJpD1YQ#0&2z6{S?+G9$}HWzc2Zub z&H?ou+8jvVqh$mT7dJ{+eLss&@7+OmVGX515#c02xl|A^jj`V!AP9_#1mieE$6$bD zCMXhBlyDsjKG|C(teZ>&gjR^WH93g(g$5yZOgEK4W zd~gTtK@Zi%RqXbU2EOStKVO zAsBaX`J$OOBGLcczCW7->3cR0Q(RnW;*Xzg!S+0~1w@=jV#`mpEI=Cgm~=u+*vu;7 zT1?gl;QKnigkXdun8@uT)i?UVxsxgs*38U>!oE+N1L=FVMa#2p zi&wg^wt!!JwvR%61qbZ`@&XQ)y=&!yfN3b<9$SGN1Ul#!OBm-EP6o+?Ru)cb*?ZjU zBSY$8@m6`ncbvZV|59mK}WmD%L1Os z@K8V%;_T)kR$R;n_nwl?f%KG&qF%opCdsegzlLNqLRP}Mfq0~hgmHBV@AeOS=rZIh zdT>}K?@o{vfUPbq;Bb3ee%C^MeM3UO2^!5JE}hzh|FmD!OKfu>Jw>DN@$2VLyGI1y$f}^uTKYry5wtn>vJkLnKWTF6-Vi7mDc2O$VbbxO% z8lY$gc>VMmR(uQ7?(k{9gt=i3q^EApY*xcEYAe0DS;N~Om$AD)kX$JS`%YQ4a~xMk z&O-rF!Hxt(t2o>A^xUXF+Mf@TKLa)g(lcUg?YTku%(Ex)+q-WA0wOP8#KHa{noFCQ z4#$`bI#?`b@TUCD>9pKk%r)ov(KBFkAU#8tjT2ltQOCLU1-x_n08!v7HE|e*MpA4% zz}d4WaDJuuv@dmT57`_@&yaEO@49%UKe=)qH}3rkgI*hjd<}6h#bSVvz^8Y1 zQFdJ&lQ>bgQFWj870&JRY!0Mn&B7_N0;Hw@=1(r2!>wx{p<1ir$FH11(NVg)xjln6 z2huZUi2!LKo44*v!sOD%0#-{|H00}4qlkh%CwzQXZ4RVo%vAxl*zIkN^0G zq*^JV>X0~P4x(q(=0JMJtWhy!j%xxU{`(iNo>wZahCc_#}mF3bV+9M~L4 zbDP_@U~?eNZEoL!&4DzxxqS;Z2h!Z;_AS`|4~_}<^WDp4A^-pY07*qoM6N<$f~f!$ AzyJUM literal 0 HcmV?d00001 diff --git a/docs/.vitepress/dist/utils/date-format.html b/docs/.vitepress/dist/utils/date-format.html new file mode 100644 index 0000000..c821ce8 --- /dev/null +++ b/docs/.vitepress/dist/utils/date-format.html @@ -0,0 +1,76 @@ + + + + + + 日期格式化 | QUI + + + + + + + + + + + +
Skip to content
On this page

日期格式化

Show Source Code
ts
function dateFormat(value: number | string | Date = Date.now(), format = "YYYY-MM-DD HH:mm:ss"): string {
+  if (typeof value === "number" || typeof value === "string") {
+    var date = new Date(value)
+  } else {
+    var date = value
+  }
+  function fixedTwo(value: number): string {
+    return value < 10 ? "0" + value : String(value)
+  }
+  var showTime = format
+  if (showTime.includes("SSS")) {
+    const S = date.getMilliseconds()
+    showTime = showTime.replace("SSS", "0".repeat(3 - String(S).length) + S)
+  }
+  if (showTime.includes("YY")) {
+    const Y = date.getFullYear()
+    showTime = showTime.includes("YYYY")
+      ? showTime.replace("YYYY", String(Y))
+      : showTime.replace("YY", String(Y).slice(2, 4))
+  }
+  if (showTime.includes("M")) {
+    const M = date.getMonth() + 1
+    showTime = showTime.includes("MM") ? showTime.replace("MM", fixedTwo(M)) : showTime.replace("M", String(M))
+  }
+  if (showTime.includes("D")) {
+    const D = date.getDate()
+    showTime = showTime.includes("DD") ? showTime.replace("DD", fixedTwo(D)) : showTime.replace("D", String(D))
+  }
+  if (showTime.includes("H")) {
+    const H = date.getHours()
+    showTime = showTime.includes("HH") ? showTime.replace("HH", fixedTwo(H)) : showTime.replace("H", String(H))
+  }
+  if (showTime.includes("m")) {
+    var m = date.getMinutes()
+    showTime = showTime.includes("mm") ? showTime.replace("mm", fixedTwo(m)) : showTime.replace("m", String(m))
+  }
+  if (showTime.includes("s")) {
+    var s = date.getSeconds()
+    showTime = showTime.includes("ss") ? showTime.replace("ss", fixedTwo(s)) : showTime.replace("s", String(s))
+  }
+  return showTime
+}

何时使用

  • 格式化日期时

基本使用

格式化时间戳


2023-05-31 14:20:45

vue
<script setup lang="ts">
+import { dateFormat } from "@jqw755/q-ui"
+
+dateFormat(1685514045679) // 2023-05-31 14:20:45
+</script>

格式化字符串


05/31/2023

vue
<script setup lang="ts">
+import { dateFormat } from "@jqw755/q-ui"
+
+dateFormat("2023-05-31", "MM/DD/YYYY") // 05/31/2023
+</script>

展示毫秒值


2023-05-31 14:20:45:679

vue
<script setup lang="ts">
+import { dateFormat } from "@jqw755/q-ui"
+
+dateFormat(1685514045679, "YYYY-MM-DD HH:mm:ss:SSS") // 2023-05-31 14:20:45:679
+</script>

Params

参数说明类型默认值必传
value13 位时间戳;或者可以转化为 Date 类型的字符串日期;或者 Date 对象number | string | DateDate.now()false
format格式化目标形式string'YYYY-MM-DD HH:mm:ss'false

format 支持的格式化占位符列表

标识示例描述
YY23年,两位数
YYYY2023年,四位数
M1-12月,从 1 开始
MM01-12月,两位数
D1-31
DD01-31日,两位数
H0-23小时
HH00-23小时,两位数
m0-59分钟
mm00-59分钟,两位数
s0-59
ss00-59秒,两位数
SSS000-999毫秒,三位数

License

+ + + + \ No newline at end of file diff --git a/docs/.vitepress/dist/utils/debounce.html b/docs/.vitepress/dist/utils/debounce.html new file mode 100644 index 0000000..afc5f9e --- /dev/null +++ b/docs/.vitepress/dist/utils/debounce.html @@ -0,0 +1,47 @@ + + + + + + 防抖 | QUI + + + + + + + + + + + + +
Skip to content
On this page

防抖


对于短时间内连续触发的事件,防抖就是让某个时间(delay)期限内,事件处理函数只执行一次

Show Source Code
ts
function debounce(fn: Function, delay = 300): any {
+  let timer: any = null //借助闭包
+  return function () {
+    if (timer) {
+      cancelRaf(timer)
+    }
+    timer = rafTimeout(fn, delay)
+  }
+}

何时使用

  • 对于短时间内连续触发的事件,在 delay ms 内函数只执行最后一次

基本使用

打开控制台查看输出

vue
<script setup lang="ts">
+import { onMounted, onUnmounted } from "vue"
+import { debounce } from "@jqw755/q-ui"
+
+onMounted(() => {
+  document.onscroll = debounce(showPosition, 1000)
+})
+onUnmounted(() => {
+  // 移除键盘切换事件
+  document.onscroll = null
+})
+function showPosition() {
+  const scrollTop = document.body.scrollTop || document.documentElement.scrollTop
+  console.log("滚动条位置:" + scrollTop)
+}
+</script>

Params

参数说明类型默认值必传
fn要执行的函数Function-true
delay防抖时间期限,单位 msnumber300false

License

+ + + + \ No newline at end of file diff --git a/docs/.vitepress/dist/utils/download-file.html b/docs/.vitepress/dist/utils/download-file.html new file mode 100644 index 0000000..5abcaf4 --- /dev/null +++ b/docs/.vitepress/dist/utils/download-file.html @@ -0,0 +1,53 @@ + + + + + + 下载文件 | QUI + + + + + + + + + + + +
Skip to content
On this page

下载文件

Show Source Code
ts
function downloadFile(url: string, name: string) {
+  var fileName = ""
+  if (name) {
+    fileName = name
+  } else {
+    const res = url.split("?")[0].split("/")
+    fileName = res[res.length - 1]
+  }
+  var xhr = new XMLHttpRequest()
+  xhr.open("GET", url, true)
+  xhr.responseType = "blob"
+  xhr.onload = function () {
+    if (xhr.status === 200) {
+      const blob = xhr.response
+      const link = document.createElement("a")
+      const body = document.querySelector("body")
+      link.href = window.URL.createObjectURL(blob)
+      link.download = fileName
+      link.style.display = "none"
+      body?.appendChild(link)
+      link.click()
+      body?.removeChild(link)
+      window.URL.revokeObjectURL(link.href)
+    }
+  }
+  xhr.send()
+}

何时使用

  • 下载文件并自定义文件名时

基本使用

vue
<script setup lang="ts">
+import { downloadFile } from "@jqw755/q-ui"
+
+donwloadFile("https://cdn.jsdelivr.net/gh/themusecatcher/resources@0.0.3/Markdown.pdf", "Markdown")
+</script>

Params

参数说明类型默认值必传
url文件地址string-true
name自定义文件名,未传时,从文件地址中自动获取文件名称string-false

License

+ + + + \ No newline at end of file diff --git a/docs/.vitepress/dist/utils/started.html b/docs/.vitepress/dist/utils/started.html new file mode 100644 index 0000000..b9342af --- /dev/null +++ b/docs/.vitepress/dist/utils/started.html @@ -0,0 +1,25 @@ + + + + + + 快速上手 | QUI + + + + + + + + + + + +
Skip to content
On this page

快速上手

简要介绍

开箱即用!

使用方式

vue
<script setup lang="ts">
+import { dateFormat, throttle, debounce, downloadFile } from "@jqw755/q-ui"
+</script>

一共 9 个常用工具函数

Function nameDescriptionsArguments
dateFormat简单易用的日期格式化函数!(timestamp: number|string|Date, format = 'YYYY-MM-DD HH:mm:ss') => string
requestAnimationFrame针对不同浏览器进行兼容处理!使用方式不变
cancelAnimationFrame针对不同浏览器进行兼容处理!使用方式不变
rafTimeout使用 requestAnimationFrame 实现的定时器函数,等效替代 (setTimeout 和 setInterval)!(func: Function, delay = 0, interval = false) => object
cancelRaf用于取消 rafTimeout 函数!(raf: { id: number }) => void
throttle使用 rafTimeout 实现的节流函数!(fn: Function, delay = 300) => any
debounce使用 rafTimeout 实现的防抖函数!(fn: Function, delay = 300) => any
add消除 js 加减精度问题的加法函数!(num1: number, num2: number) => number
downloadFile下载文件并自定义文件名,未传 name 时,从文件地址中自动获取文件名称(url: string, name: string) => void

License

+ + + + \ No newline at end of file diff --git a/docs/.vitepress/dist/utils/throttle.html b/docs/.vitepress/dist/utils/throttle.html new file mode 100644 index 0000000..426d551 --- /dev/null +++ b/docs/.vitepress/dist/utils/throttle.html @@ -0,0 +1,51 @@ + + + + + + 节流 | QUI + + + + + + + + + + + + +
Skip to content
On this page

节流


如果短时间内大量触发同一事件,那么在函数执行一次之后,该函数在指定的时间(delay)期限内不再工作,直至过了这段时间才重新生效

Show Source Code
ts
function throttle(fn: Function, delay = 300): any {
+  var valid = true
+  return function () {
+    if (valid) {
+      valid = false // 将函数置为无效
+      rafTimeout(() => {
+        fn()
+        valid = true
+      }, delay)
+    }
+    return false // valid为false时,函数不执行
+  }
+}

何时使用

  • 短时间内大量触发同一事件时,每 delay ms 内函数只执行一次

基本使用

打开控制台查看输出

vue
<script setup lang="ts">
+import { onMounted, onUnmounted } from "vue"
+import { throttle } from "@jqw755/q-ui"
+
+onMounted(() => {
+  document.onscroll = throttle(showPosition, 1000)
+})
+onUnmounted(() => {
+  // 移除键盘切换事件
+  document.onscroll = null
+})
+function showPosition() {
+  const scrollTop = document.body.scrollTop || document.documentElement.scrollTop
+  console.log("滚动条位置:" + scrollTop)
+}
+</script>

Params

参数说明类型默认值必传
fn要执行的函数Function-true
delay函数失效时长,单位 msnumber300false

License

+ + + + \ No newline at end of file diff --git a/docs/.vitepress/theme/env.d.ts b/docs/.vitepress/theme/env.d.ts new file mode 100644 index 0000000..488d59b --- /dev/null +++ b/docs/.vitepress/theme/env.d.ts @@ -0,0 +1,6 @@ +/// +declare module '*.vue' { + import type { DefineComponent } from 'vue' + const vueComponent: DefineComponent<{}, {}, any> + export default vueComponent +} \ No newline at end of file diff --git a/docs/.vitepress/theme/global.scss b/docs/.vitepress/theme/global.scss new file mode 100644 index 0000000..e2ae8af --- /dev/null +++ b/docs/.vitepress/theme/global.scss @@ -0,0 +1,149 @@ +/** + * Colors 在 theme/global.scss 中写入样式,以下样式皆源自 vite 官网项目中使用的全局样式,并稍加修改 + * -------------------------------------------------------------------------- */ + +// :root { +// --vp-c-brand: #646cff; +// --vp-c-brand-light: #747bff; +// --vp-c-brand-lighter: #9499ff; +// --vp-c-brand-lightest: #bcc0ff; +// --vp-c-brand-dark: #535bf2; +// --vp-c-brand-darker: #454ce1; +// --vp-c-brand-dimm: rgba(100, 108, 255, 0.08); +// --c-brand: #646cff; +// --c-brand-light: #747bff; +// } + +/** + * Component: Button + * -------------------------------------------------------------------------- */ + +// :root { +// --vp-button-brand-border: var(--vp-c-brand-light); +// --vp-button-brand-text: var(--vp-c-white); +// --vp-button-brand-bg: var(--vp-c-brand); +// --vp-button-brand-hover-border: var(--vp-c-brand-light); +// --vp-button-brand-hover-text: var(--vp-c-white); +// --vp-button-brand-hover-bg: var(--vp-c-brand-light); +// --vp-button-brand-active-border: var(--vp-c-brand-light); +// --vp-button-brand-active-text: var(--vp-c-white); +// --vp-button-brand-active-bg: var(--vp-button-brand-bg); +// } + +/** + * Component: Home + * -------------------------------------------------------------------------- */ + +// :root { +// --vp-home-hero-name-color: transparent; +// --vp-home-hero-name-background: -webkit-linear-gradient(120deg, #bd34fe 30%, #41d1ff); + +// --vp-home-hero-image-background-image: linear-gradient(-45deg, #bd34fe 50%, #47caff 50%); +// --vp-home-hero-image-filter: blur(40px); +// } + +// @media (min-width: 640px) { +// :root { +// --vp-home-hero-image-filter: blur(56px); +// } +// } + +// @media (min-width: 960px) { +// :root { +// --vp-home-hero-image-filter: blur(72px); +// } +// } + +// /** +// * Component: Custom Block +// * -------------------------------------------------------------------------- */ + +// :root { +// --vp-custom-block-tip-border: var(--vp-c-brand); +// --vp-custom-block-tip-text: var(--vp-c-brand-darker); +// --vp-custom-block-tip-bg: var(--vp-c-brand-dimm); +// } + +// .dark { +// --vp-custom-block-tip-border: var(--vp-c-brand); +// --vp-custom-block-tip-text: var(--vp-c-brand-lightest); +// --vp-custom-block-tip-bg: var(--vp-c-brand-dimm); +// } + +/** + * VitePress: Custom fix + * -------------------------------------------------------------------------- */ + +/* + Use lighter colors for links in dark mode for a11y. + + Also specify some classes twice to have higher specificity + over scoped class data attribute. + +*/ + +// .dark .vp-doc a, +// .dark .vp-doc a > code, +// .dark .VPNavBarMenuLink.VPNavBarMenuLink:hover, +// .dark .VPNavBarMenuLink.VPNavBarMenuLink.active, +// .dark .link.link:hover, +// .dark .link.link.active, +// .dark .edit-link-button.edit-link-button, +// .dark .pager-link .title { +// color: var(--vp-c-brand-lighter); +// } + +// .dark .vp-doc a:hover, +// .dark .vp-doc a > code:hover { +// color: var(--vp-c-brand-lightest); +// opacity: 1; +// } +// .vp-doc a { +// font-weight: normal; +// } +// .vp-doc p { +// margin: 0; +// } +/* Transition by color instead of opacity */ +// .dark .vp-doc .custom-block a { +// transition: color 0.25s; +// } +// a:hover { +// text-decoration: none !important; +// } +// summary { +// font-weight: 600; +// &:hover { +// cursor: pointer; +// color: var(--vp-c-brand-lighter); +// } +// } +// svg { +// fill: var(--vp-c-text-1); +// } +// .VPNavBarTitle .title { +// transition: all 0.25s; +// &:hover { +// color: var(--vp-c-brand); +// } +// } +.version-tag { + font-size: 14px; + line-height: 1.571; + font-weight: bold; + padding: 4px 6px; + margin-left: 6px; + background: #bd34fe; + color: #fff; + border-radius: 10px; + display: inline-block; + vertical-align: top; + margin-top: 4px; +} + +.container .image .image-container .image-bg { + height: 180px; + transform: translate(-50%, 30%); + background-image: linear-gradient(-45deg, #10b981 50%, #47caff 50%); + filter: blur(72px); +} diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts new file mode 100644 index 0000000..a8bbbfd --- /dev/null +++ b/docs/.vitepress/theme/index.ts @@ -0,0 +1,11 @@ +import DefaultTheme from "vitepress/theme" +import "./global.scss" +import QUI from "../../../dist/q-ui" +import "../../../dist/style.css" + +export default { + extends: DefaultTheme, // or ...DefaultTheme + enhanceApp({ app }) { + app.use(QUI) + }, +} diff --git a/docs/.vitepress/utils/fetchVersion.ts b/docs/.vitepress/utils/fetchVersion.ts new file mode 100644 index 0000000..8933308 --- /dev/null +++ b/docs/.vitepress/utils/fetchVersion.ts @@ -0,0 +1,26 @@ +// 远程读取 github 仓库中 package.json 文件中的 version 版本号 +// 方式一: +// 读取规则:https://api.github.com/repos///contents/?ref= +// return fetch('https://api.github.com/repos/themusecatcher/q-ui/contents/package.json?ref=master', { +// headers: { +// // See https://docs.github.com/en/rest/overview/media-types +// Accept: 'application/vnd.github.v3.raw', +// // See https://docs.github.com/en/rest/guides/getting-started-with-the-rest-api#authentication +// // Authorization: 'token ${GITHUB_TOKEN}', +// } +// }) +// 方式二: +// 读取规则:https://raw.githubusercontent.com//// +export function fetchVersion() { + return fetch("https://raw.githubusercontent.com/jqw755/q-ui/master/package.json") + .then((res) => res.json()) + .then((json) => json.version ?? "") + .then((version) => { + if (!version) return + const tagLineParagragh = document.querySelector("div.VPHero.has-image.VPHomeHero > div > div.main > p.tagline") + const docsVersionSpan = document.createElement("samp") + docsVersionSpan.classList.add("version-tag") + docsVersionSpan.innerText = version + tagLineParagragh?.appendChild(docsVersionSpan) + }) +} diff --git a/docs/guide/components/breadcrumb.md b/docs/guide/components/breadcrumb.md new file mode 100644 index 0000000..baafd1c --- /dev/null +++ b/docs/guide/components/breadcrumb.md @@ -0,0 +1,172 @@ +# 面包屑 QBreadcrumb + +
+ +_显示当前页面在系统层级结构中的位置,并能向上返回_ + +## 何时使用 + +- 当系统拥有超过两级以上的层级结构时 +- 当需要告知用户『你在哪里』时 +- 当需要向上导航的功能时 + + + +## 基本使用 + + + +::: details Show Code + +```vue + + +``` + +::: + +## 自定义分隔符 + + + +::: details Show Code + +```vue + + +``` + +::: + +## 自定义样式 + + + +::: details Show Code + +```vue + + +``` + +::: + +## 新页面打开目标链接 + + + +::: details Show Code + +```vue + + +``` + +::: + +## APIs + +| 参数 | 说明 | 类型 | 默认值 | 必传 | +| --------- | ------------------------------------------- | ------------------------- | -------- | ----- | +| routes | 路由数组 | Route[] | [] | true | +| fontSize | 字体大小,单位 px | number | 14 | false | +| height | 面包屑高度 | number | 36 | false | +| maxWidth | 文本最大显示宽度,超出后显示省略号,单位 px | 180 | false | +| separator | 分隔符,默认''时为箭头 | string | '' | false | +| target | 如何打开目标 URL | '\_self' | '\_blank' | '\_self' | false | + +## Route Type + +| 名称 | 说明 | 类型 | 必传 | +| ----- | ------------ | ----------------------- | ----- | +| path | 路由地址 | string | true | +| query | 路由查询参数 | [propName: string]: any | false | +| name | 路由名称 | string | true | diff --git a/docs/guide/components/button.md b/docs/guide/components/button.md new file mode 100644 index 0000000..8bceb4a --- /dev/null +++ b/docs/guide/components/button.md @@ -0,0 +1,158 @@ +# 按钮 + +## 何时使用 + +- 当需要添加一个操作按钮时 + + + +## 基本使用 + +
+ Default + Reverse + Primary + Danger + Disabled +
+ +::: details Show Code + +```vue + + +``` + +::: + +## 大、中、小三种尺寸 + +
+ Small + Default + Large +
+ +::: details Show Code + +```vue + + +``` + +::: + +## 自定义样式 + + + +

自定义样式

+
+ +::: details Show Code + +```vue + + +``` + +::: + +## 加载中状态 + +
+ Default + Primary + Danger +
+
+

Loading state:

+ +
+ +::: details Show Code + +```vue + + +``` + +::: + + + +## APIs + +| 参数 | 说明 | 类型 | 默认值 | 必传 | +| ------------ | ---------------------------------------------------- | ------------------------------------------ | --------- | ----- | +| name | 默认文本 | string | slot | '按钮' | false | +| type | 类型 | 'default' | 'primary' | 'danger' | 'default' | false | +| effect | 悬浮变化效果,只有 type 为 default 时,effect 才生效 | 'fade' | 'reverse' | '' | +| size | 尺寸 | 'small' | 'middle' | 'large' | '\_self' | false | +| width | 宽度,优先级高于 size 属性,为 0 时自适应内容的宽度 | number | 0 | false | +| height | 高度,优先级高于 size 属性 | number | 0 | false | +| borderRadius | 圆角 | number | 5 | false | +| route | 跳转目标 URL 地址 | {path?: string, query?: object} | {} | false | +| target | 如何打开目标 URL,设置 route 时生效 | '\_self' | '\_blank' | '\_self' | false | +| disabled | 是否禁用 | boolean | false | false | +| loading | 是否加载中 | boolean | false | false | +| center | 是否将按钮设置为块级元素并居中展示 | boolean | false | false | + +## Events + +| 事件名称 | 说明 | 参数 | +| -------- | ------------------------------------- | ------------------ | +| click | 点击按钮时的回调,未设置 route 时生效 | (e: Event) => void | diff --git a/docs/guide/components/select.md b/docs/guide/components/select.md new file mode 100644 index 0000000..785897d --- /dev/null +++ b/docs/guide/components/select.md @@ -0,0 +1,572 @@ +# 选择器 QSelect + +## 何时使用 + +- 弹出一个下拉菜单给用户选择操作,用于代替原生的选择器,或者需要一个更优雅的多选器时 +- 当选项少时(少于 5 项),建议直接将选项平铺,使用 Radio 是更好的选择 + + + +## 基本使用 + + + +::: details Show Code + +```vue + + +``` + +::: + +## 禁用 + + + +::: details Show Code + +```vue + + +``` + +::: + +## 禁用选项 + + + +::: details Show Code + +```vue + + +``` + +::: + +## 支持清除 + + + +::: details Show Code + +```vue + + +``` + +::: + +## 自定义样式 + + + +::: details Show Code + +```vue + + +``` + +::: + +## 自定义字段名 + + + +::: details Show Code + +```vue + + +``` + +::: + +## 自定义下拉面板展示数 + + + +::: details Show Code + +```vue + + +``` + +::: + +## APIs + +| 参数 | 说明 | 类型 | 默认值 | 必传 | +| ------------------- | -------------------------------------------- | -------------------------------- | -------- | ----- | +| options | 选项数据 | Option[] | [] | false | +| label | 字典项的文本字段名 | string | 'label' | false | +| value | 字典项的值字段名 | string | 'value' | false | +| placeholder | 默认文字 | string | '请选择' | false | +| disabled | 是否禁用 | boolean | false | false | +| allowClear | 是否支持清除 | boolean | false | false | +| width | 宽度 | number | 120 | false | +| height | 高度 | number | 32 | false | +| maxDisplay | 下拉面板最多能展示的下拉项数,超过后滚动显示 | number | 6 | false | +| modelValue(v-model) | 当前选中的 option 条目 | number | string | null | null | false | + +## Option Type + +| 名称 | 说明 | 类型 | 必传 | +| ------------------ | ------------------------------------------------------ | -------------------- | ----- | +| label | 选项名 | string | false | +| value | 选项值 | string | number | false | +| disabled | 是否禁用选项 | boolean | false | +| [propName: string] | 添加一个字符串索引签名,用于包含带有任意数量的其他属性 | any | - | + +## Events + +| 事件名称 | 说明 | 参数 | +| -------- | ------------------ | ------------------------------------------------------------------- | +| change | 选项值改变后的回调 | (value: string | number, label: string, index: number) => void | diff --git a/docs/guide/features.md b/docs/guide/features.md new file mode 100644 index 0000000..3e1628e --- /dev/null +++ b/docs/guide/features.md @@ -0,0 +1,11 @@ +# 特性 + +## 介绍 + +该组件库采用 Vite3 + Vue3 + TS + Scss 实现! + +## 三种使用方式 + +- 全局引入所有组件 +- 按需引入部分组件 +- git clone [q-ui](https://github.com/jqw755/q-ui) 到本地后,从 packages 下单独拷贝单文件组件 (SFC) 到项目内使用 diff --git a/docs/guide/started.md b/docs/guide/started.md new file mode 100644 index 0000000..a5ede22 --- /dev/null +++ b/docs/guide/started.md @@ -0,0 +1,39 @@ +# 快速上手 + +## 安装 + +**With Yarn** + +```bash +$ yarn add @jqw755/q-ui +``` + +**With NPM** + +```bash +$ npm i @jqw755/q-ui +``` + +## 使用 + +**全局** + +```ts +import { createApp } from "vue" +import App from "./App.vue" + +import QUI from "@jqw755/q-ui" +import "@jqw755/q-ui/css" + +const app = createApp(App) +app.use(QUI) + +app.mount("#app") +``` + +**单文件** + +```ts +import { QButton } from "@jqw755/q-ui" +import "@jqw755/q-ui/css" +``` diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..248222b --- /dev/null +++ b/docs/index.md @@ -0,0 +1,34 @@ +--- +layout: home + +title: QUI +titleTemplate: 组件库文档 + +hero: + name: QUI + text: 组件库 + tagline: 基于 Vite3 + Vue3 + TS 开发 + image: + src: /logo.png + alt: QUI + actions: + - theme: brand + text: 开始 + link: /guide/features + - theme: alt + text: 在GitHub上查看 + link: https://github.com/jqw755/q-ui + - theme: alt + text: 在NPM上查看 + link: https://www.npmjs.com/package/@jqw755/q-ui +--- + + diff --git a/docs/public/logo.png b/docs/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..cc5336b3585c2424a59af6b457b5792af921fa38 GIT binary patch literal 42620 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%0DIWN&tCf%c%$^_V*Y5Sk56{n$S$40$jR#a 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 AzyJUM literal 0 HcmV?d00001 diff --git a/docs/utils/date-format.md b/docs/utils/date-format.md new file mode 100644 index 0000000..8e8b5ab --- /dev/null +++ b/docs/utils/date-format.md @@ -0,0 +1,123 @@ +# 日期格式化 + +::: details Show Source Code + +```ts +function dateFormat(value: number | string | Date = Date.now(), format = "YYYY-MM-DD HH:mm:ss"): string { + if (typeof value === "number" || typeof value === "string") { + var date = new Date(value) + } else { + var date = value + } + function fixedTwo(value: number): string { + return value < 10 ? "0" + value : String(value) + } + var showTime = format + if (showTime.includes("SSS")) { + const S = date.getMilliseconds() + showTime = showTime.replace("SSS", "0".repeat(3 - String(S).length) + S) + } + if (showTime.includes("YY")) { + const Y = date.getFullYear() + showTime = showTime.includes("YYYY") + ? showTime.replace("YYYY", String(Y)) + : showTime.replace("YY", String(Y).slice(2, 4)) + } + if (showTime.includes("M")) { + const M = date.getMonth() + 1 + showTime = showTime.includes("MM") ? showTime.replace("MM", fixedTwo(M)) : showTime.replace("M", String(M)) + } + if (showTime.includes("D")) { + const D = date.getDate() + showTime = showTime.includes("DD") ? showTime.replace("DD", fixedTwo(D)) : showTime.replace("D", String(D)) + } + if (showTime.includes("H")) { + const H = date.getHours() + showTime = showTime.includes("HH") ? showTime.replace("HH", fixedTwo(H)) : showTime.replace("H", String(H)) + } + if (showTime.includes("m")) { + var m = date.getMinutes() + showTime = showTime.includes("mm") ? showTime.replace("mm", fixedTwo(m)) : showTime.replace("m", String(m)) + } + if (showTime.includes("s")) { + var s = date.getSeconds() + showTime = showTime.includes("ss") ? showTime.replace("ss", fixedTwo(s)) : showTime.replace("s", String(s)) + } + return showTime +} +``` + +::: + +## 何时使用 + +- 格式化日期时 + +## 基本使用 + +_格式化时间戳_ + +
+ +**2023-05-31 14:20:45** + +```vue + +``` + +## 格式化字符串 + +
+ +**05/31/2023** + +```vue + +``` + +## 展示毫秒值 + +
+ +**2023-05-31 14:20:45:679** + +```vue + +``` + +## Params + +| 参数 | 说明 | 类型 | 默认值 | 必传 | +| ------ | ----------------------------------------------------------------- | -------------------------------- | --------------------- | ----- | +| value | 13 位时间戳;或者可以转化为 Date 类型的字符串日期;或者 Date 对象 | number | string | Date | Date.now() | false | +| format | 格式化目标形式 | string | 'YYYY-MM-DD HH:mm:ss' | false | + +## format 支持的格式化占位符列表 + +| 标识 | 示例 | 描述 | +| ---- | ------- | ------------- | +| YY | 23 | 年,两位数 | +| YYYY | 2023 | 年,四位数 | +| M | 1-12 | 月,从 1 开始 | +| MM | 01-12 | 月,两位数 | +| D | 1-31 | 日 | +| DD | 01-31 | 日,两位数 | +| H | 0-23 | 小时 | +| HH | 00-23 | 小时,两位数 | +| m | 0-59 | 分钟 | +| mm | 00-59 | 分钟,两位数 | +| s | 0-59 | 秒 | +| ss | 00-59 | 秒,两位数 | +| SSS | 000-999 | 毫秒,三位数 | diff --git a/docs/utils/debounce.md b/docs/utils/debounce.md new file mode 100644 index 0000000..e3463d1 --- /dev/null +++ b/docs/utils/debounce.md @@ -0,0 +1,72 @@ +# 防抖 + +
+ +_对于短时间内连续触发的事件,防抖就是让某个时间(delay)期限内,事件处理函数只执行一次_ + +::: details Show Source Code + +```ts +function debounce(fn: Function, delay = 300): any { + let timer: any = null //借助闭包 + return function () { + if (timer) { + cancelRaf(timer) + } + timer = rafTimeout(fn, delay) + } +} +``` + +::: + +## 何时使用 + +- 对于短时间内连续触发的事件,在 delay ms 内函数只执行最后一次 + + + +## 基本使用 + +_打开控制台查看输出_ + +```vue + +``` + +## Params + +| 参数 | 说明 | 类型 | 默认值 | 必传 | +| ----- | --------------------- | -------- | ------ | ----- | +| fn | 要执行的函数 | Function | - | true | +| delay | 防抖时间期限,单位 ms | number | 300 | false | diff --git a/docs/utils/download-file.md b/docs/utils/download-file.md new file mode 100644 index 0000000..d17ec3e --- /dev/null +++ b/docs/utils/download-file.md @@ -0,0 +1,56 @@ +# 下载文件 + +::: details Show Source Code + +```ts +function downloadFile(url: string, name: string) { + var fileName = "" + if (name) { + fileName = name + } else { + const res = url.split("?")[0].split("/") + fileName = res[res.length - 1] + } + var xhr = new XMLHttpRequest() + xhr.open("GET", url, true) + xhr.responseType = "blob" + xhr.onload = function () { + if (xhr.status === 200) { + const blob = xhr.response + const link = document.createElement("a") + const body = document.querySelector("body") + link.href = window.URL.createObjectURL(blob) + link.download = fileName + link.style.display = "none" + body?.appendChild(link) + link.click() + body?.removeChild(link) + window.URL.revokeObjectURL(link.href) + } + } + xhr.send() +} +``` + +::: + +## 何时使用 + +- 下载文件并自定义文件名时 + +## 基本使用 + +```vue + +``` + +## Params + +| 参数 | 说明 | 类型 | 默认值 | 必传 | +| ---- | -------------------------------------------------- | ------ | ------ | ----- | +| url | 文件地址 | string | - | true | +| name | 自定义文件名,未传时,从文件地址中自动获取文件名称 | string | - | false | diff --git a/docs/utils/started.md b/docs/utils/started.md new file mode 100644 index 0000000..3732784 --- /dev/null +++ b/docs/utils/started.md @@ -0,0 +1,27 @@ +# 快速上手 + +## 简要介绍 + +开箱即用! + +## 使用方式 + +```vue + +``` + +## 一共 9 个常用工具函数 + +| Function name | Descriptions | Arguments | +| --------------------- | :---------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------- | +| dateFormat | 简单易用的日期格式化函数! | (timestamp: number|string|Date, format = 'YYYY-MM-DD HH:mm:ss') => string | +| requestAnimationFrame | 针对不同浏览器进行兼容处理! | 使用方式不变 | +| cancelAnimationFrame | 针对不同浏览器进行兼容处理! | 使用方式不变 | +| rafTimeout | 使用 requestAnimationFrame 实现的定时器函数,等效替代 (setTimeout 和 setInterval)! | (func: Function, delay = 0, interval = false) => object | +| cancelRaf | 用于取消 rafTimeout 函数! | (raf: { id: number }) => void | +| throttle | 使用 rafTimeout 实现的节流函数! | (fn: Function, delay = 300) => any | +| debounce | 使用 rafTimeout 实现的防抖函数! | (fn: Function, delay = 300) => any | +| add | 消除 js 加减精度问题的加法函数! | (num1: number, num2: number) => number | +| downloadFile | 下载文件并自定义文件名,未传 name 时,从文件地址中自动获取文件名称 | (url: string, name: string) => void | diff --git a/docs/utils/throttle.md b/docs/utils/throttle.md new file mode 100644 index 0000000..d9a3a25 --- /dev/null +++ b/docs/utils/throttle.md @@ -0,0 +1,76 @@ +# 节流 + +
+ +_如果短时间内大量触发同一事件,那么在函数执行一次之后,该函数在指定的时间(delay)期限内不再工作,直至过了这段时间才重新生效_ + +::: details Show Source Code + +```ts +function throttle(fn: Function, delay = 300): any { + var valid = true + return function () { + if (valid) { + valid = false // 将函数置为无效 + rafTimeout(() => { + fn() + valid = true + }, delay) + } + return false // valid为false时,函数不执行 + } +} +``` + +::: + +## 何时使用 + +- 短时间内大量触发同一事件时,每 delay ms 内函数只执行一次 + + + +## 基本使用 + +_打开控制台查看输出_ + +```vue + +``` + +## Params + +| 参数 | 说明 | 类型 | 默认值 | 必传 | +| ----- | --------------------- | -------- | ------ | ----- | +| fn | 要执行的函数 | Function | - | true | +| delay | 函数失效时长,单位 ms | number | 300 | false | diff --git a/env.d.ts b/env.d.ts new file mode 100644 index 0000000..501a497 --- /dev/null +++ b/env.d.ts @@ -0,0 +1,8 @@ +/// +declare module "*.vue" { + import type { DefineComponent } from "vue" + + const vueComponent: DefineComponent<{}, {}, any> + + export default vueComponent +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..a888544 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..0ebc0d3 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6073 @@ +{ + "name": "@jqw755/q-ui", + "version": "0.0.3", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@jqw755/q-ui", + "version": "0.0.3", + "license": "ISC", + "dependencies": { + "@jqw755/q-ui": "^0.0.3", + "sass": "^1.63.3", + "vue": "^3.3.4", + "vue-router": "^4.2.2" + }, + "devDependencies": { + "@tsconfig/node18": "^2.0.1", + "@types/node": "^18.16.17", + "@vitejs/plugin-vue": "^4.2.3", + "@vitejs/plugin-vue-jsx": "^3.0.1", + "@vue/tsconfig": "^0.4.0", + "npm-run-all": "^4.1.5", + "terser": "^5.18.0", + "typescript": "~5.0.4", + "vite": "^4.3.9", + "vitepress": "^1.0.0-beta.2", + "vue-tsc": "^1.6.5" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.17.2.tgz", + "integrity": "sha512-ZkVN7K/JE+qMQbpR6h3gQOGR6yCJpmucSBCmH5YDxnrYbp2CbrVCu0Nr+FGVoWzMJNznj1waShkfQ9awERulLw==", + "dependencies": { + "@algolia/cache-common": "4.17.2" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.17.2.tgz", + "integrity": "sha512-fojbhYIS8ovfYs6hwZpy1O4mBfVRxNgAaZRqsdVQd54hU4MxYDYFCxagYX28lOBz7btcDHld6BMoWXvjzkx6iQ==" + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.17.2.tgz", + "integrity": "sha512-UYQcMzPurNi+cPYkuPemTZkjKAjdgAS1hagC5irujKbrYnN4yscK4TkOI5tX+O8/KegtJt3kOK07OIrJ2QDAAw==", + "dependencies": { + "@algolia/cache-common": "4.17.2" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.17.2.tgz", + "integrity": "sha512-doSk89pBPDpDyKJSHFADIGa2XSGrBCj3QwPvqtRJXDADpN+OjW+eTR8r4hEs/7X4GGfjfAOAES8JgDx+fZntYw==", + "dependencies": { + "@algolia/client-common": "4.17.2", + "@algolia/client-search": "4.17.2", + "@algolia/transporter": "4.17.2" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.17.2.tgz", + "integrity": "sha512-V+DcXbOtD/hKwAR3qGQrtlrJ3q2f9OKfx843q744o4m3xHv5ueCAvGXB1znPsdaUrVDNAImcgEgqwI9x7EJbDw==", + "dependencies": { + "@algolia/client-common": "4.17.2", + "@algolia/client-search": "4.17.2", + "@algolia/requester-common": "4.17.2", + "@algolia/transporter": "4.17.2" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.17.2.tgz", + "integrity": "sha512-gKBUnjxi0ukJYIJxVREYGt1Dmj1B3RBYbfGWi0dIPp1BC1VvQm+BOuNwsIwmq/x3MPO+sGuK978eKiP3tZDvag==", + "dependencies": { + "@algolia/requester-common": "4.17.2", + "@algolia/transporter": "4.17.2" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.17.2.tgz", + "integrity": "sha512-wc4UgOWxSYWz5wpuelNmlt895jA9twjZWM2ms17Ws8qCvBHF7OVGdMGgbysPB8790YnfvvDnSsWOv3CEj26Eow==", + "dependencies": { + "@algolia/client-common": "4.17.2", + "@algolia/requester-common": "4.17.2", + "@algolia/transporter": "4.17.2" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.17.2.tgz", + "integrity": "sha512-FUjIs+gRe0upJC++uVs4sdxMw15JxfkT86Gr/kqVwi9kcqaZhXntSbW/Fw959bIYXczjmeVQsilYvBWW4YvSZA==", + "dependencies": { + "@algolia/client-common": "4.17.2", + "@algolia/requester-common": "4.17.2", + "@algolia/transporter": "4.17.2" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.17.2.tgz", + "integrity": "sha512-EfXuweUE+1HiSMsQidaDWA5Lv4NnStYIlh7PO5pLkI+sdhbMX0e5AO5nUAMIFM1VkEANes70RA8fzhP6OqCqQQ==" + }, + "node_modules/@algolia/logger-console": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.17.2.tgz", + "integrity": "sha512-JuG8HGVlJ+l/UEDK4h2Y8q/IEmRjQz1J0aS9tf6GPNbGYiSvMr1DDdZ+hqV3bb1XE6wU8Ypex56HisWMSpnG0A==", + "dependencies": { + "@algolia/logger-common": "4.17.2" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.17.2.tgz", + "integrity": "sha512-FKI2lYWwksALfRt2OETFmGb5+P7WVc4py2Ai3H7k8FSfTLwVvs9WVVmtlx6oANQ8RFEK4B85h8DQJTJ29TDfmA==", + "dependencies": { + "@algolia/requester-common": "4.17.2" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.17.2.tgz", + "integrity": "sha512-Rfim23ztAhYpE9qm+KCfCRo+YLJCjiiTG+IpDdzUjMpYPhUtirQT0A35YEd/gKn86YNyydxS9w8iRSjwKh+L0A==" + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.17.2.tgz", + "integrity": "sha512-E0b0kyCDMvUIhQmDNd/mH4fsKJdEEX6PkMKrYJjzm6moo+rP22tqpq4Rfe7DZD8OB6/LsDD3zs3Kvd+L+M5wwQ==", + "dependencies": { + "@algolia/requester-common": "4.17.2" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.17.2.tgz", + "integrity": "sha512-m8pXlz5OnNzjD1rcw+duCN4jG4yEzkJBsvKYMoN22Oq6rQwy1AY5muZ+IQUs4dL+A364CYkRMLRWhvXpCZ1x+g==", + "dependencies": { + "@algolia/cache-common": "4.17.2", + "@algolia/logger-common": "4.17.2", + "@algolia/requester-common": "4.17.2" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", + "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", + "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", + "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", + "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz", + "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", + "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", + "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", + "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.5.tgz", + "integrity": "sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", + "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.1.tgz", + "integrity": "sha512-2Pu9HDg/uP/IT10rbQ+4OrTQuxIWdKVUEdcw9/w7kZJv9NeHS6skJx1xuRiFyoGKwAzcHXnLp7csE99sj+O1YA==" + }, + "node_modules/@docsearch/js": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.5.1.tgz", + "integrity": "sha512-EXi8de5njxgP6TV3N9ytnGRLG9zmBNTEZjR4VzwPcpPLbZxxTLG2gaFyJyKiFVQxHW/DPlMrDJA3qoRRGEkgZw==", + "dependencies": { + "@docsearch/react": "3.5.1", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.1.tgz", + "integrity": "sha512-t5mEODdLzZq4PTFAm/dvqcvZFdPDMdfPE5rJS5SC8OUq9mPzxEy6b+9THIqNM9P0ocCb4UC5jqBrxKclnuIbzQ==", + "dependencies": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.5.1", + "algoliasearch": "^4.0.0" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jqw755/q-ui": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@jqw755/q-ui/-/q-ui-0.0.3.tgz", + "integrity": "sha512-bhoIFh9e5Wm6wD4AFjwq7S4ml1KpEB+wBXSUEp0l/AoI41F2T6mbIkW6RvVq9Rm3pZ9jZoEq1P+5F/zolX1MJw==", + "dependencies": { + "@jqw755/q-ui": "0.0.2", + "sass": "^1.63.3", + "vue": "^3.3.4", + "vue-router": "^4.2.2" + } + }, + "node_modules/@jqw755/q-ui/node_modules/@jqw755/q-ui": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@jqw755/q-ui/-/q-ui-0.0.2.tgz", + "integrity": "sha512-MG8U5aWoO6mFtAhnjUWx30KWJm0OI8HRDZeGFHV3HoZmq3aFTWYwQpp/8CzFmPXioyAC5WNY0gvR4a3TUCJrVA==", + "dependencies": { + "sass": "^1.63.3", + "terser": "^5.18.0", + "vitepress": "^1.0.0-beta.2", + "vue": "^3.3.4", + "vue-router": "^4.2.2" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "node_modules/@tsconfig/node18": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node18/-/node18-2.0.1.tgz", + "integrity": "sha512-UqdfvuJK0SArA2CxhKWwwAWfnVSXiYe63bVpMutc27vpngCntGUZQETO24pEJ46zU6XM+7SpqYoMgcO3bM11Ew==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.16.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.18.tgz", + "integrity": "sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw==", + "devOptional": true + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.17.tgz", + "integrity": "sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", + "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==", + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitejs/plugin-vue-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.0.1.tgz", + "integrity": "sha512-+Jb7ggL48FSPS1uhPnJbJwWa9Sr90vQ+d0InW+AhBM22n+cfuYqJZDckBc+W3QSHe1WDvewMZfa4wZOtk5pRgw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.7", + "@babel/plugin-transform-typescript": "^7.20.7", + "@vue/babel-plugin-jsx": "^1.1.1" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.0.0" + } + }, + "node_modules/@volar/language-core": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.7.8.tgz", + "integrity": "sha512-TPklg4c2e/f1xB/MGZEiQc3AWG+dH64ZfBlYjFB8nNaWJt4Z4k+IHBhmaP52APG+5PHFerwiWI9oF002RrRTPA==", + "dev": true, + "dependencies": { + "@volar/source-map": "1.7.8" + } + }, + "node_modules/@volar/source-map": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.7.8.tgz", + "integrity": "sha512-g2dtC2kOghvfzMDWeODIo4HO1Ml4hxzPTZyAFDz+YhRF9HjZYJSCaWaVuPZ+z0kY+T2daOHYA10GdrWQ5q0teA==", + "dev": true, + "dependencies": { + "muggle-string": "^0.3.1" + } + }, + "node_modules/@volar/typescript": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.7.8.tgz", + "integrity": "sha512-NDcI5ZQcdr8kgxzMQrhSSWIM8Tl0MbMFrkvJPTjfm2rdAQZPFT8zv3LrEW9Fqh0e9z2YbCry7jr4a/GShBqeDA==", + "dev": true, + "dependencies": { + "@volar/language-core": "1.7.8" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", + "dev": true + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz", + "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@vue/babel-helper-vue-transform-on": "^1.0.2", + "camelcase": "^6.0.0", + "html-tags": "^3.1.0", + "svg-tags": "^1.0.0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", + "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", + "dependencies": { + "@babel/parser": "^7.21.3", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", + "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", + "dependencies": { + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", + "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", + "dependencies": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-ssr": "3.3.4", + "@vue/reactivity-transform": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0", + "postcss": "^8.1.10", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", + "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", + "dependencies": { + "@vue/compiler-dom": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + }, + "node_modules/@vue/language-core": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.1.tgz", + "integrity": "sha512-pumv3k4J7P58hVh4YGRM9Qz3HaAr4TlFWM9bnVOkZ/2K9o2CK1lAP2y9Jw+Z0+mNL4F2uWQqnAPzj3seLyfpDA==", + "dev": true, + "dependencies": { + "@volar/language-core": "1.7.8", + "@volar/source-map": "1.7.8", + "@vue/compiler-dom": "^3.3.0", + "@vue/reactivity": "^3.3.0", + "@vue/shared": "^3.3.0", + "minimatch": "^9.0.0", + "muggle-string": "^0.3.1", + "vue-template-compiler": "^2.7.14" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/language-core/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@vue/language-core/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", + "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", + "dependencies": { + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", + "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", + "dependencies": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", + "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", + "dependencies": { + "@vue/reactivity": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", + "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", + "dependencies": { + "@vue/runtime-core": "3.3.4", + "@vue/shared": "3.3.4", + "csstype": "^3.1.1" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", + "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", + "dependencies": { + "@vue/compiler-ssr": "3.3.4", + "@vue/shared": "3.3.4" + }, + "peerDependencies": { + "vue": "3.3.4" + } + }, + "node_modules/@vue/shared": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", + "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" + }, + "node_modules/@vue/tsconfig": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.4.0.tgz", + "integrity": "sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg==", + "dev": true + }, + "node_modules/@vue/typescript": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.1.tgz", + "integrity": "sha512-nQpo55j/roie8heCfqyXHnyayqD5+p4/0fzfxH4ZuHf7NSBQS791PNv7ztp2CCOjnGAiaiCMdtC9rc6oriyPUg==", + "dev": true, + "dependencies": { + "@volar/typescript": "1.7.8", + "@vue/language-core": "1.8.1" + } + }, + "node_modules/@vueuse/core": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.2.0.tgz", + "integrity": "sha512-aHBnoCteIS3hFu7ZZkVB93SanVDY6t4TIb7XDLxJT/HQdAZz+2RdIEJ8rj5LUoEJr7Damb5+sJmtpCwGez5ozQ==", + "dependencies": { + "@types/web-bluetooth": "^0.0.17", + "@vueuse/metadata": "10.2.0", + "@vueuse/shared": "10.2.0", + "vue-demi": ">=0.14.5" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", + "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/integrations": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.2.0.tgz", + "integrity": "sha512-e+MIRMi2Zo8DZKXszut8iVoZGlf07XXoaDt27W0DRJVYPdods50MV8Bnla5Tnuil0gHY/W5mMcqiQre9Xb246Q==", + "dependencies": { + "@vueuse/core": "10.2.0", + "@vueuse/shared": "10.2.0", + "vue-demi": ">=0.14.5" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "async-validator": "*", + "axios": "*", + "change-case": "*", + "drauu": "*", + "focus-trap": "*", + "fuse.js": "*", + "idb-keyval": "*", + "jwt-decode": "*", + "nprogress": "*", + "qrcode": "*", + "sortablejs": "*", + "universal-cookie": "*" + }, + "peerDependenciesMeta": { + "async-validator": { + "optional": true + }, + "axios": { + "optional": true + }, + "change-case": { + "optional": true + }, + "drauu": { + "optional": true + }, + "focus-trap": { + "optional": true + }, + "fuse.js": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "jwt-decode": { + "optional": true + }, + "nprogress": { + "optional": true + }, + "qrcode": { + "optional": true + }, + "sortablejs": { + "optional": true + }, + "universal-cookie": { + "optional": true + } + } + }, + "node_modules/@vueuse/integrations/node_modules/vue-demi": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", + "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.2.0.tgz", + "integrity": "sha512-IR7Mkq6QSgZ38q/2ZzOt+Zz1OpcEsnwE64WBumDQ+RGKrosFCtUA2zgRrOqDEzPBXrVB+4HhFkwDjQMu0fDBKw==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.2.0.tgz", + "integrity": "sha512-dIeA8+g9Av3H5iF4NXR/sft4V6vys76CpZ6hxwj8eMXybXk2WRl3scSsOVi+kQ9SX38COR7AH7WwY83UcuxbSg==", + "dependencies": { + "vue-demi": ">=0.14.5" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", + "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", + "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/algoliasearch": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.17.2.tgz", + "integrity": "sha512-VFu43JJNYIW74awp7oeQcQsPcxOhd8psqBDTfyNO2Zt6L1NqnNMTVnaIdQ+8dtKqUDBqQZp0szPxECvX8CK2Fg==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.17.2", + "@algolia/cache-common": "4.17.2", + "@algolia/cache-in-memory": "4.17.2", + "@algolia/client-account": "4.17.2", + "@algolia/client-analytics": "4.17.2", + "@algolia/client-common": "4.17.2", + "@algolia/client-personalization": "4.17.2", + "@algolia/client-search": "4.17.2", + "@algolia/logger-common": "4.17.2", + "@algolia/logger-console": "4.17.2", + "@algolia/requester-browser-xhr": "4.17.2", + "@algolia/requester-common": "4.17.2", + "@algolia/requester-node-http": "4.17.2", + "@algolia/transporter": "4.17.2" + } + }, + "node_modules/ansi-sequence-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz", + "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==" + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/body-scroll-lock": { + "version": "4.0.0-beta.0", + "resolved": "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz", + "integrity": "sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001505", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001505.tgz", + "integrity": "sha512-jaAOR5zVtxHfL0NjZyflVTtXm3D3J9P15zSJ7HmQF8dSKGA6tqzQq+0ZI3xkjyQj46I4/M0K2GbMpcAFOcbr3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.435", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.435.tgz", + "integrity": "sha512-B0CBWVFhvoQCW/XtjRzgrmqcgVWg6RXOEM/dK59+wFV93BFGR6AeNKc4OyhM+T3IhJaOOG8o/V+33Y2mwJWtzw==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/focus-trap": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.4.3.tgz", + "integrity": "sha512-BgSSbK4GPnS2VbtZ50VtOv1Sti6DIkj3+LkVjiWMNjLeAp1SH1UlLx3ULu/DCu4vq5R4/uvTm+zrvsMsuYmGLg==", + "dependencies": { + "tabbable": "^6.1.2" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", + "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==" + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minisearch": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.1.0.tgz", + "integrity": "sha512-PNxA/X8pWk+TiqPbsoIYH0GQ5Di7m6326/lwU/S4mlo4wGQddIcf/V//1f9TB0V4j59b57b+HZxt8h3iMROGvg==" + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/muggle-string": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", + "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.24", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", + "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/preact": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.15.1.tgz", + "integrity": "sha512-qs2ansoQEwzNiV5eAcRT1p1EC/dmEzaATVDJNiB3g2sRDWdA7b7MurXdJjB2+/WQktGWZwxvDrnuRFbWuIr64g==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/rollup": { + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.25.1.tgz", + "integrity": "sha512-tywOR+rwIt5m2ZAWSe5AIJcTat8vGlnPFAv15ycCrw33t6iFsXZ6mzHVFh2psSjxQPmI+xgzMZZizUAukBI4aQ==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sass": { + "version": "1.63.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.5.tgz", + "integrity": "sha512-Q6c5gs482oezdAp+0fWF9cRisvpy7yfYb64knID0OE8AnMgtkluRPfpGMFjeD4/+M4+6QpJZCU6JRSxbjiktkg==", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/search-insights": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.6.0.tgz", + "integrity": "sha512-vU2/fJ+h/Mkm/DJOe+EaM5cafJv/1rRTZpGJTuFPf/Q5LjzgMDsqPdSaZsAe+GAWHHsfsu+rQSAn6c8IGtBEVw==", + "peer": true, + "engines": { + "node": ">=8.16.0" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shiki": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.2.tgz", + "integrity": "sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==", + "dependencies": { + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, + "node_modules/string.prototype.padend": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz", + "integrity": "sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/tabbable": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.1.2.tgz", + "integrity": "sha512-qCN98uP7i9z0fIS4amQ5zbGBOq+OSigYeGvPy7NDk8Y9yncqDZ9pRPgfsc2PJIVM9RrJj7GIfuRgmjoUU9zTHQ==" + }, + "node_modules/terser": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.1.tgz", + "integrity": "sha512-j1n0Ao919h/Ai5r43VAnfV/7azUYW43GPxK7qSATzrsERfW7+y2QW9Cp9ufnRF5CQUWbnLSo7UJokSWCqg4tsQ==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vite": { + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", + "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vitepress": { + "version": "1.0.0-beta.3", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-beta.3.tgz", + "integrity": "sha512-GR5Pvr/o343NN1M4Na1shhDYZRrQbjmLq7WE0lla0H8iDPAsHE8agTHLWfu3FWx+3q2KA29sv16+0O9RQKGjlA==", + "dependencies": { + "@docsearch/css": "^3.5.0", + "@docsearch/js": "^3.5.0", + "@vitejs/plugin-vue": "^4.2.3", + "@vue/devtools-api": "^6.5.0", + "@vueuse/core": "^10.1.2", + "@vueuse/integrations": "^10.1.2", + "body-scroll-lock": "4.0.0-beta.0", + "focus-trap": "^7.4.3", + "mark.js": "8.11.1", + "minisearch": "^6.1.0", + "shiki": "^0.14.2", + "vite": "^4.3.9", + "vue": "^3.3.4" + }, + "bin": { + "vitepress": "bin/vitepress.js" + } + }, + "node_modules/vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==" + }, + "node_modules/vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==" + }, + "node_modules/vue": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", + "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", + "dependencies": { + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-sfc": "3.3.4", + "@vue/runtime-dom": "3.3.4", + "@vue/server-renderer": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "node_modules/vue-router": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.2.tgz", + "integrity": "sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ==", + "dependencies": { + "@vue/devtools-api": "^6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-template-compiler": { + "version": "2.7.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", + "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", + "dev": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/vue-tsc": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.1.tgz", + "integrity": "sha512-GxBQrcb0Qvyrj1uZqnTXQyWbXdNDRY2MTa+r7ESgjhf+WzBSdxZfkS3KD/C3WhKYG+aN8hf44Hp5Gqzb6PehAA==", + "dev": true, + "dependencies": { + "@vue/language-core": "1.8.1", + "@vue/typescript": "1.8.1", + "semver": "^7.3.8" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/vue-tsc/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-tsc/node_modules/semver": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-tsc/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + }, + "dependencies": { + "@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "requires": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "requires": { + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "requires": { + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "requires": {} + }, + "@algolia/cache-browser-local-storage": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.17.2.tgz", + "integrity": "sha512-ZkVN7K/JE+qMQbpR6h3gQOGR6yCJpmucSBCmH5YDxnrYbp2CbrVCu0Nr+FGVoWzMJNznj1waShkfQ9awERulLw==", + "requires": { + "@algolia/cache-common": "4.17.2" + } + }, + "@algolia/cache-common": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.17.2.tgz", + "integrity": "sha512-fojbhYIS8ovfYs6hwZpy1O4mBfVRxNgAaZRqsdVQd54hU4MxYDYFCxagYX28lOBz7btcDHld6BMoWXvjzkx6iQ==" + }, + "@algolia/cache-in-memory": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.17.2.tgz", + "integrity": "sha512-UYQcMzPurNi+cPYkuPemTZkjKAjdgAS1hagC5irujKbrYnN4yscK4TkOI5tX+O8/KegtJt3kOK07OIrJ2QDAAw==", + "requires": { + "@algolia/cache-common": "4.17.2" + } + }, + "@algolia/client-account": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.17.2.tgz", + "integrity": "sha512-doSk89pBPDpDyKJSHFADIGa2XSGrBCj3QwPvqtRJXDADpN+OjW+eTR8r4hEs/7X4GGfjfAOAES8JgDx+fZntYw==", + "requires": { + "@algolia/client-common": "4.17.2", + "@algolia/client-search": "4.17.2", + "@algolia/transporter": "4.17.2" + } + }, + "@algolia/client-analytics": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.17.2.tgz", + "integrity": "sha512-V+DcXbOtD/hKwAR3qGQrtlrJ3q2f9OKfx843q744o4m3xHv5ueCAvGXB1znPsdaUrVDNAImcgEgqwI9x7EJbDw==", + "requires": { + "@algolia/client-common": "4.17.2", + "@algolia/client-search": "4.17.2", + "@algolia/requester-common": "4.17.2", + "@algolia/transporter": "4.17.2" + } + }, + "@algolia/client-common": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.17.2.tgz", + "integrity": "sha512-gKBUnjxi0ukJYIJxVREYGt1Dmj1B3RBYbfGWi0dIPp1BC1VvQm+BOuNwsIwmq/x3MPO+sGuK978eKiP3tZDvag==", + "requires": { + "@algolia/requester-common": "4.17.2", + "@algolia/transporter": "4.17.2" + } + }, + "@algolia/client-personalization": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.17.2.tgz", + "integrity": "sha512-wc4UgOWxSYWz5wpuelNmlt895jA9twjZWM2ms17Ws8qCvBHF7OVGdMGgbysPB8790YnfvvDnSsWOv3CEj26Eow==", + "requires": { + "@algolia/client-common": "4.17.2", + "@algolia/requester-common": "4.17.2", + "@algolia/transporter": "4.17.2" + } + }, + "@algolia/client-search": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.17.2.tgz", + "integrity": "sha512-FUjIs+gRe0upJC++uVs4sdxMw15JxfkT86Gr/kqVwi9kcqaZhXntSbW/Fw959bIYXczjmeVQsilYvBWW4YvSZA==", + "requires": { + "@algolia/client-common": "4.17.2", + "@algolia/requester-common": "4.17.2", + "@algolia/transporter": "4.17.2" + } + }, + "@algolia/logger-common": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.17.2.tgz", + "integrity": "sha512-EfXuweUE+1HiSMsQidaDWA5Lv4NnStYIlh7PO5pLkI+sdhbMX0e5AO5nUAMIFM1VkEANes70RA8fzhP6OqCqQQ==" + }, + "@algolia/logger-console": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.17.2.tgz", + "integrity": "sha512-JuG8HGVlJ+l/UEDK4h2Y8q/IEmRjQz1J0aS9tf6GPNbGYiSvMr1DDdZ+hqV3bb1XE6wU8Ypex56HisWMSpnG0A==", + "requires": { + "@algolia/logger-common": "4.17.2" + } + }, + "@algolia/requester-browser-xhr": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.17.2.tgz", + "integrity": "sha512-FKI2lYWwksALfRt2OETFmGb5+P7WVc4py2Ai3H7k8FSfTLwVvs9WVVmtlx6oANQ8RFEK4B85h8DQJTJ29TDfmA==", + "requires": { + "@algolia/requester-common": "4.17.2" + } + }, + "@algolia/requester-common": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.17.2.tgz", + "integrity": "sha512-Rfim23ztAhYpE9qm+KCfCRo+YLJCjiiTG+IpDdzUjMpYPhUtirQT0A35YEd/gKn86YNyydxS9w8iRSjwKh+L0A==" + }, + "@algolia/requester-node-http": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.17.2.tgz", + "integrity": "sha512-E0b0kyCDMvUIhQmDNd/mH4fsKJdEEX6PkMKrYJjzm6moo+rP22tqpq4Rfe7DZD8OB6/LsDD3zs3Kvd+L+M5wwQ==", + "requires": { + "@algolia/requester-common": "4.17.2" + } + }, + "@algolia/transporter": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.17.2.tgz", + "integrity": "sha512-m8pXlz5OnNzjD1rcw+duCN4jG4yEzkJBsvKYMoN22Oq6rQwy1AY5muZ+IQUs4dL+A364CYkRMLRWhvXpCZ1x+g==", + "requires": { + "@algolia/cache-common": "4.17.2", + "@algolia/logger-common": "4.17.2", + "@algolia/requester-common": "4.17.2" + } + }, + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "dev": true, + "requires": { + "@babel/highlight": "^7.22.5" + } + }, + "@babel/compat-data": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", + "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", + "dev": true + }, + "@babel/core": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", + "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", + "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", + "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz", + "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "semver": "^6.3.0" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "dev": true, + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", + "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", + "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "dev": true + }, + "@babel/helpers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", + "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", + "dev": true, + "requires": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==" + }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.5.tgz", + "integrity": "sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + } + }, + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/traverse": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", + "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, + "@docsearch/css": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.1.tgz", + "integrity": "sha512-2Pu9HDg/uP/IT10rbQ+4OrTQuxIWdKVUEdcw9/w7kZJv9NeHS6skJx1xuRiFyoGKwAzcHXnLp7csE99sj+O1YA==" + }, + "@docsearch/js": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.5.1.tgz", + "integrity": "sha512-EXi8de5njxgP6TV3N9ytnGRLG9zmBNTEZjR4VzwPcpPLbZxxTLG2gaFyJyKiFVQxHW/DPlMrDJA3qoRRGEkgZw==", + "requires": { + "@docsearch/react": "3.5.1", + "preact": "^10.0.0" + } + }, + "@docsearch/react": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.1.tgz", + "integrity": "sha512-t5mEODdLzZq4PTFAm/dvqcvZFdPDMdfPE5rJS5SC8OUq9mPzxEy6b+9THIqNM9P0ocCb4UC5jqBrxKclnuIbzQ==", + "requires": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.5.1", + "algoliasearch": "^4.0.0" + } + }, + "@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "optional": true + }, + "@jqw755/q-ui": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@jqw755/q-ui/-/q-ui-0.0.3.tgz", + "integrity": "sha512-bhoIFh9e5Wm6wD4AFjwq7S4ml1KpEB+wBXSUEp0l/AoI41F2T6mbIkW6RvVq9Rm3pZ9jZoEq1P+5F/zolX1MJw==", + "requires": { + "@jqw755/q-ui": "0.0.2", + "sass": "^1.63.3", + "vue": "^3.3.4", + "vue-router": "^4.2.2" + }, + "dependencies": { + "@jqw755/q-ui": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@jqw755/q-ui/-/q-ui-0.0.2.tgz", + "integrity": "sha512-MG8U5aWoO6mFtAhnjUWx30KWJm0OI8HRDZeGFHV3HoZmq3aFTWYwQpp/8CzFmPXioyAC5WNY0gvR4a3TUCJrVA==", + "requires": { + "sass": "^1.63.3", + "terser": "^5.18.0", + "vitepress": "^1.0.0-beta.2", + "vue": "^3.3.4", + "vue-router": "^4.2.2" + } + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + } + } + }, + "@tsconfig/node18": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node18/-/node18-2.0.1.tgz", + "integrity": "sha512-UqdfvuJK0SArA2CxhKWwwAWfnVSXiYe63bVpMutc27vpngCntGUZQETO24pEJ46zU6XM+7SpqYoMgcO3bM11Ew==", + "dev": true + }, + "@types/node": { + "version": "18.16.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.18.tgz", + "integrity": "sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw==", + "devOptional": true + }, + "@types/web-bluetooth": { + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.17.tgz", + "integrity": "sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==" + }, + "@vitejs/plugin-vue": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", + "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==", + "requires": {} + }, + "@vitejs/plugin-vue-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.0.1.tgz", + "integrity": "sha512-+Jb7ggL48FSPS1uhPnJbJwWa9Sr90vQ+d0InW+AhBM22n+cfuYqJZDckBc+W3QSHe1WDvewMZfa4wZOtk5pRgw==", + "dev": true, + "requires": { + "@babel/core": "^7.20.7", + "@babel/plugin-transform-typescript": "^7.20.7", + "@vue/babel-plugin-jsx": "^1.1.1" + } + }, + "@volar/language-core": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.7.8.tgz", + "integrity": "sha512-TPklg4c2e/f1xB/MGZEiQc3AWG+dH64ZfBlYjFB8nNaWJt4Z4k+IHBhmaP52APG+5PHFerwiWI9oF002RrRTPA==", + "dev": true, + "requires": { + "@volar/source-map": "1.7.8" + } + }, + "@volar/source-map": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.7.8.tgz", + "integrity": "sha512-g2dtC2kOghvfzMDWeODIo4HO1Ml4hxzPTZyAFDz+YhRF9HjZYJSCaWaVuPZ+z0kY+T2daOHYA10GdrWQ5q0teA==", + "dev": true, + "requires": { + "muggle-string": "^0.3.1" + } + }, + "@volar/typescript": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.7.8.tgz", + "integrity": "sha512-NDcI5ZQcdr8kgxzMQrhSSWIM8Tl0MbMFrkvJPTjfm2rdAQZPFT8zv3LrEW9Fqh0e9z2YbCry7jr4a/GShBqeDA==", + "dev": true, + "requires": { + "@volar/language-core": "1.7.8" + } + }, + "@vue/babel-helper-vue-transform-on": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", + "dev": true + }, + "@vue/babel-plugin-jsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz", + "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@vue/babel-helper-vue-transform-on": "^1.0.2", + "camelcase": "^6.0.0", + "html-tags": "^3.1.0", + "svg-tags": "^1.0.0" + } + }, + "@vue/compiler-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", + "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", + "requires": { + "@babel/parser": "^7.21.3", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", + "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", + "requires": { + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "@vue/compiler-sfc": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", + "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", + "requires": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-ssr": "3.3.4", + "@vue/reactivity-transform": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0", + "postcss": "^8.1.10", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-ssr": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", + "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", + "requires": { + "@vue/compiler-dom": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "@vue/devtools-api": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + }, + "@vue/language-core": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.1.tgz", + "integrity": "sha512-pumv3k4J7P58hVh4YGRM9Qz3HaAr4TlFWM9bnVOkZ/2K9o2CK1lAP2y9Jw+Z0+mNL4F2uWQqnAPzj3seLyfpDA==", + "dev": true, + "requires": { + "@volar/language-core": "1.7.8", + "@volar/source-map": "1.7.8", + "@vue/compiler-dom": "^3.3.0", + "@vue/reactivity": "^3.3.0", + "@vue/shared": "^3.3.0", + "minimatch": "^9.0.0", + "muggle-string": "^0.3.1", + "vue-template-compiler": "^2.7.14" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "@vue/reactivity": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", + "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", + "requires": { + "@vue/shared": "3.3.4" + } + }, + "@vue/reactivity-transform": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", + "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", + "requires": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.4", + "@vue/shared": "3.3.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.0" + } + }, + "@vue/runtime-core": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", + "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", + "requires": { + "@vue/reactivity": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "@vue/runtime-dom": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", + "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", + "requires": { + "@vue/runtime-core": "3.3.4", + "@vue/shared": "3.3.4", + "csstype": "^3.1.1" + } + }, + "@vue/server-renderer": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", + "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", + "requires": { + "@vue/compiler-ssr": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "@vue/shared": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", + "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" + }, + "@vue/tsconfig": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.4.0.tgz", + "integrity": "sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg==", + "dev": true + }, + "@vue/typescript": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.1.tgz", + "integrity": "sha512-nQpo55j/roie8heCfqyXHnyayqD5+p4/0fzfxH4ZuHf7NSBQS791PNv7ztp2CCOjnGAiaiCMdtC9rc6oriyPUg==", + "dev": true, + "requires": { + "@volar/typescript": "1.7.8", + "@vue/language-core": "1.8.1" + } + }, + "@vueuse/core": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.2.0.tgz", + "integrity": "sha512-aHBnoCteIS3hFu7ZZkVB93SanVDY6t4TIb7XDLxJT/HQdAZz+2RdIEJ8rj5LUoEJr7Damb5+sJmtpCwGez5ozQ==", + "requires": { + "@types/web-bluetooth": "^0.0.17", + "@vueuse/metadata": "10.2.0", + "@vueuse/shared": "10.2.0", + "vue-demi": ">=0.14.5" + }, + "dependencies": { + "vue-demi": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", + "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", + "requires": {} + } + } + }, + "@vueuse/integrations": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.2.0.tgz", + "integrity": "sha512-e+MIRMi2Zo8DZKXszut8iVoZGlf07XXoaDt27W0DRJVYPdods50MV8Bnla5Tnuil0gHY/W5mMcqiQre9Xb246Q==", + "requires": { + "@vueuse/core": "10.2.0", + "@vueuse/shared": "10.2.0", + "vue-demi": ">=0.14.5" + }, + "dependencies": { + "vue-demi": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", + "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", + "requires": {} + } + } + }, + "@vueuse/metadata": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.2.0.tgz", + "integrity": "sha512-IR7Mkq6QSgZ38q/2ZzOt+Zz1OpcEsnwE64WBumDQ+RGKrosFCtUA2zgRrOqDEzPBXrVB+4HhFkwDjQMu0fDBKw==" + }, + "@vueuse/shared": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.2.0.tgz", + "integrity": "sha512-dIeA8+g9Av3H5iF4NXR/sft4V6vys76CpZ6hxwj8eMXybXk2WRl3scSsOVi+kQ9SX38COR7AH7WwY83UcuxbSg==", + "requires": { + "vue-demi": ">=0.14.5" + }, + "dependencies": { + "vue-demi": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", + "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", + "requires": {} + } + } + }, + "acorn": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", + "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==" + }, + "algoliasearch": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.17.2.tgz", + "integrity": "sha512-VFu43JJNYIW74awp7oeQcQsPcxOhd8psqBDTfyNO2Zt6L1NqnNMTVnaIdQ+8dtKqUDBqQZp0szPxECvX8CK2Fg==", + "requires": { + "@algolia/cache-browser-local-storage": "4.17.2", + "@algolia/cache-common": "4.17.2", + "@algolia/cache-in-memory": "4.17.2", + "@algolia/client-account": "4.17.2", + "@algolia/client-analytics": "4.17.2", + "@algolia/client-common": "4.17.2", + "@algolia/client-personalization": "4.17.2", + "@algolia/client-search": "4.17.2", + "@algolia/logger-common": "4.17.2", + "@algolia/logger-console": "4.17.2", + "@algolia/requester-browser-xhr": "4.17.2", + "@algolia/requester-common": "4.17.2", + "@algolia/requester-node-http": "4.17.2", + "@algolia/transporter": "4.17.2" + } + }, + "ansi-sequence-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz", + "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "body-scroll-lock": { + "version": "4.0.0-beta.0", + "resolved": "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz", + "integrity": "sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001505", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001505.tgz", + "integrity": "sha512-jaAOR5zVtxHfL0NjZyflVTtXm3D3J9P15zSJ7HmQF8dSKGA6tqzQq+0ZI3xkjyQj46I4/M0K2GbMpcAFOcbr3A==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "electron-to-chromium": { + "version": "1.4.435", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.435.tgz", + "integrity": "sha512-B0CBWVFhvoQCW/XtjRzgrmqcgVWg6RXOEM/dK59+wFV93BFGR6AeNKc4OyhM+T3IhJaOOG8o/V+33Y2mwJWtzw==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "requires": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "focus-trap": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.4.3.tgz", + "integrity": "sha512-BgSSbK4GPnS2VbtZ50VtOv1Sti6DIkj3+LkVjiWMNjLeAp1SH1UlLx3ULu/DCu4vq5R4/uvTm+zrvsMsuYmGLg==", + "requires": { + "tabbable": "^6.1.2" + } + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true + }, + "immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" + }, + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "magic-string": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", + "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + }, + "mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==" + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minisearch": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.1.0.tgz", + "integrity": "sha512-PNxA/X8pWk+TiqPbsoIYH0GQ5Di7m6326/lwU/S4mlo4wGQddIcf/V//1f9TB0V4j59b57b+HZxt8h3iMROGvg==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "muggle-string": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", + "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "dev": true + }, + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + } + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + }, + "postcss": { + "version": "8.4.24", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", + "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "preact": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.15.1.tgz", + "integrity": "sha512-qs2ansoQEwzNiV5eAcRT1p1EC/dmEzaATVDJNiB3g2sRDWdA7b7MurXdJjB2+/WQktGWZwxvDrnuRFbWuIr64g==" + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + } + }, + "resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "requires": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "rollup": { + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.25.1.tgz", + "integrity": "sha512-tywOR+rwIt5m2ZAWSe5AIJcTat8vGlnPFAv15ycCrw33t6iFsXZ6mzHVFh2psSjxQPmI+xgzMZZizUAukBI4aQ==", + "requires": { + "fsevents": "~2.3.2" + } + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "sass": { + "version": "1.63.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.5.tgz", + "integrity": "sha512-Q6c5gs482oezdAp+0fWF9cRisvpy7yfYb64knID0OE8AnMgtkluRPfpGMFjeD4/+M4+6QpJZCU6JRSxbjiktkg==", + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "search-insights": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.6.0.tgz", + "integrity": "sha512-vU2/fJ+h/Mkm/DJOe+EaM5cafJv/1rRTZpGJTuFPf/Q5LjzgMDsqPdSaZsAe+GAWHHsfsu+rQSAn6c8IGtBEVw==", + "peer": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true + }, + "shiki": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.2.tgz", + "integrity": "sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==", + "requires": { + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, + "string.prototype.padend": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz", + "integrity": "sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "tabbable": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.1.2.tgz", + "integrity": "sha512-qCN98uP7i9z0fIS4amQ5zbGBOq+OSigYeGvPy7NDk8Y9yncqDZ9pRPgfsc2PJIVM9RrJj7GIfuRgmjoUU9zTHQ==" + }, + "terser": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.1.tgz", + "integrity": "sha512-j1n0Ao919h/Ai5r43VAnfV/7azUYW43GPxK7qSATzrsERfW7+y2QW9Cp9ufnRF5CQUWbnLSo7UJokSWCqg4tsQ==", + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vite": { + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", + "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", + "requires": { + "esbuild": "^0.17.5", + "fsevents": "~2.3.2", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + } + }, + "vitepress": { + "version": "1.0.0-beta.3", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-beta.3.tgz", + "integrity": "sha512-GR5Pvr/o343NN1M4Na1shhDYZRrQbjmLq7WE0lla0H8iDPAsHE8agTHLWfu3FWx+3q2KA29sv16+0O9RQKGjlA==", + "requires": { + "@docsearch/css": "^3.5.0", + "@docsearch/js": "^3.5.0", + "@vitejs/plugin-vue": "^4.2.3", + "@vue/devtools-api": "^6.5.0", + "@vueuse/core": "^10.1.2", + "@vueuse/integrations": "^10.1.2", + "body-scroll-lock": "4.0.0-beta.0", + "focus-trap": "^7.4.3", + "mark.js": "8.11.1", + "minisearch": "^6.1.0", + "shiki": "^0.14.2", + "vite": "^4.3.9", + "vue": "^3.3.4" + } + }, + "vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==" + }, + "vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==" + }, + "vue": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", + "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", + "requires": { + "@vue/compiler-dom": "3.3.4", + "@vue/compiler-sfc": "3.3.4", + "@vue/runtime-dom": "3.3.4", + "@vue/server-renderer": "3.3.4", + "@vue/shared": "3.3.4" + } + }, + "vue-router": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.2.tgz", + "integrity": "sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ==", + "requires": { + "@vue/devtools-api": "^6.5.0" + } + }, + "vue-template-compiler": { + "version": "2.7.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", + "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "vue-tsc": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.1.tgz", + "integrity": "sha512-GxBQrcb0Qvyrj1uZqnTXQyWbXdNDRY2MTa+r7ESgjhf+WzBSdxZfkS3KD/C3WhKYG+aN8hf44Hp5Gqzb6PehAA==", + "dev": true, + "requires": { + "@vue/language-core": "1.8.1", + "@vue/typescript": "1.8.1", + "semver": "^7.3.8" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..6c44d8f --- /dev/null +++ b/package.json @@ -0,0 +1,64 @@ +{ + "name": "@jqw755/q-ui", + "version": "0.0.3", + "private": false, + "type": "module", + "files": [ + "dist" + ], + "main": "./dist/q-ui.umd.cjs", + "module": "./dist/q-ui.js", + "exports": { + "./dist/style.css": "./dist/style.css", + "./css": "./dist/style.css", + ".": { + "import": "./dist/q-ui.js", + "require": "./dist/q-ui.umd.cjs" + } + }, + "author": "jingqw", + "license": "ISC", + "keywords": [ + "Vue3", + "TS", + "Vite", + "Vue ui", + "UI" + ], + "homepage": "https://github.com/jqw755/q-ui#readme", + "description": "q-ui", + "scripts": { + "dev": "vite --port 9000 --open --force", + "docs:dev": "vitepress dev docs --port 8000 --open", + "docs:build": "vitepress build docs", + "docs:deploy": "sh script/deploy.sh", + "pub": "sh script/publish.sh", + "build": "run-p type-check build-only", + "preview": "vite preview", + "build-only": "vite build --mode prod", + "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + }, + "dependencies": { + "@jqw755/q-ui": "^0.0.3", + "sass": "^1.63.3", + "vue": "^3.3.4", + "vue-router": "^4.2.2" + }, + "devDependencies": { + "@tsconfig/node18": "^2.0.1", + "@types/node": "^18.16.17", + "@vitejs/plugin-vue": "^4.2.3", + "@vitejs/plugin-vue-jsx": "^3.0.1", + "@vue/tsconfig": "^0.4.0", + "vitepress": "^1.0.0-beta.2", + "npm-run-all": "^4.1.5", + "terser": "^5.18.0", + "typescript": "~5.0.4", + "vite": "^4.3.9", + "vue-tsc": "^1.6.5" + }, + "repository": { + "type": "git", + "url": "https://github.com/jqw755/q-ui" + } +} diff --git a/packages/Breadcrumb/index.scss b/packages/Breadcrumb/index.scss new file mode 100644 index 0000000..e27117d --- /dev/null +++ b/packages/Breadcrumb/index.scss @@ -0,0 +1,45 @@ +.m-breadcrumb { + display: flex; + align-items: center; + .m-bread { + display: inline-flex; + align-items: center; + line-height: 1.5; + .u-route { + color: rgba(0, 0, 0, 0.45); + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + cursor: pointer; + padding: 0 4px; + border-radius: 4px; + transition: color 0.2s, background-color 0.2s; + &:hover { + background-color: rgba(0, 0, 0, 0.05); + color: rgba(0, 0, 0, 0.88); + } + } + .active { + color: rgba(0, 0, 0, 0.88); + cursor: default; + &:hover { + background-color: transparent; + } + } + .u-separator { + margin: 0 4px; + color: rgba(0, 0, 0, 0.45); + } + .u-arrow { + width: 12px; + height: 12px; + fill: rgba(0, 0, 0, 0.45); + } + } + .assist { + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle; + } +} diff --git a/packages/Breadcrumb/index.ts b/packages/Breadcrumb/index.ts new file mode 100644 index 0000000..9cceba4 --- /dev/null +++ b/packages/Breadcrumb/index.ts @@ -0,0 +1,9 @@ +import type { App } from "vue" +import QBreadcrumb from "./index.vue" + +// 使用install方法,在app.use挂载 +QBreadcrumb.install = (app: App) => { + app.component(QBreadcrumb.name, QBreadcrumb) +} + +export default QBreadcrumb diff --git a/packages/Breadcrumb/index.vue b/packages/Breadcrumb/index.vue new file mode 100644 index 0000000..418c9c2 --- /dev/null +++ b/packages/Breadcrumb/index.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/packages/Button/index.scss b/packages/Button/index.scss new file mode 100644 index 0000000..c3f5ead --- /dev/null +++ b/packages/Button/index.scss @@ -0,0 +1,260 @@ +$h-default: 32px; +$h-small: 20px; +$h-large: 48px; +$white: #fff; +$default-color: #333; +$info-color: #909399; +$success-color: #85ce61; +$warning-color: #f0a020; +$error-color: #d03050; +$default-border-color: #d9d9d9; +$radius: 3px; + +.q-button { + box-sizing: border-box; + height: $h-default; + background-color: #fff; + padding: 0 12px; + cursor: pointer; + display: inline-flex; + justify-content: center; + align-items: center; + white-space: nowrap; + border-radius: $radius; + box-shadow: 0 1px 0 fade-out(black, 0.95); + transition: all 250ms; + color: $default-color; + border: 1px solid $default-border-color; + user-select: none; + + &:focus { + outline: none; + } + + &::-moz-focus-inner { + border: 0; + } + + &.q-size-large { + font-size: 24px; + height: $h-large; + padding: 0 16px; + } + &.q-size-small { + font-size: 12px; + height: $h-small; + padding: 0 8px; + } + + &.is-round.q-size-default { + border-radius: calc($h-default / 2); + } + &.is-round.q-size-large { + border-radius: calc($h-large / 2); + } + &.is-round.q-size-small { + border-radius: calc($h-small / 2); + } + + &.q-type-default { + &:hover { + color: $primary-color; + border-color: $primary-color; + } + &.is-disabled { + cursor: not-allowed; + background: #fff; + border-color: #e4e7ed; + &:hover { + color: $default-color; + background: #fff; + border-color: #e4e7ed; + } + } + &:active { + color: darken($primary-color, 20%); + border-color: darken($primary-color, 20%); + } + &.q-type-dashed { + border-style: dashed; + } + > .q-loadingIndicator { + border-color: $default-color $default-color $default-color transparent; + } + } + &.q-type-primary { + background-color: $primary-color; + border-color: $primary-color; + color: $white; + + &:hover { + background: lighten($primary-color, 20%); + border-color: lighten($primary-color, 20%); + } + &:active { + background-color: darken($primary-color, 20%); + border-color: darken($primary-color, 20%); + } + + &.is-disabled { + cursor: not-allowed; + background: lighten($primary-color, 20%); + border-color: lighten($primary-color, 20%); + &:hover { + background: lighten($primary-color, 20%); + border-color: lighten($primary-color, 20%); + } + } + + &.q-type-dashed { + border-style: dashed; + background-color: $white !important; + color: $primary-color; + } + } + + &.q-type-info { + background-color: $info-color; + border-color: $info-color; + color: $white; + &:hover { + background: lighten($info-color, 20%); + border-color: lighten($info-color, 20%); + } + &:active { + background-color: darken($info-color, 20%); + border-color: darken($info-color, 20%); + } + + &.is-disabled { + cursor: not-allowed; + background: lighten($info-color, 20%); + border-color: lighten($info-color, 20%); + &:hover { + background: lighten($info-color, 20%); + border-color: lighten($info-color, 20%); + } + } + + &.q-type-dashed { + border-style: dashed; + background-color: $white !important; + color: $info-color; + } + } + + &.q-type-success { + background-color: $success-color; + border-color: $success-color; + color: $white; + &:hover { + background: lighten($success-color, 20%); + border-color: lighten($success-color, 20%); + } + &:active { + background-color: darken($success-color, 20%); + border-color: darken($success-color, 20%); + } + + &.is-disabled { + cursor: not-allowed; + background: lighten($success-color, 20%); + border-color: lighten($success-color, 20%); + &:hover { + background: lighten($success-color, 20%); + border-color: lighten($success-color, 20%); + } + } + + &.q-type-dashed { + border-style: dashed; + background-color: $white !important; + color: $success-color; + } + } + + &.q-type-warning { + background-color: $warning-color; + border-color: $warning-color; + color: $white; + &:hover { + background: lighten($warning-color, 20%); + border-color: lighten($warning-color, 20%); + } + &:active { + background-color: darken($warning-color, 20%); + border-color: darken($warning-color, 20%); + } + + &.is-disabled { + cursor: not-allowed; + background: lighten($warning-color, 20%); + border-color: lighten($warning-color, 20%); + &:hover { + background: lighten($warning-color, 20%); + border-color: lighten($warning-color, 20%); + } + } + + &.q-type-dashed { + border-style: dashed; + background-color: $white !important; + color: $warning-color; + } + } + + &.q-type-error { + background-color: $error-color; + border-color: $error-color; + color: $white; + &:hover { + background: lighten($error-color, 20%); + border-color: lighten($error-color, 20%); + } + &:active { + background-color: darken($error-color, 20%); + border-color: darken($error-color, 20%); + } + + &.is-disabled { + cursor: not-allowed; + background: lighten($error-color, 20%); + border-color: lighten($error-color, 20%); + &:hover { + background: lighten($error-color, 20%); + border-color: lighten($error-color, 20%); + } + } + + &.q-type-dashed { + border-style: dashed; + background-color: $white !important; + color: $error-color; + } + } + + > .q-loadingIndicator { + width: 14px; + height: 14px; + display: inline-block; + margin-right: 5px; + border-radius: 50%; + border-color: $white $white $white transparent; + border-style: solid; + border-width: 2px; + animation: q-spin 1s infinite linear; + } + + &.is-loading { + pointer-events: none !important; + } +} + +@keyframes q-spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} diff --git a/packages/Button/index.ts b/packages/Button/index.ts new file mode 100644 index 0000000..4c8076e --- /dev/null +++ b/packages/Button/index.ts @@ -0,0 +1,9 @@ +import type { App } from "vue" +import QButton from "./index.vue" + +// 使用install方法,在app.use挂载 +QButton.install = (app: App) => { + app.component(QButton.name, QButton) +} + +export default QButton diff --git a/packages/Button/index.vue b/packages/Button/index.vue new file mode 100644 index 0000000..581c262 --- /dev/null +++ b/packages/Button/index.vue @@ -0,0 +1,59 @@ + + + + + + diff --git a/packages/Select/index.scss b/packages/Select/index.scss new file mode 100644 index 0000000..ad266a6 --- /dev/null +++ b/packages/Select/index.scss @@ -0,0 +1,140 @@ +.m-select { + position: relative; + display: inline-block; + font-size: 14px; + font-weight: 400; + color: rgba(0, 0, 0, 0.65); +} +.fade-enter-active, +.fade-leave-active { + transform: scaleY(1); + transform-origin: 0% 0%; + opacity: 1; + transition: all 0.3s; +} +.fade-enter-from { + transform: scaleY(0.8); + transform-origin: 0% 0%; + opacity: 0; +} +.fade-leave-to { + transform: scaleY(1); + opacity: 0; +} +.m-select-wrap { + position: relative; + z-index: 8; + display: inline-block; + border: 1px solid #d9d9d9; + border-radius: 4px; + background-color: #fff; + cursor: pointer; + transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); + .u-select-input { + display: block; + text-align: left; + margin-left: 11px; + margin-right: 27px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .placeholder { + color: #bfbfbf; + } + .triangle { + position: absolute; + top: 0; + bottom: 0; + margin: auto 0; + right: 11px; + width: 12px; + height: 12px; + fill: rgba(0, 0, 0, 0.25); + opacity: 0; + pointer-events: none; + transition: all 0.3s ease-in-out; + } + .rotate { + transform: rotate(180deg); + -webkit-transform: rotate(180deg); + } + .close { + position: absolute; + top: 0; + bottom: 0; + margin: auto 0; + right: 11px; + width: 12px; + height: 12px; + fill: rgba(140, 140, 140, 0.6); + opacity: 0; + pointer-events: none; + transition: all 0.3s ease-in-out; + &:hover { + fill: rgba(100, 100, 100, 0.8); + } + } + .show { + opacity: 1; + pointer-events: auto; + } +} +.hover { + // 悬浮时样式 + &:hover { + border-color: $primary-color; + } +} +.focus { + // 激活时样式 + border-color: $primary-color; + // fade()函数降低颜色变量透明度 + box-shadow: 0 0 0 2px fade($primary-color, 20%); +} +.disabled { + // 下拉禁用样式 + color: rgba(0, 0, 0, 0.25); + background: #f5f5f5; + user-select: none; + cursor: not-allowed; +} +.m-options-panel { + position: absolute; + z-index: 9; + overflow: auto; + background: #fff; + padding: 4px 0; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 15%); + .u-option { + // 下拉项默认样式 + text-align: left; + position: relative; + display: block; + padding: 5px 12px; + font-weight: 400; + line-height: inherit; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + cursor: pointer; + transition: background 0.3s ease; + } + .option-selected { + // 被选中的下拉项样式 + font-weight: 600; + background: #fafafa; + } + .option-hover { + // 悬浮时的下拉项样式 + background: #e6f7ff; + // background: saturate(fade($primary-color, 12%), 30%); + } + .option-disabled { + // 禁用某个下拉选项时的样式 + color: rgba(0, 0, 0, 0.25); + user-select: none; + cursor: not-allowed; + } +} diff --git a/packages/Select/index.ts b/packages/Select/index.ts new file mode 100644 index 0000000..1d4d1d9 --- /dev/null +++ b/packages/Select/index.ts @@ -0,0 +1,9 @@ +import type { App } from "vue" +import QSelect from "./index.vue" + +// 使用install方法,在app.use挂载 +QSelect.install = (app: App) => { + app.component(QSelect.name, QSelect) +} + +export default QSelect diff --git a/packages/Select/index.vue b/packages/Select/index.vue new file mode 100644 index 0000000..e11f0d3 --- /dev/null +++ b/packages/Select/index.vue @@ -0,0 +1,193 @@ + + + + diff --git a/packages/index.ts b/packages/index.ts new file mode 100644 index 0000000..762fdf7 --- /dev/null +++ b/packages/index.ts @@ -0,0 +1,28 @@ +import type { App } from "vue" +import "./style/index.scss" +import { dateFormat, throttle, debounce, copyText, isArrayRepeat, downloadFile } from "./utils" +import QButton from "./Button" +import QSelect from "./Select" +import QBreadcrumb from "./Breadcrumb" + +const components = [QButton, QSelect, QBreadcrumb] + +// 定义 install 方法 +const install = (app: App): void => { + // 遍历注册所有组件 + /* + component.__name ts报错 + Argument of type 'string | undefined' is not assignable to parameter of type 'string'. + + Type 'undefined' is not assignable to type 'string'.ts(2345) + 解决方式一:使用// @ts-ignore + 解决方式二:使用类型断言 尖括号语法(component.__name) 或 as语法(component.__name as string) + */ + components.forEach((component) => app.component(component.name, component)) +} +export { dateFormat, throttle, debounce, copyText, isArrayRepeat, downloadFile } +export { QButton, QSelect, QBreadcrumb } +const QUI = { + install, +} +export default QUI diff --git a/packages/style/index.scss b/packages/style/index.scss new file mode 100644 index 0000000..ae7bd41 --- /dev/null +++ b/packages/style/index.scss @@ -0,0 +1,41 @@ +// 主题色 +$primary-color: #1bb760; +// 普通边框色 +$border-color: #dcdfe6; +$listWitdh: 5, 10, 15, 20, 25, 30, 40, 50, 60, 100; +$listMarginPadding: 0, 2, 5, 8, 10, 12, 14, 15, 16, 18, 20, 24, 25, 30, 36, 40, 50, 100; + +@each $item in $listWitdh { + .w#{$item} { + width: $item * 1%; + } +} + +@each $item in $listMarginPadding { + /* margin 外边距 */ + .ml-#{$item} { + margin-left: #{$item}px; + } + .mr-#{$item} { + margin-right: #{$item}px; + } + .mt-#{$item} { + margin-top: #{$item}px; + } + .mb-#{$item} { + margin-bottom: #{$item}px; + } + /* padding 内边距 */ + .pl-#{$item} { + padding-left: #{$item}px; + } + .pr-#{$item} { + padding-right: #{$item}px; + } + .pt-#{$item} { + padding-top: #{$item}px; + } + .pb-#{$item} { + padding-bottom: #{$item}px; + } +} diff --git a/packages/utils/index.ts b/packages/utils/index.ts new file mode 100644 index 0000000..2fc16af --- /dev/null +++ b/packages/utils/index.ts @@ -0,0 +1,111 @@ +/* + value: 13位时间戳 | new Date() | Date() + console.log(dateFormat(1680227496788, 'YYYY-MM-DD HH:mm:ss')) + format => YY:年,M:月,D:日,H:时,m:分钟,s:秒,SSS:毫秒 +*/ +export function dateFormat(time: number | string | Date = Date.now(), fmt = "yyyy-MM-dd hh:mm:ss"): string { + let date = new Date(time) + let o = { + "M+": date.getMonth() + 1, //月份 + "d+": date.getDate(), //日 + "h+": date.getHours(), //小时 + "m+": date.getMinutes(), //分 + "s+": date.getSeconds(), //秒 + "q+": Math.floor((date.getMonth() + 3) / 3), //季度 + S: date.getMilliseconds(), //毫秒 + } + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)) + for (let k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)) + } + } + return fmt +} + +// 节流函数throttle +export function throttle(fn: Function, delay = 300): any { + let timer: number | null + return function () { + if (timer) { + return + } + timer = setTimeout(() => { + fn() + timer = null + }, delay) + } +} +// 防抖函数debounce +export function debounce(fn: Function, delay = 300): any { + // timer 是在闭包中的 + let timer: number | null + return function () { + if (timer) { + clearTimeout(timer) + } + timer = setTimeout(() => { + fn() + timer = null + }, delay) + } +} + +// 复制文本 +export function copyText(text: string): any { + return new Promise((resolve) => { + // 创建input框获取需要复制的文本内容 + const copyInput = document.createElement("input") + copyInput.value = text + document.body.appendChild(copyInput) + copyInput.select() + document.execCommand("copy") + copyInput.remove() + resolve(true) + }) +} + +// 判断数组中是否有重复项 +export function isArrayRepeat(arr: []): boolean { + var hash = {} + for (var i in arr) { + if (hash[arr[i]]) { + return true + } + hash[arr[i]] = true + } + return false +} + +/* + 下载文件并自定义文件名 + url: 文件地址 + name: 自定义文件名,未传时,从文件地址中自动获取文件名称 +*/ +export function downloadFile(url: string, name: string) { + var fileName = "" + if (name) { + fileName = name + } else { + const res = url.split("?")[0].split("/") + fileName = res[res.length - 1] + } + var xhr = new XMLHttpRequest() + xhr.open("GET", url, true) + xhr.responseType = "blob" + xhr.onload = function () { + if (xhr.status === 200) { + const blob = xhr.response + const link = document.createElement("a") + const body = document.querySelector("body") + link.href = window.URL.createObjectURL(blob) + link.download = fileName + link.style.display = "none" + body?.appendChild(link) + link.click() + body?.removeChild(link) + window.URL.revokeObjectURL(link.href) + } + } + xhr.send() +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/script/deploy.sh b/script/deploy.sh new file mode 100644 index 0000000..39b19aa --- /dev/null +++ b/script/deploy.sh @@ -0,0 +1,28 @@ +# /bin/bash +#用于打包静态网站,并部署到 Github + +# 确保脚本抛出遇到的错误 +set -e + +# 重新打包组件库 + +npm build + +# 打包生成静态文件 +npm docs:build + +# 进入待发布的 dist/ 目录 +cd docs/.vitepress/dist + +git init +git add . +git commit -m 'deploy' + +# 部署到 https://.github.io/ +git push -f git@github.com:jqw755/q-ui.git master:github-pages + +# 提交所有代码到github +cd ../ +git add . +git cm -m 'update' +git push diff --git a/script/publish.sh b/script/publish.sh new file mode 100644 index 0000000..9d96589 --- /dev/null +++ b/script/publish.sh @@ -0,0 +1,29 @@ +# /bin/bash +# 需提前登录 npm 账户,否则无法直接发布 +# 用于打包升级组件库,并发布到npm,同时自动升级项目内组件库依赖版本到最新,只需新增version版本号之后执行:sh publish.sh + +# 确保脚本抛出遇到的错误 +set -e + +# 读取package.json中的version +# version=`jq -r .version package.json` + + # 打包构建 +npm build + + # 提交代码到github +git add . +git commit -m "update" +git push + + # 发布到npm,pnpm(高性能的npm) +npm publish + +# 升级 q-ui 依赖版本 +npm up q-ui + +# 提交版本更新代码到github +git add . +git cm -m "update" +git push + diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..18cabbf --- /dev/null +++ b/src/App.vue @@ -0,0 +1,18 @@ + + + + + diff --git a/src/assets/base.css b/src/assets/base.css new file mode 100644 index 0000000..216996e --- /dev/null +++ b/src/assets/base.css @@ -0,0 +1,78 @@ +/* color palette from */ +:root { + --vt-c-white: #ffffff; + --vt-c-white-soft: #f8f8f8; + --vt-c-white-mute: #f2f2f2; + + --vt-c-black: #181818; + --vt-c-black-soft: #222222; + --vt-c-black-mute: #282828; + + --vt-c-indigo: #2c3e50; + + --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); + --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); + --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); + --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); + + --vt-c-text-light-1: var(--vt-c-indigo); + --vt-c-text-light-2: rgba(60, 60, 60, 0.66); + --vt-c-text-dark-1: var(--vt-c-white); + --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); +} + +/* semantic color variables for this project */ +:root { + --color-background: var(--vt-c-white); + --color-background-soft: var(--vt-c-white-soft); + --color-background-mute: var(--vt-c-white-mute); + + --color-border: var(--vt-c-divider-light-2); + --color-border-hover: var(--vt-c-divider-light-1); + + --color-heading: var(--vt-c-text-light-1); + --color-text: var(--vt-c-text-light-1); + + --section-gap: 160px; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--vt-c-black); + --color-background-soft: var(--vt-c-black-soft); + --color-background-mute: var(--vt-c-black-mute); + + --color-border: var(--vt-c-divider-dark-2); + --color-border-hover: var(--vt-c-divider-dark-1); + + --color-heading: var(--vt-c-text-dark-1); + --color-text: var(--vt-c-text-dark-2); + } +} + +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} + +body { + min-height: 100vh; + color: var(--color-text); + background: var(--color-background); + transition: color 0.5s, background-color 0.5s; + line-height: 1.6; + font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", + "Droid Sans", "Helvetica Neue", sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +#app { + width: 100%; + height: 100vh; +} diff --git a/src/assets/logo.svg b/src/assets/logo.svg new file mode 100644 index 0000000..7565660 --- /dev/null +++ b/src/assets/logo.svg @@ -0,0 +1 @@ + diff --git a/src/assets/main.scss b/src/assets/main.scss new file mode 100644 index 0000000..ae7bd41 --- /dev/null +++ b/src/assets/main.scss @@ -0,0 +1,41 @@ +// 主题色 +$primary-color: #1bb760; +// 普通边框色 +$border-color: #dcdfe6; +$listWitdh: 5, 10, 15, 20, 25, 30, 40, 50, 60, 100; +$listMarginPadding: 0, 2, 5, 8, 10, 12, 14, 15, 16, 18, 20, 24, 25, 30, 36, 40, 50, 100; + +@each $item in $listWitdh { + .w#{$item} { + width: $item * 1%; + } +} + +@each $item in $listMarginPadding { + /* margin 外边距 */ + .ml-#{$item} { + margin-left: #{$item}px; + } + .mr-#{$item} { + margin-right: #{$item}px; + } + .mt-#{$item} { + margin-top: #{$item}px; + } + .mb-#{$item} { + margin-bottom: #{$item}px; + } + /* padding 内边距 */ + .pl-#{$item} { + padding-left: #{$item}px; + } + .pr-#{$item} { + padding-right: #{$item}px; + } + .pt-#{$item} { + padding-top: #{$item}px; + } + .pb-#{$item} { + padding-bottom: #{$item}px; + } +} diff --git a/src/components/Markdown.vue b/src/components/Markdown.vue new file mode 100644 index 0000000..f000f49 --- /dev/null +++ b/src/components/Markdown.vue @@ -0,0 +1,13 @@ + + + diff --git a/src/components/Preview.vue b/src/components/Preview.vue new file mode 100644 index 0000000..2176c9e --- /dev/null +++ b/src/components/Preview.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/src/components/TopNav.vue b/src/components/TopNav.vue new file mode 100644 index 0000000..cd54e84 --- /dev/null +++ b/src/components/TopNav.vue @@ -0,0 +1,53 @@ + + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..3183da9 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,13 @@ +import { createApp } from "vue" +import "./assets/base.css" +import QUI from "../packages" + +import App from "./App.vue" +import router from "./router" + +const app = createApp(App) + +app.use(router) +app.use(QUI) + +app.mount("#app") diff --git a/src/markdown/getStarted.md b/src/markdown/getStarted.md new file mode 100644 index 0000000..e21ac5a --- /dev/null +++ b/src/markdown/getStarted.md @@ -0,0 +1,24 @@ +# 安装 + +``` +npm install @jqw755/q-ui +``` + +# 开始使用 + +安装成功后,在页面中写入下面的代码: + +``` + + + +``` diff --git a/src/markdown/intro.md b/src/markdown/intro.md new file mode 100644 index 0000000..476db79 --- /dev/null +++ b/src/markdown/intro.md @@ -0,0 +1,11 @@ +# Q UI + +Q UI 是一套基于 `Vue3` + `TypeScript` 开发的 UI 组件库。 + +总结前端 UI 组件库和介绍文档搭建的经验,同时封装一些项目中常用的组件,提高编码效率。 + +## 特性 + +本组件库的实现尽量不采用第三方库,主要提供 **按钮、** 等简洁易用的组件。 + +本组件库主要用于个人学习交流使用,不可用于生产环境。[源代码](https://github.com/jqw755/q-ui) 。 diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..ebc6559 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,11 @@ +import { h } from "vue" +import { createRouter, createWebHashHistory } from "vue-router" + +// import Button from "../views/doc/utton/index.vue" + +const router = createRouter({ + history: createWebHashHistory(), + routes: [], +}) + +export default router diff --git a/src/views/doc/QButton/QButton-basics.preview.vue b/src/views/doc/QButton/QButton-basics.preview.vue new file mode 100644 index 0000000..9cd9c2a --- /dev/null +++ b/src/views/doc/QButton/QButton-basics.preview.vue @@ -0,0 +1,9 @@ +基础用法 + diff --git a/src/views/doc/QButton/QButton-disabled.preview.vue b/src/views/doc/QButton/QButton-disabled.preview.vue new file mode 100644 index 0000000..9bc499d --- /dev/null +++ b/src/views/doc/QButton/QButton-disabled.preview.vue @@ -0,0 +1,9 @@ +禁用状态 + diff --git a/src/views/doc/QButton/QButton-loading.preview.vue b/src/views/doc/QButton/QButton-loading.preview.vue new file mode 100644 index 0000000..a28e2e8 --- /dev/null +++ b/src/views/doc/QButton/QButton-loading.preview.vue @@ -0,0 +1,9 @@ +加载状态 + diff --git a/src/views/doc/QButton/index.vue b/src/views/doc/QButton/index.vue new file mode 100644 index 0000000..03563a0 --- /dev/null +++ b/src/views/doc/QButton/index.vue @@ -0,0 +1,19 @@ + + + + + diff --git a/src/views/doc/QSelect/index.vue b/src/views/doc/QSelect/index.vue new file mode 100644 index 0000000..d64d2f5 --- /dev/null +++ b/src/views/doc/QSelect/index.vue @@ -0,0 +1,16 @@ + + + + + diff --git a/src/views/doc/index.vue b/src/views/doc/index.vue new file mode 100644 index 0000000..17813a1 --- /dev/null +++ b/src/views/doc/index.vue @@ -0,0 +1,38 @@ + + diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 0000000..8058962 --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,12 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue", "packages/**/*.ts", "packages/**/*.vue"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "composite": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..66b5e57 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,11 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..3e50050 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "extends": "@tsconfig/node18/tsconfig.json", + "include": ["vite.config.*", "vitest.config.*", "cypress.config.*", "nightwatch.conf.*", "playwright.config.*"], + "compilerOptions": { + "composite": true, + "module": "ESNext", + "types": ["node"] + } +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..0185aa1 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,68 @@ +import { fileURLToPath, URL } from "node:url" + +import { defineConfig } from "vite" +import vue from "@vitejs/plugin-vue" +import vueJsx from "@vitejs/plugin-vue-jsx" +import { resolve } from "path" + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue(), vueJsx()], + resolve: { + alias: { + "@": fileURLToPath(new URL("./src", import.meta.url)), + }, + }, + css: { + preprocessorOptions: { + scss: { + // 全局引入变量// 给导入的路径最后加上 ; + additionalData: `@import '@/assets/main.scss';`, + }, + }, + }, + // 构建为库 + build: { + lib: { + // 构建为库。如果指定了 build.lib,build.cssCodeSplit 会默认为 false。 + // __dirname的值是vite.config.ts文件所在目录 + entry: resolve(__dirname, "packages/index.ts"), // entry是必需的,因为库不能使用HTML作为入口。 + name: "QUI", // 暴露的全局变量 + // fileName: "@jqw755/q-ui", // 输出的包文件名,默认是package.json的name选项 + }, + rollupOptions: { + // 自定义底层的Rollup打包配置 + // https://rollupjs.org/configuration-options/ + // 确保外部化处理那些你不想打包进库的依赖 + external: ["vue" /*"swiper", "qrcode", "element-plus" */], + output: { + // format: 'es', // 默认es,可选 'amd' 'cjs' 'es' 'iife' 'umd' 'system' + exports: "named", // https://rollupjs.org/configuration-options/#output-exports + // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量 + globals: { + vue: "Vue", + // 'vue-router': 'VueRouter', // 引入vue-router全局变量,否则router.push将无法使用 + // swiper: "Swiper", + // qrcode: "qrcode", + // "element-plus": "ElementPlus", + }, + }, + }, + /** 设置为 false 可以禁用最小化混淆,或是用来指定使用哪种混淆器。 + 默认为 Esbuild,它比 terser 快 20-40 倍,压缩率只差 1%-2%。 + 注意,在 lib 模式下使用 'es' 时,build.minify 选项不会缩减空格,因为会移除掉 pure 标注,导致破坏 tree-shaking。 + 当设置为 'terser' 时必须先安装 Terser。(npm i terser -D) + */ + minify: "terser", // Vite 2.6.x 以上需要配置 minify: "terser", terserOptions 才能生效。vite中已内置移除console的设置,只需此处配置一下 + terserOptions: { + // 在打包代码时移除 console、debugger 和 注释 + compress: { + drop_console: true, // 生产环境时移除console + drop_debugger: true, + }, + format: { + comments: false, // 删除注释comments + }, + }, + }, +})

ZW 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�zBE;A6`RoYnYVbGchb9$^iIU2 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 literal 0 HcmV?d00001 diff --git a/docs/.vitepress/dist/assets/inter-roman-vietnamese.14ce25a6.woff2 b/docs/.vitepress/dist/assets/inter-roman-vietnamese.14ce25a6.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5a9f9cb9ca0cd78b6ea2f3e5c9d2838dc8895598 GIT binary patch literal 8492 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 a!Vc~9U7SGB8$q3Ii#9CnAx#qS0RRAsKuhfa literal 0 HcmV?d00001 diff --git a/docs/.vitepress/dist/assets/style.081ce8a1.css b/docs/.vitepress/dist/assets/style.081ce8a1.css new file mode 100644 index 0000000..78bd573 --- /dev/null +++ b/docs/.vitepress/dist/assets/style.081ce8a1.css @@ -0,0 +1 @@ +@charset "UTF-8";@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/q-ui/assets/inter-roman-cyrillic.5f2c6c8c.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/q-ui/assets/inter-roman-cyrillic-ext.e75737ce.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/q-ui/assets/inter-roman-greek.d5a6d92a.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/q-ui/assets/inter-roman-greek-ext.ab0619bc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/q-ui/assets/inter-roman-latin.2ed14f66.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/q-ui/assets/inter-roman-latin-ext.0030eebd.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/q-ui/assets/inter-roman-vietnamese.14ce25a6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/q-ui/assets/inter-italic-cyrillic.ea42a392.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/q-ui/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/q-ui/assets/inter-italic-greek.8f4463c4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/q-ui/assets/inter-italic-greek-ext.4fbe9427.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/q-ui/assets/inter-italic-latin.bd3b6f56.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/q-ui/assets/inter-italic-latin-ext.bd8920cc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/q-ui/assets/inter-italic-vietnamese.6ce511fb.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-gray: #8e8e93;--vp-c-text-light-1: rgba(60, 60, 67);--vp-c-text-light-2: rgba(60, 60, 67, .75);--vp-c-text-light-3: rgba(60, 60, 67, .33);--vp-c-text-dark-1: rgba(255, 255, 245, .86);--vp-c-text-dark-2: rgba(235, 235, 245, .6);--vp-c-text-dark-3: rgba(235, 235, 245, .38);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d97706;--vp-c-yellow-light: #f59e0b;--vp-c-yellow-lighter: #fbbf24;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5);--vp-c-sponsor: #db2777}:root{--vp-c-bg: #ffffff;--vp-c-bg-elv: #ffffff;--vp-c-bg-elv-up: #ffffff;--vp-c-bg-elv-down: #f6f6f7;--vp-c-bg-elv-mute: #f6f6f7;--vp-c-bg-soft: #f6f6f7;--vp-c-bg-soft-up: #f9f9fa;--vp-c-bg-soft-down: #e3e3e5;--vp-c-bg-soft-mute: #e3e3e5;--vp-c-bg-alt: #f6f6f7;--vp-c-border: rgba(60, 60, 67, .29);--vp-c-divider: rgba(60, 60, 67, .12);--vp-c-gutter: rgba(60, 60, 67, .12);--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white);--vp-c-text-1: var(--vp-c-text-light-1);--vp-c-text-2: var(--vp-c-text-light-2);--vp-c-text-3: var(--vp-c-text-light-3);--vp-c-text-inverse-1: var(--vp-c-text-dark-1);--vp-c-text-inverse-2: var(--vp-c-text-dark-2);--vp-c-text-inverse-3: var(--vp-c-text-dark-3);--vp-c-text-code: #476582;--vp-c-brand: var(--vp-c-green);--vp-c-brand-light: var(--vp-c-green-light);--vp-c-brand-lighter: var(--vp-c-green-lighter);--vp-c-brand-dark: var(--vp-c-green-dark);--vp-c-brand-darker: var(--vp-c-green-darker);--vp-c-mute: #f6f6f7;--vp-c-mute-light: #f9f9fc;--vp-c-mute-lighter: #ffffff;--vp-c-mute-dark: #e3e3e5;--vp-c-mute-darker: #d7d7d9}.dark{--vp-c-bg: #1e1e20;--vp-c-bg-elv: #252529;--vp-c-bg-elv-up: #313136;--vp-c-bg-elv-down: #1e1e20;--vp-c-bg-elv-mute: #313136;--vp-c-bg-soft: #252529;--vp-c-bg-soft-up: #313136;--vp-c-bg-soft-down: #1e1e20;--vp-c-bg-soft-mute: #313136;--vp-c-bg-alt: #161618;--vp-c-border: rgba(82, 82, 89, .68);--vp-c-divider: rgba(82, 82, 89, .32);--vp-c-gutter: #000000;--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black);--vp-c-text-1: var(--vp-c-text-dark-1);--vp-c-text-2: var(--vp-c-text-dark-2);--vp-c-text-3: var(--vp-c-text-dark-3);--vp-c-text-inverse-1: var(--vp-c-text-light-1);--vp-c-text-inverse-2: var(--vp-c-text-light-2);--vp-c-text-inverse-3: var(--vp-c-text-light-3);--vp-c-text-code: #c9def1;--vp-c-mute: #313136;--vp-c-mute-light: #3a3a3c;--vp-c-mute-lighter: #505053;--vp-c-mute-dark: #2c2c30;--vp-c-mute-darker: #252529}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-layout-top: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-z-index-footer: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-c-code-dimm: var(--vp-c-text-dark-3);--vp-code-block-color: var(--vp-c-text-dark-1);--vp-code-block-bg: #292b30;--vp-code-block-bg-light: #1e1e20;--vp-code-block-divider-color: #000000;--vp-code-line-highlight-color: rgba(0, 0, 0, .5);--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-line-diff-add-color: var(--vp-c-green-dimm-2);--vp-code-line-diff-add-symbol-color: var(--vp-c-green);--vp-code-line-diff-remove-color: var(--vp-c-red-dimm-2);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red);--vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);--vp-code-line-error-color: var(--vp-c-red-dimm-2);--vp-code-copy-code-border-color: transparent;--vp-code-copy-code-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-active-text: var(--vp-c-text-dark-2);--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-dark-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-bar-color: var(--vp-c-brand)}.dark{--vp-code-block-bg: #161618}:root:not(.dark) .vp-adaptive-theme{--vp-c-code-dimm: var(--vp-c-text-2);--vp-code-block-color: var(--vp-c-text-1);--vp-code-block-bg: #f8f8f8;--vp-code-block-divider-color: var(--vp-c-divider);--vp-code-line-highlight-color: #ececec;--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-copy-code-bg: #e2e2e2;--vp-code-copy-code-hover-bg: #dcdcdc;--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-tab-divider: var(--vp-c-divider);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1)}:root{--vp-button-brand-border: var(--vp-c-brand-lighter);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-lighter);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-dark);--vp-button-brand-active-border: var(--vp-c-brand-lighter);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-darker);--vp-button-alt-border: var(--vp-c-border);--vp-button-alt-text: var(--vp-c-neutral);--vp-button-alt-bg: var(--vp-c-mute);--vp-button-alt-hover-border: var(--vp-c-border);--vp-button-alt-hover-text: var(--vp-c-neutral);--vp-button-alt-hover-bg: var(--vp-c-mute-dark);--vp-button-alt-active-border: var(--vp-c-border);--vp-button-alt-active-text: var(--vp-c-neutral);--vp-button-alt-active-bg: var(--vp-c-mute-darker);--vp-button-sponsor-border: var(--vp-c-gray-light-3);--vp-button-sponsor-text: var(--vp-c-text-light-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}.dark{--vp-button-sponsor-border: var(--vp-c-gray-dark-1);--vp-button-sponsor-text: var(--vp-c-text-dark-2)}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: var(--vp-c-border);--vp-custom-block-info-text: var(--vp-c-text-2);--vp-custom-block-info-bg: var(--vp-c-bg-soft-up);--vp-custom-block-info-code-bg: var(--vp-c-bg-soft);--vp-custom-block-tip-border: var(--vp-c-green);--vp-custom-block-tip-text: var(--vp-c-green-dark);--vp-custom-block-tip-bg: var(--vp-c-bg-soft-up);--vp-custom-block-tip-code-bg: var(--vp-c-bg-soft);--vp-custom-block-warning-border: var(--vp-c-yellow);--vp-custom-block-warning-text: var(--vp-c-yellow);--vp-custom-block-warning-bg: var(--vp-c-bg-soft-up);--vp-custom-block-warning-code-bg: var(--vp-c-bg-soft);--vp-custom-block-danger-border: var(--vp-c-red);--vp-custom-block-danger-text: var(--vp-c-red);--vp-custom-block-danger-bg: var(--vp-c-bg-soft-up);--vp-custom-block-danger-code-bg: var(--vp-c-bg-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-details-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-hover-border-color: var(--vp-c-gray);--vp-input-switch-bg-color: var(--vp-c-mute)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg)}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: var(--vp-c-border);--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-bg-soft-up);--vp-badge-tip-border: var(--vp-c-green-dark);--vp-badge-tip-text: var(--vp-c-green);--vp-badge-tip-bg: var(--vp-c-green-dimm-1);--vp-badge-warning-border: var(--vp-c-yellow-dark);--vp-badge-warning-text: var(--vp-c-yellow);--vp-badge-warning-bg: var(--vp-c-yellow-dimm-1);--vp-badge-danger-border: var(--vp-c-red-dark);--vp-badge-danger-text: var(--vp-c-red);--vp-badge-danger-bg: var(--vp-c-red-dimm-1)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand);--vp-local-search-highlight-bg: var(--vp-c-green-lighter);--vp-local-search-highlight-text: var(--vp-c-black)}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600}.custom-block a:hover{text-decoration:underline}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.dark .vp-code-light{display:none}html:not(.dark) .vp-code-dark{display:none}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden}.vp-code-group .tabs:after{position:absolute;right:0;bottom:0;left:0;height:1px;background-color:var(--vp-code-tab-divider);content:""}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:absolute;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:1px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-]{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active{display:block}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{float:left;margin-left:-.87em;padding-right:.23em;font-weight:500;user-select:none;opacity:0;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.vp-doc a:hover{text-decoration:underline}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block a{color:inherit;font-weight:600}.vp-doc .custom-block a:hover{text-decoration:underline}.vp-doc .custom-block code{font-size:var(--vp-custom-block-code-font-size);font-weight:700;color:inherit}.vp-doc .custom-block div[class*=language-]{margin:8px 0}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;color:var(--vp-c-text-code);background-color:var(--vp-c-mute);transition:color .5s,background-color .5s}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc a>code{color:var(--vp-c-brand);transition:color .25s}.vp-doc a:hover>code{color:var(--vp-c-brand-dark)}.vp-doc div[class*=language-]{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-]{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;left:-65px;display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;width:64px;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:"Copied"}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-c-code-dimm);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-bg-soft-down)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-350d3852]{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:10px;padding:0 8px;line-height:18px;font-size:12px;font-weight:600;transform:translateY(-2px)}h1 .VPBadge[data-v-350d3852],h2 .VPBadge[data-v-350d3852],h3 .VPBadge[data-v-350d3852],h4 .VPBadge[data-v-350d3852],h5 .VPBadge[data-v-350d3852],h6 .VPBadge[data-v-350d3852]{vertical-align:top}h2 .VPBadge[data-v-350d3852]{border-radius:11px;line-height:20px}.VPBadge.info[data-v-350d3852]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-350d3852]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-350d3852]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-350d3852]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPSkipLink[data-v-b8b11faa]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-b8b11faa]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-b8b11faa]{top:14px;left:16px}}.VPBackdrop[data-v-c79a1216]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-c79a1216],.VPBackdrop.fade-leave-to[data-v-c79a1216]{opacity:0}.VPBackdrop.fade-leave-active[data-v-c79a1216]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-c79a1216]{display:none}}html:not(.dark) .VPImage.dark[data-v-6db2186b]{display:none}.dark .VPImage.light[data-v-6db2186b]{display:none}.title[data-v-4d981103]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-4d981103]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-4d981103]{border-bottom-color:var(--vp-c-divider)}}[data-v-4d981103] .logo{margin-right:8px;height:24px}/*! @docsearch/css 3.5.1 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.DocSearch{--docsearch-primary-color: var(--vp-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-bg-soft-mute);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:1px;letter-spacing:-12px;color:transparent}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:var(--vp-meta-key);font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-bg-soft-mute)}.DocSearch-Screen-Icon>svg{margin:auto}.icon[data-v-8f4dc553]{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;fill:var(--vp-c-text-3);transition:fill .25s;flex-shrink:0}.VPNavBarMenuLink[data-v-5e623618]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-5e623618],.VPNavBarMenuLink[data-v-5e623618]:hover{color:var(--vp-c-brand)}.VPMenuGroup+.VPMenuLink[data-v-2f2cfafc]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-2f2cfafc]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-2f2cfafc]:hover{color:var(--vp-c-brand);background-color:var(--vp-c-bg-elv-mute)}.link.active[data-v-2f2cfafc]{color:var(--vp-c-brand)}.VPMenuGroup[data-v-69e747b5]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-69e747b5]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-69e747b5]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-69e747b5]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-e7ea1737]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-e7ea1737] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-e7ea1737] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-e7ea1737] .group:last-child{padding-bottom:0}.VPMenu[data-v-e7ea1737] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-e7ea1737] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-e7ea1737] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-e7ea1737] .action{padding-left:24px}.VPFlyout[data-v-764effdf]{position:relative}.VPFlyout[data-v-764effdf]:hover{color:var(--vp-c-brand);transition:color .25s}.VPFlyout:hover .text[data-v-764effdf]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-764effdf]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-764effdf]{color:var(--vp-c-brand)}.VPFlyout.active:hover .text[data-v-764effdf]{color:var(--vp-c-brand-dark)}.VPFlyout:hover .menu[data-v-764effdf],.button[aria-expanded=true]+.menu[data-v-764effdf]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-764effdf]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-764effdf]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-764effdf]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-764effdf]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-764effdf]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-764effdf]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPNavBarMenu[data-v-7f418b0f]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-7f418b0f]{display:flex}}.VPNavBarTranslations[data-v-74abcbb9]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-74abcbb9]{display:flex;align-items:center}}.title[data-v-74abcbb9]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPSwitch[data-v-f3c41672]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s}.VPSwitch[data-v-f3c41672]:hover{border-color:var(--vp-input-hover-border-color)}.check[data-v-f3c41672]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s}.icon[data-v-f3c41672]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-f3c41672] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-f3c41672] svg{fill:var(--vp-c-text-1);transition:opacity .25s}.sun[data-v-82b282f1]{opacity:1}.moon[data-v-82b282f1],.dark .sun[data-v-82b282f1]{opacity:0}.dark .moon[data-v-82b282f1]{opacity:1}.dark .VPSwitchAppearance[data-v-82b282f1] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-f6a63727]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-f6a63727]{display:flex;align-items:center}}.VPSocialLink[data-v-36371990]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-36371990]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-36371990]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-7bc22406]{display:flex;justify-content:center}.VPNavBarSocialLinks[data-v-0394ad82]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-0394ad82]{display:flex;align-items:center}}.VPNavBarExtra[data-v-40855f84]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-40855f84]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-40855f84]{display:none}}.trans-title[data-v-40855f84]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-40855f84],.item.social-links[data-v-40855f84]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-40855f84]{min-width:176px}.appearance-action[data-v-40855f84]{margin-right:-2px}.social-links-list[data-v-40855f84]{margin:-4px -8px}.VPNavBarHamburger[data-v-e5dd9c1c]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-e5dd9c1c]{display:none}}.container[data-v-e5dd9c1c]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-e5dd9c1c]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .middle[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .bottom[data-v-e5dd9c1c]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-e5dd9c1c],.middle[data-v-e5dd9c1c],.bottom[data-v-e5dd9c1c]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(0)}.middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(4px)}.VPNavBar[data-v-7683ced7]{position:relative;border-bottom:1px solid transparent;padding:0 8px 0 24px;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap}@media (min-width: 768px){.VPNavBar[data-v-7683ced7]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-7683ced7]{padding:0}.VPNavBar.fill[data-v-7683ced7]:not(.has-sidebar){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-7683ced7]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-7683ced7],.container>.content[data-v-7683ced7]{pointer-events:none}.container[data-v-7683ced7] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-7683ced7]{max-width:100%}}.title[data-v-7683ced7]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-7683ced7]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-7683ced7]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-7683ced7]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-7683ced7]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-7683ced7]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-7683ced7]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .content-body[data-v-7683ced7],.VPNavBar.fill .content-body[data-v-7683ced7]{position:relative;background-color:var(--vp-nav-bg-color)}}@media (max-width: 768px){.content-body[data-v-7683ced7]{column-gap:.5rem}}.menu+.translations[data-v-7683ced7]:before,.menu+.appearance[data-v-7683ced7]:before,.menu+.social-links[data-v-7683ced7]:before,.translations+.appearance[data-v-7683ced7]:before,.appearance+.social-links[data-v-7683ced7]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-7683ced7]:before,.translations+.appearance[data-v-7683ced7]:before{margin-right:16px}.appearance+.social-links[data-v-7683ced7]:before{margin-left:16px}.social-links[data-v-7683ced7]{margin-right:-8px}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-7683ced7]{position:absolute;right:0;bottom:-31px;width:calc(100% - var(--vp-sidebar-width));height:32px}.VPNavBar.has-sidebar .curtain[data-v-7683ced7]:before{display:block;width:100%;height:32px;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-7683ced7]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenMenuLink[data-v-30be0acb]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-30be0acb]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupLink[data-v-6656c42a]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-6656c42a]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupSection[data-v-8133b170]{display:block}.title[data-v-8133b170]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-338a1689]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-338a1689]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-338a1689]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-338a1689]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-338a1689]{padding-bottom:6px;color:var(--vp-c-brand)}.VPNavScreenMenuGroup.open .button-icon[data-v-338a1689]{transform:rotate(45deg)}.button[data-v-338a1689]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-338a1689]:hover{color:var(--vp-c-brand)}.button-icon[data-v-338a1689]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-338a1689]:first-child{padding-top:0}.group+.group[data-v-338a1689],.group+.item[data-v-338a1689]{padding-top:4px}.VPNavScreenAppearance[data-v-add8f686]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-add8f686]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenTranslations[data-v-d72aa483]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-d72aa483]{height:auto}.title[data-v-d72aa483]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-d72aa483]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-d72aa483]{margin-right:8px}.icon.chevron[data-v-d72aa483]{margin-left:4px}.list[data-v-d72aa483]{padding:4px 0 0 24px}.link[data-v-d72aa483]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-724636ae]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-724636ae],.VPNavScreen.fade-leave-active[data-v-724636ae]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-724636ae],.VPNavScreen.fade-leave-active .container[data-v-724636ae]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-724636ae],.VPNavScreen.fade-leave-to[data-v-724636ae]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-724636ae],.VPNavScreen.fade-leave-to .container[data-v-724636ae]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-724636ae]{display:none}}.container[data-v-724636ae]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-724636ae],.menu+.appearance[data-v-724636ae],.translations+.appearance[data-v-724636ae]{margin-top:24px}.menu+.social-links[data-v-724636ae]{margin-top:16px}.appearance+.social-links[data-v-724636ae]{margin-top:16px}.VPNav[data-v-7e5bc4a5]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-7e5bc4a5]{position:fixed}}.root[data-v-9a431c33]{position:relative;z-index:1}.nested[data-v-9a431c33]{padding-left:13px}.outline-link[data-v-9a431c33]{display:block;line-height:28px;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:500}.outline-link[data-v-9a431c33]:hover,.outline-link.active[data-v-9a431c33]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-9a431c33]{padding-left:13px}.VPLocalNavOutlineDropdown[data-v-687955bc]{padding:12px 20px 11px}.VPLocalNavOutlineDropdown button[data-v-687955bc]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-687955bc]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-687955bc]{color:var(--vp-c-text-1)}.icon[data-v-687955bc]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-687955bc] .outline-link{font-size:14px;padding:2px 0}.open>.icon[data-v-687955bc]{transform:rotate(90deg)}.items[data-v-687955bc]{position:absolute;left:20px;right:20px;top:64px;background-color:var(--vp-local-nav-bg-color);padding:4px 10px 16px;border:1px solid var(--vp-c-divider);border-radius:8px;max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}.top-link[data-v-687955bc]{display:block;color:var(--vp-c-brand);font-size:13px;font-weight:500;padding:6px 0;margin:0 13px 10px;border-bottom:1px solid var(--vp-c-divider)}.flyout-enter-active[data-v-687955bc]{transition:all .2s ease-out}.flyout-leave-active[data-v-687955bc]{transition:all .15s ease-in}.flyout-enter-from[data-v-687955bc],.flyout-leave-to[data-v-687955bc]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-9074c407]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--vp-c-gutter);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-9074c407]{position:fixed}.VPLocalNav.reached-top[data-v-9074c407]{border-top-color:transparent}@media (min-width: 960px){.VPLocalNav[data-v-9074c407]{display:none}}.menu[data-v-9074c407]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-9074c407]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-9074c407]{padding:0 32px}}.menu-icon[data-v-9074c407]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-9074c407]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-9074c407]{padding:12px 32px 11px}}.VPSidebarItem.level-0[data-v-c4656e6d]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-c4656e6d]{padding-bottom:10px}.item[data-v-c4656e6d]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-c4656e6d]{cursor:pointer}.indicator[data-v-c4656e6d]{position:absolute;top:6px;bottom:6px;left:-17px;width:1px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-c4656e6d],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-c4656e6d],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-c4656e6d],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-c4656e6d]{background-color:var(--vp-c-brand)}.link[data-v-c4656e6d]{display:flex;align-items:center;flex-grow:1}.text[data-v-c4656e6d]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-c4656e6d]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-c4656e6d],.VPSidebarItem.level-2 .text[data-v-c4656e6d],.VPSidebarItem.level-3 .text[data-v-c4656e6d],.VPSidebarItem.level-4 .text[data-v-c4656e6d],.VPSidebarItem.level-5 .text[data-v-c4656e6d]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-c4656e6d],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-c4656e6d],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-c4656e6d],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-c4656e6d],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-c4656e6d],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-c4656e6d]{color:var(--vp-c-brand)}.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-c4656e6d],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-c4656e6d],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-c4656e6d],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-c4656e6d],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-c4656e6d],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-c4656e6d]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-c4656e6d],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-c4656e6d],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-c4656e6d],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-c4656e6d],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-c4656e6d],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-c4656e6d]{color:var(--vp-c-brand)}.caret[data-v-c4656e6d]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s}.item:hover .caret[data-v-c4656e6d]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-c4656e6d]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-c4656e6d]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-c4656e6d]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-c4656e6d],.VPSidebarItem.level-2 .items[data-v-c4656e6d],.VPSidebarItem.level-3 .items[data-v-c4656e6d],.VPSidebarItem.level-4 .items[data-v-c4656e6d],.VPSidebarItem.level-5 .items[data-v-c4656e6d]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-c4656e6d]{display:none}.VPSidebar[data-v-af16598e]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-af16598e]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-af16598e]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-af16598e]{z-index:1;padding-top:var(--vp-nav-height);padding-bottom:128px;width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-af16598e]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-af16598e]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-af16598e]{outline:0}.group+.group[data-v-af16598e]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-af16598e]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPButton[data-v-567ba664]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-567ba664]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-567ba664]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-567ba664]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-567ba664]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-567ba664]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-567ba664]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-567ba664]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-567ba664]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-567ba664]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-567ba664]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-567ba664]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-567ba664]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}.VPHero[data-v-fd2650d5]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-fd2650d5]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-fd2650d5]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-fd2650d5]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-fd2650d5]{flex-direction:row}}.main[data-v-fd2650d5]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-fd2650d5]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-fd2650d5]{text-align:left}}@media (min-width: 960px){.main[data-v-fd2650d5]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-fd2650d5]{max-width:592px}}.name[data-v-fd2650d5],.text[data-v-fd2650d5]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-fd2650d5],.VPHero.has-image .text[data-v-fd2650d5]{margin:0 auto}.name[data-v-fd2650d5]{color:var(--vp-home-hero-name-color)}.clip[data-v-fd2650d5]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-fd2650d5],.text[data-v-fd2650d5]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-fd2650d5],.text[data-v-fd2650d5]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-fd2650d5],.VPHero.has-image .text[data-v-fd2650d5]{margin:0}}.tagline[data-v-fd2650d5]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-fd2650d5]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-fd2650d5]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-fd2650d5]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-fd2650d5]{margin:0}}.actions[data-v-fd2650d5]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-fd2650d5]{justify-content:center}@media (min-width: 640px){.actions[data-v-fd2650d5]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-fd2650d5]{justify-content:flex-start}}.action[data-v-fd2650d5]{flex-shrink:0;padding:6px}.image[data-v-fd2650d5]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-fd2650d5]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-fd2650d5]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-fd2650d5]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-fd2650d5]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-fd2650d5]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-fd2650d5]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-fd2650d5]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-fd2650d5]{width:320px;height:320px}}[data-v-fd2650d5] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-fd2650d5] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-fd2650d5] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-837f6cca]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-837f6cca]:hover{border-color:var(--vp-c-brand);background-color:var(--vp-c-bg-soft-up)}.box[data-v-837f6cca]{display:flex;flex-direction:column;padding:24px;height:100%}.VPFeature[data-v-837f6cca] .VPImage{width:48px;height:48px;margin-bottom:20px}.icon[data-v-837f6cca]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-bg-soft-down);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-837f6cca]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-837f6cca]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-837f6cca]{padding-top:8px}.link-text-value[data-v-837f6cca]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand)}.link-text-icon[data-v-837f6cca]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-ba861f23]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-ba861f23]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-ba861f23]{padding:0 64px}}.container[data-v-ba861f23]{margin:0 auto;max-width:1152px}.items[data-v-ba861f23]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-ba861f23]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-ba861f23],.item.grid-4[data-v-ba861f23],.item.grid-6[data-v-ba861f23]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-ba861f23],.item.grid-4[data-v-ba861f23]{width:50%}.item.grid-3[data-v-ba861f23],.item.grid-6[data-v-ba861f23]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-ba861f23]{width:25%}}.VPHome[data-v-d82743a8]{padding-bottom:96px}.VPHome[data-v-d82743a8] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-d82743a8]{padding-bottom:128px}}.VPDocAsideOutline[data-v-ff0f39c8]{display:none}.VPDocAsideOutline.has-outline[data-v-ff0f39c8]{display:block}.content[data-v-ff0f39c8]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-ff0f39c8]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:1px;height:18px;background-color:var(--vp-c-brand);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-ff0f39c8]{letter-spacing:.4px;line-height:28px;font-size:13px;font-weight:600}.VPDocAside[data-v-3f215769]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-3f215769]{flex-grow:1}.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-3f215769] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-7b3ebfe1]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-7b3ebfe1]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-face870a]{margin-top:64px}.edit-info[data-v-face870a]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-face870a]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-face870a]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.edit-link-button[data-v-face870a]:hover{color:var(--vp-c-brand-dark)}.edit-link-icon[data-v-face870a]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-face870a]{border-top:1px solid var(--vp-c-divider);padding-top:24px}@media (min-width: 640px){.prev-next[data-v-face870a]{display:flex}}.pager.has-prev[data-v-face870a]{padding-top:8px}@media (min-width: 640px){.pager[data-v-face870a]{display:flex;flex-direction:column;flex-shrink:0;width:50%}.pager.has-prev[data-v-face870a]{padding-top:0;padding-left:16px}}.pager-link[data-v-face870a]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-face870a]:hover{border-color:var(--vp-c-brand)}.pager-link.next[data-v-face870a]{margin-left:auto;text-align:right}.desc[data-v-face870a]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-face870a]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.VPDocOutlineDropdown[data-v-2edece88]{margin-bottom:42px}.VPDocOutlineDropdown button[data-v-2edece88]{display:block;font-size:14px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;border:1px solid var(--vp-c-border);padding:4px 12px;border-radius:8px}.VPDocOutlineDropdown button[data-v-2edece88]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPDocOutlineDropdown button.open[data-v-2edece88]{color:var(--vp-c-text-1)}.icon[data-v-2edece88]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-2edece88] .outline-link{font-size:13px}.open>.icon[data-v-2edece88]{transform:rotate(90deg)}.items[data-v-2edece88]{margin-top:10px;border-left:1px solid var(--vp-c-divider)}.VPDoc[data-v-c4b0d3cf]{padding:32px 24px 96px;width:100%}.VPDoc .VPDocOutlineDropdown[data-v-c4b0d3cf]{display:none}@media (min-width: 960px) and (max-width: 1280px){.VPDoc .VPDocOutlineDropdown[data-v-c4b0d3cf]{display:block}}@media (min-width: 768px){.VPDoc[data-v-c4b0d3cf]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-c4b0d3cf]{padding:32px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-c4b0d3cf]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-c4b0d3cf]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-c4b0d3cf]{display:flex;justify-content:center}.VPDoc .aside[data-v-c4b0d3cf]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-c4b0d3cf]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-c4b0d3cf]{max-width:1104px}}.container[data-v-c4b0d3cf]{margin:0 auto;width:100%}.aside[data-v-c4b0d3cf]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-c4b0d3cf]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-c4b0d3cf]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 32px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-c4b0d3cf]::-webkit-scrollbar{display:none}.aside-curtain[data-v-c4b0d3cf]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-c4b0d3cf]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px));padding-bottom:32px}.content[data-v-c4b0d3cf]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-c4b0d3cf]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-c4b0d3cf]{order:1;margin:0;min-width:640px}}.content-container[data-v-c4b0d3cf]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-c4b0d3cf]{max-width:688px}.NotFound[data-v-c70503b8]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-c70503b8]{padding:96px 32px 168px}}.code[data-v-c70503b8]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-c70503b8]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-c70503b8]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-c70503b8]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-c70503b8]{padding-top:20px}.link[data-v-c70503b8]{display:inline-block;border:1px solid var(--vp-c-brand);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:border-color .25s,color .25s}.link[data-v-c70503b8]:hover{border-color:var(--vp-c-brand-dark);color:var(--vp-c-brand-dark)}.VPContent[data-v-a494bd1d]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-a494bd1d]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-a494bd1d]{margin:0}@media (min-width: 960px){.VPContent[data-v-a494bd1d]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-a494bd1d]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-a494bd1d]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-f7fc41f4]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-f7fc41f4]{display:none}@media (min-width: 768px){.VPFooter[data-v-f7fc41f4]{padding:32px}}.container[data-v-f7fc41f4]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-f7fc41f4],.copyright[data-v-f7fc41f4]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.Layout[data-v-b2cf3e0b]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-3c6e61c2]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-3c6e61c2]{margin:0 auto;max-width:1152px}.love[data-v-3c6e61c2]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-3c6e61c2]{width:28px;height:28px;fill:currentColor}.message[data-v-3c6e61c2]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-3c6e61c2]{padding-top:32px}.action[data-v-3c6e61c2]{padding-top:40px;text-align:center}.VPTeamPage[data-v-10b00018]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-10b00018]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-10b00018-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-10b00018-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:96px}}.VPTeamMembers[data-v-10b00018-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-10b00018-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-10b00018-s]{padding:0 64px}}.VPTeamPageTitle[data-v-bf2cbdac]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:80px 64px 48px}}.title[data-v-bf2cbdac]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-bf2cbdac]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-bf2cbdac]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-bf2cbdac]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-b1a88750]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-b1a88750]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-b1a88750]{padding:0 64px}}.title[data-v-b1a88750]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-b1a88750]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-b1a88750]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-b1a88750]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-b1a88750]{padding-top:40px}.VPTeamMembersItem[data-v-a3462077]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-a3462077]{padding:32px}.VPTeamMembersItem.small .data[data-v-a3462077]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-a3462077]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-a3462077]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-a3462077]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-a3462077]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-a3462077]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-a3462077]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-a3462077]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-a3462077]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-a3462077]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-a3462077]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-a3462077]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-a3462077]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-a3462077]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-a3462077]{text-align:center}.avatar[data-v-a3462077]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-a3462077]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-a3462077]{margin:0;font-weight:600}.affiliation[data-v-a3462077]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-a3462077]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-a3462077]:hover{color:var(--vp-c-brand)}.desc[data-v-a3462077]{margin:0 auto}.desc[data-v-a3462077] a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.links[data-v-a3462077]{display:flex;justify-content:center;height:56px}.sp-link[data-v-a3462077]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-a3462077]:hover,.sp .sp-link.link[data-v-a3462077]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-a3462077]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-04685dce]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-04685dce]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-04685dce]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-04685dce]{max-width:876px}.VPTeamMembers.medium .container[data-v-04685dce]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-04685dce]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-04685dce]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-04685dce]{max-width:760px}.container[data-v-04685dce]{display:grid;gap:24px;margin:0 auto;max-width:1152px}._m-flex_xogkl_2{display:flex;flex-wrap:wrap;gap:12px;align-items:center}._u-h3_xogkl_8{margin-top:0!important}.version-tag{font-size:14px;line-height:1.571;font-weight:700;padding:4px 6px;margin-left:6px;background:#bd34fe;color:#fff;border-radius:10px;display:inline-block;vertical-align:top;margin-top:4px}.container .image .image-container .image-bg{height:180px;transform:translate(-50%,30%);background-image:linear-gradient(-45deg,#10b981 50%,#47caff 50%);filter:blur(72px)}.w5{width:5%}.w10{width:10%}.w15{width:15%}.w20{width:20%}.w25{width:25%}.w30{width:30%}.w40{width:40%}.w50{width:50%}.w60{width:60%}.w100{width:100%}.ml-0{margin-left:0}.mr-0{margin-right:0}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.pl-0{padding-left:0}.pr-0{padding-right:0}.pt-0{padding-top:0}.pb-0{padding-bottom:0}.ml-2{margin-left:2px}.mr-2{margin-right:2px}.mt-2{margin-top:2px}.mb-2{margin-bottom:2px}.pl-2{padding-left:2px}.pr-2{padding-right:2px}.pt-2{padding-top:2px}.pb-2{padding-bottom:2px}.ml-5{margin-left:5px}.mr-5{margin-right:5px}.mt-5{margin-top:5px}.mb-5{margin-bottom:5px}.pl-5{padding-left:5px}.pr-5{padding-right:5px}.pt-5{padding-top:5px}.pb-5{padding-bottom:5px}.ml-8{margin-left:8px}.mr-8{margin-right:8px}.mt-8{margin-top:8px}.mb-8{margin-bottom:8px}.pl-8{padding-left:8px}.pr-8{padding-right:8px}.pt-8{padding-top:8px}.pb-8{padding-bottom:8px}.ml-10{margin-left:10px}.mr-10{margin-right:10px}.mt-10{margin-top:10px}.mb-10{margin-bottom:10px}.pl-10{padding-left:10px}.pr-10{padding-right:10px}.pt-10{padding-top:10px}.pb-10{padding-bottom:10px}.ml-12{margin-left:12px}.mr-12{margin-right:12px}.mt-12{margin-top:12px}.mb-12{margin-bottom:12px}.pl-12{padding-left:12px}.pr-12{padding-right:12px}.pt-12{padding-top:12px}.pb-12{padding-bottom:12px}.ml-14{margin-left:14px}.mr-14{margin-right:14px}.mt-14{margin-top:14px}.mb-14{margin-bottom:14px}.pl-14{padding-left:14px}.pr-14{padding-right:14px}.pt-14{padding-top:14px}.pb-14{padding-bottom:14px}.ml-15{margin-left:15px}.mr-15{margin-right:15px}.mt-15{margin-top:15px}.mb-15{margin-bottom:15px}.pl-15{padding-left:15px}.pr-15{padding-right:15px}.pt-15{padding-top:15px}.pb-15{padding-bottom:15px}.ml-16{margin-left:16px}.mr-16{margin-right:16px}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}.pl-16{padding-left:16px}.pr-16{padding-right:16px}.pt-16{padding-top:16px}.pb-16{padding-bottom:16px}.ml-18{margin-left:18px}.mr-18{margin-right:18px}.mt-18{margin-top:18px}.mb-18{margin-bottom:18px}.pl-18{padding-left:18px}.pr-18{padding-right:18px}.pt-18{padding-top:18px}.pb-18{padding-bottom:18px}.ml-20{margin-left:20px}.mr-20{margin-right:20px}.mt-20{margin-top:20px}.mb-20{margin-bottom:20px}.pl-20{padding-left:20px}.pr-20{padding-right:20px}.pt-20{padding-top:20px}.pb-20{padding-bottom:20px}.ml-24{margin-left:24px}.mr-24{margin-right:24px}.mt-24{margin-top:24px}.mb-24{margin-bottom:24px}.pl-24{padding-left:24px}.pr-24{padding-right:24px}.pt-24{padding-top:24px}.pb-24{padding-bottom:24px}.ml-25{margin-left:25px}.mr-25{margin-right:25px}.mt-25{margin-top:25px}.mb-25{margin-bottom:25px}.pl-25{padding-left:25px}.pr-25{padding-right:25px}.pt-25{padding-top:25px}.pb-25{padding-bottom:25px}.ml-30{margin-left:30px}.mr-30{margin-right:30px}.mt-30{margin-top:30px}.mb-30{margin-bottom:30px}.pl-30{padding-left:30px}.pr-30{padding-right:30px}.pt-30{padding-top:30px}.pb-30{padding-bottom:30px}.ml-36{margin-left:36px}.mr-36{margin-right:36px}.mt-36{margin-top:36px}.mb-36{margin-bottom:36px}.pl-36{padding-left:36px}.pr-36{padding-right:36px}.pt-36{padding-top:36px}.pb-36{padding-bottom:36px}.ml-40{margin-left:40px}.mr-40{margin-right:40px}.mt-40{margin-top:40px}.mb-40{margin-bottom:40px}.pl-40{padding-left:40px}.pr-40{padding-right:40px}.pt-40{padding-top:40px}.pb-40{padding-bottom:40px}.ml-50{margin-left:50px}.mr-50{margin-right:50px}.mt-50{margin-top:50px}.mb-50{margin-bottom:50px}.pl-50{padding-left:50px}.pr-50{padding-right:50px}.pt-50{padding-top:50px}.pb-50{padding-bottom:50px}.ml-100{margin-left:100px}.mr-100{margin-right:100px}.mt-100{margin-top:100px}.mb-100{margin-bottom:100px}.pl-100{padding-left:100px}.pr-100{padding-right:100px}.pt-100{padding-top:100px}.pb-100{padding-bottom:100px}.w5[data-v-4eae179c]{width:5%}.w10[data-v-4eae179c]{width:10%}.w15[data-v-4eae179c]{width:15%}.w20[data-v-4eae179c]{width:20%}.w25[data-v-4eae179c]{width:25%}.w30[data-v-4eae179c]{width:30%}.w40[data-v-4eae179c]{width:40%}.w50[data-v-4eae179c]{width:50%}.w60[data-v-4eae179c]{width:60%}.w100[data-v-4eae179c]{width:100%}.ml-0[data-v-4eae179c]{margin-left:0}.mr-0[data-v-4eae179c]{margin-right:0}.mt-0[data-v-4eae179c]{margin-top:0}.mb-0[data-v-4eae179c]{margin-bottom:0}.pl-0[data-v-4eae179c]{padding-left:0}.pr-0[data-v-4eae179c]{padding-right:0}.pt-0[data-v-4eae179c]{padding-top:0}.pb-0[data-v-4eae179c]{padding-bottom:0}.ml-2[data-v-4eae179c]{margin-left:2px}.mr-2[data-v-4eae179c]{margin-right:2px}.mt-2[data-v-4eae179c]{margin-top:2px}.mb-2[data-v-4eae179c]{margin-bottom:2px}.pl-2[data-v-4eae179c]{padding-left:2px}.pr-2[data-v-4eae179c]{padding-right:2px}.pt-2[data-v-4eae179c]{padding-top:2px}.pb-2[data-v-4eae179c]{padding-bottom:2px}.ml-5[data-v-4eae179c]{margin-left:5px}.mr-5[data-v-4eae179c]{margin-right:5px}.mt-5[data-v-4eae179c]{margin-top:5px}.mb-5[data-v-4eae179c]{margin-bottom:5px}.pl-5[data-v-4eae179c]{padding-left:5px}.pr-5[data-v-4eae179c]{padding-right:5px}.pt-5[data-v-4eae179c]{padding-top:5px}.pb-5[data-v-4eae179c]{padding-bottom:5px}.ml-8[data-v-4eae179c]{margin-left:8px}.mr-8[data-v-4eae179c]{margin-right:8px}.mt-8[data-v-4eae179c]{margin-top:8px}.mb-8[data-v-4eae179c]{margin-bottom:8px}.pl-8[data-v-4eae179c]{padding-left:8px}.pr-8[data-v-4eae179c]{padding-right:8px}.pt-8[data-v-4eae179c]{padding-top:8px}.pb-8[data-v-4eae179c]{padding-bottom:8px}.ml-10[data-v-4eae179c]{margin-left:10px}.mr-10[data-v-4eae179c]{margin-right:10px}.mt-10[data-v-4eae179c]{margin-top:10px}.mb-10[data-v-4eae179c]{margin-bottom:10px}.pl-10[data-v-4eae179c]{padding-left:10px}.pr-10[data-v-4eae179c]{padding-right:10px}.pt-10[data-v-4eae179c]{padding-top:10px}.pb-10[data-v-4eae179c]{padding-bottom:10px}.ml-12[data-v-4eae179c]{margin-left:12px}.mr-12[data-v-4eae179c]{margin-right:12px}.mt-12[data-v-4eae179c]{margin-top:12px}.mb-12[data-v-4eae179c]{margin-bottom:12px}.pl-12[data-v-4eae179c]{padding-left:12px}.pr-12[data-v-4eae179c]{padding-right:12px}.pt-12[data-v-4eae179c]{padding-top:12px}.pb-12[data-v-4eae179c]{padding-bottom:12px}.ml-14[data-v-4eae179c]{margin-left:14px}.mr-14[data-v-4eae179c]{margin-right:14px}.mt-14[data-v-4eae179c]{margin-top:14px}.mb-14[data-v-4eae179c]{margin-bottom:14px}.pl-14[data-v-4eae179c]{padding-left:14px}.pr-14[data-v-4eae179c]{padding-right:14px}.pt-14[data-v-4eae179c]{padding-top:14px}.pb-14[data-v-4eae179c]{padding-bottom:14px}.ml-15[data-v-4eae179c]{margin-left:15px}.mr-15[data-v-4eae179c]{margin-right:15px}.mt-15[data-v-4eae179c]{margin-top:15px}.mb-15[data-v-4eae179c]{margin-bottom:15px}.pl-15[data-v-4eae179c]{padding-left:15px}.pr-15[data-v-4eae179c]{padding-right:15px}.pt-15[data-v-4eae179c]{padding-top:15px}.pb-15[data-v-4eae179c]{padding-bottom:15px}.ml-16[data-v-4eae179c]{margin-left:16px}.mr-16[data-v-4eae179c]{margin-right:16px}.mt-16[data-v-4eae179c]{margin-top:16px}.mb-16[data-v-4eae179c]{margin-bottom:16px}.pl-16[data-v-4eae179c]{padding-left:16px}.pr-16[data-v-4eae179c]{padding-right:16px}.pt-16[data-v-4eae179c]{padding-top:16px}.pb-16[data-v-4eae179c]{padding-bottom:16px}.ml-18[data-v-4eae179c]{margin-left:18px}.mr-18[data-v-4eae179c]{margin-right:18px}.mt-18[data-v-4eae179c]{margin-top:18px}.mb-18[data-v-4eae179c]{margin-bottom:18px}.pl-18[data-v-4eae179c]{padding-left:18px}.pr-18[data-v-4eae179c]{padding-right:18px}.pt-18[data-v-4eae179c]{padding-top:18px}.pb-18[data-v-4eae179c]{padding-bottom:18px}.ml-20[data-v-4eae179c]{margin-left:20px}.mr-20[data-v-4eae179c]{margin-right:20px}.mt-20[data-v-4eae179c]{margin-top:20px}.mb-20[data-v-4eae179c]{margin-bottom:20px}.pl-20[data-v-4eae179c]{padding-left:20px}.pr-20[data-v-4eae179c]{padding-right:20px}.pt-20[data-v-4eae179c]{padding-top:20px}.pb-20[data-v-4eae179c]{padding-bottom:20px}.ml-24[data-v-4eae179c]{margin-left:24px}.mr-24[data-v-4eae179c]{margin-right:24px}.mt-24[data-v-4eae179c]{margin-top:24px}.mb-24[data-v-4eae179c]{margin-bottom:24px}.pl-24[data-v-4eae179c]{padding-left:24px}.pr-24[data-v-4eae179c]{padding-right:24px}.pt-24[data-v-4eae179c]{padding-top:24px}.pb-24[data-v-4eae179c]{padding-bottom:24px}.ml-25[data-v-4eae179c]{margin-left:25px}.mr-25[data-v-4eae179c]{margin-right:25px}.mt-25[data-v-4eae179c]{margin-top:25px}.mb-25[data-v-4eae179c]{margin-bottom:25px}.pl-25[data-v-4eae179c]{padding-left:25px}.pr-25[data-v-4eae179c]{padding-right:25px}.pt-25[data-v-4eae179c]{padding-top:25px}.pb-25[data-v-4eae179c]{padding-bottom:25px}.ml-30[data-v-4eae179c]{margin-left:30px}.mr-30[data-v-4eae179c]{margin-right:30px}.mt-30[data-v-4eae179c]{margin-top:30px}.mb-30[data-v-4eae179c]{margin-bottom:30px}.pl-30[data-v-4eae179c]{padding-left:30px}.pr-30[data-v-4eae179c]{padding-right:30px}.pt-30[data-v-4eae179c]{padding-top:30px}.pb-30[data-v-4eae179c]{padding-bottom:30px}.ml-36[data-v-4eae179c]{margin-left:36px}.mr-36[data-v-4eae179c]{margin-right:36px}.mt-36[data-v-4eae179c]{margin-top:36px}.mb-36[data-v-4eae179c]{margin-bottom:36px}.pl-36[data-v-4eae179c]{padding-left:36px}.pr-36[data-v-4eae179c]{padding-right:36px}.pt-36[data-v-4eae179c]{padding-top:36px}.pb-36[data-v-4eae179c]{padding-bottom:36px}.ml-40[data-v-4eae179c]{margin-left:40px}.mr-40[data-v-4eae179c]{margin-right:40px}.mt-40[data-v-4eae179c]{margin-top:40px}.mb-40[data-v-4eae179c]{margin-bottom:40px}.pl-40[data-v-4eae179c]{padding-left:40px}.pr-40[data-v-4eae179c]{padding-right:40px}.pt-40[data-v-4eae179c]{padding-top:40px}.pb-40[data-v-4eae179c]{padding-bottom:40px}.ml-50[data-v-4eae179c]{margin-left:50px}.mr-50[data-v-4eae179c]{margin-right:50px}.mt-50[data-v-4eae179c]{margin-top:50px}.mb-50[data-v-4eae179c]{margin-bottom:50px}.pl-50[data-v-4eae179c]{padding-left:50px}.pr-50[data-v-4eae179c]{padding-right:50px}.pt-50[data-v-4eae179c]{padding-top:50px}.pb-50[data-v-4eae179c]{padding-bottom:50px}.ml-100[data-v-4eae179c]{margin-left:100px}.mr-100[data-v-4eae179c]{margin-right:100px}.mt-100[data-v-4eae179c]{margin-top:100px}.mb-100[data-v-4eae179c]{margin-bottom:100px}.pl-100[data-v-4eae179c]{padding-left:100px}.pr-100[data-v-4eae179c]{padding-right:100px}.pt-100[data-v-4eae179c]{padding-top:100px}.pb-100[data-v-4eae179c]{padding-bottom:100px}.q-button[data-v-4eae179c]{box-sizing:border-box;height:32px;background-color:#fff;padding:0 12px;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;border-radius:3px;box-shadow:0 1px #0000000d;transition:all .25s;color:#333;border:1px solid #d9d9d9;user-select:none}.q-button[data-v-4eae179c]:focus{outline:none}.q-button[data-v-4eae179c]::-moz-focus-inner{border:0}.q-button.q-size-large[data-v-4eae179c]{font-size:24px;height:48px;padding:0 16px}.q-button.q-size-small[data-v-4eae179c]{font-size:12px;height:20px;padding:0 8px}.q-button.is-round.q-size-default[data-v-4eae179c]{border-radius:16px}.q-button.is-round.q-size-large[data-v-4eae179c]{border-radius:24px}.q-button.is-round.q-size-small[data-v-4eae179c]{border-radius:10px}.q-button.q-type-default[data-v-4eae179c]:hover{color:#1bb760;border-color:#1bb760}.q-button.q-type-default.is-disabled[data-v-4eae179c]{cursor:not-allowed;background:#fff;border-color:#e4e7ed}.q-button.q-type-default.is-disabled[data-v-4eae179c]:hover{color:#333;background:#fff;border-color:#e4e7ed}.q-button.q-type-default[data-v-4eae179c]:active{color:#0e5e31;border-color:#0e5e31}.q-button.q-type-default.q-type-dashed[data-v-4eae179c]{border-style:dashed}.q-button.q-type-default>.q-loadingIndicator[data-v-4eae179c]{border-color:#333 #333 #333 transparent}.q-button.q-type-primary[data-v-4eae179c]{background-color:#1bb760;border-color:#1bb760;color:#fff}.q-button.q-type-primary[data-v-4eae179c]:hover{background:#52e694;border-color:#52e694}.q-button.q-type-primary[data-v-4eae179c]:active{background-color:#0e5e31;border-color:#0e5e31}.q-button.q-type-primary.is-disabled[data-v-4eae179c]{cursor:not-allowed;background:#52e694;border-color:#52e694}.q-button.q-type-primary.is-disabled[data-v-4eae179c]:hover{background:#52e694;border-color:#52e694}.q-button.q-type-primary.q-type-dashed[data-v-4eae179c]{border-style:dashed;background-color:#fff!important;color:#1bb760}.q-button.q-type-info[data-v-4eae179c]{background-color:#909399;border-color:#909399;color:#fff}.q-button.q-type-info[data-v-4eae179c]:hover{background:#c5c7ca;border-color:#c5c7ca}.q-button.q-type-info[data-v-4eae179c]:active{background-color:#5d6066;border-color:#5d6066}.q-button.q-type-info.is-disabled[data-v-4eae179c]{cursor:not-allowed;background:#c5c7ca;border-color:#c5c7ca}.q-button.q-type-info.is-disabled[data-v-4eae179c]:hover{background:#c5c7ca;border-color:#c5c7ca}.q-button.q-type-info.q-type-dashed[data-v-4eae179c]{border-style:dashed;background-color:#fff!important;color:#909399}.q-button.q-type-success[data-v-4eae179c]{background-color:#85ce61;border-color:#85ce61;color:#fff}.q-button.q-type-success[data-v-4eae179c]:hover{background:#c1e6af;border-color:#c1e6af}.q-button.q-type-success[data-v-4eae179c]:active{background-color:#539930;border-color:#539930}.q-button.q-type-success.is-disabled[data-v-4eae179c]{cursor:not-allowed;background:#c1e6af;border-color:#c1e6af}.q-button.q-type-success.is-disabled[data-v-4eae179c]:hover{background:#c1e6af;border-color:#c1e6af}.q-button.q-type-success.q-type-dashed[data-v-4eae179c]{border-style:dashed;background-color:#fff!important;color:#85ce61}.q-button.q-type-warning[data-v-4eae179c]{background-color:#f0a020;border-color:#f0a020;color:#fff}.q-button.q-type-warning[data-v-4eae179c]:hover{background:#f6c980;border-color:#f6c980}.q-button.q-type-warning[data-v-4eae179c]:active{background-color:#9f660b;border-color:#9f660b}.q-button.q-type-warning.is-disabled[data-v-4eae179c]{cursor:not-allowed;background:#f6c980;border-color:#f6c980}.q-button.q-type-warning.is-disabled[data-v-4eae179c]:hover{background:#f6c980;border-color:#f6c980}.q-button.q-type-warning.q-type-dashed[data-v-4eae179c]{border-style:dashed;background-color:#fff!important;color:#f0a020}.q-button.q-type-error[data-v-4eae179c]{background-color:#d03050;border-color:#d03050;color:#fff}.q-button.q-type-error[data-v-4eae179c]:hover{background:#e38396;border-color:#e38396}.q-button.q-type-error[data-v-4eae179c]:active{background-color:#7e1c30;border-color:#7e1c30}.q-button.q-type-error.is-disabled[data-v-4eae179c]{cursor:not-allowed;background:#e38396;border-color:#e38396}.q-button.q-type-error.is-disabled[data-v-4eae179c]:hover{background:#e38396;border-color:#e38396}.q-button.q-type-error.q-type-dashed[data-v-4eae179c]{border-style:dashed;background-color:#fff!important;color:#d03050}.q-button>.q-loadingIndicator[data-v-4eae179c]{width:14px;height:14px;display:inline-block;margin-right:5px;border-radius:50%;border-color:#fff #fff #fff transparent;border-style:solid;border-width:2px;animation:q-spin-4eae179c 1s infinite linear}.q-button.is-loading[data-v-4eae179c]{pointer-events:none!important}@keyframes q-spin-4eae179c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.w5[data-v-3b126f0b]{width:5%}.w10[data-v-3b126f0b]{width:10%}.w15[data-v-3b126f0b]{width:15%}.w20[data-v-3b126f0b]{width:20%}.w25[data-v-3b126f0b]{width:25%}.w30[data-v-3b126f0b]{width:30%}.w40[data-v-3b126f0b]{width:40%}.w50[data-v-3b126f0b]{width:50%}.w60[data-v-3b126f0b]{width:60%}.w100[data-v-3b126f0b]{width:100%}.ml-0[data-v-3b126f0b]{margin-left:0}.mr-0[data-v-3b126f0b]{margin-right:0}.mt-0[data-v-3b126f0b]{margin-top:0}.mb-0[data-v-3b126f0b]{margin-bottom:0}.pl-0[data-v-3b126f0b]{padding-left:0}.pr-0[data-v-3b126f0b]{padding-right:0}.pt-0[data-v-3b126f0b]{padding-top:0}.pb-0[data-v-3b126f0b]{padding-bottom:0}.ml-2[data-v-3b126f0b]{margin-left:2px}.mr-2[data-v-3b126f0b]{margin-right:2px}.mt-2[data-v-3b126f0b]{margin-top:2px}.mb-2[data-v-3b126f0b]{margin-bottom:2px}.pl-2[data-v-3b126f0b]{padding-left:2px}.pr-2[data-v-3b126f0b]{padding-right:2px}.pt-2[data-v-3b126f0b]{padding-top:2px}.pb-2[data-v-3b126f0b]{padding-bottom:2px}.ml-5[data-v-3b126f0b]{margin-left:5px}.mr-5[data-v-3b126f0b]{margin-right:5px}.mt-5[data-v-3b126f0b]{margin-top:5px}.mb-5[data-v-3b126f0b]{margin-bottom:5px}.pl-5[data-v-3b126f0b]{padding-left:5px}.pr-5[data-v-3b126f0b]{padding-right:5px}.pt-5[data-v-3b126f0b]{padding-top:5px}.pb-5[data-v-3b126f0b]{padding-bottom:5px}.ml-8[data-v-3b126f0b]{margin-left:8px}.mr-8[data-v-3b126f0b]{margin-right:8px}.mt-8[data-v-3b126f0b]{margin-top:8px}.mb-8[data-v-3b126f0b]{margin-bottom:8px}.pl-8[data-v-3b126f0b]{padding-left:8px}.pr-8[data-v-3b126f0b]{padding-right:8px}.pt-8[data-v-3b126f0b]{padding-top:8px}.pb-8[data-v-3b126f0b]{padding-bottom:8px}.ml-10[data-v-3b126f0b]{margin-left:10px}.mr-10[data-v-3b126f0b]{margin-right:10px}.mt-10[data-v-3b126f0b]{margin-top:10px}.mb-10[data-v-3b126f0b]{margin-bottom:10px}.pl-10[data-v-3b126f0b]{padding-left:10px}.pr-10[data-v-3b126f0b]{padding-right:10px}.pt-10[data-v-3b126f0b]{padding-top:10px}.pb-10[data-v-3b126f0b]{padding-bottom:10px}.ml-12[data-v-3b126f0b]{margin-left:12px}.mr-12[data-v-3b126f0b]{margin-right:12px}.mt-12[data-v-3b126f0b]{margin-top:12px}.mb-12[data-v-3b126f0b]{margin-bottom:12px}.pl-12[data-v-3b126f0b]{padding-left:12px}.pr-12[data-v-3b126f0b]{padding-right:12px}.pt-12[data-v-3b126f0b]{padding-top:12px}.pb-12[data-v-3b126f0b]{padding-bottom:12px}.ml-14[data-v-3b126f0b]{margin-left:14px}.mr-14[data-v-3b126f0b]{margin-right:14px}.mt-14[data-v-3b126f0b]{margin-top:14px}.mb-14[data-v-3b126f0b]{margin-bottom:14px}.pl-14[data-v-3b126f0b]{padding-left:14px}.pr-14[data-v-3b126f0b]{padding-right:14px}.pt-14[data-v-3b126f0b]{padding-top:14px}.pb-14[data-v-3b126f0b]{padding-bottom:14px}.ml-15[data-v-3b126f0b]{margin-left:15px}.mr-15[data-v-3b126f0b]{margin-right:15px}.mt-15[data-v-3b126f0b]{margin-top:15px}.mb-15[data-v-3b126f0b]{margin-bottom:15px}.pl-15[data-v-3b126f0b]{padding-left:15px}.pr-15[data-v-3b126f0b]{padding-right:15px}.pt-15[data-v-3b126f0b]{padding-top:15px}.pb-15[data-v-3b126f0b]{padding-bottom:15px}.ml-16[data-v-3b126f0b]{margin-left:16px}.mr-16[data-v-3b126f0b]{margin-right:16px}.mt-16[data-v-3b126f0b]{margin-top:16px}.mb-16[data-v-3b126f0b]{margin-bottom:16px}.pl-16[data-v-3b126f0b]{padding-left:16px}.pr-16[data-v-3b126f0b]{padding-right:16px}.pt-16[data-v-3b126f0b]{padding-top:16px}.pb-16[data-v-3b126f0b]{padding-bottom:16px}.ml-18[data-v-3b126f0b]{margin-left:18px}.mr-18[data-v-3b126f0b]{margin-right:18px}.mt-18[data-v-3b126f0b]{margin-top:18px}.mb-18[data-v-3b126f0b]{margin-bottom:18px}.pl-18[data-v-3b126f0b]{padding-left:18px}.pr-18[data-v-3b126f0b]{padding-right:18px}.pt-18[data-v-3b126f0b]{padding-top:18px}.pb-18[data-v-3b126f0b]{padding-bottom:18px}.ml-20[data-v-3b126f0b]{margin-left:20px}.mr-20[data-v-3b126f0b]{margin-right:20px}.mt-20[data-v-3b126f0b]{margin-top:20px}.mb-20[data-v-3b126f0b]{margin-bottom:20px}.pl-20[data-v-3b126f0b]{padding-left:20px}.pr-20[data-v-3b126f0b]{padding-right:20px}.pt-20[data-v-3b126f0b]{padding-top:20px}.pb-20[data-v-3b126f0b]{padding-bottom:20px}.ml-24[data-v-3b126f0b]{margin-left:24px}.mr-24[data-v-3b126f0b]{margin-right:24px}.mt-24[data-v-3b126f0b]{margin-top:24px}.mb-24[data-v-3b126f0b]{margin-bottom:24px}.pl-24[data-v-3b126f0b]{padding-left:24px}.pr-24[data-v-3b126f0b]{padding-right:24px}.pt-24[data-v-3b126f0b]{padding-top:24px}.pb-24[data-v-3b126f0b]{padding-bottom:24px}.ml-25[data-v-3b126f0b]{margin-left:25px}.mr-25[data-v-3b126f0b]{margin-right:25px}.mt-25[data-v-3b126f0b]{margin-top:25px}.mb-25[data-v-3b126f0b]{margin-bottom:25px}.pl-25[data-v-3b126f0b]{padding-left:25px}.pr-25[data-v-3b126f0b]{padding-right:25px}.pt-25[data-v-3b126f0b]{padding-top:25px}.pb-25[data-v-3b126f0b]{padding-bottom:25px}.ml-30[data-v-3b126f0b]{margin-left:30px}.mr-30[data-v-3b126f0b]{margin-right:30px}.mt-30[data-v-3b126f0b]{margin-top:30px}.mb-30[data-v-3b126f0b]{margin-bottom:30px}.pl-30[data-v-3b126f0b]{padding-left:30px}.pr-30[data-v-3b126f0b]{padding-right:30px}.pt-30[data-v-3b126f0b]{padding-top:30px}.pb-30[data-v-3b126f0b]{padding-bottom:30px}.ml-36[data-v-3b126f0b]{margin-left:36px}.mr-36[data-v-3b126f0b]{margin-right:36px}.mt-36[data-v-3b126f0b]{margin-top:36px}.mb-36[data-v-3b126f0b]{margin-bottom:36px}.pl-36[data-v-3b126f0b]{padding-left:36px}.pr-36[data-v-3b126f0b]{padding-right:36px}.pt-36[data-v-3b126f0b]{padding-top:36px}.pb-36[data-v-3b126f0b]{padding-bottom:36px}.ml-40[data-v-3b126f0b]{margin-left:40px}.mr-40[data-v-3b126f0b]{margin-right:40px}.mt-40[data-v-3b126f0b]{margin-top:40px}.mb-40[data-v-3b126f0b]{margin-bottom:40px}.pl-40[data-v-3b126f0b]{padding-left:40px}.pr-40[data-v-3b126f0b]{padding-right:40px}.pt-40[data-v-3b126f0b]{padding-top:40px}.pb-40[data-v-3b126f0b]{padding-bottom:40px}.ml-50[data-v-3b126f0b]{margin-left:50px}.mr-50[data-v-3b126f0b]{margin-right:50px}.mt-50[data-v-3b126f0b]{margin-top:50px}.mb-50[data-v-3b126f0b]{margin-bottom:50px}.pl-50[data-v-3b126f0b]{padding-left:50px}.pr-50[data-v-3b126f0b]{padding-right:50px}.pt-50[data-v-3b126f0b]{padding-top:50px}.pb-50[data-v-3b126f0b]{padding-bottom:50px}.ml-100[data-v-3b126f0b]{margin-left:100px}.mr-100[data-v-3b126f0b]{margin-right:100px}.mt-100[data-v-3b126f0b]{margin-top:100px}.mb-100[data-v-3b126f0b]{margin-bottom:100px}.pl-100[data-v-3b126f0b]{padding-left:100px}.pr-100[data-v-3b126f0b]{padding-right:100px}.pt-100[data-v-3b126f0b]{padding-top:100px}.pb-100[data-v-3b126f0b]{padding-bottom:100px}.m-select[data-v-3b126f0b]{position:relative;display:inline-block;font-size:14px;font-weight:400;color:#000000a6}.fade-enter-active[data-v-3b126f0b],.fade-leave-active[data-v-3b126f0b]{transform:scaleY(1);transform-origin:0% 0%;opacity:1;transition:all .3s}.fade-enter-from[data-v-3b126f0b]{transform:scaleY(.8);transform-origin:0% 0%;opacity:0}.fade-leave-to[data-v-3b126f0b]{transform:scaleY(1);opacity:0}.m-select-wrap[data-v-3b126f0b]{position:relative;z-index:8;display:inline-block;border:1px solid #d9d9d9;border-radius:4px;background-color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.645,.045,.355,1)}.m-select-wrap .u-select-input[data-v-3b126f0b]{display:block;text-align:left;margin-left:11px;margin-right:27px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-select-wrap .placeholder[data-v-3b126f0b]{color:#bfbfbf}.m-select-wrap .triangle[data-v-3b126f0b]{position:absolute;top:0;bottom:0;margin:auto 0;right:11px;width:12px;height:12px;fill:#00000040;opacity:0;pointer-events:none;transition:all .3s ease-in-out}.m-select-wrap .rotate[data-v-3b126f0b]{transform:rotate(180deg);-webkit-transform:rotate(180deg)}.m-select-wrap .close[data-v-3b126f0b]{position:absolute;top:0;bottom:0;margin:auto 0;right:11px;width:12px;height:12px;fill:#8c8c8c99;opacity:0;pointer-events:none;transition:all .3s ease-in-out}.m-select-wrap .close[data-v-3b126f0b]:hover{fill:#646464cc}.m-select-wrap .show[data-v-3b126f0b]{opacity:1;pointer-events:auto}.hover[data-v-3b126f0b]:hover{border-color:#1bb760}.focus[data-v-3b126f0b]{border-color:#1bb760;box-shadow:0 0 0 2px fade(#1bb760,20%)}.disabled[data-v-3b126f0b]{color:#00000040;background:#f5f5f5;user-select:none;cursor:not-allowed}.m-options-panel[data-v-3b126f0b]{position:absolute;z-index:9;overflow:auto;background:#fff;padding:4px 0;border-radius:4px;box-shadow:0 2px 8px #00000026}.m-options-panel .u-option[data-v-3b126f0b]{text-align:left;position:relative;display:block;padding:5px 12px;font-weight:400;line-height:inherit;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:background .3s ease}.m-options-panel .option-selected[data-v-3b126f0b]{font-weight:600;background:#fafafa}.m-options-panel .option-hover[data-v-3b126f0b]{background:#e6f7ff}.m-options-panel .option-disabled[data-v-3b126f0b]{color:#00000040;user-select:none;cursor:not-allowed}.w5[data-v-8c81a90d]{width:5%}.w10[data-v-8c81a90d]{width:10%}.w15[data-v-8c81a90d]{width:15%}.w20[data-v-8c81a90d]{width:20%}.w25[data-v-8c81a90d]{width:25%}.w30[data-v-8c81a90d]{width:30%}.w40[data-v-8c81a90d]{width:40%}.w50[data-v-8c81a90d]{width:50%}.w60[data-v-8c81a90d]{width:60%}.w100[data-v-8c81a90d]{width:100%}.ml-0[data-v-8c81a90d]{margin-left:0}.mr-0[data-v-8c81a90d]{margin-right:0}.mt-0[data-v-8c81a90d]{margin-top:0}.mb-0[data-v-8c81a90d]{margin-bottom:0}.pl-0[data-v-8c81a90d]{padding-left:0}.pr-0[data-v-8c81a90d]{padding-right:0}.pt-0[data-v-8c81a90d]{padding-top:0}.pb-0[data-v-8c81a90d]{padding-bottom:0}.ml-2[data-v-8c81a90d]{margin-left:2px}.mr-2[data-v-8c81a90d]{margin-right:2px}.mt-2[data-v-8c81a90d]{margin-top:2px}.mb-2[data-v-8c81a90d]{margin-bottom:2px}.pl-2[data-v-8c81a90d]{padding-left:2px}.pr-2[data-v-8c81a90d]{padding-right:2px}.pt-2[data-v-8c81a90d]{padding-top:2px}.pb-2[data-v-8c81a90d]{padding-bottom:2px}.ml-5[data-v-8c81a90d]{margin-left:5px}.mr-5[data-v-8c81a90d]{margin-right:5px}.mt-5[data-v-8c81a90d]{margin-top:5px}.mb-5[data-v-8c81a90d]{margin-bottom:5px}.pl-5[data-v-8c81a90d]{padding-left:5px}.pr-5[data-v-8c81a90d]{padding-right:5px}.pt-5[data-v-8c81a90d]{padding-top:5px}.pb-5[data-v-8c81a90d]{padding-bottom:5px}.ml-8[data-v-8c81a90d]{margin-left:8px}.mr-8[data-v-8c81a90d]{margin-right:8px}.mt-8[data-v-8c81a90d]{margin-top:8px}.mb-8[data-v-8c81a90d]{margin-bottom:8px}.pl-8[data-v-8c81a90d]{padding-left:8px}.pr-8[data-v-8c81a90d]{padding-right:8px}.pt-8[data-v-8c81a90d]{padding-top:8px}.pb-8[data-v-8c81a90d]{padding-bottom:8px}.ml-10[data-v-8c81a90d]{margin-left:10px}.mr-10[data-v-8c81a90d]{margin-right:10px}.mt-10[data-v-8c81a90d]{margin-top:10px}.mb-10[data-v-8c81a90d]{margin-bottom:10px}.pl-10[data-v-8c81a90d]{padding-left:10px}.pr-10[data-v-8c81a90d]{padding-right:10px}.pt-10[data-v-8c81a90d]{padding-top:10px}.pb-10[data-v-8c81a90d]{padding-bottom:10px}.ml-12[data-v-8c81a90d]{margin-left:12px}.mr-12[data-v-8c81a90d]{margin-right:12px}.mt-12[data-v-8c81a90d]{margin-top:12px}.mb-12[data-v-8c81a90d]{margin-bottom:12px}.pl-12[data-v-8c81a90d]{padding-left:12px}.pr-12[data-v-8c81a90d]{padding-right:12px}.pt-12[data-v-8c81a90d]{padding-top:12px}.pb-12[data-v-8c81a90d]{padding-bottom:12px}.ml-14[data-v-8c81a90d]{margin-left:14px}.mr-14[data-v-8c81a90d]{margin-right:14px}.mt-14[data-v-8c81a90d]{margin-top:14px}.mb-14[data-v-8c81a90d]{margin-bottom:14px}.pl-14[data-v-8c81a90d]{padding-left:14px}.pr-14[data-v-8c81a90d]{padding-right:14px}.pt-14[data-v-8c81a90d]{padding-top:14px}.pb-14[data-v-8c81a90d]{padding-bottom:14px}.ml-15[data-v-8c81a90d]{margin-left:15px}.mr-15[data-v-8c81a90d]{margin-right:15px}.mt-15[data-v-8c81a90d]{margin-top:15px}.mb-15[data-v-8c81a90d]{margin-bottom:15px}.pl-15[data-v-8c81a90d]{padding-left:15px}.pr-15[data-v-8c81a90d]{padding-right:15px}.pt-15[data-v-8c81a90d]{padding-top:15px}.pb-15[data-v-8c81a90d]{padding-bottom:15px}.ml-16[data-v-8c81a90d]{margin-left:16px}.mr-16[data-v-8c81a90d]{margin-right:16px}.mt-16[data-v-8c81a90d]{margin-top:16px}.mb-16[data-v-8c81a90d]{margin-bottom:16px}.pl-16[data-v-8c81a90d]{padding-left:16px}.pr-16[data-v-8c81a90d]{padding-right:16px}.pt-16[data-v-8c81a90d]{padding-top:16px}.pb-16[data-v-8c81a90d]{padding-bottom:16px}.ml-18[data-v-8c81a90d]{margin-left:18px}.mr-18[data-v-8c81a90d]{margin-right:18px}.mt-18[data-v-8c81a90d]{margin-top:18px}.mb-18[data-v-8c81a90d]{margin-bottom:18px}.pl-18[data-v-8c81a90d]{padding-left:18px}.pr-18[data-v-8c81a90d]{padding-right:18px}.pt-18[data-v-8c81a90d]{padding-top:18px}.pb-18[data-v-8c81a90d]{padding-bottom:18px}.ml-20[data-v-8c81a90d]{margin-left:20px}.mr-20[data-v-8c81a90d]{margin-right:20px}.mt-20[data-v-8c81a90d]{margin-top:20px}.mb-20[data-v-8c81a90d]{margin-bottom:20px}.pl-20[data-v-8c81a90d]{padding-left:20px}.pr-20[data-v-8c81a90d]{padding-right:20px}.pt-20[data-v-8c81a90d]{padding-top:20px}.pb-20[data-v-8c81a90d]{padding-bottom:20px}.ml-24[data-v-8c81a90d]{margin-left:24px}.mr-24[data-v-8c81a90d]{margin-right:24px}.mt-24[data-v-8c81a90d]{margin-top:24px}.mb-24[data-v-8c81a90d]{margin-bottom:24px}.pl-24[data-v-8c81a90d]{padding-left:24px}.pr-24[data-v-8c81a90d]{padding-right:24px}.pt-24[data-v-8c81a90d]{padding-top:24px}.pb-24[data-v-8c81a90d]{padding-bottom:24px}.ml-25[data-v-8c81a90d]{margin-left:25px}.mr-25[data-v-8c81a90d]{margin-right:25px}.mt-25[data-v-8c81a90d]{margin-top:25px}.mb-25[data-v-8c81a90d]{margin-bottom:25px}.pl-25[data-v-8c81a90d]{padding-left:25px}.pr-25[data-v-8c81a90d]{padding-right:25px}.pt-25[data-v-8c81a90d]{padding-top:25px}.pb-25[data-v-8c81a90d]{padding-bottom:25px}.ml-30[data-v-8c81a90d]{margin-left:30px}.mr-30[data-v-8c81a90d]{margin-right:30px}.mt-30[data-v-8c81a90d]{margin-top:30px}.mb-30[data-v-8c81a90d]{margin-bottom:30px}.pl-30[data-v-8c81a90d]{padding-left:30px}.pr-30[data-v-8c81a90d]{padding-right:30px}.pt-30[data-v-8c81a90d]{padding-top:30px}.pb-30[data-v-8c81a90d]{padding-bottom:30px}.ml-36[data-v-8c81a90d]{margin-left:36px}.mr-36[data-v-8c81a90d]{margin-right:36px}.mt-36[data-v-8c81a90d]{margin-top:36px}.mb-36[data-v-8c81a90d]{margin-bottom:36px}.pl-36[data-v-8c81a90d]{padding-left:36px}.pr-36[data-v-8c81a90d]{padding-right:36px}.pt-36[data-v-8c81a90d]{padding-top:36px}.pb-36[data-v-8c81a90d]{padding-bottom:36px}.ml-40[data-v-8c81a90d]{margin-left:40px}.mr-40[data-v-8c81a90d]{margin-right:40px}.mt-40[data-v-8c81a90d]{margin-top:40px}.mb-40[data-v-8c81a90d]{margin-bottom:40px}.pl-40[data-v-8c81a90d]{padding-left:40px}.pr-40[data-v-8c81a90d]{padding-right:40px}.pt-40[data-v-8c81a90d]{padding-top:40px}.pb-40[data-v-8c81a90d]{padding-bottom:40px}.ml-50[data-v-8c81a90d]{margin-left:50px}.mr-50[data-v-8c81a90d]{margin-right:50px}.mt-50[data-v-8c81a90d]{margin-top:50px}.mb-50[data-v-8c81a90d]{margin-bottom:50px}.pl-50[data-v-8c81a90d]{padding-left:50px}.pr-50[data-v-8c81a90d]{padding-right:50px}.pt-50[data-v-8c81a90d]{padding-top:50px}.pb-50[data-v-8c81a90d]{padding-bottom:50px}.ml-100[data-v-8c81a90d]{margin-left:100px}.mr-100[data-v-8c81a90d]{margin-right:100px}.mt-100[data-v-8c81a90d]{margin-top:100px}.mb-100[data-v-8c81a90d]{margin-bottom:100px}.pl-100[data-v-8c81a90d]{padding-left:100px}.pr-100[data-v-8c81a90d]{padding-right:100px}.pt-100[data-v-8c81a90d]{padding-top:100px}.pb-100[data-v-8c81a90d]{padding-bottom:100px}.m-breadcrumb[data-v-8c81a90d]{display:flex;align-items:center}.m-breadcrumb .m-bread[data-v-8c81a90d]{display:inline-flex;align-items:center;line-height:1.5}.m-breadcrumb .m-bread .u-route[data-v-8c81a90d]{color:#00000073;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;padding:0 4px;border-radius:4px;transition:color .2s,background-color .2s}.m-breadcrumb .m-bread .u-route[data-v-8c81a90d]:hover{background-color:#0000000d;color:#000000e0}.m-breadcrumb .m-bread .active[data-v-8c81a90d]{color:#000000e0;cursor:default}.m-breadcrumb .m-bread .active[data-v-8c81a90d]:hover{background-color:transparent}.m-breadcrumb .m-bread .u-separator[data-v-8c81a90d]{margin:0 4px;color:#00000073}.m-breadcrumb .m-bread .u-arrow[data-v-8c81a90d]{width:12px;height:12px;fill:#00000073}.m-breadcrumb .assist[data-v-8c81a90d]{height:100%;width:0;display:inline-block;vertical-align:middle}.VPLocalSearchBox[data-v-b030f574]{position:fixed;z-index:100;inset:0;display:flex}.backdrop[data-v-b030f574]{position:absolute;inset:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-b030f574]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 768px){.shell[data-v-b030f574]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-b030f574]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 768px){.search-bar[data-v-b030f574]{padding:0 8px}}.search-bar[data-v-b030f574]:focus-within{border-color:var(--vp-c-brand)}.search-icon[data-v-b030f574]{margin:8px}@media (max-width: 768px){.search-icon[data-v-b030f574]{display:none}}.search-input[data-v-b030f574]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 768px){.search-input[data-v-b030f574]{padding:6px 4px}}.search-actions[data-v-b030f574]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-b030f574]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-b030f574]{display:none}}.search-actions button[data-v-b030f574]{padding:8px}.search-actions button[data-v-b030f574]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-b030f574]{color:var(--vp-c-brand)}.search-actions button.clear-button[data-v-b030f574]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-b030f574]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-b030f574]{display:flex;align-items:center;gap:4px}@media (max-width: 768px){.search-keyboard-shortcuts[data-v-b030f574]{display:none}}.search-keyboard-shortcuts kbd[data-v-b030f574]{background:rgba(128,128,128,.1);border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-b030f574]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-b030f574]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-b030f574]{margin:12px;width:100%;overflow:hidden}@media (max-width: 768px){.result>div[data-v-b030f574]{margin:8px}}.titles[data-v-b030f574]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-b030f574]{display:flex;align-items:center;gap:4px}.title.main[data-v-b030f574]{font-weight:500}.title-icon[data-v-b030f574]{opacity:.5;font-weight:500;color:var(--vp-c-brand)}.title svg[data-v-b030f574]{opacity:.5}.result.selected[data-v-b030f574]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-b030f574]{position:relative}.excerpt[data-v-b030f574]{opacity:75%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;opacity:.5;margin-top:4px}.result.selected .excerpt[data-v-b030f574]{opacity:1}.excerpt[data-v-b030f574] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-b030f574] mark,.excerpt[data-v-b030f574] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-b030f574] .vp-code-group .tabs{display:none}.excerpt[data-v-b030f574] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-b030f574]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-b030f574]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-b030f574],.result.selected .title-icon[data-v-b030f574]{color:var(--vp-c-brand)!important}.no-results[data-v-b030f574]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-b030f574]{flex:none} diff --git a/docs/.vitepress/dist/assets/utils_date-format.md.e268d2ac.js b/docs/.vitepress/dist/assets/utils_date-format.md.e268d2ac.js new file mode 100644 index 0000000..14598c1 --- /dev/null +++ b/docs/.vitepress/dist/assets/utils_date-format.md.e268d2ac.js @@ -0,0 +1,54 @@ +import{_ as s,c as a,o as n,V as l}from"./chunks/framework.dc35932b.js";const i=JSON.parse('{"title":"日期格式化","description":"","frontmatter":{},"headers":[],"relativePath":"utils/date-format.md","filePath":"utils/date-format.md"}'),o={name:"utils/date-format.md"},p=l(`