@anrans001/ttmg-cli 0.3.6-beta.wasmcode.split.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -0
- package/dist/index.js +11850 -0
- package/dist/index.js.map +1 -0
- package/dist/openDataContext/template/open_context.html.hbs +29 -0
- package/dist/openDataContext/template/open_context_sdk.js.hbs +16 -0
- package/dist/package.json +88 -0
- package/dist/public/assets/baseForm-BlSwM0cZ.js +10 -0
- package/dist/public/assets/baseForm-BlSwM0cZ.js.br +0 -0
- package/dist/public/assets/baseForm-DzWBZ1nI.css +1 -0
- package/dist/public/assets/baseForm-DzWBZ1nI.css.br +0 -0
- package/dist/public/assets/icon-DcfeE9nw.svg +8 -0
- package/dist/public/assets/index-4ojiQYTH.js +1 -0
- package/dist/public/assets/index-9LGhLiO-.js +1 -0
- package/dist/public/assets/index-9LGhLiO-.js.br +0 -0
- package/dist/public/assets/index-B0rEQNzZ.js +1 -0
- package/dist/public/assets/index-B6DYsrdP.js +1 -0
- package/dist/public/assets/index-BFPQPvSA.css +1 -0
- package/dist/public/assets/index-BLfeu5YF.css +1 -0
- package/dist/public/assets/index-BPf4cmgA.css +1 -0
- package/dist/public/assets/index-BSpAncbU.css +1 -0
- package/dist/public/assets/index-BqGAmMye.css +1 -0
- package/dist/public/assets/index-C1wJuGuX.js +1 -0
- package/dist/public/assets/index-C1wJuGuX.js.br +0 -0
- package/dist/public/assets/index-C7C5ulLg.css +1 -0
- package/dist/public/assets/index-C7TANh6s.js +1 -0
- package/dist/public/assets/index-CFcABxBe.css +1 -0
- package/dist/public/assets/index-CK_U0Hdx.js +1 -0
- package/dist/public/assets/index-CKw1GdOh.js +1 -0
- package/dist/public/assets/index-CMVdacE6.js +1 -0
- package/dist/public/assets/index-CkUQlQ6l.js +1 -0
- package/dist/public/assets/index-Cr-wghsi.css +1 -0
- package/dist/public/assets/index-Cr-wghsi.css.br +0 -0
- package/dist/public/assets/index-CtaSaIq7.css +1 -0
- package/dist/public/assets/index-D-vT04G4.js +1 -0
- package/dist/public/assets/index-D1Hppiwz.js +1 -0
- package/dist/public/assets/index-DOmSn_x5.js +59 -0
- package/dist/public/assets/index-DOmSn_x5.js.br +0 -0
- package/dist/public/assets/index-DXFg6tGR.css +1 -0
- package/dist/public/assets/index-D_31QZCr.js +1 -0
- package/dist/public/assets/index-D_31QZCr.js.br +0 -0
- package/dist/public/assets/index-Dcdc0Lzb.css +1 -0
- package/dist/public/assets/index-DeQT3JAU.css +1 -0
- package/dist/public/assets/index-DqFmR7Qk.css +1 -0
- package/dist/public/assets/index-DsIb6ZUl.css +1 -0
- package/dist/public/assets/index-DsyAl3FY.js +1 -0
- package/dist/public/assets/index-DsyAl3FY.js.br +0 -0
- package/dist/public/assets/index-G1jifyp4.js +1 -0
- package/dist/public/assets/index-GaMxCcrF.js +1 -0
- package/dist/public/assets/index-Rm6ShNzz.css +1 -0
- package/dist/public/assets/index-Rm6ShNzz.css.br +0 -0
- package/dist/public/assets/index-Wj_kzecB.js +1 -0
- package/dist/public/assets/index-XY8Gg_WJ.css +1 -0
- package/dist/public/assets/index-XY8Gg_WJ.css.br +0 -0
- package/dist/public/assets/index-e6cINrNl.js +1 -0
- package/dist/public/assets/index-e6cINrNl.js.br +0 -0
- package/dist/public/assets/index-gJcsWhoa.css +1 -0
- package/dist/public/assets/index-tReoEVof.css +1 -0
- package/dist/public/assets/isPlainObject-Bjx6qRk8.js +1 -0
- package/dist/public/assets/times-G9laB4vc.js +1 -0
- package/dist/public/icon.svg +8 -0
- package/dist/public/index.html +68 -0
- package/dist/public/scripts/krypton.js +11 -0
- package/dist/public/scripts/ttmg-core.js +24 -0
- package/dist/scripts/build.js +23 -0
- package/dist/scripts/dev-debug.js +191 -0
- package/dist/scripts/resetLocalState.js +48 -0
- package/dist/scripts/setup.js +30 -0
- package/dist/scripts/test-protocol.js +29 -0
- package/dist/scripts/test-regression.js +94 -0
- package/dist/scripts/test-regression.ts +93 -0
- package/dist/scripts/worker.js +263 -0
- package/package.json +88 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as o,r as e,aa as c,i as l,j as a,H as i,ab as s}from"./index-DOmSn_x5.js";function h(t){return e.createElement("svg",Object.assign({viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",focusable:!1,"aria-hidden":!0},t),e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 23a11 11 0 1 0 0-22 11 11 0 0 0 0 22Zm5-8c.48 0 .94-.05 1.39-.14a7 7 0 1 1-7.78-9.72A7 7 0 0 0 17 15Z",fill:"currentColor"}))}const m=o(h,"moon");function d(t){return e.createElement("svg",Object.assign({viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",focusable:!1,"aria-hidden":!0},t),e.createElement("path",{d:"M10.5 1.5a1.5 1.5 0 0 1 3 0v1a1.5 1.5 0 0 1-3 0v-1Z",fill:"currentColor"}),e.createElement("path",{d:"M10.5 21.5a1.5 1.5 0 0 1 3 0v1a1.5 1.5 0 0 1-3 0v-1Z",fill:"currentColor"}),e.createElement("path",{d:"M24 12c0-.83-.67-1.5-1.5-1.5h-1a1.5 1.5 0 0 0 0 3h1c.83 0 1.5-.67 1.5-1.5Z",fill:"currentColor"}),e.createElement("path",{d:"M2.5 10.5a1.5 1.5 0 0 1 0 3h-1a1.5 1.5 0 0 1 0-3h1Z",fill:"currentColor"}),e.createElement("path",{d:"M20.49 3.51a1.5 1.5 0 0 0-2.13 0l-.7.71a1.5 1.5 0 1 0 2.12 2.12l.7-.7a1.5 1.5 0 0 0 0-2.13Z",fill:"currentColor"}),e.createElement("path",{d:"M4.22 17.66a1.5 1.5 0 1 1 2.12 2.12l-.7.7a1.5 1.5 0 1 1-2.13-2.12l.71-.7Z",fill:"currentColor"}),e.createElement("path",{d:"M3.51 3.51a1.5 1.5 0 0 0 0 2.13l.71.7a1.5 1.5 0 0 0 2.12-2.12l-.7-.7a1.5 1.5 0 0 0-2.13 0Z",fill:"currentColor"}),e.createElement("path",{d:"M17.66 19.78a1.5 1.5 0 1 1 2.12-2.12l.7.7a1.5 1.5 0 1 1-2.12 2.13l-.7-.71Z",fill:"currentColor"}),e.createElement("path",{d:"M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14Z",fill:"currentColor"}))}const p=o(d,"sun"),f=()=>{const t=c(),r=t==="dark",n=r?l("themeLight"):l("themeDark");return a.jsx(i,{content:`${l("themeSwitcherLabel")} · ${n}`,position:"bottom",children:a.jsx("button",{type:"button",className:"theme-switcher tt-header-chip theme-switcher-"+t,"aria-label":n,onClick:()=>s(r?"light":"dark"),children:a.jsx("span",{className:"theme-switcher-icon-wrap",children:r?a.jsx(p,{className:"theme-switcher-icon"}):a.jsx(m,{className:"theme-switcher-icon"})})})})};export{f as ThemeSwitcher};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.semi-navigation{box-sizing:border-box;display:inline-flex;width:240px;outline:none;overflow:hidden;margin:0;padding-left:8px;padding-right:8px;-webkit-user-select:none;user-select:none;transition:padding-left .1s ease-out,width .2s cubic-bezier(.62,.05,.36,.95);border-right:1px solid var(--semi-color-border);background-color:var(--semi-color-nav-bg)}.semi-navigation-inner{width:100%;height:100%;display:flex;justify-content:space-between}.semi-navigation-list{margin:0;padding:0;list-style:none}.semi-navigation-list>.semi-navigation-item-normal{height:36px}.semi-navigation-list>.semi-navigation-item{font-weight:600}.semi-navigation-list>.semi-navigation-item>.semi-navigation-sub-title{font-weight:600}.semi-navigation-collapsed{width:60px;padding-left:8px;padding-right:8px;transition:padding-left .1s ease-out,width .2s cubic-bezier(.62,.05,.36,.95)}.semi-navigation-collapsed .semi-navigation-item-text{transition:opacity .2s cubic-bezier(.5,-.1,1,.4);opacity:0}.semi-navigation-collapsed .semi-navigation-item-icon:last-child{transition:opacity .2s cubic-bezier(.5,-.1,1,.4);opacity:0}.semi-navigation-sub-wrap .semi-navigation-sub-title,.semi-navigation-item{cursor:pointer;display:flex;border-radius:var(--semi-border-radius-small);padding:8px 12px;box-sizing:border-box;margin-top:0;margin-bottom:8px;font-size:14px;line-height:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:var(--semi-color-text-0);width:100%;transition:background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none)}.semi-navigation-sub-wrap .semi-navigation-sub-title-text,.semi-navigation-item-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:opacity .2s cubic-bezier(.5,-.1,1,.4);opacity:1}.semi-navigation-sub-wrap .semi-navigation-sub-title-indent,.semi-navigation-item-indent{width:32px}.semi-navigation-sub-wrap .semi-navigation-sub-title:focus-visible,.semi-navigation-item:focus-visible{outline:2px solid var(--semi-color-primary-light-active);outline-offset:-2px}.semi-navigation-header-link,.semi-navigation-item-link{display:flex;width:100%;color:inherit;text-decoration:none;align-items:center;justify-content:flex-start}.semi-navigation-item-has-link{padding:0}.semi-navigation-item-has-link .semi-navigation-item-link{padding:8px 12px}.semi-navigation-item-sub{padding:0}.semi-navigation-sub-wrap>.semi-navigation-item-inner{width:100%}.semi-navigation-sub-wrap .semi-navigation-sub-title>.semi-navigation-item-inner{display:flex}.semi-navigation-item-inner{display:flex;align-items:center;width:100%;flex:0 0 auto}.semi-navigation-item-title{opacity:1;transition:opacity .1s 100s ease-out}.semi-navigation .semi-navigation-sub-title{margin-bottom:0}.semi-navigation-item-icon-info{display:inline-flex;color:var(--semi-color-text-2);margin-right:12px;min-width:20px;margin-left:0}.semi-navigation-item-icon-toggle-left{display:inline-flex;color:var(--semi-color-text-2);margin-right:12px;min-width:20px}.semi-navigation-item-icon-toggle-right{display:inline-flex;color:var(--semi-color-text-2);margin-left:auto;transition:opacity .2s cubic-bezier(.5,-.1,1,.4);opacity:1}.semi-navigation-item-selected{background-color:var(--semi-color-primary-light-default);color:var(--semi-color-text-0)}.semi-navigation-item-selected .semi-navigation-item-icon:first-child{color:var(--semi-color-primary)}.semi-navigation-item-selected.semi-navigation-item-disabled{background-color:transparent;color:var(--semi-color-primary-disabled);cursor:not-allowed}.semi-navigation-item-selected.semi-navigation-item-disabled .semi-navigation-item-icon:first-child{color:var(--semi-color-primary-disabled)}.semi-navigation-item-disabled{background-color:transparent;color:var(--semi-color-disabled-text);cursor:not-allowed}.semi-navigation-item-disabled .semi-navigation-item-icon,.semi-navigation-item-disabled .semi-navigation-item-icon:first-child{color:var(--semi-color-disabled-text)}.semi-navigation-inner>.semi-navigation-item{color:var(--semi-color-text-0)}.semi-navigation-item-normal:hover:not(.semi-navigation-item-selected){background-color:var(--semi-color-fill-0);color:var(--semi-color-text-0)}.semi-navigation-item-normal:hover:not(.semi-navigation-item-selected) .semi-navigation-item-icon:first-child{color:var(--semi-color-text-2)}.semi-navigation-item-normal:hover.semi-navigation-item-selected{color:var(--semi-color-text-0);background-color:var(--semi-color-fill-0)}.semi-navigation-item-normal:hover.semi-navigation-item-selected .semi-navigation-item-icon:first-child{color:var(--semi-color-primary)}.semi-navigation-item-normal:hover.semi-navigation-item-disabled{background-color:transparent;color:var(--semi-color-disabled-text);cursor:not-allowed}.semi-navigation-item-normal:hover.semi-navigation-item-disabled .semi-navigation-item-icon,.semi-navigation-item-normal:hover.semi-navigation-item-disabled .semi-navigation-item-icon:first-child{color:var(--semi-color-disabled-text)}.semi-navigation-item-normal:hover.semi-navigation-item-selected.semi-navigation-item-disabled{background-color:transparent;color:var(--semi-color-primary-disabled);cursor:not-allowed}.semi-navigation-item-normal:hover.semi-navigation-item-selected.semi-navigation-item-disabled .semi-navigation-item-icon:first-child{color:var(--semi-color-primary-disabled)}.semi-navigation-item-normal:active:not(.semi-navigation-item-selected),.semi-navigation-inner>.semi-navigation-item-normal:active:not(.semi-navigation-item-selected){background-color:var(--semi-color-fill-1);color:var(--semi-color-text-0)}.semi-navigation-item-normal:active:not(.semi-navigation-item-selected) .semi-navigation-item-icon:first-child,.semi-navigation-inner>.semi-navigation-item-normal:active:not(.semi-navigation-item-selected) .semi-navigation-item-icon:first-child{color:var(--semi-color-text-2)}.semi-navigation-item-normal:active.semi-navigation-item-selected,.semi-navigation-inner>.semi-navigation-item-normal:active.semi-navigation-item-selected{color:var(--semi-color-text-0);background-color:var(--semi-color-fill-1)}.semi-navigation-item-normal:active.semi-navigation-item-selected .semi-navigation-item-icon:first-child,.semi-navigation-inner>.semi-navigation-item-normal:active.semi-navigation-item-selected .semi-navigation-item-icon:first-child{color:var(--semi-color-primary)}.semi-navigation-item-normal:active.semi-navigation-item-disabled,.semi-navigation-inner>.semi-navigation-item-normal:active.semi-navigation-item-disabled{background-color:transparent;color:var(--semi-color-disabled-text);cursor:not-allowed}.semi-navigation-item-normal:active.semi-navigation-item-disabled .semi-navigation-item-icon,.semi-navigation-item-normal:active.semi-navigation-item-disabled .semi-navigation-item-icon:first-child,.semi-navigation-inner>.semi-navigation-item-normal:active.semi-navigation-item-disabled .semi-navigation-item-icon,.semi-navigation-inner>.semi-navigation-item-normal:active.semi-navigation-item-disabled .semi-navigation-item-icon:first-child{color:var(--semi-color-disabled-text)}.semi-navigation-sub-wrap .semi-navigation-item-inner{display:block}.semi-navigation-sub-wrap{display:block;padding:0;margin-top:0;height:inherit}.semi-navigation-sub-wrap .semi-navigation-sub-title{display:flex;justify-content:flex-start;height:36px;align-items:center}.semi-navigation-sub{font-weight:400;font-size:14px;list-style:none;outline:none;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.semi-navigation-sub .semi-navigation-item{color:var(--semi-color-text-0);background-color:transparent;height:36px;font-weight:400;width:100%}.semi-navigation-sub .semi-navigation-item:first-child{margin-top:8px}.semi-navigation-sub .semi-navigation-item>.semi-navigation-sub .semi-navigation-item-text:first-child{margin-left:44px}.semi-navigation-sub .semi-navigation-item:hover:not(.semi-navigation-sub-wrap):not(.semi-navigation-item-selected):not(.semi-navigation-item-disabled){background-color:var(--semi-color-fill-0);color:var(--semi-color-text-0)}.semi-navigation-sub .semi-navigation-item:hover:not(.semi-navigation-sub-wrap):not(.semi-navigation-item-selected):not(.semi-navigation-item-disabled) .semi-navigation-item-icon:first-child{color:var(--semi-color-text-2)}.semi-navigation-sub .semi-navigation-item:hover.semi-navigation-item-disabled{background-color:transparent;color:var(--semi-color-disabled-text);cursor:not-allowed}.semi-navigation-sub .semi-navigation-item:hover.semi-navigation-item-disabled .semi-navigation-item-icon,.semi-navigation-sub .semi-navigation-item:hover.semi-navigation-item-disabled .semi-navigation-item-icon:first-child{color:var(--semi-color-disabled-text)}.semi-navigation-sub .semi-navigation-item:hover.semi-navigation-item-selected{background-color:var(--semi-color-primary-light-default);color:var(--semi-color-text-0)}.semi-navigation-sub .semi-navigation-item:hover.semi-navigation-item-selected .semi-navigation-item-icon:first-child{color:var(--semi-color-primary)}.semi-navigation-sub .semi-navigation-item:active:not(.semi-navigation-sub-wrap):not(.semi-navigation-item-selected):not(.semi-navigation-item-disabled){background-color:var(--semi-color-fill-1);color:var(--semi-color-text-0)}.semi-navigation-sub .semi-navigation-item:active:not(.semi-navigation-sub-wrap):not(.semi-navigation-item-selected):not(.semi-navigation-item-disabled) .semi-navigation-item-icon:first-child{color:var(--semi-color-text-2)}.semi-navigation-sub .semi-navigation-item:active.semi-navigation-item-disabled{background-color:transparent;color:var(--semi-color-disabled-text);cursor:not-allowed}.semi-navigation-sub .semi-navigation-item:active.semi-navigation-item-disabled .semi-navigation-item-icon,.semi-navigation-sub .semi-navigation-item:active.semi-navigation-item-disabled .semi-navigation-item-icon:first-child{color:var(--semi-color-disabled-text)}.semi-navigation-sub .semi-navigation-item:active.semi-navigation-item-selected{background-color:var(--semi-color-primary-light-default);color:var(--semi-color-text-0)}.semi-navigation-sub .semi-navigation-item:active.semi-navigation-item-selected .semi-navigation-item-icon:first-child{color:var(--semi-color-primary)}.semi-navigation-sub .semi-navigation-item-selected{background-color:var(--semi-color-primary-light-default);color:var(--semi-color-text-0)}.semi-navigation-sub .semi-navigation-item-selected .semi-navigation-item-icon:first-child{color:var(--semi-color-primary)}.semi-navigation-sub .semi-navigation-item-selected.semi-navigation-item-disabled{cursor:not-allowed;background-color:var(--semi-color-primary-light-default);color:var(--semi-color-disabled-text)}.semi-navigation-sub .semi-navigation-item-disabled{background-color:transparent;color:var(--semi-color-disabled-text);cursor:not-allowed}.semi-navigation-sub .semi-navigation-item-disabled .semi-navigation-item-icon,.semi-navigation-sub .semi-navigation-item-disabled .semi-navigation-item-icon:first-child{color:var(--semi-color-disabled-text)}.semi-navigation-sub .semi-navigation-sub-wrap{height:inherit}.semi-navigation-icon-rotate-0{transition:transform .2s ease-in-out;transform:rotate(0)}.semi-navigation-icon-rotate-180{transition:transform .2s ease-in-out;transform:rotate(-180deg)}.semi-navigation-header{display:inline-flex;align-items:center;box-sizing:border-box}.semi-navigation-header-logo{margin-left:0;margin-right:8px;display:inline-flex}.semi-navigation-header-logo>.semi-icon,.semi-navigation-header-logo>img{width:36px;height:36px;object-fit:scale-down}.semi-navigation-header-text{font-size:18px;line-height:24px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600;display:inline-flex;color:var(--semi-color-text-0);white-space:nowrap;text-overflow:ellipsis;transition:opacity .2s cubic-bezier(.5,-.1,1,.4);opacity:1}.semi-navigation-footer{box-sizing:border-box;padding:16px 24px;display:inline-flex;align-items:center}.semi-navigation-footer .semi-navigation-collapse-btn{text-overflow:ellipsis;white-space:nowrap}.semi-navigation-collapsed .semi-navigation-header{justify-content:center}.semi-navigation-collapsed .semi-navigation-header .semi-navigation-header-logo{margin-right:0;width:100%}.semi-navigation-collapsed .semi-navigation-header .semi-navigation-header-logo>.semi-icon,.semi-navigation-collapsed .semi-navigation-header .semi-navigation-header-logo>img{width:36px;max-width:100%;max-height:100%}.semi-navigation-collapsed .semi-navigation-header .semi-navigation-header-text{transition:opacity .2s cubic-bezier(.5,-.1,1,.4);opacity:0}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-item-selected:not(.semi-navigation-item-disabled).semi-navigation-item-normal:hover .semi-navigation-item-icon:first-child{color:var(--semi-color-primary)}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title{color:var(--semi-color-text-0);background-color:transparent}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title-selected{font-weight:600;background-color:var(--semi-color-primary-light-default);color:var(--semi-color-text-0)}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title-selected .semi-navigation-item-icon:first-child{color:var(--semi-color-primary)}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title-selected{background-color:transparent}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title-selected.semi-navigation-sub-title-disabled{background-color:transparent;color:var(--semi-color-primary-disabled);cursor:not-allowed}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title-selected.semi-navigation-sub-title-disabled .semi-navigation-item-icon:first-child{color:var(--semi-color-primary-disabled)}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title-disabled{font-weight:600;background-color:transparent;color:var(--semi-color-disabled-text);cursor:not-allowed}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title-disabled .semi-navigation-item-icon,.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title-disabled .semi-navigation-item-icon:first-child{color:var(--semi-color-disabled-text)}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:hover:not(.semi-navigation-sub-title-selected){background-color:var(--semi-color-fill-0);color:var(--semi-color-text-0)}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:hover:not(.semi-navigation-sub-title-selected) .semi-navigation-item-icon:first-child{color:var(--semi-color-text-2)}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:hover.semi-navigation-sub-title-selected{color:var(--semi-color-text-0);background-color:var(--semi-color-fill-0)}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:hover.semi-navigation-sub-title-selected .semi-navigation-item-icon:first-child{color:var(--semi-color-primary)}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:active:not(.semi-navigation-sub-title-selected){background-color:var(--semi-color-fill-1);color:var(--semi-color-text-0)}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:active:not(.semi-navigation-sub-title-selected) .semi-navigation-item-icon:first-child{color:var(--semi-color-text-2)}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:active.semi-navigation-sub-title-selected{color:var(--semi-color-text-0);background-color:var(--semi-color-fill-1)}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:active.semi-navigation-sub-title-selected .semi-navigation-item-icon:first-child{color:var(--semi-color-primary)}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:hover.semi-navigation-sub-title-disabled:not(.semi-navigation-sub-title-selected),.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:active.semi-navigation-sub-title-disabled:not(.semi-navigation-sub-title-selected){background-color:transparent;color:var(--semi-color-disabled-text);cursor:not-allowed}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:hover.semi-navigation-sub-title-disabled:not(.semi-navigation-sub-title-selected) .semi-navigation-item-icon,.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:hover.semi-navigation-sub-title-disabled:not(.semi-navigation-sub-title-selected) .semi-navigation-item-icon:first-child,.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:active.semi-navigation-sub-title-disabled:not(.semi-navigation-sub-title-selected) .semi-navigation-item-icon,.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:active.semi-navigation-sub-title-disabled:not(.semi-navigation-sub-title-selected) .semi-navigation-item-icon:first-child{color:var(--semi-color-disabled-text)}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:hover.semi-navigation-sub-title-disabled.semi-navigation-sub-title-selected,.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:active.semi-navigation-sub-title-disabled.semi-navigation-sub-title-selected{background-color:transparent;color:var(--semi-color-primary-disabled);cursor:not-allowed}.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:hover.semi-navigation-sub-title-disabled.semi-navigation-sub-title-selected .semi-navigation-item-icon:first-child,.semi-navigation-vertical .semi-navigation-list>.semi-navigation-sub-wrap>.semi-navigation-sub-title:active.semi-navigation-sub-title-disabled.semi-navigation-sub-title-selected .semi-navigation-item-icon:first-child{color:var(--semi-color-primary-disabled)}.semi-navigation-vertical .semi-navigation-list .semi-navigation-sub-wrap>.semi-navigation-sub-title-disabled{background-color:transparent;color:var(--semi-color-disabled-text);cursor:not-allowed}.semi-navigation-vertical .semi-navigation-list .semi-navigation-sub-wrap>.semi-navigation-sub-title-disabled .semi-navigation-item-icon,.semi-navigation-vertical .semi-navigation-list .semi-navigation-sub-wrap>.semi-navigation-sub-title-disabled .semi-navigation-item-icon:first-child{color:var(--semi-color-disabled-text)}.semi-navigation-vertical .semi-navigation-list .semi-navigation-sub-wrap>.semi-navigation-sub-title:hover:not(.semi-navigation-sub-title-selected){background-color:var(--semi-color-fill-0);color:var(--semi-color-text-0)}.semi-navigation-vertical .semi-navigation-list .semi-navigation-sub-wrap>.semi-navigation-sub-title:hover:not(.semi-navigation-sub-title-selected) .semi-navigation-item-icon:first-child{color:var(--semi-color-text-2)}.semi-navigation-vertical .semi-navigation-list .semi-navigation-sub-wrap>.semi-navigation-sub-title:hover.semi-navigation-sub-title-selected{color:var(--semi-color-text-0);background-color:var(--semi-color-fill-0)}.semi-navigation-vertical .semi-navigation-list .semi-navigation-sub-wrap>.semi-navigation-sub-title:hover.semi-navigation-sub-title-selected .semi-navigation-item-icon:first-child{color:var(--semi-color-primary)}.semi-navigation-vertical .semi-navigation-list .semi-navigation-sub-wrap>.semi-navigation-sub-title:hover.semi-navigation-sub-title-disabled:not(.semi-navigation-sub-title-selected){background-color:transparent;color:var(--semi-color-disabled-text);cursor:not-allowed}.semi-navigation-vertical .semi-navigation-list .semi-navigation-sub-wrap>.semi-navigation-sub-title:hover.semi-navigation-sub-title-disabled:not(.semi-navigation-sub-title-selected) .semi-navigation-item-icon,.semi-navigation-vertical .semi-navigation-list .semi-navigation-sub-wrap>.semi-navigation-sub-title:hover.semi-navigation-sub-title-disabled:not(.semi-navigation-sub-title-selected) .semi-navigation-item-icon:first-child{color:var(--semi-color-disabled-text)}.semi-navigation-vertical .semi-navigation-list .semi-navigation-sub-wrap>.semi-navigation-sub-title:hover.semi-navigation-sub-title-disabled.semi-navigation-sub-title-selected{background-color:transparent;color:var(--semi-color-primary-disabled);cursor:not-allowed}.semi-navigation-vertical .semi-navigation-list .semi-navigation-sub-wrap>.semi-navigation-sub-title:hover.semi-navigation-sub-title-disabled.semi-navigation-sub-title-selected .semi-navigation-item-icon:first-child{color:var(--semi-color-primary-disabled)}.semi-navigation-vertical .semi-navigation-item:last-of-type{margin-bottom:0}.semi-navigation-vertical .semi-navigation-inner{flex-direction:column}.semi-navigation-vertical .semi-navigation-header-list-outer{height:100%}.semi-navigation-vertical .semi-navigation-list-wrapper{padding-top:12px;overflow-y:auto;overflow-x:hidden}.semi-navigation-vertical .semi-navigation-header{padding:32px 8px 36px 3.5px;width:100%}.semi-navigation-vertical .semi-navigation-header-collapsed{padding-left:3.5px;padding-right:0;transition:padding-left .1s ease-out,width .2s cubic-bezier(.62,.05,.36,.95)}.semi-navigation-vertical .semi-navigation-footer{color:var(--semi-color-text-2);padding-left:8px;padding-right:8px}.semi-navigation-vertical .semi-navigation-footer .semi-navigation-collapse-btn .semi-button-content-right{margin-left:12px;opacity:1;transition:opacity .2s cubic-bezier(.5,-.1,1,.4)}.semi-navigation-vertical .semi-navigation-footer .semi-navigation-collapse-btn>.semi-button{padding-left:8px;padding-right:8px}.semi-navigation-vertical .semi-navigation-footer-collapsed{justify-content:center}.semi-navigation-vertical .semi-navigation-footer-collapsed .semi-navigation-collapse-btn{width:100%}.semi-navigation-vertical .semi-navigation-footer-collapsed .semi-navigation-collapse-btn .semi-button-content-right{opacity:0;transition:opacity .2s cubic-bezier(.5,-.1,1,.4)}.semi-navigation-horizontal{width:100%;height:60px;border-right:none;border-bottom:1px solid var(--semi-color-border);padding-left:24px;padding-right:24px}.semi-navigation-horizontal .semi-navigation-inner{flex-direction:row}.semi-navigation-horizontal .semi-navigation-header-list-outer{display:inline-flex;align-items:center}.semi-navigation-horizontal .semi-navigation-header-list-outer-collapsed{align-items:baseline}.semi-navigation-horizontal .semi-navigation-header{width:inherit;margin-right:24px}.semi-navigation-horizontal .semi-navigation-list{display:inline-flex;align-items:center}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item{margin-bottom:0;color:var(--semi-color-text-2);background-color:transparent}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item .semi-navigation-item-icon:first-child{color:var(--semi-color-text-2)}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-selected{color:var(--semi-color-text-0);background-color:transparent}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-selected .semi-navigation-item-icon:first-child{color:var(--semi-color-text-0)}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-disabled{color:var(--semi-color-disabled-text);background-color:transparent;cursor:not-allowed}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-disabled .semi-navigation-item-icon,.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-disabled .semi-navigation-item-icon:first-child{color:var(--semi-color-disabled-text)}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-normal:hover:not(.semi-navigation-item-selected){color:var(--semi-color-text-1);background-color:transparent}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-normal:hover:not(.semi-navigation-item-selected) .semi-navigation-item-icon:first-child{color:var(--semi-color-text-1)}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-normal:hover:not(.semi-navigation-item-selected) .semi-navigation-item-text{color:var(--semi-color-text-1);background-color:transparent}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-normal:active:not(.semi-navigation-item-selected){color:var(--semi-color-text-0);background-color:transparent}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-normal:active:not(.semi-navigation-item-selected) .semi-navigation-item-icon:first-child{color:var(--semi-color-text-0)}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-normal:hover.semi-navigation-item-disabled,.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-normal:active.semi-navigation-item-disabled{color:var(--semi-color-disabled-text);background-color:transparent;cursor:not-allowed}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-normal:hover.semi-navigation-item-disabled .semi-navigation-item-icon,.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-normal:hover.semi-navigation-item-disabled .semi-navigation-item-icon:first-child,.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-normal:active.semi-navigation-item-disabled .semi-navigation-item-icon,.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-normal:active.semi-navigation-item-disabled .semi-navigation-item-icon:first-child{color:var(--semi-color-disabled-text)}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-normal:hover.semi-navigation-item-disabled .semi-navigation-item-text,.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item-normal:active.semi-navigation-item-disabled .semi-navigation-item-text{color:var(--semi-color-disabled-text);background-color:transparent}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-item:not(:last-of-type){margin-right:8px}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-sub-title .semi-navigation-item-text{color:var(--semi-color-text-2);background-color:transparent}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-sub-title-selected .semi-navigation-item-icon:first-child,.semi-navigation-horizontal .semi-navigation-list .semi-navigation-sub-title-selected .semi-navigation-item-text{color:var(--semi-color-text-0);background-color:transparent}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-sub-title-disabled{cursor:not-allowed}.semi-navigation-horizontal .semi-navigation-list .semi-navigation-sub-title-disabled .semi-navigation-item-icon:first-child,.semi-navigation-horizontal .semi-navigation-list .semi-navigation-sub-title-disabled .semi-navigation-item-text{color:var(--semi-color-disabled-text);background-color:transparent}.semi-navigation-horizontal .semi-navigation-item-inner{width:auto}.semi-navigation-horizontal .semi-navigation-item-icon:last-child{margin-left:8px}.semi-navigation-horizontal .semi-navigation-item-icon:first-child{margin-right:8px}.semi-navigation-horizontal .semi-navigation-item{width:auto}.semi-navigation-horizontal .semi-navigation-item-collapsed{word-wrap:none;text-overflow:ellipsis}.semi-navigation-horizontal .semi-navigation-footer{border-top:none;padding-right:0}.semi-navigation-horizontal .semi-navigation-footer-collapsed{justify-content:center;flex-direction:row;align-items:center}.semi-navigation-popover .semi-navigation-sub-title{width:100%}.semi-navigation-popover .semi-navigation-item-selected{font-weight:400}.semi-dropdown-item .semi-navigation-sub-title{box-sizing:border-box;padding:8px 12px;width:100%}.semi-dropdown-item.semi-navigation-item{margin-top:0;margin-bottom:0;min-width:150px}.semi-dropdown-menu .semi-navigation-item-sub{padding:0}.semi-rtl .semi-navigation,.semi-portal-rtl .semi-navigation{direction:rtl;border-right:0;border-left:1px solid var(--semi-color-border);transition:padding-right .1s ease-out,width .2s cubic-bezier(.62,.05,.36,.95)}.semi-rtl .semi-navigation-collapsed,.semi-portal-rtl .semi-navigation-collapsed{transition:padding-right .1s ease-out,width .2s cubic-bezier(.62,.05,.36,.95)}.semi-rtl .semi-navigation-item-icon:first-child,.semi-portal-rtl .semi-navigation-item-icon:first-child{margin-right:0;margin-left:12px}.semi-rtl .semi-navigation-item-icon:last-child,.semi-portal-rtl .semi-navigation-item-icon:last-child{margin-left:0;margin-right:auto}.semi-rtl .semi-navigation-sub .semi-navigation-item>.semi-rtl .semi-navigation-sub .semi-navigation-item-text:first-child,.semi-rtl .semi-navigation-sub .semi-navigation-item>.semi-portal-rtl .semi-navigation-sub .semi-navigation-item-text:first-child,.semi-portal-rtl .semi-navigation-sub .semi-navigation-item>.semi-rtl .semi-navigation-sub .semi-navigation-item-text:first-child,.semi-portal-rtl .semi-navigation-sub .semi-navigation-item>.semi-portal-rtl .semi-navigation-sub .semi-navigation-item-text:first-child{margin-left:auto;margin-right:44px}.semi-rtl .semi-navigation-sub .semi-navigation-item>.semi-navigation-item-icon:first-child,.semi-portal-rtl .semi-navigation-sub .semi-navigation-item>.semi-navigation-item-icon:first-child{margin-right:12px}.semi-rtl .semi-navigation-header,.semi-portal-rtl .semi-navigation-header{display:inline-flex;align-items:center;box-sizing:border-box}.semi-rtl .semi-navigation-header-logo,.semi-portal-rtl .semi-navigation-header-logo{margin-left:8px;margin-right:0;display:inline-flex}.semi-rtl .semi-navigation-collapsed,.semi-portal-rtl .semi-navigation-collapsed{direction:rtl}.semi-rtl .semi-navigation-collapsed .semi-navigation-header .semi-navigation-header-logo,.semi-portal-rtl .semi-navigation-collapsed .semi-navigation-header .semi-navigation-header-logo{margin-right:auto;margin-left:0}.semi-rtl .semi-navigation-vertical,.semi-portal-rtl .semi-navigation-vertical{direction:rtl}.semi-rtl .semi-navigation-vertical .semi-navigation-header,.semi-portal-rtl .semi-navigation-vertical .semi-navigation-header{padding-right:3.5px;padding-left:8px}.semi-rtl .semi-navigation-vertical .semi-navigation-header-collapsed,.semi-portal-rtl .semi-navigation-vertical .semi-navigation-header-collapsed{padding-right:3.5px;padding-left:0;transition:padding-right .1s ease-out,width .2s cubic-bezier(.62,.05,.36,.95)}.semi-rtl .semi-navigation-vertical .semi-navigation-footer .semi-navigation-collapse-btn .semi-button-content-right,.semi-portal-rtl .semi-navigation-vertical .semi-navigation-footer .semi-navigation-collapse-btn .semi-button-content-right{margin-left:auto;margin-right:12px;transition:opacity .2s cubic-bezier(.5,-.1,1,.4)}.semi-rtl .semi-navigation-horizontal,.semi-portal-rtl .semi-navigation-horizontal{direction:rtl;border-right:auto;border-left:none;padding-left:24px;padding-right:24px}.semi-rtl .semi-navigation-horizontal .semi-navigation-header,.semi-portal-rtl .semi-navigation-horizontal .semi-navigation-header{margin-right:auto;margin-left:24px}.semi-rtl .semi-navigation-horizontal .semi-navigation-list .semi-navigation-item:not(:last-of-type),.semi-portal-rtl .semi-navigation-horizontal .semi-navigation-list .semi-navigation-item:not(:last-of-type){margin-right:auto;margin-left:8px}.semi-rtl .semi-navigation-horizontal .semi-navigation-item-icon:last-child,.semi-portal-rtl .semi-navigation-horizontal .semi-navigation-item-icon:last-child{margin-left:auto;margin-right:8px}.semi-rtl .semi-navigation-horizontal .semi-navigation-item-icon:first-child,.semi-portal-rtl .semi-navigation-horizontal .semi-navigation-item-icon:first-child{margin-right:auto;margin-left:8px}.semi-rtl .semi-navigation-horizontal .semi-navigation-footer,.semi-portal-rtl .semi-navigation-horizontal .semi-navigation-footer{padding-right:auto;padding-left:0}.semi-navigation{width:200px;background:transparent;border:none}.semi-navigation-list>.semi-navigation-item{display:flex;align-items:center;font-weight:500;color:var(--tt-text);border-radius:10px;margin:2px 4px;padding:8px 12px;transition:all .2s ease;position:relative;overflow:hidden}.semi-navigation-item-icon-info{margin-right:8px}.semi-navigation-list>.semi-navigation-item .semi-navigation-item-icon,.semi-navigation-list>.semi-navigation-item .semi-icon{color:var(--tt-text-dim);transition:color .2s ease}.semi-navigation-list>.semi-navigation-item .semi-navigation-item-icon svg,.semi-navigation-list>.semi-navigation-item .semi-icon svg{color:inherit}.semi-navigation-list>.semi-navigation-item .semi-navigation-item-icon svg path,.semi-navigation-list>.semi-navigation-item .semi-icon svg path{fill:currentColor!important;fill-opacity:.9!important}.semi-navigation-list>.semi-navigation-item:hover .semi-navigation-item-icon,.semi-navigation-list>.semi-navigation-item:hover .semi-icon{color:var(--tt-cyan)}.semi-navigation-list>.semi-navigation-item-selected .semi-navigation-item-icon,.semi-navigation-list>.semi-navigation-item-selected .semi-icon{color:var(--tt-text);filter:drop-shadow(0 0 4px rgba(254,44,85,.35))}.semi-navigation-list>.semi-navigation-item:hover{background:var(--tt-overlay-soft);color:var(--tt-text)}.sidebar-changelog-label{display:inline-flex;align-items:center}.sidebar-changelog-new-tag{margin-left:8px;line-height:1;padding:1px 6px;border-radius:999px;background:linear-gradient(135deg,#fe2c55,#ff476e);color:#fff!important;font-size:10px;font-weight:700;letter-spacing:.6px;box-shadow:0 2px 10px #fe2c5580;text-transform:uppercase}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as ue,r as f,B as Y,c as R,R as b,s as le,w as ie,ah as oe,P as h,g as V,ai as me,f as P,j as e,i as l,l as _,h as F,aj as O,d as pe,u as fe,ak as I,al as he,H as ge,am as L,ae as we}from"./index-DOmSn_x5.js";import{C as xe,F as J,R as be,a as K}from"./baseForm-BlSwM0cZ.js";import{I as ve}from"./times-G9laB4vc.js";import"./index-D1Hppiwz.js";import"./index-D_31QZCr.js";import"./isPlainObject-Bjx6qRk8.js";function je(s){return f.createElement("svg",Object.assign({viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",focusable:!1,"aria-hidden":!0},s),f.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2 4c0-1.1.9-2 2-2h5a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4Zm0 11c0-1.1.9-2 2-2h5a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5ZM15 2a2 2 0 0 0-2 2v5c0 1.1.9 2 2 2h5a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2h-5Zm1 12.5a1.5 1.5 0 0 1 3 0V16h1.5a1.5 1.5 0 0 1 0 3H19v1.5a1.5 1.5 0 0 1-3 0V19h-1.5a1.5 1.5 0 0 1 0-3H16v-1.5Z",fill:"currentColor"}))}const Ce=ue(je,"customize"),W={PREFIX:`${Y}-steps`,ITEM:`${Y}-steps-item`};var z;(function(s){s.small="large",s.default="extra-large"})(z||(z={}));const q=s=>{const{prefixCls:t,className:r,size:a,title:n,description:m,status:p,style:o,active:i,done:d,icon:u,stepNumber:w,onClick:C,onChange:S,onKeyDown:j}=s,g=()=>{let v,k;if("icon"in s)b.isValidElement(u)&&(v=u);else if("status"in s)switch(p){case"error":v=b.createElement(oe,{size:z[a]});break;case"wait":v=b.createElement("span",{className:`${t}-number-icon`},w);break;case"process":v=b.createElement("span",{className:`${t}-number-icon`},w),k=!0;break;case"finish":v=b.createElement(ie,{size:z[a]});break;case"warning":v=b.createElement(le,{size:z[a]});break;default:v=null;break}const N=R({[`${t}-icon`]:!0,[`${t}-custom-icon`]:"icon"in s,[`${t}-icon-process`]:k});return v?b.createElement("span",{className:N},v):null},y=R(t,`${t}-${p}`,{[`${t}-active`]:i,[`${t}-done`]:d,[`${t}-hover`]:S||s.onClick,[`${t}-clickable`]:S||C,[`${t}-${p}-hover`]:S||s.onClick},r),c=v=>{C?.(v),S?.()},x=v=>{v.key==="Enter"&&(j?.(v),S?.())};return b.createElement("div",{role:s.role,"aria-label":s["aria-label"],tabIndex:0,"aria-current":"step",className:y,style:o,onClick:v=>c(v),onKeyDown:x},b.createElement("div",{className:`${t}-container`},b.createElement("div",{className:`${t}-left`},g()),b.createElement("div",{className:`${t}-content`},b.createElement("div",{className:`${t}-title`},b.createElement("div",{className:`${t}-title-text`},n)),m&&b.createElement("div",{className:`${t}-description`},m))))};q.propTypes={prefixCls:h.string,description:h.node,icon:h.node,status:h.oneOf(["wait","process","finish","error","warning"]),title:h.node,className:h.string,style:h.object,onClick:h.func,active:h.bool,done:h.bool};q.defaultProps={prefixCls:W.ITEM,active:!1,done:!1,status:"wait",className:""};const H=s=>{const{prefixCls:t,className:r,title:a,description:n,status:m,style:p,onClick:o,icon:i,onChange:d,stepNumber:u,onKeyDown:w}=s,C=()=>{let g,y;if("icon"in s)g=i;else if("status"in s)switch(m){case"error":g=b.createElement(oe,{size:"extra-large"});break;case"wait":g=u;break;case"process":g=u,y=!0;break;case"finish":g=b.createElement(ie,{size:"extra-large"});break;case"warning":g=b.createElement(le,{size:"extra-large"});break;default:g=null;break}const c=R({[`${t}-left`]:!0,[`${t}-icon`]:"icon"in s,[`${t}-plain`]:!("icon"in s),[`${t}-icon-process`]:y,[`${t}-hover`]:d||o});return g?b.createElement("div",{className:c},g):null},S=g=>{o?.(g),d?.()},j=g=>{g.key==="Enter"&&(w?.(g),d?.())};return b.createElement("div",{role:s.role,"aria-label":s["aria-label"],"aria-current":"step",tabIndex:0,className:R({[t]:!0,[`${t}-${m}`]:!!m,[`${t}-${m}-hover`]:!!m&&(d||o),[`${t}-${m}-active`]:!!m&&(d||o),[`${t}-clickable`]:d||o},r),style:p,onClick:g=>{S(g)},onKeyDown:j},C(),b.createElement("div",{className:`${t}-content`},b.createElement("div",{className:`${t}-title`,title:typeof a=="string"?a:null},b.createElement("span",{className:`${t}-title-text`},a)),b.createElement("div",{className:`${t}-description`,title:typeof n=="string"?n:null},n)))};H.propTypes={prefixCls:h.string,description:h.node,icon:h.node,status:h.oneOf(["wait","process","finish","error","warning"]),title:h.node,className:h.string,style:h.object,onClick:h.func};H.defaultProps={prefixCls:W.ITEM,status:"wait",className:""};const U=s=>{const{prefixCls:t,className:r,title:a,style:n,active:m,index:p,total:o,onClick:i,onKeyDown:d,onChange:u}=s,w=R(t,{[`${t}-active`]:m},r),C=j=>{i?.(j),u?.()},S=j=>{j.key==="Enter"&&(d?.(j),u?.())};return b.createElement("div",{role:s.role,"aria-label":s["aria-label"],"aria-current":"step",tabIndex:0,className:w,style:n,onClick:j=>C(j),onKeyDown:S},b.createElement("div",{className:`${t}-container`},b.createElement("div",{className:`${t}-content`},b.createElement("div",{className:`${t}-title`},a)),p!==o-1&&b.createElement("div",{className:`${t}-icon`},b.createElement(ve,{size:"small"}))))};U.propTypes={prefixCls:h.string,title:h.node,className:h.string,style:h.object,onClick:h.func,active:h.bool};U.defaultProps={prefixCls:W.ITEM,active:!1,className:""};const ce=b.createContext(null),Se=s=>{const{type:t}=f.useContext(ce);return(()=>{switch(t){case"fill":return b.createElement(H,Object.assign({},s));case"basic":return b.createElement(q,Object.assign({},s));case"nav":return b.createElement(U,Object.assign({},s));default:return null}})()};var ye=function(s,t){var r={};for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&t.indexOf(a)<0&&(r[a]=s[a]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,a=Object.getOwnPropertySymbols(s);n<a.length;n++)t.indexOf(a[n])<0&&Object.prototype.propertyIsEnumerable.call(s,a[n])&&(r[a[n]]=s[a[n]]);return r};const X=s=>{const{current:t,status:r,children:a,prefixCls:n,initial:m,direction:p,className:o,style:i,onChange:d}=s,u=ye(s,["current","status","children","prefixCls","initial","direction","className","style","onChange"]),w=f.useMemo(()=>{const S=f.Children.toArray(a).filter(y=>f.isValidElement(y)),j=p==="vertical"?null:{width:`${100/S.length}%`};return f.Children.map(S,(y,c)=>{if(!y)return null;const x=m+c,v=Object.assign({stepNumber:`${x+1}`,direction:p},y.props);return r==="error"&&c===t-1&&(v.className=`${n}-next-error`),y.props.status||(x===t?v.status=r:x<t?v.status="finish":v.status="wait"),v.onChange=d?()=>{c!==t&&d(c+m)}:void 0,b.createElement(xe,{style:j},f.cloneElement(y,Object.assign({},v)))})},[a,m,n,p,r,t,d]),C=R(o,{[n]:!0,[`${n}-${p}`]:!0});return b.createElement("div",Object.assign({className:C,style:i,"aria-label":s["aria-label"]},V(u)),b.createElement(me,{type:"flex",justify:"start"},w))};X.propTypes={prefixCls:h.string,className:h.string,style:h.object,current:h.number,initial:h.number,direction:h.oneOf(["horizontal","vertical"]),status:h.oneOf(["wait","process","finish","error","warning"])};X.defaultProps={prefixCls:W.PREFIX,current:0,direction:"horizontal",initial:0,status:"process"};var _e=function(s,t){var r={};for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&t.indexOf(a)<0&&(r[a]=s[a]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,a=Object.getOwnPropertySymbols(s);n<a.length;n++)t.indexOf(a[n])<0&&Object.prototype.propertyIsEnumerable.call(s,a[n])&&(r[a[n]]=s[a[n]]);return r};const Z=s=>{const{size:t,current:r,status:a,children:n,prefixCls:m,initial:p,direction:o,className:i,style:d,hasLine:u,onChange:w}=s,C=_e(s,["size","current","status","children","prefixCls","initial","direction","className","style","hasLine","onChange"]),S=f.useMemo(()=>{const g=f.Children.toArray(n).filter(c=>f.isValidElement(c));return f.Children.map(g,(c,x)=>{if(!c)return null;const v=p+x,k=Object.assign({stepNumber:`${v+1}`,size:t},c.props);return a==="error"&&x===r-1&&(k.className=`${m}-next-error`),c.props.status||(v===r?k.status=a:v<r?k.status="finish":k.status="wait"),k.active=v===r,k.done=v<r,k.onChange=w?()=>{x!==r&&w(x+p)}:void 0,f.cloneElement(c,Object.assign({},k))})},[n,p,m,o,a,r,t,w]),j=R(i,{[`${m}-basic`]:!0,[`${m}-${o}`]:!0,[`${m}-${t}`]:t!=="default",[`${m}-hasline`]:u});return b.createElement("div",Object.assign({"aria-label":s["aria-label"],className:j,style:d},V(C)),S)};Z.propTypes={prefixCls:h.string,className:h.string,style:h.object,current:h.number,initial:h.number,direction:h.oneOf(["horizontal","vertical"]),status:h.oneOf(["wait","process","finish","error","warning"]),hasLine:h.bool};Z.defaultProps={prefixCls:W.PREFIX,current:0,direction:"horizontal",size:"",initial:0,hasLine:!0,status:"process"};var ke=function(s,t){var r={};for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&t.indexOf(a)<0&&(r[a]=s[a]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,a=Object.getOwnPropertySymbols(s);n<a.length;n++)t.indexOf(a[n])<0&&Object.prototype.propertyIsEnumerable.call(s,a[n])&&(r[a[n]]=s[a[n]]);return r};const Q=s=>{const{size:t,current:r,initial:a,children:n,prefixCls:m,className:p,style:o,onChange:i}=s,d=ke(s,["size","current","initial","children","prefixCls","className","style","onChange"]),u=f.useMemo(()=>{const C=f.Children.toArray(n).filter(g=>f.isValidElement(g)),S=C.length;return f.Children.map(C,(g,y)=>{if(!g)return null;const c=Object.assign({index:y,total:S},g.props);return c.active=y===r,c.onChange=i?()=>{y!==r&&i(y+a)}:void 0,f.cloneElement(g,Object.assign({},c))})},[n,m,r,t,a,i]),w=R(p,{[`${m}-nav`]:!0,[`${m}-${t}`]:t!=="default"});return b.createElement("div",Object.assign({"aria-label":s["aria-label"],className:w,style:o},V(d)),u)};Q.propTypes={prefixCls:h.string,className:h.string,style:h.object,current:h.number,initial:h.number,size:h.oneOf(["small","default"])};Q.defaultProps={prefixCls:W.PREFIX,current:0,direction:"horizontal",size:"default",initial:0,status:"process"};var Ne=function(s,t){var r={};for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&t.indexOf(a)<0&&(r[a]=s[a]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,a=Object.getOwnPropertySymbols(s);n<a.length;n++)t.indexOf(a[n])<0&&Object.prototype.propertyIsEnumerable.call(s,a[n])&&(r[a[n]]=s[a[n]]);return r};class D extends f.Component{renderComponent(){const t=this.props,{type:r}=t,a=Ne(t,["type"]);switch(r){case"fill":return b.createElement(X,Object.assign({},a));case"basic":return b.createElement(Z,Object.assign({},a));case"nav":return b.createElement(Q,Object.assign({},a));default:return null}}render(){const{type:t}=this.props;return b.createElement(ce.Provider,{value:{type:t}},this.renderComponent())}}D.Step=Se;D.propTypes={onChange:h.func,type:h.oneOf(["fill","basic","nav"]),size:h.oneOf(["small","default"])};D.defaultProps={type:"fill",size:"default"};const T={Idle:0,WasmPreparing:1,WasmPrepared:2,WasmSplitIssued:3,WasmSplitting:4,WasmSplitDone:5,WasmReadyToPrepare:6,WasmSplitPreparing:7,WasmPreparedSuccess:8,WasmCollecting:9,WasmUploadFail:-1,WasmDownloadFail:-2,WasmFileNotExist:-3,WasmSplitFail:-4,WasmSplitUpdateDBFail:-5,WasmSplitPrepareFail:-6,WasmPrepareFailed:-1};function ee({codeMd5:s,clientKey:t}){return P({url:"/game/wasm-split-config",method:"GET",data:{codeMd5:s,clientKey:t}})}function Ee(s){const{codePath:t,codeMd5:r,clientKey:a,desc:n}=s;return P({url:"/game/wasm-prepare",method:"POST",data:{codePath:t,clientKey:a,codeMd5:r,desc:n}})}function Pe({codeMd5:s,clientKey:t}){return P({url:"/game/wasm-prepare-result",method:"POST",data:{codeMd5:s,clientKey:t}})}function $e(s,t){const r=t?.intervalMs,a=t?.maxAttempts,n=t?.signal||new AbortController().signal;let m=0;return new Promise((p,o)=>{if(n?.aborted){o(new DOMException("Polling aborted","AbortError"));return}const i=()=>{clearTimeout(d),o(new DOMException("Polling aborted","AbortError"))};n?.addEventListener("abort",i,{once:!0});let d;const u=async()=>{m+=1;try{const w=await Pe(s),{status:C}=w.data;if(C===T.WasmPreparedSuccess||C===T.WasmSplitDone){p(w);return}if(C<0){p(w);return}if(m>=a){o(new Error(`Polling timeout after ${a} attempts`));return}d=window.setTimeout(u,r)}catch(w){if(m>=a){o(w);return}d=window.setTimeout(u,r)}};u()})}function Oe({codeMd5:s,clientKey:t,codePath:r}){return P({url:"/game/wasm-prepare-download",method:"POST",data:{codeMd5:s,clientKey:t,codePath:r}})}function te(s){const{codeMd5:t,clientKey:r,archive:a}=s;return P({url:"/game/wasm-split",method:"POST",data:{codeMd5:t,clientKey:r,archive:a??!1}})}function Re({codeMd5:s,clientKey:t}){return P({url:"/game/wasm-split-result",method:"POST",data:{codeMd5:s,clientKey:t}})}function Te(s,t){const r=t?.intervalMs,a=t?.maxAttempts,n=t?.signal||new AbortController().signal;let m=0;return new Promise((p,o)=>{if(n?.aborted){o(new DOMException("Polling aborted","AbortError"));return}const i=()=>{clearTimeout(d),o(new DOMException("Polling aborted","AbortError"))};n?.addEventListener("abort",i,{once:!0});let d;const u=async()=>{m+=1;try{const w=await Re(s),{status:C}=w.data;if(C!==T.WasmSplitDone){if(m>=a){o(new Error(`Polling timeout after ${a} attempts`));return}d=window.setTimeout(u,r);return}p(w)}catch(w){if(m>=a){o(w);return}d=window.setTimeout(u,r)}};u()})}function Fe({codeMd5:s,clientKey:t}){return P({url:"/game/wasm-split-download-result",method:"POST",data:{clientKey:t,codeMd5:s}})}function se(s){return P({url:"/game/wasm-split-download",method:"POST",data:s})}function de(s){const{codeMd5:t,clientKey:r,codePath:a}=s;return P({url:"/game/wasm-split-reset",method:"POST",data:{codeMd5:t,clientKey:r,codePath:a}})}function ae({codeMd5:s,clientKey:t}){return P({url:"/game/wasm-taskinfo",method:"GET",data:{codeMd5:s,clientKey:t}})}function De({codeMd5:s,clientKey:t}){return P({url:"/game/wasm-set-collect",method:"POST",data:{codeMd5:s,clientKey:t}})}function G(s){return P({url:"/game/wasm-collect-funcids",method:"GET",data:s})}function re(s){return P({url:"/game/wasm-collect-info",method:"GET",data:s})}function We(s){return P({url:"/game/pipeline-mode",method:"POST",data:{mode:s}})}function Ie(){return P({url:"/game/pipeline-mode",method:"GET"})}const ze=({onSubmit:s,onCancel:t,onChange:r})=>e.jsxs(J,{style:{width:"100%",transform:"translateY(-20px)"},onChange:r,onSubmit:s,children:[e.jsx(J.TextArea,{rules:[{required:!0,message:l("inputSplitDesc")}],label:l("splitDesc"),placeholder:l("inputSplitDesc"),field:"desc"}),e.jsxs("div",{className:"wasm-prepare-form-button-container",children:[e.jsx(_,{type:"tertiary",htmlType:"submit",style:{marginRight:12},children:l("startPrepare")}),e.jsx(_,{type:"tertiary",onClick:t,children:l("cancel")})]})]}),E={init:"init",start:"start",processing:T.WasmPreparing,processingReady:T.WasmReadyToPrepare,success:T.WasmPreparedSuccess,failed:T.WasmPrepareFailed,splitDone:T.WasmSplitDone},Me=({codePath:s,codeMd5:t,clientKey:r,onCancel:a,onNext:n,onHide:m})=>{const[p,o]=f.useState(""),[i,d]=f.useState({code:0,data:{status:E.init}}),u=f.useRef(null),w=f.useMemo(()=>i?.data?.status,[i?.data?.status]),C=()=>{u.current?.abort(),a(),de({codeMd5:t,clientKey:r,codePath:s}).then(c=>{c.code===0&&d({...i,data:{...i?.data,status:E.init}})})},S=async()=>{u.current=new AbortController,d({code:0,data:{status:E.start}}),Ee({codePath:s,codeMd5:t,clientKey:r,desc:p}).then(c=>{c.code===0||c?.error?.code===10024||c?.error?.code===10028?(d({...c,data:{...c?.data,status:E.processing}}),j()):d({...i,error:c?.error||{code:-1,message:"Internal server error, please try again later..."},data:{...i?.data,status:E.failed}})})},j=()=>{$e({codeMd5:t,clientKey:r},{intervalMs:2e3,maxAttempts:240,signal:u.current?.signal}).then(c=>{c.code===0?Oe({codeMd5:t,clientKey:r,codePath:s}).then(x=>{x.code===0?n():d({...i,error:{code:-1,message:x?.error?.message||"Download prepared wasm failed"},data:{...i?.data,status:E.failed}})}).catch(x=>{d({...i,error:{code:-1,message:x?.message||"Download prepared wasm failed"},data:{...i?.data,status:E.failed}})}):d({...i,data:{...i?.data,status:E.failed}})}).catch(c=>{c?.name!=="AbortError"&&d(x=>({...x,error:{code:-1,message:c?.message||"Polling failed"},data:{...x?.data,status:E.failed}}))})},g=c=>{o(c?.values?.desc)};let y=null;switch(w){case E.init:y=e.jsx(ze,{onSubmit:S,onCancel:a,onChange:g});break;case E.start:y=e.jsxs("div",{className:"wasm-prepare-processing-content tt-flair-frame",children:[e.jsx(F,{size:"large",color:"primary"}),e.jsx("div",{className:"wasm-prepare-processing-text tt-flair-text",children:l("startingPrepare")}),e.jsx("div",{className:"wasm-prepare-processing-cancel",children:e.jsxs(O,{children:[e.jsx(_,{type:"danger",onClick:a,children:l("cancelPrepare")}),e.jsx(_,{onClick:()=>m(),children:l("backgroundRun")})]})})]});break;case E.processing:case E.processingReady:y=e.jsxs("div",{className:"wasm-prepare-processing-content tt-flair-frame",children:[e.jsx(F,{size:"large",color:"primary"}),e.jsx("div",{className:"wasm-prepare-processing-text tt-flair-text",children:l("preparingSplit")}),e.jsx("div",{className:"wasm-prepare-processing-warning",children:l("warningDuringPreparing")}),e.jsx("div",{className:"wasm-prepare-processing-cancel",children:e.jsxs(O,{children:[e.jsx(_,{type:"tertiary",onClick:()=>{C()},children:l("cancelPrepare")}),e.jsx(_,{type:"tertiary",onClick:()=>m(),children:l("backgroundRun")})]})})]});break;case E.success:case E.splitDone:break;case E.failed:const c=i?.error?.message||"Unknown error";y=e.jsxs("div",{className:"wasm-prepare-failed-content",children:[e.jsx("div",{className:"wasm-prepare-failed-text",children:l("preparingSplitFailed")}),i?.data?.status===E.failed&&e.jsx("div",{className:"wasm-prepare-failed-warning",children:c}),e.jsx(_,{type:"tertiary",style:{marginTop:12},onClick:S,children:l("retryPrepare")})]});break;default:y=null}return e.jsx("div",{className:"wasm-prepare-content-container",children:y})},Ae=({data:s})=>{const t={...s||{}},r=[{label:"Client key",value:"app_id"},{label:l("wasmSize"),value:"wasm_size",render:a=>`${(a/1024/1024).toFixed(2)} MB`},{label:l("totalFuncCount"),value:"total_wasm_func_count",render:a=>a>=1e3?`${(a/1e3).toFixed(2)} K`:`${a}`},{label:l("collectedFuncCount"),value:"collected_func_count",render:a=>a>=1e3?`${(a/1e3).toFixed(2)} K`:`${a}`},{label:"Wasm md5",value:"wasm_md5"}];return e.jsx("div",{className:"wasm-collect-status",children:r.map(a=>e.jsxs("div",{className:"wasm-collect-status-item",children:[e.jsx(pe,{size:"small",className:"wasm-collect-status-item-label",children:a.label}),e.jsx("span",{className:"wasm-collect-status-item-value",children:a.render?.(t[a.value])||t[a.value]})]},a.value))})},Le=({onNext:s,onCancel:t,codeMd5:r,clientKey:a,onHide:n})=>{const{state:{devSchema:m}}=fe(),[p,o]=f.useState("willCollect"),[i,d]=f.useState(),[u,w]=f.useState(),[C,S]=f.useState(0),j=f.useRef(null),g=f.useRef(!1),y=f.useRef(!1);f.useEffect(()=>{y.current||(y.current=!0,G({codeMd5:r,clientKey:a}).then(N=>{if(N.data?.collect_state!=="open")return;const M=N.data?.collected_func_count||0;S(M),o("collecting"),ae({codeMd5:r,clientKey:a}).then(B=>d(B.data)).catch(console.error),re({codeMd5:r,clientKey:a}).then(B=>w(B.data||{})).catch(console.error),I.info({content:l("resumedCollectSession"),duration:3})}).catch(N=>{console.error("[wasm-collect] resume probe failed:",N)}))},[r,a]);const c=.08,x=f.useMemo(()=>{if(!u)return!1;const N=u?.total_wasm_func_count;return N?C/N>=c:!1},[u,C]);f.useEffect(()=>{if(p!=="collecting"){j.current&&(window.clearInterval(j.current),j.current=null);return}if(j.current)return;const N=$=>{S($.data?.collected_func_count||0);const M=$.data?.collect_state;M==="closed"&&!g.current?(g.current=!0,I.warning({content:"收集会话已关闭(可能是超时或被其他端占用)。请重新点击「开始分包」以恢复收集。",duration:5})):M==="open"&&(g.current=!1)};return G({codeMd5:r,clientKey:a}).then(N).catch(console.error),j.current=window.setInterval(()=>{G({codeMd5:r,clientKey:a}).then(N).catch($=>{console.error($)})},2e3),()=>{j.current&&(window.clearInterval(j.current),j.current=null)}},[p,r,a]);const v=async()=>{if(p!=="collecting")try{o("startCollect");const N=await De({codeMd5:r,clientKey:a});if(N.code!==0){const $=N?.error?.message||N?.msg||"开启收集会话失败";I.error({content:`开始收集失败:${$}`,duration:4}),o("willCollect");return}o("collecting"),ae({codeMd5:r,clientKey:a}).then($=>{d($.data)}).catch(console.error),re({codeMd5:r,clientKey:a}).then($=>{w($.data||{})}).catch(console.error)}catch(N){console.error(N),I.error({content:"开始收集失败,请重试",duration:4}),o("willCollect")}},k=()=>{j.current&&(window.clearInterval(j.current),j.current=null),o("willCollect"),s()};return e.jsxs("div",{className:"wasm-collect-content-container",children:[i&&e.jsx(Ae,{data:{...i||{},total_wasm_func_count:u?.total_wasm_func_count,collected_func_count:C}}),e.jsx("div",{className:"collect-qrcode-container",children:e.jsx(he,{value:m})}),e.jsx("div",{className:"collect-qrcode-desc",children:l("collectDesc")}),e.jsxs("div",{className:"collect-qrcode-button-container",children:[p!=="collecting"&&e.jsxs(O,{children:[e.jsx(_,{loading:p==="startCollect",onClick:v,children:l("startCollect")}),e.jsx(_,{type:"tertiary",onClick:t,children:l("cancelSplit")})]}),p==="collecting"&&e.jsxs(O,{children:[x?e.jsx(_,{type:"tertiary",onClick:k,children:l("startSplit")}):e.jsx(ge,{content:l("cannotSplitTip"),children:e.jsx(_,{type:"tertiary",disabled:!0,children:l("startSplit")})}),e.jsx(_,{type:"tertiary",onClick:n,children:l("backgroundRun")}),e.jsx(_,{type:"tertiary",onClick:t,children:l("cancelSplit")})]})]})]})},ne=({onCancel:s,onRetry:t,onHide:r,forcedStatus:a,forcedErrorMsg:n})=>{const[m,p]=f.useState(""),[o,i]=f.useState("");f.useEffect(()=>{const j=g=>{p(g.status),i(g.errorMsg||"")};return L.on("unitySplitStatus",j),()=>{L.off("unitySplitStatus",j)}},[]);const d="wasm-split-downloading-content",u="wasm-split-downloading-text",w=a||m,C=n||o;let S=null;switch(w){case"start_download_android_main_wasm":case"download_android_main_wasm_done":case"start_compress_android_main_wasm":case"compress_android_main_wasm_done":case"start_download_android_sub_wasm_code":case"download_android_sub_wasm_code_done":case"start_compress_android_sub_wasm_code":case"compress_android_sub_wasm_code_done":case"start_download_ios_main_wasm":case"download_ios_main_wasm_done":case"start_compress_ios_main_wasm":case"compress_ios_main_wasm_done":case"start_download_ios_range_json":case"download_ios_range_json_done":case"start_download_ios_js_data_br":case"download_ios_js_data_br_done":case"start_compress_ios_sub_wasm_code":case"compress_ios_sub_wasm_code_done":case"start_write_splited_wasm_br":case"write_splited_wasm_done":case"start_update_wasm_split_config":case"update_wasm_split_config_done":S=e.jsxs("div",{className:d,children:[e.jsx(F,{size:"large",color:"primary"}),e.jsx("div",{className:u,children:l(w)}),e.jsxs(O,{children:[e.jsx(_,{type:"danger",onClick:s,children:l("cancelSplit")}),e.jsx(_,{onClick:r,children:l("backgroundRun")})]})]});break;case"wasm_split_failed":S=e.jsxs("div",{className:d,children:[e.jsx("div",{className:u,children:l("downloadSplitResultFailed")}),C?e.jsx("div",{className:u,children:C}):null,e.jsxs(O,{children:[e.jsx(_,{type:"primary",onClick:t,children:l("retryDownloadSplitResult")}),e.jsx(_,{type:"danger",onClick:s,children:l("cancelSplit")}),e.jsx(_,{onClick:r,children:l("backgroundRun")})]})]});break;default:S=e.jsxs("div",{className:d,children:[e.jsx(F,{size:"large",color:"primary"}),e.jsx("div",{className:u,children:l("processing")})]})}return S},Be=({onCancel:s,onHide:t,codeMd5:r,clientKey:a,archive:n,pipelineMode:m="local"})=>{const p=m==="local",[o,i]=f.useState("spliting"),[d,u]=f.useState(""),[w,C]=f.useState(),S=()=>{i("spliting"),u(""),te({codeMd5:r,clientKey:a,archive:n}).then(x=>{if(x.code===0){const v=x.data?.func_count;return i("writing"),se({}).then(k=>{k.code===0?(i("success"),typeof v=="number"&&v>0&&I.success({content:`分包完成,本次共收集 ${v} 个函数`,duration:3})):(u(k?.error?.errorMsg||k?.msg||l("splitFailed")),i("writeFailed"))})}else u(x?.error?.message||x?.msg||l("splitFailed")),i("splitFailed")}).catch(x=>{u(x?.message||l("splitFailed")),i("splitFailed")})},j=()=>{i("spliting"),u(""),te({codeMd5:r,clientKey:a,archive:n}).then(x=>{if(x.code===0)return i("remotePolling"),Te({codeMd5:r,clientKey:a},{intervalMs:1e3,maxAttempts:1e3}).then(()=>(i("remoteFetchingResult"),Fe({clientKey:a,codeMd5:r}).then(v=>{v.code===0?(C(v.data),i("remoteReadyToDownload")):(u(l("getSplitResultFailed")),i("splitFailed"))})));u(x?.error?.message||x?.msg||l("splitFailed")),i("splitFailed")}).catch(x=>{u(x?.message||l("splitFailed")),i("splitFailed")})},g=()=>{i("remoteDownloading"),u(""),se(w?.result).then(x=>{x.code===0?i("success"):(u(x?.error?.errorMsg||x?.msg||l("downloadSplitResultFailed")),i("remoteDownloadFailed"))}).catch(x=>{u(x?.message||l("downloadSplitResultFailed")),i("remoteDownloadFailed")})},y=p?S:j;f.useEffect(()=>{y()},[]);let c=null;switch(o){case"spliting":c=e.jsxs("div",{className:"wasm-split-processing tt-flair-frame",children:[e.jsx(F,{size:"large",color:"primary"}),e.jsx("div",{className:"wasm-split-processing-content tt-flair-text",children:l("splittingDesc")}),e.jsx("div",{className:"wasm-split-processing-cancel",children:e.jsxs(O,{children:[e.jsx(_,{onClick:()=>s(),type:"danger",children:l("cancelSplit")}),e.jsx(_,{onClick:()=>t(),children:l("backgroundRun")})]})})]});break;case"writing":c=e.jsxs("div",{className:"wasm-split-processing tt-flair-frame",children:[e.jsx(F,{size:"large",color:"primary"}),e.jsx("div",{className:"wasm-split-processing-content tt-flair-text",children:l("writingSplitResult")||"正在写入分包产物..."})]});break;case"splitFailed":case"writeFailed":c=e.jsxs("div",{className:"wasm-split-failed",children:[e.jsx("div",{className:"wasm-split-failed-content",children:d||l("splitFailed")}),e.jsx("div",{className:"wasm-split-failed-retry",children:e.jsxs(O,{children:[e.jsx(_,{type:"primary",onClick:()=>y(),children:l("retry")||"重试"}),e.jsx(_,{type:"tertiary",onClick:()=>s(),children:l("cancelSplit")})]})})]});break;case"remotePolling":case"remoteFetchingResult":c=e.jsxs("div",{className:"wasm-split-processing tt-flair-frame",children:[e.jsx(F,{size:"large",color:"primary"}),e.jsx("div",{className:"wasm-split-processing-content tt-flair-text",children:o==="remotePolling"?l("splittingDesc"):l("getSplitResult")||"获取分包结果..."}),e.jsx("div",{className:"wasm-split-processing-cancel",children:e.jsxs(O,{children:[e.jsx(_,{onClick:()=>s(),type:"danger",children:l("cancelSplit")}),e.jsx(_,{onClick:()=>t(),children:l("backgroundRun")})]})})]});break;case"remoteReadyToDownload":c=e.jsxs("div",{className:"wasm-split-success",children:[e.jsx("div",{className:"wasm-split-success-content",children:l("splitSuccess")||"分包成功"}),e.jsx("div",{className:"wasm-split-success-download",children:e.jsx(_,{type:"primary",onClick:g,children:l("downloadSplitResult")||"下载分包产物"})})]});break;case"remoteDownloading":c=e.jsx(ne,{onCancel:s,onRetry:g,onHide:t});break;case"remoteDownloadFailed":c=e.jsx(ne,{onCancel:s,onRetry:g,onHide:t,forcedStatus:"wasm_split_failed",forcedErrorMsg:d});break;case"success":c=e.jsxs("div",{className:"wasm-split-success",children:[e.jsx("div",{className:"wasm-split-success-content",children:l("downloadSplitResultSuccess")}),e.jsx("div",{className:"wasm-split-success-tip",children:l("downloadSplitResultTip")})]});break;default:c=null}return e.jsx("div",{className:"wasm-split-content-container",children:c})},A={prepare:{number:0,title:l("splitPrepare")},collect:{number:1,title:l("splitCollect")},split:{number:2,title:l("splitCode")},rollback:{number:3,title:l("rollback")}},Ge=({stage:s})=>e.jsxs(D,{type:"basic",current:A[s].number,style:{marginTop:24},children:[e.jsx(D.Step,{title:A.prepare.title}),e.jsx(D.Step,{title:A.collect.title}),e.jsx(D.Step,{title:A.split.title})]}),Ve=({onCancel:s,errorType:t,onHide:r})=>e.jsxs("div",{className:"wasm-code-split-error",children:[t==="noWasmCode"&&e.jsxs("div",{className:"wasm-code-split-error-container",children:[e.jsx("div",{className:"wasm-code-split-error-title",children:l("noWasmCode")}),e.jsx("div",{className:"wasm-code-split-error-desc",children:l("noWasmCodeDesc")})]}),t==="hasSplited"&&e.jsxs("div",{className:"wasm-code-split-error-container",children:[e.jsx("div",{className:"wasm-code-split-error-title",children:l("hasSplitedTitle")}),e.jsx("div",{className:"wasm-code-split-error-desc",children:l("hasSplitedDesc")}),e.jsxs(O,{children:[e.jsx(_,{onClick:s,children:l("cancelSplit")}),e.jsx(_,{onClick:r,children:l("backgroundRun")})]})]}),t==="noSplitConfig"&&e.jsxs("div",{className:"wasm-code-split-error-container",children:[e.jsx("div",{className:"wasm-code-split-error-title",children:l("noSplitConfigTitle")}),e.jsx("div",{className:"wasm-code-split-error-desc",children:l("noSplitConfigDesc")})]})]}),qe=()=>e.jsxs("div",{className:"split-loading",children:[e.jsx(F,{size:"large",color:"primary"}),e.jsx("div",{className:"split-loading-text tt-flair-text",children:"正在初始化分包环境"})]}),He=({codeMd5:s,clientKey:t,codePath:r,onHide:a,onReset:n})=>{const[m,p]=f.useState("rollbacking"),o=()=>{p("rollbacking"),de({codeMd5:s,clientKey:t,codePath:r}).then(u=>{u.code===0?(p("rollbackSuccess"),n()):p("rollbackFailed")})};f.useEffect(()=>{o()},[]);let i="",d=null;switch(m){case"rollbacking":i="回滚中...",d=e.jsx(_,{onClick:()=>{p("rollbackFailed")},children:"后台进行"});break;case"rollbackSuccess":i="回滚成功",d=e.jsx(_,{onClick:()=>{a()},children:"关闭"});break;case"rollbackFailed":i="回滚失败",d=e.jsx(_,{onClick:()=>{o()},children:"重试"});break}return e.jsx(e.Fragment,{children:e.jsxs("div",{className:"wasm-split-rollback-container",children:[e.jsx("div",{className:"wasm-split-rollback-text",children:i}),d]})})},Ue=()=>{const[s,t]=f.useState({kind:"idle"}),r=f.useRef(null);if(f.useEffect(()=>{const o=()=>{r.current!==null&&(window.clearTimeout(r.current),r.current=null)},i=({status:d,msg:u,progress:w})=>{switch(d){case"start":o(),t({kind:"uploading",progress:0});break;case"process":o(),t({kind:"uploading",progress:Math.max(0,Math.min(1,w??0))});break;case"success":o(),t({kind:"success"}),r.current=window.setTimeout(()=>{t({kind:"idle"}),r.current=null},2500);break;case"restart":o(),t({kind:"restart"});break;case"error":o(),t({kind:"error",msg:u});break}};return L.on("uploadGame",i),()=>{L.off("uploadGame",i),o()}},[]),s.kind==="idle")return null;let a="",n="",m="0%",p="uploading";switch(s.kind){case"uploading":{const o=Math.round(s.progress*100);a=l("uploadStart"),n=`${o}%`,m=`${o}%`,p="uploading";break}case"success":a=l("uploadSuccess"),n="100%",m="100%",p="success";break;case"restart":a=l("uploadStart"),n="",m="0%",p="uploading";break;case"error":a=l("uploadError"),s.msg&&(a=`${a}: ${s.msg}`),n="",m="100%",p="error";break}return e.jsxs("div",{className:`tt-wasm-upload-progress tt-wasm-upload-progress--${p}`,role:"status","aria-live":"polite",title:a,children:[e.jsxs("div",{className:"tt-wasm-upload-progress-meta",children:[e.jsx("span",{className:"tt-wasm-upload-progress-label",children:a}),n&&e.jsx("span",{className:"tt-wasm-upload-progress-percent",children:n})]}),e.jsx("div",{className:"tt-wasm-upload-progress-track",children:e.jsx("div",{className:"tt-wasm-upload-progress-fill",style:{width:m}})})]})};function Xe({enableWasmCollect:s,enableWasmSplit:t}){return typeof s=="boolean"&&(typeof t=="string"||t===!1)?s:!1}function Ze({enableWasmSplit:s,hasWasmCode:t}){return s===!0?{errorType:"hasSplited",hasError:!0}:t?{hasError:!1}:{errorType:"noWasmCode",hasError:!0}}const st=({codePath:s,clientKey:t,codeMd5:r})=>{const[a,n]=f.useState(!1),[m,p]=f.useState(""),[o,i]=f.useState("loading"),[d,u]=f.useState(null),[w,C]=f.useState("local"),S=c=>{C(c),We(c)},j=()=>{n(!0),(!d||o==="error")&&(i("loading"),ee({codeMd5:r,clientKey:t}).then(c=>{if(c.code===0){const{errorType:x,hasError:v}=Ze({enableWasmSplit:c.data.enableWasmSplit,hasWasmCode:!!s});p(x),v?(p(x),i("error")):Xe(c.data)?i("collect"):i("prepare"),u(c.data),Ie().then(k=>{k?.code===0&&k.data?.mode&&C(k.data.mode)})}else i("error")}))},g=()=>{n(!1)},y=()=>{i("rollback")};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:R("wasm-code-split","tt-wasm-entry","tt-header-chip"),onClick:j,children:[e.jsx("span",{className:"tt-wasm-entry-icon",children:e.jsx(Ce,{size:"default"})}),e.jsx("span",{className:"wasm-code-split-text",children:l("wasmSplit")})]}),e.jsxs(we,{centered:!0,keepDOM:!0,maskClosable:!1,visible:a,footer:null,className:"tt-wasm-split-modal",style:{width:"90%"},onCancel:()=>n(!1),onOk:()=>n(!1),title:e.jsxs("div",{className:"tt-wasm-split-title",children:[e.jsx("span",{className:"tt-wasm-split-title-badge",children:"TikTok"}),e.jsx("span",{className:"tt-wasm-split-title-text","data-text":l("wasmSplit"),children:l("wasmSplit")}),e.jsx("span",{className:"tt-wasm-split-title-sub",children:"mini-games · wasm toolkit"})]}),children:[o==="prepare"&&e.jsxs("div",{className:"tt-pipeline-mode-bar",children:[e.jsx("span",{className:"tt-pipeline-mode-label",children:"分包模式"}),e.jsxs(be,{type:"button",size:"small",value:w,onChange:c=>S(c.target.value),children:[e.jsx(K,{value:"local",children:"本地分包"}),e.jsx(K,{value:"remote",children:"远程分包"})]})]}),(o==="collect"||o==="split")&&e.jsxs("div",{className:"tt-wasm-status-row",children:[e.jsxs("div",{className:"tt-pipeline-mode-chip",children:[e.jsx("span",{className:"tt-pipeline-mode-dot tt-flair-pulse"}),"当前分包模式",e.jsx("strong",{children:w==="local"?"本地分包":"远程分包"})]}),e.jsx(Ue,{})]}),o==="loading"&&e.jsx(qe,{}),o==="error"&&e.jsx(Ve,{errorType:m,onCancel:y,onHide:g}),o!=="error"&&o!=="loading"&&e.jsx(Ge,{stage:o}),o==="prepare"&&e.jsx(Me,{codeMd5:r,codePath:s,clientKey:t,onCancel:()=>{n(!1)},onNext:()=>{i("collect")},onHide:g}),o==="collect"&&e.jsx(Le,{codeMd5:r,clientKey:t,onCancel:y,onHide:g,onNext:()=>{ee({codeMd5:r,clientKey:t}).then(c=>{c.code===0&&u(c.data),i("split")})}}),o==="split"&&e.jsx(Be,{codeMd5:r,clientKey:t,archive:d?.enableArchiveMode===!0,pipelineMode:w,onCancel:y,onHide:g}),o==="rollback"&&e.jsx(He,{codeMd5:r,clientKey:t,codePath:s,onHide:g,onReset:()=>{i("prepare")}})]})]})};export{st as WasmCodeSplit};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.theme-switcher{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:999px;background:var(--tt-overlay-soft);border:1px solid var(--tt-border-strong);color:var(--tt-text);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none}.theme-switcher:active{transform:scale(.94)}.theme-switcher:focus-visible{box-shadow:0 0 0 3px #25f4ee47;border-color:#25f4ee8c}.theme-switcher-icon-wrap{display:inline-flex;align-items:center;justify-content:center;animation:tt-theme-rotate .4s ease}.theme-switcher-icon{font-size:16px;color:inherit}.theme-switcher-dark:hover .theme-switcher-icon{color:#ffcf5c;filter:drop-shadow(0 0 6px rgba(255,207,92,.55))}.theme-switcher-light:hover .theme-switcher-icon{color:#25f4ee;filter:drop-shadow(0 0 6px rgba(37,244,238,.45))}@keyframes tt-theme-rotate{0%{transform:rotate(-90deg) scale(.6);opacity:0}60%{opacity:1}to{transform:rotate(0) scale(1);opacity:1}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.access-docs{display:flex;align-items:center;padding:4px 12px;border-radius:999px;gap:4px;font-weight:500;color:var(--tt-text);cursor:pointer}.access-docs-text{margin-right:4px;font-size:14px;font-weight:500}.access-docs-icon{font-size:14px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{an as t,b$ as a}from"./index-DOmSn_x5.js";var r=a();const e=t(r);export{e as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as l,r as v,bQ as E,c0 as p,c1 as F,an as q}from"./index-DOmSn_x5.js";function R(t){return v.createElement("svg",Object.assign({viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",focusable:!1,"aria-hidden":!0},t),v.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.44 19.8a1.5 1.5 0 0 1 0-2.13l5.66-5.65-5.66-5.66a1.5 1.5 0 1 1 2.12-2.12l6.72 6.72a1.5 1.5 0 0 1 0 2.12L9.56 19.8a1.5 1.5 0 0 1-2.12 0Z",fill:"currentColor"}))}const M=l(R,"chevron_right");var u,g;function b(){if(g)return u;g=1;var t=E(),i=1/0,o=17976931348623157e292;function e(r){if(!r)return r===0?r:0;if(r=t(r),r===i||r===-i){var s=r<0?-1:1;return s*o}return r===r?r:0}return u=e,u}var c,h;function w(){if(h)return c;h=1;var t=b();function i(o){var e=t(o),r=e%1;return e===e?r?e-r:e:0}return c=i,c}var m,d;function x(){if(d)return m;d=1;var t=p(),i=F(),o=w(),e=9007199254740991,r=4294967295,s=Math.min;function I(n,a){if(n=o(n),n<1||n>e)return[];var f=r,T=s(n,r);a=i(a),n-=r;for(var _=t(T,a);++f<n;)a(f);return _}return m=I,m}var N=x();const C=q(N);export{M as I,C as _,w as r};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<svg fill="currentColor" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" width="32" height="32">
|
|
2
|
+
<path
|
|
3
|
+
d="M37.86 17.82c.14.24.14.67.14 1.53v9.5c0 1.14 0 1.72-.2 2.26-.16.49-.43.96-.77 1.34-.37.44-.87.73-1.86 1.3l-7.84 4.53c-.74.43-1.11.64-1.4.64a.66.66 0 0 1-.58-.34c-.14-.24-.14-.67-.14-1.53v-9.5c0-1.14 0-1.71.2-2.26.16-.48.43-.95.76-1.34.38-.44.88-.73 1.87-1.3l7.84-4.52c.74-.43 1.11-.65 1.4-.64.25 0 .45.12.58.33Z">
|
|
4
|
+
</path>
|
|
5
|
+
<path fill-rule="evenodd" clip-rule="evenodd"
|
|
6
|
+
d="m27.54 1.99 7 3.93 6.89 4a7.23 7.23 0 0 1 3.59 6.2l.06 7.88-.06 7.88a7.23 7.23 0 0 1-3.6 6.2l-6.88 4-7 3.93a7.23 7.23 0 0 1-7.08 0l-7-3.93-6.9-4a7.23 7.23 0 0 1-3.58-6.2L2.9 24l.07-7.88a7.23 7.23 0 0 1 3.59-6.2l6.89-4 7-3.93a7.23 7.23 0 0 1 7.08 0Zm-2.07 3.67 6.98 3.92 6.86 3.99a3.01 3.01 0 0 1 1.5 2.58l.06 7.85-.07 7.85c0 1.06-.57 2.04-1.5 2.58l-6.85 4-6.98 3.9c-.91.52-2.03.52-2.95 0l-6.97-3.9-6.86-4a3.01 3.01 0 0 1-1.5-2.58L7.13 24l.06-7.85c.01-1.06.58-2.04 1.5-2.58l6.86-4 6.97-3.9a3.01 3.01 0 0 1 2.95 0Z">
|
|
7
|
+
</path>
|
|
8
|
+
</svg>
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<link
|
|
7
|
+
rel="icon"
|
|
8
|
+
href="/assets/icon-DcfeE9nw.svg"
|
|
9
|
+
/>
|
|
10
|
+
<link
|
|
11
|
+
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
|
|
12
|
+
rel="stylesheet"
|
|
13
|
+
/>
|
|
14
|
+
<title>TikTok Mini Games DevTool</title>
|
|
15
|
+
<!--
|
|
16
|
+
Pre-mount theme paint.
|
|
17
|
+
|
|
18
|
+
The IDE inlines a synchronous <script> here so the correct
|
|
19
|
+
theme is painted onto <html>/<body> *before* CSS evaluates,
|
|
20
|
+
avoiding a flash of the wrong palette on cold loads.
|
|
21
|
+
|
|
22
|
+
The script body is generated at dev + build time by
|
|
23
|
+
`src/theme/paint.ts#generatePaintScript()` and injected by the
|
|
24
|
+
`ttmg-theme-paint` Vite plugin (see `vite.config.ts`). All
|
|
25
|
+
storage keys and attribute names come from
|
|
26
|
+
`src/theme/constants.ts`, which is the single source of truth
|
|
27
|
+
shared with the runtime theme store in `src/theme/index.ts`.
|
|
28
|
+
-->
|
|
29
|
+
<script>(function () {
|
|
30
|
+
try {
|
|
31
|
+
var stored = window.localStorage.getItem("__TTMG_IDE_THEME__");
|
|
32
|
+
var mode =
|
|
33
|
+
stored === 'light' || stored === 'dark' || stored === 'simple'
|
|
34
|
+
? stored
|
|
35
|
+
: window.matchMedia &&
|
|
36
|
+
window.matchMedia('(prefers-color-scheme: light)').matches
|
|
37
|
+
? 'light'
|
|
38
|
+
: 'dark';
|
|
39
|
+
var variant = mode === 'simple' ? 'simple' : 'fancy';
|
|
40
|
+
var semiMode = mode === 'simple' ? 'light' : mode;
|
|
41
|
+
document.documentElement.setAttribute("theme-mode", semiMode);
|
|
42
|
+
document.documentElement.setAttribute("theme-variant", variant);
|
|
43
|
+
document.addEventListener('DOMContentLoaded', function () {
|
|
44
|
+
document.body.setAttribute("theme-mode", semiMode);
|
|
45
|
+
document.body.setAttribute("theme-variant", variant);
|
|
46
|
+
});
|
|
47
|
+
} catch (e) {
|
|
48
|
+
document.documentElement.setAttribute("theme-mode", 'dark');
|
|
49
|
+
document.documentElement.setAttribute("theme-variant", 'fancy');
|
|
50
|
+
}
|
|
51
|
+
})();</script>
|
|
52
|
+
<script type="module" crossorigin src="/assets/index-DOmSn_x5.js"></script>
|
|
53
|
+
<link rel="stylesheet" crossorigin href="/assets/index-Rm6ShNzz.css">
|
|
54
|
+
</head>
|
|
55
|
+
<body>
|
|
56
|
+
<div id="root"></div>
|
|
57
|
+
<iframe
|
|
58
|
+
style="visibility: hidden"
|
|
59
|
+
id="game"
|
|
60
|
+
src="about:blank"
|
|
61
|
+
></iframe>
|
|
62
|
+
<!-- <script
|
|
63
|
+
type="module"
|
|
64
|
+
crossorigin
|
|
65
|
+
src="https://connect.tiktok-minis.com/game/dev-setup.js"
|
|
66
|
+
></script> -->
|
|
67
|
+
</body>
|
|
68
|
+
</html>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
console.log('hello, iam ttmg-core')
|
|
3
|
+
|
|
4
|
+
window.login = function () {
|
|
5
|
+
console.log('login from ttmg-core');
|
|
6
|
+
};
|
|
7
|
+
window.require = function (url) {
|
|
8
|
+
console.log('require', url);
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
window.__DEV__ = {
|
|
12
|
+
...globalThis.__DEV__,
|
|
13
|
+
setup(options) {
|
|
14
|
+
console.log('__DEV__', options);
|
|
15
|
+
},
|
|
16
|
+
subscribeHandler(event, data) {
|
|
17
|
+
console.log('subscribeHandler', event, data);
|
|
18
|
+
},
|
|
19
|
+
sendMessage(data) {
|
|
20
|
+
console.log('message from client', data);
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
console.log('ttmg-core loaded', globalThis.__DEV__);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const { execSync } = require('child_process');
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
|
|
5
|
+
const args = process.argv.slice(2);
|
|
6
|
+
const hasIde = args.includes('--ide');
|
|
7
|
+
const distDir = path.resolve(__dirname, '../dist');
|
|
8
|
+
|
|
9
|
+
if (fs.existsSync(distDir)) {
|
|
10
|
+
fs.rmSync(distDir, { recursive: true, force: true });
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
if (hasIde) {
|
|
14
|
+
execSync('pnpm -C ../ide run build', { stdio: 'inherit' });
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
execSync('rollup -c', { stdio: 'inherit' });
|
|
18
|
+
|
|
19
|
+
// Ensure the compiled CLI entry point has execution permissions
|
|
20
|
+
const entryFile = path.resolve(distDir, 'index.js');
|
|
21
|
+
if (fs.existsSync(entryFile)) {
|
|
22
|
+
fs.chmodSync(entryFile, 0o755);
|
|
23
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ===================================================================
|
|
3
|
+
* dev-debug.js — 一键联调 cli + ide
|
|
4
|
+
* ===================================================================
|
|
5
|
+
*
|
|
6
|
+
* 用途:让你在本地同时改 CLI(CLI server / wasm split / route 等)和 IDE
|
|
7
|
+
* (React 组件、wasm-split Modal、API 调用)时只敲一条命令就把三件事
|
|
8
|
+
* 一起拉起来:
|
|
9
|
+
*
|
|
10
|
+
* 1. CLI 源码增量构建 → packages/libs/dev-tools/cli/dist
|
|
11
|
+
* 2. CLI dev server → http://localhost:3000,cwd = 你的 Unity 工程
|
|
12
|
+
* 3. IDE vite dev server → http://localhost:5173,热更
|
|
13
|
+
*
|
|
14
|
+
* IDE 的 vite.config.ts 已经把所有 /game/* 接口 proxy 到 :3000,所以
|
|
15
|
+
* 你只要在浏览器开 http://localhost:5173,就能用最新 IDE + 最新 CLI 联调。
|
|
16
|
+
*
|
|
17
|
+
* 用法(在 cli 目录下):
|
|
18
|
+
* pnpm dev:debug /absolute/path/to/your/unity-game
|
|
19
|
+
* # 或者
|
|
20
|
+
* TTMG_DEV_PROJECT=/absolute/path/to/your/unity-game pnpm dev:debug
|
|
21
|
+
*
|
|
22
|
+
* 在 monorepo 任意位置:
|
|
23
|
+
* pnpm -C packages/libs/dev-tools/cli dev:debug /absolute/path/to/unity-game
|
|
24
|
+
*
|
|
25
|
+
* 必填:Unity 工程目录(必须含 game.json)。CLI 大量逻辑用 process.cwd()
|
|
26
|
+
* 解析 wasm 路径、写 __TTMG_TEMP__、改 webgl-wasm-split.js,所以必须把
|
|
27
|
+
* CLI 进程的 cwd 直接指到工程根,不能在 monorepo 里跑。
|
|
28
|
+
*
|
|
29
|
+
* 设计要点:
|
|
30
|
+
* - 用 Node 自带的 `--watch`(≥18.11)替代 nodemon —— 监听 dist/index.js
|
|
31
|
+
* 变化自动重启 server 进程,零额外依赖。
|
|
32
|
+
* - 用 rollup 自带 `-w` 替代 ts-node-dev / tsx —— 跟 npm run build 走
|
|
33
|
+
* 同一条 pipeline,不会出现 "ts-node 跑得通、build 不过" 的偏差。
|
|
34
|
+
* - 启动顺序:先 spawn rollup -w(它会自己 first-build),轮询等待
|
|
35
|
+
* dist/index.js 出现,再 spawn node --watch;vite 跟 rollup 同时起。
|
|
36
|
+
* 这样避免了"node --watch 在 dist 还不存在时直接退出"的坑。
|
|
37
|
+
* - SIGINT/SIGTERM 一并下发给三个子进程,Ctrl+C 干净收尾。
|
|
38
|
+
*
|
|
39
|
+
* 设置 `TTMG_DEV_NO_OPEN=1` 给 CLI 子进程,让它不要 openUrl 到 :3000
|
|
40
|
+
*(那是 dist/public 里的旧 IDE,联调时我们要的是 vite 的 :5173)。
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
const { spawn } = require('child_process');
|
|
44
|
+
const fs = require('fs');
|
|
45
|
+
const path = require('path');
|
|
46
|
+
|
|
47
|
+
// __dirname = packages/libs/dev-tools/cli/scripts
|
|
48
|
+
const CLI_DIR = path.resolve(__dirname, '..');
|
|
49
|
+
const IDE_DIR = path.resolve(__dirname, '../../ide');
|
|
50
|
+
const CLI_DIST_ENTRY = path.join(CLI_DIR, 'dist/index.js');
|
|
51
|
+
|
|
52
|
+
function fail(msg) {
|
|
53
|
+
console.error(`\n❌ ${msg}\n`);
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const projectArg = process.argv[2];
|
|
58
|
+
const projectEnv = process.env.TTMG_DEV_PROJECT;
|
|
59
|
+
const projectDir = projectArg
|
|
60
|
+
? path.resolve(projectArg)
|
|
61
|
+
: projectEnv
|
|
62
|
+
? path.resolve(projectEnv)
|
|
63
|
+
: null;
|
|
64
|
+
|
|
65
|
+
if (!projectDir) {
|
|
66
|
+
fail(
|
|
67
|
+
'缺少 Unity 工程目录。\n' +
|
|
68
|
+
' 用法: pnpm dev:debug /absolute/path/to/your/unity-game\n' +
|
|
69
|
+
' 或: TTMG_DEV_PROJECT=/absolute/path/to/unity-game pnpm dev:debug',
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
if (!fs.existsSync(projectDir)) {
|
|
73
|
+
fail(`Unity 工程目录不存在: ${projectDir}`);
|
|
74
|
+
}
|
|
75
|
+
if (!fs.existsSync(path.join(projectDir, 'game.json'))) {
|
|
76
|
+
fail(
|
|
77
|
+
`${projectDir} 看起来不是 Unity 工程根(缺少 game.json)。\n` +
|
|
78
|
+
` CLI 用 process.cwd() 操作工程文件,cwd 不对会写错地方,所以这里硬性校验。`,
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
if (!fs.existsSync(IDE_DIR)) {
|
|
82
|
+
fail(
|
|
83
|
+
`IDE 目录不存在: ${IDE_DIR}\n` +
|
|
84
|
+
` 这个脚本依赖 monorepo 同级 ide 包,单独发出去的 npm 包不会带这个目录。`,
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
console.log('🚀 ttmg dev-debug starting');
|
|
89
|
+
console.log(` ├─ CLI 源码 ${CLI_DIR}`);
|
|
90
|
+
console.log(` ├─ IDE 源码 ${IDE_DIR}`);
|
|
91
|
+
console.log(` └─ Unity 工程 ${projectDir}`);
|
|
92
|
+
console.log('');
|
|
93
|
+
|
|
94
|
+
const children = [];
|
|
95
|
+
|
|
96
|
+
function spawnChild(label, cmd, args, opts) {
|
|
97
|
+
console.log(`▶ [${label}] ${cmd} ${args.join(' ')}`);
|
|
98
|
+
const child = spawn(cmd, args, {
|
|
99
|
+
stdio: 'inherit',
|
|
100
|
+
shell: process.platform === 'win32', // Windows 下需要 shell 才能识别 .cmd
|
|
101
|
+
...opts,
|
|
102
|
+
});
|
|
103
|
+
child._label = label;
|
|
104
|
+
child.on('exit', (code, signal) => {
|
|
105
|
+
if (signal === 'SIGINT' || signal === 'SIGTERM') return;
|
|
106
|
+
console.log(`✗ [${label}] exited with code=${code} signal=${signal}`);
|
|
107
|
+
// 任何一个子进程异常退出都把整个 dev-debug 拉下来,避免出现
|
|
108
|
+
// "vite 还在转、CLI 已经挂了" 这种调起来很懵的状态。
|
|
109
|
+
cleanup(code ?? 1);
|
|
110
|
+
});
|
|
111
|
+
children.push(child);
|
|
112
|
+
return child;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
let cleanedUp = false;
|
|
116
|
+
function cleanup(code = 0) {
|
|
117
|
+
if (cleanedUp) return;
|
|
118
|
+
cleanedUp = true;
|
|
119
|
+
for (const c of children) {
|
|
120
|
+
if (!c.killed) {
|
|
121
|
+
try {
|
|
122
|
+
c.kill('SIGINT');
|
|
123
|
+
} catch {}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// 给子进程一点时间把端口让出来 / flush 日志
|
|
127
|
+
setTimeout(() => process.exit(code), 200);
|
|
128
|
+
}
|
|
129
|
+
process.on('SIGINT', () => cleanup(0));
|
|
130
|
+
process.on('SIGTERM', () => cleanup(0));
|
|
131
|
+
|
|
132
|
+
// 1) CLI rollup watch —— 第一次会 full build,之后增量。
|
|
133
|
+
spawnChild('cli:build', 'npx', ['rollup', '-c', '-w'], { cwd: CLI_DIR });
|
|
134
|
+
|
|
135
|
+
// 3) IDE vite —— 跟 rollup 没依赖关系,并行起。
|
|
136
|
+
spawnChild('ide:dev', 'pnpm', ['dev'], { cwd: IDE_DIR });
|
|
137
|
+
|
|
138
|
+
// 2) CLI dev server —— 必须等 rollup 第一次 build 完,否则 node --watch
|
|
139
|
+
// 会在 dist/index.js 还不存在时立即退出。轮询 dist/index.js 文件存在
|
|
140
|
+
// + 连续两次大小不变(=已经写完)后再启动。
|
|
141
|
+
const POLL_INTERVAL_MS = 200;
|
|
142
|
+
const READY_TIMEOUT_MS = 60_000;
|
|
143
|
+
const startedAt = Date.now();
|
|
144
|
+
let lastSize = -1;
|
|
145
|
+
let stableCount = 0;
|
|
146
|
+
|
|
147
|
+
const waitTimer = setInterval(() => {
|
|
148
|
+
if (cleanedUp) {
|
|
149
|
+
clearInterval(waitTimer);
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
if (Date.now() - startedAt > READY_TIMEOUT_MS) {
|
|
153
|
+
clearInterval(waitTimer);
|
|
154
|
+
fail(
|
|
155
|
+
`等待 ${CLI_DIST_ENTRY} 超时 (${READY_TIMEOUT_MS}ms)。` +
|
|
156
|
+
' rollup -w 是不是挂了?看上面的 cli:build 输出。',
|
|
157
|
+
);
|
|
158
|
+
}
|
|
159
|
+
let size;
|
|
160
|
+
try {
|
|
161
|
+
size = fs.statSync(CLI_DIST_ENTRY).size;
|
|
162
|
+
} catch {
|
|
163
|
+
return; // 还没生成
|
|
164
|
+
}
|
|
165
|
+
if (size === lastSize && size > 0) {
|
|
166
|
+
stableCount += 1;
|
|
167
|
+
} else {
|
|
168
|
+
stableCount = 0;
|
|
169
|
+
lastSize = size;
|
|
170
|
+
}
|
|
171
|
+
if (stableCount >= 2) {
|
|
172
|
+
clearInterval(waitTimer);
|
|
173
|
+
console.log(
|
|
174
|
+
`\n✓ cli dist ready (${(size / 1024).toFixed(1)}KB), starting server in ${projectDir}\n`,
|
|
175
|
+
);
|
|
176
|
+
spawnChild(
|
|
177
|
+
'cli:server',
|
|
178
|
+
'node',
|
|
179
|
+
['--watch', CLI_DIST_ENTRY, 'dev'],
|
|
180
|
+
{
|
|
181
|
+
cwd: projectDir,
|
|
182
|
+
env: {
|
|
183
|
+
...process.env,
|
|
184
|
+
// 让 CLI 跳过自己的 chrome-launcher openUrl —— 联调时 IDE 在
|
|
185
|
+
// vite (5173),不要再去打开 dist/public 那份旧 IDE。
|
|
186
|
+
TTMG_DEV_NO_OPEN: '1',
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
);
|
|
190
|
+
}
|
|
191
|
+
}, POLL_INTERVAL_MS);
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const os = require('os');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
|
|
5
|
+
const args = process.argv.slice(2);
|
|
6
|
+
const isDryRun = args.includes('--dry-run');
|
|
7
|
+
|
|
8
|
+
const rcPath = process.env.TTMGRC_PATH || path.join(os.homedir(), '.ttmgrc');
|
|
9
|
+
const targets = [
|
|
10
|
+
{ path: rcPath, type: 'file', label: 'TTMG config (.ttmgrc)' },
|
|
11
|
+
{ path: path.join(os.homedir(), '__TTMG__'), type: 'dir', label: 'TTMG temp dir' },
|
|
12
|
+
{
|
|
13
|
+
path: path.join(os.homedir(), '.my-chrome-dev-profile'),
|
|
14
|
+
type: 'dir',
|
|
15
|
+
label: 'Chrome debug profile',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
path: path.resolve(__dirname, '../.ttmgrc.test'),
|
|
19
|
+
type: 'file',
|
|
20
|
+
label: 'TTMG test config (.ttmgrc.test)',
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
|
|
24
|
+
function removeTarget(target) {
|
|
25
|
+
if (!fs.existsSync(target.path)) {
|
|
26
|
+
console.log(`[skip] ${target.label}: ${target.path}`);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (isDryRun) {
|
|
31
|
+
console.log(`[dry-run] remove ${target.label}: ${target.path}`);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
fs.rmSync(target.path, { recursive: true, force: true });
|
|
36
|
+
console.log(`[done] removed ${target.label}: ${target.path}`);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
console.log('Resetting local TTMG state...');
|
|
40
|
+
if (isDryRun) {
|
|
41
|
+
console.log('Dry run mode enabled. No files will be removed.');
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
for (const target of targets) {
|
|
45
|
+
removeTarget(target);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
console.log(isDryRun ? 'Dry run completed.' : 'Local state reset completed.');
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const { execSync } = require('child_process');
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
|
|
5
|
+
const cliRoot = path.resolve(__dirname, '..');
|
|
6
|
+
const ideRoot = path.resolve(cliRoot, '../ide');
|
|
7
|
+
|
|
8
|
+
const args = process.argv.slice(2);
|
|
9
|
+
const clean = args.includes('--clean') || args.includes('--fresh');
|
|
10
|
+
|
|
11
|
+
const run = (command, cwd) => {
|
|
12
|
+
execSync(command, { stdio: 'inherit', cwd });
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const rm = p => {
|
|
16
|
+
if (!fs.existsSync(p)) return;
|
|
17
|
+
fs.rmSync(p, { recursive: true, force: true });
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
if (clean) {
|
|
21
|
+
rm(path.join(cliRoot, 'node_modules'));
|
|
22
|
+
rm(path.join(ideRoot, 'node_modules'));
|
|
23
|
+
rm(path.join(ideRoot, 'dist'));
|
|
24
|
+
rm(path.join(cliRoot, 'public'));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
run('pnpm install', cliRoot);
|
|
28
|
+
run('pnpm install', ideRoot);
|
|
29
|
+
run('pnpm run build', ideRoot);
|
|
30
|
+
run('pnpm run build', cliRoot);
|