UNPKG

next-flow-interface

Version:

Interface package for NEXT FlOW. You can use this package to build your own plugin that can control anything.

1 lines 21.1 kB
var t=Object.defineProperty,n=(t=>(t.Default="Default",t))(n||{}),e=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},o=(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))(o||{}),i=(t=>(t.WAITING="WAITING",t.LOADING="LOADING",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(i||{}),r=(t=>(t.WAITING="WAITING",t.LOADING="LOADING",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(r||{}),a=(t=>(t.START="START",t.PROGRESS="PROGRESS",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(a||{}),s=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)}},u=(t=>(t.BUTTON="BUTTON",t.DIVIDER="DIVIDER",t.CHECKBOX="CHECKBOX",t.SUB="SUB",t.VIEW="VIEW",t))(u||{}),c=class t{constructor(t,n,e="BUTTON",o="",i="",r=void 0,a=void 0,s="",u=!1,c="",l=()=>{},E=()=>{},f=()=>{},T="BUTTON"===e,R=!1,h=()=>{},A=void 0,O=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=l,this.onMouseOver=E,this.onMouseOut=f,this.closeAllOnClick=T,this.checkboxDefaultValue=R,this.onCheckboxChange=h,this.sub=A,this.createTime=O}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)}},l=(t=>(t.GREEN="GREEN",t.PURPLE="PURPLE",t.BLUE="BLUE",t.PINK="PINK",t))(l||{}),E=class t{constructor(t,n,e="",o=void 0,i="",r=void 0,a=void 0,s=void 0,u="BLUE",c=!1,l="",E={},f="",T="",R=!1,h="",A="",O=R,S=!1,D=()=>{},L=()=>!0,d=!0,I=()=>{},N=()=>{},p=()=>{},m=()=>{},P=()=>{},C=()=>{},g=()=>{},y=()=>{},U=()=>()=>{},w=!0,M=!0,B=!1,x=!0,G=!0,v=null,b=h,V=new Date,F=()=>{}){this.options=t,this.id=n,this.title=e,this.titleIcon=o,this.content=i,this.contentView=r,this.icon=a,this.view=s,this.theme=u,this.leftMode=c,this.className=l,this.style=E,this.confirmText=f,this.cancelText=T,this.enableInput=R,this.defaultValue=h,this.inputPlaceholder=A,this.autoFocus=O,this.allowEmpty=S,this.onChange=D,this.onCheck=L,this.enableCloseButton=d,this.onConfirm=I,this.onCancel=N,this.onClose=p,this.onConfirmButtonClick=m,this.onCancelButtonClick=P,this.onOutsideClick=C,this.onCloseButtonClick=g,this.onRender=y,this.onEffect=U,this.closeOnConfirm=w,this.closeOnCancel=M,this.closeOnOutsideClick=B,this.closeOnCloseButtonClick=x,this.alignButton=G,this.controller=v,this.inputValue=b,this.createTime=V,this.focusInput=F}static fromOptions(n,e){return new t(e,n,e.title,e.titleIcon,e.content,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=()=>{}},f=(t=>(t.WAITING="WAITING",t.LOADING="LOADING",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(f||{}),T=(t=>(t.START="START",t.PROGRESS="PROGRESS",t.LOADED="LOADED",t.ERROR="ERROR",t.CANCELED="CANCELED",t))(T||{}),R={};((n,e)=>{for(var o in e)t(n,o,{get:e[o],enumerable:!0})})(R,{AAC:()=>v,ANIMATION:()=>y,ANY:()=>d,ATTACH_LIST:()=>Lt,AVI:()=>Q,AVIF:()=>$,BMP:()=>z,CAMERA:()=>m,FLAC:()=>V,FLV:()=>et,GIF:()=>k,GLB:()=>U,GLTF:()=>w,GP3:()=>it,HEIF:()=>j,ICO:()=>K,JPG:()=>H,JSON:()=>at,LIGHT:()=>p,MARKDOWN:()=>ut,MATERIAL:()=>C,MESH:()=>N,MKV:()=>rt,MOV:()=>tt,MP3:()=>x,MP4:()=>J,MPEG:()=>Z,OBJ:()=>B,OGG:()=>b,OGV:()=>ot,OPUS:()=>F,PNG:()=>W,STL:()=>M,SUPPORT_ALL_LIST:()=>At,SUPPORT_AUDIO_LIST:()=>Tt,SUPPORT_BABYLON_LIST:()=>ft,SUPPORT_FILE_LIST:()=>Ot,SUPPORT_IMAGE_LIST:()=>ct,SUPPORT_JSON_LIST:()=>ht,SUPPORT_MODEL_LIST:()=>lt,SUPPORT_RENDER_LIST:()=>St,SUPPORT_TEXTURE_LIST:()=>Dt,SUPPORT_TEXT_LIST:()=>Rt,SUPPORT_VIDEO_LIST:()=>Et,SVG:()=>_,TEXTURE:()=>P,TIFF:()=>Y,TXT:()=>st,UNKNOWN:()=>I,UV:()=>g,WAV:()=>G,WMV:()=>nt,WebM:()=>q,WebP:()=>X,getExtension:()=>Ct,getMime:()=>Pt,getMimeByBlob:()=>dt,getMimeByBuffer:()=>pt,getMimeByPath:()=>It,getMimeByStream:()=>mt,getMimeByUrl:()=>Nt,isAttach:()=>kt,isBabylon:()=>Gt,isMaterial:()=>Ht,isSupport:()=>gt,isSupportAudio:()=>vt,isSupportFile:()=>yt,isSupportImage:()=>Ut,isSupportJson:()=>xt,isSupportModel:()=>wt,isSupportRender:()=>bt,isSupportText:()=>Bt,isSupportTexture:()=>Vt,isSupportVideo:()=>Mt,isTexture:()=>Ft,isUV:()=>Wt});import{AbstractMesh as h,BaseTexture as A,Material as O}from"@babylonjs/core";import{fileTypeFromBlob as S,fileTypeFromBuffer as D,fileTypeFromStream as L}from"file-type";var d="*/*",I="unknown/unknown",N="babylonjs/mesh",p="babylonjs/light",m="babylonjs/camera",P="babylonjs/texture",C="babylonjs/material",g="babylonjs/uv",y="babylonjs/animation",U="model/gltf-binary",w="model/gltf+json",M="model/stl",B="model/obj",x="audio/mpeg",G="audio/wav",v="audio/aac",b="audio/ogg",V="audio/flac",F="audio/opus",H="image/jpeg",W="image/png",k="image/gif",z="image/bmp",X="image/webp",_="image/svg+xml",Y="image/tiff",K="image/x-icon",j="image/heif",$="image/avif",J="video/mp4",q="video/webm",Q="video/x-msvideo",Z="video/mpeg",tt="video/quicktime",nt="video/x-ms-wmv",et="video/x-flv",ot="video/ogg",it="video/3gpp",rt="video/x-matroska",at="application/json",st="text/plain",ut="text/markdown",ct=[H,W],lt=[U,w,M,B],Et=[J],ft=[N,p,m,P,C,g,y],Tt=[x,G],Rt=[st],ht=[at],At=[...ct,...lt,...Et,...ft,...Tt,...Rt,...ht],Ot=[...ct,...lt,...Et,...Tt,...Rt,...ht],St=[...ct,...lt,...Et,...Rt],Dt=[...ct,...Et,P],Lt=[P,C,g];async function dt(t){if(t&&t instanceof Blob){const n=await S(t);return!n&&t instanceof File&&t.name.endsWith(".stl")?M:n?.mime??I}return I}async function It(t){if(t){return(await import("mime")).default.getType(t)??I}return I}async function Nt(t){if(!t)return I;try{const n=await fetch(t);if(!n.body)return I;const e=await L(n.body);if(e?.mime)return e.mime;const o=new URL(t).pathname;if(o.includes("."))return await It(o)}catch(t){console.error("getMimeByUrl",t)}return I}async function pt(t){if(t){const n=await D(t);return n?.mime??I}return I}async function mt(t){const n=await L(t);return n?.mime??I}async function Pt(t){return t?"undefined"!=typeof ReadableStream&&t instanceof ReadableStream?mt(t):t instanceof Blob?dt(t):"string"==typeof t?t.startsWith("http://")||t.startsWith("https://")?Nt(t):It(t):t instanceof ArrayBuffer||t instanceof Uint8Array?pt(t):t instanceof A?P:t instanceof O?C:t instanceof h?N:I:I}async function Ct(t=I){if(Gt(t)||kt(t))return t;if(t===d||t===I)return"";return(await import("mime")).default.getExtension(t)??""}function gt(t=I){return t==d||t!=I&&At.includes(t)}function yt(t=I){return t==d||t!=I&&Ot.includes(t)}function Ut(t=I){return t==d||t!=I&&ct.includes(t)}function wt(t=I){return t==d||t!=I&&lt.includes(t)}function Mt(t=I){return t==d||t!=I&&Et.includes(t)}function Bt(t=I){return t==d||t!=I&&Rt.includes(t)}function xt(t=I){return t==d||t!=I&&ht.includes(t)}function Gt(t=I){return t==d||t!=I&&ft.includes(t)}function vt(t=I){return t==d||t!=I&&Tt.includes(t)}function bt(t=I){return t==d||t!=I&&St.includes(t)}function Vt(t=I){return t==d||t!=I&&Dt.includes(t)}function Ft(t=I){return t==d||t!=I&&t==P}function Ht(t=I){return t==d||t!=I&&t==C}function Wt(t=I){return t==d||t!=I&&t==g}function kt(t=I){return t==d||t!=I&&Lt.includes(t)}var zt=(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))(zt||{}),Xt=(t=>(t.WAITING="WAITING",t.LOADING="LOADING",t.PAUSED="PAUSED",t.LOADED="LOADED",t.FAILED="FAILED",t.CANCELED="CANCELED",t))(Xt||{}),_t=(t=>(t.BLOB="BLOB",t.OBJECT="OBJECT",t))(_t||{}),Yt=(t=>(t.WAITING="WAITING",t.UPLOADING="UPLOADING",t.PAUSED="PAUSED",t.COMPLETED="COMPLETED",t.FAILED="FAILED",t.CANCELED="CANCELED",t))(Yt||{}),Kt=(t=>(t.START="START",t.PROGRESS="PROGRESS",t.PAUSE="PAUSE",t.RESUME="RESUME",t.UPLOADED="UPLOADED",t.FAILED="FAILED",t.CANCELED="CANCELED",t))(Kt||{}),jt=(t=>(t.ZH="ZH",t.EN="EN",t))(jt||{}),$t=(t=>(t.NONE="NONE",t.WAITING="WAITING",t.PROGRESSING="PROGRESSING",t.ENDED="ENDED",t.REMOVED="REMOVED",t.BANNED="BANNED",t))($t||{}),Jt=(t=>(t.NONE="NONE",t.SELF="SELF",t.ALL="ALL",t))(Jt||{}),qt=class{constructor(t,n,e,o){this.text=t,this.type=n,this.duration=e,this.id=o}show=!0;height=20;opacity=0},Qt=(t=>(t.ADD="ADD",t.INSTALL="INSTALL",t.ENABLE="ENABLE",t.DISABLE="DISABLE",t.UNINSTALL="UNINSTALL",t))(Qt||{}),Zt=(t=>(t.BUILT_IN="BUILT_IN",t.EXTERNAL="EXTERNAL",t.UNKNOWN="UNKNOWN",t))(Zt||{}),tn=(t=>(t.DISPLAY="DISPLAY",t.FULL="FULL",t.HP_BOX="HP_BOX",t.VR="VR",t.MR="MR",t))(tn||{}),nn=(t=>(t.EDITOR="EDITOR",t.VIEWER="VIEWER",t.VISITOR="VISITOR",t))(nn||{}),en=(t=>(t.DEFAULT="DEFAULT",t.DESCRIPTION="DESCRIPTION",t))(en||{}),on=(t=>(t.XS="XS",t.SM="SM",t.MD="MD",t.LG="LG",t.XL="XL",t))(on||{}),rn=(t=>(t.DEFAULT="DEFAULT",t.BACKGROUND="BACKGROUND",t.LIGHT="LIGHT",t.DARK="DARK",t))(rn||{}),an=(t=>(t.GENERAL="GENERAL",t.RHINE="RHINE",t))(an||{}),sn=(t=>(t.UNDO="UNDO",t.REDO="REDO",t))(sn||{}),un=(t=>(t.ADD="ADD",t.REMOVE="REMOVE",t))(un||{}),cn=(t=>(t.OSS="OSS",t.URL="URL",t))(cn||{}),ln=(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))(ln||{}),En=(t=>(t.BASIC="BASIC",t.PROVIDE="PROVIDE",t.UPLOAD="UPLOAD",t))(En||{}),fn=(t=>(t.TEXTURE="TEXTURE",t.MATERIAL="MATERIAL",t.UV="UV",t))(fn||{}),Tn=(t=>(t.FILE="FILE",t.ATTACH="ATTACH",t))(Tn||{}),Rn=(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))(Rn||{}),hn=(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))(hn||{}),An=(t=>(t.ADD="ADD",t.REMOVE="REMOVE",t))(An||{}),On=(t=>(t.SYNC="SYNC",t.STEP="STEP",t.SELECT="SELECT",t.ADD="ADD",t.UPDATE="UPDATE",t.DELETE="DELETE",t))(On||{}),Sn=(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))(Sn||{}),Dn=(t=>(t.BUTTON="BUTTON",t.SWITCH="SWITCH",t.DRAWER="DRAWER",t.DIALOG="DIALOG",t.CONTENT="CONTENT",t.WINDOW="WINDOW",t.SERVICE="SERVICE",t))(Dn||{});var Ln={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 dn={recursPathValue:function(t,n){const e=[];return e.push({path:t,value:n}),e}};function In(t){const n=Math.floor(t).toString().length<=1?2:1;return t.toFixed(n)}async function Nn(t){if(t.size<=1048576){const n=await t.arrayBuffer();return Ln.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 Ln.computeSHA256(r)})),o=new TextEncoder,i=e.join(""),r=o.encode(i);return Ln.computeSHA256(r)}var pn={to3n:In,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=In(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:Nn,isSameFile:async function(t,n,e,o){if(n===t.name&&e===t.size){if(!o)return!0;if(o===await Nn(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 mn={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 Pn(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 Cn={getEventPosition:Pn,getDistanceBetweenEvents:function(t,n){const[e,o]=Pn(t),[i,r]=Pn(n);return mn.getDistance(e,o,i,r)},preventDefaultListener:function(t){t.preventDefault()},stopPropagationListener:function(t){t.stopPropagation()},preventDefaultStopPropagationListener:function(t){t.preventDefault(),t.stopPropagation()}};var gn={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 yn(t,n){const e=10**n;return Math.round(t*e)/e}var Un={roundToX:yn,r2:function(t){return yn(t,2)},r3:function(t){return yn(t,3)},isValidNumber:function(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}};var wn={getPageTypeBySpaceText:function(t){return"space"===t?"EDITOR":"m"===t?"VISITOR":"VIEWER"},forceGetSearchParams:function(t,n=""){const e=new URLSearchParams(window.location.search).get(t);return e||(n&&console.error(n,e),window.location.href="/not-found","")}};function Mn(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 Bn(t){return t.join(".")}function xn(t){return"string"==typeof t?Mn(t):t}var Gn={makeRvPath:Mn,makeRvPathString:Bn,ensureRvPath:xn,ensureRvPathString:function(t){return"string"!=typeof t?Bn(t):t},getByRvPath:function(t,n){const e=xn(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=xn(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=xn(t),o=xn(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 vn(t){return new Promise(n=>{setTimeout(n,t)})}function bn(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 Vn={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 Fn(t){try{return await navigator.clipboard.writeText(t),!0}catch{return!1}}var Hn={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 Fn(window.location.href)},copyText:async function(t){try{return await navigator.clipboard.writeText(t),!0}catch{return!1}},trySetClipboard:Fn,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 Wn,Vector3 as kn}from"@babylonjs/core";function zn(t){return{x:180*t.x/Math.PI,y:180*t.y/Math.PI,z:180*t.z/Math.PI}}function Xn(t){return new Wn(t.x,t.y,t.z,t.w)}function _n(t){return"w"in t}var Yn={xyToArray:function(t,n=-1,e=[0,0]){return t?-1===n?[t.x,t.y]:[Un.roundToX(t.x,n),Un.roundToX(t.y,n)]:e},xyzToArray:function(t,n=-1,e=[0,0,0]){return t?-1===n?[t.x,t.y,t.z]:[Un.roundToX(t.x,n),Un.roundToX(t.y,n),Un.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]:[Un.roundToX(t.x,n),Un.roundToX(t.y,n),Un.roundToX(t.z,n),Un.roundToX(t.w,n)]:e},scaleV3:function(t,n){return{x:n.x*t,y:n.y*t,z:n.z*t}},radiansToDegrees:zn,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 Wn.RotationYawPitchRoll(t.y,t.x,t.z)},degreesToQuaternion:function(t){return Wn.RotationYawPitchRoll(t.y*Math.PI/180,t.x*Math.PI/180,t.z*Math.PI/180)},toVector3:function(t){return new kn(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:Un.roundToX(t.x,n),y:Un.roundToX(t.y,n),z:Un.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:Xn,toEulerRadians:function(t){return Xn(t).toEulerAngles()},toEulerDegrees:function(t){return zn(Xn(t).toEulerAngles())},toArray:function(t){return _n(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 _n(t)?[Un.roundToX(t.x,n),Un.roundToX(t.y,n),Un.roundToX(t.z,n),Un.roundToX(t.w,n)]:[Un.roundToX(t.x,n),Un.roundToX(t.y,n),Un.roundToX(t.z,n)]}};export{R as AcceptMime,s as ContextMenu,Ln as CryptoUtils,dn as DataUtils,E as Dialog,pn as FileUtils,a as FirstLoadModelServiceEventType,r as FirstLoadModelServiceStatus,T as FirstLoadServiceEventType,f as FirstLoadServiceStatus,en as FocusMode,sn as HistoryServiceEventType,Sn as IconPluginPosition,e as LabelInfo,n as LabelTheme,zt as LocalDataServiceEventType,Xt as LocalDataStatus,_t as LocalDataType,jt as Locale,mn as MathUtils,$t as MeetingStatus,c as MenuLine,u as MenuLineType,qt as Message,Cn as NativeEventUtils,gn as NetworkUtils,Un as NumberUtils,Yt as OssUploadInstanceStatus,Kt as OssUploadServiceEventType,tn as PageMode,nn as PageType,wn as PageUtils,Qt as PluginEventType,Zt as PluginFrom,Dn as PluginType,o as RsModelServiceEventType,i as RsModelStatus,fn as RvAttachType,ln as RvBasicType,un as RvFileServiceEventType,cn as RvFileType,Rn as RvMaterialType,En as RvModelOrigin,hn as RvPresetType,An as RvResourceServiceEventType,Tn as RvResourceType,Gn as RvUtils,on as ScreenSize,Jt as ShareMode,On as TChangeType,rn as ThemeBackground,l as ThemeColor,an as ThemeShape,Vn as TimeUtils,Hn as UrlUtils,Yn as VectorUtils,vn as sleep,bn as throttle};