next-flow-interface 0.18.21 → 0.18.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1609,7 +1609,7 @@ interface PluginInformation {
1609
1609
  }
1610
1610
  interface PluginContainerServiceApi {
1611
1611
  plugins: Map<string, PluginInformation>;
1612
- addPlugin(plugin: BasePlugin): void;
1612
+ addPlugin(plugin: BasePlugin): Promise<void>;
1613
1613
  removePlugin(plugin: BasePlugin): void;
1614
1614
  openPlugin(plugin: IconPlugin): Promise<boolean>;
1615
1615
  closePlugin(plugin: IconPlugin): Promise<boolean>;
@@ -2089,10 +2089,21 @@ declare enum PluginEventType {
2089
2089
  ADD = "ADD",
2090
2090
  INSTALL = "INSTALL",
2091
2091
  ENABLE = "ENABLE",
2092
+ OPEN = "OPEN",
2093
+ CLOSE = "CLOSE",
2092
2094
  DISABLE = "DISABLE",
2093
- UNINSTALL = "UNINSTALL"
2095
+ UNINSTALL = "UNINSTALL",
2096
+ DEBUG = "DEBUG"
2094
2097
  }
2095
2098
 
2099
+ /**
2100
+ * 插件服务订阅者
2101
+ *
2102
+ * @param id 插件id
2103
+ * @param type 事件类型
2104
+ */
2105
+ type PluginServiceSubscriber = (id: string, type: PluginEventType) => void;
2106
+
2096
2107
  interface PluginState {
2097
2108
  instance?: BasePlugin;
2098
2109
  element?: HTMLScriptElement;
@@ -2101,14 +2112,6 @@ interface PluginState {
2101
2112
  debug?: boolean;
2102
2113
  }
2103
2114
 
2104
- /**
2105
- * 插件服务订阅者
2106
- *
2107
- * @param type 事件类型
2108
- * @param plugin 插件状态
2109
- */
2110
- type PluginServiceSubscriber = (type: PluginEventType, plugin?: PluginState) => void;
2111
-
2112
2115
  interface PluginServiceApi {
2113
2116
  /**
2114
2117
  * 是否为精简输出模式 不会针对每一个插件输出详细信息 (默认为 true)
@@ -2150,10 +2153,6 @@ interface PluginServiceApi {
2150
2153
  * @param config 插件配置
2151
2154
  */
2152
2155
  add(config: PluginConfig): Promise<void>;
2153
- /**
2154
- * 添加所有官方插件
2155
- */
2156
- addOfficialPlugins(): Promise<void>;
2157
2156
  /**
2158
2157
  * 添加外部插件
2159
2158
  *
@@ -2184,6 +2183,18 @@ interface PluginServiceApi {
2184
2183
  * @param id 插件 ID
2185
2184
  */
2186
2185
  enable(id: string): Promise<void>;
2186
+ /**
2187
+ * 打开插件 (侧栏中的可开启项)
2188
+ *
2189
+ * @param id 插件 ID
2190
+ */
2191
+ open(id: string): Promise<void>;
2192
+ /**
2193
+ * 关闭插件
2194
+ *
2195
+ * @param id 插件 ID
2196
+ */
2197
+ close(id: string): Promise<void>;
2187
2198
  /**
2188
2199
  * 禁用插件
2189
2200
  *
@@ -2196,6 +2207,11 @@ interface PluginServiceApi {
2196
2207
  * @param id 插件 ID
2197
2208
  */
2198
2209
  uninstall(id: string): Promise<void>;
2210
+ waitInstall(id: string): Promise<void>;
2211
+ waitEnable(id: string): Promise<void>;
2212
+ isOpenablePlugin(type: PluginType): boolean;
2213
+ isSideBarPlugin(type: PluginType): boolean;
2214
+ isViewPlugin(type: PluginType): boolean;
2199
2215
  }
2200
2216
 
2201
2217
  interface SceneServiceApi {
@@ -2269,7 +2285,7 @@ interface Status {
2269
2285
  SyncInitialized: boolean;
2270
2286
  RsInitialized: boolean;
2271
2287
  AllInitialized: boolean;
2272
- PluginInstalled: boolean;
2288
+ PluginEnabled: boolean;
2273
2289
  PluginPreLoaded: boolean;
2274
2290
  FileLoaded: boolean;
2275
2291
  ModelLoaded: boolean;
@@ -2302,10 +2318,10 @@ interface StatusServiceApi {
2302
2318
  unsubscribeAllInitialized(subscriber: StatusChangeSubscriber): void;
2303
2319
  afterAllInitialized(subscriber: StatusChangeSubscriber): void;
2304
2320
  waitAllInitialized(): Promise<boolean>;
2305
- subscribePluginInstalled(subscriber: StatusChangeSubscriber): () => void;
2306
- unsubscribePluginInstalled(subscriber: StatusChangeSubscriber): void;
2307
- afterPluginInstalled(subscriber: StatusChangeSubscriber): void;
2308
- waitPluginInstalled(): Promise<boolean>;
2321
+ subscribePluginEnabled(subscriber: StatusChangeSubscriber): () => void;
2322
+ unsubscribePluginEnabled(subscriber: StatusChangeSubscriber): void;
2323
+ afterPluginEnabled(subscriber: StatusChangeSubscriber): void;
2324
+ waitPluginEnabled(): Promise<boolean>;
2309
2325
  subscribePluginPreLoaded(subscriber: StatusChangeSubscriber): () => void;
2310
2326
  unsubscribePluginPreLoaded(subscriber: StatusChangeSubscriber): void;
2311
2327
  afterPluginPreLoaded(subscriber: StatusChangeSubscriber): void;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var t=Object.defineProperty,n=class extends Error{constructor(t){super(t),this.name="NotFoundError"}},e=class extends n{constructor(t){super(t),this.name="DomNotFoundError"}},o=class extends Error{constructor(t){super(`${t} is a static class and cannot be instantiated.`),this.name="StaticClassInstantiationError"}},i=(t=>(t.Default="Default",t))(i||{}),r=class{constructor(t,n=null,e="",o="Default",i=0,r=0){this.nid=t,this.node=n,this.text=e,this.theme=o,this.x=i,this.y=r}parentElement=null;pointElement=null;lineElement=null;blockElement=null;textElement=null;validate=!1;always=!1;show=!1;lastClickTime=0;lastSp=null},a=(t=>(t.ADD="ADD",t.REMOVE="REMOVE",t.START="START",t.PROGRESS="PROGRESS",t.PAUSE="PAUSE",t.RESUME="RESUME",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(a||{}),s=(t=>(t.WAITING="WAITING",t.LOADING="LOADING",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(s||{}),u=(t=>(t.WAITING="WAITING",t.LOADING="LOADING",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(u||{}),c=(t=>(t.START="START",t.PROGRESS="PROGRESS",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(c||{}),E=class t{constructor(t,n,e=[],o=!1,i=0,r=0,a=!1,s,u=null,c=new Date){this.options=t,this.id=n,this.lines=e,this.showIcon=o,this.x=i,this.y=r,this.closeOnOutsideClick=a,this.theme=s,this.controller=u,this.createTime=c}static fromOptions(n,e,o){let{showIcon:i}=e;return void 0===i&&e.lines?.forEach(t=>{t.icon&&(i=!0)}),new t(e,n,o,i,e.x,e.y,e.closeOnOutsideClick,e.theme)}},l=(t=>(t.BUTTON="BUTTON",t.DIVIDER="DIVIDER",t.CHECKBOX="CHECKBOX",t.SUB="SUB",t.VIEW="VIEW",t))(l||{}),T=class t{constructor(t,n,e="BUTTON",o="",i="",r=void 0,a=void 0,s="",u=!1,c="",E=()=>{},l=()=>{},T=()=>{},f="BUTTON"===e,R=!1,A=()=>{},h=void 0,S=new Date){this.options=t,this.id=n,this.type=e,this.text=o,this.tip=i,this.icon=r,this.view=a,this.color=s,this.disabled=u,this.shortcut=c,this.onClick=E,this.onMouseOver=l,this.onMouseOut=T,this.closeAllOnClick=f,this.checkboxDefaultValue=R,this.onCheckboxChange=A,this.sub=h,this.createTime=S}static fromOptions(n,e){return new t(e,n,e.type,e.text,e.tip,e.icon,e.view,e.color,e.disabled,e.shortcut,e.onClick,e.onMouseOver,e.onMouseOut,e.closeAllOnClick,e.checkboxDefaultValue,e.onCheckboxChange,e.sub)}},f=(t=>(t.GREEN="GREEN",t.PURPLE="PURPLE",t.BLUE="BLUE",t.PINK="PINK",t))(f||{}),R=(t=>(t.LEFT="LEFT",t.CENTER="CENTER",t.RIGHT="RIGHT",t))(R||{}),A=class t{constructor(t,n,e="",o=void 0,i="",r="LEFT",a=void 0,s=void 0,u=void 0,c="BLUE",E=!1,l="",T={},f="",R="",A=!1,h="",S="",O=A,D=!1,L=()=>{},N=()=>!0,d=!0,I=()=>{},m=()=>{},C=()=>{},p=()=>{},P=()=>{},g=()=>{},y=()=>{},U=()=>{},w=()=>()=>{},M=!0,B=!0,x=!1,b=!0,G=!1,v=h,F=new Date,V=()=>{},H=new Map){this.options=t,this.id=n,this.title=e,this.titleIcon=o,this.content=i,this.contentAlign=r,this.contentView=a,this.icon=s,this.view=u,this.theme=c,this.leftMode=E,this.className=l,this.style=T,this.confirmText=f,this.cancelText=R,this.enableInput=A,this.defaultValue=h,this.inputPlaceholder=S,this.autoFocus=O,this.allowEmpty=D,this.onChange=L,this.onCheck=N,this.enableCloseButton=d,this.onConfirm=I,this.onCancel=m,this.onClose=C,this.onConfirmButtonClick=p,this.onCancelButtonClick=P,this.onOutsideClick=g,this.onCloseButtonClick=y,this.onRender=U,this.onEffect=w,this.closeOnConfirm=M,this.closeOnCancel=B,this.closeOnOutsideClick=x,this.closeOnCloseButtonClick=b,this.alignButton=G,this.inputValue=v,this.createTime=F,this.focusInput=V,this.elements=H}static fromOptions(n,e){return new t(e,n,e.title,e.titleIcon,e.content,e.contentAlign,e.contentView,e.icon,e.view,e.theme,e.leftMode,e.className,e.style,e.confirmText,e.cancelText,e.enableInput,e.defaultValue,e.inputPlaceholder,e.autoFocus,e.allowEmpty,e.onChange,e.onCheck,e.enableCloseButton,e.onConfirm,e.onCancel,e.onClose,e.onConfirmButtonClick,e.onCancelButtonClick,e.onOutsideClick,e.onCloseButtonClick,e.onRender,e.onEffect,e.closeOnConfirm,e.closeOnCancel,e.closeOnOutsideClick,e.closeOnCloseButtonClick,e.alignButton)}setHide=()=>{}},h=(t=>(t.WAITING="WAITING",t.LOADING="LOADING",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(h||{}),S=(t=>(t.START="START",t.PROGRESS="PROGRESS",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(S||{}),O={};((n,e)=>{for(var o in e)t(n,o,{get:e[o],enumerable:!0})})(O,{AAC:()=>W,ANIMATION:()=>x,ANY:()=>C,ATTACH_LIST:()=>Pt,AVI:()=>ot,AVIF:()=>tt,BMP:()=>K,CAMERA:()=>U,FLAC:()=>k,FLV:()=>st,GIF:()=>j,GLB:()=>b,GLTF:()=>G,GP3:()=>ct,HEIF:()=>Z,ICO:()=>Q,JPG:()=>X,JSON:()=>lt,LIGHT:()=>y,MARKDOWN:()=>Rt,MATERIAL:()=>M,MESH:()=>g,MKV:()=>Et,MOV:()=>rt,MP3:()=>V,MP4:()=>nt,MPEG:()=>it,NF:()=>Tt,OBJ:()=>F,OGG:()=>_,OGV:()=>ut,OPUS:()=>z,PNG:()=>Y,SCENE:()=>P,STL:()=>v,SUPPORT_ALL_LIST:()=>It,SUPPORT_AUDIO_LIST:()=>Dt,SUPPORT_BABYLON_LIST:()=>Ot,SUPPORT_FILE_LIST:()=>mt,SUPPORT_IMAGE_LIST:()=>At,SUPPORT_JSON_LIST:()=>Nt,SUPPORT_MODEL_LIST:()=>ht,SUPPORT_NEXTFLOW_LIST:()=>dt,SUPPORT_RENDER_LIST:()=>Ct,SUPPORT_TEXTURE_LIST:()=>pt,SUPPORT_TEXT_LIST:()=>Lt,SUPPORT_VIDEO_LIST:()=>St,SVG:()=>J,TEXTURE:()=>w,TIFF:()=>q,TXT:()=>ft,UNKNOWN:()=>p,UV:()=>B,WAV:()=>H,WMV:()=>at,WebM:()=>et,WebP:()=>$,getExtension:()=>xt,getMime:()=>Bt,getMimeByBlob:()=>gt,getMimeByBuffer:()=>wt,getMimeByPath:()=>yt,getMimeByStream:()=>Mt,getMimeByUrl:()=>Ut,isAttach:()=>$t,isBabylon:()=>_t,isMaterial:()=>jt,isSupport:()=>bt,isSupportAudio:()=>kt,isSupportFile:()=>Gt,isSupportImage:()=>vt,isSupportJson:()=>Wt,isSupportModel:()=>Ft,isSupportRender:()=>zt,isSupportText:()=>Ht,isSupportTexture:()=>Xt,isSupportVideo:()=>Vt,isTexture:()=>Yt,isUV:()=>Kt});import{AbstractMesh as D,BaseTexture as L,Material as N}from"@babylonjs/core";import{fileTypeFromBlob as d,fileTypeFromBuffer as I,fileTypeFromStream as m}from"file-type";var C="*/*",p="unknown/unknown",P="babylonjs/scene",g="babylonjs/mesh",y="babylonjs/light",U="babylonjs/camera",w="babylonjs/texture",M="babylonjs/material",B="babylonjs/uv",x="babylonjs/animation",b="model/gltf-binary",G="model/gltf+json",v="model/stl",F="model/obj",V="audio/mpeg",H="audio/wav",W="audio/aac",_="audio/ogg",k="audio/flac",z="audio/opus",X="image/jpeg",Y="image/png",j="image/gif",K="image/bmp",$="image/webp",J="image/svg+xml",q="image/tiff",Q="image/x-icon",Z="image/heif",tt="image/avif",nt="video/mp4",et="video/webm",ot="video/x-msvideo",it="video/mpeg",rt="video/quicktime",at="video/x-ms-wmv",st="video/x-flv",ut="video/ogg",ct="video/3gpp",Et="video/x-matroska",lt="application/json",Tt="nextflow/sync",ft="text/plain",Rt="text/markdown",At=[X,Y],ht=[P,b,G,v,F],St=[nt],Ot=[P,g,y,U,w,M,B,x],Dt=[V,H],Lt=[ft],Nt=[lt],dt=[Tt],It=[...At,...ht,...St,...Ot,...Dt,...Lt,...Nt],mt=[...At,...ht,...St,...Dt,...Lt,...Nt],Ct=[...At,...ht,...St,...Lt],pt=[...At,...St,w],Pt=[w,M,B];async function gt(t){if(t&&t instanceof Blob){if(t instanceof File&&t.name.endsWith(".babylon"))return P;const n=await d(t);return!n&&t instanceof File&&t.name.endsWith(".stl")?v:n?.mime??p}return p}async function yt(t){if(t){if(t.endsWith(".babylon"))return P;return(await import("mime")).default.getType(t)??p}return p}async function Ut(t){if(!t)return p;if(t.endsWith(".babylon"))return P;try{const n=await fetch(t);if(!n.body)return p;const e=await m(n.body);if(e?.mime)return e.mime;const o=new URL(t).pathname;if(o.includes("."))return await yt(o)}catch(t){console.error("getMimeByUrl",t)}return p}async function wt(t){if(t){const n=await I(t);return n?.mime??p}return p}async function Mt(t){const n=await m(t);return n?.mime??p}async function Bt(t){return t?"undefined"!=typeof ReadableStream&&t instanceof ReadableStream?Mt(t):t instanceof Blob?gt(t):"string"==typeof t?t.startsWith("http://")||t.startsWith("https://")?Ut(t):yt(t):t instanceof ArrayBuffer||t instanceof Uint8Array?wt(t):t instanceof L?w:t instanceof N?M:t instanceof D?g:p:p}async function xt(t=p){if(t===P)return"babylon";if(_t(t)||$t(t))return t;if(t===C||t===p)return"";return(await import("mime")).default.getExtension(t)??""}function bt(t=p){return t==C||t!=p&&It.includes(t)}function Gt(t=p){return t==C||t!=p&&mt.includes(t)}function vt(t=p){return t==C||t!=p&&At.includes(t)}function Ft(t=p){return t==C||t!=p&&ht.includes(t)}function Vt(t=p){return t==C||t!=p&&St.includes(t)}function Ht(t=p){return t==C||t!=p&&Lt.includes(t)}function Wt(t=p){return t==C||t!=p&&Nt.includes(t)}function _t(t=p){return t==C||t!=p&&Ot.includes(t)}function kt(t=p){return t==C||t!=p&&Dt.includes(t)}function zt(t=p){return t==C||t!=p&&Ct.includes(t)}function Xt(t=p){return t==C||t!=p&&pt.includes(t)}function Yt(t=p){return t==C||t!=p&&t==w}function jt(t=p){return t==C||t!=p&&t==M}function Kt(t=p){return t==C||t!=p&&t==B}function $t(t=p){return t==C||t!=p&&Pt.includes(t)}var Jt=(t=>(t.ADD="ADD",t.REMOVE="REMOVE",t.START="START",t.PROGRESS="PROGRESS",t.PAUSE="PAUSE",t.RESUME="RESUME",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(Jt||{}),qt=(t=>(t.WAITING="WAITING",t.LOADING="LOADING",t.PAUSED="PAUSED",t.LOADED="LOADED",t.FAILED="FAILED",t.CANCELED="CANCELED",t))(qt||{}),Qt=(t=>(t.BLOB="BLOB",t.OBJECT="OBJECT",t))(Qt||{}),Zt=(t=>(t.WAITING="WAITING",t.UPLOADING="UPLOADING",t.PAUSED="PAUSED",t.COMPLETED="COMPLETED",t.FAILED="FAILED",t.CANCELED="CANCELED",t))(Zt||{}),tn=(t=>(t.START="START",t.PROGRESS="PROGRESS",t.PAUSE="PAUSE",t.RESUME="RESUME",t.UPLOADED="UPLOADED",t.FAILED="FAILED",t.CANCELED="CANCELED",t))(tn||{}),nn=(t=>(t.ZH="ZH",t.EN="EN",t))(nn||{}),en=(t=>(t.PENDING="PENDING",t.PROGRESSING="PROGRESSING",t.ENDED="ENDED",t.CANCELED="CANCELED",t.BANNED="BANNED",t))(en||{}),on=(t=>(t.NONE="NONE",t.SELF="SELF",t.ALL="ALL",t))(on||{}),rn=class{constructor(t,n,e,o){this.text=t,this.type=n,this.duration=e,this.id=o}show=!0;height=20;opacity=0},an=(t=>(t.ADD="ADD",t.INSTALL="INSTALL",t.ENABLE="ENABLE",t.DISABLE="DISABLE",t.UNINSTALL="UNINSTALL",t))(an||{}),sn=(t=>(t.BUILT_IN="BUILT_IN",t.EXTERNAL="EXTERNAL",t.UNKNOWN="UNKNOWN",t))(sn||{}),un=(t=>(t.DISPLAY="DISPLAY",t.FULL="FULL",t.HP_BOX="HP_BOX",t.VR="VR",t.MR="MR",t))(un||{}),cn=(t=>(t.EDITOR="EDITOR",t.VIEWER="VIEWER",t.VISITOR="VISITOR",t))(cn||{}),En=(t=>(t.DEFAULT="DEFAULT",t.DESCRIPTION="DESCRIPTION",t))(En||{}),ln=(t=>(t.XS="XS",t.SM="SM",t.MD="MD",t.LG="LG",t.XL="XL",t))(ln||{}),Tn=(t=>(t.DEFAULT="DEFAULT",t.BACKGROUND="BACKGROUND",t.LIGHT="LIGHT",t.DARK="DARK",t))(Tn||{}),fn=(t=>(t.GENERAL="GENERAL",t.RHINE="RHINE",t))(fn||{}),Rn=(t=>(t.UNDO="UNDO",t.REDO="REDO",t))(Rn||{}),An=(t=>(t.ADD="ADD",t.REMOVE="REMOVE",t))(An||{}),hn=(t=>(t.OSS="OSS",t.URL="URL",t))(hn||{}),Sn=(t=>(t.TEXT="TEXT",t.CUBE="CUBE",t.SPHERE="SPHERE",t.CONE="CONE",t.PRISM="PRISM",t.POLYHEDRON="POLYHEDRON",t.TORUS="TORUS",t.CYLINDER="CYLINDER",t.ICO_SPHERE="ICO_SPHERE",t.CAPSULE="CAPSULE",t.PLANE="PLANE",t))(Sn||{}),On=(t=>(t.BASIC="BASIC",t.PROVIDE="PROVIDE",t.UPLOAD="UPLOAD",t))(On||{}),Dn=(t=>(t.NONE="NONE",t.INSTALL="INSTALL",t.ENABLE="ENABLE",t.OPEN="OPEN",t))(Dn||{}),Ln=(t=>(t.LATEST_STABLE="LATEST_STABLE",t.LATEST_NIGHTLY="LATEST_NIGHTLY",t.LATEST_CANARY="LATEST_CANARY",t))(Ln||{}),Nn=(t=>(t.TEXTURE="TEXTURE",t.MATERIAL="MATERIAL",t.UV="UV",t))(Nn||{}),dn=(t=>(t.FILE="FILE",t.ATTACH="ATTACH",t))(dn||{}),In=(t=>(t.NONE="NONE",t.PBR="PBR",t.STANDARD="STANDARD",t.NODE="NODE",t.OTHER="OTHER",t.TERRAIN="TERRAIN",t.FUR="FUR",t.WATER="WATER",t.LAVA="LAVA",t.SKY="SKY",t.BACKGROUND="BACKGROUND",t.MULTI="MULTI",t.SHADER="SHADER",t))(In||{}),mn=(t=>(t.NONE="NONE",t.METAL="METAL",t.PLASTIC="PLASTIC",t.GLASS="GLASS",t.WOOD="WOOD",t.MIRROR="MIRROR",t.CRYSTAL="CRYSTAL",t.PAINT="PAINT",t.CLOTH="CLOTH",t))(mn||{}),Cn=(t=>(t.ADD="ADD",t.REMOVE="REMOVE",t))(Cn||{}),pn=(t=>(t.SYNC="SYNC",t.STEP="STEP",t.SELECT="SELECT",t.ADD="ADD",t.UPDATE="UPDATE",t.DELETE="DELETE",t))(pn||{}),Pn=(t=>(t[t.TOP=0]="TOP",t[t.RIGHT=1]="RIGHT",t[t.BOTTOM=2]="BOTTOM",t[t.LEFT=3]="LEFT",t[t.TOP_LEFT=4]="TOP_LEFT",t[t.BOTTOM_LEFT=5]="BOTTOM_LEFT",t[t.TOP_RIGHT=6]="TOP_RIGHT",t[t.BOTTOM_RIGHT=7]="BOTTOM_RIGHT",t[t.UNKNOWN=8]="UNKNOWN",t))(Pn||{}),gn=(t=>(t.BUTTON="BUTTON",t.SWITCH="SWITCH",t.DRAWER="DRAWER",t.DIALOG="DIALOG",t.CONTENT="CONTENT",t.WINDOW="WINDOW",t.SERVICE="SERVICE",t))(gn||{});var yn={computeSHA256:async function(t){const n=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(n)).map(t=>t.toString(16).padStart(2,"0")).join("")}};var Un={recursPathValue:function(t,n){const e=[];return e.push({path:t,value:n}),e}};function wn(t){const n=Math.floor(t).toString().length<=1?2:1;return t.toFixed(n)}async function Mn(t){if(t.size<=1048576){const n=await t.arrayBuffer();return yn.computeSHA256(n)}const n=[.25,.5,.75].map(n=>Math.floor(t.size*n)),e=await Promise.all(n.map(async n=>{const e=n,o=Math.min(e+65536,t.size),i=t.slice(e,o),r=await i.arrayBuffer();return yn.computeSHA256(r)})),o=new TextEncoder,i=e.join(""),r=o.encode(i);return yn.computeSHA256(r)}var Bn={to3n:wn,convertBytesToHigherUnit:function(t){const n=["B","KB","MB","GB","TB","PB","EB","ZB","YB"];let e=0;for(;t>=1024&&e<n.length-1;)t/=1024,e++;let o=wn(t);return o.endsWith(".0")&&(o=o.slice(0,-2)),o.endsWith(".00")&&(o=o.slice(0,-3)),`${o} ${n[e]}`},splitName:function(t){const n=t.lastIndexOf(".");return-1===n?[t,""]:[t.substring(0,n),t.substring(n+1)]},ensureFileArray:function(t){return t?t instanceof File?[t]:t instanceof FileList?Array.from(t):t:[]},chunkHash:Mn,isSameFile:async function(t,n,e,o){if(n===t.name&&e===t.size){if(!o)return!0;if(o===await Mn(t))return!0}return!1},getFileInfo:async function(t){const n=await fetch(t,{method:"HEAD"});if(!n.ok)throw new Error(`HEAD request failed with status: ${String(n.status)}`);const e=n.headers.get("Content-Length");let o;if(e){if(o=parseInt(e,10),isNaN(o))throw new Error("Invalid file size from header")}else{const n=await fetch(t);if(!n.ok)throw new Error(`GET request failed with status: ${String(n.status)}`);o=(await n.blob()).size}return{name:new URL(t).pathname.split("/").pop()??"unknown",size:o}}};var xn={toDegrees:function(t){return t*(180/Math.PI)},toRadians:function(t){return t*(Math.PI/180)},approximatelyEqual:function(t,n,e=1e-6){return Math.abs(t-n)<e},getDistance:function(t,n,e,o){return Math.sqrt((e-t)**2+(o-n)**2)},getDistance3d:function(t,n,e,o,i,r){return Math.sqrt((o-t)**2+(i-n)**2+(r-e)**2)},getNearestNumberIndex:function(t,n){let e=1/0,o=-1;for(let i=0;i<n.length;i++){const r=Math.abs(t-n[i]);r<e&&(e=r,o=i)}return o}};function bn(t){if(t.type.includes("touch")){const n=t;if(n.touches.length){const t=n.touches[0];return[t.clientX,t.clientY]}const e=n.changedTouches[0];return[e.clientX,e.clientY]}const n=t;return[n.clientX,n.clientY]}var Gn={getEventPosition:bn,getDistanceBetweenEvents:function(t,n){const[e,o]=bn(t),[i,r]=bn(n);return xn.getDistance(e,o,i,r)},preventDefaultListener:function(t){t.preventDefault()},stopPropagationListener:function(t){t.stopPropagation()},preventDefaultStopPropagationListener:function(t){t.preventDefault(),t.stopPropagation()}};var vn={fetchJsonWithRetry:async function(t,n=3){let e;for(let o=0;o<n;o++)try{const n=await fetch(t);if(!n.ok)throw new Error(`HTTP Error: Status ${n.status.toString()}`);return await n.json()}catch(n){e=n,console.log(`Attempt ${(o+1).toString()} Failed: Retrying...\n${t}`)}throw e},fetchBlobWithRetry:async function(t,n=3){let e;for(let o=0;o<n;o++)try{const n=await fetch(t);if(!n.ok)throw new Error(`HTTP Error: Status ${n.status.toString()}`);return await n.blob()}catch(n){e=n,console.log(`Attempt ${(o+1).toString()} Failed: Retrying...\n${t}`)}throw e}};function Fn(t,n){const e=10**n;return Math.round(t*e)/e}var Vn={roundToX:Fn,r2:function(t){return Fn(t,2)},r3:function(t){return Fn(t,3)},isValidNumber:function(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}};var Hn={getPageTypeBySpaceText:function(t){return"space"===t?"EDITOR":"m"===t?"VISITOR":"VIEWER"},getSearchParams:function(t){return new URLSearchParams(window.location.search).get(t)??void 0}};function Wn(t){const n=[];for(const e of t.split(".")){const t=parseInt(e,10);isNaN(t)||e!==t.toString()?n.push(e):n.push(t)}return n}function _n(t){return t.join(".")}function kn(t){return"string"==typeof t?Wn(t):t}var zn={makeRvPath:Wn,makeRvPathString:_n,ensureRvPath:kn,ensureRvPathString:function(t){return"string"!=typeof t?_n(t):t},getByRvPath:function(t,n){const e=kn(n);let o=t;for(const t of e){if(null==o)return;o=o[t]}return o},setByRvPath:function(t,n,e){const o=kn(n);let i=t;for(let t=0;t<o.length-1;t++)i=i[o[t]];i[o[o.length-1]]=e},checkRvPathOverlay:function(t,n){const e=kn(t),o=kn(n),i=e.length>o.length?o.length:e.length;for(let t=0;t<i;t++)if(e[t]!=o[t])return!1;return!0}};function Xn(t){return new Promise(n=>{setTimeout(n,t)})}function Yn(t,n){if(0===n)return t;let e,o,i=0,r=null;function a(){i=Date.now(),e&&t.apply(o,e)}return function(...t){const s=Date.now()-i;e=t,o=this,0!==i?(r&&(clearTimeout(r),r=null),s<n?r=setTimeout(()=>{a(),r=null},n-s):a()):setTimeout(a,1)}}var jn={convertTimeText:function(t){const n=Math.floor(t/3600),e=Math.floor(t%3600/60),o=Math.floor(t%60);return[n>0?String(n).padStart(2,"0"):null,String(e).padStart(2,"0"),String(o).padStart(2,"0")].filter(Boolean).join(":")},formatDateTo17Digits:function(t=new Date){return t.getFullYear().toString()+(t.getMonth()+1).toString().padStart(2,"0")+t.getDate().toString().padStart(2,"0")+t.getHours().toString().padStart(2,"0")+t.getMinutes().toString().padStart(2,"0")+t.getSeconds().toString().padStart(2,"0")+t.getMilliseconds().toString().padStart(3,"0")},formatDuration:function(t,n){const e=n-t,o=Math.floor(e/1e3),i=Math.floor(o/3600),r=Math.floor(o%3600/60),a=o%60;return`${i>0?`${i.toString().padStart(2,"0")}:`:""}${r.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`}};async function Kn(t){try{return await navigator.clipboard.writeText(t),!0}catch{return!1}}var $n={getParam:function(t){const n=new RegExp(`(^|&)${t}=([^&]*)(&|$)`,"i"),e=window.location.search.substring(1).match(n);return null!=e?decodeURIComponent(e[2]):""},getHashParam:function(t){const n=new RegExp(`(^|&)${t}=([^&]*)(&|$)`,"i"),e=window.location.hash.substring(1).match(n);return null!=e?decodeURIComponent(e[2]):""},check:function(t){return new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?:\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i").test(t)},copyCurrentUrlToClipboard:async function(){return Kn(window.location.href)},copyText:async function(t){try{return await navigator.clipboard.writeText(t),!0}catch{return!1}},trySetClipboard:Kn,extractFilenameFromUrl:function(t,n=!0){try{const e=new URL(t),o=e.pathname.split("/").pop()??"";return!n&&o.includes(".")?o.substring(0,o.lastIndexOf(".")):o}catch{return""}}};import{Quaternion as Jn,Vector3 as qn}from"@babylonjs/core";function Qn(t){return{x:180*t.x/Math.PI,y:180*t.y/Math.PI,z:180*t.z/Math.PI}}function Zn(t){return new Jn(t.x,t.y,t.z,t.w)}function te(t){return"w"in t}var ne={xyToArray:function(t,n=-1,e=[0,0]){return t?-1===n?[t.x,t.y]:[Vn.roundToX(t.x,n),Vn.roundToX(t.y,n)]:e},xyzToArray:function(t,n=-1,e=[0,0,0]){return t?-1===n?[t.x,t.y,t.z]:[Vn.roundToX(t.x,n),Vn.roundToX(t.y,n),Vn.roundToX(t.z,n)]:e},xyzwToArray:function(t,n=-1,e=[0,0,0,0]){return t?-1===n?[t.x,t.y,t.z,t.w]:[Vn.roundToX(t.x,n),Vn.roundToX(t.y,n),Vn.roundToX(t.z,n),Vn.roundToX(t.w,n)]:e},scaleV3:function(t,n){return{x:n.x*t,y:n.y*t,z:n.z*t}},radiansToDegrees:Qn,degreeToRadians:function(t){return{x:t.x*Math.PI/180,y:t.y*Math.PI/180,z:t.z*Math.PI/180}},radiansToQuaternion:function(t){return Jn.RotationYawPitchRoll(t.y,t.x,t.z)},degreesToQuaternion:function(t){return Jn.RotationYawPitchRoll(t.y*Math.PI/180,t.x*Math.PI/180,t.z*Math.PI/180)},toVector3:function(t){return new qn(t.x,t.y,t.z)},fromVector3:function(t){return{x:t.x,y:t.y,z:t.z}},withRound:function(t,n=0){return{x:Vn.roundToX(t.x,n),y:Vn.roundToX(t.y,n),z:Vn.roundToX(t.z,n)}},isFiniteVector:function(t){return isFinite(t.x)&&isFinite(t.y)&&isFinite(t.z)},noZero:function(t){return 0!==t.x&&0!==t.y&&0!==t.z},scaleV4:function(t,n){return{x:n.x*t,y:n.y*t,z:n.z*t,w:n.w*t}},toQuaternionVector:Zn,toEulerRadians:function(t){return Zn(t).toEulerAngles()},toEulerDegrees:function(t){return Qn(Zn(t).toEulerAngles())},toArray:function(t){return te(t)?[t.x,t.y,t.z,t.w]:[t.x,t.y,t.z]},fromQuaternion:function(t){return{x:t.x,y:t.y,z:t.z,w:t.w}},toArrayWithRound4:function(t,n=0){return te(t)?[Vn.roundToX(t.x,n),Vn.roundToX(t.y,n),Vn.roundToX(t.z,n),Vn.roundToX(t.w,n)]:[Vn.roundToX(t.x,n),Vn.roundToX(t.y,n),Vn.roundToX(t.z,n)]}};export{O as AcceptMime,E as ContextMenu,yn as CryptoUtils,Un as DataUtils,A as Dialog,R as DialogContentAlign,e as DomNotFoundError,Dn as EnableLevel,Bn as FileUtils,c as FirstLoadModelServiceEventType,u as FirstLoadModelServiceStatus,S as FirstLoadServiceEventType,h as FirstLoadServiceStatus,En as FocusMode,Rn as HistoryServiceEventType,Pn as IconPluginPosition,r as LabelInfo,i as LabelTheme,Jt as LocalDataServiceEventType,qt as LocalDataStatus,Qt as LocalDataType,nn as Locale,xn as MathUtils,en as MeetingStatus,T as MenuLine,l as MenuLineType,rn as Message,Gn as NativeEventUtils,vn as NetworkUtils,n as NotFoundError,Vn as NumberUtils,Zt as OssUploadInstanceStatus,tn as OssUploadServiceEventType,un as PageMode,cn as PageType,Hn as PageUtils,an as PluginEventType,sn as PluginFrom,gn as PluginType,a as RsModelServiceEventType,s as RsModelStatus,Nn as RvAttachType,Sn as RvBasicType,An as RvFileServiceEventType,hn as RvFileType,In as RvMaterialType,On as RvModelOrigin,mn as RvPresetType,Cn as RvResourceServiceEventType,dn as RvResourceType,zn as RvUtils,ln as ScreenSize,on as ShareMode,o as StaticClassInstantiationError,pn as TChangeType,Tn as ThemeBackground,f as ThemeColor,fn as ThemeShape,jn as TimeUtils,$n as UrlUtils,ne as VectorUtils,Ln as VersionPoint,Xn as sleep,Yn as throttle};
1
+ var t=Object.defineProperty,n=class extends Error{constructor(t){super(t),this.name="NotFoundError"}},e=class extends n{constructor(t){super(t),this.name="DomNotFoundError"}},o=class extends Error{constructor(t){super(`${t} is a static class and cannot be instantiated.`),this.name="StaticClassInstantiationError"}},i=(t=>(t.Default="Default",t))(i||{}),r=class{constructor(t,n=null,e="",o="Default",i=0,r=0){this.nid=t,this.node=n,this.text=e,this.theme=o,this.x=i,this.y=r}parentElement=null;pointElement=null;lineElement=null;blockElement=null;textElement=null;validate=!1;always=!1;show=!1;lastClickTime=0;lastSp=null},a=(t=>(t.ADD="ADD",t.REMOVE="REMOVE",t.START="START",t.PROGRESS="PROGRESS",t.PAUSE="PAUSE",t.RESUME="RESUME",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(a||{}),s=(t=>(t.WAITING="WAITING",t.LOADING="LOADING",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(s||{}),u=(t=>(t.WAITING="WAITING",t.LOADING="LOADING",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(u||{}),c=(t=>(t.START="START",t.PROGRESS="PROGRESS",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(c||{}),E=class t{constructor(t,n,e=[],o=!1,i=0,r=0,a=!1,s,u=null,c=new Date){this.options=t,this.id=n,this.lines=e,this.showIcon=o,this.x=i,this.y=r,this.closeOnOutsideClick=a,this.theme=s,this.controller=u,this.createTime=c}static fromOptions(n,e,o){let{showIcon:i}=e;return void 0===i&&e.lines?.forEach(t=>{t.icon&&(i=!0)}),new t(e,n,o,i,e.x,e.y,e.closeOnOutsideClick,e.theme)}},l=(t=>(t.BUTTON="BUTTON",t.DIVIDER="DIVIDER",t.CHECKBOX="CHECKBOX",t.SUB="SUB",t.VIEW="VIEW",t))(l||{}),T=class t{constructor(t,n,e="BUTTON",o="",i="",r=void 0,a=void 0,s="",u=!1,c="",E=()=>{},l=()=>{},T=()=>{},f="BUTTON"===e,R=!1,A=()=>{},h=void 0,S=new Date){this.options=t,this.id=n,this.type=e,this.text=o,this.tip=i,this.icon=r,this.view=a,this.color=s,this.disabled=u,this.shortcut=c,this.onClick=E,this.onMouseOver=l,this.onMouseOut=T,this.closeAllOnClick=f,this.checkboxDefaultValue=R,this.onCheckboxChange=A,this.sub=h,this.createTime=S}static fromOptions(n,e){return new t(e,n,e.type,e.text,e.tip,e.icon,e.view,e.color,e.disabled,e.shortcut,e.onClick,e.onMouseOver,e.onMouseOut,e.closeAllOnClick,e.checkboxDefaultValue,e.onCheckboxChange,e.sub)}},f=(t=>(t.GREEN="GREEN",t.PURPLE="PURPLE",t.BLUE="BLUE",t.PINK="PINK",t))(f||{}),R=(t=>(t.LEFT="LEFT",t.CENTER="CENTER",t.RIGHT="RIGHT",t))(R||{}),A=class t{constructor(t,n,e="",o=void 0,i="",r="LEFT",a=void 0,s=void 0,u=void 0,c="BLUE",E=!1,l="",T={},f="",R="",A=!1,h="",S="",O=A,D=!1,L=()=>{},N=()=>!0,d=!0,I=()=>{},C=()=>{},m=()=>{},p=()=>{},P=()=>{},g=()=>{},y=()=>{},U=()=>{},w=()=>()=>{},M=!0,B=!0,x=!1,b=!0,G=!1,v=h,F=new Date,V=()=>{},H=new Map){this.options=t,this.id=n,this.title=e,this.titleIcon=o,this.content=i,this.contentAlign=r,this.contentView=a,this.icon=s,this.view=u,this.theme=c,this.leftMode=E,this.className=l,this.style=T,this.confirmText=f,this.cancelText=R,this.enableInput=A,this.defaultValue=h,this.inputPlaceholder=S,this.autoFocus=O,this.allowEmpty=D,this.onChange=L,this.onCheck=N,this.enableCloseButton=d,this.onConfirm=I,this.onCancel=C,this.onClose=m,this.onConfirmButtonClick=p,this.onCancelButtonClick=P,this.onOutsideClick=g,this.onCloseButtonClick=y,this.onRender=U,this.onEffect=w,this.closeOnConfirm=M,this.closeOnCancel=B,this.closeOnOutsideClick=x,this.closeOnCloseButtonClick=b,this.alignButton=G,this.inputValue=v,this.createTime=F,this.focusInput=V,this.elements=H}static fromOptions(n,e){return new t(e,n,e.title,e.titleIcon,e.content,e.contentAlign,e.contentView,e.icon,e.view,e.theme,e.leftMode,e.className,e.style,e.confirmText,e.cancelText,e.enableInput,e.defaultValue,e.inputPlaceholder,e.autoFocus,e.allowEmpty,e.onChange,e.onCheck,e.enableCloseButton,e.onConfirm,e.onCancel,e.onClose,e.onConfirmButtonClick,e.onCancelButtonClick,e.onOutsideClick,e.onCloseButtonClick,e.onRender,e.onEffect,e.closeOnConfirm,e.closeOnCancel,e.closeOnOutsideClick,e.closeOnCloseButtonClick,e.alignButton)}setHide=()=>{}},h=(t=>(t.WAITING="WAITING",t.LOADING="LOADING",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(h||{}),S=(t=>(t.START="START",t.PROGRESS="PROGRESS",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(S||{}),O={};((n,e)=>{for(var o in e)t(n,o,{get:e[o],enumerable:!0})})(O,{AAC:()=>W,ANIMATION:()=>x,ANY:()=>m,ATTACH_LIST:()=>Pt,AVI:()=>ot,AVIF:()=>tt,BMP:()=>K,CAMERA:()=>U,FLAC:()=>k,FLV:()=>st,GIF:()=>j,GLB:()=>b,GLTF:()=>G,GP3:()=>ct,HEIF:()=>Z,ICO:()=>Q,JPG:()=>X,JSON:()=>lt,LIGHT:()=>y,MARKDOWN:()=>Rt,MATERIAL:()=>M,MESH:()=>g,MKV:()=>Et,MOV:()=>rt,MP3:()=>V,MP4:()=>nt,MPEG:()=>it,NF:()=>Tt,OBJ:()=>F,OGG:()=>_,OGV:()=>ut,OPUS:()=>z,PNG:()=>Y,SCENE:()=>P,STL:()=>v,SUPPORT_ALL_LIST:()=>It,SUPPORT_AUDIO_LIST:()=>Dt,SUPPORT_BABYLON_LIST:()=>Ot,SUPPORT_FILE_LIST:()=>Ct,SUPPORT_IMAGE_LIST:()=>At,SUPPORT_JSON_LIST:()=>Nt,SUPPORT_MODEL_LIST:()=>ht,SUPPORT_NEXTFLOW_LIST:()=>dt,SUPPORT_RENDER_LIST:()=>mt,SUPPORT_TEXTURE_LIST:()=>pt,SUPPORT_TEXT_LIST:()=>Lt,SUPPORT_VIDEO_LIST:()=>St,SVG:()=>J,TEXTURE:()=>w,TIFF:()=>q,TXT:()=>ft,UNKNOWN:()=>p,UV:()=>B,WAV:()=>H,WMV:()=>at,WebM:()=>et,WebP:()=>$,getExtension:()=>xt,getMime:()=>Bt,getMimeByBlob:()=>gt,getMimeByBuffer:()=>wt,getMimeByPath:()=>yt,getMimeByStream:()=>Mt,getMimeByUrl:()=>Ut,isAttach:()=>$t,isBabylon:()=>_t,isMaterial:()=>jt,isSupport:()=>bt,isSupportAudio:()=>kt,isSupportFile:()=>Gt,isSupportImage:()=>vt,isSupportJson:()=>Wt,isSupportModel:()=>Ft,isSupportRender:()=>zt,isSupportText:()=>Ht,isSupportTexture:()=>Xt,isSupportVideo:()=>Vt,isTexture:()=>Yt,isUV:()=>Kt});import{AbstractMesh as D,BaseTexture as L,Material as N}from"@babylonjs/core";import{fileTypeFromBlob as d,fileTypeFromBuffer as I,fileTypeFromStream as C}from"file-type";var m="*/*",p="unknown/unknown",P="babylonjs/scene",g="babylonjs/mesh",y="babylonjs/light",U="babylonjs/camera",w="babylonjs/texture",M="babylonjs/material",B="babylonjs/uv",x="babylonjs/animation",b="model/gltf-binary",G="model/gltf+json",v="model/stl",F="model/obj",V="audio/mpeg",H="audio/wav",W="audio/aac",_="audio/ogg",k="audio/flac",z="audio/opus",X="image/jpeg",Y="image/png",j="image/gif",K="image/bmp",$="image/webp",J="image/svg+xml",q="image/tiff",Q="image/x-icon",Z="image/heif",tt="image/avif",nt="video/mp4",et="video/webm",ot="video/x-msvideo",it="video/mpeg",rt="video/quicktime",at="video/x-ms-wmv",st="video/x-flv",ut="video/ogg",ct="video/3gpp",Et="video/x-matroska",lt="application/json",Tt="nextflow/sync",ft="text/plain",Rt="text/markdown",At=[X,Y],ht=[P,b,G,v,F],St=[nt],Ot=[P,g,y,U,w,M,B,x],Dt=[V,H],Lt=[ft],Nt=[lt],dt=[Tt],It=[...At,...ht,...St,...Ot,...Dt,...Lt,...Nt],Ct=[...At,...ht,...St,...Dt,...Lt,...Nt],mt=[...At,...ht,...St,...Lt],pt=[...At,...St,w],Pt=[w,M,B];async function gt(t){if(t&&t instanceof Blob){if(t instanceof File&&t.name.endsWith(".babylon"))return P;const n=await d(t);return!n&&t instanceof File&&t.name.endsWith(".stl")?v:n?.mime??p}return p}async function yt(t){if(t){if(t.endsWith(".babylon"))return P;return(await import("mime")).default.getType(t)??p}return p}async function Ut(t){if(!t)return p;if(t.endsWith(".babylon"))return P;try{const n=await fetch(t);if(!n.body)return p;const e=await C(n.body);if(e?.mime)return e.mime;const o=new URL(t).pathname;if(o.includes("."))return await yt(o)}catch(t){console.error("getMimeByUrl",t)}return p}async function wt(t){if(t){const n=await I(t);return n?.mime??p}return p}async function Mt(t){const n=await C(t);return n?.mime??p}async function Bt(t){return t?"undefined"!=typeof ReadableStream&&t instanceof ReadableStream?Mt(t):t instanceof Blob?gt(t):"string"==typeof t?t.startsWith("http://")||t.startsWith("https://")?Ut(t):yt(t):t instanceof ArrayBuffer||t instanceof Uint8Array?wt(t):t instanceof L?w:t instanceof N?M:t instanceof D?g:p:p}async function xt(t=p){if(t===P)return"babylon";if(_t(t)||$t(t))return t;if(t===m||t===p)return"";return(await import("mime")).default.getExtension(t)??""}function bt(t=p){return t==m||t!=p&&It.includes(t)}function Gt(t=p){return t==m||t!=p&&Ct.includes(t)}function vt(t=p){return t==m||t!=p&&At.includes(t)}function Ft(t=p){return t==m||t!=p&&ht.includes(t)}function Vt(t=p){return t==m||t!=p&&St.includes(t)}function Ht(t=p){return t==m||t!=p&&Lt.includes(t)}function Wt(t=p){return t==m||t!=p&&Nt.includes(t)}function _t(t=p){return t==m||t!=p&&Ot.includes(t)}function kt(t=p){return t==m||t!=p&&Dt.includes(t)}function zt(t=p){return t==m||t!=p&&mt.includes(t)}function Xt(t=p){return t==m||t!=p&&pt.includes(t)}function Yt(t=p){return t==m||t!=p&&t==w}function jt(t=p){return t==m||t!=p&&t==M}function Kt(t=p){return t==m||t!=p&&t==B}function $t(t=p){return t==m||t!=p&&Pt.includes(t)}var Jt=(t=>(t.ADD="ADD",t.REMOVE="REMOVE",t.START="START",t.PROGRESS="PROGRESS",t.PAUSE="PAUSE",t.RESUME="RESUME",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(Jt||{}),qt=(t=>(t.WAITING="WAITING",t.LOADING="LOADING",t.PAUSED="PAUSED",t.LOADED="LOADED",t.FAILED="FAILED",t.CANCELED="CANCELED",t))(qt||{}),Qt=(t=>(t.BLOB="BLOB",t.OBJECT="OBJECT",t))(Qt||{}),Zt=(t=>(t.WAITING="WAITING",t.UPLOADING="UPLOADING",t.PAUSED="PAUSED",t.COMPLETED="COMPLETED",t.FAILED="FAILED",t.CANCELED="CANCELED",t))(Zt||{}),tn=(t=>(t.START="START",t.PROGRESS="PROGRESS",t.PAUSE="PAUSE",t.RESUME="RESUME",t.UPLOADED="UPLOADED",t.FAILED="FAILED",t.CANCELED="CANCELED",t))(tn||{}),nn=(t=>(t.ZH="ZH",t.EN="EN",t))(nn||{}),en=(t=>(t.PENDING="PENDING",t.PROGRESSING="PROGRESSING",t.ENDED="ENDED",t.CANCELED="CANCELED",t.BANNED="BANNED",t))(en||{}),on=(t=>(t.NONE="NONE",t.SELF="SELF",t.ALL="ALL",t))(on||{}),rn=class{constructor(t,n,e,o){this.text=t,this.type=n,this.duration=e,this.id=o}show=!0;height=20;opacity=0},an=(t=>(t.ADD="ADD",t.INSTALL="INSTALL",t.ENABLE="ENABLE",t.OPEN="OPEN",t.CLOSE="CLOSE",t.DISABLE="DISABLE",t.UNINSTALL="UNINSTALL",t.DEBUG="DEBUG",t))(an||{}),sn=(t=>(t.BUILT_IN="BUILT_IN",t.EXTERNAL="EXTERNAL",t.UNKNOWN="UNKNOWN",t))(sn||{}),un=(t=>(t.DISPLAY="DISPLAY",t.FULL="FULL",t.HP_BOX="HP_BOX",t.VR="VR",t.MR="MR",t))(un||{}),cn=(t=>(t.EDITOR="EDITOR",t.VIEWER="VIEWER",t.VISITOR="VISITOR",t))(cn||{}),En=(t=>(t.DEFAULT="DEFAULT",t.DESCRIPTION="DESCRIPTION",t))(En||{}),ln=(t=>(t.XS="XS",t.SM="SM",t.MD="MD",t.LG="LG",t.XL="XL",t))(ln||{}),Tn=(t=>(t.DEFAULT="DEFAULT",t.BACKGROUND="BACKGROUND",t.LIGHT="LIGHT",t.DARK="DARK",t))(Tn||{}),fn=(t=>(t.GENERAL="GENERAL",t.RHINE="RHINE",t))(fn||{}),Rn=(t=>(t.UNDO="UNDO",t.REDO="REDO",t))(Rn||{}),An=(t=>(t.ADD="ADD",t.REMOVE="REMOVE",t))(An||{}),hn=(t=>(t.OSS="OSS",t.URL="URL",t))(hn||{}),Sn=(t=>(t.TEXT="TEXT",t.CUBE="CUBE",t.SPHERE="SPHERE",t.CONE="CONE",t.PRISM="PRISM",t.POLYHEDRON="POLYHEDRON",t.TORUS="TORUS",t.CYLINDER="CYLINDER",t.ICO_SPHERE="ICO_SPHERE",t.CAPSULE="CAPSULE",t.PLANE="PLANE",t))(Sn||{}),On=(t=>(t.BASIC="BASIC",t.PROVIDE="PROVIDE",t.UPLOAD="UPLOAD",t))(On||{}),Dn=(t=>(t.NONE="NONE",t.INSTALL="INSTALL",t.ENABLE="ENABLE",t.OPEN="OPEN",t))(Dn||{}),Ln=(t=>(t.LATEST_STABLE="LATEST_STABLE",t.LATEST_NIGHTLY="LATEST_NIGHTLY",t.LATEST_CANARY="LATEST_CANARY",t))(Ln||{}),Nn=(t=>(t.TEXTURE="TEXTURE",t.MATERIAL="MATERIAL",t.UV="UV",t))(Nn||{}),dn=(t=>(t.FILE="FILE",t.ATTACH="ATTACH",t))(dn||{}),In=(t=>(t.NONE="NONE",t.PBR="PBR",t.STANDARD="STANDARD",t.NODE="NODE",t.OTHER="OTHER",t.TERRAIN="TERRAIN",t.FUR="FUR",t.WATER="WATER",t.LAVA="LAVA",t.SKY="SKY",t.BACKGROUND="BACKGROUND",t.MULTI="MULTI",t.SHADER="SHADER",t))(In||{}),Cn=(t=>(t.NONE="NONE",t.METAL="METAL",t.PLASTIC="PLASTIC",t.GLASS="GLASS",t.WOOD="WOOD",t.MIRROR="MIRROR",t.CRYSTAL="CRYSTAL",t.PAINT="PAINT",t.CLOTH="CLOTH",t))(Cn||{}),mn=(t=>(t.ADD="ADD",t.REMOVE="REMOVE",t))(mn||{}),pn=(t=>(t.SYNC="SYNC",t.STEP="STEP",t.SELECT="SELECT",t.ADD="ADD",t.UPDATE="UPDATE",t.DELETE="DELETE",t))(pn||{}),Pn=(t=>(t[t.TOP=0]="TOP",t[t.RIGHT=1]="RIGHT",t[t.BOTTOM=2]="BOTTOM",t[t.LEFT=3]="LEFT",t[t.TOP_LEFT=4]="TOP_LEFT",t[t.BOTTOM_LEFT=5]="BOTTOM_LEFT",t[t.TOP_RIGHT=6]="TOP_RIGHT",t[t.BOTTOM_RIGHT=7]="BOTTOM_RIGHT",t[t.UNKNOWN=8]="UNKNOWN",t))(Pn||{}),gn=(t=>(t.BUTTON="BUTTON",t.SWITCH="SWITCH",t.DRAWER="DRAWER",t.DIALOG="DIALOG",t.CONTENT="CONTENT",t.WINDOW="WINDOW",t.SERVICE="SERVICE",t))(gn||{});var yn={computeSHA256:async function(t){const n=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(n)).map(t=>t.toString(16).padStart(2,"0")).join("")}};var Un={recursPathValue:function(t,n){const e=[];return e.push({path:t,value:n}),e}};function wn(t){const n=Math.floor(t).toString().length<=1?2:1;return t.toFixed(n)}async function Mn(t){if(t.size<=1048576){const n=await t.arrayBuffer();return yn.computeSHA256(n)}const n=[.25,.5,.75].map(n=>Math.floor(t.size*n)),e=await Promise.all(n.map(async n=>{const e=n,o=Math.min(e+65536,t.size),i=t.slice(e,o),r=await i.arrayBuffer();return yn.computeSHA256(r)})),o=new TextEncoder,i=e.join(""),r=o.encode(i);return yn.computeSHA256(r)}var Bn={to3n:wn,convertBytesToHigherUnit:function(t){const n=["B","KB","MB","GB","TB","PB","EB","ZB","YB"];let e=0;for(;t>=1024&&e<n.length-1;)t/=1024,e++;let o=wn(t);return o.endsWith(".0")&&(o=o.slice(0,-2)),o.endsWith(".00")&&(o=o.slice(0,-3)),`${o} ${n[e]}`},splitName:function(t){const n=t.lastIndexOf(".");return-1===n?[t,""]:[t.substring(0,n),t.substring(n+1)]},ensureFileArray:function(t){return t?t instanceof File?[t]:t instanceof FileList?Array.from(t):t:[]},chunkHash:Mn,isSameFile:async function(t,n,e,o){if(n===t.name&&e===t.size){if(!o)return!0;if(o===await Mn(t))return!0}return!1},getFileInfo:async function(t){const n=await fetch(t,{method:"HEAD"});if(!n.ok)throw new Error(`HEAD request failed with status: ${String(n.status)}`);const e=n.headers.get("Content-Length");let o;if(e){if(o=parseInt(e,10),isNaN(o))throw new Error("Invalid file size from header")}else{const n=await fetch(t);if(!n.ok)throw new Error(`GET request failed with status: ${String(n.status)}`);o=(await n.blob()).size}return{name:new URL(t).pathname.split("/").pop()??"unknown",size:o}}};var xn={toDegrees:function(t){return t*(180/Math.PI)},toRadians:function(t){return t*(Math.PI/180)},approximatelyEqual:function(t,n,e=1e-6){return Math.abs(t-n)<e},getDistance:function(t,n,e,o){return Math.sqrt((e-t)**2+(o-n)**2)},getDistance3d:function(t,n,e,o,i,r){return Math.sqrt((o-t)**2+(i-n)**2+(r-e)**2)},getNearestNumberIndex:function(t,n){let e=1/0,o=-1;for(let i=0;i<n.length;i++){const r=Math.abs(t-n[i]);r<e&&(e=r,o=i)}return o}};function bn(t){if(t.type.includes("touch")){const n=t;if(n.touches.length){const t=n.touches[0];return[t.clientX,t.clientY]}const e=n.changedTouches[0];return[e.clientX,e.clientY]}const n=t;return[n.clientX,n.clientY]}var Gn={getEventPosition:bn,getDistanceBetweenEvents:function(t,n){const[e,o]=bn(t),[i,r]=bn(n);return xn.getDistance(e,o,i,r)},preventDefaultListener:function(t){t.preventDefault()},stopPropagationListener:function(t){t.stopPropagation()},preventDefaultStopPropagationListener:function(t){t.preventDefault(),t.stopPropagation()}};var vn={fetchJsonWithRetry:async function(t,n=3){let e;for(let o=0;o<n;o++)try{const n=await fetch(t);if(!n.ok)throw new Error(`HTTP Error: Status ${n.status.toString()}`);return await n.json()}catch(n){e=n,console.log(`Attempt ${(o+1).toString()} Failed: Retrying...\n${t}`)}throw e},fetchBlobWithRetry:async function(t,n=3){let e;for(let o=0;o<n;o++)try{const n=await fetch(t);if(!n.ok)throw new Error(`HTTP Error: Status ${n.status.toString()}`);return await n.blob()}catch(n){e=n,console.log(`Attempt ${(o+1).toString()} Failed: Retrying...\n${t}`)}throw e}};function Fn(t,n){const e=10**n;return Math.round(t*e)/e}var Vn={roundToX:Fn,r2:function(t){return Fn(t,2)},r3:function(t){return Fn(t,3)},isValidNumber:function(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}};var Hn={getPageTypeBySpaceText:function(t){return"space"===t?"EDITOR":"m"===t?"VISITOR":"VIEWER"},getSearchParams:function(t){return new URLSearchParams(window.location.search).get(t)??void 0}};function Wn(t){const n=[];for(const e of t.split(".")){const t=parseInt(e,10);isNaN(t)||e!==t.toString()?n.push(e):n.push(t)}return n}function _n(t){return t.join(".")}function kn(t){return"string"==typeof t?Wn(t):t}var zn={makeRvPath:Wn,makeRvPathString:_n,ensureRvPath:kn,ensureRvPathString:function(t){return"string"!=typeof t?_n(t):t},getByRvPath:function(t,n){const e=kn(n);let o=t;for(const t of e){if(null==o)return;o=o[t]}return o},setByRvPath:function(t,n,e){const o=kn(n);let i=t;for(let t=0;t<o.length-1;t++)i=i[o[t]];i[o[o.length-1]]=e},checkRvPathOverlay:function(t,n){const e=kn(t),o=kn(n),i=e.length>o.length?o.length:e.length;for(let t=0;t<i;t++)if(e[t]!=o[t])return!1;return!0}};function Xn(t){return new Promise(n=>{setTimeout(n,t)})}function Yn(t,n){if(0===n)return t;let e,o,i=0,r=null;function a(){i=Date.now(),e&&t.apply(o,e)}return function(...t){const s=Date.now()-i;e=t,o=this,0!==i?(r&&(clearTimeout(r),r=null),s<n?r=setTimeout(()=>{a(),r=null},n-s):a()):setTimeout(a,1)}}var jn={convertTimeText:function(t){const n=Math.floor(t/3600),e=Math.floor(t%3600/60),o=Math.floor(t%60);return[n>0?String(n).padStart(2,"0"):null,String(e).padStart(2,"0"),String(o).padStart(2,"0")].filter(Boolean).join(":")},formatDateTo17Digits:function(t=new Date){return t.getFullYear().toString()+(t.getMonth()+1).toString().padStart(2,"0")+t.getDate().toString().padStart(2,"0")+t.getHours().toString().padStart(2,"0")+t.getMinutes().toString().padStart(2,"0")+t.getSeconds().toString().padStart(2,"0")+t.getMilliseconds().toString().padStart(3,"0")},formatDuration:function(t,n){const e=n-t,o=Math.floor(e/1e3),i=Math.floor(o/3600),r=Math.floor(o%3600/60),a=o%60;return`${i>0?`${i.toString().padStart(2,"0")}:`:""}${r.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`}};async function Kn(t){try{return await navigator.clipboard.writeText(t),!0}catch{return!1}}var $n={getParam:function(t){const n=new RegExp(`(^|&)${t}=([^&]*)(&|$)`,"i"),e=window.location.search.substring(1).match(n);return null!=e?decodeURIComponent(e[2]):""},getHashParam:function(t){const n=new RegExp(`(^|&)${t}=([^&]*)(&|$)`,"i"),e=window.location.hash.substring(1).match(n);return null!=e?decodeURIComponent(e[2]):""},check:function(t){return new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?:\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i").test(t)},copyCurrentUrlToClipboard:async function(){return Kn(window.location.href)},copyText:async function(t){try{return await navigator.clipboard.writeText(t),!0}catch{return!1}},trySetClipboard:Kn,extractFilenameFromUrl:function(t,n=!0){try{const e=new URL(t),o=e.pathname.split("/").pop()??"";return!n&&o.includes(".")?o.substring(0,o.lastIndexOf(".")):o}catch{return""}}};import{Quaternion as Jn,Vector3 as qn}from"@babylonjs/core";function Qn(t){return{x:180*t.x/Math.PI,y:180*t.y/Math.PI,z:180*t.z/Math.PI}}function Zn(t){return new Jn(t.x,t.y,t.z,t.w)}function te(t){return"w"in t}var ne={xyToArray:function(t,n=-1,e=[0,0]){return t?-1===n?[t.x,t.y]:[Vn.roundToX(t.x,n),Vn.roundToX(t.y,n)]:e},xyzToArray:function(t,n=-1,e=[0,0,0]){return t?-1===n?[t.x,t.y,t.z]:[Vn.roundToX(t.x,n),Vn.roundToX(t.y,n),Vn.roundToX(t.z,n)]:e},xyzwToArray:function(t,n=-1,e=[0,0,0,0]){return t?-1===n?[t.x,t.y,t.z,t.w]:[Vn.roundToX(t.x,n),Vn.roundToX(t.y,n),Vn.roundToX(t.z,n),Vn.roundToX(t.w,n)]:e},scaleV3:function(t,n){return{x:n.x*t,y:n.y*t,z:n.z*t}},radiansToDegrees:Qn,degreeToRadians:function(t){return{x:t.x*Math.PI/180,y:t.y*Math.PI/180,z:t.z*Math.PI/180}},radiansToQuaternion:function(t){return Jn.RotationYawPitchRoll(t.y,t.x,t.z)},degreesToQuaternion:function(t){return Jn.RotationYawPitchRoll(t.y*Math.PI/180,t.x*Math.PI/180,t.z*Math.PI/180)},toVector3:function(t){return new qn(t.x,t.y,t.z)},fromVector3:function(t){return{x:t.x,y:t.y,z:t.z}},withRound:function(t,n=0){return{x:Vn.roundToX(t.x,n),y:Vn.roundToX(t.y,n),z:Vn.roundToX(t.z,n)}},isFiniteVector:function(t){return isFinite(t.x)&&isFinite(t.y)&&isFinite(t.z)},noZero:function(t){return 0!==t.x&&0!==t.y&&0!==t.z},scaleV4:function(t,n){return{x:n.x*t,y:n.y*t,z:n.z*t,w:n.w*t}},toQuaternionVector:Zn,toEulerRadians:function(t){return Zn(t).toEulerAngles()},toEulerDegrees:function(t){return Qn(Zn(t).toEulerAngles())},toArray:function(t){return te(t)?[t.x,t.y,t.z,t.w]:[t.x,t.y,t.z]},fromQuaternion:function(t){return{x:t.x,y:t.y,z:t.z,w:t.w}},toArrayWithRound4:function(t,n=0){return te(t)?[Vn.roundToX(t.x,n),Vn.roundToX(t.y,n),Vn.roundToX(t.z,n),Vn.roundToX(t.w,n)]:[Vn.roundToX(t.x,n),Vn.roundToX(t.y,n),Vn.roundToX(t.z,n)]}};export{O as AcceptMime,E as ContextMenu,yn as CryptoUtils,Un as DataUtils,A as Dialog,R as DialogContentAlign,e as DomNotFoundError,Dn as EnableLevel,Bn as FileUtils,c as FirstLoadModelServiceEventType,u as FirstLoadModelServiceStatus,S as FirstLoadServiceEventType,h as FirstLoadServiceStatus,En as FocusMode,Rn as HistoryServiceEventType,Pn as IconPluginPosition,r as LabelInfo,i as LabelTheme,Jt as LocalDataServiceEventType,qt as LocalDataStatus,Qt as LocalDataType,nn as Locale,xn as MathUtils,en as MeetingStatus,T as MenuLine,l as MenuLineType,rn as Message,Gn as NativeEventUtils,vn as NetworkUtils,n as NotFoundError,Vn as NumberUtils,Zt as OssUploadInstanceStatus,tn as OssUploadServiceEventType,un as PageMode,cn as PageType,Hn as PageUtils,an as PluginEventType,sn as PluginFrom,gn as PluginType,a as RsModelServiceEventType,s as RsModelStatus,Nn as RvAttachType,Sn as RvBasicType,An as RvFileServiceEventType,hn as RvFileType,In as RvMaterialType,On as RvModelOrigin,Cn as RvPresetType,mn as RvResourceServiceEventType,dn as RvResourceType,zn as RvUtils,ln as ScreenSize,on as ShareMode,o as StaticClassInstantiationError,pn as TChangeType,Tn as ThemeBackground,f as ThemeColor,fn as ThemeShape,jn as TimeUtils,$n as UrlUtils,ne as VectorUtils,Ln as VersionPoint,Xn as sleep,Yn as throttle};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "next-flow-interface",
3
- "version": "0.18.21",
3
+ "version": "0.18.23",
4
4
  "description": "Interface package for NEXT FlOW. You can use this package to build your own plugin that can control anything.",
5
5
  "type": "module",
6
6
  "module": "dist/index.js",