@gkd-kit/inspect 0.0.1739797164641 → 0.0.1740478645328
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/dist/assets/ActionCard.vue_vue_type_script_setup_true_lang-D6uGSuV_.js +25 -0
- package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-DnEAPPSg.js.map → ActionCard.vue_vue_type_script_setup_true_lang-D6uGSuV_.js.map} +1 -1
- package/dist/assets/DevicePage-22pCriWH.js +49 -0
- package/dist/assets/{DevicePage-1a8hCnhz.js.map → DevicePage-22pCriWH.js.map} +1 -1
- package/dist/assets/HomePage-BXuOF8zt.js +112 -0
- package/dist/assets/HomePage-BXuOF8zt.js.map +1 -0
- package/dist/assets/{ImportPage-mbP-35gy.js → ImportPage-BdtL0i84.js} +2 -2
- package/dist/assets/{ImportPage-mbP-35gy.js.map → ImportPage-BdtL0i84.js.map} +1 -1
- package/dist/assets/{Input-C9JOs12B.js → Input-BFF_YDmk.js} +2 -2
- package/dist/assets/{Input-C9JOs12B.js.map → Input-BFF_YDmk.js.map} +1 -1
- package/dist/assets/SelectorPage-BLZCmKya.css +1 -0
- package/dist/assets/SelectorPage-uMb66kF4.js +2 -0
- package/dist/assets/SelectorPage-uMb66kF4.js.map +1 -0
- package/dist/assets/SnapshotPage-Cx8Bc7Xj.js +274 -0
- package/dist/assets/SnapshotPage-Cx8Bc7Xj.js.map +1 -0
- package/dist/assets/SvgPage-T42iMi2a.js +2 -0
- package/dist/assets/SvgPage-T42iMi2a.js.map +1 -0
- package/dist/assets/{_404Page-BoM3jslx.js → _404Page-Bfy8LBhL.js} +2 -2
- package/dist/assets/{_404Page-BoM3jslx.js.map → _404Page-Bfy8LBhL.js.map} +1 -1
- package/dist/assets/chunk-B1uHQf23.js +3 -0
- package/dist/assets/{chunk-GYYaAHNj.js.map → chunk-B1uHQf23.js.map} +1 -1
- package/dist/assets/{dayjs.min-DDNAEN-U.js → dayjs.min-BjBrwguZ.js} +2 -2
- package/dist/assets/{dayjs.min-DDNAEN-U.js.map → dayjs.min-BjBrwguZ.js.map} +1 -1
- package/dist/assets/{error-b7oN5LCm.js → error-BhW4B-ex.js} +2 -2
- package/dist/assets/{error-b7oN5LCm.js.map → error-BhW4B-ex.js.map} +1 -1
- package/dist/assets/{import-CiW06Qx6.js → import-DF6hDg2o.js} +2 -2
- package/dist/assets/{import-CiW06Qx6.js.map → import-DF6hDg2o.js.map} +1 -1
- package/dist/assets/index-CO6qK6ey.css +1 -0
- package/dist/assets/index-Cjc782aG.js +8 -0
- package/dist/assets/index-Cjc782aG.js.map +1 -0
- package/dist/assets/index-HykT01V7.js +1002 -0
- package/dist/assets/index-HykT01V7.js.map +1 -0
- package/dist/assets/{jszip.min-Y3_VJRop.js → jszip.min-PFERbZEF.js} +2 -2
- package/dist/assets/{jszip.min-Y3_VJRop.js.map → jszip.min-PFERbZEF.js.map} +1 -1
- package/dist/assets/polyfills-VJCO8far.js +2 -0
- package/dist/assets/polyfills-VJCO8far.js.map +1 -0
- package/dist/assets/{snapshot-B0Hf20Ny.js → snapshot-7V6viKJH.js} +2 -2
- package/dist/assets/{snapshot-B0Hf20Ny.js.map → snapshot-7V6viKJH.js.map} +1 -1
- package/dist/assets/{table-Cfwy3PUY.js → table-CJEMQCSa.js} +2 -2
- package/dist/assets/{table-Cfwy3PUY.js.map → table-CJEMQCSa.js.map} +1 -1
- package/dist/index.html +3 -3
- package/package.json +17 -17
- package/dist/assets/ActionCard.vue_vue_type_script_setup_true_lang-DnEAPPSg.js +0 -25
- package/dist/assets/DevicePage-1a8hCnhz.js +0 -49
- package/dist/assets/HomePage-TX9O4tIZ.js +0 -112
- package/dist/assets/HomePage-TX9O4tIZ.js.map +0 -1
- package/dist/assets/SelectorPage-je5Qz2w4.js +0 -2
- package/dist/assets/SelectorPage-je5Qz2w4.js.map +0 -1
- package/dist/assets/SnapshotPage-lxQB4IQ_.js +0 -279
- package/dist/assets/SnapshotPage-lxQB4IQ_.js.map +0 -1
- package/dist/assets/chunk-GYYaAHNj.js +0 -3
- package/dist/assets/index-3JMZnLI9.js +0 -919
- package/dist/assets/index-3JMZnLI9.js.map +0 -1
- package/dist/assets/index-CraOnBYA.css +0 -1
- package/dist/assets/polyfills-BSODfzVe.js +0 -2
- package/dist/assets/polyfills-BSODfzVe.js.map +0 -1
package/dist/index.html
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html lang="zh">
|
|
3
3
|
<head>
|
|
4
|
-
<script type="module" crossorigin src="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.
|
|
4
|
+
<script type="module" crossorigin src="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1740478645328/files/dist/assets/polyfills-VJCO8far.js"></script>
|
|
5
5
|
|
|
6
6
|
<meta charset="UTF-8" />
|
|
7
7
|
<link
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
13
13
|
<meta name="referrer" content="no-referrer" />
|
|
14
14
|
<title>GKD</title>
|
|
15
|
-
<script type="module" crossorigin src="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.
|
|
16
|
-
<link rel="stylesheet" crossorigin href="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.
|
|
15
|
+
<script type="module" crossorigin src="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1740478645328/files/dist/assets/index-HykT01V7.js"></script>
|
|
16
|
+
<link rel="stylesheet" crossorigin href="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1740478645328/files/dist/assets/index-CO6qK6ey.css">
|
|
17
17
|
</head>
|
|
18
18
|
|
|
19
19
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gkd-kit/inspect",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.1740478645328",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -10,28 +10,28 @@
|
|
|
10
10
|
"./dist"
|
|
11
11
|
],
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@antv/g6": "5.0.
|
|
14
|
-
"@eslint/js": "9.
|
|
13
|
+
"@antv/g6": "5.0.43",
|
|
14
|
+
"@eslint/js": "9.21.0",
|
|
15
15
|
"@gkd-kit/api": "0.6.0",
|
|
16
|
-
"@gkd-kit/selector": "0.5.
|
|
16
|
+
"@gkd-kit/selector": "0.5.11",
|
|
17
17
|
"@gkd-kit/wasm_matches": "0.0.1",
|
|
18
18
|
"@tsconfig/node20": "20.1.4",
|
|
19
19
|
"@types/file-saver": "2.0.7",
|
|
20
20
|
"@types/fs-extra": "11.0.4",
|
|
21
|
-
"@types/node": "22.13.
|
|
21
|
+
"@types/node": "22.13.5",
|
|
22
22
|
"@vitejs/plugin-legacy": "6.0.1",
|
|
23
23
|
"@vitejs/plugin-vue": "5.2.1",
|
|
24
24
|
"@vitejs/plugin-vue-jsx": "4.1.1",
|
|
25
25
|
"@vue/eslint-config-prettier": "10.2.0",
|
|
26
26
|
"@vue/eslint-config-typescript": "14.4.0",
|
|
27
27
|
"@vue/tsconfig": "0.7.0",
|
|
28
|
-
"@vueuse/components": "12.
|
|
29
|
-
"@vueuse/core": "12.
|
|
28
|
+
"@vueuse/components": "12.7.0",
|
|
29
|
+
"@vueuse/core": "12.7.0",
|
|
30
30
|
"browser-fs-access": "0.35.0",
|
|
31
31
|
"compressorjs": "1.2.1",
|
|
32
32
|
"cross-env": "7.0.3",
|
|
33
33
|
"dayjs": "1.11.13",
|
|
34
|
-
"eslint": "9.
|
|
34
|
+
"eslint": "9.21.0",
|
|
35
35
|
"eslint-config-prettier": "10.0.1",
|
|
36
36
|
"eslint-define-config": "2.1.0",
|
|
37
37
|
"eslint-plugin-unused-imports": "4.1.4",
|
|
@@ -45,21 +45,21 @@
|
|
|
45
45
|
"normalize.css": "8.0.1",
|
|
46
46
|
"p-limit": "6.2.0",
|
|
47
47
|
"pinia": "3.0.1",
|
|
48
|
-
"prettier": "3.5.
|
|
49
|
-
"sass": "1.
|
|
48
|
+
"prettier": "3.5.2",
|
|
49
|
+
"sass": "1.85.0",
|
|
50
50
|
"simple-git": "3.27.0",
|
|
51
51
|
"simple-git-hooks": "2.11.1",
|
|
52
|
-
"tsx": "4.19.
|
|
52
|
+
"tsx": "4.19.3",
|
|
53
53
|
"typescript": "5.7.3",
|
|
54
|
-
"typescript-eslint": "8.24.
|
|
54
|
+
"typescript-eslint": "8.24.1",
|
|
55
55
|
"universal-base64url": "1.1.0",
|
|
56
|
-
"unocss": "
|
|
57
|
-
"unplugin-auto-import": "19.
|
|
56
|
+
"unocss": "66.0.0",
|
|
57
|
+
"unplugin-auto-import": "19.1.0",
|
|
58
58
|
"unplugin-data": "0.1.1",
|
|
59
|
-
"unplugin-vue-components": "28.
|
|
59
|
+
"unplugin-vue-components": "28.4.0",
|
|
60
60
|
"user-attachments": "2.0.2",
|
|
61
|
-
"vite": "6.1.
|
|
62
|
-
"vite-plugin-monkey": "5.0.
|
|
61
|
+
"vite": "6.1.1",
|
|
62
|
+
"vite-plugin-monkey": "5.0.8",
|
|
63
63
|
"vue": "3.5.13",
|
|
64
64
|
"vue-router": "4.5.0"
|
|
65
65
|
},
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import{ag as gt,aV as wt,d as yt,a3 as bt,aW as xt,h as K,ar as _e,k as P,Q as le,r as kt,ae as Bt,aX as Et,u as Je,ac as Ct,q as $,x as Pt,t as Oe,a as je,b as ae,e as Ie,aY as Tt,aZ as St,m as Ye,o as Ft,y as Ue,a0 as Rt,z as Qe,X as et,F as w,S as C,aQ as q,V as At,a_ as M,aK as _t,aC as J,a$ as Ot,aS as ue,b0 as jt,aF as It,aB as Ut,I as ze,J as S,M as N,au as A,O as x,L as g,K as E,aR as zt,W as Le}from"./index-3JMZnLI9.js";import{u as De,_ as Lt}from"./Input-C9JOs12B.js";import{e as Dt,b as Y,p as tt,a as nt}from"./snapshot-B0Hf20Ny.js";import{J as pe}from"./chunk-GYYaAHNj.js";import{x as Mt,a as it,y as Nt,u as H,N as Ht,b as Wt,m as $t}from"./dayjs.min-DDNAEN-U.js";const Vt={iconSize:"22px"};function Xt(t){const{fontSize:e,warningColor:i}=t;return Object.assign(Object.assign({},Vt),{fontSize:e,iconColor:i})}const qt=gt({name:"Popconfirm",common:yt,peers:{Button:wt,Popover:Mt},self:Xt}),at=bt("n-popconfirm"),ot={positiveText:String,negativeText:String,showIcon:{type:Boolean,default:!0},onPositiveClick:{type:Function,required:!0},onNegativeClick:{type:Function,required:!0}},Me=xt(ot),Gt=K({name:"NPopconfirmPanel",props:ot,setup(t){const{localeRef:e}=De("Popconfirm"),{inlineThemeDisabled:i}=Je(),{mergedClsPrefixRef:n,mergedThemeRef:o,props:s}=Ct(at),d=$(()=>{const{common:{cubicBezierEaseInOut:r},self:{fontSize:a,iconSize:u,iconColor:h}}=o.value;return{"--n-bezier":r,"--n-font-size":a,"--n-icon-size":u,"--n-icon-color":h}}),p=i?Pt("popconfirm-panel",void 0,d,s):void 0;return Object.assign(Object.assign({},De("Popconfirm")),{mergedClsPrefix:n,cssVars:i?void 0:d,localizedPositiveText:$(()=>t.positiveText||e.value.positiveText),localizedNegativeText:$(()=>t.negativeText||e.value.negativeText),positiveButtonProps:Oe(s,"positiveButtonProps"),negativeButtonProps:Oe(s,"negativeButtonProps"),handlePositiveClick(r){t.onPositiveClick(r)},handleNegativeClick(r){t.onNegativeClick(r)},themeClass:p==null?void 0:p.themeClass,onRender:p==null?void 0:p.onRender})},render(){var t;const{mergedClsPrefix:e,showIcon:i,$slots:n}=this,o=_e(n.action,()=>this.negativeText===null&&this.positiveText===null?[]:[this.negativeText!==null&&P(le,Object.assign({size:"small",onClick:this.handleNegativeClick},this.negativeButtonProps),{default:()=>this.localizedNegativeText}),this.positiveText!==null&&P(le,Object.assign({size:"small",type:"primary",onClick:this.handlePositiveClick},this.positiveButtonProps),{default:()=>this.localizedPositiveText})]);return(t=this.onRender)===null||t===void 0||t.call(this),P("div",{class:[`${e}-popconfirm__panel`,this.themeClass],style:this.cssVars},kt(n.default,s=>i||s?P("div",{class:`${e}-popconfirm__body`},i?P("div",{class:`${e}-popconfirm__icon`},_e(n.icon,()=>[P(Bt,{clsPrefix:e},{default:()=>P(Et,null)})])):null,s):null),o?P("div",{class:[`${e}-popconfirm__action`]},o):null)}}),Zt=je("popconfirm",[ae("body",`
|
|
2
|
-
font-size: var(--n-font-size);
|
|
3
|
-
display: flex;
|
|
4
|
-
align-items: center;
|
|
5
|
-
flex-wrap: nowrap;
|
|
6
|
-
position: relative;
|
|
7
|
-
`,[ae("icon",`
|
|
8
|
-
display: flex;
|
|
9
|
-
font-size: var(--n-icon-size);
|
|
10
|
-
color: var(--n-icon-color);
|
|
11
|
-
transition: color .3s var(--n-bezier);
|
|
12
|
-
margin: 0 8px 0 0;
|
|
13
|
-
`)]),ae("action",`
|
|
14
|
-
display: flex;
|
|
15
|
-
justify-content: flex-end;
|
|
16
|
-
`,[Ie("&:not(:first-child)","margin-top: 8px"),je("button",[Ie("&:not(:last-child)","margin-right: 8px;")])])]),Kt=Object.assign(Object.assign(Object.assign({},Ye.props),Nt),{positiveText:String,negativeText:String,showIcon:{type:Boolean,default:!0},trigger:{type:String,default:"click"},positiveButtonProps:Object,negativeButtonProps:Object,onPositiveClick:Function,onNegativeClick:Function}),Jt=K({name:"Popconfirm",props:Kt,slots:Object,__popover__:!0,setup(t){const{mergedClsPrefixRef:e}=Je(),i=Ye("Popconfirm","-popconfirm",Zt,qt,t,e),n=Ft(null);function o(p){var r;if(!(!((r=n.value)===null||r===void 0)&&r.getMergedShow()))return;const{onPositiveClick:a,"onUpdate:show":u}=t;Promise.resolve(a?a(p):!0).then(h=>{var l;h!==!1&&((l=n.value)===null||l===void 0||l.setShow(!1),u&&Ue(u,!1))})}function s(p){var r;if(!(!((r=n.value)===null||r===void 0)&&r.getMergedShow()))return;const{onNegativeClick:a,"onUpdate:show":u}=t;Promise.resolve(a?a(p):!0).then(h=>{var l;h!==!1&&((l=n.value)===null||l===void 0||l.setShow(!1),u&&Ue(u,!1))})}return Rt(at,{mergedThemeRef:i,mergedClsPrefixRef:e,props:t}),{setShow(p){var r;(r=n.value)===null||r===void 0||r.setShow(p)},syncPosition(){var p;(p=n.value)===null||p===void 0||p.syncPosition()},mergedTheme:i,popoverInstRef:n,handlePositiveClick:o,handleNegativeClick:s}},render(){const{$slots:t,$props:e,mergedTheme:i}=this;return P(it,Tt(e,Me,{theme:i.peers.Popover,themeOverrides:i.peerOverrides.Popover,internalExtraClass:["popconfirm"],ref:"popoverInstRef"}),{trigger:t.trigger,default:()=>{const n=St(e,Me);return P(Gt,Object.assign(Object.assign({},n),{onPositiveClick:this.handlePositiveClick,onNegativeClick:this.handleNegativeClick}),t)}})}}),Ne=({title:t="批量分享链接",content:e=""})=>{et.success({title:t,style:{width:"800px"},content(){return w(Lt,{type:"textarea",autosize:{minRows:8,maxRows:16},inputProps:{style:"white-space: nowrap;",class:"gkd_code"},value:e},null)},positiveText:"复制",onPositiveClick(){return navigator.clipboard.writeText(e).then(()=>{q.success("复制成功")}).catch(()=>{q.success("复制失败")}),!1}})},Yt=K(()=>{const t=Qe();return()=>w(At,{checked:t.ignoreUploadWarn,onUpdateChecked:e=>{t.ignoreUploadWarn=e},focusable:!1},{default:()=>[C("不再提醒")]})}),He=async()=>{const t=Qe();if(await t.waitInit(),!t.ignoreUploadWarn)return new Promise((e,i)=>{et.warning({title:"生成分享链接须知",content(){return w("div",null,[w("div",null,[C("所有快照上传分享链接均为公开链接,任何人均可访问。")]),w("div",null,[C("请确保快照不包含隐私信息,请勿分享任何敏感信息。")]),w(Yt,{class:"mt-10px"},null)])},closable:!1,closeOnEsc:!1,maskClosable:!1,positiveText:"继续上传",negativeText:"取消分享",onPositiveClick:e,onNegativeClick:i})})};var V={exports:{}},Qt=V.exports,We;function en(){return We||(We=1,function(t,e){(function(i,n){n()})(Qt,function(){function i(a,u){return typeof u>"u"?u={autoBom:!1}:typeof u!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\uFEFF",a],{type:a.type}):a}function n(a,u,h){var l=new XMLHttpRequest;l.open("GET",a),l.responseType="blob",l.onload=function(){r(l.response,u,h)},l.onerror=function(){console.error("could not download file")},l.send()}function o(a){var u=new XMLHttpRequest;u.open("HEAD",a,!1);try{u.send()}catch{}return 200<=u.status&&299>=u.status}function s(a){try{a.dispatchEvent(new MouseEvent("click"))}catch{var u=document.createEvent("MouseEvents");u.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(u)}}var d=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof M=="object"&&M.global===M?M:void 0,p=d.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),r=d.saveAs||(typeof window!="object"||window!==d?function(){}:"download"in HTMLAnchorElement.prototype&&!p?function(a,u,h){var l=d.URL||d.webkitURL,c=document.createElement("a");u=u||a.name||"download",c.download=u,c.rel="noopener",typeof a=="string"?(c.href=a,c.origin===location.origin?s(c):o(c.href)?n(a,u,h):s(c,c.target="_blank")):(c.href=l.createObjectURL(a),setTimeout(function(){l.revokeObjectURL(c.href)},4e4),setTimeout(function(){s(c)},0))}:"msSaveOrOpenBlob"in navigator?function(a,u,h){if(u=u||a.name||"download",typeof a!="string")navigator.msSaveOrOpenBlob(i(a,h),u);else if(o(a))n(a,u,h);else{var l=document.createElement("a");l.href=a,l.target="_blank",setTimeout(function(){s(l)})}}:function(a,u,h,l){if(l=l||open("","_blank"),l&&(l.document.title=l.document.body.innerText="downloading..."),typeof a=="string")return n(a,u,h);var c=a.type==="application/octet-stream",f=/constructor/i.test(d.HTMLElement)||d.safari,m=/CriOS\/[\d]+/.test(navigator.userAgent);if((m||c&&f||p)&&typeof FileReader<"u"){var v=new FileReader;v.onloadend=function(){var k=v.result;k=m?k:k.replace(/^data:[^;]*;/,"data:attachment/file;"),l?l.location.href=k:location=k,l=null},v.readAsDataURL(a)}else{var B=d.URL||d.webkitURL,T=B.createObjectURL(a);l?l.location=T:location.href=T,l=null,setTimeout(function(){B.revokeObjectURL(T)},4e4)}});d.saveAs=r.saveAs=r,t.exports=r})}(V)),V.exports}var Q=en();const $e=t=>{const e=new FormData;for(const i in t){const n=t[i];n instanceof File?e.append(i,n,n.name):(n instanceof Blob||typeof n=="string")&&e.append(i,n)}return e},oe={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0",origin:"https://github.com",referer:"https://github.com/"},tn={svg:"image/svg+xml",gif:"image/gif",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",mov:"video/quicktime",mp4:"video/mp4",webm:"video/webm",cpuprofile:"application/json",csv:"text/csv",dmp:"application/octet-stream",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",fodg:"application/vnd.oasis.opendocument.graphics-flat-xml",fodp:"application/vnd.oasis.opendocument.presentation-flat-xml",fods:"application/vnd.oasis.opendocument.spreadsheet-flat-xml",fodt:"application/vnd.oasis.opendocument.text-flat-xml",gz:"application/gzip",json:"application/json",jsonc:"application/json",log:"text/plain",md:"text/markdown",odf:"application/vnd.oasis.opendocument.formula",odg:"application/vnd.oasis.opendocument.graphics",odp:"application/vnd.oasis.opendocument.presentation",ods:"application/vnd.oasis.opendocument.spreadsheet",odt:"application/vnd.oasis.opendocument.text",patch:"text/x-diff",pdf:"application/pdf",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",tgz:"application/gzip",txt:"text/plain",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",zip:"application/x-zip-compressed"};class X extends Error{constructor(e,i,n){super(e,n),this.response=i}}const re=t=>{const e={};for(const i in t){const n=t[i];n!=null&&(e[i]=n)}return e},nn=async t=>{const{cookie:e,fetch:i=globalThis.fetch,repositoryId:n}=t,o=t.file.name.substring(t.file.name.lastIndexOf(".")+1),s=tn[o];if(!s)throw new Error(`not support file type ${o}`);const d=t.file.type?t.file:new File([t.file],t.file.name,{type:s}),p=new FormData;p.append("repository_id",String(n)),p.append("name",d.name),p.append("size",d.size.toString()),p.append("content_type",d.type);const r=await i("https://github.com/upload/policies/assets",{method:"POST",body:p,headers:re({...oe,cookie:e,"GitHub-Verified-Fetch":"true","X-Requested-With":"XMLHttpRequest"})}).then(async a=>{if(!a.ok)throw new X("failed upload policies assets",a);return a.json()});return await i(r.upload_url,{method:"POST",body:$e({...r.form,file:d}),headers:re({authenticity_token:r.same_origin?r.upload_authenticity_token:void 0,...oe,...r.header,cookie:e})}).then(async a=>{if(!a.ok)throw new X("failed upload to s3",a)}),await i(new URL(r.asset_upload_url,"https://github.com/").href,{method:"PUT",body:$e({authenticity_token:r.asset_upload_authenticity_token}),headers:re({...oe,cookie:e,Accept:"application/json","X-Requested-With":"XMLHttpRequest"})}).then(async a=>{if(!a.ok)throw new X("failed check authenticity upload",a)}),r.asset},rt=async(t,e)=>await nn({repositoryId:"661952005",file:new File([t],e),fetch:Dt}).catch(async i=>{throw i instanceof X&&(_t().githubErrorDlgVisible=!0),i});/*!
|
|
17
|
-
* Compressor.js v1.2.1
|
|
18
|
-
* https://fengyuanchen.github.io/compressorjs
|
|
19
|
-
*
|
|
20
|
-
* Copyright 2018-present Chen Fengyuan
|
|
21
|
-
* Released under the MIT license
|
|
22
|
-
*
|
|
23
|
-
* Date: 2023-02-28T14:09:41.732Z
|
|
24
|
-
*/function Ve(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),i.push.apply(i,n)}return i}function W(t){for(var e=1;e<arguments.length;e++){var i=arguments[e]!=null?arguments[e]:{};e%2?Ve(Object(i),!0).forEach(function(n){rn(t,n,i[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):Ve(Object(i)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(i,n))})}return t}function an(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Xe(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,st(n.key),n)}}function on(t,e,i){return e&&Xe(t.prototype,e),i&&Xe(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}function rn(t,e,i){return e=st(e),e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function G(){return G=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t},G.apply(this,arguments)}function sn(t,e){if(typeof t!="object"||t===null)return t;var i=t[Symbol.toPrimitive];if(i!==void 0){var n=i.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function st(t){var e=sn(t,"string");return typeof e=="symbol"?e:String(e)}var lt={exports:{}};(function(t){typeof window>"u"||function(e){var i=e.HTMLCanvasElement&&e.HTMLCanvasElement.prototype,n=e.Blob&&function(){try{return!!new Blob}catch{return!1}}(),o=n&&e.Uint8Array&&function(){try{return new Blob([new Uint8Array(100)]).size===100}catch{return!1}}(),s=e.BlobBuilder||e.WebKitBlobBuilder||e.MozBlobBuilder||e.MSBlobBuilder,d=/^data:((.*?)(;charset=.*?)?)(;base64)?,/,p=(n||s)&&e.atob&&e.ArrayBuffer&&e.Uint8Array&&function(r){var a,u,h,l,c,f,m,v,B;if(a=r.match(d),!a)throw new Error("invalid data URI");for(u=a[2]?a[1]:"text/plain"+(a[3]||";charset=US-ASCII"),h=!!a[4],l=r.slice(a[0].length),h?c=atob(l):c=decodeURIComponent(l),f=new ArrayBuffer(c.length),m=new Uint8Array(f),v=0;v<c.length;v+=1)m[v]=c.charCodeAt(v);return n?new Blob([o?m:f],{type:u}):(B=new s,B.append(f),B.getBlob(u))};e.HTMLCanvasElement&&!i.toBlob&&(i.mozGetAsFile?i.toBlob=function(r,a,u){var h=this;setTimeout(function(){u&&i.toDataURL&&p?r(p(h.toDataURL(a,u))):r(h.mozGetAsFile("blob",a))})}:i.toDataURL&&p&&(i.msToBlob?i.toBlob=function(r,a,u){var h=this;setTimeout(function(){(a&&a!=="image/png"||u)&&i.toDataURL&&p?r(p(h.toDataURL(a,u))):r(h.msToBlob(a))})}:i.toBlob=function(r,a,u){var h=this;setTimeout(function(){r(p(h.toDataURL(a,u)))})})),t.exports?t.exports=p:e.dataURLtoBlob=p}(window)})(lt);var qe=lt.exports,ln=function(e){return typeof Blob>"u"?!1:e instanceof Blob||Object.prototype.toString.call(e)==="[object Blob]"},Ge={strict:!0,checkOrientation:!0,retainExif:!1,maxWidth:1/0,maxHeight:1/0,minWidth:0,minHeight:0,width:void 0,height:void 0,resize:"none",quality:.8,mimeType:"auto",convertTypes:["image/png"],convertSize:5e6,beforeDraw:null,drew:null,success:null,error:null},cn=typeof window<"u"&&typeof window.document<"u",F=cn?window:{},Z=function(e){return e>0&&e<1/0},un=Array.prototype.slice;function fe(t){return Array.from?Array.from(t):un.call(t)}var pn=/^image\/.+$/;function ce(t){return pn.test(t)}function fn(t){var e=ce(t)?t.substr(6):"";return e==="jpeg"&&(e="jpg"),".".concat(e)}var ct=String.fromCharCode;function dn(t,e,i){var n="",o;for(i+=e,o=e;o<i;o+=1)n+=ct(t.getUint8(o));return n}var hn=F.btoa;function Ze(t,e){for(var i=[],n=8192,o=new Uint8Array(t);o.length>0;)i.push(ct.apply(null,fe(o.subarray(0,n)))),o=o.subarray(n);return"data:".concat(e,";base64,").concat(hn(i.join("")))}function mn(t){var e=new DataView(t),i;try{var n,o,s;if(e.getUint8(0)===255&&e.getUint8(1)===216)for(var d=e.byteLength,p=2;p+1<d;){if(e.getUint8(p)===255&&e.getUint8(p+1)===225){o=p;break}p+=1}if(o){var r=o+4,a=o+10;if(dn(e,r,4)==="Exif"){var u=e.getUint16(a);if(n=u===18761,(n||u===19789)&&e.getUint16(a+2,n)===42){var h=e.getUint32(a+4,n);h>=8&&(s=a+h)}}}if(s){var l=e.getUint16(s,n),c,f;for(f=0;f<l;f+=1)if(c=s+f*12+2,e.getUint16(c,n)===274){c+=8,i=e.getUint16(c,n),e.setUint16(c,1,n);break}}}catch{i=1}return i}function vn(t){var e=0,i=1,n=1;switch(t){case 2:i=-1;break;case 3:e=-180;break;case 4:n=-1;break;case 5:e=90,n=-1;break;case 6:e=90;break;case 7:e=90,i=-1;break;case 8:e=-90;break}return{rotate:e,scaleX:i,scaleY:n}}var gn=/\.\d*(?:0|9){12}\d*$/;function Ke(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return gn.test(t)?Math.round(t*e)/e:t}function D(t){var e=t.aspectRatio,i=t.height,n=t.width,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"none",s=Z(n),d=Z(i);if(s&&d){var p=i*e;(o==="contain"||o==="none")&&p>n||o==="cover"&&p<n?i=n/e:n=i*e}else s?i=n/e:d&&(n=i*e);return{width:n,height:i}}function wn(t){for(var e=fe(new Uint8Array(t)),i=e.length,n=[],o=0;o+3<i;){var s=e[o],d=e[o+1];if(s===255&&d===218)break;if(s===255&&d===216)o+=2;else{var p=e[o+2]*256+e[o+3],r=o+p+2,a=e.slice(o,r);n.push(a),o=r}}return n.reduce(function(u,h){return h[0]===255&&h[1]===225?u.concat(h):u},[])}function yn(t,e){var i=fe(new Uint8Array(t));if(i[2]!==255||i[3]!==224)return t;var n=i[4]*256+i[5],o=[255,216].concat(e,i.slice(4+n));return new Uint8Array(o)}var bn=F.ArrayBuffer,se=F.FileReader,_=F.URL||F.webkitURL,xn=/\.\w+$/,kn=F.Compressor,Bn=function(){function t(e,i){an(this,t),this.file=e,this.exif=[],this.image=new Image,this.options=W(W({},Ge),i),this.aborted=!1,this.result=null,this.init()}return on(t,[{key:"init",value:function(){var i=this,n=this.file,o=this.options;if(!ln(n)){this.fail(new Error("The first argument must be a File or Blob object."));return}var s=n.type;if(!ce(s)){this.fail(new Error("The first argument must be an image File or Blob object."));return}if(!_||!se){this.fail(new Error("The current browser does not support image compression."));return}bn||(o.checkOrientation=!1,o.retainExif=!1);var d=s==="image/jpeg",p=d&&o.checkOrientation,r=d&&o.retainExif;if(_&&!p&&!r)this.load({url:_.createObjectURL(n)});else{var a=new se;this.reader=a,a.onload=function(u){var h=u.target,l=h.result,c={},f=1;p&&(f=mn(l),f>1&&G(c,vn(f))),r&&(i.exif=wn(l)),p||r?!_||f>1?c.url=Ze(l,s):c.url=_.createObjectURL(n):c.url=l,i.load(c)},a.onabort=function(){i.fail(new Error("Aborted to read the image with FileReader."))},a.onerror=function(){i.fail(new Error("Failed to read the image with FileReader."))},a.onloadend=function(){i.reader=null},p||r?a.readAsArrayBuffer(n):a.readAsDataURL(n)}}},{key:"load",value:function(i){var n=this,o=this.file,s=this.image;s.onload=function(){n.draw(W(W({},i),{},{naturalWidth:s.naturalWidth,naturalHeight:s.naturalHeight}))},s.onabort=function(){n.fail(new Error("Aborted to load the image."))},s.onerror=function(){n.fail(new Error("Failed to load the image."))},F.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(F.navigator.userAgent)&&(s.crossOrigin="anonymous"),s.alt=o.name,s.src=i.url}},{key:"draw",value:function(i){var n=this,o=i.naturalWidth,s=i.naturalHeight,d=i.rotate,p=d===void 0?0:d,r=i.scaleX,a=r===void 0?1:r,u=i.scaleY,h=u===void 0?1:u,l=this.file,c=this.image,f=this.options,m=document.createElement("canvas"),v=m.getContext("2d"),B=Math.abs(p)%180===90,T=(f.resize==="contain"||f.resize==="cover")&&Z(f.width)&&Z(f.height),k=Math.max(f.maxWidth,0)||1/0,R=Math.max(f.maxHeight,0)||1/0,I=Math.max(f.minWidth,0)||0,U=Math.max(f.minHeight,0)||0,O=o/s,y=f.width,b=f.height;if(B){var he=[R,k];k=he[0],R=he[1];var me=[U,I];I=me[0],U=me[1];var ve=[b,y];y=ve[0],b=ve[1]}T&&(O=y/b);var ge=D({aspectRatio:O,width:k,height:R},"contain");k=ge.width,R=ge.height;var we=D({aspectRatio:O,width:I,height:U},"cover");if(I=we.width,U=we.height,T){var ye=D({aspectRatio:O,width:y,height:b},f.resize);y=ye.width,b=ye.height}else{var be=D({aspectRatio:O,width:y,height:b}),xe=be.width;y=xe===void 0?o:xe;var ke=be.height;b=ke===void 0?s:ke}y=Math.floor(Ke(Math.min(Math.max(y,I),k))),b=Math.floor(Ke(Math.min(Math.max(b,U),R)));var dt=-y/2,ht=-b/2,mt=y,vt=b,ee=[];if(T){var Be=0,Ee=0,te=o,ne=s,Ce=D({aspectRatio:O,width:o,height:s},{contain:"cover",cover:"contain"}[f.resize]);te=Ce.width,ne=Ce.height,Be=(o-te)/2,Ee=(s-ne)/2,ee.push(Be,Ee,te,ne)}if(ee.push(dt,ht,mt,vt),B){var Pe=[b,y];y=Pe[0],b=Pe[1]}m.width=y,m.height=b,ce(f.mimeType)||(f.mimeType=l.type);var Te="transparent";l.size>f.convertSize&&f.convertTypes.indexOf(f.mimeType)>=0&&(f.mimeType="image/jpeg");var Se=f.mimeType==="image/jpeg";if(Se&&(Te="#fff"),v.fillStyle=Te,v.fillRect(0,0,y,b),f.beforeDraw&&f.beforeDraw.call(this,v,m),!this.aborted&&(v.save(),v.translate(y/2,b/2),v.rotate(p*Math.PI/180),v.scale(a,h),v.drawImage.apply(v,[c].concat(ee)),v.restore(),f.drew&&f.drew.call(this,v,m),!this.aborted)){var Fe=function(z){if(!n.aborted){var Re=function(L){return n.done({naturalWidth:o,naturalHeight:s,result:L})};if(z&&Se&&f.retainExif&&n.exif&&n.exif.length>0){var Ae=function(L){return Re(qe(Ze(yn(L,n.exif),f.mimeType)))};if(z.arrayBuffer)z.arrayBuffer().then(Ae).catch(function(){n.fail(new Error("Failed to read the compressed image with Blob.arrayBuffer()."))});else{var j=new se;n.reader=j,j.onload=function(ie){var L=ie.target;Ae(L.result)},j.onabort=function(){n.fail(new Error("Aborted to read the compressed image with FileReader."))},j.onerror=function(){n.fail(new Error("Failed to read the compressed image with FileReader."))},j.onloadend=function(){n.reader=null},j.readAsArrayBuffer(z)}}else Re(z)}};m.toBlob?m.toBlob(Fe,f.mimeType,f.quality):Fe(qe(m.toDataURL(f.mimeType,f.quality)))}}},{key:"done",value:function(i){var n=i.naturalWidth,o=i.naturalHeight,s=i.result,d=this.file,p=this.image,r=this.options;if(_&&p.src.indexOf("blob:")===0&&_.revokeObjectURL(p.src),s)if(r.strict&&!r.retainExif&&s.size>d.size&&r.mimeType===d.type&&!(r.width>n||r.height>o||r.minWidth>n||r.minHeight>o||r.maxWidth<n||r.maxHeight<o))s=d;else{var a=new Date;s.lastModified=a.getTime(),s.lastModifiedDate=a,s.name=d.name,s.name&&s.type!==d.type&&(s.name=s.name.replace(xn,fn(s.type)))}else s=d;this.result=s,r.success&&r.success.call(this,s)}},{key:"fail",value:function(i){var n=this.options;if(n.error)n.error.call(this,i);else throw i}},{key:"abort",value:function(){this.aborted||(this.aborted=!0,this.reader?this.reader.abort():this.image.complete?this.fail(new Error("The compression process has been aborted.")):(this.image.onload=null,this.image.onabort()))}}],[{key:"noConflict",value:function(){return window.Compressor=kn,t}},{key:"setDefaults",value:function(i){G(Ge,i)}}]),t}();const de=async t=>{t.nodes.length||(t=await nt.getItem(t.id)||t);const e=new(await pe);return e.file("snapshot.json",JSON.stringify(t)).file("screenshot.png",await Y.getItem(t.id)),await e.generateAsync({type:"blob",compression:"STORE"})},En=async t=>{const e=`snapshot-${t.id}.zip`;Q.saveAs(await de(t),e)},Cn=async t=>{const e=`snapshot-${t.id}.png`;Q.saveAs(new Blob([await Y.getItem(t.id)],{type:"image/png"}),e)},In=async t=>{const e=new(await pe);for(const n of t)await ue(),e.file(n.id+".png",new Blob([await Y.getItem(n.id)],{type:"image/png"}));const i=await e.generateAsync({type:"blob",compression:"STORE"});Q.saveAs(i,`batch-png-${Date.now()}.zip`)},Un=async t=>{const e=new(await pe);for(const n of t)await ue(),e.file(n.id+".zip",await de(n));const i=await e.generateAsync({type:"blob",compression:"STORE"});Q.saveAs(i,`batch-zip-${Date.now()}.zip`)},Pn=async t=>new Promise((e,i)=>{new Bn(new Blob([t],{type:"image/png"}),{quality:.75,convertSize:2e5,success(n){e(n)},error(n){i(n)}})}),ut=async t=>{var i;const{snapshotImageId:e}=J();return(i=e[t.id])!=null?i:rt(await Pn(await Y.getItem(t.id)),"file.jpg").then(n=>{const o=Ot(n.href);if(!o)throw new Error("imageId not found");return e[t.id]=o,o})},pt=async t=>{const{snapshotImportId:e,importSnapshotId:i}=J();return e[t.id]||rt(await de(t).then(n=>n.arrayBuffer()),"file.zip").then(n=>(e[t.id]=n.id,i[n.id]=t.id,ft(t.id,n.id),n.id))},zn=async t=>{const e=tt(3);return(await Promise.allSettled(t.map(i=>e(()=>ut(i))))).reduce((i,n)=>(n.status=="fulfilled"&&i.push(n.value),i),[])},Ln=async t=>{const e=tt(3);return(await Promise.allSettled(t.map(i=>e(()=>pt(i))))).reduce((i,n)=>(n.status=="fulfilled"&&i.push(n.value),i),[])},ft=async(t,e)=>fetch("https://detect.gkd.li/api/detectSnapshot?"+jt({id:t,importId:e}).toString()),Dn=async(t,e)=>{if(!e||!Number.isSafeInteger(+e))return;const{importSnapshotId:i,waitInit:n}=J();await n(),!i[e]&&await ft(t,e)},Tn={flex:"","gap-16px":""},Sn=["href"],Mn=K({__name:"ActionCard",props:{snapshot:{},onDelete:{type:Function,default:It},showPreview:{type:Boolean,default:!0},showExport:{type:Boolean,default:!0},showDelete:{type:Boolean,default:!0},showShare:{type:Boolean,default:!0}},setup(t){const e=t,i=Ut(),{snapshotImportId:n,snapshotImageId:o}=J(),s=H(async()=>Cn(e.snapshot)),d=H(async()=>En(e.snapshot)),p=$(()=>i.resolve({name:"snapshot",params:{snapshotId:e.snapshot.id}}).href),r=H(async()=>{await He();const l=await ut(e.snapshot);Ne({title:"分享链接",content:Le(l)})}),a=H(async()=>{await He();const l=await pt(e.snapshot);Ne({title:"分享链接",content:location.origin+`/i/${l}`})}),u=async()=>{await nt.removeItem(e.snapshot.id),await ue(500),e.onDelete()},h=async l=>navigator.clipboard.writeText(l).then(()=>{q.success("复制成功")}).catch(()=>{q.success("复制失败")});return(l,c)=>{const f=Ht,m=le,v=Wt,B=it,T=$t,k=Jt;return S(),ze("div",Tn,[l.showPreview?(S(),ze("a",{key:0,flex:"",target:"_blank",href:x(p)},[w(m,{text:"",title:"查看"},{icon:g(()=>[w(f,{size:""},{default:g(()=>c[2]||(c[2]=[E("svg",{viewBox:"0 0 1024 1024"},[E("path",{d:"M549.973333 128 633.6 145.066667 474.026667 896 390.4 878.933333 549.973333 128M835.84 512 682.666667 358.826667 682.666667 238.08 956.586667 512 682.666667 785.493333 682.666667 664.746667 835.84 512M67.413333 512 341.333333 238.08 341.333333 358.826667 188.16 512 341.333333 664.746667 341.333333 785.493333 67.413333 512Z"})],-1)])),_:1})]),_:1})],8,Sn)):N("",!0),l.showExport?(S(),A(B,{key:1},{trigger:g(()=>[w(m,{text:""},{icon:g(()=>[w(f,null,{default:g(()=>c[3]||(c[3]=[E("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},[E("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[E("path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"}),E("path",{d:"M7 11l5 5l5-5"}),E("path",{d:"M12 4v12"})])],-1)])),_:1})]),_:1})]),default:g(()=>[w(v,{vertical:""},{default:g(()=>[w(m,{onClick:x(d).invoke,loading:x(d).loading},{default:g(()=>c[4]||(c[4]=[C(" 下载-快照 ")])),_:1},8,["onClick","loading"]),w(m,{onClick:x(s).invoke,loading:x(s).loading},{default:g(()=>c[5]||(c[5]=[C(" 下载-图片 ")])),_:1},8,["onClick","loading"])]),_:1})]),_:1})):N("",!0),l.showShare?(S(),A(B,{key:2},{trigger:g(()=>[w(m,{text:""},{icon:g(()=>[w(f,null,{default:g(()=>c[6]||(c[6]=[E("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},[E("path",{d:"M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81c1.66 0 3-1.34 3-3s-1.34-3-3-3s-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65c0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92z",fill:"currentColor"})],-1)])),_:1})]),_:1})]),default:g(()=>[w(v,{vertical:""},{default:g(()=>[x(n)[l.snapshot.id]?(S(),A(m,{key:0,onClick:c[0]||(c[0]=R=>h(x(zt)(x(n)[l.snapshot.id])))},{default:g(()=>c[7]||(c[7]=[C(" 复制链接-快照 ")])),_:1})):(S(),A(m,{key:1,onClick:x(a).invoke,loading:x(a).loading},{default:g(()=>c[8]||(c[8]=[C(" 生成链接-快照 ")])),_:1},8,["onClick","loading"])),x(o)[l.snapshot.id]?(S(),A(m,{key:2,onClick:c[1]||(c[1]=R=>h(x(Le)(x(o)[l.snapshot.id])))},{default:g(()=>c[9]||(c[9]=[C(" 复制链接-图片 ")])),_:1})):(S(),A(m,{key:3,onClick:x(r).invoke,loading:x(r).loading},{default:g(()=>c[10]||(c[10]=[C(" 生成链接-图片 ")])),_:1},8,["onClick","loading"]))]),_:1})]),_:1})):N("",!0),l.showDelete?(S(),A(k,{key:3,onPositiveClick:u},{trigger:g(()=>[w(T,null,{trigger:g(()=>[w(m,{text:""},{icon:g(()=>[w(f,null,{default:g(()=>c[11]||(c[11]=[E("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},[E("g",{fill:"none"},[E("path",{d:"M12 1.75a3.25 3.25 0 0 1 3.245 3.066L15.25 5h5.25a.75.75 0 0 1 .102 1.493L20.5 6.5h-.796l-1.28 13.02a2.75 2.75 0 0 1-2.561 2.474l-.176.006H8.313a2.75 2.75 0 0 1-2.714-2.307l-.023-.174L4.295 6.5H3.5a.75.75 0 0 1-.743-.648L2.75 5.75a.75.75 0 0 1 .648-.743L3.5 5h5.25A3.25 3.25 0 0 1 12 1.75zm6.197 4.75H5.802l1.267 12.872a1.25 1.25 0 0 0 1.117 1.122l.127.006h7.374c.6 0 1.109-.425 1.225-1.002l.02-.126L18.196 6.5zM13.75 9.25a.75.75 0 0 1 .743.648L14.5 10v7a.75.75 0 0 1-1.493.102L13 17v-7a.75.75 0 0 1 .75-.75zm-3.5 0a.75.75 0 0 1 .743.648L11 10v7a.75.75 0 0 1-1.493.102L9.5 17v-7a.75.75 0 0 1 .75-.75zm1.75-6a1.75 1.75 0 0 0-1.744 1.606L10.25 5h3.5A1.75 1.75 0 0 0 12 3.25z",fill:"currentColor"})])],-1)])),_:1})]),_:1})]),default:g(()=>[c[12]||(c[12]=C(" 删除快照 "))]),_:1})]),default:g(()=>[c[13]||(c[13]=C(" 是否删除快照? "))]),_:1})):N("",!0)])}}});export{Mn as _,In as a,Un as b,Ln as c,zn as d,ut as e,pt as f,Dn as g,Ne as s,He as w};
|
|
25
|
-
//# sourceMappingURL=ActionCard.vue_vue_type_script_setup_true_lang-DnEAPPSg.js.map
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import{A as _,aQ as u,h as ie,aB as le,aT as re,B as pe,aS as ue,Y as ce,D as de,C as D,G as me,H as fe,I as E,J,F as a,K as d,L as l,O as s,U as L,_ as ge,V as ve,S as y,M as we,Q as K,P as ke,R as $,T as he}from"./index-3JMZnLI9.js";import{e as ye,a as O,b as B,p as Se}from"./snapshot-B0Hf20Ny.js";import{a as H,l as be}from"./error-b7oN5LCm.js";import{u as _e,a as xe,_ as Ce}from"./table-Cfwy3PUY.js";import{u as z,z as Ne,b as Q,N as Ie,_ as Re}from"./dayjs.min-DDNAEN-U.js";import{_ as Pe}from"./Input-C9JOs12B.js";const Be=q=>{const x=_(q),o=async(n,v={})=>{var T;if(!x.value)throw new Error("origin must exist");const N=new URL("/api/"+n,x.value);Object.entries(v.query||{}).forEach(([w,S])=>{S!==void 0&&N.searchParams.set(w,String(S))});const m=await ye(N,v.init).catch(w=>{throw u.error("网络错误:/"+n),w});if(!m.ok)throw u.error("接口错误:/"+n+":"+m.status),m;if((T=m.headers.get("Content-Type"))!=null&&T.includes("application/json")){const w=await m.clone().json();if(w.__error)throw u.error(w.message),m}return m},f=async(...n)=>await(await o(...n)).json(),c=async(...n)=>await(await o(...n)).blob(),g=async(...n)=>await(await o(...n)).arrayBuffer();return{origin:x,api:{device:async()=>f("device"),snapshot:async n=>f("snapshot",{query:n}),screenshot:async n=>g("screenshot",{query:n}),captureSnapshot:async()=>f("captureSnapshot"),snapshots:async()=>f("snapshots"),updateSubsApps:async n=>c("updateSubsApps",{init:{method:"POST",body:JSON.stringify(n),headers:{"Content-Type":"application/json"}}}),updateSubscription:async n=>c("updateSubscription",{init:{method:"POST",body:JSON.stringify({...n,id:-1,name:"内存订阅",version:0}),headers:{"Content-Type":"application/json"}}}),execSelector:async n=>f("execSelector",{init:{method:"POST",body:JSON.stringify({...n,value:n.selector}),headers:{"Content-Type":"application/json"}}})}}},ze={flex:"","gap-10px":"","flex-items-center":""},Te={flex:"","flex-col":"","p-10px":"","gap-10px":"","h-full":""},Ue={flex:"","items-center":"","gap-24px":""},Ve={"whitespace-nowrap":""},qe=ie({__name:"DevicePage",setup(q){const x=le(),{api:o,origin:f}=Be(),c=re("device_link",""),g=_(),C=z(async()=>{c.value&&(f.value=H(()=>new URL(c.value.trim()),()=>"非法设备地址").origin,c.value=f.value,g.value=await o.device())});pe(async()=>{await ue(500),ce(c.value)&&C.invoke()});const n=_([]);de(async()=>{if(!g.value)return;document.title="已连接 "+g.value.manufacturer;const e=await o.snapshots();e.sort((t,p)=>p.id-t.id),n.value=e,R.value=""});const v=z(async()=>{const e=await o.captureSnapshot(),t=await o.screenshot({id:e.id});await O.setItem(e.id,e),await B.setItem(e.id,t),u.success("保存快照成功");const p=await o.snapshots();p.sort((h,P)=>P.id-h.id),n.value=p}),N=z(async()=>{const e=(await o.snapshots()).map(r=>r.id),t=new Set((await B.keys()).map(r=>parseInt(r))),p=e.filter(r=>!t.has(r));if(p.length==0){u.success("没有新记录可导入");return}let h=0;const P=Se(3);await Promise.all(p.map(r=>P(async()=>{const[A,M]=await Promise.all([o.snapshot({id:r}),o.screenshot({id:r})]);A.nodes&&(await Promise.all([O.setItem(r,A),B.setItem(r,M)]),h++)}))),u.success(`导入${h}条新记录`)}),{activityIdCol:m,appIdCol:T,appNameCol:w,ctimeCol:S,appVersionCodeCol:W,appVersionNameCol:X,resetColWidth:Y}=_e(),Z=e=>{e.columnKey==S.key&&(S.sortOrder=e.order)},G=Ne(async e=>{if(await O.hasItem(e.id)||await O.setItem(e.id,await o.snapshot({id:e.id})),!await B.hasItem(e.id)){const t=await o.screenshot({id:e.id});await B.setItem(e.id,t)}window.open(x.resolve({name:"snapshot",params:{snapshotId:e.id}}).href)},e=>e.id),ee=[S,w,T,W,X,m,{key:"actions",title:"操作",fixed:"right",width:"120px",render(e){return a(Q,{size:"small"},{default:()=>[a(K,{size:"small",loading:G.loading[e.id],onClick:()=>G.invoke(e)},{default:()=>[y("查看")]})]})}}],I=D({page:1,pageSize:50,showSizePicker:!0,pageSizes:[50,100],onChange:e=>{I.page=e},onUpdatePageSize:e=>{I.pageSize=e,I.page=1}});me(I,Y);const U=_(!1),R=_(""),j=z(async()=>{const e=H(()=>be.parse(R.value.trim()));if(e){if(e.categories||e.globalGroups||e.apps)await o.updateSubscription(e);else if(typeof e.id=="string")await o.updateSubscription({apps:[e]});else if(Array.isArray(e)&&typeof e[0].id=="string")await o.updateSubscription({apps:e});else if(typeof e.key=="number")await o.updateSubscription({globalGroups:[e]});else if(Array.isArray(e)&&typeof e[0].key=="number")await o.updateSubscription({globalGroups:e});else{u.error("无法识别的订阅文本");return}u.success("修改成功")}}),V=_(!1),te=[{label:"仅查询",value:void 0},{value:"click",label:"click"},{value:"clickNode",label:"clickNode"},{value:"clickCenter",label:"clickCenter"},{value:"back",label:"back"},{value:"longClick",label:"longClick"},{value:"longClickNode",label:"longClickNode"},{value:"longClickCenter",label:"longClickCenter"}],k=D({selector:"",action:"click",quickFind:!1}),F=z(async()=>{const e=await o.execSelector({...k,fastQuery:k.quickFind});if(e.message){u.success("操作成功:"+e.message);return}e.action?u.success((e.result?"操作成功:":"操作失败")+e.action):!e.action&&e.result&&u.success("查询成功")}),se=`
|
|
2
|
-
请输入订阅文本(JSON5语法):
|
|
3
|
-
示例1-更新单个应用的规则:
|
|
4
|
-
{
|
|
5
|
-
id: 'appId',
|
|
6
|
-
groups: []
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
示例2-更新多个应用的规则:
|
|
10
|
-
[
|
|
11
|
-
{
|
|
12
|
-
id: 'appId1',
|
|
13
|
-
groups: []
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
id: 'appId2',
|
|
17
|
-
groups: []
|
|
18
|
-
}
|
|
19
|
-
]
|
|
20
|
-
|
|
21
|
-
示例3-更新全局规则(1.7.0):
|
|
22
|
-
{
|
|
23
|
-
name: '全局规则-1',
|
|
24
|
-
key: 0,
|
|
25
|
-
rules: []
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
示例3-更新多个全局规则(1.7.0):
|
|
29
|
-
[
|
|
30
|
-
{
|
|
31
|
-
name: '全局规则-1',
|
|
32
|
-
key: 0,
|
|
33
|
-
rules: []
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
name: '全局规则-2',
|
|
37
|
-
key: 1,
|
|
38
|
-
rules: []
|
|
39
|
-
}
|
|
40
|
-
]
|
|
41
|
-
|
|
42
|
-
示例4-更新整个订阅(1.7.0):
|
|
43
|
-
{
|
|
44
|
-
apps: [],
|
|
45
|
-
globalGroups: [],
|
|
46
|
-
categories: [],
|
|
47
|
-
}
|
|
48
|
-
`.trim();return(e,t)=>{const p=Pe,h=ge,P=ve,r=Q,A=xe,M=Ie,b=K,ne=fe("RouterLink"),oe=Re,ae=Ce;return J(),E($,null,[a(h,{show:s(U),"onUpdate:show":t[1]||(t[1]=i=>L(U)?U.value=i:null),preset:"dialog",style:{width:"800px"},title:"修改内存订阅","positive-text":"确认",positiveButtonProps:{loading:s(j).loading,onClick(){s(j).invoke()}}},{default:l(()=>[a(p,{value:s(R),"onUpdate:value":t[0]||(t[0]=i=>L(R)?R.value=i:null),disabled:s(j).loading,type:"textarea",class:"gkd_code",autosize:{minRows:20,maxRows:25},placeholder:s(se)},null,8,["value","disabled","placeholder"])]),_:1},8,["show","positiveButtonProps"]),a(h,{show:s(V),"onUpdate:show":t[5]||(t[5]=i=>L(V)?V.value=i:null),preset:"dialog",style:{width:"800px"},title:"执行选择器","positive-text":"确认",positiveButtonProps:{loading:s(F).loading,onClick(){s(F).invoke()}}},{default:l(()=>[a(p,{value:s(k).selector,"onUpdate:value":t[2]||(t[2]=i=>s(k).selector=i),disabled:s(F).loading,type:"textarea",class:"gkd_code",autosize:{minRows:4,maxRows:10},placeholder:"请输入合法的选择器"},null,8,["value","disabled"]),t[12]||(t[12]=d("div",{"h-15px":""},null,-1)),a(r,null,{default:l(()=>[a(P,{checked:s(k).quickFind,"onUpdate:checked":t[3]||(t[3]=i=>s(k).quickFind=i)},{default:l(()=>t[9]||(t[9]=[y(" 快速查找 ")])),_:1},8,["checked"]),t[10]||(t[10]=d("a",{href:"https://gkd.li/api/interfaces/RawCommonProps.html#quickfind",target:"_blank",rel:"noopener noreferrer"}," 查找说明 ",-1))]),_:1}),t[13]||(t[13]=d("div",{"h-10px":""},null,-1)),d("div",ze,[a(A,{value:s(k).action,"onUpdate:value":t[4]||(t[4]=i=>s(k).action=i),options:te,class:"w-150px"},null,8,["value"]),t[11]||(t[11]=d("a",{href:"https://gkd.li/api/interfaces/RawRuleProps#action",target:"_blank",rel:"noopener noreferrer"}," 操作说明 ",-1))])]),_:1},8,["show","positiveButtonProps"]),d("div",Te,[d("div",Ue,[a(ne,{to:"/",flex:"","ml-12px":"",title:"首页"},{default:l(()=>[a(b,{text:""},{icon:l(()=>[a(M,{size:24},{default:l(()=>t[14]||(t[14]=[d("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},[d("path",{d:"M16.612 2.214a1.01 1.01 0 0 0-1.242 0L1 13.419l1.243 1.572L4 13.621V26a2.004 2.004 0 0 0 2 2h20a2.004 2.004 0 0 0 2-2V13.63L29.757 15L31 13.428zM18 26h-4v-8h4zm2 0v-8a2.002 2.002 0 0 0-2-2h-4a2.002 2.002 0 0 0-2 2v8H6V12.062l10-7.79l10 7.8V26z",fill:"currentColor"})],-1)])),_:1})]),_:1})]),_:1}),a(oe,null,{default:l(()=>[a(p,{value:s(c),"onUpdate:value":t[6]||(t[6]=i=>L(c)?c.value=i:null),placeholder:"请输入设备地址",style:{width:"200px"},onKeyup:ke(s(C).invoke,["enter"])},null,8,["value","onKeyup"]),a(b,{onClick:s(C).invoke,loading:s(C).loading},{default:l(()=>t[15]||(t[15]=[y(" 刷新连接 ")])),_:1},8,["onClick","loading"])]),_:1}),s(g)?(J(),E($,{key:0},[d("div",Ve,he(`已连接 ${s(g).manufacturer} Android ${s(g).release}`),1),a(b,{onClick:s(v).invoke,loading:s(v).loading},{default:l(()=>t[16]||(t[16]=[y(" 快照 ")])),_:1},8,["onClick","loading"]),a(b,{onClick:s(N).invoke,loading:s(N).loading},{default:l(()=>t[17]||(t[17]=[y(" 下载设备所有快照 ")])),_:1},8,["onClick","loading"]),a(b,{onClick:t[7]||(t[7]=i=>U.value=!0)},{default:l(()=>t[18]||(t[18]=[y(" 修改内存订阅 ")])),_:1}),a(b,{onClick:t[8]||(t[8]=i=>V.value=!0)},{default:l(()=>t[19]||(t[19]=[y(" 执行选择器 ")])),_:1})],64)):we("",!0)]),a(ae,{striped:"",flexHeight:"",data:s(n),columns:ee,pagination:s(I),"onUpdate:sorter":Z,size:"small",class:"flex-1",scrollX:1200},null,8,["data","pagination"])])],64)}}});export{qe as default};
|
|
49
|
-
//# sourceMappingURL=DevicePage-1a8hCnhz.js.map
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import{d as ze,c as Re,a as pe,b as r,e as le,f as V,g as ge,i as ve,h as _e,j as se,k as w,r as L,N as Be,l as $e,u as Ve,m as Se,n as Ie,o as re,t as Me,p as Ne,q as G,s as H,v as ce,w as I,x as Te,y as de,z as Ue,A as j,B as We,C as fe,D as ue,E as Pe,F as a,G as Fe,H as De,I as me,J as we,K as c,L as i,M as Le,O as n,P as He,Q as Oe,R as be,S as C,T as Ke,U as he,_ as qe,V as Ae,W as Qe,X as Ze,Y as je}from"./index-3JMZnLI9.js";import{_ as Ee,b as Xe,a as Ge,w as xe,c as Ye,s as ke,d as Je}from"./ActionCard.vue_vue_type_script_setup_true_lang-DnEAPPSg.js";import{i as et,a as tt}from"./import-CiW06Qx6.js";import{g as ye,u as O,_ as ot,N as at,a as nt,b as it}from"./dayjs.min-DDNAEN-U.js";import{s as lt,a as Ce}from"./snapshot-B0Hf20Ny.js";import{u as st,_ as rt,r as ct}from"./table-Cfwy3PUY.js";import{_ as dt}from"./Input-C9JOs12B.js";import"./chunk-GYYaAHNj.js";const ut={buttonHeightSmall:"14px",buttonHeightMedium:"18px",buttonHeightLarge:"22px",buttonWidthSmall:"14px",buttonWidthMedium:"18px",buttonWidthLarge:"22px",buttonWidthPressedSmall:"20px",buttonWidthPressedMedium:"24px",buttonWidthPressedLarge:"28px",railHeightSmall:"18px",railHeightMedium:"22px",railHeightLarge:"26px",railWidthSmall:"32px",railWidthMedium:"40px",railWidthLarge:"48px"};function ht(t){const{primaryColor:g,opacityDisabled:y,borderRadius:v,textColor3:h}=t;return Object.assign(Object.assign({},ut),{iconColor:h,textColor:"white",loadingColor:g,opacityDisabled:y,railColor:"rgba(0, 0, 0, .14)",railColorActive:g,buttonBoxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.3), inset 0 0 1px 0 rgba(0, 0, 0, 0.05)",buttonColor:"#FFF",railBorderRadiusSmall:v,railBorderRadiusMedium:v,railBorderRadiusLarge:v,buttonBorderRadiusSmall:v,buttonBorderRadiusMedium:v,buttonBorderRadiusLarge:v,boxShadowFocus:`0 0 0 2px ${Re(g,{alpha:.2})}`})}const pt={common:ze,self:ht},gt=pe("switch",`
|
|
2
|
-
height: var(--n-height);
|
|
3
|
-
min-width: var(--n-width);
|
|
4
|
-
vertical-align: middle;
|
|
5
|
-
user-select: none;
|
|
6
|
-
-webkit-user-select: none;
|
|
7
|
-
display: inline-flex;
|
|
8
|
-
outline: none;
|
|
9
|
-
justify-content: center;
|
|
10
|
-
align-items: center;
|
|
11
|
-
`,[r("children-placeholder",`
|
|
12
|
-
height: var(--n-rail-height);
|
|
13
|
-
display: flex;
|
|
14
|
-
flex-direction: column;
|
|
15
|
-
overflow: hidden;
|
|
16
|
-
pointer-events: none;
|
|
17
|
-
visibility: hidden;
|
|
18
|
-
`),r("rail-placeholder",`
|
|
19
|
-
display: flex;
|
|
20
|
-
flex-wrap: none;
|
|
21
|
-
`),r("button-placeholder",`
|
|
22
|
-
width: calc(1.75 * var(--n-rail-height));
|
|
23
|
-
height: var(--n-rail-height);
|
|
24
|
-
`),pe("base-loading",`
|
|
25
|
-
position: absolute;
|
|
26
|
-
top: 50%;
|
|
27
|
-
left: 50%;
|
|
28
|
-
transform: translateX(-50%) translateY(-50%);
|
|
29
|
-
font-size: calc(var(--n-button-width) - 4px);
|
|
30
|
-
color: var(--n-loading-color);
|
|
31
|
-
transition: color .3s var(--n-bezier);
|
|
32
|
-
`,[ve({left:"50%",top:"50%",originalTransform:"translateX(-50%) translateY(-50%)"})]),r("checked, unchecked",`
|
|
33
|
-
transition: color .3s var(--n-bezier);
|
|
34
|
-
color: var(--n-text-color);
|
|
35
|
-
box-sizing: border-box;
|
|
36
|
-
position: absolute;
|
|
37
|
-
white-space: nowrap;
|
|
38
|
-
top: 0;
|
|
39
|
-
bottom: 0;
|
|
40
|
-
display: flex;
|
|
41
|
-
align-items: center;
|
|
42
|
-
line-height: 1;
|
|
43
|
-
`),r("checked",`
|
|
44
|
-
right: 0;
|
|
45
|
-
padding-right: calc(1.25 * var(--n-rail-height) - var(--n-offset));
|
|
46
|
-
`),r("unchecked",`
|
|
47
|
-
left: 0;
|
|
48
|
-
justify-content: flex-end;
|
|
49
|
-
padding-left: calc(1.25 * var(--n-rail-height) - var(--n-offset));
|
|
50
|
-
`),le("&:focus",[r("rail",`
|
|
51
|
-
box-shadow: var(--n-box-shadow-focus);
|
|
52
|
-
`)]),V("round",[r("rail","border-radius: calc(var(--n-rail-height) / 2);",[r("button","border-radius: calc(var(--n-button-height) / 2);")])]),ge("disabled",[ge("icon",[V("rubber-band",[V("pressed",[r("rail",[r("button","max-width: var(--n-button-width-pressed);")])]),r("rail",[le("&:active",[r("button","max-width: var(--n-button-width-pressed);")])]),V("active",[V("pressed",[r("rail",[r("button","left: calc(100% - var(--n-offset) - var(--n-button-width-pressed));")])]),r("rail",[le("&:active",[r("button","left: calc(100% - var(--n-offset) - var(--n-button-width-pressed));")])])])])])]),V("active",[r("rail",[r("button","left: calc(100% - var(--n-button-width) - var(--n-offset))")])]),r("rail",`
|
|
53
|
-
overflow: hidden;
|
|
54
|
-
height: var(--n-rail-height);
|
|
55
|
-
min-width: var(--n-rail-width);
|
|
56
|
-
border-radius: var(--n-rail-border-radius);
|
|
57
|
-
cursor: pointer;
|
|
58
|
-
position: relative;
|
|
59
|
-
transition:
|
|
60
|
-
opacity .3s var(--n-bezier),
|
|
61
|
-
background .3s var(--n-bezier),
|
|
62
|
-
box-shadow .3s var(--n-bezier);
|
|
63
|
-
background-color: var(--n-rail-color);
|
|
64
|
-
`,[r("button-icon",`
|
|
65
|
-
color: var(--n-icon-color);
|
|
66
|
-
transition: color .3s var(--n-bezier);
|
|
67
|
-
font-size: calc(var(--n-button-height) - 4px);
|
|
68
|
-
position: absolute;
|
|
69
|
-
left: 0;
|
|
70
|
-
right: 0;
|
|
71
|
-
top: 0;
|
|
72
|
-
bottom: 0;
|
|
73
|
-
display: flex;
|
|
74
|
-
justify-content: center;
|
|
75
|
-
align-items: center;
|
|
76
|
-
line-height: 1;
|
|
77
|
-
`,[ve()]),r("button",`
|
|
78
|
-
align-items: center;
|
|
79
|
-
top: var(--n-offset);
|
|
80
|
-
left: var(--n-offset);
|
|
81
|
-
height: var(--n-button-height);
|
|
82
|
-
width: var(--n-button-width-pressed);
|
|
83
|
-
max-width: var(--n-button-width);
|
|
84
|
-
border-radius: var(--n-button-border-radius);
|
|
85
|
-
background-color: var(--n-button-color);
|
|
86
|
-
box-shadow: var(--n-button-box-shadow);
|
|
87
|
-
box-sizing: border-box;
|
|
88
|
-
cursor: inherit;
|
|
89
|
-
content: "";
|
|
90
|
-
position: absolute;
|
|
91
|
-
transition:
|
|
92
|
-
background-color .3s var(--n-bezier),
|
|
93
|
-
left .3s var(--n-bezier),
|
|
94
|
-
opacity .3s var(--n-bezier),
|
|
95
|
-
max-width .3s var(--n-bezier),
|
|
96
|
-
box-shadow .3s var(--n-bezier);
|
|
97
|
-
`)]),V("active",[r("rail","background-color: var(--n-rail-color-active);")]),V("loading",[r("rail",`
|
|
98
|
-
cursor: wait;
|
|
99
|
-
`)]),V("disabled",[r("rail",`
|
|
100
|
-
cursor: not-allowed;
|
|
101
|
-
opacity: .5;
|
|
102
|
-
`)])]),vt=Object.assign(Object.assign({},Se.props),{size:{type:String,default:"medium"},value:{type:[String,Number,Boolean],default:void 0},loading:Boolean,defaultValue:{type:[String,Number,Boolean],default:!1},disabled:{type:Boolean,default:void 0},round:{type:Boolean,default:!0},"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],checkedValue:{type:[String,Number,Boolean],default:!0},uncheckedValue:{type:[String,Number,Boolean],default:!1},railStyle:Function,rubberBand:{type:Boolean,default:!0},onChange:[Function,Array]});let X;const ft=_e({name:"Switch",props:vt,slots:Object,setup(t){X===void 0&&(typeof CSS<"u"?typeof CSS.supports<"u"?X=CSS.supports("width","max(1px)"):X=!1:X=!0);const{mergedClsPrefixRef:g,inlineThemeDisabled:y}=Ve(t),v=Se("Switch","-switch",gt,pt,t,g),h=Ie(t),{mergedSizeRef:f,mergedDisabledRef:x}=h,M=re(t.defaultValue),N=Me(t,"value"),z=Ne(N,M),R=G(()=>z.value===t.checkedValue),B=re(!1),d=re(!1),k=G(()=>{const{railStyle:l}=t;if(l)return l({focused:d.value,checked:R.value})});function _(l){const{"onUpdate:value":q,onChange:P,onUpdateValue:F}=t,{nTriggerFormInput:A,nTriggerFormChange:Q}=h;q&&de(q,l),F&&de(F,l),P&&de(P,l),M.value=l,A(),Q()}function J(){const{nTriggerFormFocus:l}=h;l()}function ee(){const{nTriggerFormBlur:l}=h;l()}function te(){t.loading||x.value||(z.value!==t.checkedValue?_(t.checkedValue):_(t.uncheckedValue))}function T(){d.value=!0,J()}function oe(){d.value=!1,ee(),B.value=!1}function K(l){t.loading||x.value||l.key===" "&&(z.value!==t.checkedValue?_(t.checkedValue):_(t.uncheckedValue),B.value=!1)}function U(l){t.loading||x.value||l.key===" "&&(l.preventDefault(),B.value=!0)}const W=G(()=>{const{value:l}=f,{self:{opacityDisabled:q,railColor:P,railColorActive:F,buttonBoxShadow:A,buttonColor:Q,boxShadowFocus:D,loadingColor:o,textColor:e,iconColor:S,[H("buttonHeight",l)]:m,[H("buttonWidth",l)]:p,[H("buttonWidthPressed",l)]:ae,[H("railHeight",l)]:b,[H("railWidth",l)]:$,[H("railBorderRadius",l)]:ne,[H("buttonBorderRadius",l)]:ie},common:{cubicBezierEaseInOut:Y}}=v.value;let Z,E,s;return X?(Z=`calc((${b} - ${m}) / 2)`,E=`max(${b}, ${m})`,s=`max(${$}, calc(${$} + ${m} - ${b}))`):(Z=ce((I(b)-I(m))/2),E=ce(Math.max(I(b),I(m))),s=I(b)>I(m)?$:ce(I($)+I(m)-I(b))),{"--n-bezier":Y,"--n-button-border-radius":ie,"--n-button-box-shadow":A,"--n-button-color":Q,"--n-button-width":p,"--n-button-width-pressed":ae,"--n-button-height":m,"--n-height":E,"--n-offset":Z,"--n-opacity-disabled":q,"--n-rail-border-radius":ne,"--n-rail-color":P,"--n-rail-color-active":F,"--n-rail-height":b,"--n-rail-width":$,"--n-width":s,"--n-box-shadow-focus":D,"--n-loading-color":o,"--n-text-color":e,"--n-icon-color":S}}),u=y?Te("switch",G(()=>f.value[0]),W,t):void 0;return{handleClick:te,handleBlur:oe,handleFocus:T,handleKeyup:K,handleKeydown:U,mergedRailStyle:k,pressed:B,mergedClsPrefix:g,mergedValue:z,checked:R,mergedDisabled:x,cssVars:y?void 0:W,themeClass:u==null?void 0:u.themeClass,onRender:u==null?void 0:u.onRender}},render(){const{mergedClsPrefix:t,mergedDisabled:g,checked:y,mergedRailStyle:v,onRender:h,$slots:f}=this;h==null||h();const{checked:x,unchecked:M,icon:N,"checked-icon":z,"unchecked-icon":R}=f,B=!(se(N)&&se(z)&&se(R));return w("div",{role:"switch","aria-checked":y,class:[`${t}-switch`,this.themeClass,B&&`${t}-switch--icon`,y&&`${t}-switch--active`,g&&`${t}-switch--disabled`,this.round&&`${t}-switch--round`,this.loading&&`${t}-switch--loading`,this.pressed&&`${t}-switch--pressed`,this.rubberBand&&`${t}-switch--rubber-band`],tabindex:this.mergedDisabled?void 0:0,style:this.cssVars,onClick:this.handleClick,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyup:this.handleKeyup,onKeydown:this.handleKeydown},w("div",{class:`${t}-switch__rail`,"aria-hidden":"true",style:v},L(x,d=>L(M,k=>d||k?w("div",{"aria-hidden":!0,class:`${t}-switch__children-placeholder`},w("div",{class:`${t}-switch__rail-placeholder`},w("div",{class:`${t}-switch__button-placeholder`}),d),w("div",{class:`${t}-switch__rail-placeholder`},w("div",{class:`${t}-switch__button-placeholder`}),k)):null)),w("div",{class:`${t}-switch__button`},L(N,d=>L(z,k=>L(R,_=>w(Be,null,{default:()=>this.loading?w($e,{key:"loading",clsPrefix:t,strokeWidth:20}):this.checked&&(k||d)?w("div",{class:`${t}-switch__button-icon`,key:k?"checked-icon":"icon"},k||d):!this.checked&&(_||d)?w("div",{class:`${t}-switch__button-icon`,key:_?"unchecked-icon":"icon"},_||d):null})))),L(x,d=>d&&w("div",{key:"checked",class:`${t}-switch__checked`},d)),L(M,d=>d&&w("div",{key:"unchecked",class:`${t}-switch__unchecked`},d)))))}}),mt={flex:"","flex-col":"","p-10px":"","gap-10px":"","h-full":""},wt={flex:""},bt={"h-full":"",flex:"","flex-items-center":""},xt={flex:"","gap-24px":"","items-center":"","pr-8px":""},kt={flex:"",href:"https://github.com/gkd-kit/inspect",target:"_blank",rel:"noopener noreferrer"},yt={flex:"","gap-10px":""},It=_e({__name:"HomePage",setup(t){const g=Ue(),y=j([]),v=j(!0),h=async()=>{v.value=!0,y.value=(await lt.getAllItems()).reverse(),u.value=[],v.value=!1};We(h);const f=fe({query:"",actualQuery:"",updateQuery:()=>{f.actualQuery=f.query.trim(),u.value=[]}}),x=G(()=>{const o=f.actualQuery;return o?y.value.filter(e=>(ye(e).name||"").includes(o)||(e.appId||"").includes(o)||(e.activityId||"").includes(o)):y.value}),M=O(async()=>{await et(),await h()}),{activityIdCol:N,appIdCol:z,appNameCol:R,ctimeCol:B,mtimeCol:d,deviceCol:k,appVersionCodeCol:_,appVersionNameCol:J,resetColWidth:ee}=st();ue(()=>{const o=x.value.reduce((e,S)=>(e.add(ct(S)),e),new Set);if(o.size<=1){k.filterOptions=void 0;return}k.filterOptions=[...o.values()].map(e=>({value:e,label:e}))}),ue(()=>{const o=x.value.reduce((e,S)=>(e.add(ye(S).name),e),new Set);if(o.size<=1){R.filterOptions=void 0;return}R.filterOptions=[...o.values()].map(e=>({value:e,label:e}))}),ue(()=>{const o=x.value.reduce((e,S)=>(e.add(S.activityId),e),new Set);if(o.size<=1){N.filterOptions=void 0;return}N.filterOptions=[...o.values()].map(e=>({value:e,label:e}))});const te=Pe([{type:"selection"},B,d,k,R,z,_,J,N,{key:"actions",title:"操作",fixed:"right",width:"160px",render(o){return a(Ee,{snapshot:o,onDelete:h},null)}}]),T=fe({page:1,pageSize:50,showSizePicker:!0,pageSizes:[50,100],onChange:o=>{T.page=o},onUpdatePageSize:o=>{T.pageSize=o,T.page=1}});Fe(T,ee);const oe=o=>{[B,d].forEach(e=>{o.columnKey!=e.key?e.sortOrder=void 0:e.sortOrder=o.order})};d.sortOrder="descend";const K=j(!1),U=j(""),W=O(async()=>{const o=U.value.trim().split(`
|
|
103
|
-
`).map(e=>e.trim()).filter(e=>je(e));o.length!=0&&(await tt(o),await h(),U.value="")}),u=j([]),l=()=>Promise.all(u.value.map(o=>Ce.getItem(o))),q=O(async()=>{await new Promise((o,e)=>{Ze.warning({title:"删除",content:`是否批量删除 ${u.value.length} 个快照`,negativeText:"取消",positiveText:"确认",onClose:e,onEsc:e,onMaskClick:e,onNegativeClick:e,onPositiveClick:o})}),await Promise.all(u.value.map(o=>Ce.removeItem(o))),await h()}),P=O(async()=>{await Ge(await l())}),F=O(async()=>{await Xe(await l())}),A=O(async()=>{await xe();const o=await Je(await l());ke({content:o.map(e=>Qe(e)).join(`
|
|
104
|
-
`)+`
|
|
105
|
-
`})}),Q=O(async()=>{await xe();const o=await Ye(await l());ke({content:o.map(e=>location.origin+"/i/"+e).join(`
|
|
106
|
-
`)+`
|
|
107
|
-
`})}),D=j(!1);return(o,e)=>{const S=dt,m=at,p=Oe,ae=ot,b=it,$=nt,ne=De("RouterLink"),ie=rt,Y=qe,Z=Ae,E=ft;return we(),me(be,null,[c("div",mt,[c("div",wt,[a(b,null,{default:i(()=>[a(ae,null,{default:i(()=>[a(S,{placeholder:"请输入应用名称/应用ID/界面ID",clearable:"",class:"min-w-320px",value:n(f).query,"onUpdate:value":e[0]||(e[0]=s=>n(f).query=s),onKeyup:He(n(f).updateQuery,["enter"]),onChange:n(f).updateQuery},null,8,["value","onKeyup","onChange"]),a(p,{onClick:n(f).updateQuery},{icon:i(()=>[a(m,null,{default:i(()=>e[12]||(e[12]=[c("svg",{viewBox:"0 0 32 32"},[c("path",{d:"M29 27.586l-7.552-7.552a11.018 11.018 0 1 0-1.414 1.414L27.586 29zM4 13a9 9 0 1 1 9 9a9.01 9.01 0 0 1-9-9z",fill:"currentColor"})],-1)])),_:1})]),_:1},8,["onClick"])]),_:1}),n(u).length?(we(),me(be,{key:0},[a($,null,{trigger:i(()=>[a(p,null,{default:i(()=>e[13]||(e[13]=[C(" 批量下载 ")])),_:1})]),default:i(()=>[a(b,{vertical:""},{default:i(()=>[a(p,{onClick:n(F).invoke,loading:n(F).loading},{default:i(()=>e[14]||(e[14]=[C(" 批量下载-快照 ")])),_:1},8,["onClick","loading"]),a(p,{onClick:n(P).invoke,loading:n(P).loading},{default:i(()=>e[15]||(e[15]=[C(" 批量下载-图片 ")])),_:1},8,["onClick","loading"])]),_:1})]),_:1}),a($,null,{trigger:i(()=>[a(p,null,{default:i(()=>e[16]||(e[16]=[C(" 批量分享 ")])),_:1})]),default:i(()=>[a(b,{vertical:""},{default:i(()=>[a(p,{onClick:n(Q).invoke,loading:n(Q).loading},{default:i(()=>e[17]||(e[17]=[C(" 批量生成链接-快照 ")])),_:1},8,["onClick","loading"]),a(p,{onClick:n(A).invoke,loading:n(A).loading},{default:i(()=>e[18]||(e[18]=[C(" 批量生成链接-图片 ")])),_:1},8,["onClick","loading"])]),_:1})]),_:1}),a(p,{onClick:n(q).invoke},{default:i(()=>e[19]||(e[19]=[C(" 批量删除 ")])),_:1},8,["onClick"]),c("div",bt,Ke(`已选中 ${n(u).length} 个快照`),1)],64)):Le("",!0)]),_:1}),e[26]||(e[26]=c("div",{"flex-1":""},null,-1)),c("div",xt,[a(p,{text:"",title:"设置",onClick:e[1]||(e[1]=s=>D.value=!0)},{icon:i(()=>[a(m,{size:24},{default:i(()=>e[20]||(e[20]=[c("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[c("g",{fill:"currentColor","fill-rule":"evenodd","clip-rule":"evenodd"},[c("path",{d:"M12 8.25a3.75 3.75 0 1 0 0 7.5a3.75 3.75 0 0 0 0-7.5M9.75 12a2.25 2.25 0 1 1 4.5 0a2.25 2.25 0 0 1-4.5 0"}),c("path",{d:"M11.975 1.25c-.445 0-.816 0-1.12.02a2.8 2.8 0 0 0-.907.19a2.75 2.75 0 0 0-1.489 1.488c-.145.35-.184.72-.2 1.122a.87.87 0 0 1-.415.731a.87.87 0 0 1-.841-.005c-.356-.188-.696-.339-1.072-.389a2.75 2.75 0 0 0-2.033.545a2.8 2.8 0 0 0-.617.691c-.17.254-.356.575-.578.96l-.025.044c-.223.385-.408.706-.542.98c-.14.286-.25.568-.29.88a2.75 2.75 0 0 0 .544 2.033c.231.301.532.52.872.734a.87.87 0 0 1 .426.726a.87.87 0 0 1-.426.726c-.34.214-.64.433-.872.734a2.75 2.75 0 0 0-.545 2.033c.041.312.15.594.29.88c.135.274.32.595.543.98l.025.044c.222.385.408.706.578.96c.177.263.367.5.617.69a2.75 2.75 0 0 0 2.033.546c.376-.05.716-.2 1.072-.389a.87.87 0 0 1 .84-.005a.86.86 0 0 1 .417.731c.015.402.054.772.2 1.122a2.75 2.75 0 0 0 1.488 1.489c.29.12.59.167.907.188c.304.021.675.021 1.12.021h.05c.445 0 .816 0 1.12-.02c.318-.022.617-.069.907-.19a2.75 2.75 0 0 0 1.489-1.488c.145-.35.184-.72.2-1.122a.87.87 0 0 1 .415-.732a.87.87 0 0 1 .841.006c.356.188.696.339 1.072.388a2.75 2.75 0 0 0 2.033-.544c.25-.192.44-.428.617-.691c.17-.254.356-.575.578-.96l.025-.044c.223-.385.408-.706.542-.98c.14-.286.25-.569.29-.88a2.75 2.75 0 0 0-.544-2.033c-.231-.301-.532-.52-.872-.734a.87.87 0 0 1-.426-.726c0-.278.152-.554.426-.726c.34-.214.64-.433.872-.734a2.75 2.75 0 0 0 .545-2.033a2.8 2.8 0 0 0-.29-.88a18 18 0 0 0-.543-.98l-.025-.044a18 18 0 0 0-.578-.96a2.8 2.8 0 0 0-.617-.69a2.75 2.75 0 0 0-2.033-.546c-.376.05-.716.2-1.072.389a.87.87 0 0 1-.84.005a.87.87 0 0 1-.417-.731c-.015-.402-.054-.772-.2-1.122a2.75 2.75 0 0 0-1.488-1.489c-.29-.12-.59-.167-.907-.188c-.304-.021-.675-.021-1.12-.021zm-1.453 1.595c.077-.032.194-.061.435-.078c.247-.017.567-.017 1.043-.017s.796 0 1.043.017c.241.017.358.046.435.078c.307.127.55.37.677.677c.04.096.073.247.086.604c.03.792.439 1.555 1.165 1.974s1.591.392 2.292.022c.316-.167.463-.214.567-.227a1.25 1.25 0 0 1 .924.247c.066.051.15.138.285.338c.139.206.299.483.537.895s.397.69.506.912c.107.217.14.333.15.416a1.25 1.25 0 0 1-.247.924c-.064.083-.178.187-.48.377c-.672.422-1.128 1.158-1.128 1.996s.456 1.574 1.128 1.996c.302.19.416.294.48.377c.202.263.29.595.247.924c-.01.083-.044.2-.15.416c-.109.223-.268.5-.506.912s-.399.689-.537.895c-.135.2-.219.287-.285.338a1.25 1.25 0 0 1-.924.247c-.104-.013-.25-.06-.567-.227c-.7-.37-1.566-.398-2.292.021s-1.135 1.183-1.165 1.975c-.013.357-.046.508-.086.604a1.25 1.25 0 0 1-.677.677c-.077.032-.194.061-.435.078c-.247.017-.567.017-1.043.017s-.796 0-1.043-.017c-.241-.017-.358-.046-.435-.078a1.25 1.25 0 0 1-.677-.677c-.04-.096-.073-.247-.086-.604c-.03-.792-.439-1.555-1.165-1.974s-1.591-.392-2.292-.022c-.316.167-.463.214-.567.227a1.25 1.25 0 0 1-.924-.247c-.066-.051-.15-.138-.285-.338a17 17 0 0 1-.537-.895c-.238-.412-.397-.69-.506-.912c-.107-.217-.14-.333-.15-.416a1.25 1.25 0 0 1 .247-.924c.064-.083.178-.187.48-.377c.672-.422 1.128-1.158 1.128-1.996s-.456-1.574-1.128-1.996c-.302-.19-.416-.294-.48-.377a1.25 1.25 0 0 1-.247-.924c.01-.083.044-.2.15-.416c.109-.223.268-.5.506-.912s.399-.689.537-.895c.135-.2.219-.287.285-.338a1.25 1.25 0 0 1 .924-.247c.104.013.25.06.567.227c.7.37 1.566.398 2.292-.022c.726-.419 1.135-1.182 1.165-1.974c.013-.357.046-.508.086-.604c.127-.307.37-.55.677-.677"})])],-1)])),_:1})]),_:1}),a($,null,{trigger:i(()=>[a(p,{text:""},{icon:i(()=>[a(m,{size:24},{default:i(()=>e[21]||(e[21]=[c("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},[c("path",{fill:"currentColor",d:"M28 19H14.83l2.58-2.59L16 15l-5 5l5 5l1.41-1.41L14.83 21H28z"}),c("path",{fill:"currentColor",d:"M24 14v-4a1 1 0 0 0-.29-.71l-7-7A1 1 0 0 0 16 2H6a2 2 0 0 0-2 2v24a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2h-2v2H6V4h8v6a2 2 0 0 0 2 2h6v2Zm-8-4V4.41L21.59 10Z"})],-1)])),_:1})]),_:1})]),default:i(()=>[a(b,{vertical:""},{default:i(()=>[a(p,{onClick:n(M).invoke,loading:n(M).loading},{default:i(()=>e[22]||(e[22]=[C(" 导入本地文件 ")])),_:1},8,["onClick","loading"]),a(p,{onClick:e[2]||(e[2]=s=>K.value=!0),loading:n(W).loading},{default:i(()=>e[23]||(e[23]=[C(" 导入网络文件 ")])),_:1},8,["loading"])]),_:1})]),_:1}),a(ne,{flex:"",to:"/device",title:"连接设备"},{default:i(()=>[a(p,{text:""},{icon:i(()=>[a(m,{size:24},{default:i(()=>e[24]||(e[24]=[c("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},[c("path",{fill:"currentColor",d:"M18.35 14.85L16.9 13.4q.3-.275.463-.637t.162-.763t-.162-.763t-.463-.637l1.45-1.45q.575.575.875 1.313t.3 1.537t-.3 1.538t-.875 1.312m2.45 2.45l-1.4-1.4q.775-.775 1.2-1.775T21.025 12T20.6 9.875T19.4 8.1l1.4-1.4q1.075 1.05 1.65 2.425T23.025 12t-.575 2.875T20.8 17.3M7 23q-.825 0-1.412-.587T5 21V3q0-.825.588-1.412T7 1h10q.825 0 1.413.588T19 3v4h-2V6H7v12h10v-1h2v4q0 .825-.587 1.413T17 23zm0-3v1h10v-1zM7 4h10V3H7zm0 0V3zm0 16v1z"})],-1)])),_:1})]),_:1})]),_:1}),c("a",kt,[a(p,{text:""},{icon:i(()=>[a(m,{size:24},{default:i(()=>e[25]||(e[25]=[c("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 496 512"},[c("path",{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6c-3.3.3-5.6-1.3-5.6-3.6c0-2 2.3-3.6 5.2-3.6c3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9c2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9c.3 2 2.9 3.3 5.9 2.6c2.9-.7 4.9-2.6 4.6-4.6c-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2c12.8 2.3 17.3-5.6 17.3-12.1c0-6.2-.3-40.4-.3-61.4c0 0-70 15-84.7-29.8c0 0-11.4-29.1-27.8-36.6c0 0-22.9-15.7 1.6-15.4c0 0 24.9 2 38.6 25.8c21.9 38.6 58.6 27.5 72.9 20.9c2.3-16 8.8-27.1 16-33.7c-55.9-6.2-112.3-14.3-112.3-110.5c0-27.5 7.6-41.3 23.6-58.9c-2.6-6.5-11.1-33.3 2.6-67.9c20.9-6.5 69 27 69 27c20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27c13.7 34.7 5.2 61.4 2.6 67.9c16 17.7 25.8 31.5 25.8 58.9c0 96.5-58.9 104.2-114.8 110.5c9.2 7.9 17 22.9 17 46.4c0 33.7-.3 75.4-.3 83.6c0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252C496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2c1.6 1.6 3.9 2.3 5.2 1c1.3-1 1-3.3-.7-5.2c-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9c1.6 1 3.6.7 4.3-.7c.7-1.3-.3-2.9-2.3-3.9c-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2c2.3 2.3 5.2 2.6 6.5 1c1.3-1.3.7-4.3-1.3-6.2c-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9c1.6 2.3 4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2c-1.4-2.3-4-3.3-5.6-2z",fill:"currentColor"})],-1)])),_:1})]),_:1})])])]),a(ie,{striped:"",data:n(x),columns:n(te),scrollX:1800,pagination:n(T),checkedRowKeys:n(u),"onUpdate:checkedRowKeys":e[3]||(e[3]=s=>he(u)?u.value=s:null),rowKey:s=>s.id,"onUpdate:sorter":oe,size:"small",class:"flex-1",flexHeight:"",loading:n(v)},null,8,["data","columns","pagination","checkedRowKeys","rowKey","loading"])]),a(Y,{show:n(K),"onUpdate:show":e[5]||(e[5]=s=>he(K)?K.value=s:null),preset:"dialog",title:"导入网络文件",showIcon:!1,positiveText:"确认",negativeText:"取消",style:{width:"800px"},onPositiveClick:n(W).invoke,loading:n(W).loading,onAfterLeave:e[6]||(e[6]=s=>U.value="")},{default:i(()=>[a(S,{value:n(U),"onUpdate:value":e[4]||(e[4]=s=>{n(W).loading||(U.value=s)}),type:"textarea",placeholder:`1.支持ZIP文件链接
|
|
108
|
-
2.支持快照链接
|
|
109
|
-
每行一个
|
|
110
|
-
空白行自动忽略
|
|
111
|
-
非法链接行自动忽略`,autosize:{minRows:8,maxRows:16},inputProps:{style:"white-space: nowrap;"}},null,8,["value"])]),_:1},8,["show","onPositiveClick","loading"]),a(Y,{show:n(D),"onUpdate:show":e[10]||(e[10]=s=>he(D)?D.value=s:null),preset:"dialog",title:"设置",showIcon:!1,positiveText:"关闭",style:{width:"600px"},onPositiveClick:e[11]||(e[11]=s=>D.value=!1)},{default:i(()=>[a(Z,{checked:n(g).ignoreUploadWarn,"onUpdate:checked":e[7]||(e[7]=s=>n(g).ignoreUploadWarn=s)},{default:i(()=>e[27]||(e[27]=[C(" 关闭生成分享链接弹窗提醒 ")])),_:1},8,["checked"]),e[30]||(e[30]=c("div",{"h-1px":"","my-10px":"",bg:"#eee"},null,-1)),a(Z,{checked:n(g).ignoreWasmWarn,"onUpdate:checked":e[8]||(e[8]=s=>n(g).ignoreWasmWarn=s)},{default:i(()=>e[28]||(e[28]=[C(" 关闭浏览器版本正则表达式 WASM(GC) 提醒 ")])),_:1},8,["checked"]),e[31]||(e[31]=c("div",{"h-1px":"","my-10px":"",bg:"#eee"},null,-1)),c("div",yt,[a(E,{value:n(g).autoUploadImport,"onUpdate:value":e[9]||(e[9]=s=>n(g).autoUploadImport=s)},null,8,["value"]),e[29]||(e[29]=c("div",null,"打开快照页面自动生成分享链接(请确保不含隐私)",-1))])]),_:1},8,["show"])],64)}}});export{It as default};
|
|
112
|
-
//# sourceMappingURL=HomePage-TX9O4tIZ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HomePage-TX9O4tIZ.js","sources":["../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/switch/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/switch/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/switch/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.41.0_vue@3.5.13_typescript@5.7.3_/node_modules/naive-ui/es/switch/src/Switch.mjs","../../src/views/home/HomePage.vue"],"sourcesContent":["export default {\n buttonHeightSmall: '14px',\n buttonHeightMedium: '18px',\n buttonHeightLarge: '22px',\n buttonWidthSmall: '14px',\n buttonWidthMedium: '18px',\n buttonWidthLarge: '22px',\n buttonWidthPressedSmall: '20px',\n buttonWidthPressedMedium: '24px',\n buttonWidthPressedLarge: '28px',\n railHeightSmall: '18px',\n railHeightMedium: '22px',\n railHeightLarge: '26px',\n railWidthSmall: '32px',\n railWidthMedium: '40px',\n railWidthLarge: '48px'\n};","import { changeColor } from 'seemly';\nimport { commonLight } from \"../../_styles/common/index.mjs\";\nimport commonVars from \"./_common.mjs\";\nfunction self(vars) {\n const {\n primaryColor,\n opacityDisabled,\n borderRadius,\n textColor3\n } = vars;\n const railOverlayColor = 'rgba(0, 0, 0, .14)';\n return Object.assign(Object.assign({}, commonVars), {\n iconColor: textColor3,\n textColor: 'white',\n loadingColor: primaryColor,\n opacityDisabled,\n railColor: railOverlayColor,\n railColorActive: primaryColor,\n buttonBoxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.3), inset 0 0 1px 0 rgba(0, 0, 0, 0.05)',\n buttonColor: '#FFF',\n railBorderRadiusSmall: borderRadius,\n railBorderRadiusMedium: borderRadius,\n railBorderRadiusLarge: borderRadius,\n buttonBorderRadiusSmall: borderRadius,\n buttonBorderRadiusMedium: borderRadius,\n buttonBorderRadiusLarge: borderRadius,\n boxShadowFocus: `0 0 0 2px ${changeColor(primaryColor, {\n alpha: 0.2\n })}`\n });\n}\nconst switchLight = {\n name: 'Switch',\n common: commonLight,\n self\n};\nexport default switchLight;","import { iconSwitchTransition } from \"../../../_styles/transitions/icon-switch.cssr.mjs\";\nimport { c, cB, cE, cM, cNotM } from \"../../../_utils/cssr/index.mjs\";\n// vars:\n// --n-bezier\n// --n-button-border-radius\n// --n-button-box-shadow\n// --n-button-color\n// --n-button-width\n// --n-button-width-pressed\n// --n-height\n// --n-offset\n// --n-rail-border-radius\n// --n-rail-color\n// --n-rail-color-active\n// --n-rail-height\n// --n-rail-width\n// --n-width\n// --n-box-shadow-focus\n// --n-loading-color\n// --n-text-color\n// --n-icon-color\nexport default cB('switch', `\n height: var(--n-height);\n min-width: var(--n-width);\n vertical-align: middle;\n user-select: none;\n -webkit-user-select: none;\n display: inline-flex;\n outline: none;\n justify-content: center;\n align-items: center;\n`, [cE('children-placeholder', `\n height: var(--n-rail-height);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n pointer-events: none;\n visibility: hidden;\n `), cE('rail-placeholder', `\n display: flex;\n flex-wrap: none;\n `), cE('button-placeholder', `\n width: calc(1.75 * var(--n-rail-height));\n height: var(--n-rail-height);\n `), cB('base-loading', `\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n font-size: calc(var(--n-button-width) - 4px);\n color: var(--n-loading-color);\n transition: color .3s var(--n-bezier);\n `, [iconSwitchTransition({\n left: '50%',\n top: '50%',\n originalTransform: 'translateX(-50%) translateY(-50%)'\n})]), cE('checked, unchecked', `\n transition: color .3s var(--n-bezier);\n color: var(--n-text-color);\n box-sizing: border-box;\n position: absolute;\n white-space: nowrap;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n line-height: 1;\n `), cE('checked', `\n right: 0;\n padding-right: calc(1.25 * var(--n-rail-height) - var(--n-offset));\n `), cE('unchecked', `\n left: 0;\n justify-content: flex-end;\n padding-left: calc(1.25 * var(--n-rail-height) - var(--n-offset));\n `), c('&:focus', [cE('rail', `\n box-shadow: var(--n-box-shadow-focus);\n `)]), cM('round', [cE('rail', 'border-radius: calc(var(--n-rail-height) / 2);', [cE('button', 'border-radius: calc(var(--n-button-height) / 2);')])]), cNotM('disabled', [cNotM('icon', [cM('rubber-band', [cM('pressed', [cE('rail', [cE('button', 'max-width: var(--n-button-width-pressed);')])]), cE('rail', [c('&:active', [cE('button', 'max-width: var(--n-button-width-pressed);')])]), cM('active', [cM('pressed', [cE('rail', [cE('button', 'left: calc(100% - var(--n-offset) - var(--n-button-width-pressed));')])]), cE('rail', [c('&:active', [cE('button', 'left: calc(100% - var(--n-offset) - var(--n-button-width-pressed));')])])])])])]), cM('active', [cE('rail', [cE('button', 'left: calc(100% - var(--n-button-width) - var(--n-offset))')])]), cE('rail', `\n overflow: hidden;\n height: var(--n-rail-height);\n min-width: var(--n-rail-width);\n border-radius: var(--n-rail-border-radius);\n cursor: pointer;\n position: relative;\n transition:\n opacity .3s var(--n-bezier),\n background .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier);\n background-color: var(--n-rail-color);\n `, [cE('button-icon', `\n color: var(--n-icon-color);\n transition: color .3s var(--n-bezier);\n font-size: calc(var(--n-button-height) - 4px);\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n line-height: 1;\n `, [iconSwitchTransition()]), cE('button', `\n align-items: center; \n top: var(--n-offset);\n left: var(--n-offset);\n height: var(--n-button-height);\n width: var(--n-button-width-pressed);\n max-width: var(--n-button-width);\n border-radius: var(--n-button-border-radius);\n background-color: var(--n-button-color);\n box-shadow: var(--n-button-box-shadow);\n box-sizing: border-box;\n cursor: inherit;\n content: \"\";\n position: absolute;\n transition:\n background-color .3s var(--n-bezier),\n left .3s var(--n-bezier),\n opacity .3s var(--n-bezier),\n max-width .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier);\n `)]), cM('active', [cE('rail', 'background-color: var(--n-rail-color-active);')]), cM('loading', [cE('rail', `\n cursor: wait;\n `)]), cM('disabled', [cE('rail', `\n cursor: not-allowed;\n opacity: .5;\n `)])]);","import { depx, pxfy } from 'seemly';\nimport { useMergedState } from 'vooks';\nimport { computed, defineComponent, h, ref, toRef, watchEffect } from 'vue';\nimport { NBaseLoading, NIconSwitchTransition } from \"../../_internal/index.mjs\";\nimport { useConfig, useFormItem, useTheme, useThemeClass } from \"../../_mixins/index.mjs\";\nimport { call, createKey, isSlotEmpty, resolveWrappedSlot, warnOnce } from \"../../_utils/index.mjs\";\nimport { switchLight } from \"../styles/index.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nexport const switchProps = Object.assign(Object.assign({}, useTheme.props), {\n size: {\n type: String,\n default: 'medium'\n },\n value: {\n type: [String, Number, Boolean],\n default: undefined\n },\n loading: Boolean,\n defaultValue: {\n type: [String, Number, Boolean],\n default: false\n },\n disabled: {\n type: Boolean,\n default: undefined\n },\n round: {\n type: Boolean,\n default: true\n },\n 'onUpdate:value': [Function, Array],\n onUpdateValue: [Function, Array],\n checkedValue: {\n type: [String, Number, Boolean],\n default: true\n },\n uncheckedValue: {\n type: [String, Number, Boolean],\n default: false\n },\n railStyle: Function,\n rubberBand: {\n type: Boolean,\n default: true\n },\n /** @deprecated */\n onChange: [Function, Array]\n});\nlet supportCssMax;\nexport default defineComponent({\n name: 'Switch',\n props: switchProps,\n slots: Object,\n setup(props) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.onChange) {\n warnOnce('switch', '`on-change` is deprecated, please use `on-update:value` instead.');\n }\n });\n }\n if (supportCssMax === undefined) {\n if (typeof CSS !== 'undefined') {\n if (typeof CSS.supports !== 'undefined') {\n supportCssMax = CSS.supports('width', 'max(1px)');\n } else {\n supportCssMax = false;\n }\n } else {\n // If you are using SSR, we assume that you are targeting browsers with\n // recent versions\n supportCssMax = true;\n }\n }\n const {\n mergedClsPrefixRef,\n inlineThemeDisabled\n } = useConfig(props);\n const themeRef = useTheme('Switch', '-switch', style, switchLight, props, mergedClsPrefixRef);\n const formItem = useFormItem(props);\n const {\n mergedSizeRef,\n mergedDisabledRef\n } = formItem;\n const uncontrolledValueRef = ref(props.defaultValue);\n const controlledValueRef = toRef(props, 'value');\n const mergedValueRef = useMergedState(controlledValueRef, uncontrolledValueRef);\n const checkedRef = computed(() => {\n return mergedValueRef.value === props.checkedValue;\n });\n const pressedRef = ref(false);\n const focusedRef = ref(false);\n const mergedRailStyleRef = computed(() => {\n const {\n railStyle\n } = props;\n if (!railStyle) return undefined;\n return railStyle({\n focused: focusedRef.value,\n checked: checkedRef.value\n });\n });\n function doUpdateValue(value) {\n const {\n 'onUpdate:value': _onUpdateValue,\n onChange,\n onUpdateValue\n } = props;\n const {\n nTriggerFormInput,\n nTriggerFormChange\n } = formItem;\n if (_onUpdateValue) call(_onUpdateValue, value);\n if (onUpdateValue) call(onUpdateValue, value);\n if (onChange) call(onChange, value);\n uncontrolledValueRef.value = value;\n nTriggerFormInput();\n nTriggerFormChange();\n }\n function doFocus() {\n const {\n nTriggerFormFocus\n } = formItem;\n nTriggerFormFocus();\n }\n function doBlur() {\n const {\n nTriggerFormBlur\n } = formItem;\n nTriggerFormBlur();\n }\n function handleClick() {\n if (props.loading || mergedDisabledRef.value) return;\n if (mergedValueRef.value !== props.checkedValue) {\n doUpdateValue(props.checkedValue);\n } else {\n doUpdateValue(props.uncheckedValue);\n }\n }\n function handleFocus() {\n focusedRef.value = true;\n doFocus();\n }\n function handleBlur() {\n focusedRef.value = false;\n doBlur();\n pressedRef.value = false;\n }\n function handleKeyup(e) {\n if (props.loading || mergedDisabledRef.value) return;\n if (e.key === ' ') {\n if (mergedValueRef.value !== props.checkedValue) {\n doUpdateValue(props.checkedValue);\n } else {\n doUpdateValue(props.uncheckedValue);\n }\n pressedRef.value = false;\n }\n }\n function handleKeydown(e) {\n if (props.loading || mergedDisabledRef.value) return;\n if (e.key === ' ') {\n e.preventDefault();\n pressedRef.value = true;\n }\n }\n const cssVarsRef = computed(() => {\n const {\n value: size\n } = mergedSizeRef;\n const {\n self: {\n opacityDisabled,\n railColor,\n railColorActive,\n buttonBoxShadow,\n buttonColor,\n boxShadowFocus,\n loadingColor,\n textColor,\n iconColor,\n [createKey('buttonHeight', size)]: buttonHeight,\n [createKey('buttonWidth', size)]: buttonWidth,\n [createKey('buttonWidthPressed', size)]: buttonWidthPressed,\n [createKey('railHeight', size)]: railHeight,\n [createKey('railWidth', size)]: railWidth,\n [createKey('railBorderRadius', size)]: railBorderRadius,\n [createKey('buttonBorderRadius', size)]: buttonBorderRadius\n },\n common: {\n cubicBezierEaseInOut\n }\n } = themeRef.value;\n let offset;\n let height;\n let width;\n if (supportCssMax) {\n offset = `calc((${railHeight} - ${buttonHeight}) / 2)`;\n height = `max(${railHeight}, ${buttonHeight})`;\n width = `max(${railWidth}, calc(${railWidth} + ${buttonHeight} - ${railHeight}))`;\n } else {\n offset = pxfy((depx(railHeight) - depx(buttonHeight)) / 2);\n height = pxfy(Math.max(depx(railHeight), depx(buttonHeight)));\n width = depx(railHeight) > depx(buttonHeight) ? railWidth : pxfy(depx(railWidth) + depx(buttonHeight) - depx(railHeight));\n }\n return {\n '--n-bezier': cubicBezierEaseInOut,\n '--n-button-border-radius': buttonBorderRadius,\n '--n-button-box-shadow': buttonBoxShadow,\n '--n-button-color': buttonColor,\n '--n-button-width': buttonWidth,\n '--n-button-width-pressed': buttonWidthPressed,\n '--n-button-height': buttonHeight,\n '--n-height': height,\n '--n-offset': offset,\n '--n-opacity-disabled': opacityDisabled,\n '--n-rail-border-radius': railBorderRadius,\n '--n-rail-color': railColor,\n '--n-rail-color-active': railColorActive,\n '--n-rail-height': railHeight,\n '--n-rail-width': railWidth,\n '--n-width': width,\n '--n-box-shadow-focus': boxShadowFocus,\n '--n-loading-color': loadingColor,\n '--n-text-color': textColor,\n '--n-icon-color': iconColor\n };\n });\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('switch', computed(() => {\n return mergedSizeRef.value[0];\n }), cssVarsRef, props) : undefined;\n return {\n handleClick,\n handleBlur,\n handleFocus,\n handleKeyup,\n handleKeydown,\n mergedRailStyle: mergedRailStyleRef,\n pressed: pressedRef,\n mergedClsPrefix: mergedClsPrefixRef,\n mergedValue: mergedValueRef,\n checked: checkedRef,\n mergedDisabled: mergedDisabledRef,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n };\n },\n render() {\n const {\n mergedClsPrefix,\n mergedDisabled,\n checked,\n mergedRailStyle,\n onRender,\n $slots\n } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n const {\n checked: checkedSlot,\n unchecked: uncheckedSlot,\n icon: iconSlot,\n 'checked-icon': checkedIconSlot,\n 'unchecked-icon': uncheckedIconSlot\n } = $slots;\n const hasIcon = !(isSlotEmpty(iconSlot) && isSlotEmpty(checkedIconSlot) && isSlotEmpty(uncheckedIconSlot));\n return h(\"div\", {\n role: \"switch\",\n \"aria-checked\": checked,\n class: [`${mergedClsPrefix}-switch`, this.themeClass, hasIcon && `${mergedClsPrefix}-switch--icon`, checked && `${mergedClsPrefix}-switch--active`, mergedDisabled && `${mergedClsPrefix}-switch--disabled`, this.round && `${mergedClsPrefix}-switch--round`, this.loading && `${mergedClsPrefix}-switch--loading`, this.pressed && `${mergedClsPrefix}-switch--pressed`, this.rubberBand && `${mergedClsPrefix}-switch--rubber-band`],\n tabindex: !this.mergedDisabled ? 0 : undefined,\n style: this.cssVars,\n onClick: this.handleClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeyup: this.handleKeyup,\n onKeydown: this.handleKeydown\n }, h(\"div\", {\n class: `${mergedClsPrefix}-switch__rail`,\n \"aria-hidden\": \"true\",\n style: mergedRailStyle\n }, resolveWrappedSlot(checkedSlot, checkedSlotChildren => resolveWrappedSlot(uncheckedSlot, uncheckedSlotChildren => {\n if (checkedSlotChildren || uncheckedSlotChildren) {\n return h(\"div\", {\n \"aria-hidden\": true,\n class: `${mergedClsPrefix}-switch__children-placeholder`\n }, h(\"div\", {\n class: `${mergedClsPrefix}-switch__rail-placeholder`\n }, h(\"div\", {\n class: `${mergedClsPrefix}-switch__button-placeholder`\n }), checkedSlotChildren), h(\"div\", {\n class: `${mergedClsPrefix}-switch__rail-placeholder`\n }, h(\"div\", {\n class: `${mergedClsPrefix}-switch__button-placeholder`\n }), uncheckedSlotChildren));\n }\n return null;\n })), h(\"div\", {\n class: `${mergedClsPrefix}-switch__button`\n }, resolveWrappedSlot(iconSlot, icon => resolveWrappedSlot(checkedIconSlot, checkedIcon => resolveWrappedSlot(uncheckedIconSlot, uncheckedIcon => {\n return h(NIconSwitchTransition, null, {\n default: () => this.loading ? h(NBaseLoading, {\n key: \"loading\",\n clsPrefix: mergedClsPrefix,\n strokeWidth: 20\n }) : this.checked && (checkedIcon || icon) ? h(\"div\", {\n class: `${mergedClsPrefix}-switch__button-icon`,\n key: checkedIcon ? 'checked-icon' : 'icon'\n }, checkedIcon || icon) : !this.checked && (uncheckedIcon || icon) ? h(\"div\", {\n class: `${mergedClsPrefix}-switch__button-icon`,\n key: uncheckedIcon ? 'unchecked-icon' : 'icon'\n }, uncheckedIcon || icon) : null\n });\n }))), resolveWrappedSlot(checkedSlot, children => children && h(\"div\", {\n key: \"checked\",\n class: `${mergedClsPrefix}-switch__checked`\n }, children)), resolveWrappedSlot(uncheckedSlot, children => children && h(\"div\", {\n key: \"unchecked\",\n class: `${mergedClsPrefix}-switch__unchecked`\n }, children)))));\n }\n});","<script lang=\"tsx\" setup>\nimport ActionCard from '@/components/ActionCard.vue';\nimport { toValidURL } from '@/utils/check';\nimport { showTextDLg, waitShareAgree } from '@/utils/dialog';\nimport { dialog } from '@/utils/discrete';\nimport {\n batchCreateImageId,\n batchCreateZipUrl,\n batchImageDownloadZip,\n batchZipDownloadZip,\n} from '@/utils/export';\nimport { importFromLocal, importFromNetwork } from '@/utils/import';\nimport { getAppInfo } from '@/utils/node';\nimport { shallowSnapshotStorage, snapshotStorage } from '@/utils/snapshot';\nimport { renderDevice, useSnapshotColumns } from '@/utils/table';\nimport { useTask } from '@/utils/task';\nimport type { Snapshot } from '@/utils/types';\nimport { getImagUrl } from '@/utils/url';\nimport type { DataTableColumns, PaginationProps } from 'naive-ui';\nimport type { SortState } from 'naive-ui/es/data-table/src/interface';\n\nconst settingsStore = useSettingsStore();\n\nconst snapshots = shallowRef<Snapshot[]>([]);\nconst loading = shallowRef(true);\nconst updateSnapshots = async () => {\n loading.value = true;\n snapshots.value = (await shallowSnapshotStorage.getAllItems()).reverse();\n checkedRowKeys.value = [];\n loading.value = false;\n};\nonMounted(updateSnapshots);\nconst filterOption = shallowReactive({\n query: ``,\n actualQuery: ``,\n updateQuery: () => {\n filterOption.actualQuery = filterOption.query.trim();\n checkedRowKeys.value = [];\n },\n});\nconst filterSnapshots = computed(() => {\n const actualQuery = filterOption.actualQuery;\n if (!actualQuery) return snapshots.value;\n return snapshots.value.filter((s) => {\n return (\n (getAppInfo(s).name || ``).includes(actualQuery) ||\n (s.appId || ``).includes(actualQuery) ||\n (s.activityId || ``).includes(actualQuery)\n );\n });\n});\n\nconst importLocal = useTask(async () => {\n await importFromLocal();\n await updateSnapshots();\n});\n\nconst {\n activityIdCol,\n appIdCol,\n appNameCol,\n ctimeCol,\n mtimeCol,\n deviceCol,\n appVersionCodeCol,\n appVersionNameCol,\n resetColWidth,\n} = useSnapshotColumns();\n\nwatchEffect(() => {\n const set = filterSnapshots.value.reduce(\n (p, c) => (p.add(renderDevice(c)), p),\n new Set<string>(),\n );\n if (set.size <= 1) {\n deviceCol.filterOptions = undefined;\n return;\n }\n deviceCol.filterOptions = [...set.values()].map((s) => ({\n value: s,\n label: s,\n }));\n});\n\nwatchEffect(() => {\n const set = filterSnapshots.value.reduce(\n (p, c) => (p.add(getAppInfo(c).name), p),\n new Set<string>(),\n );\n if (set.size <= 1) {\n appNameCol.filterOptions = undefined;\n return;\n }\n appNameCol.filterOptions = [...set.values()].map((s) => ({\n value: s,\n label: s,\n }));\n});\n\nwatchEffect(() => {\n const set = filterSnapshots.value.reduce(\n (p, c) => (p.add(c.activityId), p),\n new Set<string>(),\n );\n if (set.size <= 1) {\n activityIdCol.filterOptions = undefined;\n return;\n }\n activityIdCol.filterOptions = [...set.values()].map((s) => ({\n value: s,\n label: s,\n }));\n});\n\nconst columns: DataTableColumns<Snapshot> = reactive([\n {\n type: 'selection',\n },\n ctimeCol,\n mtimeCol,\n deviceCol,\n appNameCol,\n appIdCol,\n appVersionCodeCol,\n appVersionNameCol,\n activityIdCol,\n {\n key: `actions`,\n title: `操作`,\n fixed: 'right',\n width: `160px`,\n render(row) {\n return <ActionCard snapshot={row} onDelete={updateSnapshots} />;\n },\n },\n]);\n\nconst pagination = shallowReactive<PaginationProps>({\n page: 1,\n pageSize: 50,\n showSizePicker: true,\n pageSizes: [50, 100],\n onChange: (page: number) => {\n pagination.page = page;\n },\n onUpdatePageSize: (pageSize: number) => {\n pagination.pageSize = pageSize;\n pagination.page = 1;\n },\n});\nwatch(pagination, resetColWidth);\n\nconst handleSorterChange = (sorter: SortState) => {\n [ctimeCol, mtimeCol].forEach((c) => {\n if (sorter.columnKey != c.key) {\n c.sortOrder = undefined;\n } else {\n c.sortOrder = sorter.order;\n }\n });\n};\nmtimeCol.sortOrder = `descend`;\nconst showModal = shallowRef(false);\nconst text = shallowRef(``);\nconst importNetwork = useTask(async () => {\n const urls = text.value\n .trim()\n .split(`\\n`)\n .map((u) => u.trim())\n .filter((u) => toValidURL(u));\n if (urls.length == 0) return;\n await importFromNetwork(urls);\n await updateSnapshots();\n text.value = ``;\n});\n\nconst checkedRowKeys = shallowRef<number[]>([]);\nconst checkedSnapshots = () => {\n return Promise.all(\n checkedRowKeys.value.map(\n (id) => snapshotStorage.getItem(id) as Promise<Snapshot>,\n ),\n );\n};\nconst batchDelete = useTask(async () => {\n await new Promise((res, rej) => {\n dialog.warning({\n title: `删除`,\n content: `是否批量删除 ${checkedRowKeys.value.length} 个快照`,\n negativeText: `取消`,\n positiveText: `确认`,\n onClose: rej,\n onEsc: rej,\n onMaskClick: rej,\n onNegativeClick: rej,\n onPositiveClick: res,\n });\n });\n\n await Promise.all(\n checkedRowKeys.value.map((k) => snapshotStorage.removeItem(k)),\n );\n await updateSnapshots();\n});\nconst batchDownloadImage = useTask(async () => {\n await batchImageDownloadZip(await checkedSnapshots());\n});\nconst batchDownloadZip = useTask(async () => {\n await batchZipDownloadZip(await checkedSnapshots());\n});\n\nconst batchShareImageUrl = useTask(async () => {\n await waitShareAgree();\n const imageIds = await batchCreateImageId(await checkedSnapshots());\n showTextDLg({\n content: imageIds.map((s) => getImagUrl(s)).join(`\\n`) + `\\n`,\n });\n});\nconst batchShareZipUrl = useTask(async () => {\n await waitShareAgree();\n const zipUrls = await batchCreateZipUrl(await checkedSnapshots());\n showTextDLg({\n content: zipUrls.map((s) => location.origin + '/i/' + s).join(`\\n`) + `\\n`,\n });\n});\n\nconst settingsDlgShow = shallowRef(false);\n</script>\n<template>\n <div flex flex-col p-10px gap-10px h-full>\n <div flex>\n <NSpace>\n <NInputGroup>\n <NInput\n placeholder=\"请输入应用名称/应用ID/界面ID\"\n clearable\n class=\"min-w-320px\"\n v-model:value=\"filterOption.query\"\n @keyup.enter=\"filterOption.updateQuery\"\n @change=\"filterOption.updateQuery\"\n ></NInput>\n <NButton @click=\"filterOption.updateQuery\">\n <template #icon>\n <NIcon>\n <svg viewBox=\"0 0 32 32\">\n <path\n d=\"M29 27.586l-7.552-7.552a11.018 11.018 0 1 0-1.414 1.414L27.586 29zM4 13a9 9 0 1 1 9 9a9.01 9.01 0 0 1-9-9z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </NIcon>\n </template>\n </NButton>\n </NInputGroup>\n <template v-if=\"checkedRowKeys.length\">\n <NPopover>\n <template #trigger>\n <NButton> 批量下载 </NButton>\n </template>\n <NSpace vertical>\n <NButton\n @click=\"batchDownloadZip.invoke\"\n :loading=\"batchDownloadZip.loading\"\n >\n 批量下载-快照\n </NButton>\n <NButton\n @click=\"batchDownloadImage.invoke\"\n :loading=\"batchDownloadImage.loading\"\n >\n 批量下载-图片\n </NButton>\n </NSpace>\n </NPopover>\n <NPopover>\n <template #trigger>\n <NButton> 批量分享 </NButton>\n </template>\n <NSpace vertical>\n <NButton\n @click=\"batchShareZipUrl.invoke\"\n :loading=\"batchShareZipUrl.loading\"\n >\n 批量生成链接-快照\n </NButton>\n <NButton\n @click=\"batchShareImageUrl.invoke\"\n :loading=\"batchShareImageUrl.loading\"\n >\n 批量生成链接-图片\n </NButton>\n </NSpace>\n </NPopover>\n <NButton @click=\"batchDelete.invoke\"> 批量删除 </NButton>\n <div h-full flex flex-items-center>\n {{ `已选中 ${checkedRowKeys.length} 个快照` }}\n </div>\n </template>\n </NSpace>\n <div flex-1></div>\n <div flex gap-24px items-center pr-8px>\n <NButton text title=\"设置\" @click=\"settingsDlgShow = true\">\n <template #icon>\n <NIcon :size=\"24\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <g fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\">\n <path\n d=\"M12 8.25a3.75 3.75 0 1 0 0 7.5a3.75 3.75 0 0 0 0-7.5M9.75 12a2.25 2.25 0 1 1 4.5 0a2.25 2.25 0 0 1-4.5 0\"\n />\n <path\n d=\"M11.975 1.25c-.445 0-.816 0-1.12.02a2.8 2.8 0 0 0-.907.19a2.75 2.75 0 0 0-1.489 1.488c-.145.35-.184.72-.2 1.122a.87.87 0 0 1-.415.731a.87.87 0 0 1-.841-.005c-.356-.188-.696-.339-1.072-.389a2.75 2.75 0 0 0-2.033.545a2.8 2.8 0 0 0-.617.691c-.17.254-.356.575-.578.96l-.025.044c-.223.385-.408.706-.542.98c-.14.286-.25.568-.29.88a2.75 2.75 0 0 0 .544 2.033c.231.301.532.52.872.734a.87.87 0 0 1 .426.726a.87.87 0 0 1-.426.726c-.34.214-.64.433-.872.734a2.75 2.75 0 0 0-.545 2.033c.041.312.15.594.29.88c.135.274.32.595.543.98l.025.044c.222.385.408.706.578.96c.177.263.367.5.617.69a2.75 2.75 0 0 0 2.033.546c.376-.05.716-.2 1.072-.389a.87.87 0 0 1 .84-.005a.86.86 0 0 1 .417.731c.015.402.054.772.2 1.122a2.75 2.75 0 0 0 1.488 1.489c.29.12.59.167.907.188c.304.021.675.021 1.12.021h.05c.445 0 .816 0 1.12-.02c.318-.022.617-.069.907-.19a2.75 2.75 0 0 0 1.489-1.488c.145-.35.184-.72.2-1.122a.87.87 0 0 1 .415-.732a.87.87 0 0 1 .841.006c.356.188.696.339 1.072.388a2.75 2.75 0 0 0 2.033-.544c.25-.192.44-.428.617-.691c.17-.254.356-.575.578-.96l.025-.044c.223-.385.408-.706.542-.98c.14-.286.25-.569.29-.88a2.75 2.75 0 0 0-.544-2.033c-.231-.301-.532-.52-.872-.734a.87.87 0 0 1-.426-.726c0-.278.152-.554.426-.726c.34-.214.64-.433.872-.734a2.75 2.75 0 0 0 .545-2.033a2.8 2.8 0 0 0-.29-.88a18 18 0 0 0-.543-.98l-.025-.044a18 18 0 0 0-.578-.96a2.8 2.8 0 0 0-.617-.69a2.75 2.75 0 0 0-2.033-.546c-.376.05-.716.2-1.072.389a.87.87 0 0 1-.84.005a.87.87 0 0 1-.417-.731c-.015-.402-.054-.772-.2-1.122a2.75 2.75 0 0 0-1.488-1.489c-.29-.12-.59-.167-.907-.188c-.304-.021-.675-.021-1.12-.021zm-1.453 1.595c.077-.032.194-.061.435-.078c.247-.017.567-.017 1.043-.017s.796 0 1.043.017c.241.017.358.046.435.078c.307.127.55.37.677.677c.04.096.073.247.086.604c.03.792.439 1.555 1.165 1.974s1.591.392 2.292.022c.316-.167.463-.214.567-.227a1.25 1.25 0 0 1 .924.247c.066.051.15.138.285.338c.139.206.299.483.537.895s.397.69.506.912c.107.217.14.333.15.416a1.25 1.25 0 0 1-.247.924c-.064.083-.178.187-.48.377c-.672.422-1.128 1.158-1.128 1.996s.456 1.574 1.128 1.996c.302.19.416.294.48.377c.202.263.29.595.247.924c-.01.083-.044.2-.15.416c-.109.223-.268.5-.506.912s-.399.689-.537.895c-.135.2-.219.287-.285.338a1.25 1.25 0 0 1-.924.247c-.104-.013-.25-.06-.567-.227c-.7-.37-1.566-.398-2.292.021s-1.135 1.183-1.165 1.975c-.013.357-.046.508-.086.604a1.25 1.25 0 0 1-.677.677c-.077.032-.194.061-.435.078c-.247.017-.567.017-1.043.017s-.796 0-1.043-.017c-.241-.017-.358-.046-.435-.078a1.25 1.25 0 0 1-.677-.677c-.04-.096-.073-.247-.086-.604c-.03-.792-.439-1.555-1.165-1.974s-1.591-.392-2.292-.022c-.316.167-.463.214-.567.227a1.25 1.25 0 0 1-.924-.247c-.066-.051-.15-.138-.285-.338a17 17 0 0 1-.537-.895c-.238-.412-.397-.69-.506-.912c-.107-.217-.14-.333-.15-.416a1.25 1.25 0 0 1 .247-.924c.064-.083.178-.187.48-.377c.672-.422 1.128-1.158 1.128-1.996s-.456-1.574-1.128-1.996c-.302-.19-.416-.294-.48-.377a1.25 1.25 0 0 1-.247-.924c.01-.083.044-.2.15-.416c.109-.223.268-.5.506-.912s.399-.689.537-.895c.135-.2.219-.287.285-.338a1.25 1.25 0 0 1 .924-.247c.104.013.25.06.567.227c.7.37 1.566.398 2.292-.022c.726-.419 1.135-1.182 1.165-1.974c.013-.357.046-.508.086-.604c.127-.307.37-.55.677-.677\"\n />\n </g>\n </svg>\n </NIcon>\n </template>\n </NButton>\n <NPopover>\n <template #trigger>\n <NButton text>\n <template #icon>\n <NIcon :size=\"24\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\">\n <path\n fill=\"currentColor\"\n d=\"M28 19H14.83l2.58-2.59L16 15l-5 5l5 5l1.41-1.41L14.83 21H28z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M24 14v-4a1 1 0 0 0-.29-.71l-7-7A1 1 0 0 0 16 2H6a2 2 0 0 0-2 2v24a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2h-2v2H6V4h8v6a2 2 0 0 0 2 2h6v2Zm-8-4V4.41L21.59 10Z\"\n />\n </svg>\n </NIcon>\n </template>\n </NButton>\n </template>\n <NSpace vertical>\n <NButton @click=\"importLocal.invoke\" :loading=\"importLocal.loading\">\n 导入本地文件\n </NButton>\n <NButton @click=\"showModal = true\" :loading=\"importNetwork.loading\">\n 导入网络文件\n </NButton>\n </NSpace>\n </NPopover>\n <RouterLink flex to=\"/device\" title=\"连接设备\">\n <NButton text>\n <template #icon>\n <NIcon :size=\"24\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n fill=\"currentColor\"\n d=\"M18.35 14.85L16.9 13.4q.3-.275.463-.637t.162-.763t-.162-.763t-.463-.637l1.45-1.45q.575.575.875 1.313t.3 1.537t-.3 1.538t-.875 1.312m2.45 2.45l-1.4-1.4q.775-.775 1.2-1.775T21.025 12T20.6 9.875T19.4 8.1l1.4-1.4q1.075 1.05 1.65 2.425T23.025 12t-.575 2.875T20.8 17.3M7 23q-.825 0-1.412-.587T5 21V3q0-.825.588-1.412T7 1h10q.825 0 1.413.588T19 3v4h-2V6H7v12h10v-1h2v4q0 .825-.587 1.413T17 23zm0-3v1h10v-1zM7 4h10V3H7zm0 0V3zm0 16v1z\"\n />\n </svg>\n </NIcon>\n </template>\n </NButton>\n </RouterLink>\n <a\n flex\n href=\"https://github.com/gkd-kit/inspect\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <NButton text>\n <template #icon>\n <NIcon :size=\"24\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n viewBox=\"0 0 496 512\"\n >\n <path\n d=\"M165.9 397.4c0 2-2.3 3.6-5.2 3.6c-3.3.3-5.6-1.3-5.6-3.6c0-2 2.3-3.6 5.2-3.6c3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9c2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9c.3 2 2.9 3.3 5.9 2.6c2.9-.7 4.9-2.6 4.6-4.6c-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2c12.8 2.3 17.3-5.6 17.3-12.1c0-6.2-.3-40.4-.3-61.4c0 0-70 15-84.7-29.8c0 0-11.4-29.1-27.8-36.6c0 0-22.9-15.7 1.6-15.4c0 0 24.9 2 38.6 25.8c21.9 38.6 58.6 27.5 72.9 20.9c2.3-16 8.8-27.1 16-33.7c-55.9-6.2-112.3-14.3-112.3-110.5c0-27.5 7.6-41.3 23.6-58.9c-2.6-6.5-11.1-33.3 2.6-67.9c20.9-6.5 69 27 69 27c20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27c13.7 34.7 5.2 61.4 2.6 67.9c16 17.7 25.8 31.5 25.8 58.9c0 96.5-58.9 104.2-114.8 110.5c9.2 7.9 17 22.9 17 46.4c0 33.7-.3 75.4-.3 83.6c0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252C496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2c1.6 1.6 3.9 2.3 5.2 1c1.3-1 1-3.3-.7-5.2c-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9c1.6 1 3.6.7 4.3-.7c.7-1.3-.3-2.9-2.3-3.9c-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2c2.3 2.3 5.2 2.6 6.5 1c1.3-1.3.7-4.3-1.3-6.2c-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9c1.6 2.3 4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2c-1.4-2.3-4-3.3-5.6-2z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </NIcon>\n </template>\n </NButton>\n </a>\n </div>\n </div>\n <NDataTable\n striped\n :data=\"filterSnapshots\"\n :columns=\"columns\"\n :scrollX=\"1800\"\n :pagination=\"pagination\"\n v-model:checkedRowKeys=\"checkedRowKeys\"\n :rowKey=\"(r:Snapshot)=>r.id\"\n @update:sorter=\"handleSorterChange\"\n size=\"small\"\n class=\"flex-1\"\n flexHeight\n :loading=\"loading\"\n />\n </div>\n <NModal\n v-model:show=\"showModal\"\n preset=\"dialog\"\n title=\"导入网络文件\"\n :showIcon=\"false\"\n positiveText=\"确认\"\n negativeText=\"取消\"\n style=\"width: 800px\"\n @positiveClick=\"importNetwork.invoke\"\n :loading=\"importNetwork.loading\"\n @afterLeave=\"text = ``\"\n >\n <NInput\n :value=\"text\"\n @update:value=\"\n if (!importNetwork.loading) {\n text = $event;\n }\n \"\n type=\"textarea\"\n :placeholder=\"`1.支持ZIP文件链接\\n2.支持快照链接\\n每行一个\\n空白行自动忽略\\n非法链接行自动忽略`\"\n :autosize=\"{\n minRows: 8,\n maxRows: 16,\n }\"\n :inputProps=\"{\n style: `white-space: nowrap;`,\n }\"\n />\n </NModal>\n\n <NModal\n v-model:show=\"settingsDlgShow\"\n preset=\"dialog\"\n title=\"设置\"\n :showIcon=\"false\"\n positiveText=\"关闭\"\n style=\"width: 600px\"\n @positiveClick=\"settingsDlgShow = false\"\n >\n <NCheckbox v-model:checked=\"settingsStore.ignoreUploadWarn\">\n 关闭生成分享链接弹窗提醒\n </NCheckbox>\n <div h-1px my-10px bg=\"#eee\"></div>\n <NCheckbox v-model:checked=\"settingsStore.ignoreWasmWarn\">\n 关闭浏览器版本正则表达式 WASM(GC) 提醒\n </NCheckbox>\n <div h-1px my-10px bg=\"#eee\"></div>\n <div flex gap-10px>\n <NSwitch v-model:value=\"settingsStore.autoUploadImport\" />\n <div>打开快照页面自动生成分享链接(请确保不含隐私)</div>\n </div>\n </NModal>\n</template>\n"],"names":["commonVars","self","vars","primaryColor","opacityDisabled","borderRadius","textColor3","changeColor","switchLight","commonLight","style","cB","cE","iconSwitchTransition","c","cM","cNotM","switchProps","useTheme","supportCssMax","__unplugin_components_9","defineComponent","props","mergedClsPrefixRef","inlineThemeDisabled","useConfig","themeRef","formItem","useFormItem","mergedSizeRef","mergedDisabledRef","uncontrolledValueRef","ref","controlledValueRef","toRef","mergedValueRef","useMergedState","checkedRef","computed","pressedRef","focusedRef","mergedRailStyleRef","railStyle","doUpdateValue","value","_onUpdateValue","onChange","onUpdateValue","nTriggerFormInput","nTriggerFormChange","call","doFocus","nTriggerFormFocus","doBlur","nTriggerFormBlur","handleClick","handleFocus","handleBlur","handleKeyup","e","handleKeydown","cssVarsRef","size","railColor","railColorActive","buttonBoxShadow","buttonColor","boxShadowFocus","loadingColor","textColor","iconColor","createKey","buttonHeight","buttonWidth","buttonWidthPressed","railHeight","railWidth","railBorderRadius","buttonBorderRadius","cubicBezierEaseInOut","offset","height","width","pxfy","depx","themeClassHandle","useThemeClass","mergedClsPrefix","mergedDisabled","checked","mergedRailStyle","onRender","$slots","checkedSlot","uncheckedSlot","iconSlot","checkedIconSlot","uncheckedIconSlot","hasIcon","isSlotEmpty","h","resolveWrappedSlot","checkedSlotChildren","uncheckedSlotChildren","icon","checkedIcon","uncheckedIcon","NIconSwitchTransition","NBaseLoading","children","settingsStore","useSettingsStore","snapshots","shallowRef","loading","updateSnapshots","shallowSnapshotStorage","getAllItems","reverse","checkedRowKeys","onMounted","filterOption","shallowReactive","query","actualQuery","updateQuery","trim","filterSnapshots","filter","s","getAppInfo","name","includes","appId","activityId","importLocal","useTask","importFromLocal","activityIdCol","appIdCol","appNameCol","ctimeCol","mtimeCol","deviceCol","appVersionCodeCol","appVersionNameCol","resetColWidth","useSnapshotColumns","watchEffect","set","reduce","p","add","renderDevice","Set","filterOptions","undefined","values","map","label","columns","reactive","type","key","title","fixed","render","row","_createVNode2","ActionCard","pagination","page","pageSize","showSizePicker","pageSizes","onUpdatePageSize","watch","handleSorterChange","sorter","forEach","columnKey","sortOrder","order","showModal","text","importNetwork","urls","split","u","toValidURL","length","importFromNetwork","checkedSnapshots","Promise","all","id","snapshotStorage","getItem","batchDelete","res","rej","dialog","warning","content","negativeText","positiveText","onClose","onEsc","onMaskClick","onNegativeClick","onPositiveClick","k","removeItem","batchDownloadImage","batchImageDownloadZip","batchDownloadZip","batchZipDownloadZip","batchShareImageUrl","waitShareAgree","imageIds","batchCreateImageId","showTextDLg","getImagUrl","join","batchShareZipUrl","zipUrls","batchCreateZipUrl","location","origin","settingsDlgShow"],"mappings":"82BAAA,MAAeA,GAAA,CACb,kBAAmB,OACnB,mBAAoB,OACpB,kBAAmB,OACnB,iBAAkB,OAClB,kBAAmB,OACnB,iBAAkB,OAClB,wBAAyB,OACzB,yBAA0B,OAC1B,wBAAyB,OACzB,gBAAiB,OACjB,iBAAkB,OAClB,gBAAiB,OACjB,eAAgB,OAChB,gBAAiB,OACjB,eAAgB,MAClB,ECbA,SAASC,GAAKC,EAAM,CAClB,KAAM,CACJ,aAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,WAAAC,CACJ,EAAMJ,EAEJ,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAIF,EAAU,EAAG,CAClD,UAAWM,EACX,UAAW,QACX,aAAcH,EACd,gBAAAC,EACA,UANuB,qBAOvB,gBAAiBD,EACjB,gBAAiB,sEACjB,YAAa,OACb,sBAAuBE,EACvB,uBAAwBA,EACxB,sBAAuBA,EACvB,wBAAyBA,EACzB,yBAA0BA,EAC1B,wBAAyBA,EACzB,eAAgB,aAAaE,GAAYJ,EAAc,CACrD,MAAO,EACb,CAAK,CAAC,EACN,CAAG,CACH,CACA,MAAMK,GAAc,CAElB,OAAQC,GACR,KAAAR,EACF,ECdeS,GAAAC,GAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUzB,CAACC,EAAG,uBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO7B,EAAGA,EAAG,mBAAoB;AAAA;AAAA;AAAA,EAG1B,EAAGA,EAAG,qBAAsB;AAAA;AAAA;AAAA,EAG5B,EAAGD,GAAG,eAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQpB,CAACE,GAAqB,CACxB,KAAM,MACN,IAAK,MACL,kBAAmB,mCACrB,CAAC,CAAC,CAAC,EAAGD,EAAG,qBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAW7B,EAAGA,EAAG,UAAW;AAAA;AAAA;AAAA,EAGjB,EAAGA,EAAG,YAAa;AAAA;AAAA;AAAA;AAAA,EAInB,EAAGE,GAAE,UAAW,CAACF,EAAG,OAAQ;AAAA;AAAA,EAE5B,CAAC,CAAC,EAAGG,EAAG,QAAS,CAACH,EAAG,OAAQ,iDAAkD,CAACA,EAAG,SAAU,kDAAkD,CAAC,CAAC,CAAC,CAAC,EAAGI,GAAM,WAAY,CAACA,GAAM,OAAQ,CAACD,EAAG,cAAe,CAACA,EAAG,UAAW,CAACH,EAAG,OAAQ,CAACA,EAAG,SAAU,2CAA2C,CAAC,CAAC,CAAC,CAAC,EAAGA,EAAG,OAAQ,CAACE,GAAE,WAAY,CAACF,EAAG,SAAU,2CAA2C,CAAC,CAAC,CAAC,CAAC,EAAGG,EAAG,SAAU,CAACA,EAAG,UAAW,CAACH,EAAG,OAAQ,CAACA,EAAG,SAAU,qEAAqE,CAAC,CAAC,CAAC,CAAC,EAAGA,EAAG,OAAQ,CAACE,GAAE,WAAY,CAACF,EAAG,SAAU,qEAAqE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAGG,EAAG,SAAU,CAACH,EAAG,OAAQ,CAACA,EAAG,SAAU,4DAA4D,CAAC,CAAC,CAAC,CAAC,EAAGA,EAAG,OAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYhvB,CAACA,EAAG,cAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAanB,CAACC,GAAoB,CAAE,CAAC,EAAGD,EAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoB1C,CAAC,CAAC,EAAGG,EAAG,SAAU,CAACH,EAAG,OAAQ,+CAA+C,CAAC,CAAC,EAAGG,EAAG,UAAW,CAACH,EAAG,OAAQ;AAAA;AAAA,EAE5G,CAAC,CAAC,EAAGG,EAAG,WAAY,CAACH,EAAG,OAAQ;AAAA;AAAA;AAAA,EAGhC,CAAC,CAAC,CAAC,CAAC,ECtHOK,GAAc,OAAO,OAAO,OAAO,OAAO,GAAIC,GAAS,KAAK,EAAG,CAC1E,KAAM,CACJ,KAAM,OACN,QAAS,QACX,EACA,MAAO,CACL,KAAM,CAAC,OAAQ,OAAQ,OAAO,EAC9B,QAAS,MACX,EACA,QAAS,QACT,aAAc,CACZ,KAAM,CAAC,OAAQ,OAAQ,OAAO,EAC9B,QAAS,EACX,EACA,SAAU,CACR,KAAM,QACN,QAAS,MACX,EACA,MAAO,CACL,KAAM,QACN,QAAS,EACX,EACA,iBAAkB,CAAC,SAAU,KAAK,EAClC,cAAe,CAAC,SAAU,KAAK,EAC/B,aAAc,CACZ,KAAM,CAAC,OAAQ,OAAQ,OAAO,EAC9B,QAAS,EACX,EACA,eAAgB,CACd,KAAM,CAAC,OAAQ,OAAQ,OAAO,EAC9B,QAAS,EACX,EACA,UAAW,SACX,WAAY,CACV,KAAM,QACN,QAAS,EACX,EAEA,SAAU,CAAC,SAAU,KAAK,CAC5B,CAAC,EACD,IAAIC,EACJ,MAAAC,GAAeC,GAAgB,CAC7B,KAAM,SACN,MAAOJ,GACP,MAAO,OACP,MAAMK,EAAO,CAQPH,IAAkB,SAChB,OAAO,IAAQ,IACb,OAAO,IAAI,SAAa,IACVA,EAAA,IAAI,SAAS,QAAS,UAAU,EAEhCA,EAAA,GAKFA,EAAA,IAGd,KAAA,CACJ,mBAAAI,EACA,oBAAAC,CAAA,EACEC,GAAUH,CAAK,EACbI,EAAWR,GAAS,SAAU,UAAWR,GAAOF,GAAac,EAAOC,CAAkB,EACtFI,EAAWC,GAAYN,CAAK,EAC5B,CACJ,cAAAO,EACA,kBAAAC,CAAA,EACEH,EACEI,EAAuBC,GAAIV,EAAM,YAAY,EAC7CW,EAAqBC,GAAMZ,EAAO,OAAO,EACzCa,EAAiBC,GAAeH,EAAoBF,CAAoB,EACxEM,EAAaC,EAAS,IACnBH,EAAe,QAAUb,EAAM,YACvC,EACKiB,EAAaP,GAAI,EAAK,EACtBQ,EAAaR,GAAI,EAAK,EACtBS,EAAqBH,EAAS,IAAM,CAClC,KAAA,CACJ,UAAAI,CAAA,EACEpB,EACA,GAACoB,EACL,OAAOA,EAAU,CACf,QAASF,EAAW,MACpB,QAASH,EAAW,KAAA,CACrB,CAAA,CACF,EACD,SAASM,EAAcC,EAAO,CACtB,KAAA,CACJ,iBAAkBC,EAClB,SAAAC,EACA,cAAAC,CAAA,EACEzB,EACE,CACJ,kBAAA0B,EACA,mBAAAC,CAAA,EACEtB,EACAkB,GAAqBK,GAAAL,EAAgBD,CAAK,EAC1CG,GAAoBG,GAAAH,EAAeH,CAAK,EACxCE,GAAeI,GAAAJ,EAAUF,CAAK,EAClCb,EAAqB,MAAQa,EACXI,EAAA,EACCC,EAAA,CAAA,CAErB,SAASE,GAAU,CACX,KAAA,CACJ,kBAAAC,CAAA,EACEzB,EACcyB,EAAA,CAAA,CAEpB,SAASC,IAAS,CACV,KAAA,CACJ,iBAAAC,CAAA,EACE3B,EACa2B,EAAA,CAAA,CAEnB,SAASC,IAAc,CACjBjC,EAAM,SAAWQ,EAAkB,QACnCK,EAAe,QAAUb,EAAM,aACjCqB,EAAcrB,EAAM,YAAY,EAEhCqB,EAAcrB,EAAM,cAAc,EACpC,CAEF,SAASkC,GAAc,CACrBhB,EAAW,MAAQ,GACXW,EAAA,CAAA,CAEV,SAASM,IAAa,CACpBjB,EAAW,MAAQ,GACZa,GAAA,EACPd,EAAW,MAAQ,EAAA,CAErB,SAASmB,EAAYC,EAAG,CAClBrC,EAAM,SAAWQ,EAAkB,OACnC6B,EAAE,MAAQ,MACRxB,EAAe,QAAUb,EAAM,aACjCqB,EAAcrB,EAAM,YAAY,EAEhCqB,EAAcrB,EAAM,cAAc,EAEpCiB,EAAW,MAAQ,GACrB,CAEF,SAASqB,EAAcD,EAAG,CACpBrC,EAAM,SAAWQ,EAAkB,OACnC6B,EAAE,MAAQ,MACZA,EAAE,eAAe,EACjBpB,EAAW,MAAQ,GACrB,CAEI,MAAAsB,EAAavB,EAAS,IAAM,CAC1B,KAAA,CACJ,MAAOwB,CAAA,EACLjC,EACE,CACJ,KAAM,CACJ,gBAAAzB,EACA,UAAA2D,EACA,gBAAAC,EACA,gBAAAC,EACA,YAAAC,EACA,eAAAC,EACA,aAAAC,EACA,UAAAC,EACA,UAAAC,EACA,CAACC,EAAU,eAAgBT,CAAI,CAAC,EAAGU,EACnC,CAACD,EAAU,cAAeT,CAAI,CAAC,EAAGW,EAClC,CAACF,EAAU,qBAAsBT,CAAI,CAAC,EAAGY,GACzC,CAACH,EAAU,aAAcT,CAAI,CAAC,EAAGa,EACjC,CAACJ,EAAU,YAAaT,CAAI,CAAC,EAAGc,EAChC,CAACL,EAAU,mBAAoBT,CAAI,CAAC,EAAGe,GACvC,CAACN,EAAU,qBAAsBT,CAAI,CAAC,EAAGgB,EAC3C,EACA,OAAQ,CACN,qBAAAC,CAAA,GAEArD,EAAS,MACT,IAAAsD,EACAC,EACAC,EACJ,OAAI/D,GACO6D,EAAA,SAASL,CAAU,MAAMH,CAAY,SACrCS,EAAA,OAAON,CAAU,KAAKH,CAAY,IAC3CU,EAAQ,OAAON,CAAS,UAAUA,CAAS,MAAMJ,CAAY,MAAMG,CAAU,OAE7EK,EAASG,IAAMC,EAAKT,CAAU,EAAIS,EAAKZ,CAAY,GAAK,CAAC,EAChDS,EAAAE,GAAK,KAAK,IAAIC,EAAKT,CAAU,EAAGS,EAAKZ,CAAY,CAAC,CAAC,EAC5DU,EAAQE,EAAKT,CAAU,EAAIS,EAAKZ,CAAY,EAAII,EAAYO,GAAKC,EAAKR,CAAS,EAAIQ,EAAKZ,CAAY,EAAIY,EAAKT,CAAU,CAAC,GAEnH,CACL,aAAcI,EACd,2BAA4BD,GAC5B,wBAAyBb,EACzB,mBAAoBC,EACpB,mBAAoBO,EACpB,2BAA4BC,GAC5B,oBAAqBF,EACrB,aAAcS,EACd,aAAcD,EACd,uBAAwB5E,EACxB,yBAA0ByE,GAC1B,iBAAkBd,EAClB,wBAAyBC,EACzB,kBAAmBW,EACnB,iBAAkBC,EAClB,YAAaM,EACb,uBAAwBf,EACxB,oBAAqBC,EACrB,iBAAkBC,EAClB,iBAAkBC,CACpB,CAAA,CACD,EACKe,EAAmB7D,EAAsB8D,GAAc,SAAUhD,EAAS,IACvET,EAAc,MAAM,CAAC,CAC7B,EAAGgC,EAAYvC,CAAK,EAAI,OAClB,MAAA,CACL,YAAAiC,GACA,WAAAE,GACA,YAAAD,EACA,YAAAE,EACA,cAAAE,EACA,gBAAiBnB,EACjB,QAASF,EACT,gBAAiBhB,EACjB,YAAaY,EACb,QAASE,EACT,eAAgBP,EAChB,QAASN,EAAsB,OAAYqC,EAC3C,WAAYwB,GAAqB,KAAsC,OAASA,EAAiB,WACjG,SAAUA,GAAqB,KAAsC,OAASA,EAAiB,QACjG,CACF,EACA,QAAS,CACD,KAAA,CACJ,gBAAAE,EACA,eAAAC,EACA,QAAAC,EACA,gBAAAC,EACA,SAAAC,EACA,OAAAC,CAAA,EACE,KACJD,GAAa,MAAuCA,EAAS,EACvD,KAAA,CACJ,QAASE,EACT,UAAWC,EACX,KAAMC,EACN,eAAgBC,EAChB,iBAAkBC,CAAA,EAChBL,EACEM,EAAU,EAAEC,GAAYJ,CAAQ,GAAKI,GAAYH,CAAe,GAAKG,GAAYF,CAAiB,GACxG,OAAOG,EAAE,MAAO,CACd,KAAM,SACN,eAAgBX,EAChB,MAAO,CAAC,GAAGF,CAAe,UAAW,KAAK,WAAYW,GAAW,GAAGX,CAAe,gBAAiBE,GAAW,GAAGF,CAAe,kBAAmBC,GAAkB,GAAGD,CAAe,oBAAqB,KAAK,OAAS,GAAGA,CAAe,iBAAkB,KAAK,SAAW,GAAGA,CAAe,mBAAoB,KAAK,SAAW,GAAGA,CAAe,mBAAoB,KAAK,YAAc,GAAGA,CAAe,sBAAsB,EACta,SAAW,KAAK,eAAqB,OAAJ,EACjC,MAAO,KAAK,QACZ,QAAS,KAAK,YACd,QAAS,KAAK,YACd,OAAQ,KAAK,WACb,QAAS,KAAK,YACd,UAAW,KAAK,aAAA,EACfa,EAAE,MAAO,CACV,MAAO,GAAGb,CAAe,gBACzB,cAAe,OACf,MAAOG,CAAA,EACNW,EAAmBR,EAAoCS,GAAAD,EAAmBP,EAAwCS,GAC/GD,GAAuBC,EAClBH,EAAE,MAAO,CACd,cAAe,GACf,MAAO,GAAGb,CAAe,+BAAA,EACxBa,EAAE,MAAO,CACV,MAAO,GAAGb,CAAe,2BAAA,EACxBa,EAAE,MAAO,CACV,MAAO,GAAGb,CAAe,6BAC1B,CAAA,EAAGe,CAAmB,EAAGF,EAAE,MAAO,CACjC,MAAO,GAAGb,CAAe,2BAAA,EACxBa,EAAE,MAAO,CACV,MAAO,GAAGb,CAAe,6BAAA,CAC1B,EAAGgB,CAAqB,CAAC,EAErB,IACR,CAAC,EAAGH,EAAE,MAAO,CACZ,MAAO,GAAGb,CAAe,iBAC3B,EAAGc,EAAmBN,EAAUS,GAAQH,EAAmBL,EAAiBS,GAAeJ,EAAmBJ,EAAoCS,GACzIN,EAAEO,GAAuB,KAAM,CACpC,QAAS,IAAM,KAAK,QAAUP,EAAEQ,GAAc,CAC5C,IAAK,UACL,UAAWrB,EACX,YAAa,EAAA,CACd,EAAI,KAAK,UAAYkB,GAAeD,GAAQJ,EAAE,MAAO,CACpD,MAAO,GAAGb,CAAe,uBACzB,IAAKkB,EAAc,eAAiB,MAAA,EACnCA,GAAeD,CAAI,EAAI,CAAC,KAAK,UAAYE,GAAiBF,GAAQJ,EAAE,MAAO,CAC5E,MAAO,GAAGb,CAAe,uBACzB,IAAKmB,EAAgB,iBAAmB,MAAA,EACvCA,GAAiBF,CAAI,EAAI,IAAA,CAC7B,CACF,CAAC,CAAC,EAAGH,EAAmBR,EAAagB,GAAYA,GAAYT,EAAE,MAAO,CACrE,IAAK,UACL,MAAO,GAAGb,CAAe,kBAAA,EACxBsB,CAAQ,CAAC,EAAGR,EAAmBP,EAAee,GAAYA,GAAYT,EAAE,MAAO,CAChF,IAAK,YACL,MAAO,GAAGb,CAAe,oBAAA,EACxBsB,CAAQ,CAAC,CAAC,CAAC,CAAC,CAAA,CAEnB,CAAC,uVC5SD,MAAMC,EAAgBC,GAAkB,EAElCC,EAAYC,EAAuB,EAAE,EACrCC,EAAUD,EAAW,EAAI,EACzBE,EAAkB,SAAY,CAClCD,EAAQtE,MAAQ,GAChBoE,EAAUpE,OAAS,MAAMwE,GAAuBC,YAAW,GAAIC,QAAS,EACxEC,EAAe3E,MAAQ,CAAE,EACzBsE,EAAQtE,MAAQ,EACjB,EACD4E,GAAUL,CAAe,EACzB,MAAMM,EAAeC,GAAgB,CACnCC,MAAO,GACPC,YAAa,GACbC,YAAaA,IAAM,CACjBJ,EAAaG,YAAcH,EAAaE,MAAMG,KAAM,EACpDP,EAAe3E,MAAQ,CAAE,CAC3B,CACF,CAAC,EACKmF,EAAkBzF,EAAS,IAAM,CACrC,MAAMsF,EAAcH,EAAaG,YACjC,OAAKA,EACEZ,EAAUpE,MAAMoF,OAAQC,IAE1BC,GAAWD,CAAC,EAAEE,MAAQ,IAAIC,SAASR,CAAW,IAC9CK,EAAEI,OAAS,IAAID,SAASR,CAAW,IACnCK,EAAEK,YAAc,IAAIF,SAASR,CAAW,CAE5C,EAPwBZ,EAAUpE,KAQrC,CAAC,EAEK2F,EAAcC,EAAQ,SAAY,CACtC,MAAMC,GAAiB,EACvB,MAAMtB,EAAiB,CACzB,CAAC,EAEK,CACJuB,cAAAA,EACAC,SAAAA,EACAC,WAAAA,EACAC,SAAAA,EACAC,SAAAA,EACAC,UAAAA,EACAC,kBAAAA,EACAC,kBAAAA,EACAC,cAAAA,EACD,EAAGC,GAAoB,EAExBC,GAAY,IAAM,CAChB,MAAMC,EAAMtB,EAAgBnF,MAAM0G,OAChC,CAACC,EAAGzI,KAAOyI,EAAEC,IAAIC,GAAa3I,CAAC,CAAC,EAAGyI,GACnC,IAAIG,GACN,EACA,GAAIL,EAAIvF,MAAQ,EAAG,CACjBiF,EAAUY,cAAgBC,OAC1B,MACF,CACAb,EAAUY,cAAgB,CAAC,GAAGN,EAAIQ,QAAQ,EAAEC,IAAK7B,IAAO,CACtDrF,MAAOqF,EACP8B,MAAO9B,CACT,EAAE,CACJ,CAAC,EAEDmB,GAAY,IAAM,CAChB,MAAMC,EAAMtB,EAAgBnF,MAAM0G,OAChC,CAACC,EAAGzI,KAAOyI,EAAEC,IAAItB,GAAWpH,CAAC,EAAEqH,IAAI,EAAGoB,GACtC,IAAIG,GACN,EACA,GAAIL,EAAIvF,MAAQ,EAAG,CACjB8E,EAAWe,cAAgBC,OAC3B,MACF,CACAhB,EAAWe,cAAgB,CAAC,GAAGN,EAAIQ,QAAQ,EAAEC,IAAK7B,IAAO,CACvDrF,MAAOqF,EACP8B,MAAO9B,CACT,EAAE,CACJ,CAAC,EAEDmB,GAAY,IAAM,CAChB,MAAMC,EAAMtB,EAAgBnF,MAAM0G,OAChC,CAACC,EAAGzI,KAAOyI,EAAEC,IAAI1I,EAAEwH,UAAU,EAAGiB,GAChC,IAAIG,GACN,EACA,GAAIL,EAAIvF,MAAQ,EAAG,CACjB4E,EAAciB,cAAgBC,OAC9B,MACF,CACAlB,EAAciB,cAAgB,CAAC,GAAGN,EAAIQ,QAAQ,EAAEC,IAAK7B,IAAO,CAC1DrF,MAAOqF,EACP8B,MAAO9B,CACT,EAAE,CACJ,CAAC,EAED,MAAM+B,GAAsCC,GAAS,CACnD,CACEC,KAAM,WACR,EACArB,EACAC,EACAC,EACAH,EACAD,EACAK,EACAC,EACAP,EACA,CACEyB,IAAK,UACLC,MAAO,KACPC,MAAO,QACPnF,MAAO,QACPoF,OAAOC,EAAK,CACV,OAAAC,EAAAC,GAAA,CAAA,SAA6BF,EAAG,SAAYpD,CAAe,EAAA,IAAA,CAC7D,CACF,CAAC,CACF,EAEKuD,EAAahD,GAAiC,CAClDiD,KAAM,EACNC,SAAU,GACVC,eAAgB,GAChBC,UAAW,CAAC,GAAI,GAAG,EACnBhI,SAAW6H,GAAiB,CAC1BD,EAAWC,KAAOA,CACnB,EACDI,iBAAmBH,GAAqB,CACtCF,EAAWE,SAAWA,EACtBF,EAAWC,KAAO,CACpB,CACF,CAAC,EACDK,GAAMN,EAAYxB,EAAa,EAE/B,MAAM+B,GAAsBC,GAAsB,CAChD,CAACrC,EAAUC,CAAQ,EAAEqC,QAASrK,GAAM,CAC9BoK,EAAOE,WAAatK,EAAEqJ,IACxBrJ,EAAEuK,UAAYzB,OAEd9I,EAAEuK,UAAYH,EAAOI,KAEzB,CAAC,CACF,EACDxC,EAASuC,UAAY,UACrB,MAAME,EAAYtE,EAAW,EAAK,EAC5BuE,EAAOvE,EAAW,EAAE,EACpBwE,EAAgBjD,EAAQ,SAAY,CACxC,MAAMkD,EAAOF,EAAK5I,MACfkF,KAAI,EACJ6D,MAAM;AAAA,CAAI,EACV7B,IAAK8B,GAAMA,EAAE9D,MAAM,EACnBE,OAAQ4D,GAAMC,GAAWD,CAAC,CAAC,EAC1BF,EAAKI,QAAU,IACnB,MAAMC,GAAkBL,CAAI,EAC5B,MAAMvE,EAAiB,EACvBqE,EAAK5I,MAAQ,GACf,CAAC,EAEK2E,EAAiBN,EAAqB,EAAE,EACxC+E,EAAmBA,IAChBC,QAAQC,IACb3E,EAAe3E,MAAMkH,IAClBqC,GAAOC,GAAgBC,QAAQF,CAAE,CACpC,CACF,EAEIG,EAAc9D,EAAQ,SAAY,CACtC,MAAM,IAAIyD,QAAQ,CAACM,EAAKC,IAAQ,CAC9BC,GAAOC,QAAQ,CACbtC,MAAO,KACPuC,QAAS,UAAUpF,EAAe3E,MAAMkJ,MAAM,OAC9Cc,aAAc,KACdC,aAAc,KACdC,QAASN,EACTO,MAAOP,EACPQ,YAAaR,EACbS,gBAAiBT,EACjBU,gBAAiBX,CACnB,CAAC,CACH,CAAC,EAED,MAAMN,QAAQC,IACZ3E,EAAe3E,MAAMkH,IAAKqD,GAAMf,GAAgBgB,WAAWD,CAAC,CAAC,CAC/D,EACA,MAAMhG,EAAiB,CACzB,CAAC,EACKkG,EAAqB7E,EAAQ,SAAY,CAC7C,MAAM8E,GAAsB,MAAMtB,GAAkB,CACtD,CAAC,EACKuB,EAAmB/E,EAAQ,SAAY,CAC3C,MAAMgF,GAAoB,MAAMxB,GAAkB,CACpD,CAAC,EAEKyB,EAAqBjF,EAAQ,SAAY,CAC7C,MAAMkF,GAAgB,EACtB,MAAMC,EAAW,MAAMC,GAAmB,MAAM5B,EAAgB,CAAE,EAClE6B,GAAY,CACVlB,QAASgB,EAAS7D,IAAK7B,GAAM6F,GAAW7F,CAAC,CAAC,EAAE8F,KAAK;AAAA,CAAI,EAAI;AAAA,CAC3D,CAAC,CACH,CAAC,EACKC,EAAmBxF,EAAQ,SAAY,CAC3C,MAAMkF,GAAgB,EACtB,MAAMO,EAAU,MAAMC,GAAkB,MAAMlC,EAAgB,CAAE,EAChE6B,GAAY,CACVlB,QAASsB,EAAQnE,IAAK7B,GAAMkG,SAASC,OAAS,MAAQnG,CAAC,EAAE8F,KAAK;AAAA,CAAI,EAAI;AAAA,CACxE,CAAC,CACH,CAAC,EAEKM,EAAkBpH,EAAW,EAAK;;;;","x_google_ignoreList":[0,1,2,3]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{h as a,cj as n,ck as l,A as c,I as u,J as p,F as r,U as _,O as i}from"./index-3JMZnLI9.js";import{_ as m}from"./Input-C9JOs12B.js";const d={flex:"","flex-col":"","items-center":"","p-8px":""},g=a({__name:"SelectorPage",setup(f){n(),l();const e=c("");return(x,t)=>{const o=m;return p(),u("div",d,[r(o,{value:i(e),"onUpdate:value":t[0]||(t[0]=s=>_(e)?e.value=s:null),type:"textarea",placeholder:"请输入选择器",class:"gkd_code"},null,8,["value"])])}}});export{g as default};
|
|
2
|
-
//# sourceMappingURL=SelectorPage-je5Qz2w4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectorPage-je5Qz2w4.js","sources":["../../src/views/SelectorPage.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useAutoHeight, useAutoWidth } from '@/utils/others';\n\nuseAutoHeight();\nuseAutoWidth();\n\nconst text = shallowRef('');\n</script>\n<template>\n <div flex flex-col items-center p-8px>\n <NInput\n v-model:value=\"text\"\n type=\"textarea\"\n placeholder=\"请输入选择器\"\n class=\"gkd_code\"\n />\n </div>\n</template>\n"],"names":["useAutoHeight","useAutoWidth","text","shallowRef"],"mappings":"2OAGcA,EAAA,EACDC,EAAA,EAEP,MAAAC,EAAOC,EAAW,EAAE"}
|