@dimina-kit/devtools 0.4.0-dev.20260731100034 → 0.4.0-dev.20260803105710
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/main/index.bundle.js +8 -1
- package/dist/main/services/mcp/target-manager.js +5 -1
- package/dist/native-host/common/common.js +154 -58
- package/dist/native-host/container/pageFrame.css +1 -1
- package/dist/native-host/render/render.js +6613 -3313
- package/dist/native-host/service/service.js +2 -2
- package/dist/preload/runtime/native-host.d.ts +2 -0
- package/dist/preload/runtime/native-host.js +2 -1
- package/dist/preload/runtime/node-bindings.d.ts +18 -0
- package/dist/preload/runtime/node-bindings.js +44 -0
- package/dist/preload/windows/main.cjs +1165 -883
- package/dist/preload/windows/main.cjs.map +4 -4
- package/dist/preload/windows/simulator.cjs +68 -6
- package/dist/preload/windows/simulator.cjs.map +4 -4
- package/dist/preload/windows/simulator.js +68 -6
- package/dist/render-host/pageFrame.html +3 -3
- package/dist/shared/node-bindings.d.ts +2 -0
- package/dist/shared/node-bindings.js +2 -0
- package/dist/simulator/assets/device-shell-Cw7c-IkG.js +2 -0
- package/dist/simulator/assets/{jsx-runtime-hBv-rHqQ.js → jsx-runtime-DkKmJyBb.js} +2 -2
- package/dist/simulator/assets/simulator-COIE6R49.js +10 -0
- package/dist/simulator/assets/simulator-mini-app-BLn7XV8e.js +2 -0
- package/dist/simulator/simulator.html +2 -2
- package/package.json +6 -6
- package/dist/simulator/assets/device-shell-B03OuytR.js +0 -2
- package/dist/simulator/assets/simulator-DpdXUf--.js +0 -10
- package/dist/simulator/assets/simulator-mini-app-w1Bhwkld.js +0 -2
|
@@ -1,4 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
12
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
+
}
|
|
14
|
+
return to;
|
|
15
|
+
};
|
|
16
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
17
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
18
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
19
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
20
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
2
24
|
|
|
3
25
|
// src/preload/shared/expose.ts
|
|
4
26
|
var import_electron = require("electron");
|
|
@@ -485,6 +507,31 @@ function installCustomApisBridge() {
|
|
|
485
507
|
return exposeOnMainWorld("__diminaCustomApis", bridge);
|
|
486
508
|
}
|
|
487
509
|
|
|
510
|
+
// src/preload/runtime/node-bindings.ts
|
|
511
|
+
var import_node_fs = __toESM(require("node:fs"), 1);
|
|
512
|
+
var import_node_os = __toESM(require("node:os"), 1);
|
|
513
|
+
var import_node_path = __toESM(require("node:path"), 1);
|
|
514
|
+
var import_node_crypto = __toESM(require("node:crypto"), 1);
|
|
515
|
+
var import_node_buffer = __toESM(require("node:buffer"), 1);
|
|
516
|
+
|
|
517
|
+
// ../dimina-electron-runtime/dist/shared/node-bindings.js
|
|
518
|
+
var NODE_BINDINGS_GLOBAL = "__diminaNodeBindings";
|
|
519
|
+
|
|
520
|
+
// src/preload/runtime/node-bindings.ts
|
|
521
|
+
function installNodeBindings() {
|
|
522
|
+
const existing = Object.getOwnPropertyDescriptor(globalThis, NODE_BINDINGS_GLOBAL);
|
|
523
|
+
if (existing && !existing.configurable) {
|
|
524
|
+
return;
|
|
525
|
+
}
|
|
526
|
+
const bindings = Object.freeze({ fs: import_node_fs.default, os: import_node_os.default, path: import_node_path.default, crypto: import_node_crypto.default, buffer: import_node_buffer.default });
|
|
527
|
+
Object.defineProperty(globalThis, NODE_BINDINGS_GLOBAL, {
|
|
528
|
+
value: bindings,
|
|
529
|
+
writable: false,
|
|
530
|
+
configurable: false,
|
|
531
|
+
enumerable: true
|
|
532
|
+
});
|
|
533
|
+
}
|
|
534
|
+
|
|
488
535
|
// src/preload/runtime/temp-files.ts
|
|
489
536
|
var import_electron3 = require("electron");
|
|
490
537
|
|
|
@@ -497,18 +544,18 @@ function setTempFileSink(sink) {
|
|
|
497
544
|
// src/preload/runtime/temp-files.ts
|
|
498
545
|
function installTempFileBridge() {
|
|
499
546
|
setTempFileSink({
|
|
500
|
-
write(
|
|
547
|
+
write(path2, blob) {
|
|
501
548
|
blob.arrayBuffer().then((bytes) => {
|
|
502
549
|
import_electron3.ipcRenderer.send("simulator:temp-file:write", {
|
|
503
|
-
path,
|
|
550
|
+
path: path2,
|
|
504
551
|
mime: blob.type,
|
|
505
552
|
bytes
|
|
506
553
|
});
|
|
507
554
|
}).catch(() => {
|
|
508
555
|
});
|
|
509
556
|
},
|
|
510
|
-
revoke(
|
|
511
|
-
import_electron3.ipcRenderer.send("simulator:temp-file:revoke", { path });
|
|
557
|
+
revoke(path2) {
|
|
558
|
+
import_electron3.ipcRenderer.send("simulator:temp-file:revoke", { path: path2 });
|
|
512
559
|
},
|
|
513
560
|
revokeAll() {
|
|
514
561
|
import_electron3.ipcRenderer.send("simulator:temp-file:revoke-all");
|
|
@@ -955,11 +1002,25 @@ function setupApiCompatHook() {
|
|
|
955
1002
|
var import_electron5 = require("electron");
|
|
956
1003
|
|
|
957
1004
|
// ../dimina-electron-runtime/dist/shared/dmb-resource-url.js
|
|
958
|
-
var
|
|
1005
|
+
var DMB_PAGEFRAME_DOC_NAME = "__frame__.html";
|
|
959
1006
|
function buildRenderHostDocumentUrl(opts) {
|
|
960
|
-
const
|
|
1007
|
+
const PATH_SEPARATOR_RE = /[/\\]/;
|
|
1008
|
+
for (const [name, value] of [["appId", opts.appId], ["root", opts.root]]) {
|
|
1009
|
+
if (PATH_SEPARATOR_RE.test(value) || value === "." || value === "..") {
|
|
1010
|
+
throw new Error(`[dmb-resource-url] ${name} must be a single path segment, got ${JSON.stringify(value)}`);
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
1013
|
+
const pageDirSegments = opts.pagePath.split(PATH_SEPARATOR_RE).slice(0, -1).filter(Boolean);
|
|
1014
|
+
for (const segment of pageDirSegments) {
|
|
1015
|
+
if (segment === "." || segment === "..") {
|
|
1016
|
+
throw new Error(`[dmb-resource-url] pagePath must not contain '.'/'..' segments, got ${JSON.stringify(opts.pagePath)}`);
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
const pathSegments = [opts.appId, opts.root, ...pageDirSegments, DMB_PAGEFRAME_DOC_NAME].map(encodeURIComponent);
|
|
1020
|
+
const url = new URL(`dmb-resource://${opts.bridgeId}/${pathSegments.join("/")}`);
|
|
961
1021
|
url.searchParams.set("bridgeId", opts.bridgeId);
|
|
962
1022
|
url.searchParams.set("appId", opts.appId);
|
|
1023
|
+
url.searchParams.set("root", opts.root);
|
|
963
1024
|
url.searchParams.set("pagePath", opts.pagePath);
|
|
964
1025
|
if (opts.isTab)
|
|
965
1026
|
url.searchParams.set("isTab", "1");
|
|
@@ -1044,6 +1105,7 @@ function installClipboardBridge() {
|
|
|
1044
1105
|
}
|
|
1045
1106
|
|
|
1046
1107
|
// src/preload/windows/simulator.ts
|
|
1108
|
+
installNodeBindings();
|
|
1047
1109
|
setupApiCompatHook();
|
|
1048
1110
|
installSimulatorBridge();
|
|
1049
1111
|
installCustomApisBridge();
|
|
@@ -12,17 +12,17 @@
|
|
|
12
12
|
native-host render-host must load it too. build-native-host.mjs vendors it to
|
|
13
13
|
../native-host/container/ and rewrites this href (mirrors common.js/render.js).
|
|
14
14
|
-->
|
|
15
|
-
<link rel="stylesheet" href="
|
|
15
|
+
<link rel="stylesheet" href="/__sdk__/native-host/container/pageFrame.css" />
|
|
16
16
|
<script>
|
|
17
17
|
if (typeof globalThis.process === 'undefined') {
|
|
18
18
|
globalThis.process = { env: { NODE_ENV: 'production' } };
|
|
19
19
|
}
|
|
20
20
|
</script>
|
|
21
21
|
<script type="module">
|
|
22
|
-
import { modDefine, modRequire } from '
|
|
22
|
+
import { modDefine, modRequire } from '/__sdk__/native-host/common/common.js'
|
|
23
23
|
window.modDefine = modDefine
|
|
24
24
|
window.modRequire = modRequire
|
|
25
|
-
await import('
|
|
25
|
+
await import('/__sdk__/native-host/render/render.js')
|
|
26
26
|
</script>
|
|
27
27
|
</head>
|
|
28
28
|
<body></body>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as e,n as t,o as n,s as r,t as i}from"./jsx-runtime-DkKmJyBb.js";import{t as a}from"./bridge-channels-zhsumfky.js";var o=new Set([`audioListen`]);function s(e){return o.has(e)}var c=r();function l(e,t,n,r){let i=e.apiRegistry[t];if(!i)return r({ok:!1,errMsg:`${t}:fail no handler`}),Promise.resolve();let a=s(t)||(n&&typeof n==`object`&&!Array.isArray(n)?n.keep===!0:!1);return new Promise(o=>{let s=!1,c=e=>{if(s){a&&e.ok&&r({...e,keep:!0});return}s=!0,r(a&&e.ok?{...e,keep:!0}:e),o()},l=Symbol(`sim-cb-success`),u=Symbol(`sim-cb-fail`),d=Symbol(`sim-cb-complete`),f=!1,p=Object.create(e);p.createCallbackFunction=e=>{if(e!=null)return(e===l||e===u)&&(f=!0),(...n)=>{let r=n[0];e===l?c({ok:!0,result:r}):e===u?c({ok:!1,errMsg:r&&typeof r==`object`&&`errMsg`in r?String(r.errMsg):`${t}:fail`,result:r}):e===d&&!a&&c({ok:!0,result:r})}};let m=n&&typeof n==`object`&&!Array.isArray(n)?{...n}:{};m.success=l,m.fail=u,m.complete=d;try{let e=i.call(p,m);if(e&&typeof e.then==`function`){Promise.resolve(e).then(e=>c({ok:!0,result:e}),e=>{c({ok:!1,errMsg:`${t}:fail ${e instanceof Error?e.message:String(e)}`})});return}if(s)return;if(a){o();return}if(f){o();return}c({ok:!0,result:e})}catch(e){c({ok:!1,errMsg:`${t}:fail ${e instanceof Error?e.message:String(e)}`})}})}function u(e){return e.onSessionEvent(a.API_CALL,t=>{e.apiRegistry[t.name]&&e.notifyApiResponse({requestId:t.requestId,ok:!1,ack:!0}),l(e,t.name,t.params,n=>{e.notifyApiResponse({requestId:t.requestId,ok:n.ok,result:n.result,errMsg:n.errMsg,keep:n.keep})})})}var d={ios:44,android:64};function f(e){return(d[e]-32)/2}var p=i();function m({platform:e,statusBarHeight:t,onMore:n}){return(0,p.jsxs)(`div`,{className:`menu-capsule`,style:{width:87,height:32,top:t+f(e),right:10},children:[(0,p.jsxs)(`button`,{type:`button`,className:`menu-capsule__more`,"aria-label":`More`,onClick:n,children:[(0,p.jsx)(`span`,{className:`menu-capsule__dot menu-capsule__dot--side`}),(0,p.jsx)(`span`,{className:`menu-capsule__dot menu-capsule__dot--mid`}),(0,p.jsx)(`span`,{className:`menu-capsule__dot menu-capsule__dot--side`})]}),(0,p.jsx)(`div`,{className:`menu-capsule__divider`}),(0,p.jsx)(`div`,{className:`menu-capsule__close`,children:(0,p.jsxs)(`svg`,{viewBox:`0 0 22 22`,width:`22`,height:`22`,"aria-hidden":`true`,children:[(0,p.jsx)(`circle`,{cx:`11`,cy:`11`,r:`7.8`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`}),(0,p.jsx)(`circle`,{cx:`11`,cy:`11`,r:`3.1`,fill:`currentColor`})]})})]})}var h={linear:`linear`,easeIn:`ease-in`,easeOut:`ease-out`,easeInOut:`ease-in-out`},g={ios:`M17.51 3.87L15.73 2.1 5.84 12l9.9 9.9 1.77-1.77L9.38 12l8.13-8.13z`,android:`M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z`};function _({state:e,stackDepth:t,platform:n,statusBarHeight:r,navBarHeight:i,onBack:a,onHome:o,onMore:s}){let l=(0,c.useMemo)(()=>{if(!e.colorAnimation||e.colorAnimation.durationMs<=0)return;let t=h[e.colorAnimation.timingFunc]??`linear`;return`background-color ${e.colorAnimation.durationMs}ms ${t}, color ${e.colorAnimation.durationMs}ms ${t}`},[e.colorAnimation]),u=e.style===`custom`,d=t>1,f=!d&&e.homeButtonVisible,_=n===`ios`?`center`:`left`,v=n===`android`?30:24,y={backgroundColor:e.backgroundColor,color:e.textStyle===`white`?`#ffffff`:`#000000`,height:r+i,paddingTop:r,transition:l};return(0,p.jsxs)(`header`,{className:`nav-bar nav-bar--${n} nav-bar--${e.textStyle}${u?` nav-bar--custom`:``}`,style:y,"aria-hidden":u,children:[!u&&(0,p.jsxs)(`div`,{className:`nav-bar__row`,style:{height:i,justifyContent:_===`center`?`center`:`flex-start`},children:[(d||f)&&(0,p.jsxs)(`div`,{className:`nav-bar__leading`,children:[d&&(0,p.jsx)(`button`,{type:`button`,className:`nav-bar__back`,"aria-label":`Back`,onClick:a,children:(0,p.jsx)(`svg`,{viewBox:`0 0 24 24`,width:v,height:v,"aria-hidden":`true`,children:(0,p.jsx)(`path`,{d:g[n],fill:`currentColor`})})}),f&&(0,p.jsx)(`button`,{type:`button`,className:`nav-bar__home`,"aria-label":`Home`,onClick:o,children:(0,p.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`22`,height:`22`,"aria-hidden":`true`,children:(0,p.jsx)(`path`,{d:`M3 12l9-9 9 9M5 10v10h14V10`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`})})})]}),(0,p.jsxs)(`div`,{className:`nav-bar__title nav-bar__title--${_}`,style:{color:e.textStyle===`white`?`#ffffff`:`#000000`},children:[e.loading&&(0,p.jsx)(`span`,{className:`nav-bar__spinner`,"aria-hidden":`true`}),(0,p.jsx)(`span`,{className:`nav-bar__title-text`,children:e.title})]})]}),(0,p.jsx)(m,{platform:n,statusBarHeight:r,onMore:s})]})}function v(e){return{title:e?.title??``,backgroundColor:e?.backgroundColor??`#000000`,textStyle:e?.textStyle??`white`,style:e?.style??`default`,loading:e?.loading??!1,homeButtonVisible:e?.homeButtonVisible??!1,colorAnimation:e?.colorAnimation}}function y(e){switch(e){case`notch`:return{width:164,height:30,top:0,bottomOnly:!0};case`dynamic-island`:return{width:124,height:36,top:11,bottomOnly:!1};default:return null}}function b({height:e,notchType:t,textStyle:n}){let r=y(t);return(0,p.jsxs)(`div`,{className:`device-statusbar`,style:{height:e,color:n===`black`?`#000000`:`#ffffff`},"aria-hidden":`true`,children:[(0,p.jsx)(`span`,{className:`device-statusbar__time`,children:`9:41`}),r&&(0,p.jsx)(`div`,{className:`device-statusbar__notch`,style:{width:r.width,height:r.height,top:r.top,borderRadius:r.bottomOnly?`0 0 ${Math.round(r.height*.6)}px ${Math.round(r.height*.6)}px`:`${r.height/2}px`}}),(0,p.jsxs)(`div`,{className:`device-statusbar__icons`,children:[(0,p.jsx)(`span`,{className:`device-statusbar__signal`}),(0,p.jsx)(`span`,{className:`device-statusbar__wifi`}),(0,p.jsx)(`span`,{className:`device-statusbar__battery`})]})]})}function ee({state:e,currentPath:t,resourceBaseUrl:n,appId:r,onSwitch:i,bottomInset:a=0}){if(!e.config||!e.visible)return null;let{color:o,selectedColor:s,backgroundColor:c,borderStyle:l,list:u}=e.config,d=o||`#999999`,f=s||`#1890ff`;return(0,p.jsx)(`div`,{className:`dmb-tab-bar`,style:{backgroundColor:c||`#ffffff`,borderTopColor:l===`white`?`#ffffff`:`#e0e0e0`,paddingBottom:a},role:`tablist`,"aria-label":`TabBar`,children:u.map((a,o)=>{let s=x(a.pagePath),c=s===t,l=S(c?a.selectedIconPath??a.iconPath:a.iconPath,n,r),u=e.badges[o]??``,m=e.redDots[o]??!1;return(0,p.jsxs)(`button`,{type:`button`,className:`dmb-tab-bar__item${c?` is-selected`:``}`,role:`tab`,"aria-selected":c,onClick:()=>i(s),children:[l&&(0,p.jsx)(`span`,{className:`dmb-tab-bar__icon-slot`,children:(0,p.jsx)(`img`,{className:`dmb-tab-bar__icon`,src:l,alt:``,onError:e=>{e.currentTarget.style.display=`none`}})}),(0,p.jsx)(`span`,{className:`dmb-tab-bar__text`,style:{color:c?f:d},children:a.text||``}),u&&(0,p.jsx)(`span`,{className:`dmb-tab-bar__badge`,children:u}),!u&&m&&(0,p.jsx)(`span`,{className:`dmb-tab-bar__red-dot`})]},`${s}-${o}`)})})}function x(e){return e?e.replace(/^\/+/,``):``}function S(e,t,n){if(!e)return null;let r=e.trim();if(!r)return null;if(/^(?:data:|blob:|https?:|\/\/)/i.test(r))return r;if(!t)return null;let i=r.replace(/^\/+/,``).replace(/^\.\//,``);return i.startsWith(`${n}/`)?C(t,i):C(t,`${n}/main/${i}`)}function C(e,t){return`${e.endsWith(`/`)?e:`${e}/`}${t.replace(/^\/+/,``)}`}function w(){let[{toast:e,dialog:n},r]=(0,c.useState)(()=>t.getState());return(0,c.useEffect)(()=>t.subscribe(r),[]),(0,p.jsxs)(p.Fragment,{children:[e&&(0,p.jsx)(T,{toast:e}),n?.kind===`modal`&&(0,p.jsx)(D,{dialog:n}),n?.kind===`actionSheet`&&(0,p.jsx)(O,{dialog:n})]})}function T({toast:e}){(0,c.useEffect)(()=>{if(!Number.isFinite(e.duration))return;let n=window.setTimeout(()=>t.dismissToast(e),e.duration);return()=>window.clearTimeout(n)},[e]);let n=e.icon!==`none`||!!e.image;return(0,p.jsxs)(`div`,{className:`dmui-overlay`,"aria-live":`polite`,children:[e.mask&&(0,p.jsx)(`div`,{className:`dmui-mask dmui-mask--transparent`}),(0,p.jsxs)(`div`,{className:`dmui-toast${n?``:` dmui-toast--text`}`,role:`alert`,children:[e.image?(0,p.jsx)(`img`,{className:`dmui-toast__image`,src:e.image,alt:``}):(0,p.jsx)(E,{icon:e.icon}),e.title&&(0,p.jsx)(`div`,{className:`dmui-toast__title`,children:e.title})]})]})}function E({icon:e}){return e===`success`?(0,p.jsx)(`svg`,{className:`dmui-toast__icon`,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:(0,p.jsx)(`path`,{d:`M5 13l4 4L19 7`})}):e===`error`?(0,p.jsx)(`svg`,{className:`dmui-toast__icon`,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:(0,p.jsx)(`path`,{d:`M6 6l12 12M18 6L6 18`})}):e===`loading`?(0,p.jsx)(`span`,{className:`dmui-toast__spinner`,"aria-hidden":`true`}):null}function D({dialog:e}){let[t,n]=(0,c.useState)(``),r=(0,c.useRef)(null);return(0,c.useEffect)(()=>{e.editable&&r.current?.focus()},[e.editable]),(0,p.jsxs)(`div`,{className:`dmui-overlay`,children:[(0,p.jsx)(`div`,{className:`dmui-mask`}),(0,p.jsxs)(`div`,{className:`dmui-modal`,role:`dialog`,"aria-modal":`true`,children:[e.title&&(0,p.jsx)(`div`,{className:`dmui-modal__title`,children:e.title}),e.editable?(0,p.jsx)(`input`,{ref:r,className:`dmui-modal__input`,value:t,placeholder:e.placeholderText,onChange:e=>n(e.target.value)}):e.content&&(0,p.jsx)(`div`,{className:`dmui-modal__content`,children:e.content}),(0,p.jsxs)(`div`,{className:`dmui-modal__actions`,children:[e.showCancel&&(0,p.jsx)(`button`,{type:`button`,className:`dmui-modal__button`,style:{color:e.cancelColor},onClick:()=>e.onResult(!1),children:e.cancelText}),(0,p.jsx)(`button`,{type:`button`,className:`dmui-modal__button`,style:{color:e.confirmColor},onClick:()=>e.onResult(!0,t),children:e.confirmText})]})]})]})}function O({dialog:e}){return(0,p.jsxs)(`div`,{className:`dmui-overlay`,children:[(0,p.jsx)(`div`,{className:`dmui-mask`,onClick:()=>e.onSelect(-1)}),(0,p.jsxs)(`div`,{className:`dmui-action-sheet`,role:`menu`,children:[(0,p.jsx)(`div`,{className:`dmui-action-sheet__items`,children:e.itemList.map((t,n)=>(0,p.jsx)(`button`,{type:`button`,className:`dmui-action-sheet__item`,style:{color:e.itemColor},onClick:()=>e.onSelect(n),children:t},n))}),(0,p.jsx)(`button`,{type:`button`,className:`dmui-action-sheet__cancel`,onClick:()=>e.onSelect(-1),children:`取消`})]})]})}function k({active:t,appId:n}){let r=(0,c.useRef)(null);return(0,c.useEffect)(()=>{let i=r.current;if(!(!t||!i))return e(i,n)},[t,n]),(0,p.jsx)(`div`,{ref:r,className:`device-shell__extension-layer`,"data-dimina-simulator-overlay-root":!0})}function A(e,t,r){n({name:`capsule.more`,appId:e,appName:t||e,pagePath:r})}function j(e){if(!e)return{config:null,visible:!1,badges:[],redDots:[]};let t=e.list.length;return{config:M(e),visible:!0,badges:Array.from({length:t},()=>``),redDots:Array.from({length:t},()=>!1)}}function M(e){return{...e,list:e.list.map(e=>({...e}))}}function te(e,t){switch(t.kind){case`reset`:return{state:j(t.config),ok:!0,errMsg:`reset:ok`};case`visibility`:return{state:{...e,visible:t.visible},ok:!0,errMsg:t.visible?`showTabBar:ok`:`hideTabBar:ok`};case`apply`:return N(e,t.name,t.params)}}function N(e,t,n){if(!e.config)return{state:e,ok:!1,errMsg:`${t}:fail tabBar not configured`};switch(t){case`setTabBarStyle`:return ne(e,n);case`setTabBarItem`:return P(e,n);case`showTabBar`:return{state:{...e,visible:!0},ok:!0,errMsg:`showTabBar:ok`};case`hideTabBar`:return{state:{...e,visible:!1},ok:!0,errMsg:`hideTabBar:ok`};case`setTabBarBadge`:return F(e,n);case`removeTabBarBadge`:return I(e,n);case`showTabBarRedDot`:return L(e,n,!0);case`hideTabBarRedDot`:return L(e,n,!1)}}function ne(e,t){if(!e.config)return{state:e,ok:!1,errMsg:`setTabBarStyle:fail tabBar not configured`};let n={...e.config},r=(e,t)=>{let r=z(t);r&&(n[e]=r)};return r(`color`,t.color),r(`selectedColor`,t.selectedColor),r(`backgroundColor`,t.backgroundColor),(t.borderStyle===`black`||t.borderStyle===`white`)&&(n.borderStyle=t.borderStyle),{state:{...e,config:n},ok:!0,errMsg:`setTabBarStyle:ok`}}function P(e,t){let n=R(e,t);if(n.err)return{state:e,ok:!1,errMsg:`setTabBarItem:fail ${n.err}`};if(!e.config)return{state:e,ok:!1,errMsg:`setTabBarItem:fail tabBar not configured`};let r=e.config.list[n.index],i={...r,text:typeof t.text==`string`?t.text:r.text,iconPath:typeof t.iconPath==`string`?t.iconPath:r.iconPath,selectedIconPath:typeof t.selectedIconPath==`string`?t.selectedIconPath:r.selectedIconPath},a=[...e.config.list];return a[n.index]=i,{state:{...e,config:{...e.config,list:a}},ok:!0,errMsg:`setTabBarItem:ok`}}function F(e,t){let n=R(e,t);if(n.err)return{state:e,ok:!1,errMsg:`setTabBarBadge:fail ${n.err}`};let r=[...e.badges];r[n.index]=String(t.text??``);let i=[...e.redDots];return i[n.index]=!1,{state:{...e,badges:r,redDots:i},ok:!0,errMsg:`setTabBarBadge:ok`}}function I(e,t){let n=R(e,t);if(n.err)return{state:e,ok:!1,errMsg:`removeTabBarBadge:fail ${n.err}`};let r=[...e.badges];return r[n.index]=``,{state:{...e,badges:r},ok:!0,errMsg:`removeTabBarBadge:ok`}}function L(e,t,n){let r=R(e,t);if(r.err)return{state:e,ok:!1,errMsg:`${n?`showTabBarRedDot`:`hideTabBarRedDot`}:fail ${r.err}`};let i=[...e.redDots];i[r.index]=n;let a=[...e.badges];return n&&(a[r.index]=``),{state:{...e,redDots:i,badges:a},ok:!0,errMsg:`${n?`showTabBarRedDot`:`hideTabBarRedDot`}:ok`}}function R(e,t){let n=e.config?.list??[],r=t.index,i=Number(r);return n.length?r==null||!Number.isInteger(i)||i<0||i>=n.length?{index:-1,err:`invalid index ${r}`}:{index:i,err:null}:{index:-1,err:`tabBar not configured`}}function z(e){if(typeof e!=`string`)return null;let t=e.trim();return!t||t.length>64?null:/[<>"';{}()\\]/.test(t)?/^(?:rgb|rgba|hsl|hsla)\(\s*[\d.,%\s/-]+\)$/i.test(t)?t:null:t}function B(e){return e?e.replace(/^\/+/,``):``}function V(e){if(!e)return null;let t=e.indexOf(`=`),n=t>=0?e.slice(0,t):e,r=t>=0?e.slice(t+1):``;return n?[decodeURIComponent(n),decodeURIComponent(r)]:null}function H(e){let t={};for(let n of e.split(`&`)){let e=V(n);e&&(t[e[0]]=e[1])}return t}function U(e){let[t,n]=(typeof e==`string`?e:``).split(`?`);return{pagePath:B(t),query:n?H(n):{}}}function W(e){let t={};return e.isTab&&(t[e.pagePath]=[e]),{stack:[e],tabStacks:t,currentTabPath:e.isTab?e.pagePath:null}}function G(e){return e.currentTabPath?{...e.tabStacks,[e.currentTabPath]:[...e.stack]}:e.tabStacks}function K(e,t){let n=e.stack[e.stack.length-1],r=[...e.stack,t];return{next:{...e,stack:r,tabStacks:e.currentTabPath?{...e.tabStacks,[e.currentTabPath]:r}:e.tabStacks},effects:n?[{kind:`lifecycle`,bridgeId:n.bridgeId,event:`pageHide`}]:[]}}function q(e,t){if(e.stack.length<=1)return{error:`no page to back`};let n=Math.min(Math.max(1,Number.isFinite(t)?t:1),e.stack.length-1),r=e.stack.slice(e.stack.length-n),i=e.stack.slice(0,e.stack.length-n),a=i[i.length-1],o={...e,stack:i,tabStacks:e.currentTabPath?{...e.tabStacks,[e.currentTabPath]:i}:e.tabStacks,currentTabPath:a.isTab?a.pagePath:e.currentTabPath},s=[];for(let e of r)s.push({kind:`lifecycle`,bridgeId:e.bridgeId,event:`pageUnload`}),s.push({kind:`closePage`,bridgeId:e.bridgeId});return s.push({kind:`lifecycle`,bridgeId:a.bridgeId,event:`pageShow`}),{next:o,effects:s}}function J(e,t){let n=e.stack[e.stack.length-1],r=[...e.stack.slice(0,e.stack.length-1),t],i={...e,stack:r,tabStacks:e.currentTabPath?{...e.tabStacks,[e.currentTabPath]:r}:e.tabStacks},a=[];return n&&(a.push({kind:`lifecycle`,bridgeId:n.bridgeId,event:`pageUnload`}),a.push({kind:`closePage`,bridgeId:n.bridgeId})),{next:i,effects:a}}function Y(e,t){let n=new Set;for(let t of e.stack)n.add(t.bridgeId);for(let t of Object.values(e.tabStacks))for(let e of t)n.add(e.bridgeId);n.delete(t.bridgeId);let r=t.isTab?{[t.pagePath]:[t]}:{},i={stack:[t],tabStacks:r,currentTabPath:t.isTab?t.pagePath:null},a=[];for(let e of n)a.push({kind:`lifecycle`,bridgeId:e,event:`pageUnload`}),a.push({kind:`closePage`,bridgeId:e});return{next:i,effects:a}}function re(e,t,n){let r=e.stack[e.stack.length-1],i=G(e),a,o=i[t];if(o&&o.length>0)a=o;else if(n)a=[n];else throw Error(`[page-stack] switchTab to ${t} requires either a cached substack or a freshly-opened entry`);let s={...e,stack:a,tabStacks:{...i,[t]:a},currentTabPath:t},c=a[a.length-1],l=[];return r&&r.bridgeId!==c.bridgeId&&l.push({kind:`lifecycle`,bridgeId:r.bridgeId,event:`pageHide`}),n||l.push({kind:`lifecycle`,bridgeId:c.bridgeId,event:`pageShow`}),{next:s,effects:l}}function X(e){let t=new Map,n=e.stack[e.stack.length-1]?.bridgeId,r=e=>{t.has(e.bridgeId)||t.set(e.bridgeId,{entry:e,visible:e.bridgeId===n})};for(let t of Object.values(e.tabStacks))for(let e of t)r(e);for(let t of e.stack)r(t);return Array.from(t.values())}function Z(e){return e.backgroundColor??`#ffffff`}function Q(e,t){let n=e.navigationBarBackgroundColor??`#ffffff`,r=e.navigationBarTextStyle??`black`,i=e.navigationStyle??`default`;return v({title:e.navigationBarTitleText??t,backgroundColor:n,textStyle:r,style:i,homeButtonVisible:e.homeButton===!0})}function ie(e,t,n){switch(t){case`setNavigationBarTitle`:return{...e,title:typeof n.title==`string`?n.title:e.title};case`setNavigationBarColor`:return oe(e,n);case`showNavigationBarLoading`:return{...e,loading:!0};case`hideNavigationBarLoading`:return{...e,loading:!1};case`hideHomeButton`:return{...e,homeButtonVisible:!1};default:return e}}var ae=[`linear`,`easeIn`,`easeOut`,`easeInOut`];function oe(e,t){let n=typeof t.frontColor==`string`?t.frontColor.toLowerCase():void 0,r=n===`#ffffff`?`white`:n===`#000000`?`black`:e.textStyle,i=typeof t.backgroundColor==`string`?t.backgroundColor:e.backgroundColor,a=(()=>{let e=t.animation;if(!e||typeof e!=`object`)return;let n=e,r=typeof n.duration==`number`&&Number.isFinite(n.duration)?Math.max(0,n.duration):0,i=typeof n.timingFunc==`string`?n.timingFunc:`linear`;return{durationMs:r,timingFunc:ae.includes(i)?i:`linear`}})();return{...e,textStyle:r,backgroundColor:i,colorAnimation:a}}function se(e,t,n){let r=e=>e.bridgeId===t?{...e,navBar:n(e.navBar)}:e,i=e.stack.map(r),a={};for(let[t,n]of Object.entries(e.tabStacks))a[t]=n.map(r);return{...e,stack:i,tabStacks:a}}var ce=44,le=24,$=44;function ue({miniApp:e,bridgeId:t,platform:n=`ios`,active:r=!0}){let i=new URLSearchParams(window.location.search).get(`embedded`)===`1`,[o,s]=(0,c.useState)(()=>e.getInitialDevice());(0,c.useEffect)(()=>e.onSimulatorEvent(a.DEVICE_CHANGE,s),[e]);let l=i?0:o?.safeAreaInsets.top??(n===`ios`?ce:le),d=i?0:o?.safeAreaInsets.bottom??0,f=o?.notchType??`none`,m=(0,c.useMemo)(()=>e.getRenderPreloadUrl(),[e]),h=(0,c.useMemo)(()=>e.getTabBarConfig(),[e]),g=(0,c.useMemo)(()=>({bridgeId:t,pagePath:B(e.pagePath),query:{...e.query},isTab:!!e.getTabBarConfig()?.list.some(t=>B(t.pagePath)===B(e.pagePath)),windowConfig:e.rootWindowConfig??{},navBar:Q(e.rootWindowConfig??{},e.appId)}),[e,t]),[{shell:v,tabBar:y},x]=(0,c.useState)(()=>({shell:W(g),tabBar:j(h)})),S=(0,c.useRef)({shell:v,tabBar:y});(0,c.useEffect)(()=>{S.current={shell:v,tabBar:y}},[v,y]);let C=(0,c.useCallback)(t=>{for(let n of t)n.kind===`lifecycle`?e.notifyLifecycle(n.bridgeId,n.event):n.kind===`closePage`&&e.closePage(n.bridgeId)},[e]);(0,c.useEffect)(()=>e.onSimulatorEvent(a.NAV_BAR,e=>{x(t=>({...t,shell:se(t.shell,e.bridgeId,t=>ie(t,e.name,e.params))}))}),[e]),(0,c.useEffect)(()=>e.onSessionEvent(a.TAB_ACTION,t=>{let n=te(S.current.tabBar,{kind:`apply`,name:t.name,params:t.params});x(e=>({...e,tabBar:n.state})),e.notifyNavCallback({ok:n.ok,errMsg:n.errMsg,callbacks:t.callbacks})}),[e]);let T=(0,c.useCallback)(async t=>{let n=(n,r)=>e.notifyNavCallback({ok:n,errMsg:r,callbacks:t.callbacks});try{switch(t.name){case`navigateTo`:await de(e,S,x,C,t,n);break;case`navigateBack`:fe(S,x,C,t,n);break;case`redirectTo`:await pe(e,S,x,C,t,n);break;case`reLaunch`:await me(e,S,x,C,t,n);break;case`switchTab`:await he(e,S,x,C,t,n);break}}catch(e){n(!1,`${t.name}:fail ${e instanceof Error?e.message:String(e)}`)}},[e,C]);(0,c.useEffect)(()=>e.onSessionEvent(a.NAV_ACTION,e=>{T(e)}),[T,e]),(0,c.useEffect)(()=>u(e),[e]);let E=(0,c.useCallback)(()=>{if(S.current.shell.stack.length<=1)return;let t=S.current.shell.stack;T({appSessionId:e.appSessionId??``,bridgeId:t[t.length-1].bridgeId,name:`navigateBack`,params:{delta:1},callbacks:{}})},[e,T]),D=(0,c.useCallback)(t=>{let n=S.current.shell;t===n.currentTabPath&&n.stack.length===1||T({appSessionId:e.appSessionId??``,bridgeId:n.stack[n.stack.length-1].bridgeId,name:`switchTab`,params:{url:`/${t}`},callbacks:{}})},[e,T]),O=v.stack[v.stack.length-1],M=X(v),N=(0,c.useCallback)(()=>{A(e.appId,O.navBar.title,O.pagePath)},[e.appId,O.navBar.title,O.pagePath]);return(0,c.useEffect)(()=>{e.notifyActivePage(O.bridgeId)},[e,O.bridgeId]),(0,c.useEffect)(()=>{e.notifyPageStack(v.stack.map(e=>({pagePath:e.pagePath,query:e.query})))},[e,v.stack]),(0,p.jsx)(`main`,{className:`device-shell-root${i?` device-shell-root--embedded`:``}`,children:(0,p.jsxs)(`section`,{className:`device-shell${i?` device-shell--embedded`:``}`,"aria-label":`Dimina simulator`,style:!i&&o?{width:o.screenWidth,height:o.screenHeight}:void 0,children:[!i&&(0,p.jsx)(b,{height:l,notchType:f,textStyle:O.navBar.textStyle}),(0,p.jsx)(_,{state:O.navBar,stackDepth:v.stack.length,platform:n,statusBarHeight:l,navBarHeight:$,onBack:E,onMore:N}),(0,p.jsx)(`div`,{className:`device-shell__viewport`,children:M.map(({entry:t,visible:n})=>(0,p.jsx)(`webview`,{className:`device-shell__webview`,src:e.createRenderHostUrl(t.bridgeId,t.pagePath,t.isTab,Z(t.windowConfig)),preload:m,allowpopups:`true`,style:{display:n?`flex`:`none`,zIndex:n?100:1,backgroundColor:Z(t.windowConfig)}},t.bridgeId))}),O.isTab&&(0,p.jsx)(ee,{state:y,currentPath:v.currentTabPath,resourceBaseUrl:e.resourceBaseUrl,appId:e.appId,onSwitch:D,bottomInset:d}),(0,p.jsx)(w,{}),(0,p.jsx)(k,{active:r,appId:e.appId}),d>0&&(0,p.jsx)(`div`,{className:`device-shell__home-indicator`,style:{height:d},"aria-hidden":`true`})]})})}async function de(e,t,n,r,i,a){let{pagePath:o,query:s}=U(i.params.url);if(!o){a(!1,`navigateTo:fail invalid url`);return}if(e.getTabBarConfig()?.list.some(e=>B(e.pagePath)===o)){a(!1,`navigateTo:fail can not navigateTo a tabbar page`);return}let c=await e.openPage(o,s),l={bridgeId:c.bridgeId,pagePath:c.pagePath,query:s,isTab:c.isTab,windowConfig:c.windowConfig,navBar:Q(c.windowConfig,e.appId)},{next:u,effects:d}=K(t.current.shell,l);n(e=>({...e,shell:u})),r(d),a(!0,`navigateTo:ok`)}function fe(e,t,n,r,i){let a=r.params.delta,o=Number.isFinite(Number(a))?Number(a):1,s=q(e.current.shell,o);if(`error`in s){i(!1,`navigateBack:fail ${s.error}`);return}t(e=>({...e,shell:s.next})),n(s.effects),i(!0,`navigateBack:ok`)}async function pe(e,t,n,r,i,a){let{pagePath:o,query:s}=U(i.params.url);if(!o){a(!1,`redirectTo:fail invalid url`);return}if(e.getTabBarConfig()?.list.some(e=>B(e.pagePath)===o)){a(!1,`redirectTo:fail can not redirectTo a tabbar page`);return}let c=await e.openPage(o,s),l={bridgeId:c.bridgeId,pagePath:c.pagePath,query:s,isTab:c.isTab,windowConfig:c.windowConfig,navBar:Q(c.windowConfig,e.appId)},{next:u,effects:d}=J(t.current.shell,l);n(e=>({...e,shell:u})),r(d),a(!0,`redirectTo:ok`)}async function me(e,t,n,r,i,a){let{pagePath:o,query:s}=U(i.params.url);if(!o){a(!1,`reLaunch:fail invalid url`);return}let c=await e.openPage(o,s),l={bridgeId:c.bridgeId,pagePath:c.pagePath,query:s,isTab:c.isTab,windowConfig:c.windowConfig,navBar:Q(c.windowConfig,e.appId)},{next:u,effects:d}=Y(t.current.shell,l);n(e=>({...e,shell:u})),r(d),a(!0,`reLaunch:ok`)}async function he(e,t,n,r,i,a){let{pagePath:o}=U(i.params.url);if(!o){a(!1,`switchTab:fail invalid url`);return}if(!e.getTabBarConfig()?.list.some(e=>B(e.pagePath)===o)){a(!1,`switchTab:fail not a tabBar page: ${o}`);return}let s=t.current.shell.tabStacks[o],c=null;if(!s||s.length===0){let t=await e.openPage(o,{});c={bridgeId:t.bridgeId,pagePath:t.pagePath,query:{},isTab:!0,windowConfig:t.windowConfig,navBar:Q(t.windowConfig,e.appId)}}let{next:l,effects:u}=re(t.current.shell,o,c);n(e=>({...e,shell:l})),r(u),a(!0,`switchTab:ok`)}export{ue as DeviceShell};
|
|
2
|
+
//# sourceMappingURL=device-shell-Cw7c-IkG.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),l=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")}),u=o((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.iterator;function p(e){return typeof e!=`object`||!e?null:(e=f&&e[f]||e[`@@iterator`],typeof e==`function`?e:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function _(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`setState(...): takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function v(){}v.prototype=_.prototype;function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}var b=y.prototype=new v;b.constructor=y,h(b,_.prototype),b.isPureReactComponent=!0;var x=Array.isArray,S=Object.prototype.hasOwnProperty,C={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function T(e,n,r){var i,a={},o=null,s=null;if(n!=null)for(i in n.ref!==void 0&&(s=n.ref),n.key!==void 0&&(o=``+n.key),n)S.call(n,i)&&!w.hasOwnProperty(i)&&(a[i]=n[i]);var c=arguments.length-2;if(c===1)a.children=r;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}if(e&&e.defaultProps)for(i in c=e.defaultProps,c)a[i]===void 0&&(a[i]=c[i]);return{$$typeof:t,type:e,key:o,ref:s,props:a,_owner:C.current}}function E(e,n){return{$$typeof:t,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function D(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function O(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var k=/\/+/g;function A(e,t){return typeof e==`object`&&e&&e.key!=null?O(``+e.key):t.toString(36)}function j(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0}}if(c)return c=e,o=o(c),e=a===``?`.`+A(c,0):a,x(o)?(i=``,e!=null&&(i=e.replace(k,`$&/`)+`/`),j(o,r,i,``,function(e){return e})):o!=null&&(D(o)&&(o=E(o,i+(!o.key||c&&c.key===o.key?``:(``+o.key).replace(k,`$&/`)+`/`)+e)),r.push(o)),1;if(c=0,a=a===``?`.`:a+`:`,x(e))for(var l=0;l<e.length;l++){s=e[l];var u=a+A(s,l);c+=j(s,r,i,u,o)}else if(u=p(e),typeof u==`function`)for(e=u.call(e),l=0;!(s=e.next()).done;)s=s.value,u=a+A(s,l++),c+=j(s,r,i,u,o);else if(s===`object`)throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`);return c}function M(e,t,n){if(e==null)return e;var r=[],i=0;return j(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function N(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var P={current:null},F={transition:null},I={ReactCurrentDispatcher:P,ReactCurrentBatchConfig:F,ReactCurrentOwner:C};function L(){throw Error(`act(...) is not supported in production builds of React.`)}e.Children={map:M,forEach:function(e,t,n){M(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return M(e,function(){t++}),t},toArray:function(e){return M(e,function(e){return e})||[]},only:function(e){if(!D(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}},e.Component=_,e.Fragment=r,e.Profiler=a,e.PureComponent=y,e.StrictMode=i,e.Suspense=l,e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=I,e.act=L,e.cloneElement=function(e,n,r){if(e==null)throw Error(`React.cloneElement(...): The argument must be a React element, but you passed `+e+`.`);var i=h({},e.props),a=e.key,o=e.ref,s=e._owner;if(n!=null){if(n.ref!==void 0&&(o=n.ref,s=C.current),n.key!==void 0&&(a=``+n.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in n)S.call(n,l)&&!w.hasOwnProperty(l)&&(i[l]=n[l]===void 0&&c!==void 0?c[l]:n[l])}var l=arguments.length-2;if(l===1)i.children=r;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];i.children=c}return{$$typeof:t,type:e.type,key:a,ref:o,props:i,_owner:s}},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:o,_context:e},e.Consumer=e},e.createElement=T,e.createFactory=function(e){var t=T.bind(null,e);return t.type=e,t},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=D,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:N}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=F.transition;F.transition={};try{e()}finally{F.transition=t}},e.unstable_act=L,e.useCallback=function(e,t){return P.current.useCallback(e,t)},e.useContext=function(e){return P.current.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e){return P.current.useDeferredValue(e)},e.useEffect=function(e,t){return P.current.useEffect(e,t)},e.useId=function(){return P.current.useId()},e.useImperativeHandle=function(e,t,n){return P.current.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return P.current.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return P.current.useLayoutEffect(e,t)},e.useMemo=function(e,t){return P.current.useMemo(e,t)},e.useReducer=function(e,t,n){return P.current.useReducer(e,t,n)},e.useRef=function(e){return P.current.useRef(e)},e.useState=function(e){return P.current.useState(e)},e.useSyncExternalStore=function(e,t,n){return P.current.useSyncExternalStore(e,t,n)},e.useTransition=function(){return P.current.useTransition()},e.version=`18.3.1`})),d=o(((e,t)=>{t.exports=u()})),f=new Map,p=new Map,m=null;function h(e){let t=p.get(e);if(t){p.delete(e),t.controller.abort();try{t.dispose?.()}catch(t){console.error(`[simulator-ui] extension "${e}" dispose failed:`,t)}}}function g(e){if(h(e.id),!m||!e.mount)return;let t=new AbortController,n={overlayRoot:m.overlayRoot,appId:m.appId,signal:t.signal};try{let r=e.mount(n);p.set(e.id,{controller:t,dispose:typeof r==`function`?r:void 0})}catch(n){t.abort(),console.error(`[simulator-ui] extension "${e.id}" mount failed:`,n)}}function _(){for(let e of Array.from(p.keys()))h(e);for(let e of f.values())g(e)}var v={register(e){let t=f.get(e.id);return t&&h(t.id),f.set(e.id,e),g(e),()=>{f.get(e.id)===e&&v.unregister(e.id)}},unregister(e){f.delete(e),h(e)},has(e){return f.has(e)},async invoke(e,t,n){let r=f.get(e);if(!r)throw Error(`Simulator UI extension "${e}" is not registered`);if(!r.invoke)throw Error(`Simulator UI extension "${e}" does not expose invoke()`);return await r.invoke(t,n)},async dispatchChromeAction(e){for(let t of f.values())if(t.onChromeAction)try{if(await t.onChromeAction(e)!==!1)return!0}catch(e){console.error(`[simulator-ui] extension "${t.id}" chrome action failed:`,e)}return!1}};globalThis.__diminaSimulatorUi=v;function y(e,t){let n={};return m={token:n,overlayRoot:e,appId:t},_(),()=>{m?.token===n&&(m=null,_())}}function b(e){return v.dispatchChromeAction(e)}var x=6e4;function S(e){let t=Number(e);return Number.isFinite(t)&&t>0&&t<=2147483647?t:x}function C(e){let t=new Headers;for(let[n,r]of Object.entries(e??{}))r!=null&&t.set(n,String(r));return t.has(`content-type`)||t.set(`content-type`,`application/json`),t}function w(e,t){let n=typeof location<`u`?location.href:void 0,r=new URL(e,n);for(let[e,n]of Object.entries(t))r.searchParams.append(e,String(n));return r.toString()}function T(e,t){if(typeof e==`string`)return e;if(t.includes(`application/x-www-form-urlencoded`)){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))t.append(n,String(r));return t.toString()}return JSON.stringify(e)}async function E(e,t,n){if(n===`arraybuffer`||t===`arraybuffer`)return e.arrayBuffer();let r=await e.text();if(t!==`json`)return r;try{return JSON.parse(r)}catch{return r}}function D(e,t){let n=(e.method||`GET`).toUpperCase(),r=n!==`GET`&&n!==`HEAD`,i=C(e.header),a=e.url,o={method:n,headers:i};r?e.data!=null&&(o.body=T(e.data,i.get(`content-type`)??``)):e.data&&typeof e.data==`object`&&(a=w(a,e.data));let s=new AbortController;o.signal=s.signal;let c=!1;function l(e){c||(c=!0,clearTimeout(f),t.success?.(e),t.complete?.(e))}function u(e){c||(c=!0,clearTimeout(f),t.fail?.(e),t.complete?.(e))}let d=S(e.timeout),f=setTimeout(()=>{u({errMsg:`request:fail timeout`}),s.abort()},d),p=e.dataType??`json`,m=e.responseType??`text`;return fetch(a,o).then(async e=>{let t={};e.headers.forEach((e,n)=>{t[n]=e}),l({data:await E(e,p,m),statusCode:e.status,header:t,errMsg:`request:ok`})}).catch(e=>{u({errMsg:`request:fail ${(e instanceof Error?e.message:String(e))||`network error`}`})}),{abort(){u({errMsg:`request:fail abort`}),s.abort()}}}var O=new class{state={toast:null,dialog:null};listeners=new Set;getState(){return this.state}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}showToast(e){this.set({...this.state,toast:e})}hideToast(){this.set({...this.state,toast:null})}dismissToast(e){this.state.toast===e&&this.hideToast()}showDialog(e){this.set({...this.state,dialog:e})}hideDialog(){this.set({...this.state,dialog:null})}set(e){this.state=e;for(let t of this.listeners)t(e)}},k=o((e=>{var t=d(),n=Symbol.for(`react.element`),r=Symbol.for(`react.fragment`),i=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,r){var s,c={},l=null,u=null;for(s in r!==void 0&&(l=``+r),t.key!==void 0&&(l=``+t.key),t.ref!==void 0&&(u=t.ref),t)i.call(t,s)&&!o.hasOwnProperty(s)&&(c[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)c[s]===void 0&&(c[s]=t[s]);return{$$typeof:n,type:e,key:l,ref:u,props:c,_owner:a.current}}e.Fragment=r,e.jsx=s,e.jsxs=s})),A=o(((e,t)=>{t.exports=k()}));export{b as a,l as c,y as i,c as l,O as n,d as o,D as r,o as s,A as t};
|
|
2
|
-
//# sourceMappingURL=jsx-runtime-
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),l=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")}),u=o((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.iterator;function p(e){return typeof e!=`object`||!e?null:(e=f&&e[f]||e[`@@iterator`],typeof e==`function`?e:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function _(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`setState(...): takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function v(){}v.prototype=_.prototype;function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}var b=y.prototype=new v;b.constructor=y,h(b,_.prototype),b.isPureReactComponent=!0;var x=Array.isArray,S=Object.prototype.hasOwnProperty,C={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function T(e,n,r){var i,a={},o=null,s=null;if(n!=null)for(i in n.ref!==void 0&&(s=n.ref),n.key!==void 0&&(o=``+n.key),n)S.call(n,i)&&!w.hasOwnProperty(i)&&(a[i]=n[i]);var c=arguments.length-2;if(c===1)a.children=r;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}if(e&&e.defaultProps)for(i in c=e.defaultProps,c)a[i]===void 0&&(a[i]=c[i]);return{$$typeof:t,type:e,key:o,ref:s,props:a,_owner:C.current}}function E(e,n){return{$$typeof:t,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function D(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function O(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var k=/\/+/g;function A(e,t){return typeof e==`object`&&e&&e.key!=null?O(``+e.key):t.toString(36)}function j(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0}}if(c)return c=e,o=o(c),e=a===``?`.`+A(c,0):a,x(o)?(i=``,e!=null&&(i=e.replace(k,`$&/`)+`/`),j(o,r,i,``,function(e){return e})):o!=null&&(D(o)&&(o=E(o,i+(!o.key||c&&c.key===o.key?``:(``+o.key).replace(k,`$&/`)+`/`)+e)),r.push(o)),1;if(c=0,a=a===``?`.`:a+`:`,x(e))for(var l=0;l<e.length;l++){s=e[l];var u=a+A(s,l);c+=j(s,r,i,u,o)}else if(u=p(e),typeof u==`function`)for(e=u.call(e),l=0;!(s=e.next()).done;)s=s.value,u=a+A(s,l++),c+=j(s,r,i,u,o);else if(s===`object`)throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`);return c}function M(e,t,n){if(e==null)return e;var r=[],i=0;return j(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function N(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var P={current:null},F={transition:null},I={ReactCurrentDispatcher:P,ReactCurrentBatchConfig:F,ReactCurrentOwner:C};function L(){throw Error(`act(...) is not supported in production builds of React.`)}e.Children={map:M,forEach:function(e,t,n){M(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return M(e,function(){t++}),t},toArray:function(e){return M(e,function(e){return e})||[]},only:function(e){if(!D(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}},e.Component=_,e.Fragment=r,e.Profiler=a,e.PureComponent=y,e.StrictMode=i,e.Suspense=l,e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=I,e.act=L,e.cloneElement=function(e,n,r){if(e==null)throw Error(`React.cloneElement(...): The argument must be a React element, but you passed `+e+`.`);var i=h({},e.props),a=e.key,o=e.ref,s=e._owner;if(n!=null){if(n.ref!==void 0&&(o=n.ref,s=C.current),n.key!==void 0&&(a=``+n.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in n)S.call(n,l)&&!w.hasOwnProperty(l)&&(i[l]=n[l]===void 0&&c!==void 0?c[l]:n[l])}var l=arguments.length-2;if(l===1)i.children=r;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];i.children=c}return{$$typeof:t,type:e.type,key:a,ref:o,props:i,_owner:s}},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:o,_context:e},e.Consumer=e},e.createElement=T,e.createFactory=function(e){var t=T.bind(null,e);return t.type=e,t},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=D,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:N}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=F.transition;F.transition={};try{e()}finally{F.transition=t}},e.unstable_act=L,e.useCallback=function(e,t){return P.current.useCallback(e,t)},e.useContext=function(e){return P.current.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e){return P.current.useDeferredValue(e)},e.useEffect=function(e,t){return P.current.useEffect(e,t)},e.useId=function(){return P.current.useId()},e.useImperativeHandle=function(e,t,n){return P.current.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return P.current.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return P.current.useLayoutEffect(e,t)},e.useMemo=function(e,t){return P.current.useMemo(e,t)},e.useReducer=function(e,t,n){return P.current.useReducer(e,t,n)},e.useRef=function(e){return P.current.useRef(e)},e.useState=function(e){return P.current.useState(e)},e.useSyncExternalStore=function(e,t,n){return P.current.useSyncExternalStore(e,t,n)},e.useTransition=function(){return P.current.useTransition()},e.version=`18.3.1`})),d=o(((e,t)=>{t.exports=u()})),f=new Map,p=new Map,m=null;function h(e){let t=p.get(e);if(t){p.delete(e),t.controller.abort();try{t.dispose?.()}catch(t){console.error(`[simulator-ui] extension "${e}" dispose failed:`,t)}}}function g(e){if(h(e.id),!m||!e.mount)return;let t=new AbortController,n={overlayRoot:m.overlayRoot,appId:m.appId,signal:t.signal};try{let r=e.mount(n);p.set(e.id,{controller:t,dispose:typeof r==`function`?r:void 0})}catch(n){t.abort(),console.error(`[simulator-ui] extension "${e.id}" mount failed:`,n)}}function _(){for(let e of Array.from(p.keys()))h(e);for(let e of f.values())g(e)}var v={register(e){let t=f.get(e.id);return t&&h(t.id),f.set(e.id,e),g(e),()=>{f.get(e.id)===e&&v.unregister(e.id)}},unregister(e){f.delete(e),h(e)},has(e){return f.has(e)},async invoke(e,t,n){let r=f.get(e);if(!r)throw Error(`Simulator UI extension "${e}" is not registered`);if(!r.invoke)throw Error(`Simulator UI extension "${e}" does not expose invoke()`);return await r.invoke(t,n)},async dispatchChromeAction(e){for(let t of f.values())if(t.onChromeAction)try{if(await t.onChromeAction(e)!==!1)return!0}catch(e){console.error(`[simulator-ui] extension "${t.id}" chrome action failed:`,e)}return!1}};globalThis.__diminaSimulatorUi=v;function y(e,t){let n={};return m={token:n,overlayRoot:e,appId:t},_(),()=>{m?.token===n&&(m=null,_())}}function b(e){return v.dispatchChromeAction(e)}var x=6e4;function S(e){let t=Number(e);return Number.isFinite(t)&&t>0&&t<=2147483647?t:x}function C(e){let t=new Headers;for(let[n,r]of Object.entries(e??{}))r!=null&&t.set(n,String(r));return t.has(`content-type`)||t.set(`content-type`,`application/json`),t}function w(e,t){let n=typeof location<`u`?location.href:void 0,r=new URL(e,n);for(let[e,n]of Object.entries(t))r.searchParams.append(e,String(n));return r.toString()}function T(e,t){if(typeof e==`string`)return e;if(t.includes(`application/x-www-form-urlencoded`)){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))t.append(n,String(r));return t.toString()}return JSON.stringify(e)}async function E(e,t,n){if(n===`arraybuffer`||t===`arraybuffer`)return e.arrayBuffer();let r=await e.text();if(t!==`json`)return r;try{return JSON.parse(r)}catch{return r}}function D(e,t){let n=(e.method||`GET`).toUpperCase(),r=n!==`GET`&&n!==`HEAD`,i=C(e.header),a=e.url,o={method:n,headers:i};r?e.data!=null&&(o.body=T(e.data,i.get(`content-type`)??``)):e.data&&typeof e.data==`object`&&(a=w(a,e.data));let s=new AbortController;o.signal=s.signal;let c=!1;function l(e){c||(c=!0,clearTimeout(f),t.success?.(e),t.complete?.(e))}function u(e){c||(c=!0,clearTimeout(f),t.fail?.(e),t.complete?.(e))}let d=S(e.timeout),f=setTimeout(()=>{u({errMsg:`request:fail timeout`}),s.abort()},d),p=e.dataType??`json`,m=e.responseType??`text`;return fetch(a,o).then(async e=>{let t={};e.headers.forEach((e,n)=>{t[n]=e}),l({data:await E(e,p,m),statusCode:e.status,header:t,errMsg:`request:ok`})}).catch(e=>{u({errMsg:`request:fail ${(e instanceof Error?e.message:String(e))||`network error`}`})}),{abort(){u({errMsg:`request:fail abort`}),s.abort()}}}var O=new class{state={toast:null,dialog:null};listeners=new Set;getState(){return this.state}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}showToast(e){this.set({...this.state,toast:e})}hideToast(){this.set({...this.state,toast:null})}dismissToast(e){this.state.toast===e&&this.hideToast()}showDialog(e){this.set({...this.state,dialog:e})}hideDialog(){this.set({...this.state,dialog:null})}set(e){this.state=e;for(let t of this.listeners)t(e)}},k=o((e=>{var t=d(),n=Symbol.for(`react.element`),r=Symbol.for(`react.fragment`),i=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,r){var s,c={},l=null,u=null;for(s in r!==void 0&&(l=``+r),t.key!==void 0&&(l=``+t.key),t.ref!==void 0&&(u=t.ref),t)i.call(t,s)&&!o.hasOwnProperty(s)&&(c[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)c[s]===void 0&&(c[s]=t[s]);return{$$typeof:n,type:e,key:l,ref:u,props:c,_owner:a.current}}e.Fragment=r,e.jsx=s,e.jsxs=s})),A=o(((e,t)=>{t.exports=k()}));export{y as a,o as c,S as i,l,O as n,b as o,D as r,d as s,A as t,c as u};
|
|
2
|
+
//# sourceMappingURL=jsx-runtime-DkKmJyBb.js.map
|