@melt-js/demo-vue2-ele 0.0.0-stage → 0.1.1

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 CHANGED
@@ -1,3 +1,50 @@
1
- # Temporary Holding Version
1
+ # @melt-js/demo-vue2-ele
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Vue 2 + Element UI 的 hel 宿主(消费方)示例:`preFetchLib` 从 unpkg 加载 [`@melt-js/comps-vue2-ele`](../comps-vue2-ele),页面里同时直接复用 `tpl-vue2-admin-ele` 的本地源码,并用 `preFetchLib` 演示 [`@melt-js/libs-utils`](../libs-utils) / [`@melt-js/libs-lodash`](../libs-lodash) 两个远程库的方法。
4
+
5
+ | 项 | 值 |
6
+ | --- | --- |
7
+ | npm 包名 | `@melt-js/demo-vue2-ele` |
8
+ | unpkg 入口 | `https://unpkg.com/@melt-js/demo-vue2-ele/dist/index.html` |
9
+ | 端口 | `30010` |
10
+ | 消费的远程组件 | `comps-vue2-ele`(`https://unpkg.com/@melt-js/comps-vue2-ele/hel_dist/hel-meta.json`) |
11
+ | 消费的远程库 | `libs-utils`、`libs-lodash`(线上同样指向 unpkg 的 `hel-meta.json`) |
12
+
13
+ ## 关键流程
14
+
15
+ 1. `src/main.js`:`bindVueRuntime({ Vue })` 把宿主 vue 挂到 `window.Vue`,远程组件 external 的 `vue` 会复用这一份。
16
+ 2. `src/main.js`:`preFetchLib('comps-vue2-ele', { custom: { host } })` 预加载远程组件;hel 组名(`comps-vue2-ele`)与 scoped npm 包名(`@melt-js/comps-vue2-ele`)解耦,因此用 `custom.host` 指向 unpkg 上的 `hel_dist/hel-meta.json`。`host` 按 `process.env.NODE_ENV` 分支:生产走 unpkg,开发走 `http://localhost:20010`。
17
+ 3. `src/App.vue`:渲染远程组件 `comps.App`,并从 `tpl-vue2-admin-ele/src/components` 引入本地源码的 `Hamburger`。
18
+ 4. `src/main.js` + `src/libs/remoteLibs.js`:入口处和远程组件一起并行预加载两个远程库(`loadRemoteLibs()` 内部是 `Promise.all` + `preFetchLib`,重复调用复用同一个 Promise)。页面里直接调用它们的方法展示结果:
19
+ - `libs-utils`:`num.canBeNum` / `num.random`、`regs.en` / `regs.enSnake`、`myMod.sayHelloToHel`
20
+ - `libs-lodash`:`chunk` / `uniq` / `camelCase` / `orderBy`、`myUtils.regs.enOrNum`、`VERSION`
21
+
22
+ 两个库都不在宿主的 `package.json` 依赖里(lodash 也没有安装),全部来自远程产物。host 同样按环境切换:生产指向 unpkg 的 `hel-meta.json`,开发指向各自 dev server(`http://localhost:10010` / `http://localhost:10020`),并用 `skipFetchHelMeta` 跳过 dev server 上不存在的 `hel-meta.json`、直接解析 `index.html` 里的入口脚本。
23
+ 5. `src/App.vue`:`LibsDemo` 用 `defineAsyncComponent` 懒加载——loader 里先 `await loadRemoteLibs()`(复用入口预加载的同一个 Promise,通常已 resolve),再动态 `import` 组件,组件内直接读 `getRemoteLibs()` 的已加载结果。
24
+
25
+ ## 本地开发
26
+
27
+ ```bash
28
+ # 终端 1:起远程组件(20010)
29
+ pnpm comps:dev
30
+
31
+ # 终端 2、3:起两个远程库(10010 / 10020,页面上的 libs 演示区需要)
32
+ pnpm libs-utils:dev
33
+ pnpm libs-lodash:dev
34
+
35
+ # 终端 4:起宿主(30010)
36
+ pnpm demo:dev
37
+ ```
38
+
39
+ 打开 http://localhost:30010 。libs 的预加载在入口处 `Promise.all` 里,和远程组件一起完成,所以三个 dev server 都要先起好;缺任意一个都会在控制台打印 `loadApp err`,页面不会挂载。
40
+
41
+ ## 构建 / 发布
42
+
43
+ ```bash
44
+ pnpm demo:build # 产出 dist/
45
+ pnpm --filter @melt-js/demo-vue2-ele run publish:stage # build → npm stage 暂存,等待 2FA 审批
46
+ ```
47
+
48
+ - `vue.config.js` 在生产构建时使用相对 `publicPath`,发布后 unpkg 上的 `dist/index.html` 可直接加载同目录资源。
49
+ - `process.env.NODE_ENV` 由 vue-cli 静态注入,生产包里只会保留 unpkg 的地址;线上从 unpkg 加载 libs 的前提是 `@melt-js/libs-utils` / `@melt-js/libs-lodash` 已发布。
50
+ - `files` 白名单只发布 `dist/` 与 README。
@@ -0,0 +1 @@
1
+ .libs-panels[data-v-473ca624]{display:flex;flex-wrap:wrap;gap:16px}.libs-panel[data-v-473ca624]{flex:1 1 320px;min-width:0;padding:14px 16px;border:1px solid var(--demo-border);border-radius:12px;background:var(--demo-surface-alt)}.libs-panel__title[data-v-473ca624]{margin:0 0 8px;color:var(--demo-text);font-size:14px}.libs-panel__group[data-v-473ca624]{margin-left:8px;padding:2px 6px;border-radius:6px;background:#f0f2f5;color:#c7254e;font-size:12px;font-weight:400;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.libs-table[data-v-473ca624]{width:100%;border-collapse:collapse;font-size:13px}.libs-table tr+tr[data-v-473ca624]{border-top:1px solid var(--demo-border)}.libs-table td[data-v-473ca624]{padding:6px 0;vertical-align:top}.libs-table__code[data-v-473ca624]{width:60%;padding-right:8px;overflow-wrap:anywhere}.libs-table__code code[data-v-473ca624]{padding:2px 6px;border-radius:4px;background:#f0f2f5;color:#c7254e;font-size:12.5px}.libs-table__value[data-v-473ca624]{color:var(--demo-text);font-weight:600;overflow-wrap:anywhere}
@@ -0,0 +1 @@
1
+ .remote-box[data-v-4531395a]{padding:20px;border:2px solid #e74c3c;border-radius:12px;background:#fff8f7}.remote-box__title[data-v-4531395a]{margin:0 0 12px;color:#c0392b;font-size:14px}
@@ -0,0 +1 @@
1
+ .svg-icon[data-v-1395a76c]{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.svg-external-icon[data-v-1395a76c]{background-color:currentColor;-webkit-mask-size:cover!important;mask-size:cover!important;display:inline-block}.hamburger[data-v-349d62b0]{display:inline-block;vertical-align:middle;width:20px;height:20px}.hamburger.is-active[data-v-349d62b0]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.screenfull-btn[data-v-287b0b20]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;line-height:1;cursor:pointer;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-transition:background-color .3s;transition:background-color .3s}.screenfull-btn[data-v-287b0b20]:hover{background:rgba(0,0,0,.025)}.screenfull-btn[data-v-287b0b20]:focus-visible{outline:2px solid #409eff;outline-offset:-2px}.screenfull-btn.is-disabled[data-v-287b0b20]{cursor:not-allowed;opacity:.4}.screenfull-icon[data-v-287b0b20]{-webkit-box-flex:0;-ms-flex:none;flex:none;width:20px;height:20px}.screenfull-text[data-v-287b0b20]{margin-left:6px;font-size:14px;line-height:1;white-space:nowrap}.demo-card__text code[data-v-48a3b3cc]{padding:2px 6px;border-radius:6px;background:#f0f2f5;color:#c7254e;font-size:12.5px}.tpl-hamburger[data-v-48a3b3cc]{display:flex;gap:12px;align-items:center;margin-top:12px}.tpl-hamburger__btn[data-v-48a3b3cc]{display:inline-flex;align-items:center;justify-content:center;padding:6px;border:1px solid var(--demo-border);border-radius:8px;background:var(--demo-surface);color:var(--demo-text);cursor:pointer}.tpl-hamburger__btn[data-v-48a3b3cc]:hover{border-color:var(--demo-accent-border);background:var(--demo-accent-soft);color:var(--demo-accent)}
@@ -0,0 +1 @@
1
+ :root{color-scheme:light;--demo-accent:#42b983;--demo-accent-soft:rgba(66,185,131,0.1);--demo-accent-border:#b7e4cd;--demo-text:#1f2933;--demo-muted:#64748b;--demo-border:#e5e7eb;--demo-bg:#f5f7fa;--demo-surface:#fff;--demo-surface-alt:#fafbfc}html{-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh;background:var(--demo-bg);color:var(--demo-text);font-family:system-ui,-apple-system,Segoe UI,Avenir,Helvetica,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--demo-accent)}img{max-width:100%}*,:after,:before{box-sizing:border-box}.demo-app{display:flex;flex-direction:column;min-height:100vh}.demo-navbar{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--demo-border);background:hsla(0,0%,100%,.92);backdrop-filter:blur(12px)}.demo-navbar__inner{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between;width:100%;max-width:1180px;margin:0 auto;padding:14px 24px 10px}.demo-navbar__brand{display:flex;align-items:center;gap:12px;min-width:0}.demo-navbar__badge{flex:none;padding:5px 10px;border-radius:999px;background:var(--demo-accent-soft);color:var(--demo-accent);font-size:12px;font-weight:700;letter-spacing:.04em;line-height:1.2}.demo-navbar__title{margin:0;color:var(--demo-text);font-size:16px;font-weight:700;line-height:1.3}.demo-navbar__sub{margin:2px 0 0;color:var(--demo-muted);font-size:12px;line-height:1.4}.demo-navbar__nav{display:flex;flex-wrap:wrap;gap:6px}.demo-nav__link{padding:7px 14px;border:1px solid transparent;border-radius:999px;color:var(--demo-muted);font-size:13px;font-weight:600;text-decoration:none;transition:color .2s,background-color .2s,border-color .2s}.demo-nav__link.is-active,.demo-nav__link:hover{background:var(--demo-accent-soft);color:var(--demo-accent)}.demo-nav__link.is-active{border-color:var(--demo-accent-border)}.demo-navbar__intro{display:flex;align-items:center;gap:10px;width:100%;max-width:1180px;margin:0 auto;padding:0 24px 12px;color:var(--demo-muted);font-size:12.5px;line-height:1.5}.demo-navbar__intro-tag{flex:none;padding:2px 8px;border:1px solid var(--demo-border);border-radius:999px;background:var(--demo-surface);color:var(--demo-text);font-size:11px;font-weight:600;line-height:1.6}.demo-navbar__intro-text{min-width:0;margin:0}.demo-stage{flex:1 0 auto;width:100%;max-width:1180px;margin:0 auto;padding:20px 24px 40px}.demo-stage__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.demo-stage__hint{color:var(--demo-muted);font-size:12px;font-weight:600;letter-spacing:.08em}.demo-stage__hint em{color:var(--demo-accent);font-style:normal}.demo-stage__page{padding:28px 32px;border:1px solid var(--demo-border);border-radius:16px;background:var(--demo-surface);box-shadow:0 1px 2px rgba(16,24,40,.04),0 12px 32px -24px rgba(16,24,40,.35)}.demo-stage:-webkit-full-screen .demo-stage__page,.demo-stage:fullscreen .demo-stage__page{min-height:calc(100vh - 120px)}.screenfull-btn{display:inline-flex;flex:none;gap:6px;align-items:center;padding:7px 14px;border:1px solid var(--demo-border);border-radius:999px;background:var(--demo-surface);color:var(--demo-text);font-family:inherit;font-size:13px;font-weight:600;line-height:1;cursor:pointer;transition:color .2s,background-color .2s,border-color .2s;-webkit-tap-highlight-color:transparent}.screenfull-btn:hover{border-color:var(--demo-accent-border);background:var(--demo-accent-soft);color:var(--demo-accent)}.screenfull-btn:focus-visible{outline:2px solid var(--demo-accent);outline-offset:2px}.screenfull-btn.is-fullscreen{border-color:var(--demo-accent-border);background:var(--demo-accent-soft);color:var(--demo-accent)}.screenfull-btn.is-disabled{cursor:not-allowed;opacity:.5}.screenfull-btn__icon{flex:none;width:15px;height:15px}.demo-footer{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;justify-content:space-between;width:100%;max-width:1180px;margin:0 auto;padding:16px 24px 28px;color:var(--demo-muted);font-size:12px}.demo-footer a{color:var(--demo-accent);text-decoration:none}.demo-footer a:hover{text-decoration:underline}.demo-page{display:flex;flex-direction:column;gap:22px}.demo-page__eyebrow{margin:0 0 8px;color:var(--demo-accent);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.demo-page__title{margin:0 0 12px;color:var(--demo-text);font-size:26px;line-height:1.25}.demo-page__lead{max-width:72ch;margin:0;color:var(--demo-muted);font-size:14px;line-height:1.8}.demo-page__section-title{margin:0 0 12px;color:var(--demo-text);font-size:16px}.demo-code,.demo-page code{padding:2px 6px;border-radius:6px;background:#f0f2f5;color:#c7254e;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.demo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.demo-card{padding:16px 18px;border:1px solid var(--demo-border);border-radius:12px;background:var(--demo-surface-alt)}.demo-card__title{margin:0 0 6px;color:var(--demo-text);font-size:14px}.demo-card__text{margin:0;color:var(--demo-muted);font-size:13px;line-height:1.7}.demo-card--link{display:block;color:inherit;text-decoration:none;transition:border-color .2s,background-color .2s,transform .2s}.demo-card--link:hover{border-color:var(--demo-accent-border);background:var(--demo-accent-soft);transform:translateY(-1px)}.demo-card__action{display:inline-block;margin-top:8px;color:var(--demo-accent);font-size:12px;font-weight:600}.demo-table{width:100%;border-collapse:collapse;font-size:13px}.demo-table td,.demo-table th{padding:9px 12px;border-bottom:1px solid var(--demo-border);text-align:left;vertical-align:top}.demo-table tr:last-child td,.demo-table tr:last-child th{border-bottom:0}.demo-table th{width:32%;color:var(--demo-muted);font-weight:600;white-space:nowrap}.demo-table td{color:var(--demo-text);overflow-wrap:anywhere}.demo-table td>div+div{margin-top:4px}.demo-note{display:flex;gap:10px;margin:0;padding:12px 16px;border-left:3px solid var(--demo-accent);border-radius:0 10px 10px 0;background:var(--demo-accent-soft);color:var(--demo-text);font-size:13px;line-height:1.7}.demo-btn{display:inline-flex;gap:6px;align-items:center;padding:9px 18px;border:1px solid var(--demo-accent);border-radius:8px;background:var(--demo-accent);color:#fff;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;transition:filter .2s,transform .2s}.demo-btn:hover{filter:brightness(1.06)}.demo-btn:active{transform:translateY(1px)}.demo-btn--ghost{background:transparent;color:var(--demo-accent)}.demo-links{display:flex;flex-wrap:wrap;gap:10px}.demo-links a{padding:8px 14px;border:1px solid var(--demo-border);border-radius:8px;background:var(--demo-surface);color:var(--demo-text);font-size:13px;text-decoration:none;transition:color .2s,background-color .2s,border-color .2s}.demo-links a:hover{border-color:var(--demo-accent-border);color:var(--demo-accent)}.demo-links a:hover,.demo-remote{background:var(--demo-accent-soft)}.demo-remote{padding:18px;border:2px dashed var(--demo-accent-border);border-radius:12px}.demo-fade-enter-active,.demo-fade-leave-active{transition:opacity .18s ease,transform .18s ease}.demo-fade-enter,.demo-fade-enter-from,.demo-fade-leave-to{opacity:0;transform:translateY(4px)}@media (max-width:720px){.demo-footer,.demo-navbar__inner,.demo-navbar__intro,.demo-stage{padding-right:16px;padding-left:16px}.demo-stage__page{padding:20px 18px}.demo-page__title{font-size:22px}.screenfull-btn__text{display:none}}
Binary file
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>@melt-js/demo-vue2-ele</title><script src="https://cdn.staticfile.org/vue/2.7.16/vue.min.js"></script><link href="css/chunk-18b5370e.6b40d200.css" rel="prefetch"><link href="css/chunk-1a359644.82baf6f9.css" rel="prefetch"><link href="css/chunk-564f8ae5.1a8caaef.css" rel="prefetch"><link href="css/chunk-796a17e7.73b145a4.css" rel="prefetch"><link href="js/chunk-18b5370e.568911b1.js" rel="prefetch"><link href="js/chunk-1a359644.afdb1349.js" rel="prefetch"><link href="js/chunk-2d221fe7.e6e7a875.js" rel="prefetch"><link href="js/chunk-564f8ae5.b82c15a4.js" rel="prefetch"><link href="js/chunk-796a17e7.4e7c0a3c.js" rel="prefetch"><link href="js/app.1fcb926c.js" rel="preload" as="script"><link href="js/chunk-vendors.b683b6df.js" rel="preload" as="script"></head><body><noscript><strong>We're sorry but @melt-js/demo-vue2-ele doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="js/chunk-vendors.b683b6df.js"></script><script src="js/app.1fcb926c.js"></script></body></html>
@@ -0,0 +1,2 @@
1
+ (function(e){function t(t){for(var r,o,c=t[0],l=t[1],s=t[2],i=0,f=[];i<c.length;i++)o=c[i],Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&f.push(a[o][0]),a[o]=0;for(r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);h&&h(t);while(f.length)f.shift()();return u.push.apply(u,s||[]),n()}function n(){for(var e,t=0;t<u.length;t++){for(var n=u[t],r=!0,o=1;o<n.length;o++){var c=n[o];0!==a[c]&&(r=!1)}r&&(u.splice(t--,1),e=l(l.s=n[0]))}return e}var r={},o={app:0},a={app:0},u=[];function c(e){return l.p+"js/"+({}[e]||e)+"."+{"chunk-796a17e7":"4e7c0a3c","chunk-18b5370e":"568911b1","chunk-1a359644":"afdb1349","chunk-2d221fe7":"e6e7a875","chunk-564f8ae5":"b82c15a4"}[e]+".js"}function l(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,l),n.l=!0,n.exports}l.e=function(e){var t=[],n={"chunk-796a17e7":1,"chunk-18b5370e":1,"chunk-1a359644":1,"chunk-564f8ae5":1};o[e]?t.push(o[e]):0!==o[e]&&n[e]&&t.push(o[e]=new Promise((function(t,n){for(var r="css/"+({}[e]||e)+"."+{"chunk-796a17e7":"73b145a4","chunk-18b5370e":"6b40d200","chunk-1a359644":"82baf6f9","chunk-2d221fe7":"31d6cfe0","chunk-564f8ae5":"1a8caaef"}[e]+".css",a=l.p+r,u=document.getElementsByTagName("link"),c=0;c<u.length;c++){var s=u[c],i=s.getAttribute("data-href")||s.getAttribute("href");if("stylesheet"===s.rel&&(i===r||i===a))return t()}var f=document.getElementsByTagName("style");for(c=0;c<f.length;c++){s=f[c],i=s.getAttribute("data-href");if(i===r||i===a)return t()}var h=document.createElement("link");h.rel="stylesheet",h.type="text/css",h.onload=t,h.onerror=function(t){var r=t&&t.target&&t.target.src||a,u=new Error("Loading CSS chunk "+e+" failed.\n("+r+")");u.code="CSS_CHUNK_LOAD_FAILED",u.request=r,delete o[e],h.parentNode.removeChild(h),n(u)},h.href=a;var p=document.getElementsByTagName("head")[0];p.appendChild(h)})).then((function(){o[e]=0})));var r=a[e];if(0!==r)if(r)t.push(r[2]);else{var u=new Promise((function(t,n){r=a[e]=[t,n]}));t.push(r[2]=u);var s,i=document.createElement("script");i.charset="utf-8",i.timeout=120,l.nc&&i.setAttribute("nonce",l.nc),i.src=c(e);var f=new Error;s=function(t){i.onerror=i.onload=null,clearTimeout(h);var n=a[e];if(0!==n){if(n){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;f.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",f.name="ChunkLoadError",f.type=r,f.request=o,n[1](f)}a[e]=void 0}};var h=setTimeout((function(){s({type:"timeout",target:i})}),12e4);i.onerror=i.onload=s,document.head.appendChild(i)}return Promise.all(t)},l.m=e,l.c=r,l.d=function(e,t,n){l.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},l.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,t){if(1&t&&(e=l(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(l.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)l.d(n,r,function(t){return e[t]}.bind(null,r));return n},l.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return l.d(t,"a",t),t},l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.p="",l.oe=function(e){throw console.error(e),e};var s=window["webpackJsonp"]=window["webpackJsonp"]||[],i=s.push.bind(s);s.push=t,s=s.slice();for(var f=0;f<s.length;f++)t(s[f]);var h=i;u.push([0,"chunk-vendors"]),n()})({0:function(e,t,n){e.exports=n("56d7")},"56d7":function(e,t,n){"use strict";n.r(t);var r=n("25c3"),o=n("8bbf"),a=n.n(o),u=n("cb87");Object(r["a"])({Vue:a()}),async function(){const e=!0,t=e?"https://unpkg.com/@melt-js/comps-vue2-ele/hel_dist/hel-meta.json":"http://localhost:20010";await Promise.all([Object(r["b"])("comps-vue2-ele",{custom:{host:t,skipFetchHelMeta:!t.endsWith("hel-meta.json")}}),Object(u["c"])()]),await n.e("chunk-796a17e7").then(n.bind(null,"a581"))}().catch(e=>{console.error("loadApp err: ",e)})},"8bbf":function(e,t){e.exports=Vue},cb87:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"c",(function(){return i})),n.d(t,"b",(function(){return f}));var r=n("25c3");const o=[{name:"libs-utils",npmName:"@melt-js/libs-utils",devPort:10010},{name:"libs-lodash",npmName:"@melt-js/libs-lodash",devPort:10020}],a=!0,u=a?"production:从 unpkg 上的 hel-meta.json 加载":"development:从本地 dev server 加载(10010 / 10020)";function c({npmName:e,devPort:t}){return a?{host:`https://unpkg.com/${e}/hel_dist/hel-meta.json`}:{host:"http://localhost:"+t,skipFetchHelMeta:!0}}let l=null,s=null;function i(){return l||(l=Promise.all(o.map(e=>{const t=c(e);return console.log(`[demo-vue2-ele] preFetchLib('${e.name}') from ${t.host}`),Object(r["b"])(e.name,{custom:t})})).then(([e,t])=>(s={libsUtils:e,libsLodash:t},s))),l}function f(){return s}}});
2
+ //# sourceMappingURL=app.1fcb926c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/main.js","webpack:///external \"Vue\"","webpack:///./src/libs/remoteLibs.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","bindVueRuntime","Vue","isProd","process","host","preFetchLib","custom","skipFetchHelMeta","endsWith","loadRemoteLibs","catch","REMOTE_LIBS","npmName","devPort","ENV_LABEL","getCustom","remoteLibsPromise","remoteLibs","map","item","log","libsUtils","libsLodash","getRemoteLibs"],"mappings":"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","file":"js/app.1fcb926c.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-796a17e7\":\"4e7c0a3c\",\"chunk-18b5370e\":\"568911b1\",\"chunk-1a359644\":\"afdb1349\",\"chunk-2d221fe7\":\"e6e7a875\",\"chunk-564f8ae5\":\"b82c15a4\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-796a17e7\":1,\"chunk-18b5370e\":1,\"chunk-1a359644\":1,\"chunk-564f8ae5\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-796a17e7\":\"73b145a4\",\"chunk-18b5370e\":\"6b40d200\",\"chunk-1a359644\":\"82baf6f9\",\"chunk-2d221fe7\":\"31d6cfe0\",\"chunk-564f8ae5\":\"1a8caaef\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/* eslint-disable */\nimport { preFetchLib, bindVueRuntime } from 'hel-micro';\nimport Vue from 'vue';\nimport { loadRemoteLibs } from './libs/remoteLibs';\n\nbindVueRuntime({ Vue });\n\n(async function () {\n // comps 的 hel 组名是 comps-vue2-ele,npm 包名是 @melt-js/comps-vue2-ele,两者不一致,\n // 所以这里用组名调用 preFetchLib,并把 custom.host 指向该包的产物\n // (hel-micro 的 name 参数同时是包名和组名,只有 custom 模式能把两者分开)\n // - 生产:unpkg 上该包的 hel-meta.json\n // - 开发:pnpm comps:dev 起的 20010 端口(web-dev-server 实时生成的产物,没有 hel-meta.json)\n const isProd = process.env.NODE_ENV === 'production';\n const host = isProd\n ? 'https://unpkg.com/@melt-js/comps-vue2-ele/hel_dist/hel-meta.json'\n : 'http://localhost:20010';\n\n // 入口处统一预加载:远程组件 + 两个远程 libs(libs 的预加载逻辑在 libs/remoteLibs.js)\n await Promise.all([\n preFetchLib('comps-vue2-ele', {\n custom: {\n host,\n // dev server 没有 hel-meta.json,直接解析远端 index.html\n skipFetchHelMeta: !host.endsWith('hel-meta.json'),\n },\n }),\n loadRemoteLibs(),\n ]);\n\n await import('./loadApp');\n})().catch(err => {\n console.error('loadApp err: ', err);\n});\n","module.exports = Vue;","/* eslint-disable */\nimport { preFetchLib } from 'hel-micro';\n\n/**\n * 两个远程 libs 包\n * - name:hel 组名(appGroupName / LIB_NAME),preFetchLib 用它加载\n * - npmName:scoped npm 包名,只用于拼 unpkg 上的 hel-meta.json 地址\n * - devPort:本地 dev server 端口,登记见仓库根目录 ports.json(libs = 100xx)\n */\nconst REMOTE_LIBS = [\n { name: 'libs-utils', npmName: '@melt-js/libs-utils', devPort: 10010 },\n { name: 'libs-lodash', npmName: '@melt-js/libs-lodash', devPort: 10020 },\n];\n\nexport const isProd = process.env.NODE_ENV === 'production';\n\nexport const ENV_LABEL = isProd\n ? 'production:从 unpkg 上的 hel-meta.json 加载'\n : 'development:从本地 dev server 加载(10010 / 10020)';\n\n/**\n * 按环境生成 custom 配置\n * - 生产:unpkg 上的 hel-meta.json(前提是这些包已发布到 npm)\n * - 开发:libs 各自的 vite dev server。dev server 没有 hel-meta.json,\n * 用 skipFetchHelMeta 跳过该请求,直接解析 index.html 里的入口脚本\n */\nfunction getCustom({ npmName, devPort }) {\n if (isProd) {\n return { host: `https://unpkg.com/${npmName}/hel_dist/hel-meta.json` };\n }\n\n return {\n host: `http://localhost:${devPort}`,\n skipFetchHelMeta: true,\n };\n}\n\nlet remoteLibsPromise = null;\nlet remoteLibs = null;\n\n/**\n * 入口处(main.js)调用一次,并行加载两个远程库;\n * 重复调用复用同一个 Promise,异步组件里 await 它即可。\n * resolve 值:\n * - libsUtils:{ regs, num, myMod }\n * - libsLodash:{ ...lodash, myUtils }\n */\nexport function loadRemoteLibs() {\n if (!remoteLibsPromise) {\n remoteLibsPromise = Promise.all(\n REMOTE_LIBS.map(item => {\n const custom = getCustom(item);\n console.log(`[demo-vue2-ele] preFetchLib('${item.name}') from ${custom.host}`);\n return preFetchLib(item.name, { custom });\n }),\n ).then(([libsUtils, libsLodash]) => {\n remoteLibs = { libsUtils, libsLodash };\n return remoteLibs;\n });\n }\n\n return remoteLibsPromise;\n}\n\n/** 已加载完成的远程库(入口处 await 过 loadRemoteLibs 后才有值) */\nexport function getRemoteLibs() {\n return remoteLibs;\n}\n"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-18b5370e"],{"0f3e":function(e,t,n){},2232:function(e,t,n){"use strict";var r=n("e605"),a=n("a86f"),i=n("6e4c"),s=n("083c"),o=n("734c"),u=n("ac54"),c=n("3ce3"),l=n("f511"),f=n("e7b0"),d=n("36a6"),v=n("7cc7"),h=!v&&!f("map",(function(){})),b=!v&&!h&&d("map",TypeError),p=v||h||b,m=u((function(){var e=this.iterator,t=s(a(this.next,e)),n=this.done=!!t.done;if(!n)return c(e,this.mapper,[t.value,this.counter++],!0)}));r({target:"Iterator",proto:!0,real:!0,forced:p},{map:function(e){s(this);try{i(e)}catch(t){l(this,"throw",t)}return b?a(b,this,e):new m(o(this),{mapper:e})}})},4784:function(e,t,n){"use strict";var r=n("2c8d");e.exports=!r((function(){var e="9007199254740993",t=JSON.rawJSON(e);return!JSON.isRawJSON(t)||JSON.stringify(t)!==e}))},"6acb":function(e,t,n){"use strict";var r=n("ba95");e.exports=Array.isArray||function(e){return"Array"===r(e)}},8471:function(e,t,n){"use strict";var r=n("155d"),a=n("d744"),i=SyntaxError,s=parseInt,o=String.fromCharCode,u=r("".charAt),c=r("".slice),l=r(/./.exec),f={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":"\n","\\r":"\r","\\t":"\t"},d=/^[\da-f]{4}$/i,v=/^[\u0000-\u001F]$/;e.exports=function(e,t){var n=!0,r="";while(t<e.length){var h=u(e,t);if("\\"===h){var b=c(e,t,t+2);if(a(f,b))r+=f[b],t+=2;else{if("\\u"!==b)throw new i('Unknown escape sequence: "'+b+'"');t+=2;var p=c(e,t,t+4);if(!l(d,p))throw new i("Bad Unicode escape at: "+t);r+=o(s(p,16)),t+=4}}else{if('"'===h){n=!1,t++;break}if(l(v,h))throw new i("Bad control character in string literal at: "+t);r+=h,t++}}if(n)throw new i("Unterminated string at: "+t);return{value:r,end:t}}},"8a28":function(e,t,n){"use strict";var r=n("e605"),a=n("4dfe"),i=n("a86f"),s=n("155d"),o=n("2c8d"),u=n("6acb"),c=n("ed76"),l=n("610b"),f=n("47a4"),d=n("bc7a"),v=n("c129"),h=n("ba95"),b=n("ce87"),p=n("13d0").includes,m=n("d744"),g=n("b1de"),_=n("8471"),y=n("086f"),S=n("3d0b"),w=n("4784"),O=String,N=TypeError,C=a("JSON","stringify"),J=a("BigInt"),k=s("".valueOf),B=s((!0).valueOf),F=J&&s(J.prototype.valueOf),x=s(/./.exec),L=s("".charAt),U=s("".charCodeAt),A=s("".replace),D=s("".slice),I=s([].push),j=s([].pop),E=s(1.1.toString),R=/[\uD800-\uDFFF]/g,$=/^[\uD800-\uDBFF]$/,H=/^[\uDC00-\uDFFF]$/,T=/^\d+$/,q=y(),V=y(),M=y(),z=q.length,G=V.length,K=!S||o((function(){var e=a("Symbol")("stringify detection");return"[null]"!==C([e])||"{}"!==C({a:e})||"{}"!==C(Object(e))})),P=o((function(){return'"\\udf06\\ud834"'!==C("\udf06\ud834")||'"\\udead"'!==C("\udead")})),Q=w?a("JSON","isRawJSON"):d,W=K?function(e,t,n){return C(e,(function(e,n){var r=i(t,this,e,n);if(!v(r))return r}),n)}:C,X=function(e,t,n){var r=L(n,t-1),a=L(n,t+1);return x($,e)&&!x(H,a)||x(H,e)&&!x($,r)?"\\u"+E(U(e,0),16):e},Y=function(e){if(u(e)){for(var t=e.length,n=[],r=f(null),a=0;a<t;a++){var i,s=e[a];if("string"==typeof s)i=s;else{if("number"!=typeof s&&"Number"!==h(s)&&"String"!==h(s))continue;i=g(s)}m(r,i)||(r[i]=!0,I(n,i))}return n}},Z=function(e,t){try{return e(t),!0}catch(n){return!1}},ee=function(e){var t=h(e);return"Number"===t&&Z(b,e)||"String"===t&&Z(k,e)||"Boolean"===t&&Z(B,e)||!!F&&"BigInt"===t&&Z(F,e)},te=function(e){if(!l(e)||c(e)||u(e))return!1;try{return!ee(e)}catch(t){return!0}},ne=function(e,t){return{toJSON:function(){var n=e[t];if(l(n)||"bigint"==typeof n){var r=n.toJSON;c(r)&&(n=i(r,n,t))}return n}}},re=function(e){for(var t=0,n=e.length;t<n;t++)if(x(T,e[t]))return V;return""},ae=function(e,t,n){for(var r=f(null),a=0,i=t.length;a<i;a++){var s=t[a];r[n+s]=ne(e,s)}return r[M]=null,r};C&&r({target:"JSON",stat:!0,arity:3,forced:K||P||!w},{stringify:function(e,t,n){var r,a=c(t)?t:void 0,s=a?void 0:Y(t),o=s&&re(s),l=[],f=[],d=[],v=!1,h=!0,b=W(e,(function(e,t){if(e=O(e),s){if(e===M)return j(f),void(r=j(d));if(h)h=!1;else if(this!==r&&!u(this)&&!p(s,e))return}else a&&(t=i(a,this,e,t));if(Q(t))return w?t:(v=!0,q+(I(l,t.rawJSON)-1));if(s&&te(t)){if(p(f,t))throw new N("Converting circular structure to JSON");var n=ae(t,s,o);return I(f,t),I(d,r),r=n,o&&(v=!0),n}return t}),n);if("string"!=typeof b)return b;if(P&&(b=A(b,R,X)),!v)return b;for(var m="",g=b.length,y=0;y<g;y++){var S=L(b,y);if('"'===S){var C=_(b,++y).end-1,J=D(b,y,C);D(J,0,z)===q?m+=l[D(J,z)]:D(J,0,G)===V?m+='"'+D(J,G)+'"':m+='"'+J+'"',y=C}else m+=S}return m}})},bc7a:function(e,t,n){"use strict";var r=n("610b"),a=n("c835").get;e.exports=function(e){if(!r(e))return!1;var t=a(e);return!!t&&"RawJSON"===t.type}},c36d:function(e,t,n){"use strict";n("0f3e")},ce87:function(e,t,n){"use strict";var r=n("155d");e.exports=r(1.1.valueOf)},e2fd:function(e,t,n){"use strict";n.r(t);var r=function(){var e=this,t=e._self._c;return t("div",{staticClass:"demo-page"},[t("header",[t("p",{staticClass:"demo-page__eyebrow"},[e._v("远程 libs")]),t("h1",{staticClass:"demo-page__title"},[e._v("远程 libs 演示")]),t("p",{staticClass:"demo-page__lead"},[e._v(" 下面两个库都是 hel 远程库,由入口 "),t("code",[e._v("main.js")]),e._v(" 通过 "),t("code",[e._v("preFetchLib")]),e._v(" 统一预加载,本示例只负责展示调用结果, 宿主既没有安装也没有打包它们:"),t("code",[e._v("libs-utils")]),e._v("、"),t("code",[e._v("libs-lodash")]),e._v(" (lodash 完整打进远程产物)。当前 "+e._s(e.envLabel)+"。 ")])]),e.panels.length?[t("div",{staticClass:"libs-panels"},e._l(e.panels,(function(n){return t("section",{key:n.name,staticClass:"libs-panel"},[t("h2",{staticClass:"libs-panel__title"},[e._v(" "+e._s(n.name)+" "),t("span",{staticClass:"libs-panel__group"},[e._v("preFetchLib('"+e._s(n.name)+"')")])]),t("table",{staticClass:"libs-table"},[t("tbody",e._l(n.rows,(function(n){return t("tr",{key:n.code},[t("td",{staticClass:"libs-table__code"},[t("code",[e._v(e._s(n.code))])]),t("td",{staticClass:"libs-table__value"},[e._v(e._s(n.value))])])})),0)])])})),0),t("div",[t("button",{staticClass:"demo-btn demo-btn--ghost",attrs:{type:"button"},on:{click:e.refresh}},[e._v(" 重新执行 ")])])]:t("p",{staticClass:"demo-note"},[e._v("远程库尚未加载…")])],2)},a=[],i=(n("061b"),n("2232"),n("8a28"),n("cb87"));function s(e,t){const{num:n,regs:r,myMod:a}=e,i=t;return[{name:"libs-utils",rows:[{code:"num.canBeNum('22.1')",value:String(n.canBeNum("22.1"))},{code:"num.canBeNum('22.s')",value:String(n.canBeNum("22.s"))},{code:"num.random(100)",value:String(n.random(100))},{code:"regs.en.test('hel-micro')",value:String(r.en.test("hel-micro"))},{code:"regs.enSnake.test('hel_demo')",value:String(r.enSnake.test("hel_demo"))},{code:"myMod.sayHelloToHel('demo-vue2-ele')",value:a.sayHelloToHel("demo-vue2-ele")}]},{name:"libs-lodash",rows:[{code:"chunk([1, 2, 3, 4, 5], 2)",value:JSON.stringify(i.chunk([1,2,3,4,5],2))},{code:"uniq([2, 1, 2, 3])",value:JSON.stringify(i.uniq([2,1,2,3]))},{code:"camelCase('hel remote libs')",value:i.camelCase("hel remote libs")},{code:"orderBy([{ n: 3 }, { n: 1 }, { n: 2 }], 'n')",value:JSON.stringify(i.orderBy([{n:3},{n:1},{n:2}],"n").map(e=>e.n))},{code:"myUtils.regs.enOrNum.test('hel2026')",value:String(i.myUtils.regs.enOrNum.test("hel2026"))},{code:"VERSION",value:String(i.VERSION)}]}]}var o={name:"LibsView",data(){const e=Object(i["b"])();return{envLabel:i["a"],panels:e?s(e.libsUtils,e.libsLodash):[]}},methods:{refresh(){const e=Object(i["b"])();e&&(this.panels=s(e.libsUtils,e.libsLodash))}}},u=o,c=(n("c36d"),n("ad2c")),l=Object(c["a"])(u,r,a,!1,null,"473ca624",null);t["default"]=l.exports}}]);
2
+ //# sourceMappingURL=chunk-18b5370e.568911b1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///../node_modules/.pnpm/core-js@3.51.0/node_modules/core-js/modules/es.iterator.map.js","webpack:///../node_modules/.pnpm/core-js@3.51.0/node_modules/core-js/internals/native-raw-json.js","webpack:///../node_modules/.pnpm/core-js@3.51.0/node_modules/core-js/internals/is-array.js","webpack:///../node_modules/.pnpm/core-js@3.51.0/node_modules/core-js/internals/parse-json-string.js","webpack:///../node_modules/.pnpm/core-js@3.51.0/node_modules/core-js/modules/es.json.stringify.js","webpack:///../node_modules/.pnpm/core-js@3.51.0/node_modules/core-js/internals/is-raw-json.js","webpack:///./src/views/LibsView.vue?96c4","webpack:///../node_modules/.pnpm/core-js@3.51.0/node_modules/core-js/internals/this-number-value.js","webpack:///./src/views/LibsView.vue","webpack:///src/views/LibsView.vue","webpack:///./src/views/LibsView.vue?b90c","webpack:///./src/views/LibsView.vue?d1c8"],"names":["$","call","aCallable","anObject","getIteratorDirect","createIteratorProxy","callWithSafeIterationClosing","iteratorClose","iteratorHelperThrowsOnInvalidIterator","iteratorHelperWithoutClosingOnEarlyError","IS_PURE","MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR","mapWithoutClosingOnEarlyError","TypeError","FORCED","IteratorProxy","iterator","this","result","next","done","mapper","value","counter","target","proto","real","forced","map","error","fails","module","exports","unsafeInt","raw","JSON","rawJSON","isRawJSON","stringify","classof","Array","isArray","argument","uncurryThis","hasOwn","$SyntaxError","SyntaxError","$parseInt","parseInt","fromCharCode","String","at","charAt","slice","exec","codePoints","IS_4_HEX_DIGITS","IS_C0_CONTROL_CODE","source","i","unterminated","length","chr","twoChars","fourHexDigits","end","getBuiltIn","isCallable","isObject","create","isSymbol","thisNumberValue","includes","toString","parseJSONString","uid","NATIVE_SYMBOL","NATIVE_RAW_JSON","$String","$TypeError","$stringify","$BigInt","stringValueOf","valueOf","booleanValueOf","bigIntValueOf","prototype","charCodeAt","replace","push","pop","numberToString","surrogates","leadingSurrogates","trailingSurrogates","digits","RAW_MARK","KEY_MARK","END_MARK","RAW_MARK_LENGTH","KEY_MARK_LENGTH","WRONG_SYMBOLS_CONVERSION","symbol","a","Object","ILL_FORMED_UNICODE","isRawJSONValue","stringifyWithProperSymbolsConversion","it","replacer","space","key","replaced","fixIllFormedJSON","match","offset","string","prev","getPropertyList","rawLength","propertyList","addedKeys","element","hasInternalSlot","isBoxedPrimitive","kind","isSerializedAsObject","createElementHolder","holder","toJSON","elementToJSON","getKeyPrefix","createOrderedObject","keyPrefix","ordered","stat","arity","text","currentOrdered","replacerFunction","undefined","rawStrings","openObjects","parentOrdered","marked","root","json","getInternalState","get","O","state","type","render","_vm","_c","_self","staticClass","_v","_s","envLabel","panels","_l","panel","name","rows","row","code","attrs","on","refresh","staticRenderFns","buildPanels","libsUtils","libsLodash","num","regs","myMod","lodash","canBeNum","random","en","test","enSnake","sayHelloToHel","chunk","uniq","camelCase","orderBy","n","item","myUtils","enOrNum","VERSION","data","libs","getRemoteLibs","ENV_LABEL","methods","component"],"mappings":"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","file":"js/chunk-18b5370e.568911b1.js","sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar iteratorClose = require('../internals/iterator-close');\nvar iteratorHelperThrowsOnInvalidIterator = require('../internals/iterator-helper-throws-on-invalid-iterator');\nvar iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');\nvar IS_PURE = require('../internals/is-pure');\n\nvar MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator('map', function () { /* empty */ });\nvar mapWithoutClosingOnEarlyError = !IS_PURE && !MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR\n && iteratorHelperWithoutClosingOnEarlyError('map', TypeError);\n\nvar FORCED = IS_PURE || MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || mapWithoutClosingOnEarlyError;\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n var result = anObject(call(this.next, iterator));\n var done = this.done = !!result.done;\n if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true);\n});\n\n// `Iterator.prototype.map` method\n// https://tc39.es/ecma262/#sec-iterator.prototype.map\n$({ target: 'Iterator', proto: true, real: true, forced: FORCED }, {\n map: function map(mapper) {\n anObject(this);\n try {\n aCallable(mapper);\n } catch (error) {\n iteratorClose(this, 'throw', error);\n }\n\n if (mapWithoutClosingOnEarlyError) return call(mapWithoutClosingOnEarlyError, this, mapper);\n\n return new IteratorProxy(getIteratorDirect(this), {\n mapper: mapper\n });\n }\n});\n","'use strict';\n/* eslint-disable es/no-json -- safe */\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var unsafeInt = '9007199254740993';\n // eslint-disable-next-line es/no-json-rawjson -- feature detection\n var raw = JSON.rawJSON(unsafeInt);\n // eslint-disable-next-line es/no-json-israwjson -- feature detection\n return !JSON.isRawJSON(raw) || JSON.stringify(raw) !== unsafeInt;\n});\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\n\nvar $SyntaxError = SyntaxError;\nvar $parseInt = parseInt;\nvar fromCharCode = String.fromCharCode;\nvar at = uncurryThis(''.charAt);\nvar slice = uncurryThis(''.slice);\nvar exec = uncurryThis(/./.exec);\n\nvar codePoints = {\n '\\\\\"': '\"',\n '\\\\\\\\': '\\\\',\n '\\\\/': '/',\n '\\\\b': '\\b',\n '\\\\f': '\\f',\n '\\\\n': '\\n',\n '\\\\r': '\\r',\n '\\\\t': '\\t'\n};\n\nvar IS_4_HEX_DIGITS = /^[\\da-f]{4}$/i;\n// eslint-disable-next-line regexp/no-control-character -- safe\nvar IS_C0_CONTROL_CODE = /^[\\u0000-\\u001F]$/;\n\nmodule.exports = function (source, i) {\n var unterminated = true;\n var value = '';\n while (i < source.length) {\n var chr = at(source, i);\n if (chr === '\\\\') {\n var twoChars = slice(source, i, i + 2);\n if (hasOwn(codePoints, twoChars)) {\n value += codePoints[twoChars];\n i += 2;\n } else if (twoChars === '\\\\u') {\n i += 2;\n var fourHexDigits = slice(source, i, i + 4);\n if (!exec(IS_4_HEX_DIGITS, fourHexDigits)) throw new $SyntaxError('Bad Unicode escape at: ' + i);\n value += fromCharCode($parseInt(fourHexDigits, 16));\n i += 4;\n } else throw new $SyntaxError('Unknown escape sequence: \"' + twoChars + '\"');\n } else if (chr === '\"') {\n unterminated = false;\n i++;\n break;\n } else {\n if (exec(IS_C0_CONTROL_CODE, chr)) throw new $SyntaxError('Bad control character in string literal at: ' + i);\n value += chr;\n i++;\n }\n }\n if (unterminated) throw new $SyntaxError('Unterminated string at: ' + i);\n return { value: value, end: i };\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar isRawJSON = require('../internals/is-raw-json');\nvar isSymbol = require('../internals/is-symbol');\nvar classof = require('../internals/classof-raw');\nvar thisNumberValue = require('../internals/this-number-value');\nvar includes = require('../internals/array-includes').includes;\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar parseJSONString = require('../internals/parse-json-string');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar NATIVE_RAW_JSON = require('../internals/native-raw-json');\n\nvar $String = String;\nvar $TypeError = TypeError;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar $BigInt = getBuiltIn('BigInt');\nvar stringValueOf = uncurryThis(''.valueOf);\nvar booleanValueOf = uncurryThis(true.valueOf);\nvar bigIntValueOf = $BigInt && uncurryThis($BigInt.prototype.valueOf);\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar slice = uncurryThis(''.slice);\nvar push = uncurryThis([].push);\nvar pop = uncurryThis([].pop);\nvar numberToString = uncurryThis(1.1.toString);\n\nvar surrogates = /[\\uD800-\\uDFFF]/g;\nvar leadingSurrogates = /^[\\uD800-\\uDBFF]$/;\nvar trailingSurrogates = /^[\\uDC00-\\uDFFF]$/;\nvar digits = /^\\d+$/;\n\n// a placeholder of a raw JSON value\nvar RAW_MARK = uid();\n// a prefix of keys of a reordered object, see `createOrderedObject`\nvar KEY_MARK = uid();\n// the last key of a reordered object, marks the end of its serialization\nvar END_MARK = uid();\nvar RAW_MARK_LENGTH = RAW_MARK.length;\nvar KEY_MARK_LENGTH = KEY_MARK.length;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')('stringify detection');\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) !== '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) !== '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar isRawJSONValue = NATIVE_RAW_JSON ? getBuiltIn('JSON', 'isRawJSON') : isRawJSON;\n\nvar stringifyWithProperSymbolsConversion = WRONG_SYMBOLS_CONVERSION ? function (it, replacer, space) {\n return $stringify(it, function (key, value) {\n var replaced = call(replacer, this, key, value);\n if (!isSymbol(replaced)) return replaced;\n }, space);\n} : $stringify;\n\nvar fixIllFormedJSON = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if (\n (exec(leadingSurrogates, match) && !exec(trailingSurrogates, next)) ||\n (exec(trailingSurrogates, match) && !exec(leadingSurrogates, prev))\n ) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\n// `PropertyList` of `JSON.stringify`\n// https://tc39.es/ecma262/#sec-json.stringify\nvar getPropertyList = function (replacer) {\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var propertyList = [];\n // a null prototype object is used as a set of already added keys to keep the deduplication linear\n var addedKeys = create(null);\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n var key;\n if (typeof element == 'string') key = element;\n else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') key = toString(element);\n else continue;\n if (!hasOwn(addedKeys, key)) {\n addedKeys[key] = true;\n push(propertyList, key);\n }\n }\n return propertyList;\n};\n\n// values with such an internal slot are unwrapped by `SerializeJSONProperty` instead of being serialized as objects\nvar hasInternalSlot = function (valueOf, it) {\n try {\n valueOf(it);\n return true;\n } catch (error) {\n return false;\n }\n};\n\n// the slot check is expensive, so it's performed only for the kind reported by the value itself -\n// a value lying about its kind via `Symbol.toStringTag` is serialized as an ordinary object\nvar isBoxedPrimitive = function (it) {\n var kind = classof(it);\n return (kind === 'Number' && hasInternalSlot(thisNumberValue, it))\n || (kind === 'String' && hasInternalSlot(stringValueOf, it))\n || (kind === 'Boolean' && hasInternalSlot(booleanValueOf, it))\n || (!!bigIntValueOf && kind === 'BigInt' && hasInternalSlot(bigIntValueOf, it));\n};\n\n// only objects serialized by `SerializeJSONObject` are affected by the property list\nvar isSerializedAsObject = function (it) {\n if (!isObject(it) || isCallable(it) || isArray(it)) return false;\n try {\n return !isBoxedPrimitive(it);\n // `classof` reads `Symbol.toStringTag`, so a proxy could throw - it has no internal slots anyway\n } catch (error) {\n return true;\n }\n};\n\n// the engine unwraps it in the same order as it would read the original property,\n// so the property is read lazily and `toJSON` is called once and with the original key\nvar createElementHolder = function (holder, key) {\n return {\n toJSON: function () {\n var element = holder[key];\n if (isObject(element) || typeof element == 'bigint') {\n var elementToJSON = element.toJSON;\n if (isCallable(elementToJSON)) element = call(elementToJSON, element, key);\n } return element;\n }\n };\n};\n\n// own keys of objects are sorted - integer-like keys are moved to the beginning,\n// so such keys should be marked and restored in the serialized string\nvar getKeyPrefix = function (propertyList) {\n for (var i = 0, length = propertyList.length; i < length; i++) {\n if (exec(digits, propertyList[i])) return KEY_MARK;\n } return '';\n};\n\n// `SerializeJSONObject` iterates the property list, so the value is replaced with an object with keys in this order\nvar createOrderedObject = function (value, propertyList, keyPrefix) {\n // keys are not marked if the property list has no integer-like keys, so `Object.prototype`\n // with a setter, a non-writable property or `__proto__` should not intercept the assignment\n var ordered = create(null);\n for (var i = 0, length = propertyList.length; i < length; i++) {\n var key = propertyList[i];\n ordered[keyPrefix + key] = createElementHolder(value, key);\n }\n ordered[END_MARK] = null;\n return ordered;\n};\n\n// `JSON.stringify` method\n// https://tc39.es/ecma262/#sec-json.stringify\n// https://github.com/tc39/proposal-json-parse-with-source\nif ($stringify) $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE || !NATIVE_RAW_JSON }, {\n stringify: function stringify(text, replacer, space) {\n var replacerFunction = isCallable(replacer) ? replacer : undefined;\n var propertyList = replacerFunction ? undefined : getPropertyList(replacer);\n var keyPrefix = propertyList && getKeyPrefix(propertyList);\n var rawStrings = [];\n var openObjects = [];\n var parentOrdered = [];\n var currentOrdered;\n var marked = false;\n var root = true;\n\n var json = stringifyWithProperSymbolsConversion(text, function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n key = $String(key);\n\n if (propertyList) {\n if (key === END_MARK) {\n pop(openObjects);\n currentOrdered = pop(parentOrdered);\n return;\n }\n if (root) root = false;\n // the innermost reordered object already contains only keys of the property list and arrays are not\n // affected by it, the rest of objects (like objects with a fake `Symbol.toStringTag`) are filtered here\n else if (this !== currentOrdered && !isArray(this) && !includes(propertyList, key)) return;\n } else if (replacerFunction) value = call(replacerFunction, this, key, value);\n\n if (isRawJSONValue(value)) {\n if (NATIVE_RAW_JSON) return value;\n marked = true;\n return RAW_MARK + (push(rawStrings, value.rawJSON) - 1);\n }\n\n if (propertyList && isSerializedAsObject(value)) {\n // reordered objects are new each time, so cycles should be detected before the engine does it\n if (includes(openObjects, value)) throw new $TypeError('Converting circular structure to JSON');\n var ordered = createOrderedObject(value, propertyList, keyPrefix);\n push(openObjects, value);\n push(parentOrdered, currentOrdered);\n currentOrdered = ordered;\n if (keyPrefix) marked = true;\n return ordered;\n }\n\n return value;\n }, space);\n\n if (typeof json != 'string') return json;\n\n if (ILL_FORMED_UNICODE) json = replace(json, surrogates, fixIllFormedJSON);\n\n if (!marked) return json;\n\n var result = '';\n var length = json.length;\n\n for (var i = 0; i < length; i++) {\n var chr = charAt(json, i);\n if (chr === '\"') {\n var end = parseJSONString(json, ++i).end - 1;\n var string = slice(json, i, end);\n if (slice(string, 0, RAW_MARK_LENGTH) === RAW_MARK) result += rawStrings[slice(string, RAW_MARK_LENGTH)];\n else if (slice(string, 0, KEY_MARK_LENGTH) === KEY_MARK) result += '\"' + slice(string, KEY_MARK_LENGTH) + '\"';\n else result += '\"' + string + '\"';\n i = end;\n } else result += chr;\n }\n\n return result;\n }\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar getInternalState = require('../internals/internal-state').get;\n\nmodule.exports = function isRawJSON(O) {\n if (!isObject(O)) return false;\n var state = getInternalState(O);\n return !!state && state.type === 'RawJSON';\n};\n","export * from \"-!../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.47.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.47.0/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./LibsView.vue?vue&type=style&index=0&id=473ca624&prod&scoped=true&lang=css\"","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.1.valueOf);\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"demo-page\"},[_c('header',[_c('p',{staticClass:\"demo-page__eyebrow\"},[_vm._v(\"远程 libs\")]),_c('h1',{staticClass:\"demo-page__title\"},[_vm._v(\"远程 libs 演示\")]),_c('p',{staticClass:\"demo-page__lead\"},[_vm._v(\" 下面两个库都是 hel 远程库,由入口 \"),_c('code',[_vm._v(\"main.js\")]),_vm._v(\" 通过 \"),_c('code',[_vm._v(\"preFetchLib\")]),_vm._v(\" 统一预加载,本示例只负责展示调用结果, 宿主既没有安装也没有打包它们:\"),_c('code',[_vm._v(\"libs-utils\")]),_vm._v(\"、\"),_c('code',[_vm._v(\"libs-lodash\")]),_vm._v(\" (lodash 完整打进远程产物)。当前 \"+_vm._s(_vm.envLabel)+\"。 \")])]),(!_vm.panels.length)?_c('p',{staticClass:\"demo-note\"},[_vm._v(\"远程库尚未加载…\")]):[_c('div',{staticClass:\"libs-panels\"},_vm._l((_vm.panels),function(panel){return _c('section',{key:panel.name,staticClass:\"libs-panel\"},[_c('h2',{staticClass:\"libs-panel__title\"},[_vm._v(\" \"+_vm._s(panel.name)+\" \"),_c('span',{staticClass:\"libs-panel__group\"},[_vm._v(\"preFetchLib('\"+_vm._s(panel.name)+\"')\")])]),_c('table',{staticClass:\"libs-table\"},[_c('tbody',_vm._l((panel.rows),function(row){return _c('tr',{key:row.code},[_c('td',{staticClass:\"libs-table__code\"},[_c('code',[_vm._v(_vm._s(row.code))])]),_c('td',{staticClass:\"libs-table__value\"},[_vm._v(_vm._s(row.value))])])}),0)])])}),0),_c('div',[_c('button',{staticClass:\"demo-btn demo-btn--ghost\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.refresh}},[_vm._v(\" 重新执行 \")])])]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"demo-page\">\n <header>\n <p class=\"demo-page__eyebrow\">远程 libs</p>\n <h1 class=\"demo-page__title\">远程 libs 演示</h1>\n <p class=\"demo-page__lead\">\n 下面两个库都是 hel 远程库,由入口 <code>main.js</code> 通过\n <code>preFetchLib</code> 统一预加载,本示例只负责展示调用结果,\n 宿主既没有安装也没有打包它们:<code>libs-utils</code>、<code>libs-lodash</code>\n (lodash 完整打进远程产物)。当前 {{ envLabel }}。\n </p>\n </header>\n\n <p v-if=\"!panels.length\" class=\"demo-note\">远程库尚未加载…</p>\n\n <template v-else>\n <div class=\"libs-panels\">\n <section v-for=\"panel in panels\" :key=\"panel.name\" class=\"libs-panel\">\n <h2 class=\"libs-panel__title\">\n {{ panel.name }}\n <span class=\"libs-panel__group\">preFetchLib('{{ panel.name }}')</span>\n </h2>\n <table class=\"libs-table\">\n <tbody>\n <tr v-for=\"row in panel.rows\" :key=\"row.code\">\n <td class=\"libs-table__code\"><code>{{ row.code }}</code></td>\n <td class=\"libs-table__value\">{{ row.value }}</td>\n </tr>\n </tbody>\n </table>\n </section>\n </div>\n\n <div>\n <button type=\"button\" class=\"demo-btn demo-btn--ghost\" @click=\"refresh\">\n 重新执行\n </button>\n </div>\n </template>\n </div>\n</template>\n\n<script>\n/* eslint-disable */\nimport { getRemoteLibs, ENV_LABEL } from '../libs/remoteLibs';\n\n/** 把两个远程库的调用结果整理成页面上的表格数据 */\nfunction buildPanels(libsUtils, libsLodash) {\n const { num, regs, myMod } = libsUtils;\n const lodash = libsLodash;\n\n return [\n {\n name: 'libs-utils',\n rows: [\n { code: \"num.canBeNum('22.1')\", value: String(num.canBeNum('22.1')) },\n { code: \"num.canBeNum('22.s')\", value: String(num.canBeNum('22.s')) },\n { code: 'num.random(100)', value: String(num.random(100)) },\n {\n code: \"regs.en.test('hel-micro')\",\n value: String(regs.en.test('hel-micro')),\n },\n {\n code: \"regs.enSnake.test('hel_demo')\",\n value: String(regs.enSnake.test('hel_demo')),\n },\n {\n code: \"myMod.sayHelloToHel('demo-vue2-ele')\",\n value: myMod.sayHelloToHel('demo-vue2-ele'),\n },\n ],\n },\n {\n name: 'libs-lodash',\n rows: [\n {\n code: 'chunk([1, 2, 3, 4, 5], 2)',\n value: JSON.stringify(lodash.chunk([1, 2, 3, 4, 5], 2)),\n },\n {\n code: 'uniq([2, 1, 2, 3])',\n value: JSON.stringify(lodash.uniq([2, 1, 2, 3])),\n },\n {\n code: \"camelCase('hel remote libs')\",\n value: lodash.camelCase('hel remote libs'),\n },\n {\n code: \"orderBy([{ n: 3 }, { n: 1 }, { n: 2 }], 'n')\",\n value: JSON.stringify(\n lodash.orderBy([{ n: 3 }, { n: 1 }, { n: 2 }], 'n').map(item => item.n),\n ),\n },\n {\n code: \"myUtils.regs.enOrNum.test('hel2026')\",\n value: String(lodash.myUtils.regs.enOrNum.test('hel2026')),\n },\n { code: 'VERSION', value: String(lodash.VERSION) },\n ],\n },\n ];\n}\n\nexport default {\n name: 'LibsView',\n data() {\n const libs = getRemoteLibs();\n return {\n envLabel: ENV_LABEL,\n panels: libs ? buildPanels(libs.libsUtils, libs.libsLodash) : [],\n };\n },\n methods: {\n refresh() {\n const libs = getRemoteLibs();\n if (!libs) return;\n this.panels = buildPanels(libs.libsUtils, libs.libsLodash);\n },\n },\n};\n</script>\n\n<style scoped>\n.libs-panels {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n\n.libs-panel {\n flex: 1 1 320px;\n min-width: 0;\n padding: 14px 16px;\n border: 1px solid var(--demo-border);\n border-radius: 12px;\n background: var(--demo-surface-alt);\n}\n\n.libs-panel__title {\n margin: 0 0 8px;\n color: var(--demo-text);\n font-size: 14px;\n}\n\n.libs-panel__group {\n margin-left: 8px;\n padding: 2px 6px;\n border-radius: 6px;\n background: #f0f2f5;\n color: #c7254e;\n font-size: 12px;\n font-weight: normal;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n}\n\n.libs-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n}\n\n.libs-table tr + tr {\n border-top: 1px solid var(--demo-border);\n}\n\n.libs-table td {\n padding: 6px 0;\n vertical-align: top;\n}\n\n.libs-table__code {\n width: 60%;\n padding-right: 8px;\n overflow-wrap: anywhere;\n}\n\n.libs-table__code code {\n padding: 2px 6px;\n border-radius: 4px;\n background: #f0f2f5;\n color: #c7254e;\n font-size: 12.5px;\n}\n\n.libs-table__value {\n color: var(--demo-text);\n font-weight: 600;\n overflow-wrap: anywhere;\n}\n</style>\n","import mod from \"-!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/.pnpm/thread-loader@2.1.3_webpack@4.47.0/node_modules/thread-loader/dist/cjs.js!../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.29.13_webpack@4.47.0/node_modules/babel-loader/lib/index.js!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./LibsView.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/.pnpm/thread-loader@2.1.3_webpack@4.47.0/node_modules/thread-loader/dist/cjs.js!../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.29.13_webpack@4.47.0/node_modules/babel-loader/lib/index.js!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./LibsView.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LibsView.vue?vue&type=template&id=473ca624&scoped=true\"\nimport script from \"./LibsView.vue?vue&type=script&lang=js\"\nexport * from \"./LibsView.vue?vue&type=script&lang=js\"\nimport style0 from \"./LibsView.vue?vue&type=style&index=0&id=473ca624&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"473ca624\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-1a359644"],{"1d56":function(e,t,o){"use strict";o.r(t);var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"demo-page"},[e._m(0),t("div",{staticClass:"remote-box"},[t("h2",{staticClass:"remote-box__title"},[e._v("红色区域内是一个远程组件,该组件内部依赖了另一个远程组件")]),t("remote-comp",{attrs:{msg:"Welcome to use hel remote vue comp"}})],1),e._m(1),t("div",{staticClass:"demo-links"},[t("a",{attrs:{href:"https://github.com/hel-eco/hel-tpl-remote-vue-comp",target:"_blank",rel:"noopener"}},[e._v(" 远程组件仓库 ")]),t("router-link",{attrs:{to:"/libs"}},[e._v("继续看远程 libs 示例 →")])],1)])},a=[function(){var e=this,t=e._self._c;return t("header",[t("p",{staticClass:"demo-page__eyebrow"},[e._v("远程组件")]),t("h1",{staticClass:"demo-page__title"},[e._v("comps-vue2-ele 远程组件")]),t("p",{staticClass:"demo-page__lead"},[e._v(" 下面红色区域里的内容是 "),t("code",[e._v("preFetchLib('comps-vue2-ele')")]),e._v(" 从远端拉取的组件, 它内部又依赖了另一个远程组件(HelloWorld);宿主产物里没有这些代码。 ")])])},function(){var e=this,t=e._self._c;return t("p",{staticClass:"demo-note"},[e._v(" 远端地址按环境切换:开发 "),t("code",[e._v("http://localhost:20010")]),e._v("(先执行 "),t("code",[e._v("pnpm comps:dev")]),e._v("),生产 "),t("code",[e._v("unpkg")]),e._v(" 上的 "),t("code",[e._v("hel-meta.json")]),e._v("。 ")])}],c=o("2c8a");const l="comps-vue2-ele";var n=Object(c["exposeLib"])(l),i={name:"RemoteCompView",components:{RemoteComp:n.App}},p=i,_=(o("4974"),o("ad2c")),r=Object(_["a"])(p,s,a,!1,null,"4531395a",null);t["default"]=r.exports},4974:function(e,t,o){"use strict";o("a082")},a082:function(e,t,o){}}]);
2
+ //# sourceMappingURL=chunk-1a359644.afdb1349.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./src/views/RemoteCompView.vue","webpack:///../node_modules/.pnpm/@melt-js+comps-vue2-ele@1.5_a334b43b571ce7b245b88770e0dae023/node_modules/@melt-js/comps-vue2-ele/hel_proxy_es/entry.js","webpack:///src/views/RemoteCompView.vue","webpack:///./src/views/RemoteCompView.vue?194e","webpack:///./src/views/RemoteCompView.vue?66c9","webpack:///./src/views/RemoteCompView.vue?d694"],"names":["render","_vm","this","_c","_self","staticClass","_m","_v","attrs","staticRenderFns","LIB_NAME","dtlib","name","components","RemoteComp","comps","App","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,aAAa,CAACJ,EAAIK,GAAG,GAAGH,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,KAAK,CAACE,YAAY,qBAAqB,CAACJ,EAAIM,GAAG,kCAAkCJ,EAAG,cAAc,CAACK,MAAM,CAAC,IAAM,yCAAyC,GAAGP,EAAIK,GAAG,GAAGH,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,IAAI,CAACK,MAAM,CAAC,KAAO,qDAAqD,OAAS,SAAS,IAAM,aAAa,CAACP,EAAIM,GAAG,cAAcJ,EAAG,cAAc,CAACK,MAAM,CAAC,GAAK,UAAU,CAACP,EAAIM,GAAG,sBAAsB,MAE5iBE,EAAkB,CAAC,WAAY,IAAIR,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,SAAS,CAACA,EAAG,IAAI,CAACE,YAAY,sBAAsB,CAACJ,EAAIM,GAAG,UAAUJ,EAAG,KAAK,CAACE,YAAY,oBAAoB,CAACJ,EAAIM,GAAG,yBAAyBJ,EAAG,IAAI,CAACE,YAAY,mBAAmB,CAACJ,EAAIM,GAAG,iBAAiBJ,EAAG,OAAO,CAACF,EAAIM,GAAG,mCAAmCN,EAAIM,GAAG,4DACpV,WAAY,IAAIN,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,IAAI,CAACE,YAAY,aAAa,CAACJ,EAAIM,GAAG,kBAAkBJ,EAAG,OAAO,CAACF,EAAIM,GAAG,4BAA4BN,EAAIM,GAAG,SAASJ,EAAG,OAAO,CAACF,EAAIM,GAAG,oBAAoBN,EAAIM,GAAG,SAASJ,EAAG,OAAO,CAACF,EAAIM,GAAG,WAAWN,EAAIM,GAAG,QAAQJ,EAAG,OAAO,CAACF,EAAIM,GAAG,mBAAmBN,EAAIM,GAAG,U,YCOzT,MAAMG,EAAW,iBAejB,IAAIC,EAAQ,uBAAUD,GCaP,GACfE,KAAA,iBACAC,WAAA,CACAC,WAAAC,EAAAC,MCzC+pB,I,wBCQ3pBC,EAAY,eACd,EACAjB,EACAS,GACA,EACA,KACA,WACA,MAIa,aAAAQ,E,2CCnBf,W","file":"js/chunk-1a359644.afdb1349.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"demo-page\"},[_vm._m(0),_c('div',{staticClass:\"remote-box\"},[_c('h2',{staticClass:\"remote-box__title\"},[_vm._v(\"红色区域内是一个远程组件,该组件内部依赖了另一个远程组件\")]),_c('remote-comp',{attrs:{\"msg\":\"Welcome to use hel remote vue comp\"}})],1),_vm._m(1),_c('div',{staticClass:\"demo-links\"},[_c('a',{attrs:{\"href\":\"https://github.com/hel-eco/hel-tpl-remote-vue-comp\",\"target\":\"_blank\",\"rel\":\"noopener\"}},[_vm._v(\" 远程组件仓库 \")]),_c('router-link',{attrs:{\"to\":\"/libs\"}},[_vm._v(\"继续看远程 libs 示例 →\")])],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('header',[_c('p',{staticClass:\"demo-page__eyebrow\"},[_vm._v(\"远程组件\")]),_c('h1',{staticClass:\"demo-page__title\"},[_vm._v(\"comps-vue2-ele 远程组件\")]),_c('p',{staticClass:\"demo-page__lead\"},[_vm._v(\" 下面红色区域里的内容是 \"),_c('code',[_vm._v(\"preFetchLib('comps-vue2-ele')\")]),_vm._v(\" 从远端拉取的组件, 它内部又依赖了另一个远程组件(HelloWorld);宿主产物里没有这些代码。 \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',{staticClass:\"demo-note\"},[_vm._v(\" 远端地址按环境切换:开发 \"),_c('code',[_vm._v(\"http://localhost:20010\")]),_vm._v(\"(先执行 \"),_c('code',[_vm._v(\"pnpm comps:dev\")]),_vm._v(\"),生产 \"),_c('code',[_vm._v(\"unpkg\")]),_vm._v(\" 上的 \"),_c('code',[_vm._v(\"hel-meta.json\")]),_vm._v(\"。 \")])\n}]\n\nexport { render, staticRenderFns }","import { exposeLib } from 'hel-lib-proxy';\n\n/*\r\n|--------------------------------------------------------------------------\r\n|\r\n| 对应 package.json/appGroupName\r\n|\r\n|--------------------------------------------------------------------------\r\n*/\r\n\r\nconst LIB_NAME = 'comps-vue2-ele';\n\n/*\r\n|--------------------------------------------------------------------------\r\n|\r\n| 组件类型导出文件,同时也作为 rollup 的打包入口文件,因只提供类型,rollup 打包后是一个\r\n| 仅包含 hel-lib-proxy 的空壳文件,对模块使用方的包体构建大小无影响\r\n| 模块使用方 通过 npm i xxx-lib 后,只要在头文件处执行过 preFetchLib\r\n| 则整个项目项使用本地模块一样载入提供方的组件,并可以点击到 node_modules 查看源码\r\n|\r\n|--------------------------------------------------------------------------\r\n*/\r\n/**\r\n * 将提供给用户的lib暴露出去(同时也暴露了类型)\r\n */\r\nvar dtlib = exposeLib(LIB_NAME);\n\nexport { dtlib as default, dtlib };\n","<template>\n <div class=\"demo-page\">\n <header>\n <p class=\"demo-page__eyebrow\">远程组件</p>\n <h1 class=\"demo-page__title\">comps-vue2-ele 远程组件</h1>\n <p class=\"demo-page__lead\">\n 下面红色区域里的内容是 <code>preFetchLib('comps-vue2-ele')</code> 从远端拉取的组件,\n 它内部又依赖了另一个远程组件(HelloWorld);宿主产物里没有这些代码。\n </p>\n </header>\n\n <div class=\"remote-box\">\n <h2 class=\"remote-box__title\">红色区域内是一个远程组件,该组件内部依赖了另一个远程组件</h2>\n <remote-comp msg=\"Welcome to use hel remote vue comp\" />\n </div>\n\n <p class=\"demo-note\">\n 远端地址按环境切换:开发 <code>http://localhost:20010</code>(先执行\n <code>pnpm comps:dev</code>),生产 <code>unpkg</code> 上的\n <code>hel-meta.json</code>。\n </p>\n\n <div class=\"demo-links\">\n <a href=\"https://github.com/hel-eco/hel-tpl-remote-vue-comp\" target=\"_blank\" rel=\"noopener\">\n 远程组件仓库\n </a>\n <router-link to=\"/libs\">继续看远程 libs 示例 →</router-link>\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable */\n// https://github.com/hel-eco/hel-tpl-remote-vue-comp\n// 静态导入只拿到 hel-lib-proxy 的空壳代理,真正的组件代码由 main.js 里\n// 的 preFetchLib 从远端载入\nimport comps from '@melt-js/comps-vue2-ele';\n\nexport default {\n name: 'RemoteCompView',\n components: {\n RemoteComp: comps.App, // hi, remote component\n },\n};\n</script>\n\n<style scoped>\n.remote-box {\n padding: 20px;\n border: 2px solid #e74c3c;\n border-radius: 12px;\n background: #fff8f7;\n}\n\n.remote-box__title {\n margin: 0 0 12px;\n color: #c0392b;\n font-size: 14px;\n}\n</style>\n","import mod from \"-!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/.pnpm/thread-loader@2.1.3_webpack@4.47.0/node_modules/thread-loader/dist/cjs.js!../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.29.13_webpack@4.47.0/node_modules/babel-loader/lib/index.js!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./RemoteCompView.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/.pnpm/thread-loader@2.1.3_webpack@4.47.0/node_modules/thread-loader/dist/cjs.js!../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.29.13_webpack@4.47.0/node_modules/babel-loader/lib/index.js!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./RemoteCompView.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RemoteCompView.vue?vue&type=template&id=4531395a&scoped=true\"\nimport script from \"./RemoteCompView.vue?vue&type=script&lang=js\"\nexport * from \"./RemoteCompView.vue?vue&type=script&lang=js\"\nimport style0 from \"./RemoteCompView.vue?vue&type=style&index=0&id=4531395a&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4531395a\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.47.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.47.0/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./RemoteCompView.vue?vue&type=style&index=0&id=4531395a&prod&scoped=true&lang=css\""],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d221fe7"],{cd5e:function(e,t,a){"use strict";a.r(t);var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"demo-page"},[t("header",[t("p",{staticClass:"demo-page__eyebrow"},[e._v("Vue 2 · hel 宿主")]),t("h1",{staticClass:"demo-page__title"},[e._v(e._s(e.meta.name)+" 简介")]),e._m(0)]),t("table",{staticClass:"demo-table"},[t("tbody",[e._m(1),t("tr",[t("th",[e._v("unpkg 入口")]),t("td",[t("a",{attrs:{href:e.meta.unpkgEntry,target:"_blank",rel:"noopener"}},[e._v(e._s(e.meta.unpkgEntry))])])]),t("tr",[t("th",[e._v("本地端口")]),t("td",[e._v(e._s(e.meta.port))])]),t("tr",[t("th",[e._v("远程组件")]),t("td",[t("div",[t("code",[e._v(e._s(e.meta.remote.name))])]),t("div",[e._v("开发:"),t("code",[e._v(e._s(e.meta.remote.dev))])]),t("div",[e._v("生产:"),t("code",[e._v(e._s(e.meta.remote.prod))])])])]),t("tr",[t("th",[e._v("远程库")]),t("td",e._l(e.meta.libs,(function(a){return t("div",{key:a.name},[t("code",[e._v(e._s(a.name))]),e._v(" · "),t("code",[e._v(e._s(a.dev))])])})),0)]),e._m(2)])]),t("section",[t("h2",{staticClass:"demo-page__section-title"},[e._v("示例导航")]),t("div",{staticClass:"demo-grid"},e._l(e.examples,(function(a){return t("router-link",{key:a.path,staticClass:"demo-card demo-card--link",attrs:{to:a.path}},[t("h3",{staticClass:"demo-card__title"},[e._v(e._s(a.meta.title))]),t("p",{staticClass:"demo-card__text"},[e._v(e._s(a.meta.description))]),t("span",{staticClass:"demo-card__action"},[e._v("进入示例 →")])])})),1)]),e._m(3),t("div",{staticClass:"demo-links"},[e._l(e.meta.repos,(function(a){return t("a",{key:a.url,attrs:{href:a.url,target:"_blank",rel:"noopener"}},[e._v(" "+e._s(a.label)+" ")])})),t("a",{attrs:{href:e.meta.unpkgEntry,target:"_blank",rel:"noopener"}},[e._v("unpkg 线上入口")])],2)])},_=[function(){var e=this,t=e._self._c;return t("p",{staticClass:"demo-page__lead"},[e._v(" Vue 2 + Element UI 的 hel 宿主(消费方)示例:入口处用 "),t("code",[e._v("preFetchLib")]),e._v(" 预加载远程组件与两个远程库,页面同时直接复用 tpl-vue2-admin-ele 的本地源码。顶部导航栏用于切换示例,示例区右上角的「全屏」按钮 可以只把示例内容放大到全屏。 ")])},function(){var e=this,t=e._self._c;return t("tr",[t("th",[e._v("npm 包名")]),t("td",[t("code",[e._v("@melt-js/demo-vue2-ele")])])])},function(){var e=this,t=e._self._c;return t("tr",[t("th",[e._v("路由模式")]),t("td",[e._v(" hash("),t("code",[e._v("#/remote-comp")]),e._v("),保证从 unpkg 的 "),t("code",[e._v("dist/index.html")]),e._v(" 直接打开也能切换示例 ")])])},function(){var e=this,t=e._self._c;return t("p",{staticClass:"demo-note"},[e._v(" 本地开发先起远程产物:"),t("code",[e._v("pnpm comps:dev")]),e._v("(20010)、 "),t("code",[e._v("pnpm libs-utils:dev")]),e._v("(10010)、"),t("code",[e._v("pnpm libs-lodash:dev")]),e._v("(10020), 再执行 "),t("code",[e._v("pnpm demo:dev")]),e._v(" 打开 http://localhost:30010。 ")])}],n=(a("061b"),a("811f"),a("31fd")),r=a("a18c"),d={name:"OverviewView",data(){return{meta:n["a"],examples:r["b"].filter(e=>e.name&&"overview"!==e.name)}}},o=d,v=a("ad2c"),l=Object(v["a"])(o,s,_,!1,null,null,null);t["default"]=l.exports}}]);
2
+ //# sourceMappingURL=chunk-2d221fe7.e6e7a875.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./src/views/OverviewView.vue","webpack:///src/views/OverviewView.vue","webpack:///./src/views/OverviewView.vue?59ab","webpack:///./src/views/OverviewView.vue?9e52"],"names":["render","_vm","this","_c","_self","staticClass","_v","_s","meta","name","_m","attrs","unpkgEntry","port","remote","dev","prod","_l","libs","lib","key","examples","item","path","title","description","repos","repo","url","label","staticRenderFns","data","APP_META","demoRoutes","filter","route","component"],"mappings":"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","file":"js/chunk-2d221fe7.e6e7a875.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"demo-page\"},[_c('header',[_c('p',{staticClass:\"demo-page__eyebrow\"},[_vm._v(\"Vue 2 · hel 宿主\")]),_c('h1',{staticClass:\"demo-page__title\"},[_vm._v(_vm._s(_vm.meta.name)+\" 简介\")]),_vm._m(0)]),_c('table',{staticClass:\"demo-table\"},[_c('tbody',[_vm._m(1),_c('tr',[_c('th',[_vm._v(\"unpkg 入口\")]),_c('td',[_c('a',{attrs:{\"href\":_vm.meta.unpkgEntry,\"target\":\"_blank\",\"rel\":\"noopener\"}},[_vm._v(_vm._s(_vm.meta.unpkgEntry))])])]),_c('tr',[_c('th',[_vm._v(\"本地端口\")]),_c('td',[_vm._v(_vm._s(_vm.meta.port))])]),_c('tr',[_c('th',[_vm._v(\"远程组件\")]),_c('td',[_c('div',[_c('code',[_vm._v(_vm._s(_vm.meta.remote.name))])]),_c('div',[_vm._v(\"开发:\"),_c('code',[_vm._v(_vm._s(_vm.meta.remote.dev))])]),_c('div',[_vm._v(\"生产:\"),_c('code',[_vm._v(_vm._s(_vm.meta.remote.prod))])])])]),_c('tr',[_c('th',[_vm._v(\"远程库\")]),_c('td',_vm._l((_vm.meta.libs),function(lib){return _c('div',{key:lib.name},[_c('code',[_vm._v(_vm._s(lib.name))]),_vm._v(\" · \"),_c('code',[_vm._v(_vm._s(lib.dev))])])}),0)]),_vm._m(2)])]),_c('section',[_c('h2',{staticClass:\"demo-page__section-title\"},[_vm._v(\"示例导航\")]),_c('div',{staticClass:\"demo-grid\"},_vm._l((_vm.examples),function(item){return _c('router-link',{key:item.path,staticClass:\"demo-card demo-card--link\",attrs:{\"to\":item.path}},[_c('h3',{staticClass:\"demo-card__title\"},[_vm._v(_vm._s(item.meta.title))]),_c('p',{staticClass:\"demo-card__text\"},[_vm._v(_vm._s(item.meta.description))]),_c('span',{staticClass:\"demo-card__action\"},[_vm._v(\"进入示例 →\")])])}),1)]),_vm._m(3),_c('div',{staticClass:\"demo-links\"},[_vm._l((_vm.meta.repos),function(repo){return _c('a',{key:repo.url,attrs:{\"href\":repo.url,\"target\":\"_blank\",\"rel\":\"noopener\"}},[_vm._v(\" \"+_vm._s(repo.label)+\" \")])}),_c('a',{attrs:{\"href\":_vm.meta.unpkgEntry,\"target\":\"_blank\",\"rel\":\"noopener\"}},[_vm._v(\"unpkg 线上入口\")])],2)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',{staticClass:\"demo-page__lead\"},[_vm._v(\" Vue 2 + Element UI 的 hel 宿主(消费方)示例:入口处用 \"),_c('code',[_vm._v(\"preFetchLib\")]),_vm._v(\" 预加载远程组件与两个远程库,页面同时直接复用 tpl-vue2-admin-ele 的本地源码。顶部导航栏用于切换示例,示例区右上角的「全屏」按钮 可以只把示例内容放大到全屏。 \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('tr',[_c('th',[_vm._v(\"npm 包名\")]),_c('td',[_c('code',[_vm._v(\"@melt-js/demo-vue2-ele\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('tr',[_c('th',[_vm._v(\"路由模式\")]),_c('td',[_vm._v(\" hash(\"),_c('code',[_vm._v(\"#/remote-comp\")]),_vm._v(\"),保证从 unpkg 的 \"),_c('code',[_vm._v(\"dist/index.html\")]),_vm._v(\" 直接打开也能切换示例 \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',{staticClass:\"demo-note\"},[_vm._v(\" 本地开发先起远程产物:\"),_c('code',[_vm._v(\"pnpm comps:dev\")]),_vm._v(\"(20010)、 \"),_c('code',[_vm._v(\"pnpm libs-utils:dev\")]),_vm._v(\"(10010)、\"),_c('code',[_vm._v(\"pnpm libs-lodash:dev\")]),_vm._v(\"(10020), 再执行 \"),_c('code',[_vm._v(\"pnpm demo:dev\")]),_vm._v(\" 打开 http://localhost:30010。 \")])\n}]\n\nexport { render, staticRenderFns }","<template>\n <div class=\"demo-page\">\n <header>\n <p class=\"demo-page__eyebrow\">Vue 2 · hel 宿主</p>\n <h1 class=\"demo-page__title\">{{ meta.name }} 简介</h1>\n <p class=\"demo-page__lead\">\n Vue 2 + Element UI 的 hel 宿主(消费方)示例:入口处用\n <code>preFetchLib</code> 预加载远程组件与两个远程库,页面同时直接复用\n tpl-vue2-admin-ele 的本地源码。顶部导航栏用于切换示例,示例区右上角的「全屏」按钮\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-vue2-ele</code></td>\n </tr>\n <tr>\n <th>unpkg 入口</th>\n <td>\n <a :href=\"meta.unpkgEntry\" target=\"_blank\" rel=\"noopener\">{{ meta.unpkgEntry }}</a>\n </td>\n </tr>\n <tr>\n <th>本地端口</th>\n <td>{{ meta.port }}</td>\n </tr>\n <tr>\n <th>远程组件</th>\n <td>\n <div><code>{{ meta.remote.name }}</code></div>\n <div>开发:<code>{{ meta.remote.dev }}</code></div>\n <div>生产:<code>{{ meta.remote.prod }}</code></div>\n </td>\n </tr>\n <tr>\n <th>远程库</th>\n <td>\n <div v-for=\"lib in meta.libs\" :key=\"lib.name\">\n <code>{{ lib.name }}</code> · <code>{{ lib.dev }}</code>\n </div>\n </td>\n </tr>\n <tr>\n <th>路由模式</th>\n <td>\n hash(<code>#/remote-comp</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:dev</code>(20010)、\n <code>pnpm libs-utils:dev</code>(10010)、<code>pnpm libs-lodash:dev</code>(10020),\n 再执行 <code>pnpm demo:dev</code> 打开 http://localhost:30010。\n </p>\n\n <div class=\"demo-links\">\n <a\n v-for=\"repo in meta.repos\"\n :key=\"repo.url\"\n :href=\"repo.url\"\n target=\"_blank\"\n rel=\"noopener\"\n >\n {{ repo.label }}\n </a>\n <a :href=\"meta.unpkgEntry\" target=\"_blank\" rel=\"noopener\">unpkg 线上入口</a>\n </div>\n </div>\n</template>\n\n<script>\nimport { APP_META } from '../configs/app'\nimport { demoRoutes } from '../router'\n\nexport default {\n name: 'OverviewView',\n data() {\n return {\n meta: APP_META,\n // 简介页也列出其余示例,方便直接跳转\n examples: demoRoutes.filter(route => route.name && route.name !== 'overview')\n }\n }\n}\n</script>\n","import mod from \"-!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/.pnpm/thread-loader@2.1.3_webpack@4.47.0/node_modules/thread-loader/dist/cjs.js!../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.29.13_webpack@4.47.0/node_modules/babel-loader/lib/index.js!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewView.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/.pnpm/thread-loader@2.1.3_webpack@4.47.0/node_modules/thread-loader/dist/cjs.js!../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.29.13_webpack@4.47.0/node_modules/babel-loader/lib/index.js!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./OverviewView.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./OverviewView.vue?vue&type=template&id=71abad5c\"\nimport script from \"./OverviewView.vue?vue&type=script&lang=js\"\nexport * from \"./OverviewView.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-564f8ae5"],{"0c1e":function(e,t,s){},7008:function(e,t,s){},"7c4b":function(e,t,s){"use strict";s("8784")},8784:function(e,t,s){},"93f6":function(e,t,s){"use strict";s.r(t);var n=function(){var e=this,t=e._self._c;return t("div",{staticClass:"demo-page"},[e._m(0),t("div",{staticClass:"demo-grid"},[t("section",{staticClass:"demo-card"},[t("h2",{staticClass:"demo-card__title"},[e._v("Hamburger 侧边栏按钮")]),e._m(1),t("div",{staticClass:"tpl-hamburger"},[t("button",{staticClass:"tpl-hamburger__btn",attrs:{type:"button","aria-pressed":e.isActive?"true":"false"},on:{click:function(t){e.isActive=!e.isActive}}},[t("hamburger",{attrs:{"is-active":e.isActive}})],1),t("code",[e._v("isActive = "+e._s(e.isActive))])])]),e._m(2)]),e._m(3)])},r=[function(){var e=this,t=e._self._c;return t("header",[t("p",{staticClass:"demo-page__eyebrow"},[e._v("tpl 本地源码")]),t("h1",{staticClass:"demo-page__title"},[e._v("复用 tpl-vue2-admin-ele 源码")]),t("p",{staticClass:"demo-page__lead"},[e._v(" 这个 demo 通过 workspace 链接直接 import tpl-vue2-admin-ele 的本地源码, 改完 tpl 刷新页面即生效、无需先发布。下面两个组件就是这种复用方式的例子。 ")])])},function(){var e=this,t=e._self._c;return t("p",{staticClass:"demo-card__text"},[e._v(" 来自 "),t("code",[e._v("@melt-js/tpl-vue2-admin-ele/src/components")]),e._v(" 的 Hamburger, 点击切换 isActive(tpl 里用它控制侧边栏展开)。 ")])},function(){var e=this,t=e._self._c;return t("section",{staticClass:"demo-card"},[t("h2",{staticClass:"demo-card__title"},[e._v("Screenfull 全屏按钮")]),t("p",{staticClass:"demo-card__text"},[e._v(" tpl 的 Screenfull 依赖 element-ui 的 "),t("code",[e._v("el-tooltip")]),e._v(" / "),t("code",[e._v("$message")]),e._v(", 宿主没有安装 element-ui,因此 demo 里使用同协议的本地实现: 示例区右上角的「全屏」按钮,跨浏览器前缀、事件同步与 tpl 一致。 ")]),t("p",{staticClass:"demo-card__text"},[e._v(" 点击它只会把示例区域全屏,导航栏与页脚保持在屏幕外。 ")])])},function(){var e=this,t=e._self._c;return t("p",{staticClass:"demo-note"},[e._v(" 想看 tpl 的完整页面(侧边栏 + 导航栏 + 全屏按钮):先在仓库根目录执行 "),t("code",[e._v("pnpm tpl:dev")]),e._v(",再打开 http://localhost:50010。 ")])}],l=function(){var e=this,t=e._self._c;return e.isExternal?t("div",e._g({staticClass:"svg-external-icon svg-icon",style:e.styleExternalIcon},e.$listeners)):t("svg",e._g({class:e.svgClass,attrs:{"aria-hidden":"true"}},e.$listeners),[t("use",{attrs:{"xlink:href":e.iconName}})])},c=[];function i(e){return/^(https?:|mailto:|tel:)/.test(e)}var o={name:"SvgIcon",props:{iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExternal(){return i(this.iconClass)},iconName(){return"#icon-"+this.iconClass},svgClass(){return this.className?"svg-icon "+this.className:"svg-icon"},styleExternalIcon(){return{mask:`url(${this.iconClass}) no-repeat 50% 50%`,"-webkit-mask":`url(${this.iconClass}) no-repeat 50% 50%`}}}},a=o,u=(s("acf3"),s("ad2c")),d=Object(u["a"])(a,l,c,!1,null,"1395a76c",null),f=(d.exports,function(){var e=this,t=e._self._c;return t("div",{staticStyle:{padding:"0 15px"},on:{click:e.toggleClick}},[t("svg",{staticClass:"hamburger",class:{"is-active":e.isActive},attrs:{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:"64",height:"64"}},[t("path",{attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z"}})])])}),m=[],p={name:"Hamburger",props:{isActive:{type:Boolean,default:!1}},methods:{toggleClick(){this.$emit("toggleClick")}}},h=p,v=(s("e496"),Object(u["a"])(h,f,m,!1,null,"349d62b0",null)),g=v.exports,_=function(){var e=this,t=e._self._c;return t("el-tooltip",{attrs:{content:e.tooltipText,effect:"dark",placement:"bottom","open-delay":300}},[t("button",{staticClass:"screenfull-btn",class:{"is-fullscreen":e.isFullscreen,"is-disabled":!e.isSupported},attrs:{type:"button","aria-label":e.tooltipText,"aria-pressed":e.isFullscreen?"true":"false","aria-disabled":e.isSupported?"false":"true"},on:{click:e.toggle}},[t("svg",{staticClass:"screenfull-icon",attrs:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false"}},[e.isFullscreen?t("path",{attrs:{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"}}):t("path",{attrs:{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"}})]),e.showText?t("span",{staticClass:"screenfull-text"},[e._v(e._s(e.buttonText))]):e._e()])])},b=[];s("061b"),s("ff94"),s("ac02"),s("44af");const x=["requestFullscreen","webkitRequestFullscreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"],C=["exitFullscreen","webkitExitFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"],w=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"],y=["fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled"];function F(e,t){return t.find(t=>e&&"function"===typeof e[t])}function S(){if("undefined"===typeof document)return!1;const e=y.find(e=>void 0!==document[e]);return e?!!document[e]:!!F(document.documentElement,x)}function k(){if("undefined"===typeof document)return null;const e=w.find(e=>!!document[e]);return e?document[e]:null}function E(e){if(!e||1!==e.nodeType)return Promise.reject(new Error("[Screenfull] A valid target element is required"));const t=F(e,x);if(!t)return Promise.reject(new Error("[Screenfull] The Fullscreen API is not supported"));try{const s=e[t]();return s&&"function"===typeof s.then?s:Promise.resolve()}catch(s){return Promise.reject(s)}}function T(){if("undefined"===typeof document)return Promise.reject(new Error("[Screenfull] The Fullscreen API is not supported"));const e=F(document,C);if(!e)return Promise.reject(new Error("[Screenfull] The Fullscreen API is not supported"));try{const t=document[e]();return t&&"function"===typeof t.then?t:Promise.resolve()}catch(t){return Promise.reject(t)}}const A=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"];var j={name:"Screenfull",props:{target:{type:[String,Object,Function],default:null},enterText:{type:String,default:"Fullscreen"},exitText:{type:String,default:"Exit fullscreen"},unsupportedText:{type:String,default:"Fullscreen is not supported by this browser"},showText:{type:Boolean,default:!1}},data(){return{isFullscreen:!1}},computed:{isSupported(){return S()},buttonText(){return this.isFullscreen?this.exitText:this.enterText},tooltipText(){return this.isSupported?this.buttonText:this.unsupportedText}},mounted(){this.isFullscreen=!!k(),A.forEach(e=>{document.addEventListener(e,this.handleFullscreenChange)})},beforeDestroy(){A.forEach(e=>{document.removeEventListener(e,this.handleFullscreenChange)})},methods:{handleFullscreenChange(){const e=!!k();e!==this.isFullscreen&&(this.isFullscreen=e,this.$emit("change",e))},resolveTarget(){const{target:e}=this;return e?"function"===typeof e?e():"string"===typeof e?document.querySelector(e):e:document.documentElement},notify(e){this.$emit("error",e),this.$message&&this.$message.warning(e)},async toggle(){if(!this.isSupported)return void this.notify(this.unsupportedText);const e=this.resolveTarget();if(e&&1===e.nodeType)try{k()?await T():await E(e)}catch(t){console.warn("[Screenfull] Failed to toggle fullscreen:",t),this.notify("Unable to toggle fullscreen mode")}else this.notify(`Fullscreen target "${this.target}" was not found`)}}},P=j,$=(s("e14a"),Object(u["a"])(P,_,b,!1,null,"287b0b20",null)),z=($.exports,{name:"TplCompView",components:{Hamburger:g},data(){return{isActive:!1}}}),H=z,q=(s("7c4b"),Object(u["a"])(H,n,r,!1,null,"48a3b3cc",null));t["default"]=q.exports},acf3:function(e,t,s){"use strict";s("7008")},e14a:function(e,t,s){"use strict";s("f75f")},e496:function(e,t,s){"use strict";s("0c1e")},f75f:function(e,t,s){}}]);
2
+ //# sourceMappingURL=chunk-564f8ae5.b82c15a4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./src/views/TplCompView.vue?c18f","webpack:///./src/views/TplCompView.vue","webpack:///../tpl-vue2-admin-ele/src/components/SvgIcon/index.vue?ea4e","webpack:///../tpl-vue2-admin-ele/src/utils/validate.js","webpack:///../tpl-vue2-admin-ele/src/components/SvgIcon/index.vue","webpack:///../tpl-vue2-admin-ele/src/components/SvgIcon/index.vue?b0d9","webpack:///../tpl-vue2-admin-ele/src/components/SvgIcon/index.vue?9ed1","webpack:///../tpl-vue2-admin-ele/src/components/Hamburger/index.vue?5ff3","webpack:///../tpl-vue2-admin-ele/src/components/Hamburger/index.vue","webpack:///../tpl-vue2-admin-ele/src/components/Hamburger/index.vue?d6fa","webpack:///../tpl-vue2-admin-ele/src/components/Hamburger/index.vue?7b76","webpack:///../tpl-vue2-admin-ele/src/components/Screenfull/index.vue?1dfa","webpack:///../tpl-vue2-admin-ele/src/utils/fullscreen.js","webpack:///../tpl-vue2-admin-ele/src/components/Screenfull/index.vue","webpack:///../tpl-vue2-admin-ele/src/components/Screenfull/index.vue?51ed","webpack:///../tpl-vue2-admin-ele/src/components/Screenfull/index.vue?616c","webpack:///src/views/TplCompView.vue","webpack:///./src/views/TplCompView.vue?4ba4","webpack:///./src/views/TplCompView.vue?ec26","webpack:///../tpl-vue2-admin-ele/src/components/SvgIcon/index.vue?52b8","webpack:///../tpl-vue2-admin-ele/src/components/Screenfull/index.vue?0f2f","webpack:///../tpl-vue2-admin-ele/src/components/Hamburger/index.vue?b536"],"names":["render","_vm","this","_c","_self","staticClass","_m","_v","attrs","isActive","on","$event","_s","staticRenderFns","isExternal","_g","style","styleExternalIcon","$listeners","class","svgClass","iconName","path","test","name","props","iconClass","type","String","required","className","default","computed","mask","component","staticStyle","toggleClick","Boolean","methods","$emit","tooltipText","isFullscreen","isSupported","toggle","showText","buttonText","_e","REQUEST_METHODS","EXIT_METHODS","FULLSCREEN_ELEMENT_KEYS","FULLSCREEN_ENABLED_KEYS","findMethod","target","find","method","isFullscreenSupported","document","enabledKey","key","undefined","documentElement","getFullscreenElement","requestFullscreen","element","nodeType","Promise","reject","Error","result","then","resolve","error","exitFullscreen","FULLSCREEN_CHANGE_EVENTS","Object","Function","enterText","exitText","unsupportedText","data","mounted","forEach","event","addEventListener","handleFullscreenChange","beforeDestroy","removeEventListener","resolveTarget","querySelector","notify","message","$message","warning","console","warn","components","Hamburger"],"mappings":"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","file":"js/chunk-564f8ae5.b82c15a4.js","sourcesContent":["export * from \"-!../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.47.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.47.0/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./TplCompView.vue?vue&type=style&index=0&id=48a3b3cc&prod&scoped=true&lang=css\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"demo-page\"},[_vm._m(0),_c('div',{staticClass:\"demo-grid\"},[_c('section',{staticClass:\"demo-card\"},[_c('h2',{staticClass:\"demo-card__title\"},[_vm._v(\"Hamburger 侧边栏按钮\")]),_vm._m(1),_c('div',{staticClass:\"tpl-hamburger\"},[_c('button',{staticClass:\"tpl-hamburger__btn\",attrs:{\"type\":\"button\",\"aria-pressed\":_vm.isActive ? 'true' : 'false'},on:{\"click\":function($event){_vm.isActive = !_vm.isActive}}},[_c('hamburger',{attrs:{\"is-active\":_vm.isActive}})],1),_c('code',[_vm._v(\"isActive = \"+_vm._s(_vm.isActive))])])]),_vm._m(2)]),_vm._m(3)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('header',[_c('p',{staticClass:\"demo-page__eyebrow\"},[_vm._v(\"tpl 本地源码\")]),_c('h1',{staticClass:\"demo-page__title\"},[_vm._v(\"复用 tpl-vue2-admin-ele 源码\")]),_c('p',{staticClass:\"demo-page__lead\"},[_vm._v(\" 这个 demo 通过 workspace 链接直接 import tpl-vue2-admin-ele 的本地源码, 改完 tpl 刷新页面即生效、无需先发布。下面两个组件就是这种复用方式的例子。 \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',{staticClass:\"demo-card__text\"},[_vm._v(\" 来自 \"),_c('code',[_vm._v(\"@melt-js/tpl-vue2-admin-ele/src/components\")]),_vm._v(\" 的 Hamburger, 点击切换 isActive(tpl 里用它控制侧边栏展开)。 \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"demo-card\"},[_c('h2',{staticClass:\"demo-card__title\"},[_vm._v(\"Screenfull 全屏按钮\")]),_c('p',{staticClass:\"demo-card__text\"},[_vm._v(\" tpl 的 Screenfull 依赖 element-ui 的 \"),_c('code',[_vm._v(\"el-tooltip\")]),_vm._v(\" / \"),_c('code',[_vm._v(\"$message\")]),_vm._v(\", 宿主没有安装 element-ui,因此 demo 里使用同协议的本地实现: 示例区右上角的「全屏」按钮,跨浏览器前缀、事件同步与 tpl 一致。 \")]),_c('p',{staticClass:\"demo-card__text\"},[_vm._v(\" 点击它只会把示例区域全屏,导航栏与页脚保持在屏幕外。 \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',{staticClass:\"demo-note\"},[_vm._v(\" 想看 tpl 的完整页面(侧边栏 + 导航栏 + 全屏按钮):先在仓库根目录执行 \"),_c('code',[_vm._v(\"pnpm tpl:dev\")]),_vm._v(\",再打开 http://localhost:50010。 \")])\n}]\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isExternal)?_c('div',_vm._g({staticClass:\"svg-external-icon svg-icon\",style:(_vm.styleExternalIcon)},_vm.$listeners)):_c('svg',_vm._g({class:_vm.svgClass,attrs:{\"aria-hidden\":\"true\"}},_vm.$listeners),[_c('use',{attrs:{\"xlink:href\":_vm.iconName}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\r\n * Created by PanJiaChen on 16/11/18.\r\n */\r\n\r\n/**\r\n * @param {string} path\r\n * @returns {Boolean}\r\n */\r\nexport function isExternal(path) {\r\n return /^(https?:|mailto:|tel:)/.test(path)\r\n}\r\n\r\n/**\r\n * @param {string} str\r\n * @returns {Boolean}\r\n */\r\nexport function validUsername(str) {\r\n const valid_map = ['admin', 'editor']\r\n return valid_map.indexOf(str.trim()) >= 0\r\n}\r\n","<template>\r\n <div v-if=\"isExternal\" :style=\"styleExternalIcon\" class=\"svg-external-icon svg-icon\" v-on=\"$listeners\" />\r\n <svg v-else :class=\"svgClass\" aria-hidden=\"true\" v-on=\"$listeners\">\r\n <use :xlink:href=\"iconName\" />\r\n </svg>\r\n</template>\r\n\r\n<script>\r\n// doc: https://panjiachen.github.io/vue-element-admin-site/feature/component/svg-icon.html#usage\r\nimport { isExternal } from '../../utils/validate'\r\n\r\nexport default {\r\n name: 'SvgIcon',\r\n props: {\r\n iconClass: {\r\n type: String,\r\n required: true\r\n },\r\n className: {\r\n type: String,\r\n default: ''\r\n }\r\n },\r\n computed: {\r\n isExternal() {\r\n return isExternal(this.iconClass)\r\n },\r\n iconName() {\r\n return `#icon-${this.iconClass}`\r\n },\r\n svgClass() {\r\n if (this.className) {\r\n return 'svg-icon ' + this.className\r\n } else {\r\n return 'svg-icon'\r\n }\r\n },\r\n styleExternalIcon() {\r\n return {\r\n mask: `url(${this.iconClass}) no-repeat 50% 50%`,\r\n '-webkit-mask': `url(${this.iconClass}) no-repeat 50% 50%`\r\n }\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.svg-icon {\r\n width: 1em;\r\n height: 1em;\r\n vertical-align: -0.15em;\r\n fill: currentColor;\r\n overflow: hidden;\r\n}\r\n\r\n.svg-external-icon {\r\n background-color: currentColor;\r\n mask-size: cover!important;\r\n display: inline-block;\r\n}\r\n</style>\r\n","import mod from \"-!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/.pnpm/thread-loader@2.1.3_webpack@4.47.0/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.29.13_webpack@4.47.0/node_modules/babel-loader/lib/index.js!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/.pnpm/thread-loader@2.1.3_webpack@4.47.0/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.29.13_webpack@4.47.0/node_modules/babel-loader/lib/index.js!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=1395a76c&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=1395a76c&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1395a76c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{\"padding\":\"0 15px\"},on:{\"click\":_vm.toggleClick}},[_c('svg',{staticClass:\"hamburger\",class:{'is-active':_vm.isActive},attrs:{\"viewBox\":\"0 0 1024 1024\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"64\",\"height\":\"64\"}},[_c('path',{attrs:{\"d\":\"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z\"}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div style=\"padding: 0 15px;\" @click=\"toggleClick\">\r\n <svg\r\n :class=\"{'is-active':isActive}\"\r\n class=\"hamburger\"\r\n viewBox=\"0 0 1024 1024\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"64\"\r\n height=\"64\"\r\n >\r\n <path d=\"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z\" />\r\n </svg>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'Hamburger',\r\n props: {\r\n isActive: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n methods: {\r\n toggleClick() {\r\n this.$emit('toggleClick')\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.hamburger {\r\n display: inline-block;\r\n vertical-align: middle;\r\n width: 20px;\r\n height: 20px;\r\n}\r\n\r\n.hamburger.is-active {\r\n transform: rotate(180deg);\r\n}\r\n</style>\r\n","import mod from \"-!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/.pnpm/thread-loader@2.1.3_webpack@4.47.0/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.29.13_webpack@4.47.0/node_modules/babel-loader/lib/index.js!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/.pnpm/thread-loader@2.1.3_webpack@4.47.0/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.29.13_webpack@4.47.0/node_modules/babel-loader/lib/index.js!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=349d62b0&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=349d62b0&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"349d62b0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('el-tooltip',{attrs:{\"content\":_vm.tooltipText,\"effect\":\"dark\",\"placement\":\"bottom\",\"open-delay\":300}},[_c('button',{staticClass:\"screenfull-btn\",class:{ 'is-fullscreen': _vm.isFullscreen, 'is-disabled': !_vm.isSupported },attrs:{\"type\":\"button\",\"aria-label\":_vm.tooltipText,\"aria-pressed\":_vm.isFullscreen ? 'true' : 'false',\"aria-disabled\":_vm.isSupported ? 'false' : 'true'},on:{\"click\":_vm.toggle}},[_c('svg',{staticClass:\"screenfull-icon\",attrs:{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":\"2\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"aria-hidden\":\"true\",\"focusable\":\"false\"}},[(_vm.isFullscreen)?_c('path',{attrs:{\"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\"}}):_c('path',{attrs:{\"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\"}})]),(_vm.showText)?_c('span',{staticClass:\"screenfull-text\"},[_vm._v(_vm._s(_vm.buttonText))]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * Cross-browser helpers for the Fullscreen API.\n *\n * The standard API is used first, then the WebKit / Mozilla / Trident\n * prefixed variants, so the screenfull button keeps working in older\n * Safari / Edge (Legacy) builds.\n */\n\nconst REQUEST_METHODS = [\n 'requestFullscreen',\n 'webkitRequestFullscreen',\n 'webkitRequestFullScreen',\n 'mozRequestFullScreen',\n 'msRequestFullscreen'\n]\n\nconst EXIT_METHODS = [\n 'exitFullscreen',\n 'webkitExitFullscreen',\n 'webkitCancelFullScreen',\n 'mozCancelFullScreen',\n 'msExitFullscreen'\n]\n\nconst FULLSCREEN_ELEMENT_KEYS = [\n 'fullscreenElement',\n 'webkitFullscreenElement',\n 'mozFullScreenElement',\n 'msFullscreenElement'\n]\n\nconst FULLSCREEN_ENABLED_KEYS = [\n 'fullscreenEnabled',\n 'webkitFullscreenEnabled',\n 'mozFullScreenEnabled',\n 'msFullscreenEnabled'\n]\n\nfunction findMethod(target, methods) {\n return methods.find(method => target && typeof target[method] === 'function')\n}\n\n/**\n * Whether the current browser (and browsing context) allows fullscreen.\n * `fullscreenEnabled` is `false` inside an iframe without `allowfullscreen`.\n *\n * @returns {boolean}\n */\nexport function isFullscreenSupported() {\n if (typeof document === 'undefined') return false\n\n const enabledKey = FULLSCREEN_ENABLED_KEYS.find(key => document[key] !== undefined)\n if (enabledKey) return !!document[enabledKey]\n\n // Very old implementations expose the methods without the enabled flag.\n return !!findMethod(document.documentElement, REQUEST_METHODS)\n}\n\n/**\n * The element currently displayed in fullscreen, if any.\n *\n * @returns {Element|null}\n */\nexport function getFullscreenElement() {\n if (typeof document === 'undefined') return null\n\n const key = FULLSCREEN_ELEMENT_KEYS.find(name => !!document[name])\n return key ? document[key] : null\n}\n\n/**\n * Request fullscreen for an element.\n *\n * @param {Element} element\n * @returns {Promise<void>}\n */\nexport function requestFullscreen(element) {\n if (!element || element.nodeType !== 1) {\n return Promise.reject(new Error('[Screenfull] A valid target element is required'))\n }\n\n const method = findMethod(element, REQUEST_METHODS)\n if (!method) {\n return Promise.reject(new Error('[Screenfull] The Fullscreen API is not supported'))\n }\n\n try {\n const result = element[method]()\n return result && typeof result.then === 'function' ? result : Promise.resolve()\n } catch (error) {\n return Promise.reject(error)\n }\n}\n\n/**\n * Leave fullscreen mode.\n *\n * @returns {Promise<void>}\n */\nexport function exitFullscreen() {\n if (typeof document === 'undefined') {\n return Promise.reject(new Error('[Screenfull] The Fullscreen API is not supported'))\n }\n\n const method = findMethod(document, EXIT_METHODS)\n if (!method) {\n return Promise.reject(new Error('[Screenfull] The Fullscreen API is not supported'))\n }\n\n try {\n const result = document[method]()\n return result && typeof result.then === 'function' ? result : Promise.resolve()\n } catch (error) {\n return Promise.reject(error)\n }\n}\n\n/**\n * Events fired by the different browser implementations.\n *\n * @type {string[]}\n */\nexport const FULLSCREEN_CHANGE_EVENTS = [\n 'fullscreenchange',\n 'webkitfullscreenchange',\n 'mozfullscreenchange',\n 'MSFullscreenChange'\n]\n","<template>\n <el-tooltip\n :content=\"tooltipText\"\n effect=\"dark\"\n placement=\"bottom\"\n :open-delay=\"300\"\n >\n <button\n type=\"button\"\n class=\"screenfull-btn\"\n :class=\"{ 'is-fullscreen': isFullscreen, 'is-disabled': !isSupported }\"\n :aria-label=\"tooltipText\"\n :aria-pressed=\"isFullscreen ? 'true' : 'false'\"\n :aria-disabled=\"isSupported ? 'false' : 'true'\"\n @click=\"toggle\"\n >\n <svg\n class=\"screenfull-icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path\n v-if=\"isFullscreen\"\n 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\"\n />\n <path\n v-else\n 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\"\n />\n </svg>\n <span v-if=\"showText\" class=\"screenfull-text\">{{ buttonText }}</span>\n </button>\n </el-tooltip>\n</template>\n\n<script>\nimport {\n FULLSCREEN_CHANGE_EVENTS,\n exitFullscreen,\n getFullscreenElement,\n isFullscreenSupported,\n requestFullscreen\n} from '../../utils/fullscreen'\n\n/**\n * Page fullscreen toggle.\n *\n * Usage:\n * <screenfull /> // fullscreen the whole page\n * <screenfull target=\"#chart-panel\" /> // fullscreen one page area\n * <screenfull show-text /> // icon + label\n */\nexport default {\n name: 'Screenfull',\n props: {\n /**\n * Fullscreen target: a CSS selector, an element or a function returning\n * an element. Defaults to `document.documentElement`.\n */\n target: {\n type: [String, Object, Function],\n default: null\n },\n enterText: {\n type: String,\n default: 'Fullscreen'\n },\n exitText: {\n type: String,\n default: 'Exit fullscreen'\n },\n unsupportedText: {\n type: String,\n default: 'Fullscreen is not supported by this browser'\n },\n showText: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n isFullscreen: false\n }\n },\n computed: {\n isSupported() {\n return isFullscreenSupported()\n },\n buttonText() {\n return this.isFullscreen ? this.exitText : this.enterText\n },\n tooltipText() {\n return this.isSupported ? this.buttonText : this.unsupportedText\n }\n },\n mounted() {\n this.isFullscreen = !!getFullscreenElement()\n FULLSCREEN_CHANGE_EVENTS.forEach(event => {\n document.addEventListener(event, this.handleFullscreenChange)\n })\n },\n beforeDestroy() {\n FULLSCREEN_CHANGE_EVENTS.forEach(event => {\n document.removeEventListener(event, this.handleFullscreenChange)\n })\n },\n methods: {\n handleFullscreenChange() {\n const isFullscreen = !!getFullscreenElement()\n if (isFullscreen === this.isFullscreen) return\n\n this.isFullscreen = isFullscreen\n this.$emit('change', isFullscreen)\n },\n resolveTarget() {\n const { target } = this\n if (!target) return document.documentElement\n if (typeof target === 'function') return target()\n if (typeof target === 'string') return document.querySelector(target)\n return target\n },\n notify(message) {\n this.$emit('error', message)\n if (this.$message) this.$message.warning(message)\n },\n async toggle() {\n if (!this.isSupported) {\n this.notify(this.unsupportedText)\n return\n }\n\n const target = this.resolveTarget()\n if (!target || target.nodeType !== 1) {\n this.notify(`Fullscreen target \"${this.target}\" was not found`)\n return\n }\n\n try {\n if (getFullscreenElement()) {\n await exitFullscreen()\n } else {\n await requestFullscreen(target)\n }\n } catch (error) {\n console.warn('[Screenfull] Failed to toggle fullscreen:', error)\n this.notify('Unable to toggle fullscreen mode')\n }\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.screenfull-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n border: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n line-height: 1;\n cursor: pointer;\n outline: none;\n -webkit-tap-highlight-color: transparent;\n transition: background-color 0.3s;\n\n &:hover {\n background: rgba(0, 0, 0, 0.025);\n }\n\n &:focus-visible {\n outline: 2px solid #409eff;\n outline-offset: -2px;\n }\n\n &.is-disabled {\n cursor: not-allowed;\n opacity: 0.4;\n }\n}\n\n.screenfull-icon {\n flex: none;\n width: 20px;\n height: 20px;\n}\n\n.screenfull-text {\n margin-left: 6px;\n font-size: 14px;\n line-height: 1;\n white-space: nowrap;\n}\n</style>\n","import mod from \"-!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/.pnpm/thread-loader@2.1.3_webpack@4.47.0/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.29.13_webpack@4.47.0/node_modules/babel-loader/lib/index.js!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/.pnpm/thread-loader@2.1.3_webpack@4.47.0/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.29.13_webpack@4.47.0/node_modules/babel-loader/lib/index.js!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=287b0b20&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=287b0b20&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"287b0b20\",\n null\n \n)\n\nexport default component.exports","<template>\n <div class=\"demo-page\">\n <header>\n <p class=\"demo-page__eyebrow\">tpl 本地源码</p>\n <h1 class=\"demo-page__title\">复用 tpl-vue2-admin-ele 源码</h1>\n <p class=\"demo-page__lead\">\n 这个 demo 通过 workspace 链接直接 import tpl-vue2-admin-ele 的本地源码,\n 改完 tpl 刷新页面即生效、无需先发布。下面两个组件就是这种复用方式的例子。\n </p>\n </header>\n\n <div class=\"demo-grid\">\n <section class=\"demo-card\">\n <h2 class=\"demo-card__title\">Hamburger 侧边栏按钮</h2>\n <p class=\"demo-card__text\">\n 来自 <code>@melt-js/tpl-vue2-admin-ele/src/components</code> 的 Hamburger,\n 点击切换 isActive(tpl 里用它控制侧边栏展开)。\n </p>\n <div class=\"tpl-hamburger\">\n <button\n type=\"button\"\n class=\"tpl-hamburger__btn\"\n :aria-pressed=\"isActive ? 'true' : 'false'\"\n @click=\"isActive = !isActive\"\n >\n <hamburger :is-active=\"isActive\" />\n </button>\n <code>isActive = {{ isActive }}</code>\n </div>\n </section>\n\n <section class=\"demo-card\">\n <h2 class=\"demo-card__title\">Screenfull 全屏按钮</h2>\n <p class=\"demo-card__text\">\n tpl 的 Screenfull 依赖 element-ui 的 <code>el-tooltip</code> / <code>$message</code>,\n 宿主没有安装 element-ui,因此 demo 里使用同协议的本地实现:\n 示例区右上角的「全屏」按钮,跨浏览器前缀、事件同步与 tpl 一致。\n </p>\n <p class=\"demo-card__text\">\n 点击它只会把示例区域全屏,导航栏与页脚保持在屏幕外。\n </p>\n </section>\n </div>\n\n <p class=\"demo-note\">\n 想看 tpl 的完整页面(侧边栏 + 导航栏 + 全屏按钮):先在仓库根目录执行\n <code>pnpm tpl:dev</code>,再打开 http://localhost:50010。\n </p>\n </div>\n</template>\n\n<script>\nimport { Hamburger } from '@melt-js/tpl-vue2-admin-ele/src/components'\n\nexport default {\n name: 'TplCompView',\n components: {\n Hamburger\n },\n data() {\n return {\n isActive: false\n }\n }\n}\n</script>\n\n<style scoped>\n.demo-card__text code {\n padding: 2px 6px;\n border-radius: 6px;\n background: #f0f2f5;\n color: #c7254e;\n font-size: 12.5px;\n}\n\n.tpl-hamburger {\n display: flex;\n gap: 12px;\n align-items: center;\n margin-top: 12px;\n}\n\n.tpl-hamburger__btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 6px;\n border: 1px solid var(--demo-border);\n border-radius: 8px;\n background: var(--demo-surface);\n color: var(--demo-text);\n cursor: pointer;\n}\n\n.tpl-hamburger__btn:hover {\n border-color: var(--demo-accent-border);\n background: var(--demo-accent-soft);\n color: var(--demo-accent);\n}\n</style>\n","import mod from \"-!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/.pnpm/thread-loader@2.1.3_webpack@4.47.0/node_modules/thread-loader/dist/cjs.js!../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.29.13_webpack@4.47.0/node_modules/babel-loader/lib/index.js!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./TplCompView.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/.pnpm/thread-loader@2.1.3_webpack@4.47.0/node_modules/thread-loader/dist/cjs.js!../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.29.13_webpack@4.47.0/node_modules/babel-loader/lib/index.js!../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./TplCompView.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TplCompView.vue?vue&type=template&id=48a3b3cc&scoped=true\"\nimport script from \"./TplCompView.vue?vue&type=script&lang=js\"\nexport * from \"./TplCompView.vue?vue&type=script&lang=js\"\nimport style0 from \"./TplCompView.vue?vue&type=style&index=0&id=48a3b3cc&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"48a3b3cc\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.47.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.47.0/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=1395a76c&prod&scoped=true&lang=css\"","export * from \"-!../../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.47.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.47.0/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/.pnpm/sass-loader@8.0.2_sass@1.10_20c129ec1a38ce3643c8ffc4b2a232ba/node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=287b0b20&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.47.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.47.0/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.47.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/.pnpm/vue-loader@15.11.1_@vue+com_8e78381f0a4f8e5d60e95d2638155f3c/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=349d62b0&prod&scoped=true&lang=css\""],"sourceRoot":""}