@galacean/cli 2.0.0-alpha.29 → 2.0.0-alpha.30

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.
Files changed (95) hide show
  1. package/dist/cli.bundle.cjs +192793 -186137
  2. package/dist/preview-client/_static/{Accordion-6f002a96.js → Accordion-6346d8c5.js} +1 -1
  3. package/dist/preview-client/_static/{AmbientLightAsset-57a59fc2.js → AmbientLightAsset-ded8af87.js} +1 -1
  4. package/dist/preview-client/_static/{AnimationClipAsset-0a1f63eb.js → AnimationClipAsset-a767bb7a.js} +1 -1
  5. package/dist/preview-client/_static/{AnimatorControllerAsset-9192e596.js → AnimatorControllerAsset-c04c5158.js} +1 -1
  6. package/dist/preview-client/_static/{AnimatorStore-484b10cf.js → AnimatorStore-fd28fd44.js} +1 -1
  7. package/dist/preview-client/_static/{AssetViewer-9f395efb.js → AssetViewer-f505fb55.js} +1 -1
  8. package/dist/preview-client/_static/{AudioAsset-0ea4ba7b.js → AudioAsset-8b8ab944.js} +1 -1
  9. package/dist/preview-client/_static/{AudioComponent-9bf5944c.js → AudioComponent-4f62f1d6.js} +1 -1
  10. package/dist/preview-client/_static/{Callout-45631a14.js → Callout-7d87c30e.js} +1 -1
  11. package/dist/preview-client/_static/{CameraComponent-039457d1.js → CameraComponent-04ebed15.js} +1 -1
  12. package/dist/preview-client/_static/{Component-c3c0c167.js → Component-85241517.js} +1 -1
  13. package/dist/preview-client/_static/{DirectLight-7b1f4b9f.js → DirectLight-a2b904ed.js} +1 -1
  14. package/dist/preview-client/_static/{FontAsset-10273d05.js → FontAsset-5cd70e43.js} +1 -1
  15. package/dist/preview-client/_static/{FormItemArray-9d4196d8.js → FormItemArray-a06224b4.js} +1 -1
  16. package/dist/preview-client/_static/{GlTFAsset-917bf1ee.js → GlTFAsset-34fdaded.js} +1 -1
  17. package/dist/preview-client/_static/{IconPlus-2bfc60da.js → IconPlus-7690a910.js} +1 -1
  18. package/dist/preview-client/_static/{IconPointFilled-192e99c9.js → IconPointFilled-181a0586.js} +1 -1
  19. package/dist/preview-client/_static/{LightBaseComponent-948d3192.js → LightBaseComponent-6817bd8c.js} +1 -1
  20. package/dist/preview-client/_static/{LottieAnimationComponent-da226765.js → LottieAnimationComponent-fb9564f9.js} +1 -1
  21. package/dist/preview-client/_static/{MarkdownAsset-602f93bf.js → MarkdownAsset-ede9d841.js} +1 -1
  22. package/dist/preview-client/_static/{MaterialAsset-aa93db51.js → MaterialAsset-010030a2.js} +1 -1
  23. package/dist/preview-client/_static/{MaterialInspector-45e208c7.js → MaterialInspector-ebbe39d5.js} +1 -1
  24. package/dist/preview-client/_static/{Menu-beacc39d.js → Menu-7006a0c9.js} +1 -1
  25. package/dist/preview-client/_static/{MeshAsset-585f4b18.js → MeshAsset-3032a2d3.js} +1 -1
  26. package/dist/preview-client/_static/{MeshRendererBaseComponent-0bc9f5b3.js → MeshRendererBaseComponent-ea33dbe8.js} +1 -1
  27. package/dist/preview-client/_static/{MeshRendererComponent-84208d23.js → MeshRendererComponent-eaf512af.js} +1 -1
  28. package/dist/preview-client/_static/{MeshThumbnail-9bbe01dc.js → MeshThumbnail-3bb8bccf.js} +1 -1
  29. package/dist/preview-client/_static/ParticleRendererComponent-eb636961.js +31 -0
  30. package/dist/preview-client/_static/{PhysicsMaterialAsset-2dd013f8.js → PhysicsMaterialAsset-a768f5b6.js} +1 -1
  31. package/dist/preview-client/_static/PhysicsStore-8bca890a.js +1 -0
  32. package/dist/preview-client/_static/{PointLight-d9ace100.js → PointLight-1da0b361.js} +1 -1
  33. package/dist/preview-client/_static/{PostProcessComponent-2b5255d9.js → PostProcessComponent-366ce132.js} +1 -1
  34. package/dist/preview-client/_static/{PrefabAsset-8c923465.js → PrefabAsset-9e17aab2.js} +1 -1
  35. package/dist/preview-client/_static/{PrimitiveMesh-fde624a6.js → PrimitiveMesh-81a302d9.js} +1 -1
  36. package/dist/preview-client/_static/{ReferencedMaterial-890492a2.js → ReferencedMaterial-240e1be6.js} +1 -1
  37. package/dist/preview-client/_static/{RenderTargetAsset-bf38a725.js → RenderTargetAsset-81649762.js} +1 -1
  38. package/dist/preview-client/_static/{SceneAsset-7a9dbdd8.js → SceneAsset-68286235.js} +1 -1
  39. package/dist/preview-client/_static/{ShaderAsset-2f2c1e95.js → ShaderAsset-b2ea36b6.js} +25 -25
  40. package/dist/preview-client/_static/{ShaderChunkAsset-a3ff3959.js → ShaderChunkAsset-e32e6108.js} +1 -1
  41. package/dist/preview-client/_static/{ShaderUIScriptAsset-d3a2d680.js → ShaderUIScriptAsset-4adc4d41.js} +1 -1
  42. package/dist/preview-client/_static/{SkinnedMeshRendererComponent-96740600.js → SkinnedMeshRendererComponent-c0f2037a.js} +1 -1
  43. package/dist/preview-client/_static/{SpineAnimationComponent-3d4eec48.js → SpineAnimationComponent-ec1ed804.js} +1 -1
  44. package/dist/preview-client/_static/{SpineSkeletonDataAsset-a8598103.js → SpineSkeletonDataAsset-0fdb1ffc.js} +1 -1
  45. package/dist/preview-client/_static/{SpotLight-680a6e17.js → SpotLight-7da01a5f.js} +1 -1
  46. package/dist/preview-client/_static/{SpriteBaseComponent-96a500d7.js → SpriteBaseComponent-5027461c.js} +1 -1
  47. package/dist/preview-client/_static/{SpriteMaskComponent-58c35ea2.js → SpriteMaskComponent-ea250ae6.js} +1 -1
  48. package/dist/preview-client/_static/{SpriteRendererComponent-5c89f7dd.js → SpriteRendererComponent-fc459130.js} +1 -1
  49. package/dist/preview-client/_static/{TextBaseComponent-248ea222.js → TextBaseComponent-269e86ed.js} +1 -1
  50. package/dist/preview-client/_static/{TextRendererComponent-78458825.js → TextRendererComponent-e1a70d05.js} +1 -1
  51. package/dist/preview-client/_static/{TextureAsset-bf69040b.js → TextureAsset-adf746d9.js} +1 -1
  52. package/dist/preview-client/_static/{Tooltip-0268ffac.js → Tooltip-c84e8c00.js} +1 -1
  53. package/dist/preview-client/_static/{TrailRendererComponent-838e0118.js → TrailRendererComponent-7c1adc57.js} +1 -1
  54. package/dist/preview-client/_static/{TransformBaseComponent-c92aa259.js → TransformBaseComponent-bc3d99f0.js} +1 -1
  55. package/dist/preview-client/_static/{TransformComponent-d28b4035.js → TransformComponent-828e97ca.js} +1 -1
  56. package/dist/preview-client/_static/{XRReferenceImageAsset-16071f5c.js → XRReferenceImageAsset-699f6a74.js} +1 -1
  57. package/dist/preview-client/_static/{audio-1d573775.js → audio-5b6bbad7.js} +1 -1
  58. package/dist/preview-client/_static/{createOnModelChange-38471bb6.js → createOnModelChange-f0aaf591.js} +1 -1
  59. package/dist/preview-client/_static/{createReactComponent-3e49f864.js → createReactComponent-0c5ada83.js} +1 -1
  60. package/dist/preview-client/_static/{index-2f54d4c9.js → index-066cf34f.js} +1 -1
  61. package/dist/preview-client/_static/{index-4084db44.js → index-07a70c10.js} +1 -1
  62. package/dist/preview-client/_static/index-21ffc50d.js +1 -0
  63. package/dist/preview-client/_static/{index-65c6af4a.js → index-4145c87e.js} +3 -3
  64. package/dist/preview-client/_static/index-492bd067.js +1 -0
  65. package/dist/preview-client/_static/index-49a5902b.js +1 -0
  66. package/dist/preview-client/_static/index-6a2d3d63.js +1 -0
  67. package/dist/preview-client/_static/{index-8a22fe59.js → index-828538e1.js} +1 -1
  68. package/dist/preview-client/_static/{index-ce381b62.js → index-89133895.js} +2 -2
  69. package/dist/preview-client/_static/index-895723b4.js +1 -0
  70. package/dist/preview-client/_static/{index-1fa3ba70.js → index-981e5626.js} +1 -1
  71. package/dist/preview-client/_static/index-b154ff9d.js +1 -0
  72. package/dist/preview-client/_static/{index-9e3daa94.js → index-b4b2d2e5.js} +1 -1
  73. package/dist/preview-client/_static/{index-d497fb6d.js → index-eeedc550.js} +1072 -651
  74. package/dist/preview-client/_static/index-f145c261.js +1 -0
  75. package/dist/preview-client/_static/{index-68806c86.js → index-f655a65a.js} +1 -1
  76. package/dist/preview-client/_static/{ktx2-encoder-772f6c33.js → ktx2-encoder-2883b55c.js} +1 -1
  77. package/dist/preview-client/_static/{module-1470d524.js → module-11aabe24.js} +1 -1
  78. package/dist/preview-client/_static/{module-136992e3.js → module-ace60695.js} +1 -1
  79. package/dist/preview-client/_static/{module-77c2ea8c.js → module-be69621d.js} +1 -1
  80. package/dist/preview-client/_static/postmen-fe9eecc4.js +2 -0
  81. package/dist/preview-client/_static/{shader-data-utils-e38a959d.js → shader-data-utils-c00c9d18.js} +1 -1
  82. package/dist/preview-client/index.html +1 -1
  83. package/dist/types/tsconfig.exec-base.json +20 -0
  84. package/dist/types/typed-exec-api.d.ts +487 -0
  85. package/package.json +4 -2
  86. package/dist/preview-client/_static/ParticleRendererComponent-f3ac8d1b.js +0 -26
  87. package/dist/preview-client/_static/PhysicsStore-fcb01282.js +0 -1
  88. package/dist/preview-client/_static/index-0a57ae09.js +0 -1
  89. package/dist/preview-client/_static/index-1d0ae2e4.js +0 -1
  90. package/dist/preview-client/_static/index-2c567b8d.js +0 -1
  91. package/dist/preview-client/_static/index-5c27dafa.js +0 -1
  92. package/dist/preview-client/_static/index-bdda02cf.js +0 -1
  93. package/dist/preview-client/_static/index-c88f78ce.js +0 -1
  94. package/dist/preview-client/_static/index-e4fb05d8.js +0 -1
  95. package/dist/preview-client/_static/postmen-0413c689.js +0 -2
@@ -1 +1 @@
1
- var E=Object.defineProperty;var O=(r,t,e)=>t in r?E(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var m=(r,t,e)=>(O(r,typeof t!="symbol"?t+"":t,e),e);import{c7 as C,aJ as v,aK as _,aN as j,aL as y,c8 as I,aP as B,E as R,C as h,c9 as S,ca as T,x as b,p as w,e as P,bP as V,cb as A}from"./index-d497fb6d.js";import{r as g}from"./index-8a22fe59.js";import{c as F}from"./Component-c3c0c167.js";import"./postmen-0413c689.js";import{c as k}from"./create-script-property-context-model-0fe0258f.js";import"./TextureAsset-bf69040b.js";import"./GlTFAsset-917bf1ee.js";import"./MaterialAsset-aa93db51.js";import"./MeshAsset-585f4b18.js";import"./AnimatorControllerAsset-9192e596.js";import"./AnimationClipAsset-0a1f63eb.js";import"./ShaderChunkAsset-a3ff3959.js";import"./AmbientLightAsset-57a59fc2.js";import"./SpineSkeletonDataAsset-a8598103.js";import"./FontAsset-10273d05.js";import"./SceneAsset-7a9dbdd8.js";import"./ShaderAsset-2f2c1e95.js";import"./PrimitiveMesh-fde624a6.js";import"./XRReferenceImageAsset-16071f5c.js";import"./PrefabAsset-8c923465.js";import"./PhysicsMaterialAsset-2dd013f8.js";import"./RenderTargetAsset-bf38a725.js";import"./AudioAsset-0ea4ba7b.js";import"./index-2f54d4c9.js";import"./MarkdownAsset-602f93bf.js";import{E as N}from"./ShaderUIScriptAsset-d3a2d680.js";import"./ktx2-encoder-772f6c33.js";import"./TaskQueue-05c94a4d.js";import"./ktx-parse.modern-6c9f771f.js";import"./encode-ac4bb64e.js";import"./meshopt_simplifier.module-cd99529d.js";import"./Tooltip-0268ffac.js";import"./createReactComponent-3e49f864.js";import"./AssetViewer-9f395efb.js";import"./glTFIO-45ff9a17.js";import"./MaterialInspector-45e208c7.js";import"./IconPointFilled-192e99c9.js";import"./shader-data-utils-e38a959d.js";import"./index-68806c86.js";import"./MeshThumbnail-9bbe01dc.js";import"./bundlers-9b0d37fc.js";import"./module-136992e3.js";import"./module-1470d524.js";import"./IconPlus-2bfc60da.js";import"./FormItemArray-9d4196d8.js";import"./Accordion-6f002a96.js";import"./module-77c2ea8c.js";const $=["Input","Boolean","Switch","Toggle","Slider","Number","Vector2","Vector3","Vector4","Rect","Color","Select","AssetPicker","Textarea","SegmentControl"];function J(r){r=r.replace(/\/\/.*$/gm,"").replace(/,\s*}/gm,"}");const t=/@inspect\(['"](\w+)['"],?\s?(\{[\s\S]*?\})?\)\s*(?:public|private|static)?\s*(\w+)[:\s\w]+?\s*=\s*(?:['"]([^'"]*?)['"]|(-?[\w.]+));?/g,e=[];let p;for(;(p=t.exec(r))!==null;){let[,o,s,i,a,c]=p,l=a??c;if($.indexOf(o)===-1){console.warn(`Unsupported property type: ${o}`);continue}let n={property:i.toString(),label:i.toString(),type:o};if(s){s=s.trim().replace(/\s+/g," ").replace(/'/g,'"').replace(/(\w+):/g,'"$1":');try{n=JSON.parse(s),n.type=o,n.label=n.label||i,n.property=n.property||i}catch{console.warn(`Failed to parse property options: ${s}`)}}["Number","Slider"].includes(o)&&(l=parseFloat(l)),e.push({propertyType:o,propertyOptions:n,propertyName:i,propertyValue:l})}return e}async function x(r){const t=J(r.code),e={success:!1,model:{},config:[]};for(let p=0;p<t.length;p++){const o=t[p];e.model[o.propertyName]=o.propertyValue,e.config.push(o.propertyOptions)}return e.success=!0,e}function D(r){return r!=null&&r.$ref?(C(r.$ref,"script component"),{refId:r.$ref,...r.key?{key:r.key}:{}}):null}function M(r){if(r)return C(r.refId,"script component"),{$ref:r.refId,...r.key?{key:r.key}:{}}}var z=Object.defineProperty,L=Object.getOwnPropertyDescriptor,u=(r,t,e,p)=>{for(var o=p>1?void 0:p?L(t,e):t,s=r.length-1,i;s>=0;s--)(i=r[s])&&(o=(p?i(t,e,o):i(o))||o);return p&&o&&z(t,e,o),o};const q=new BroadcastChannel("Galacean_Editor_Channel"),G=v(function(t){const{model:e}=t,{t:p}=_(),o=k(e.properties,e.root),s=a=>{Object.keys(a.properties).forEach(c=>{V(a,c,{getActualEditorValue:()=>S(a.properties[c]),setActualEditorValue:(l,n,d)=>{l.properties[n]=d}})})};async function i(){e.parsed=!1;const a=e.root.assetStore.getAsset(e.script.refId),c=await A.assets.getAssetInfo(a.serverId),l=await fetch(c.data.url).then(d=>d.text());await g.assetFacade.applyRemoteCodeChange(a.id,l,c.data.url);const n=await x(a);n.success&&(e.parsed=!0,e.propertiesConfig=n.config,e.properties=n.model,s(e))}return j.useEffect(()=>{e!=null&&e.properties&&s(e)},[e.properties]),e.script?y.jsxs(y.Fragment,{children:[y.jsx(I,{label:" ",async:i,children:p("component.script.parse-properties")}),e.parsed&&e.properties&&y.jsx(B.List,{model:o,configs:e.propertiesConfig,onModelChange:(a,c)=>{q.postMessage({type:"script-inspector-value-change",payload:{instanceId:e.id,property:a,value:c}}),g.inspectorFacade.componentChange(e.id,a,c)}})]}):null});let f=class extends R{constructor(){super(...arguments);m(this,"parsed",!1);m(this,"propertiesConfig",[]);m(this,"isScript",!0);m(this,"script",null);m(this,"properties",{})}onInitComplete(){this._attachEditorScriptBridge()}async _attachEditorScriptBridge(){if(this.script)try{const t=await this.root.assetStore.getAssetByRef(this.script);if(!t)throw new Error(`Cannot find file ${JSON.stringify(this.script)}`);await this.applyBoundPathChange("_scriptRef",h.AssetPicker,this.script);const e=await x(t);this.propertiesConfig=e.config;for(const[p,o]of Object.entries(e.model))this.properties[p]=this.properties[p]??o;this.parsed=!0}catch(t){console.warn(t)}}rebindEngineObject(t){super.rebindEngineObject(t),this._attachEditorScriptBridge()}async applyBoundPathChange(t,e,p){if(t==="_scriptRef"){this.setBoundPathValue(t,h.Input,p);return}await super.applyBoundPathChange(t,e,p)}deserialize(t){if(super.deserialize(t),this.script=D(t.script),t.props)for(const[e,p]of Object.entries(t.props))e!=="enabled"&&(this.properties[e]=p)}toJSON(){const t=super.toJSON();if(delete t.props.script,this.properties){const p=S(this.properties);for(const[o,s]of Object.entries(p)){if(o==="root")continue;const i=T(s);i!==void 0&&(t.props[o]=i)}}const e=M(this.script);return e&&(t.script=e),t}};u([b],f.prototype,"parsed",2);u([b.ref],f.prototype,"propertiesConfig",2);u([w({label:P("component.script.script-label"),type:h.AssetPicker,assetType:"script",bindPath:"_scriptRef",customFilter:r=>r.subType===N.Default,onLocate:r=>{r.onDoubleClick()}})],f.prototype,"script",2);u([w({label:P("component.script.properties-label"),customComponent:G})],f.prototype,"properties",2);f=u([F({type:"Script",componentsMenu:{label:"component.script.title"}})],f);export{f as ScriptComponent};
1
+ var E=Object.defineProperty;var O=(r,t,e)=>t in r?E(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var m=(r,t,e)=>(O(r,typeof t!="symbol"?t+"":t,e),e);import{c7 as C,aJ as v,aK as _,aN as j,aL as y,c8 as I,aP as B,E as R,C as h,c9 as S,ca as T,x as b,p as w,e as P,bP as V,cb as A}from"./index-eeedc550.js";import{r as g}from"./index-828538e1.js";import"./postmen-fe9eecc4.js";import{c as F}from"./Component-85241517.js";import{c as k}from"./create-script-property-context-model-0fe0258f.js";import"./TextureAsset-adf746d9.js";import"./GlTFAsset-34fdaded.js";import"./MaterialAsset-010030a2.js";import"./MeshAsset-3032a2d3.js";import"./AnimatorControllerAsset-c04c5158.js";import"./AnimationClipAsset-a767bb7a.js";import"./ShaderChunkAsset-e32e6108.js";import"./AmbientLightAsset-ded8af87.js";import"./SpineSkeletonDataAsset-0fdb1ffc.js";import"./FontAsset-5cd70e43.js";import"./SceneAsset-68286235.js";import"./ShaderAsset-b2ea36b6.js";import"./PrimitiveMesh-81a302d9.js";import"./XRReferenceImageAsset-699f6a74.js";import"./PrefabAsset-9e17aab2.js";import"./PhysicsMaterialAsset-a768f5b6.js";import"./RenderTargetAsset-81649762.js";import"./AudioAsset-8b8ab944.js";import"./index-066cf34f.js";import"./MarkdownAsset-ede9d841.js";import{E as N}from"./ShaderUIScriptAsset-4adc4d41.js";import"./ktx2-encoder-2883b55c.js";import"./TaskQueue-05c94a4d.js";import"./ktx-parse.modern-6c9f771f.js";import"./encode-ac4bb64e.js";import"./meshopt_simplifier.module-cd99529d.js";import"./Tooltip-c84e8c00.js";import"./createReactComponent-0c5ada83.js";import"./AssetViewer-f505fb55.js";import"./glTFIO-45ff9a17.js";import"./MaterialInspector-ebbe39d5.js";import"./IconPointFilled-181a0586.js";import"./shader-data-utils-c00c9d18.js";import"./index-f655a65a.js";import"./MeshThumbnail-3bb8bccf.js";import"./bundlers-9b0d37fc.js";import"./module-ace60695.js";import"./module-11aabe24.js";import"./IconPlus-7690a910.js";import"./FormItemArray-a06224b4.js";import"./Accordion-6346d8c5.js";import"./module-be69621d.js";const $=["Input","Boolean","Switch","Toggle","Slider","Number","Vector2","Vector3","Vector4","Rect","Color","Select","AssetPicker","Textarea","SegmentControl"];function J(r){r=r.replace(/\/\/.*$/gm,"").replace(/,\s*}/gm,"}");const t=/@inspect\(['"](\w+)['"],?\s?(\{[\s\S]*?\})?\)\s*(?:public|private|static)?\s*(\w+)[:\s\w]+?\s*=\s*(?:['"]([^'"]*?)['"]|(-?[\w.]+));?/g,e=[];let p;for(;(p=t.exec(r))!==null;){let[,o,s,i,a,c]=p,l=a??c;if($.indexOf(o)===-1){console.warn(`Unsupported property type: ${o}`);continue}let n={property:i.toString(),label:i.toString(),type:o};if(s){s=s.trim().replace(/\s+/g," ").replace(/'/g,'"').replace(/(\w+):/g,'"$1":');try{n=JSON.parse(s),n.type=o,n.label=n.label||i,n.property=n.property||i}catch{console.warn(`Failed to parse property options: ${s}`)}}["Number","Slider"].includes(o)&&(l=parseFloat(l)),e.push({propertyType:o,propertyOptions:n,propertyName:i,propertyValue:l})}return e}async function x(r){const t=J(r.code),e={success:!1,model:{},config:[]};for(let p=0;p<t.length;p++){const o=t[p];e.model[o.propertyName]=o.propertyValue,e.config.push(o.propertyOptions)}return e.success=!0,e}function D(r){return r!=null&&r.$ref?(C(r.$ref,"script component"),{refId:r.$ref,...r.key?{key:r.key}:{}}):null}function M(r){if(r)return C(r.refId,"script component"),{$ref:r.refId,...r.key?{key:r.key}:{}}}var z=Object.defineProperty,L=Object.getOwnPropertyDescriptor,u=(r,t,e,p)=>{for(var o=p>1?void 0:p?L(t,e):t,s=r.length-1,i;s>=0;s--)(i=r[s])&&(o=(p?i(t,e,o):i(o))||o);return p&&o&&z(t,e,o),o};const q=new BroadcastChannel("Galacean_Editor_Channel"),G=v(function(t){const{model:e}=t,{t:p}=_(),o=k(e.properties,e.root),s=a=>{Object.keys(a.properties).forEach(c=>{V(a,c,{getActualEditorValue:()=>S(a.properties[c]),setActualEditorValue:(l,n,d)=>{l.properties[n]=d}})})};async function i(){e.parsed=!1;const a=e.root.assetStore.getAsset(e.script.refId),c=await A.assets.getAssetInfo(a.serverId),l=await fetch(c.data.url).then(d=>d.text());await g.assetFacade.applyRemoteCodeChange(a.id,l,c.data.url);const n=await x(a);n.success&&(e.parsed=!0,e.propertiesConfig=n.config,e.properties=n.model,s(e))}return j.useEffect(()=>{e!=null&&e.properties&&s(e)},[e.properties]),e.script?y.jsxs(y.Fragment,{children:[y.jsx(I,{label:" ",async:i,children:p("component.script.parse-properties")}),e.parsed&&e.properties&&y.jsx(B.List,{model:o,configs:e.propertiesConfig,onModelChange:(a,c)=>{q.postMessage({type:"script-inspector-value-change",payload:{instanceId:e.id,property:a,value:c}}),g.inspectorFacade.componentChange(e.id,a,c)}})]}):null});let f=class extends R{constructor(){super(...arguments);m(this,"parsed",!1);m(this,"propertiesConfig",[]);m(this,"isScript",!0);m(this,"script",null);m(this,"properties",{})}onInitComplete(){this._attachEditorScriptBridge()}async _attachEditorScriptBridge(){if(this.script)try{const t=await this.root.assetStore.getAssetByRef(this.script);if(!t)throw new Error(`Cannot find file ${JSON.stringify(this.script)}`);await this.applyBoundPathChange("_scriptRef",h.AssetPicker,this.script);const e=await x(t);this.propertiesConfig=e.config;for(const[p,o]of Object.entries(e.model))this.properties[p]=this.properties[p]??o;this.parsed=!0}catch(t){console.warn(t)}}rebindEngineObject(t){super.rebindEngineObject(t),this._attachEditorScriptBridge()}async applyBoundPathChange(t,e,p){if(t==="_scriptRef"){this.setBoundPathValue(t,h.Input,p);return}await super.applyBoundPathChange(t,e,p)}deserialize(t){if(super.deserialize(t),this.script=D(t.script),t.props)for(const[e,p]of Object.entries(t.props))e!=="enabled"&&(this.properties[e]=p)}toJSON(){const t=super.toJSON();if(delete t.props.script,this.properties){const p=S(this.properties);for(const[o,s]of Object.entries(p)){if(o==="root")continue;const i=T(s);i!==void 0&&(t.props[o]=i)}}const e=M(this.script);return e&&(t.script=e),t}};u([b],f.prototype,"parsed",2);u([b.ref],f.prototype,"propertiesConfig",2);u([w({label:P("component.script.script-label"),type:h.AssetPicker,assetType:"script",bindPath:"_scriptRef",customFilter:r=>r.subType===N.Default,onLocate:r=>{r.onDoubleClick()}})],f.prototype,"script",2);u([w({label:P("component.script.properties-label"),customComponent:G})],f.prototype,"properties",2);f=u([F({type:"Script",componentsMenu:{label:"component.script.title"}})],f);export{f as ScriptComponent};