@melt-js/demo-vue3 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -3
- package/dist/assets/HostView-CI4NKKTv.js +2 -0
- package/dist/assets/HostView-CI4NKKTv.js.map +1 -0
- package/dist/assets/HostView-I-DgsKrJ.css +1 -0
- package/dist/assets/OverviewView-BzBqZXy_.js +2 -0
- package/dist/assets/OverviewView-BzBqZXy_.js.map +1 -0
- package/dist/assets/RemoteView-Bf-M2ckO.js +2 -0
- package/dist/assets/RemoteView-Bf-M2ckO.js.map +1 -0
- package/dist/assets/RemoteView-DagINN91.css +1 -0
- package/dist/assets/_plugin-vue_export-helper-BWAI2PXX.js +2 -0
- package/dist/assets/_plugin-vue_export-helper-BWAI2PXX.js.map +1 -0
- package/dist/assets/{index-CuPzn6_v.js → index-BWYTdPfJ.js} +3 -3
- package/dist/assets/{index-CuPzn6_v.js.map → index-BWYTdPfJ.js.map} +1 -1
- package/dist/assets/loadApp-VfkNA6r0.js +11 -0
- package/dist/assets/loadApp-VfkNA6r0.js.map +1 -0
- package/dist/assets/loadApp-t5jvd8FF.css +1 -0
- package/dist/index.html +1 -1
- package/package.json +2 -1
- package/dist/assets/HostView-CO-PQ4Eg.css +0 -1
- package/dist/assets/HostView-p_QlXO2b.js +0 -2
- package/dist/assets/HostView-p_QlXO2b.js.map +0 -1
- package/dist/assets/OverviewView-Y30WcRVR.js +0 -2
- package/dist/assets/OverviewView-Y30WcRVR.js.map +0 -1
- package/dist/assets/RemoteView-DMITrjYR.js +0 -2
- package/dist/assets/RemoteView-DMITrjYR.js.map +0 -1
- package/dist/assets/loadApp-B7EqU81T.js +0 -11
- package/dist/assets/loadApp-B7EqU81T.js.map +0 -1
- package/dist/assets/loadApp-CXgewGYF.css +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OverviewView-Y30WcRVR.js","sources":["../../src/views/OverviewView.vue"],"sourcesContent":["<template>\n <div class=\"demo-page\">\n <header>\n <p class=\"demo-page__eyebrow\">Vue 3 · hel 宿主</p>\n <h1 class=\"demo-page__title\">{{ APP_META.name }} 简介</h1>\n <p class=\"demo-page__lead\">\n Vue 3 + Vite 5 的 hel 宿主(消费方)示例:入口处用\n <code>bindVueRuntime</code> 注入宿主 Vue 运行时,再用\n <code>preFetchLib</code> 预加载远程组件 <code>comps-vue3</code>。\n 顶部导航栏用于切换示例,示例区右上角的「全屏」按钮可以只把示例内容放大到全屏。\n </p>\n </header>\n\n <table class=\"demo-table\">\n <tbody>\n <tr>\n <th>npm 包名</th>\n <td><code>@melt-js/demo-vue3</code></td>\n </tr>\n <tr>\n <th>unpkg 入口</th>\n <td>\n <a :href=\"APP_META.unpkgEntry\" target=\"_blank\" rel=\"noopener\">{{ APP_META.unpkgEntry }}</a>\n </td>\n </tr>\n <tr>\n <th>本地端口</th>\n <td>{{ APP_META.port }}</td>\n </tr>\n <tr>\n <th>远程组件</th>\n <td>\n <div><code>{{ REMOTE_LIB_NAME }}</code></div>\n <div>开发:<code>{{ LOCAL_HOST }}</code></div>\n <div>生产:<code>{{ UNPKG_HOST }}</code></div>\n </td>\n </tr>\n <tr>\n <th>运行时共享</th>\n <td><code>bindVueRuntime({ Vue })</code>,远程组件 external 的 vue 复用宿主这一份</td>\n </tr>\n <tr>\n <th>路由模式</th>\n <td>\n hash(<code>#/remote</code>),保证从 unpkg 的 <code>dist/index.html</code>\n 直接打开也能切换示例\n </td>\n </tr>\n </tbody>\n </table>\n\n <section>\n <h2 class=\"demo-page__section-title\">示例导航</h2>\n <div class=\"demo-grid\">\n <router-link\n v-for=\"item in examples\"\n :key=\"item.path\"\n :to=\"item.path\"\n class=\"demo-card demo-card--link\"\n >\n <h3 class=\"demo-card__title\">{{ item.meta?.title }}</h3>\n <p class=\"demo-card__text\">{{ item.meta?.description }}</p>\n <span class=\"demo-card__action\">进入示例 →</span>\n </router-link>\n </div>\n </section>\n\n <p class=\"demo-note\">\n 本地开发先执行 <code>pnpm comps-vue3:dev</code>(20020),再执行\n <code>pnpm demo-vue3:dev</code> 打开 http://localhost:30020;远端地址可用\n <code>VITE_REMOTE_HOST</code> 覆盖。\n </p>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { APP_META } from '../configs/app'\nimport { LOCAL_HOST, REMOTE_LIB_NAME, UNPKG_HOST } from '../configs/remote'\nimport { demoRoutes } from '../router'\n\n// 简介页也列出其余示例,方便直接跳转\nconst examples = demoRoutes.filter((item) => item.name && item.name !== 'overview')\n</script>\n"],"names":["examples","demoRoutes","item","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_cache","_hoisted_2","_toDisplayString","_unref","_hoisted_3","APP_META","_hoisted_4","REMOTE_LIB_NAME","LOCAL_HOST","UNPKG_HOST","_hoisted_5","_Fragment","_renderList","_createBlock","_component_router_link","_hoisted_6","_a","_hoisted_7","_b"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{d as a,f as c,g as e,m as o,k as d,A as m,u as r,C as p,o as t,D as u}from"./index-CuPzn6_v.js";const i={class:"demo-page"},_={class:"demo-remote"},f=a({__name:"RemoteView",setup(v){const n=p({loader:async()=>{console.log("[demo-vue3] 开始加载远程组件...");try{const s=await u();return console.log("[demo-vue3] 远程组件加载完成:",s),s.HelloWorld}catch(s){throw console.error("[demo-vue3] 获取远程组件失败:",s),s}},timeout:1e4});return(s,l)=>(t(),c("div",i,[l[0]||(l[0]=e("header",null,[e("p",{class:"demo-page__eyebrow"},"远程组件"),e("h1",{class:"demo-page__title"},"comps-vue3 · HelloWorld"),e("p",{class:"demo-page__lead"},[o(" 下面的组件由 "),e("code",null,"preFetchLib('comps-vue3')"),o(" 从远端加载,宿主产物里没有它。 组件内的计数按钮验证远程组件复用的是宿主注入的那一份 Vue 运行时。 ")])],-1)),e("div",_,[(t(),d(m(r(n)),{msg:"来自 demo-vue3 的问候"}))]),l[1]||(l[1]=e("p",{class:"demo-note"},[o(" 远端地址:开发 "),e("code",null,"http://localhost:20020"),o("(先执行 "),e("code",null,"pnpm comps-vue3:dev"),o("),生产 "),e("code",null,"unpkg"),o(" 上的 "),e("code",null,"hel-meta.json"),o(";也可用 "),e("code",null,"VITE_REMOTE_HOST"),o(" 覆盖。 ")],-1))]))}});export{f as default};
|
|
2
|
-
//# sourceMappingURL=RemoteView-DMITrjYR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteView-DMITrjYR.js","sources":["../../src/views/RemoteView.vue"],"sourcesContent":["<template>\n <div class=\"demo-page\">\n <header>\n <p class=\"demo-page__eyebrow\">远程组件</p>\n <h1 class=\"demo-page__title\">comps-vue3 · HelloWorld</h1>\n <p class=\"demo-page__lead\">\n 下面的组件由 <code>preFetchLib('comps-vue3')</code> 从远端加载,宿主产物里没有它。\n 组件内的计数按钮验证远程组件复用的是宿主注入的那一份 Vue 运行时。\n </p>\n </header>\n\n <div class=\"demo-remote\">\n <component :is=\"RemoteComp\" msg=\"来自 demo-vue3 的问候\" />\n </div>\n\n <p class=\"demo-note\">\n 远端地址:开发 <code>http://localhost:20020</code>(先执行\n <code>pnpm comps-vue3:dev</code>),生产 <code>unpkg</code> 上的\n <code>hel-meta.json</code>;也可用 <code>VITE_REMOTE_HOST</code> 覆盖。\n </p>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { defineAsyncComponent } from 'vue'\nimport { loadRemoteLib } from '../configs/remote'\n\nconst RemoteComp = defineAsyncComponent({\n loader: async () => {\n console.log('[demo-vue3] 开始加载远程组件...')\n\n try {\n // 入口处已经预加载,这里复用同一个 Promise(通常已 resolve)\n const lib = await loadRemoteLib()\n\n console.log('[demo-vue3] 远程组件加载完成:', lib)\n return lib.HelloWorld\n } catch (err) {\n console.error('[demo-vue3] 获取远程组件失败:', err)\n throw err\n }\n },\n timeout: 10000,\n})\n</script>\n"],"names":["RemoteComp","defineAsyncComponent","lib","loadRemoteLib","err","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_createBlock","_resolveDynamicComponent","_unref"],"mappings":"6LA2BA,MAAMA,EAAaC,EAAqB,CACtC,OAAQ,SAAY,CAClB,QAAQ,IAAI,yBAAyB,EAErC,GAAI,CAEF,MAAMC,EAAM,MAAMC,EAAA,EAElB,eAAQ,IAAI,wBAAyBD,CAAG,EACjCA,EAAI,UACb,OAASE,EAAK,CACZ,cAAQ,MAAM,wBAAyBA,CAAG,EACpCA,CACR,CACF,EACA,QAAS,GAAA,CACV,gBA1CCC,EAAA,EAAAC,EAmBM,MAnBNC,EAmBM,aAlBJC,EAOS,SAAA,KAAA,CANPA,EAAsC,IAAA,CAAnC,MAAM,oBAAA,EAAqB,MAAI,EAClCA,EAAyD,KAAA,CAArD,MAAM,kBAAA,EAAmB,yBAAuB,EACpDA,EAGI,IAAA,CAHD,MAAM,mBAAiB,GAAC,UAClB,EAAAA,EAAsC,YAAhC,2BAAyB,IAAO,uDAE/C,CAAA,SAGFA,EAEM,MAFNC,EAEM,EADJJ,EAAA,EAAAK,EAAqDC,EAArCC,EAAAZ,CAAA,CAAU,EAAA,CAAE,IAAI,mBAAkB,EAAA,eAGpDQ,EAII,IAAA,CAJD,MAAM,aAAW,GAAC,WACX,EAAAA,EAAmC,YAA7B,wBAAsB,IAAO,OAC3C,EAAAA,EAAgC,YAA1B,qBAAmB,IAAO,OAAK,EAAAA,EAAkB,YAAZ,OAAK,IAAO,MACvD,EAAAA,EAA0B,YAApB,eAAa,IAAO,OAAK,EAAAA,EAA6B,YAAvB,kBAAgB,IAAO,OAC9D,CAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./OverviewView-Y30WcRVR.js","./index-CuPzn6_v.js","./HostView-p_QlXO2b.js","./HostView-CO-PQ4Eg.css","./RemoteView-DMITrjYR.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{u as G,s as Ct,a as Pt,d as ae,n as Ot,r as wt,i as J,h as ot,c as k,w as It,b as Te,p as Ee,_ as _e,e as st,o as U,f as z,g as x,t as F,F as Tt,j as xt,k as at,l as Se,m as Ce,q as it,v as kt,x as Dt,y as Bt,z as ce,T as Lt,A as Vt,B as Ft}from"./index-CuPzn6_v.js";/*!
|
|
3
|
-
* vue-router v4.6.4
|
|
4
|
-
* (c) 2025 Eduardo San Martin Morote
|
|
5
|
-
* @license MIT
|
|
6
|
-
*/const X=typeof document<"u";function lt(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Gt(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&<(e.default)}const N=Object.assign;function Re(e,t){const n={};for(const r in t){const o=t[r];n[r]=M(o)?o.map(e):e(o)}return n}const oe=()=>{},M=Array.isArray;function Ue(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const ct=/#/g,Mt=/&/g,Ut=/\//g,Ht=/=/g,jt=/\?/g,ut=/\+/g,qt=/%5B/g,Kt=/%5D/g,ft=/%5E/g,zt=/%60/g,dt=/%7B/g,Wt=/%7C/g,pt=/%7D/g,Qt=/%20/g;function xe(e){return e==null?"":encodeURI(""+e).replace(Wt,"|").replace(qt,"[").replace(Kt,"]")}function Yt(e){return xe(e).replace(dt,"{").replace(pt,"}").replace(ft,"^")}function Pe(e){return xe(e).replace(ut,"%2B").replace(Qt,"+").replace(ct,"%23").replace(Mt,"%26").replace(zt,"`").replace(dt,"{").replace(pt,"}").replace(ft,"^")}function Xt(e){return Pe(e).replace(Ht,"%3D")}function Jt(e){return xe(e).replace(ct,"%23").replace(jt,"%3F")}function Zt(e){return Jt(e).replace(Ut,"%2F")}function se(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const $t=/\/$/,en=e=>e.replace($t,"");function ye(e,t,n="/"){let r,o={},u="",d="";const m=t.indexOf("#");let s=t.indexOf("?");return s=m>=0&&s>m?-1:s,s>=0&&(r=t.slice(0,s),u=t.slice(s,m>0?m:t.length),o=e(u.slice(1))),m>=0&&(r=r||t.slice(0,m),d=t.slice(m,t.length)),r=on(r!=null?r:t,n),{fullPath:r+u+d,path:r,query:o,hash:se(d)}}function tn(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function He(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function nn(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&Z(t.matched[r],n.matched[o])&&ht(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Z(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function ht(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!rn(e[n],t[n]))return!1;return!0}function rn(e,t){return M(e)?je(e,t):M(t)?je(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function je(e,t){return M(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function on(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let u=n.length-1,d,m;for(d=0;d<r.length;d++)if(m=r[d],m!==".")if(m==="..")u>1&&u--;else break;return n.slice(0,u).join("/")+"/"+r.slice(d).join("/")}const q={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Oe=function(e){return e.pop="pop",e.push="push",e}({}),Ae=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function sn(e){if(!e)if(X){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),en(e)}const an=/^[^#]+#/;function ln(e,t){return e.replace(an,"#")+t}function cn(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const fe=()=>({left:window.scrollX,top:window.scrollY});function un(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=cn(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function qe(e,t){return(history.state?history.state.position-t:-1)+e}const we=new Map;function fn(e,t){we.set(e,t)}function dn(e){const t=we.get(e);return we.delete(e),t}function pn(e){return typeof e=="string"||e&&typeof e=="object"}function mt(e){return typeof e=="string"||typeof e=="symbol"}let O=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const gt=Symbol("");O.MATCHER_NOT_FOUND+"",O.NAVIGATION_GUARD_REDIRECT+"",O.NAVIGATION_ABORTED+"",O.NAVIGATION_CANCELLED+"",O.NAVIGATION_DUPLICATED+"";function $(e,t){return N(new Error,{type:e,[gt]:!0},t)}function H(e,t){return e instanceof Error&> in e&&(t==null||!!(e.type&t))}const hn=["params","query","hash"];function mn(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of hn)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function gn(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;r<n.length;++r){const o=n[r].replace(ut," "),u=o.indexOf("="),d=se(u<0?o:o.slice(0,u)),m=u<0?null:se(o.slice(u+1));if(d in t){let s=t[d];M(s)||(s=t[d]=[s]),s.push(m)}else t[d]=m}return t}function Ke(e){let t="";for(let n in e){const r=e[n];if(n=Xt(n),r==null){r!==void 0&&(t+=(t.length?"&":"")+n);continue}(M(r)?r.map(o=>o&&Pe(o)):[r&&Pe(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function vn(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=M(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const En=Symbol(""),ze=Symbol(""),ke=Symbol(""),De=Symbol(""),Ie=Symbol("");function re(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function K(e,t,n,r,o,u=d=>d()){const d=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((m,s)=>{const c=a=>{a===!1?s($(O.NAVIGATION_ABORTED,{from:n,to:t})):a instanceof Error?s(a):pn(a)?s($(O.NAVIGATION_GUARD_REDIRECT,{from:t,to:a})):(d&&r.enterCallbacks[o]===d&&typeof a=="function"&&d.push(a),m())},p=u(()=>e.call(r&&r.instances[o],t,n,c));let l=Promise.resolve(p);e.length<3&&(l=l.then(c)),l.catch(a=>s(a))})}function Ne(e,t,n,r,o=u=>u()){const u=[];for(const d of e)for(const m in d.components){let s=d.components[m];if(!(t!=="beforeRouteEnter"&&!d.instances[m]))if(lt(s)){const c=(s.__vccOpts||s)[t];c&&u.push(K(c,n,r,d,m,o))}else{let c=s();u.push(()=>c.then(p=>{if(!p)throw new Error(`Couldn't resolve component "${m}" at "${d.path}"`);const l=Gt(p)?p.default:p;d.mods[m]=p,d.components[m]=l;const a=(l.__vccOpts||l)[t];return a&&K(a,n,r,d,m,o)()}))}}return u}function _n(e,t){const n=[],r=[],o=[],u=Math.max(t.matched.length,e.matched.length);for(let d=0;d<u;d++){const m=t.matched[d];m&&(e.matched.find(c=>Z(c,m))?r.push(m):n.push(m));const s=e.matched[d];s&&(t.matched.find(c=>Z(c,s))||o.push(s))}return[n,r,o]}/*!
|
|
7
|
-
* vue-router v4.6.4
|
|
8
|
-
* (c) 2025 Eduardo San Martin Morote
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/let Rn=()=>location.protocol+"//"+location.host;function vt(e,t){const{pathname:n,search:r,hash:o}=t,u=e.indexOf("#");if(u>-1){let d=o.includes(e.slice(u))?e.slice(u).length:1,m=o.slice(d);return m[0]!=="/"&&(m="/"+m),He(m,"")}return He(n,e)+r+o}function yn(e,t,n,r){let o=[],u=[],d=null;const m=({state:a})=>{const f=vt(e,location),A=n.value,b=t.value;let C=0;if(a){if(n.value=f,t.value=a,d&&d===A){d=null;return}C=b?a.position-b.position:0}else r(f);o.forEach(P=>{P(n.value,A,{delta:C,type:Oe.pop,direction:C?C>0?Ae.forward:Ae.back:Ae.unknown})})};function s(){d=n.value}function c(a){o.push(a);const f=()=>{const A=o.indexOf(a);A>-1&&o.splice(A,1)};return u.push(f),f}function p(){if(document.visibilityState==="hidden"){const{history:a}=window;if(!a.state)return;a.replaceState(N({},a.state,{scroll:fe()}),"")}}function l(){for(const a of u)a();u=[],window.removeEventListener("popstate",m),window.removeEventListener("pagehide",p),document.removeEventListener("visibilitychange",p)}return window.addEventListener("popstate",m),window.addEventListener("pagehide",p),document.addEventListener("visibilitychange",p),{pauseListeners:s,listen:c,destroy:l}}function We(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?fe():null}}function An(e){const{history:t,location:n}=window,r={value:vt(e,n)},o={value:t.state};o.value||u(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function u(s,c,p){const l=e.indexOf("#"),a=l>-1?(n.host&&document.querySelector("base")?e:e.slice(l))+s:Rn()+e+s;try{t[p?"replaceState":"pushState"](c,"",a),o.value=c}catch(f){console.error(f),n[p?"replace":"assign"](a)}}function d(s,c){u(s,N({},t.state,We(o.value.back,s,o.value.forward,!0),c,{position:o.value.position}),!0),r.value=s}function m(s,c){const p=N({},o.value,t.state,{forward:s,scroll:fe()});u(p.current,p,!0),u(s,N({},We(r.value,s,null),{position:p.position+1},c),!1),r.value=s}return{location:r,state:o,push:m,replace:d}}function Nn(e){e=sn(e);const t=An(e),n=yn(e,t.state,t.location,t.replace);function r(u,d=!0){d||n.pauseListeners(),history.go(u)}const o=N({location:"",base:e,go:r,createHref:ln.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function bn(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Nn(e)}let Q=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var T=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(T||{});const Sn={type:Q.Static,value:""},Cn=/[a-zA-Z0-9_]/;function Pn(e){if(!e)return[[]];if(e==="/")return[[Sn]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(f){throw new Error(`ERR (${n})/"${c}": ${f}`)}let n=T.Static,r=n;const o=[];let u;function d(){u&&o.push(u),u=[]}let m=0,s,c="",p="";function l(){c&&(n===T.Static?u.push({type:Q.Static,value:c}):n===T.Param||n===T.ParamRegExp||n===T.ParamRegExpEnd?(u.length>1&&(s==="*"||s==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),u.push({type:Q.Param,value:c,regexp:p,repeatable:s==="*"||s==="+",optional:s==="*"||s==="?"})):t("Invalid state to consume buffer"),c="")}function a(){c+=s}for(;m<e.length;){if(s=e[m++],s==="\\"&&n!==T.ParamRegExp){r=n,n=T.EscapeNext;continue}switch(n){case T.Static:s==="/"?(c&&l(),d()):s===":"?(l(),n=T.Param):a();break;case T.EscapeNext:a(),n=r;break;case T.Param:s==="("?n=T.ParamRegExp:Cn.test(s)?a():(l(),n=T.Static,s!=="*"&&s!=="?"&&s!=="+"&&m--);break;case T.ParamRegExp:s===")"?p[p.length-1]=="\\"?p=p.slice(0,-1)+s:n=T.ParamRegExpEnd:p+=s;break;case T.ParamRegExpEnd:l(),n=T.Static,s!=="*"&&s!=="?"&&s!=="+"&&m--,p="";break;default:t("Unknown state");break}}return n===T.ParamRegExp&&t(`Unfinished custom RegExp for param "${c}"`),l(),d(),o}const Qe="[^/]+?",On={sensitive:!1,strict:!1,start:!0,end:!0};var D=function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e}(D||{});const wn=/[.+*?^${}()[\]/\\]/g;function In(e,t){const n=N({},On,t),r=[];let o=n.start?"^":"";const u=[];for(const c of e){const p=c.length?[]:[D.Root];n.strict&&!c.length&&(o+="/");for(let l=0;l<c.length;l++){const a=c[l];let f=D.Segment+(n.sensitive?D.BonusCaseSensitive:0);if(a.type===Q.Static)l||(o+="/"),o+=a.value.replace(wn,"\\$&"),f+=D.Static;else if(a.type===Q.Param){const{value:A,repeatable:b,optional:C,regexp:P}=a;u.push({name:A,repeatable:b,optional:C});const y=P||Qe;if(y!==Qe){f+=D.BonusCustomRegExp;try{`${y}`}catch(V){throw new Error(`Invalid custom RegExp for param "${A}" (${y}): `+V.message)}}let S=b?`((?:${y})(?:/(?:${y}))*)`:`(${y})`;l||(S=C&&c.length<2?`(?:/${S})`:"/"+S),C&&(S+="?"),o+=S,f+=D.Dynamic,C&&(f+=D.BonusOptional),b&&(f+=D.BonusRepeatable),y===".*"&&(f+=D.BonusWildcard)}p.push(f)}r.push(p)}if(n.strict&&n.end){const c=r.length-1;r[c][r[c].length-1]+=D.BonusStrict}n.strict||(o+="/?"),n.end?o+="$":n.strict&&!o.endsWith("/")&&(o+="(?:/|$)");const d=new RegExp(o,n.sensitive?"":"i");function m(c){const p=c.match(d),l={};if(!p)return null;for(let a=1;a<p.length;a++){const f=p[a]||"",A=u[a-1];l[A.name]=f&&A.repeatable?f.split("/"):f}return l}function s(c){let p="",l=!1;for(const a of e){(!l||!p.endsWith("/"))&&(p+="/"),l=!1;for(const f of a)if(f.type===Q.Static)p+=f.value;else if(f.type===Q.Param){const{value:A,repeatable:b,optional:C}=f,P=A in c?c[A]:"";if(M(P)&&!b)throw new Error(`Provided param "${A}" is an array but it is not repeatable (* or + modifiers)`);const y=M(P)?P.join("/"):P;if(!y)if(C)a.length<2&&(p.endsWith("/")?p=p.slice(0,-1):l=!0);else throw new Error(`Missing required param "${A}"`);p+=y}}return p||"/"}return{re:d,score:r,keys:u,parse:m,stringify:s}}function Tn(e,t){let n=0;for(;n<e.length&&n<t.length;){const r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===D.Static+D.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===D.Static+D.Segment?1:-1:0}function Et(e,t){let n=0;const r=e.score,o=t.score;for(;n<r.length&&n<o.length;){const u=Tn(r[n],o[n]);if(u)return u;n++}if(Math.abs(o.length-r.length)===1){if(Ye(r))return 1;if(Ye(o))return-1}return o.length-r.length}function Ye(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const xn={strict:!1,end:!0,sensitive:!1};function kn(e,t,n){const r=In(Pn(e.path),n),o=N(r,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function Dn(e,t){const n=[],r=new Map;t=Ue(xn,t);function o(l){return r.get(l)}function u(l,a,f){const A=!f,b=Je(l);b.aliasOf=f&&f.record;const C=Ue(t,l),P=[b];if("alias"in l){const V=typeof l.alias=="string"?[l.alias]:l.alias;for(const W of V)P.push(Je(N({},b,{components:f?f.record.components:b.components,path:W,aliasOf:f?f.record:b})))}let y,S;for(const V of P){const{path:W}=V;if(a&&W[0]!=="/"){const j=a.record.path,L=j[j.length-1]==="/"?"":"/";V.path=a.record.path+(W&&L+W)}if(y=kn(V,a,C),f?f.alias.push(y):(S=S||y,S!==y&&S.alias.push(y),A&&l.name&&!Ze(y)&&d(l.name)),_t(y)&&s(y),b.children){const j=b.children;for(let L=0;L<j.length;L++)u(j[L],y,f&&f.children[L])}f=f||y}return S?()=>{d(S)}:oe}function d(l){if(mt(l)){const a=r.get(l);a&&(r.delete(l),n.splice(n.indexOf(a),1),a.children.forEach(d),a.alias.forEach(d))}else{const a=n.indexOf(l);a>-1&&(n.splice(a,1),l.record.name&&r.delete(l.record.name),l.children.forEach(d),l.alias.forEach(d))}}function m(){return n}function s(l){const a=Vn(l,n);n.splice(a,0,l),l.record.name&&!Ze(l)&&r.set(l.record.name,l)}function c(l,a){let f,A={},b,C;if("name"in l&&l.name){if(f=r.get(l.name),!f)throw $(O.MATCHER_NOT_FOUND,{location:l});C=f.record.name,A=N(Xe(a.params,f.keys.filter(S=>!S.optional).concat(f.parent?f.parent.keys.filter(S=>S.optional):[]).map(S=>S.name)),l.params&&Xe(l.params,f.keys.map(S=>S.name))),b=f.stringify(A)}else if(l.path!=null)b=l.path,f=n.find(S=>S.re.test(b)),f&&(A=f.parse(b),C=f.record.name);else{if(f=a.name?r.get(a.name):n.find(S=>S.re.test(a.path)),!f)throw $(O.MATCHER_NOT_FOUND,{location:l,currentLocation:a});C=f.record.name,A=N({},a.params,l.params),b=f.stringify(A)}const P=[];let y=f;for(;y;)P.unshift(y.record),y=y.parent;return{name:C,path:b,params:A,matched:P,meta:Ln(P)}}e.forEach(l=>u(l));function p(){n.length=0,r.clear()}return{addRoute:u,resolve:c,removeRoute:d,clearRoutes:p,getRoutes:m,getRecordMatcher:o}}function Xe(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Je(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Bn(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Bn(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Ze(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ln(e){return e.reduce((t,n)=>N(t,n.meta),{})}function Vn(e,t){let n=0,r=t.length;for(;n!==r;){const u=n+r>>1;Et(e,t[u])<0?r=u:n=u+1}const o=Fn(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function Fn(e){let t=e;for(;t=t.parent;)if(_t(t)&&Et(e,t)===0)return t}function _t({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function $e(e){const t=J(ke),n=J(De),r=k(()=>{const s=G(e.to);return t.resolve(s)}),o=k(()=>{const{matched:s}=r.value,{length:c}=s,p=s[c-1],l=n.matched;if(!p||!l.length)return-1;const a=l.findIndex(Z.bind(null,p));if(a>-1)return a;const f=et(s[c-2]);return c>1&&et(p)===f&&l[l.length-1].path!==f?l.findIndex(Z.bind(null,s[c-2])):a}),u=k(()=>o.value>-1&&jn(n.params,r.value.params)),d=k(()=>o.value>-1&&o.value===n.matched.length-1&&ht(n.params,r.value.params));function m(s={}){if(Hn(s)){const c=t[G(e.replace)?"replace":"push"](G(e.to)).catch(oe);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:r,href:k(()=>r.value.href),isActive:u,isExactActive:d,navigate:m}}function Gn(e){return e.length===1?e[0]:e}const Mn=ae({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:$e,setup(e,{slots:t}){const n=wt($e(e)),{options:r}=J(ke),o=k(()=>({[tt(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[tt(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const u=t.default&&Gn(t.default(n));return e.custom?u:ot("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},u)}}}),Un=Mn;function Hn(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function jn(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!M(o)||o.length!==r.length||r.some((u,d)=>u.valueOf()!==o[d].valueOf()))return!1}return!0}function et(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const tt=(e,t,n)=>e!=null?e:t!=null?t:n,qn=ae({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=J(Ie),o=k(()=>e.route||r.value),u=J(ze,0),d=k(()=>{let c=G(u);const{matched:p}=o.value;let l;for(;(l=p[c])&&!l.components;)c++;return c}),m=k(()=>o.value.matched[d.value]);Ee(ze,k(()=>d.value+1)),Ee(En,m),Ee(Ie,o);const s=Te();return It(()=>[s.value,m.value,e.name],([c,p,l],[a,f,A])=>{p&&(p.instances[l]=c,f&&f!==p&&c&&c===a&&(p.leaveGuards.size||(p.leaveGuards=f.leaveGuards),p.updateGuards.size||(p.updateGuards=f.updateGuards))),c&&p&&(!f||!Z(p,f)||!a)&&(p.enterCallbacks[l]||[]).forEach(b=>b(c))},{flush:"post"}),()=>{const c=o.value,p=e.name,l=m.value,a=l&&l.components[p];if(!a)return nt(n.default,{Component:a,route:c});const f=l.props[p],A=f?f===!0?c.params:typeof f=="function"?f(c):f:null,C=ot(a,N({},A,t,{onVnodeUnmounted:P=>{P.component.isUnmounted&&(l.instances[p]=null)},ref:s}));return nt(n.default,{Component:C,route:c})||C}}});function nt(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Kn=qn;function zn(e){const t=Dn(e.routes,e),n=e.parseQuery||gn,r=e.stringifyQuery||Ke,o=e.history,u=re(),d=re(),m=re(),s=Pt(q);let c=q;X&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const p=Re.bind(null,i=>""+i),l=Re.bind(null,Zt),a=Re.bind(null,se);function f(i,g){let h,v;return mt(i)?(h=t.getRecordMatcher(i),v=g):v=i,t.addRoute(v,h)}function A(i){const g=t.getRecordMatcher(i);g&&t.removeRoute(g)}function b(){return t.getRoutes().map(i=>i.record)}function C(i){return!!t.getRecordMatcher(i)}function P(i,g){if(g=N({},g||s.value),typeof i=="string"){const E=ye(n,i,g.path),I=t.resolve({path:E.path},g),ne=o.createHref(E.fullPath);return N(E,I,{params:a(I.params),hash:se(E.hash),redirectedFrom:void 0,href:ne})}let h;if(i.path!=null)h=N({},i,{path:ye(n,i.path,g.path).path});else{const E=N({},i.params);for(const I in E)E[I]==null&&delete E[I];h=N({},i,{params:l(E)}),g.params=l(g.params)}const v=t.resolve(h,g),R=i.hash||"";v.params=p(a(v.params));const w=tn(r,N({},i,{hash:Yt(R),path:v.path})),_=o.createHref(w);return N({fullPath:w,hash:R,query:r===Ke?vn(i.query):i.query||{}},v,{redirectedFrom:void 0,href:_})}function y(i){return typeof i=="string"?ye(n,i,s.value.path):N({},i)}function S(i,g){if(c!==i)return $(O.NAVIGATION_CANCELLED,{from:g,to:i})}function V(i){return L(i)}function W(i){return V(N(y(i),{replace:!0}))}function j(i,g){const h=i.matched[i.matched.length-1];if(h&&h.redirect){const{redirect:v}=h;let R=typeof v=="function"?v(i,g):v;return typeof R=="string"&&(R=R.includes("?")||R.includes("#")?R=y(R):{path:R},R.params={}),N({query:i.query,hash:i.hash,params:R.path!=null?{}:i.params},R)}}function L(i,g){const h=c=P(i),v=s.value,R=i.state,w=i.force,_=i.replace===!0,E=j(h,v);if(E)return L(N(y(E),{state:typeof E=="object"?N({},R,E.state):R,force:w,replace:_}),g||h);const I=h;I.redirectedFrom=g;let ne;return!w&&nn(r,v,h)&&(ne=$(O.NAVIGATION_DUPLICATED,{to:I,from:v}),Me(v,v,!0,!1)),(ne?Promise.resolve(ne):Le(I,v)).catch(B=>H(B)?H(B,O.NAVIGATION_GUARD_REDIRECT)?B:me(B):he(B,I,v)).then(B=>{if(B){if(H(B,O.NAVIGATION_GUARD_REDIRECT))return L(N({replace:_},y(B.to),{state:typeof B.to=="object"?N({},R,B.to.state):R,force:w}),g||I)}else B=Fe(I,v,!0,_,R);return Ve(I,v,B),B})}function Nt(i,g){const h=S(i,g);return h?Promise.reject(h):Promise.resolve()}function de(i){const g=le.values().next().value;return g&&typeof g.runWithContext=="function"?g.runWithContext(i):i()}function Le(i,g){let h;const[v,R,w]=_n(i,g);h=Ne(v.reverse(),"beforeRouteLeave",i,g);for(const E of v)E.leaveGuards.forEach(I=>{h.push(K(I,i,g))});const _=Nt.bind(null,i,g);return h.push(_),Y(h).then(()=>{h=[];for(const E of u.list())h.push(K(E,i,g));return h.push(_),Y(h)}).then(()=>{h=Ne(R,"beforeRouteUpdate",i,g);for(const E of R)E.updateGuards.forEach(I=>{h.push(K(I,i,g))});return h.push(_),Y(h)}).then(()=>{h=[];for(const E of w)if(E.beforeEnter)if(M(E.beforeEnter))for(const I of E.beforeEnter)h.push(K(I,i,g));else h.push(K(E.beforeEnter,i,g));return h.push(_),Y(h)}).then(()=>(i.matched.forEach(E=>E.enterCallbacks={}),h=Ne(w,"beforeRouteEnter",i,g,de),h.push(_),Y(h))).then(()=>{h=[];for(const E of d.list())h.push(K(E,i,g));return h.push(_),Y(h)}).catch(E=>H(E,O.NAVIGATION_CANCELLED)?E:Promise.reject(E))}function Ve(i,g,h){m.list().forEach(v=>de(()=>v(i,g,h)))}function Fe(i,g,h,v,R){const w=S(i,g);if(w)return w;const _=g===q,E=X?history.state:{};h&&(v||_?o.replace(i.fullPath,N({scroll:_&&E&&E.scroll},R)):o.push(i.fullPath,R)),s.value=i,Me(i,g,h,_),me()}let ee;function bt(){ee||(ee=o.listen((i,g,h)=>{if(!te.listening)return;const v=P(i),R=j(v,te.currentRoute.value);if(R){L(N(R,{replace:!0,force:!0}),v).catch(oe);return}c=v;const w=s.value;X&&fn(qe(w.fullPath,h.delta),fe()),Le(v,w).catch(_=>H(_,O.NAVIGATION_ABORTED|O.NAVIGATION_CANCELLED)?_:H(_,O.NAVIGATION_GUARD_REDIRECT)?(L(N(y(_.to),{force:!0}),v).then(E=>{H(E,O.NAVIGATION_ABORTED|O.NAVIGATION_DUPLICATED)&&!h.delta&&h.type===Oe.pop&&o.go(-1,!1)}).catch(oe),Promise.reject()):(h.delta&&o.go(-h.delta,!1),he(_,v,w))).then(_=>{_=_||Fe(v,w,!1),_&&(h.delta&&!H(_,O.NAVIGATION_CANCELLED)?o.go(-h.delta,!1):h.type===Oe.pop&&H(_,O.NAVIGATION_ABORTED|O.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),Ve(v,w,_)}).catch(oe)}))}let pe=re(),Ge=re(),ie;function he(i,g,h){me(i);const v=Ge.list();return v.length?v.forEach(R=>R(i,g,h)):console.error(i),Promise.reject(i)}function St(){return ie&&s.value!==q?Promise.resolve():new Promise((i,g)=>{pe.add([i,g])})}function me(i){return ie||(ie=!i,bt(),pe.list().forEach(([g,h])=>i?h(i):g()),pe.reset()),i}function Me(i,g,h,v){const{scrollBehavior:R}=e;if(!X||!R)return Promise.resolve();const w=!h&&dn(qe(i.fullPath,0))||(v||!h)&&history.state&&history.state.scroll||null;return Ot().then(()=>R(i,g,w)).then(_=>_&&un(_)).catch(_=>he(_,i,g))}const ge=i=>o.go(i);let ve;const le=new Set,te={currentRoute:s,listening:!0,addRoute:f,removeRoute:A,clearRoutes:t.clearRoutes,hasRoute:C,getRoutes:b,resolve:P,options:e,push:V,replace:W,go:ge,back:()=>ge(-1),forward:()=>ge(1),beforeEach:u.add,beforeResolve:d.add,afterEach:m.add,onError:Ge.add,isReady:St,install(i){i.component("RouterLink",Un),i.component("RouterView",Kn),i.config.globalProperties.$router=te,Object.defineProperty(i.config.globalProperties,"$route",{enumerable:!0,get:()=>G(s)}),X&&!ve&&s.value===q&&(ve=!0,V(o.location).catch(v=>{}));const g={};for(const v in q)Object.defineProperty(g,v,{get:()=>s.value[v],enumerable:!0});i.provide(ke,te),i.provide(De,Ct(g)),i.provide(Ie,s);const h=i.unmount;le.add(i),i.unmount=function(){le.delete(i),le.size<1&&(c=q,ee&&ee(),ee=null,s.value=q,ve=!1,ie=!1),h()}}};function Y(i){return i.reduce((g,h)=>g.then(()=>de(h)),Promise.resolve())}return te}function Rt(e){return J(De)}const yt=[{path:"/",name:"overview",component:()=>_e(()=>import("./OverviewView-Y30WcRVR.js"),__vite__mapDeps([0,1]),import.meta.url),meta:{title:"简介",description:"这个 demo 的依赖、端口与远端地址,以及各示例的入口。"}},{path:"/host",name:"host",component:()=>_e(()=>import("./HostView-p_QlXO2b.js"),__vite__mapDeps([2,1,3]),import.meta.url),meta:{title:"主应用",description:"宿主自己的按钮与状态,用来对照远程组件的行为;它与远程组件共用同一份 Vue 运行时。"}},{path:"/remote",name:"remote",component:()=>_e(()=>import("./RemoteView-DMITrjYR.js"),__vite__mapDeps([4,1]),import.meta.url),meta:{title:"远程组件",description:"preFetchLib 从远端加载的 comps-vue3 HelloWorld,点组件内的按钮可验证远程响应式。"}},{path:"/:pathMatch(.*)*",redirect:"/"}],Wn=zn({history:bn(),routes:yt,scrollBehavior:()=>({top:0})}),Qn={class:"demo-navbar"},Yn={class:"demo-navbar__inner"},Xn={class:"demo-navbar__brand"},Jn={class:"demo-navbar__badge"},Zn={class:"demo-navbar__title"},$n={class:"demo-navbar__sub"},er={class:"demo-navbar__nav","aria-label":"示例导航"},tr={class:"demo-navbar__intro"},nr={class:"demo-navbar__intro-tag"},rr={class:"demo-navbar__intro-text"},or=ae({__name:"DemoNavbar",props:{title:{},subtitle:{},badge:{}},setup(e){const t=e,n=Rt(),r=k(()=>yt.filter(s=>{var c;return!!((c=s.meta)!=null&&c.title)}).map(s=>{var c,p,l,a;return{path:s.path,title:String((p=(c=s.meta)==null?void 0:c.title)!=null?p:""),description:String((a=(l=s.meta)==null?void 0:l.description)!=null?a:"")}})),o=k(()=>{const s=r.value.findIndex(c=>c.path===n.path);return s===-1?0:s}),u=k(()=>{var s;return String((s=n.meta.title)!=null?s:t.title)}),d=k(()=>{var s;return String((s=n.meta.description)!=null?s:"")});function m(s){return n.path===s}return(s,c)=>{const p=st("router-link");return U(),z("header",Qn,[x("div",Yn,[x("div",Xn,[x("span",Jn,F(e.badge),1),x("div",null,[x("p",Zn,F(e.title),1),x("p",$n,F(e.subtitle),1)])]),x("nav",er,[(U(!0),z(Tt,null,xt(r.value,l=>(U(),at(p,{key:l.path,to:l.path,class:it(["demo-nav__link",{"is-active":m(l.path)}]),title:l.description},{default:Se(()=>[Ce(F(l.title),1)]),_:2},1032,["to","class","title"]))),128))])]),x("div",tr,[x("span",nr,F(u.value)+" · "+F(o.value+1)+"/"+F(r.value.length),1),x("p",rr,F(d.value),1)])])}}}),At=["requestFullscreen","webkitRequestFullscreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"],sr=["exitFullscreen","webkitExitFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"],ar=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"],ir=["fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled"];function Be(e,t){return t.find(n=>typeof e[n]=="function")}function lr(){if(typeof document>"u")return!1;const e=document,t=ir.find(n=>e[n]!==void 0);return t?!!e[t]:!!Be(document.documentElement,At)}function be(){if(typeof document>"u")return null;const e=document,t=ar.find(n=>!!e[n]);return t?e[t]:null}function cr(e){if(!e||e.nodeType!==1)return Promise.reject(new Error("[Screenfull] A valid target element is required"));const t=e,n=Be(t,At);if(!n)return Promise.reject(new Error("[Screenfull] The Fullscreen API is not supported"));try{const r=t[n]();return r&&typeof r.then=="function"?r:Promise.resolve()}catch(r){return Promise.reject(r)}}function ur(){if(typeof document>"u")return Promise.reject(new Error("[Screenfull] The Fullscreen API is not supported"));const e=document,t=Be(e,sr);if(!t)return Promise.reject(new Error("[Screenfull] The Fullscreen API is not supported"));try{const n=e[t]();return n&&typeof n.then=="function"?n:Promise.resolve()}catch(n){return Promise.reject(n)}}const rt=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"],fr=["title","aria-label","aria-pressed","aria-disabled"],dr={class:"screenfull-btn__icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false"},pr={key:0,d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"},hr={key:1,d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"},mr={key:0,class:"screenfull-btn__text"},gr=ae({__name:"ScreenfullButton",props:{target:{type:[String,null,Function],default:null},enterText:{default:"全屏"},exitText:{default:"退出全屏"},unsupportedText:{default:"当前浏览器不支持全屏"},showText:{type:Boolean,default:!0}},emits:["change","error"],setup(e,{emit:t}){const n=e,r=t,o=Te(!1),u=lr(),d=k(()=>o.value?n.exitText:n.enterText),m=k(()=>u?d.value:n.unsupportedText);function s(){const a=!!be();a!==o.value&&(o.value=a,r("change",a))}function c(){var f;const{target:a}=n;return a?typeof a=="function"?(f=a())!=null?f:null:typeof a=="string"?document.querySelector(a):a:document.documentElement}function p(a){console.warn(`[Screenfull] ${a}`),r("error",a)}async function l(){if(!u){p(n.unsupportedText);return}const a=c();if(!a||a.nodeType!==1){p("没有找到需要全屏的示例区域");return}try{be()?await ur():await cr(a)}catch(f){console.warn("[Screenfull] Failed to toggle fullscreen:",f),p("全屏切换失败,请稍后重试")}}return kt(()=>{o.value=!!be(),rt.forEach(a=>{document.addEventListener(a,s)})}),Dt(()=>{rt.forEach(a=>{document.removeEventListener(a,s)})}),(a,f)=>(U(),z("button",{type:"button",class:it(["screenfull-btn",{"is-fullscreen":o.value,"is-disabled":!G(u)}]),title:m.value,"aria-label":m.value,"aria-pressed":o.value?"true":"false","aria-disabled":G(u)?"false":"true",onClick:l},[(U(),z("svg",dr,[o.value?(U(),z("path",pr)):(U(),z("path",hr))])),e.showText?(U(),z("span",mr,F(d.value),1)):Bt("",!0)],10,fr))}}),ue={name:"demo-vue3",badge:"Vue 3",subtitle:"Vue 3 + Vite 5 的 hel 宿主,preFetchLib 加载远程组件",port:30020,unpkgEntry:"https://unpkg.com/@melt-js/demo-vue3/dist/index.html"},vr={class:"demo-app"},Er={class:"demo-stage__toolbar"},_r={class:"demo-stage__hint"},Rr={class:"demo-stage__page"},yr={class:"demo-footer"},Ar=ae({__name:"App",setup(e){const t=Rt(),n=Te(null),r=k(()=>{var u;return String((u=t.meta.title)!=null?u:"")});function o(){return n.value}return(u,d)=>{const m=st("router-view");return U(),z("div",vr,[ce(or,{title:G(ue).name,badge:G(ue).badge,subtitle:G(ue).subtitle},null,8,["title","badge","subtitle"]),x("main",{ref_key:"stageEl",ref:n,class:"demo-stage"},[x("div",Er,[x("span",_r,[d[0]||(d[0]=Ce("示例预览 ",-1)),d[1]||(d[1]=x("em",null,"/",-1)),Ce(" "+F(r.value),1)]),ce(gr,{target:o})]),x("div",Rr,[ce(m,null,{default:Se(({Component:s})=>[ce(Lt,{name:"demo-fade",mode:"out-in"},{default:Se(()=>[(U(),at(Vt(s),{key:u.$route.path}))]),_:2},1024)]),_:1})])],512),x("footer",yr,[x("span",null,F(G(ue).name)+" · hel-micro 消费方示例",1),d[2]||(d[2]=x("span",null,"hash 路由,可直接从 unpkg 的 dist/index.html 打开",-1))])])}}});Ft(Ar).use(Wn).mount("#app");const br=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));export{ue as A,yt as d,br as l};
|
|
11
|
-
//# sourceMappingURL=loadApp-B7EqU81T.js.map
|