@wix/cli-app 1.1.44 → 1.1.46

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 (101) hide show
  1. package/build/CreateVersionCommand-3QLNLNJ2.js +4 -0
  2. package/build/{CreateVersionCommand-KFQ5BNUC.js.map → CreateVersionCommand-3QLNLNJ2.js.map} +1 -1
  3. package/build/DevCommand-UP3B4ACY.js +4 -0
  4. package/build/DevCommand-UP3B4ACY.js.map +1 -0
  5. package/build/GenerateCommand-4NXEAMNS.js +99 -0
  6. package/build/GenerateCommand-4NXEAMNS.js.map +1 -0
  7. package/build/{LogsCommand-IR45X35B.js → LogsCommand-IXWPUMDN.js} +2 -2
  8. package/build/PreviewCommand-KCLVLQHC.js +4 -0
  9. package/build/ServeCommand-GV3JAOBN.js +4 -0
  10. package/build/{ServeCommand-H7MB472U.js.map → ServeCommand-GV3JAOBN.js.map} +1 -1
  11. package/build/build-RTA76M2P.js +4 -0
  12. package/build/{build-7NHAOKUD.js.map → build-RTA76M2P.js.map} +1 -1
  13. package/build/{chunk-CHN62P42.js → chunk-2FQBDRLM.js} +2 -2
  14. package/build/{chunk-DPDNLXMJ.js → chunk-5RZH3S6F.js} +2 -2
  15. package/build/chunk-6ZXXGOWD.js +4 -0
  16. package/build/chunk-6ZXXGOWD.js.map +1 -0
  17. package/build/{chunk-P7UZG2ED.js → chunk-AXBH5LZQ.js} +2 -2
  18. package/build/{chunk-UQDVJW5N.js → chunk-BOF3BBFK.js} +2 -2
  19. package/build/chunk-CETYZXN6.js +4 -0
  20. package/build/{chunk-IYUIOPGF.js.map → chunk-CETYZXN6.js.map} +1 -1
  21. package/build/{chunk-UNXXOYOZ.js → chunk-FCEMUKFT.js} +2 -2
  22. package/build/{chunk-V66XIPUA.js → chunk-L6Q2DD5J.js} +2 -2
  23. package/build/chunk-LYQXXGG5.js +4 -0
  24. package/build/chunk-LYQXXGG5.js.map +1 -0
  25. package/build/chunk-NKL6KUQF.js +229 -0
  26. package/build/chunk-NKL6KUQF.js.map +1 -0
  27. package/build/chunk-OWGFTHVQ.js +11 -0
  28. package/build/chunk-OWGFTHVQ.js.map +1 -0
  29. package/build/{chunk-PHXEMTJ6.js → chunk-PPUWNP6N.js} +2 -2
  30. package/build/chunk-R4KKE7RU.js +115 -0
  31. package/build/chunk-R4KKE7RU.js.map +1 -0
  32. package/build/chunk-TK7J6AZ6.js +4 -0
  33. package/build/{chunk-CFLU2UC2.js → chunk-V46NDMLX.js} +29 -29
  34. package/build/chunk-V46NDMLX.js.map +1 -0
  35. package/build/chunk-XJYF2HHG.js +4 -0
  36. package/build/chunk-XJYF2HHG.js.map +1 -0
  37. package/build/{chunk-BHCQY6KL.js → chunk-ZWM7ZSHZ.js} +2 -2
  38. package/build/cloudflare-runtime/entry.js +17 -21
  39. package/build/cloudflare-runtime/getRegisteredExtensions.js +8 -1
  40. package/build/index.js +2 -2
  41. package/build/miniflare/worker-entry.js +0 -11
  42. package/build/platform-sdk/{chunk-AA4CIK56.js → chunk-7XGMJ3ZC.js} +2 -2
  43. package/build/platform-sdk/{chunk-PXLVKIYB.js → chunk-RVHPVWYH.js} +2 -2
  44. package/build/platform-sdk/chunk-RVHPVWYH.js.map +1 -0
  45. package/build/platform-sdk/dashboard.js +1 -1
  46. package/build/platform-sdk/editor.js +5 -5
  47. package/build/platform-sdk/editor.js.map +1 -1
  48. package/build/platform-sdk/site.js +1 -1
  49. package/build/platform-sdk/site.js.map +1 -1
  50. package/build/preview-A3J4DUXG.js +4 -0
  51. package/build/{preview-Y2MH5X7O.js.map → preview-A3J4DUXG.js.map} +1 -1
  52. package/build/{render-command-F5UKYS73.js → render-command-MTRXYAQF.js} +2 -2
  53. package/package.json +5 -3
  54. package/templates/site-plugin/assets/logo.svg +1 -0
  55. package/templates/site-plugin/dependencies.json +13 -0
  56. package/templates/site-plugin/files/panel.tsx.ejs +44 -0
  57. package/templates/site-plugin/files/plugin.json.ejs +4 -0
  58. package/templates/site-plugin/files/plugin.module.css.ejs +22 -0
  59. package/templates/site-plugin/files/plugin.tsx.ejs +37 -0
  60. package/build/CreateVersionCommand-KFQ5BNUC.js +0 -4
  61. package/build/DevCommand-IQX2YKHH.js +0 -4
  62. package/build/DevCommand-IQX2YKHH.js.map +0 -1
  63. package/build/GenerateCommand-NQDUDGIT.js +0 -99
  64. package/build/GenerateCommand-NQDUDGIT.js.map +0 -1
  65. package/build/PreviewCommand-U6CNDTIE.js +0 -4
  66. package/build/ServeCommand-H7MB472U.js +0 -4
  67. package/build/build-7NHAOKUD.js +0 -4
  68. package/build/chunk-ANWZNQ2O.js +0 -4
  69. package/build/chunk-CFLU2UC2.js.map +0 -1
  70. package/build/chunk-FDNUUVD6.js +0 -4
  71. package/build/chunk-FDNUUVD6.js.map +0 -1
  72. package/build/chunk-FG2M6WKN.js +0 -4
  73. package/build/chunk-FG2M6WKN.js.map +0 -1
  74. package/build/chunk-HDW3NZU7.js +0 -4
  75. package/build/chunk-HDW3NZU7.js.map +0 -1
  76. package/build/chunk-IYUIOPGF.js +0 -4
  77. package/build/chunk-NVWU7FQ7.js +0 -115
  78. package/build/chunk-NVWU7FQ7.js.map +0 -1
  79. package/build/chunk-QF6RQBVB.js +0 -11
  80. package/build/chunk-QF6RQBVB.js.map +0 -1
  81. package/build/chunk-U53AADZI.js +0 -4
  82. package/build/chunk-U53AADZI.js.map +0 -1
  83. package/build/chunk-XNQEJH4Y.js +0 -239
  84. package/build/chunk-XNQEJH4Y.js.map +0 -1
  85. package/build/chunk-Y3PAL5FN.js +0 -4
  86. package/build/chunk-Y3PAL5FN.js.map +0 -1
  87. package/build/platform-sdk/chunk-PXLVKIYB.js.map +0 -1
  88. package/build/preview-Y2MH5X7O.js +0 -4
  89. /package/build/{LogsCommand-IR45X35B.js.map → LogsCommand-IXWPUMDN.js.map} +0 -0
  90. /package/build/{PreviewCommand-U6CNDTIE.js.map → PreviewCommand-KCLVLQHC.js.map} +0 -0
  91. /package/build/{chunk-CHN62P42.js.map → chunk-2FQBDRLM.js.map} +0 -0
  92. /package/build/{chunk-DPDNLXMJ.js.map → chunk-5RZH3S6F.js.map} +0 -0
  93. /package/build/{chunk-P7UZG2ED.js.map → chunk-AXBH5LZQ.js.map} +0 -0
  94. /package/build/{chunk-UQDVJW5N.js.map → chunk-BOF3BBFK.js.map} +0 -0
  95. /package/build/{chunk-UNXXOYOZ.js.map → chunk-FCEMUKFT.js.map} +0 -0
  96. /package/build/{chunk-V66XIPUA.js.map → chunk-L6Q2DD5J.js.map} +0 -0
  97. /package/build/{chunk-PHXEMTJ6.js.map → chunk-PPUWNP6N.js.map} +0 -0
  98. /package/build/{chunk-ANWZNQ2O.js.map → chunk-TK7J6AZ6.js.map} +0 -0
  99. /package/build/{chunk-BHCQY6KL.js.map → chunk-ZWM7ZSHZ.js.map} +0 -0
  100. /package/build/platform-sdk/{chunk-AA4CIK56.js.map → chunk-7XGMJ3ZC.js.map} +0 -0
  101. /package/build/{render-command-F5UKYS73.js.map → render-command-MTRXYAQF.js.map} +0 -0
@@ -1,8 +1,8 @@
1
- import{a as Fe}from"./chunk-AA4CIK56.js";import{a as Gt,b as We,c as bn,d as Xt,f as Ue}from"./chunk-PXLVKIYB.js";import{b as ke,d as Le,e as vn,f as c,g as l,h as y,i as w,j as U}from"./chunk-SBZEOPXX.js";var $e=ke(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.EventType=void 0;var He;(function(n){n.removeAppCompleted="removeAppCompleted",n.componentSelectionChanged="componentSelectionChanged",n.appInstalled="appInstalled",n.appUpdateCompleted="appUpdateCompleted"})(He||(ft.EventType=He={}))});var Qt=ke(b=>{"use strict";var Tn=b&&b.__createBinding||(Object.create?function(n,t,e,i){i===void 0&&(i=e);var s=Object.getOwnPropertyDescriptor(t,e);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[e]}}),Object.defineProperty(n,i,s)}:function(n,t,e,i){i===void 0&&(i=e),n[i]=t[e]}),Pn=b&&b.__setModuleDefault||(Object.create?function(n,t){Object.defineProperty(n,"default",{enumerable:!0,value:t})}:function(n,t){n.default=t}),_n=b&&b.__importStar||function(n){if(n&&n.__esModule)return n;var t={};if(n!=null)for(var e in n)e!=="default"&&Object.prototype.hasOwnProperty.call(n,e)&&Tn(t,n,e);return Pn(t,n),t};Object.defineProperty(b,"__esModule",{value:!0});b.EventType=b.WixSDKTypes=void 0;var xn=_n((Xt(),vn(bn)));b.WixSDKTypes=xn;var Cn=$e();Object.defineProperty(b,"EventType",{enumerable:!0,get:function(){return Cn.EventType}})});var v=class n extends Error{constructor(e,i,s){let r=e?` ${e}`:"",a=`[${s}]#${i}`;super(`${a}.${r}`);c(this,"state",{});c(this,"displayName");c(this,"prefix");c(this,"errorMessage");c(this,"parent");c(this,"messages",[]);c(this,"code");this.displayName=a,this.errorMessage=e,this.prefix=s,this.code=i,this.name=a,Object.defineProperty(this,"message",{get:()=>this.getDisplayMessage()}),Error.captureStackTrace&&Error.captureStackTrace(this,n)}get parentError(){let e=this.parent;if(!e)return null;if(this.parent instanceof n)return this.parent;let i=e.name??"[Unknown Error]";return{getBreadcrumbs(){return[i]},getMessage(){return[i,e.message??"unknown error message"].join(`
1
+ import{a as Te}from"./chunk-7XGMJ3ZC.js";import{a as Be,b as Je,d as Pe}from"./chunk-RVHPVWYH.js";import{b as we,d as be,e as ze,f as a,g as p,h as u,i as I,j as G}from"./chunk-SBZEOPXX.js";var Ce=we(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.EventType=void 0;var _e;(function(n){n.removeAppCompleted="removeAppCompleted",n.componentSelectionChanged="componentSelectionChanged",n.appInstalled="appInstalled",n.appUpdateCompleted="appUpdateCompleted"})(_e||(ct.EventType=_e={}))});var kt=we(A=>{"use strict";var Xe=A&&A.__createBinding||(Object.create?function(n,t,e,i){i===void 0&&(i=e);var s=Object.getOwnPropertyDescriptor(t,e);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[e]}}),Object.defineProperty(n,i,s)}:function(n,t,e,i){i===void 0&&(i=e),n[i]=t[e]}),He=A&&A.__setModuleDefault||(Object.create?function(n,t){Object.defineProperty(n,"default",{enumerable:!0,value:t})}:function(n,t){n.default=t}),qe=A&&A.__importStar||function(n){if(n&&n.__esModule)return n;var t={};if(n!=null)for(var e in n)e!=="default"&&Object.prototype.hasOwnProperty.call(n,e)&&Xe(t,n,e);return He(t,n),t};Object.defineProperty(A,"__esModule",{value:!0});A.EventType=A.WixSDKTypes=void 0;var Ge=qe((Je(),ze(Be)));A.WixSDKTypes=Ge;var Ve=Ce();Object.defineProperty(A,"EventType",{enumerable:!0,get:function(){return Ve.EventType}})});var y=class n extends Error{constructor(e,i,s){let r=e?` ${e}`:"",o=`[${s}]#${i}`;super(`${o}.${r}`);a(this,"state",{});a(this,"displayName");a(this,"prefix");a(this,"errorMessage");a(this,"parent");a(this,"messages",[]);a(this,"code");this.displayName=o,this.errorMessage=e,this.prefix=s,this.code=i,this.name=o,Object.defineProperty(this,"message",{get:()=>this.getDisplayMessage()}),Error.captureStackTrace&&Error.captureStackTrace(this,n)}get parentError(){let e=this.parent;if(!e)return null;if(this.parent instanceof n)return this.parent;let i=e.name??"[Unknown Error]";return{getBreadcrumbs(){return[i]},getMessage(){return[i,e.message??"unknown error message"].join(`
2
2
  `)}}}getDisplayMessage(){return[(this.parentError?this.getBreadcrumbs():[]).join(" -> "),this.getMessage()].filter(i=>i.trim().length).join(`
3
- `)}getMessage(){let e=Object.entries(this.state).reduce((o,[p,h])=>(h&&o.push(` \u2013 ${p}: ${h}`),o),[]).join(`
4
- `),i=this.messages.reduce((o,p)=>(o.push(` - ${p.join(" ")}`),o),[]).join(`
3
+ `)}getMessage(){let e=Object.entries(this.state).reduce((c,[l,h])=>(h&&c.push(` \u2013 ${l}: ${h}`),c),[]).join(`
4
+ `),i=this.messages.reduce((c,l)=>(c.push(` - ${l.join(" ")}`),c),[]).join(`
5
5
  `),s=this.parentError,r=s?["",s.getMessage(),""].join(`
6
- `):"",a=this.errorMessage?`${this.displayName}: ${this.errorMessage}`:this.displayName;return[r,a,e,i].filter(o=>o.trim().length).join(`
7
- `)}getBreadcrumbs(){let e=this.parentError;return e?[...e.getBreadcrumbs(),this.displayName]:[this.displayName]}withParentError(e){return this.parent=e,this}withMessage(...e){return this.messages.push(e),this}};function P(n){return function t(e,i=""){let s=new n(i,e);return Error.captureStackTrace&&Error.captureStackTrace(s,t),s}}var Vt=class extends v{constructor(e,i){super(e,i,"Editor Platform Internal Error");c(this,"state",{})}withHost(e){return this.state={...this.state,host:e},this}},Ii=P(Vt);var it=Le(Qt(),1);var F=class F{constructor(){c(this,"uid",0);c(this,"callbacks",new Map);c(this,"inTransaction",!1);c(this,"isSilent",!1);c(this,"queue",[])}silent(t=!0){this.isSilent=t}startTransaction(){this.inTransaction=!0}commit(){this.inTransaction=!1;let t=this.queue;this.queue=[],this.isSilent||t.forEach(e=>{this.notify(e)})}notify(t){this.isSilent||(this.inTransaction?this.queue.push(t):this.callbacks.forEach(e=>{e(t)}))}subscribe(t){let e=this.uid++;return this.callbacks.set(e,t),()=>{this.callbacks.delete(e)}}notifyWithStep(t,e){this.notify({...t,meta:{...t.meta,step:e}})}async withEvent(t,e){let i=e();if(i&&i.hasOwnProperty("then"))try{return this.notifyWithStep(t,F.EventSteps.Start),i=await i,this.notifyWithStep(t,F.EventSteps.End),i}catch(s){throw this.notifyWithStep({...t,meta:{...t.meta,error:s}},F.EventSteps.Error),s}else return this.notify(t),i}};c(F,"biEvents",{PLATFORM_WORKER_SPAWN:123,PLATFORM_APP_RUNNER_INIT_APP_API:124,PLATFORM_APP_RUNNER_RUN_APP:125,PLATFORM_APP_RUNNER_REMOVE_APP:126,PLATFORM_WORKER_APP_BUNDLE_LOAD:127,PLATFORM_WORKER_APP_BUNDLE_EXECUTE:128,PLATFORM_IFRAME_INIT:129,PLATFORM_APP_API_INIT:130,PLATFORM_APP_API_GET:131}),c(F,"EventSteps",{Start:"start",End:"end",Error:"error"});var Zt=F,B=(n=>(n.WorkerSpawn="WorkerSpawn",n.HostEvent="HostEvent",n.ApplicationsSpecsReceived="ApplicationsSpecsReceived",n.InitApplicationApi="InitApplicationApi",n.RunApplication="RunApplication",n.getApplicationApi="getApplicationApi",n.IframeInit="IframeInit",n))(B||{}),rt=(n=>(n.EditorReady="EditorReady",n))(rt||{});var I=(n=>(n.ApplicationInit="ApplicationInit",n.ApplicationExecute="ApplicationExecute",n.ApplicationRemoved="ApplicationRemoved",n.ApplicationLoad="ApplicationLoad",n.ApplicationApiInit="ApplicationApiInit",n.CustomEvent="CustomEvent",n.HostEvent="HostEvent",n.EditorReady="EditorReady",n))(I||{}),te=class{createApplicationRemovedEvent(t){return{type:"ApplicationRemoved",payload:{appDefinitionId:t},meta:{bi:{evid:T.biEvents.PLATFORM_WORKER_SPAWN,appDefId:t}}}}createApplicationLoadEvent(t,e){return{type:"ApplicationLoad",payload:{appDefinitionId:t.appDefinitionId,url:e},meta:{bi:{evid:T.biEvents.PLATFORM_WORKER_APP_BUNDLE_LOAD,appDefId:t.appDefinitionId,appType:t.appType,bundleUrl:e}}}}createApplicationExecuteEvent(t,e){return{type:"ApplicationExecute",payload:{appDefinitionId:t.appDefinitionId,url:e},meta:{bi:{evid:T.biEvents.PLATFORM_WORKER_APP_BUNDLE_EXECUTE,appDefId:t.appDefinitionId,appType:t.appType,bundleUrl:e}}}}createApplicationApiInitEvent(t,e){return{type:"ApplicationApiInit",payload:{appDefinitionId:t},meta:{bi:{evid:T.biEvents.PLATFORM_APP_API_INIT,appDefId:t,scope:e}}}}},T=class extends Zt{constructor(){super(...arguments);c(this,"factories",new te)}},mt=class mt{constructor(t){this.events=t}mapToPlatformHostEvent(t){if(typeof t=="string")try{t=JSON.parse(t)}catch{}return{type:B.HostEvent,payload:{type:t.args.eventType,...t.args.eventPayload},meta:{appDefinitionId:t.appDefinitionId??null,intent:t.intent}}}notify(t){let e=this.mapToPlatformHostEvent(t);mt.allowedEvents.includes(e.payload.type)&&this.events.notify(e)}};c(mt,"allowedEvents",[it.EventType.componentSelectionChanged,it.EventType.appInstalled,it.EventType.appUpdateCompleted,it.EventType.removeAppCompleted]);var Ke=mt;var ot=n=>`"editor-platform-transport": ${n}`,yt=n=>ot(`[Internal Error] ${n}`),Ye="\u0192",ze="\u2202",Be="_get_",Ge="_set_",It="+",Je="-",le="\xB7",ue="\xD7",de="\xB0",Xe=n=>n[0]===ue?"":n,qe=n=>n===null||typeof n>"u"||typeof n=="symbol"||typeof n=="number"||typeof n=="boolean"||typeof n=="function"||typeof n=="string",Rn=n=>!!n&&typeof n=="object"&&!Array.isArray(n)&&!(n instanceof Date)&&!(n instanceof Set)&&!(n instanceof Map),On=n=>G(n.split(le)),G=n=>n.map(Xe).filter(Boolean).join(".");function Pt(n,t){return{marker:n,...t}}var Mn=Pt("A",{shouldUse:n=>Array.isArray(n),serialize:(n,t)=>{n.length?n.forEach((e,i)=>{t(`${i}`,e)}):t("",de)},deserialize:{create:()=>[],has:(n,t)=>!(typeof n[t]>"u"),append:(n,t,e)=>{n.push(e)}}}),Sn=Pt("M",{shouldUse:n=>n instanceof Map,serialize:(n,t)=>{n.forEach((e,i)=>{t(i,e)})},deserialize:{create:()=>new Map,has:(n,t)=>n.has(t),append:(n,t,e)=>{n.set(t,e)}}}),Nn=Pt("S",{shouldUse:n=>n instanceof Set,serialize:(n,t)=>{let e=0;n.forEach(i=>{t(`${e++}`,i)})},deserialize:{create:()=>new Set,has:(n,t)=>n.has(t),append:(n,t,e)=>{n.add(e)}}}),ne=Pt("O",{shouldUse:n=>typeof n=="object",serialize:(n,t)=>{let e=i=>{let r=Reflect.ownKeys(i).filter(o=>o!=="constructor").filter(o=>typeof o!="symbol");r.length?r.filter(o=>o!=="constructor").filter(o=>typeof o!="symbol").forEach(o=>{let p=Reflect.get(n,o);t(o,p)}):t("",de);let a=Reflect.getPrototypeOf(i);!a||a?.hasOwnProperty("__proto__")||e(a)};e(n)},deserialize:{create:()=>({}),has:(n,t)=>!!n[t],append:(n,t,e)=>{n[t]=e}}}),Ve=[Mn,Nn,Sn];function jn(n,t){let e=n;for(;e;){let i=Object.getOwnPropertyDescriptor(e,t);if(i)return i;e=Reflect.getPrototypeOf(e)}return null}function Dn(n,t){let e=new WeakMap,i=r=>{let a=r.slice(1).map(Xe).filter(Boolean);return a.slice(1).reduce((o,p)=>({context:o.context[o.pointer],pointer:p}),{context:n,pointer:a[0]})},s=(r,a=[])=>{if(e.has(r)&&e.get(r)?.some(h=>a.join(".").startsWith(h))){t(a,{...i(a),value:"[Circular]"});return}if(r&&!qe(r)&&(e.has(r)&&e.set(r,[]),e.set(r,[...e.get(r)??[],a.join(".")])),qe(r)){t(a,{...i(a),value:r});return}let o=Ve.find(p=>p.shouldUse(r))??ne;if(o){o.serialize(r,(p,h)=>{s(h,[...a,`${ue}${o.marker}`,p])});return}};return s(n)}var kn=(n,t)=>{if(!Rn(n))throw new Error(ot("only objects are serializable at the root level"));let e={data:[]},i=(r,a)=>{e.data.push([r,a])},s=(r,a)=>{t(On(r),(...o)=>a.context[a.pointer](...o)),i(r,Ye)};return Dn(n,(r,{value:a,context:o,pointer:p})=>{let h=r.slice(1).join(le),d=jn(o,p);if(d?.get||d?.set){d?.get&&t(G([...r,Be]),()=>o[p]),d?.set&&t(G([...r,Ge]),u=>{o[p]=u});let f=[d?.get?It:Je,d?.set?It:Je];i(h,`${ze}${f.join("")}`)}else typeof a=="function"?s(h,{context:o,pointer:p}):i(h,a)}),e},Ln=(n,t)=>typeof n!="object"||n===null?n:n.data.reduce((e,[i,s])=>{let r=e,a=i.split(le),o=ne,p=null;for(let h=0;h<a.length;h++){let d=a[h];if(d[0]===ue){let f=o.deserialize.has(r,p);if(o=[ne,...Ve].find(u=>u.marker===d[1]),!o)throw new Error(ot(`unknown marker "${d[1]}"`));f||(r[p]=o.deserialize.create()),r=r[p]}else p=d}if(s?.toString()===de)return e;if(s?.toString()===Ye)o.deserialize.append(r,p,t(G(a)));else if(s?.toString()[0]===ze){let h=s?.toString()[1]===It,d=s?.toString()[2]===It,f={};if(h){let u=t(G([...a,Be]));f.get=()=>u()}d&&(f.set=t(G([...a,Ge]))),Object.defineProperty(r,p,f)}else o.deserialize.append(r,p,s);return e},{[Symbol("transferred object")]:`${(JSON.stringify(n.data).length/1024).toFixed(2)}Kb`}),st=(n=>(n.ExposeAPI="ExposeAPI",n.Call="Call",n.Response="Response",n.Cleanup="Cleanup",n))(st||{}),N=class n{constructor(t,e){c(this,"correlationId",`M-${performance.now()}`);c(this,"parentCorrelationId");this.type=t,this.payload=e}withParentCorrelationId(t){return this.parentCorrelationId=t,this}serialize(t){return JSON.stringify({parentCorrelationId:this.parentCorrelationId,correlationId:this.correlationId,type:this.type,payload:kn(this.payload,(e,i)=>{t(this.correlationId,e,i)})})}static fromEvent(t,e){let i=JSON.parse(t);return new n(i.type,Ln(i.payload,s=>e(i.correlationId,s))).withParentCorrelationId(i.correlationId)}},ie=class extends N{constructor(t){super("Cleanup",t)}},re=class extends N{constructor(t){super("Response",t)}},Et=class extends N{constructor(t){super("Response",t)}},se=class extends N{constructor(t){super("Call",t)}},ee=(n,t)=>`${n}_${t}`,bt,Tt,X,_,oe=class{constructor(t){y(this,bt,new FinalizationRegistry(t=>{this.postMessage(new ie(t))}));y(this,Tt,{[st.Cleanup]:t=>{let e=t.payload.functionMarkerKey,i=t.payload.callId;delete l(this,X)[e],i&&delete l(this,_)[i]},[st.Response]:async t=>{let e=t.payload.callId,i=t.payload.errorMessage;if(i)if(t.payload.errorStack){let r=new Error(i);r.stack=t.payload.errorStack,l(this,_)[e]?.reject(r)}else l(this,_)[e]?.reject(i);else{let s=t.payload.response;l(this,_)[e]?.resolve(s)}delete l(this,_)[e]},[st.Call]:async t=>{let e=t.payload.functionMarkerKey,i=l(this,X)[e];if(!i){this.postMessage(new Et({callId:t.payload.callId,errorMessage:ot("function is not available")}));return}try{let s=await i.value(...t.payload.props??[]);this.postMessage(new re({callId:t.payload.callId,response:s}))}catch(s){this.postMessage(new Et({callId:t.payload.callId,errorMessage:s.message,errorStack:s.stack}))}}});y(this,X,{});y(this,_,{});c(this,"queue",[]);c(this,"isConnected",!1);this.handshake=t}async run(t){return this.handshake.run(t)}registerMessageListener(){if(!this.port)throw new Error(yt("it is not possible to listen on port events because port is not defined"));this.port.onmessage=t=>{this.onMessage(t)}}onMessage(t){let e=N.fromEvent(t.data,(i,s)=>{let r=this.replaceTransferredFunction(i,s);return l(this,bt).register(r,{functionMarkerKey:ee(i,s)}),r});l(this,Tt)[e.type]?.(e),this.messageEvents[e.type]?.(e)}postMessage(t){if(!this.port)throw new Error(yt("it is not possible to post message on port because port is not defined"));this.port.postMessage(t.serialize(this.registerTransferredFunction.bind(this)))}registerTransferredFunction(t,e,i){let s=ee(t,e);l(this,X)[s]={path:e,value:i}}replaceTransferredFunction(t,e){return(...i)=>{let s=`CALL-${crypto.randomUUID()}`;return this.postMessage(new se({callId:s,functionMarkerKey:ee(t,e),props:i})),new Promise((r,a)=>{l(this,_)[s]={resolve:r,reject:a}})}}flush(){this.port&&(this.queue.forEach(t=>{this.postMessage(t)}),this.queue=[])}};bt=new WeakMap,Tt=new WeakMap,X=new WeakMap,_=new WeakMap;var At=class extends oe{constructor(e){super(e);c(this,"port");c(this,"messageEvents",{});this.init()}async init(){let e=await this.run();e?(this.port=e,this.registerMessageListener(),this.flush()):console.error(yt("consumer did not receive message port from the host"))}expose(e){if(!e.type)throw new Error(ot('wrong exposed API instance, "type" property is required'));this.queue.push(new N(st.ExposeAPI,e)),this.flush()}};var ae=class{constructor(t){this.communicationAPI=t}},H,x,pe,C,Qe,Ze,ce,S=class S extends ae{constructor(){super(...arguments);y(this,C);y(this,H);y(this,x,!1);y(this,pe,null)}run(e){return new Promise(i=>{e?U(this,C,Qe).call(this,e,()=>i(void 0)):U(this,C,Ze).call(this,i)})}};H=new WeakMap,x=new WeakMap,pe=new WeakMap,C=new WeakSet,Qe=function(e,i){if(l(this,x))return;if(!e)throw new Error(yt("port should exists on host handshake"));let s=`Host-${performance.now()}`;this.communicationAPI.postMessage(JSON.stringify({memberId:s,type:"Greeting"}),[]),U(this,C,ce).call(this,s,r=>{var a;if(!l(this,x))switch(r.type){case"Greeting":{this.communicationAPI.postMessage(JSON.stringify({memberId:s,type:"Greeting"}),[]);break}case"RequestPort":{w(this,x,!0),this.communicationAPI.postMessage(JSON.stringify({memberId:s,targetMemberId:r.memberId,type:"Port"}),[e]),(a=l(this,H))==null||a.call(this),i();break}}})},Ze=function(e){if(l(this,x))return;let i=`Consumer-${performance.now()}`;this.communicationAPI.postMessage(JSON.stringify({memberId:i,type:"Greeting"}),[]),U(this,C,ce).call(this,i,(s,r)=>{var a;if(!l(this,x))switch(s.type){case"Greeting":{this.communicationAPI.postMessage(JSON.stringify({memberId:i,type:"RequestPort"}),[]);break}case"Port":{if(s.targetMemberId!==i)return;w(this,x,!0),(a=l(this,H))==null||a.call(this),e(r);break}}})},ce=function(e,i){var s;(s=l(this,H))==null||s.call(this),w(this,H,this.communicationAPI.onMessage(r=>{try{let a=typeof r.data=="string"?JSON.parse(r.data):{};if(!a.memberId||a.memberId===e)return;i(a,r.ports[0])}catch(a){console.error(a)}}))},c(S,"iframe",{host:e=>new S({postMessage:(i,s)=>{let r=e.contentWindow;r&&r.postMessage(i,"*",s)},onMessage:i=>{let s=r=>{r.origin!==new URL(e.src).origin||e.contentWindow!==r.source||i(r)};return globalThis.addEventListener("message",s),()=>globalThis.removeEventListener("message",s)}}),consumer:()=>new S({postMessage:e=>{globalThis.parent.postMessage(e,"*")},onMessage:e=>(globalThis.addEventListener("message",e),()=>{globalThis.removeEventListener("message",e)})})}),c(S,"worker",{host:e=>new S({postMessage:(i,s)=>{e.postMessage(i,s)},onMessage:i=>(e.addEventListener("message",i),()=>e.removeEventListener("message",i))}),consumer:()=>new S({postMessage:e=>{globalThis.postMessage(e)},onMessage:e=>(globalThis.addEventListener("message",e),()=>{globalThis.removeEventListener("message",e)})})});var gt=S,wt=class extends At{constructor(){super(gt.iframe.consumer())}};var vt=class extends At{constructor(){super(gt.worker.consumer())}};Xt();import{wixContext as mn}from"@wix/sdk-context";var Wn=n=>{switch(n){case"get":case"GET":return"GET";case"post":case"POST":return"POST";case"put":case"PUT":return"PUT";case"delete":case"DELETE":return"DELETE";case"patch":case"PATCH":return"PATCH";case"head":case"HEAD":return"HEAD";case"options":case"OPTIONS":return"OPTIONS";default:throw new Error(`Unknown method: ${n}`)}},tn=n=>t=>async e=>{let i,s=r=>{if(i=n(e)(r),i.url===void 0)throw new Error("Url was not successfully created for this request, please reach out to support channels for assistance.");let{method:a,url:o,params:p}=i;return{...i,method:Wn(a),url:o,data:i.data,params:p}};try{let r=await t.request(s);if(i===void 0)throw new Error("Request options were not created for this request, please reach out to support channels for assistance.");let a=Array.isArray(i.transformResponse)?i.transformResponse:[i.transformResponse],o=r.data;return a.forEach(p=>{p&&(o=p(r.data,r.headers))}),o}catch(r){throw typeof r=="object"&&r!==null&&"response"in r&&typeof r.response=="object"&&r.response!==null&&"data"in r.response?r.response.data:r}},en=()=>({HTTPHost:self.location.host}),nn=n=>n.__isAmbassador?!0:!!n().__isAmbassador;var rn="__metadata",R="www.wixapis.com";var _t=class extends Error{constructor(e,i){super(e);c(this,"message");c(this,"response");this.message=e,this.response=i}async details(){let e=await this.response.json();return Un(this.response.status,e?.message,e?.details,{requestId:this.response.headers.get("X-Wix-Request-Id"),details:e})}},Un=(n,t,e,i)=>({details:{...!e?.validationError&&{applicationError:{description:t,code:n,data:i}},...e},message:t});var sn=n=>n?.method&&["post","put","patch"].includes(n.method.toLocaleLowerCase())&&n.body?{"Content-Type":"application/json"}:{},xt=n=>n&&typeof n=="object"&&!Array.isArray(n);var on=n=>xt(n)&&n.__type==="host";function an(n,t){return n.create(t)}var Fn="x-wix-bi-gateway";function cn(n,t){return{[Fn]:Hn({environment:"js-sdk","package-name":n.packageName??t?.PACKAGE_NAME,"method-fqn":n.methodFqn,entity:n.entityFqdn})}}function Hn(n){return Object.entries(n).filter(([t,e])=>!!e).map(([t,e])=>`${t}=${e}`).join(",")}var $n=(n,t)=>R;function pn(n,t,e,i,s){return n({request:async r=>{let a=r({host:s?.HTTPHost||R}),o=a;o.method==="GET"&&o.fallback?.length&&o.params.toString().length>4e3&&(o=a.fallback[0]);let h=`https://${s?.HTTPHost??$n(o.method,o.url)}${o.url}`;o.params&&o.params.toString()&&(h+=`?${o.params.toString()}`);try{let d=cn(a,t),f=await e(h,{method:o.method,...o.data&&{body:JSON.stringify(o.data)},headers:{...d}});if(f.status!==200){let m=null;try{m=await f.json()}catch{}throw Kn(f.status,m?.message,m?.details,{requestId:f.headers.get("X-Wix-Request-Id"),details:m})}return{data:await f.json(),headers:f.headers,status:f.status,statusText:f.statusText}}catch(d){throw d.message?.includes("fetch is not defined")&&console.error("Node.js v18+ is required"),d}},fetchWithAuth:e,wixAPIFetch:i})}var Kn=(n,t,e,i)=>({response:{data:{details:{...!e?.validationError&&{applicationError:{description:t,code:n,data:i}},...e},message:t},status:n}});Xt();var Ct=()=>({emit(n,...t){for(let e=0,i=this.events[n]||[],s=i.length;e<s;e++)i[e](...t)},events:{},on(n,t){return(this.events[n]||=[]).push(t),()=>{this.events[n]=this.events[n]?.filter(e=>t!==e)}}});var un=n=>n.__type==="event-definition";function ln(n,t,e,i){let s;if(n.isDomainEvent){let a=e,{deletedEvent:o,actionEvent:p,createdEvent:h,updatedEvent:d,...f}=a,u={...i,...f};o?o?.deletedEntity?s={entity:o?.deletedEntity,metadata:u}:s={metadata:u}:p?s={data:p.body,metadata:u}:s={entity:h?.entity??d?.currentEntity,metadata:u}}else s={data:e,metadata:i};let r=n.transformations??(a=>a);return t(r(s))}function dn(n){let t=new Map,e=Ct(),i={...e,getRegisteredEvents:()=>t,async process(s,r={expectedEvents:[]}){let{eventType:a,identity:o,instanceId:p,payload:h}=await this.parseJWT(s),d=[...r.expectedEvents,...Array.from(t.keys()).map(u=>({type:u}))];if(d.length>0&&!d.some(({type:u})=>u===a))throw new Error(`Unexpected event type: ${a}. Expected one of: ${d.map(u=>u.type).join(", ")}`);let f=t.get(a)??[];return await Promise.all(f.map(({eventDefinition:u,handler:m})=>ln(u,m,h,{instanceId:p,identity:o}))),{instanceId:p,eventType:a,payload:h,identity:o}},async processRequest(s,r){let a=await s.text();return this.process(a,r)},async parseJWT(s){if(!n.decodeJWT)throw new Error("decodeJWT is not supported by the authentication strategy");let{decoded:r,valid:a}=await n.decodeJWT(s);if(!a)throw new Error("JWT is not valid");if(typeof r.data!="string")throw new Error(`Unexpected type of JWT data: expected string, got ${typeof r.data}`);let o=JSON.parse(r.data),p=o.eventType,h=o.instanceId,d=o.identity?JSON.parse(o.identity):void 0,f=JSON.parse(o.data);return{instanceId:h,eventType:p,payload:f,identity:d}},async parseRequest(s){let r=await s.text();return this.parseJWT(r)},async executeHandlers(s){let r=Array.from(t.keys()).map(o=>({type:o}));if(r.length>0&&!r.some(({type:o})=>o===s.eventType))throw new Error(`Unexpected event type: ${s.eventType}. Expected one of: ${r.map(o=>o.type).join(", ")}`);let a=t.get(s.eventType)??[];await Promise.all(a.map(({eventDefinition:o,handler:p})=>ln(o,p,s.payload,{instanceId:s.instanceId,identity:s.identity})))},apps:{AppInstalled:Gt("AppInstalled")(),AppRemoved:Gt("AppRemoved")()}};return{initModule(s){return r=>{let a=t.get(s.type)??[];a.push({eventDefinition:s,handler:r}),t.set(s.type,a),e.emit("registered",s)}},client:i}}var hn=n=>n.__type==="service-plugin-definition";function fn(n){let t=new Map,e=Ct(),i={...e,getRegisteredServicePlugins:()=>t,async parseJWT(s){if(!n.decodeJWT)throw new Error("decodeJWT is not supported by the authentication strategy");let{decoded:r,valid:a}=await n.decodeJWT(s,!0);if(!a)throw new Error("JWT is not valid");if(typeof r.data!="object"||r.data===null||!("metadata"in r.data)||typeof r.data.metadata!="object"||r.data.metadata===null||!("appExtensionType"in r.data.metadata)||typeof r.data.metadata.appExtensionType!="string")throw new Error("Unexpected JWT data: expected object with metadata.appExtensionType string");return r.data},async process(s){let r=await this.parseJWT(s.body);return this.executeHandler(r,s.url)},async parseRequest(s){let r=await s.text();return this.parseJWT(r)},async processRequest(s){let r=s.url,a=await s.text(),o=await this.process({url:r,body:a});return Response.json(o)},async executeHandler(s,r){let a=s.metadata.appExtensionType.toLowerCase(),o=t.get(a)??[];if(o.length===0)throw new Error(`No service plugin implementations found for component type ${a}`);if(o.length>1)throw new Error(`Multiple service plugin implementations found for component type ${a}. This is currently not supported`);let{implementation:p,servicePluginDefinition:h}=o[0],d=h.methods.find(u=>r.endsWith(u.primaryHttpMappingPath));if(!d)throw new Error("Unexpect request: request url did not match any method: "+r);let f=p[d.name];if(!f)throw new Error(`Got request for service plugin method ${d.name} but no implementation was provided. Available methods: ${Object.keys(p).join(", ")}`);return d.transformations.toREST(await f(d.transformations.fromREST(s)))}};return{initModule(s){return r=>{let a=t.get(s.componentType.toLowerCase())??[];a.push({servicePluginDefinition:s,implementation:r}),t.set(s.componentType.toLowerCase(),a),e.emit("registered",s)}},client:i}}function Rt(n){let t=n.headers||{Authorization:""},e=n.auth||{getAuthHeaders:u=>Promise.resolve({headers:{}})},i=e.getAuthHeaders.bind(void 0,n.host);e.getAuthHeaders=i;let{client:s,initModule:r}=fn(e),{client:a,initModule:o}=dn(e),p=async(u,m)=>{let A=await i(),g=sn(m);return fetch(u,{...m,headers:{...g,...t,...A?.headers,...m?.headers}})},h=(u,m)=>{if(un(u))return o(u);if(hn(u))return r(u);if(on(u)&&n.host)return an(u,n.host);if(typeof u=="function"){if("__type"in u&&u.__type===We)return u;let{module:A,options:g}=nn(u)?{module:tn(u),options:en()}:{module:u,options:void 0};return pn(A,m??{},p,(Yt,zt)=>{let Bt=new URL(Yt,`https://${R}`);return Bt.host=R,Bt.protocol="https",p(Bt.toString(),zt)},g)}else return xt(u)?Object.fromEntries(Object.entries(u).map(([A,g])=>[A,h(g,u[rn])])):u},d=u=>{for(let m in u)t[m]=u[m]};return{...n.modules?h(n.modules):{},auth:e,setHeaders:d,use:h,enableContext(u,m={elevated:!1}){u==="global"?globalThis.__wix_context__!=null?m.elevated?globalThis.__wix_context__.elevatedClient=this:globalThis.__wix_context__.client=this:m.elevated?globalThis.__wix_context__={elevatedClient:this}:globalThis.__wix_context__={client:this}:m.elevated?mn.elevatedClient=this:mn.client=this},fetch:(u,m)=>{let A=new URL(u,`https://${R}`);return A.host=R,A.protocol="https",p(A.toString(),m)},fetchWithAuth:async(u,m)=>{if(typeof u=="string"||u instanceof URL)return fetch(u,{...m,headers:{...m?.headers,...(await i()).headers}});for(let[A,g]of Object.entries((await i()).headers))u.headers.set(A,g);return fetch(u,m)},async graphql(u,m,A={apiVersion:"alpha"}){let g=await p(`https://${R}/graphql/${A.apiVersion}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:u,variables:m})});if(g.status!==200)throw new _t(`GraphQL request failed with status ${g.status}`,g);let{data:Yt,errors:zt}=await g.json();return{data:Yt??{},errors:zt}},webhooks:a,servicePlugins:s}}var me=class{constructor(t){this.platformAppEvents=t}notify(t){switch(t.type){case rt.EditorReady:this.platformAppEvents.notify({...t,type:I.EditorReady});break;case B.HostEvent:this.platformAppEvents.notify({...t,type:I.HostEvent});break}}subscribe(t){this.platformAppEvents.subscribe(e=>{t(e)})}},ye=(n=>(n.Frame="PLATFORM_FRAME_API",n.Worker="PLATFORM_WORKER_API",n))(ye||{}),Ie=class{constructor(t){this.env=t,this.create()}},O=(n=>(n.IncorrectEnvironment="IncorrectEnvironment",n.ClientAuthError="ClientAuthError",n))(O||{}),Ee=class extends v{constructor(e,i){super(e,i,"Editor Platform Application Context Error");c(this,"state",{})}withUrl(e){return this.state={...this.state,url:e},this}withAppDefinitionId(e){return this.state={...this.state,appDefinitionId:e},this}},j=P(Ee);async function Jn(n,t){if(!n?.type)return n;switch(n.type){case"componentSelectionChanged":let e=n.componentRefs||[],i=await Promise.all(e.map(s=>t.components.getComponent(s)));return{type:n.type,components:i};default:return n}}var Ae=class{constructor(t,e,i){c(this,"events");c(this,"subscribe");c(this,"commit");c(this,"startTransaction");c(this,"silent");this.appDefinitionId=t,this.privateAPI=i,this.events=e,this.subscribe=e.subscribe.bind(e),this.commit=e.commit.bind(e),this.startTransaction=e.startTransaction.bind(e),this.silent=e.silent.bind(e)}notify(t){this.events.notify({type:t.type,payload:t.payload,meta:{appDefinitionId:this.appDefinitionId}})}notifyCustomEvent(t,e){this.notify({type:I.CustomEvent,payload:{...e,type:t}})}addEventListener(t,e){return this.events.subscribe(async i=>{let s=i.meta?.appDefinitionId===this.appDefinitionId||i.meta?.appDefinitionId===null,r=()=>Jn(i.payload,this.privateAPI);t==="*"?e(await r()):i.type===I.CustomEvent?t===i.payload?.type&&!s&&e(await r()):i.type===I.HostEvent&&t===i.payload?.type&&s&&e(await r())})}},qn=200,Yn=50,Ot=class{constructor(t){c(this,"_resolveContextInjected",()=>{});c(this,"_isInjected",!1);c(this,"key");this.key=`__${t}_CONTEXT_INJECTION_STATUS_KEY`,globalThis[this.key]||(globalThis[this.key]=new Promise(e=>{this._resolveContextInjected=()=>{this._isInjected=!0,e()}}))}isInjected(){return!!this._isInjected}resolveInjected(){this._resolveContextInjected?.()}waitInjected(){return new Promise((t,e)=>{let i=!1,s,r=0,a=()=>{i||(s=setTimeout(()=>{if(r++,r<Yn){r%10===0&&console.log(j(O.IncorrectEnvironment,"contexts are not resolved, still re-trying").withMessage(`try number ${r}`).message),a();return}if(!i){let p=j(O.IncorrectEnvironment,"contexts are not resolved, threw by timeout");e(p)}},qn))};a(),globalThis[this.key].then(()=>{i=!0,clearTimeout(s),t()})})}},he="__ENVIRONMENT_CONTEXT_KEY",at=(n=>(n.Worker="Worker",n.Frame="Frame",n.ComponentPanel="ComponentPanel",n))(at||{}),Nt=class Nt{constructor(t){this.environmentContext=t}static async inject(t){if(globalThis[he])throw j(O.IncorrectEnvironment,"Environment context already exists and should not be overridden");globalThis[he]=new Nt(t),this.status.resolveInjected()}static async getInstance(){return await this.status.waitInjected(),globalThis[he]}getPrivateAPI(){return this.environmentContext.privateApi}getEvents(){return this.environmentContext.events}getApplicationAPIs(){return this.environmentContext.applicationAPIs??{}}getEnvironment(){return this.environmentContext.environment}};c(Nt,"status",new Ot("environment"));var $=Nt,fe="__APPLICATION_CONTEXT_KEY",jt=class jt{constructor(t,e){c(this,"events");this.applicationContext=t,this.environment=e,this.events=new Ae(this.applicationContext.appDefinitionId,this.environment.getEvents(),this.environment.getPrivateAPI())}static async inject(t){if((await $.getInstance()).getEnvironment()!==at.Frame)throw j(O.IncorrectEnvironment,"Application context can be injected only in frame environment");if(globalThis[fe])throw j(O.IncorrectEnvironment,"Application context already exists and should not be overridden");globalThis[fe]=new jt(t,await $.getInstance()),this.status.resolveInjected()}static async getInstance(){return(await $.getInstance()).getEnvironment()===at.Frame?(await this.status.waitInjected(),globalThis[fe]):__APPLICATION_CONTEXT_KEY}getAppDefinitionId(){return this.applicationContext.appDefinitionId}getBindings(){return this.applicationContext}getEvents(){return this.events}getPrivateAPI(){return this.environment.getPrivateAPI()}getPrivateApplicationAPI(){let t=this.getAppDefinitionId();if(!t)throw j(O.IncorrectEnvironment,"appDefinitionId is not available");return this.environment.getApplicationAPIs()[t]}};c(jt,"status",new Ot("application"));var Mt=jt,zn=n=>{let t=new $({environment:n.environment,privateApi:n.privateAPI,events:n.events??new T,applicationAPIs:n.applicationPrivateAPI?{[n.appDefinitionId]:n.applicationPrivateAPI}:{}}),e=new Mt({appDefinitionId:n.appDefinitionId,appDefinitionName:""},t);return{environment:{},channel:{observeState:async()=>({disconnect(){}})},environmentContext:t,applicationContext:e}},Bn=(n,t)=>({getAuthHeaders:async()=>{if(!n)throw j(O.ClientAuthError);let e=await t.info.getAppInstance(n);if(e===void 0)throw j(O.ClientAuthError,"empty auth instance").withAppDefinitionId(n);return{headers:{Authorization:e}}}}),Gn={classic:"https://www.unpkg.com/@wix/design-system/dist/statics/tokens-default.global.css",studio:"https://www.unpkg.com/@wix/design-system/dist/statics/tokens-studio.global.css"},V,ct,pt,Q,St=class extends Ie{constructor(){super(ye.Frame);c(this,"type",ye.Frame);y(this,V,new T);y(this,ct,new me(l(this,V)));y(this,pt);y(this,Q)}create(){if(typeof globalThis?.document?.head?.prepend=="function"){let i=new URL(globalThis.location.href).searchParams.get("editorType")==="CLASSIC"?"classic":"studio",s=Gn[i],r=s&&!!document.querySelectorAll(`link[type="text/css"][href="${s}"]`)?.length;if(s&&!r){let a=document.createElement("link");a.setAttribute("rel","stylesheet"),a.setAttribute("type","text/css"),a.setAttribute("href",s),globalThis.document.head.prepend(a)}}}async initEnvironment(e){let{applicationPrivateAPI:i,privateAPI:s,appDefinitionId:r}=e;w(this,Q,i),w(this,pt,s),await $.inject({environment:at.Frame,privateApi:s,events:l(this,V),applicationAPIs:{[r]:l(this,Q)}}),await Mt.inject({appDefinitionId:r,appDefinitionName:""}),Rt({auth:Bn(r,s),host:zn({appDefinitionId:r,privateAPI:l(this,pt),environment:at.Frame,events:l(this,V),applicationPrivateAPI:l(this,Q)})}).enableContext("global")}notify(e){l(this,ct).notify(e)}subscribe(e){l(this,ct).subscribe(e)}};V=new WeakMap,ct=new WeakMap,pt=new WeakMap,Q=new WeakMap;var yn=Le(Qt());var we=class{constructor(t){this.platformAppEvents=t}notify(t){switch(t.type){case rt.EditorReady:this.platformAppEvents.notify({...t,type:I.EditorReady});break;case B.HostEvent:this.platformAppEvents.notify({...t,type:I.HostEvent});break}}subscribe(t){this.platformAppEvents.subscribe(e=>{t(e)})}},M=(n=>(n.IncorrectEnvironment="IncorrectEnvironment",n.ClientAuthError="ClientAuthError",n))(M||{}),ve=class extends v{constructor(e,i){super(e,i,"Editor Platform Application Context Error");c(this,"state",{})}withUrl(e){return this.state={...this.state,url:e},this}withAppDefinitionId(e){return this.state={...this.state,appDefinitionId:e},this}},k=P(ve);async function Xn(n,t){if(!n?.type)return n;switch(n.type){case"componentSelectionChanged":let e=n.componentRefs||[],i=await Promise.all(e.map(s=>t.components.getComponent(s)));return{type:n.type,components:i};default:return n}}var be=class{constructor(t,e,i){c(this,"events");c(this,"subscribe");c(this,"commit");c(this,"startTransaction");c(this,"silent");this.appDefinitionId=t,this.privateAPI=i,this.events=e,this.subscribe=e.subscribe.bind(e),this.commit=e.commit.bind(e),this.startTransaction=e.startTransaction.bind(e),this.silent=e.silent.bind(e)}notify(t){this.events.notify({type:t.type,payload:t.payload,meta:{appDefinitionId:this.appDefinitionId}})}notifyCustomEvent(t,e){this.notify({type:I.CustomEvent,payload:{...e,type:t}})}addEventListener(t,e){return this.events.subscribe(async i=>{let s=i.meta?.appDefinitionId===this.appDefinitionId||i.meta?.appDefinitionId===null,r=()=>Xn(i.payload,this.privateAPI);t==="*"?e(await r()):i.type===I.CustomEvent?t===i.payload?.type&&!s&&e(await r()):i.type===I.HostEvent&&t===i.payload?.type&&s&&e(await r())})}},Vn=200,Qn=50,kt=class{constructor(t){c(this,"_resolveContextInjected",()=>{});c(this,"_isInjected",!1);c(this,"key");this.key=`__${t}_CONTEXT_INJECTION_STATUS_KEY`,globalThis[this.key]||(globalThis[this.key]=new Promise(e=>{this._resolveContextInjected=()=>{this._isInjected=!0,e()}}))}isInjected(){return!!this._isInjected}resolveInjected(){this._resolveContextInjected?.()}waitInjected(){return new Promise((t,e)=>{let i=!1,s,r=0,a=()=>{i||(s=setTimeout(()=>{if(r++,r<Qn){r%10===0&&console.log(k(M.IncorrectEnvironment,"contexts are not resolved, still re-trying").withMessage(`try number ${r}`).message),a();return}if(!i){let p=k(M.IncorrectEnvironment,"contexts are not resolved, threw by timeout");e(p)}},Vn))};a(),globalThis[this.key].then(()=>{i=!0,clearTimeout(s),t()})})}},ge="__ENVIRONMENT_CONTEXT_KEY",lt=(n=>(n.Worker="Worker",n.Frame="Frame",n.ComponentPanel="ComponentPanel",n))(lt||{}),Ut=class Ut{constructor(t){this.environmentContext=t}static async inject(t){if(globalThis[ge])throw k(M.IncorrectEnvironment,"Environment context already exists and should not be overridden");globalThis[ge]=new Ut(t),this.status.resolveInjected()}static async getInstance(){return await this.status.waitInjected(),globalThis[ge]}getPrivateAPI(){return this.environmentContext.privateApi}getEvents(){return this.environmentContext.events}getApplicationAPIs(){return this.environmentContext.applicationAPIs??{}}getEnvironment(){return this.environmentContext.environment}};c(Ut,"status",new kt("environment"));var L=Ut,Dt="__APPLICATION_CONTEXT_KEY",Ft=class Ft{constructor(t,e){c(this,"events");this.applicationContext=t,this.environment=e,this.events=new be(this.applicationContext.appDefinitionId,this.environment.getEvents(),this.environment.getPrivateAPI())}static async inject(t){if((await L.getInstance()).getEnvironment()!==lt.Frame)throw k(M.IncorrectEnvironment,"Application context can be injected only in frame environment");if(globalThis[Dt])throw k(M.IncorrectEnvironment,"Application context already exists and should not be overridden");globalThis[Dt]=new Ft(t,await L.getInstance()),this.status.resolveInjected()}static async getInstance(){return(await L.getInstance()).getEnvironment()===lt.Frame?(await this.status.waitInjected(),globalThis[Dt]):__APPLICATION_CONTEXT_KEY}getAppDefinitionId(){return this.applicationContext.appDefinitionId}getBindings(){return this.applicationContext}getEvents(){return this.events}getPrivateAPI(){return this.environment.getPrivateAPI()}getPrivateApplicationAPI(){let t=this.getAppDefinitionId();if(!t)throw k(M.IncorrectEnvironment,"appDefinitionId is not available");return this.environment.getApplicationAPIs()[t]}};c(Ft,"status",new kt("application"));var Lt=Ft,Zn=n=>{let t=new L({environment:n.environment,privateApi:n.privateAPI,events:n.events??new T,applicationAPIs:n.applicationPrivateAPI?{[n.appDefinitionId]:n.applicationPrivateAPI}:{}}),e=new Lt({appDefinitionId:n.appDefinitionId,appDefinitionName:""},t);return{environment:{},channel:{observeState:async()=>({disconnect(){}})},environmentContext:t,applicationContext:e}},ti=(n,t)=>({getAuthHeaders:async()=>{if(!n)throw k(M.ClientAuthError);let e=await t.info.getAppInstance(n);if(e===void 0)throw k(M.ClientAuthError,"empty auth instance").withAppDefinitionId(n);return{headers:{Authorization:e}}}}),D=(n=>(n.ApplicationRuntimeError="ApplicationRuntimeError",n.ApplicationCreationError="ApplicationCreationError",n.ApplicationLoadError="ApplicationLoadError",n.ApplicationFetchError="ApplicationFetchError",n.ApplicationExecuteError="ApplicationExecuteError",n.ApplicationWasRemoved="ApplicationWasRemoved",n.UndefinedApiMethod="UndefinedApiMethod",n.ApplicationIsNotMutable="ApplicationIsNotMutable",n.FailedToGetPrivateAPI="FailedToGetPrivateAPI",n.ClientAuthError="ClientAuthError",n))(D||{}),Te=class extends v{constructor(e,i){super(e,i,"Editor Platform Application Error");c(this,"state",{})}withUrl(e){return this.state={...this.state,url:e},this}withAppDefinitionId(e){return this.state={...this.state,appDefinitionId:e},this}withApiMethod(e){return this.state={...this.state,apiMethod:e},this}withApiType(e){return this.state={...this.state,apiType:e},this}},K=P(Te),ei="__APPLICATION_REGISTRY_KEY";async function ni(n,t,e,i){let s=new Function("$wixContext",Dt,ei,i),r,a=o=>{if(r)throw K(D.ApplicationExecuteError,"Application registry called more than once").withAppDefinitionId(e.appDefinitionId);if(o.type!==e.type)throw K(D.ApplicationExecuteError,"Application has different type").withMessage("expected type",e.type).withMessage("received type",o.type);r=o};try{let o={...e};s.call({client:t},new Lt(o,await L.getInstance()),a)}catch(o){throw K(D.ApplicationExecuteError,o.message).withAppDefinitionId(e.appDefinitionId).withParentError(o)}return new Promise((o,p)=>{let h=n.subscribe(d=>{let f=setTimeout(()=>{clearTimeout(f),h(),r||p(K(D.ApplicationExecuteError,"Application registry was not called, threw by timeout").withAppDefinitionId(e.appDefinitionId))},5e3);d.type===I.ApplicationInit&&d.meta.appDefinitionId===e.appDefinitionId&&(clearTimeout(f),h(),r||p(K(D.ApplicationExecuteError,"Application registry was not called").withAppDefinitionId(e.appDefinitionId)),o({instance:r}))})})}var J,q,E,Ht,In,Pe=class{constructor(t,e){y(this,Ht);y(this,J,{});y(this,q);y(this,E);w(this,q,t),w(this,E,e),l(this,E).subscribe(i=>{switch(i.type){case I.HostEvent:{i.payload.type===yn.EventType.removeAppCompleted&&l(this,E).withEvent(l(this,E).factories.createApplicationRemovedEvent(i.payload.appDefinitionId),()=>this.removeApplication(i.payload.appDefinitionId));break}}})}async runApplication(t){let e=await this.loadApplication(t),i=await this.executeApplication(t,e);return this.setApplication(t.appDefinitionId,i),i}setApplication(t,e){l(this,J)[t]=e,l(this,E).withEvent(l(this,E).factories.createApplicationApiInitEvent(t,e?.api?.private?"private":"public"),()=>{l(this,q).applicationManager.setApplication(e)})}getApplication(t){return l(this,J)[t]}getAppDefinitionIds(){return Object.keys(l(this,J))}removeApplication(t){delete l(this,J)[t]}async loadApplication(t){let e=t.url;return l(this,E).withEvent(l(this,E).factories.createApplicationLoadEvent(t,e),async()=>{try{return await this.loadApplicationBundle(e)}catch(i){throw K(D.ApplicationLoadError).withUrl(e).withAppDefinitionId(t.appDefinitionId).withParentError(i)}})}async loadApplicationBundle(t){let e=await fetch("url",{method:"GET"});if(!(e.status>=200&&e.status<=299))throw K(D.ApplicationFetchError).withUrl(t);return e.text()}async executeApplication(t,e){return l(this,E).withEvent(l(this,E).factories.createApplicationExecuteEvent(t,t.url),async()=>{let i=U(this,Ht,In).call(this,t.appDefinitionId),{instance:s}=await ni(l(this,E),i,t,e);return s})}};J=new WeakMap,q=new WeakMap,E=new WeakMap,Ht=new WeakSet,In=function(t){return Rt({auth:ti(t,l(this,q)),host:Zn({appDefinitionId:t,privateAPI:l(this,q),environment:lt.Worker,events:l(this,E),applicationPrivateAPI:{}})})};var _e=(n=>(n.Frame="PLATFORM_FRAME_API",n.Worker="PLATFORM_WORKER_API",n))(_e||{}),xe=class{constructor(t){this.env=t,this.create()}},Z,ut,dt,Y,ht,Wt=class extends xe{constructor(){super(_e.Worker);c(this,"type",_e.Worker);y(this,Z,new T);y(this,ut,new we(l(this,Z)));y(this,dt,null);y(this,Y);y(this,ht,[])}create(){}async initEnvironment(e){let{buildPrivateAPI:i}=e;w(this,Y,await i({type:"EDITOR_ADDON"})),await L.inject({environment:lt.Worker,events:l(this,Z),privateApi:l(this,Y),applicationAPIs:{}}),w(this,dt,new Pe(l(this,Y),l(this,Z))),l(this,ht).forEach(s=>s(this))}async notify(e){await this.waitReady(),l(this,ut).notify(e)}subscribe(e){l(this,ut).subscribe(e)}async runApplication(e){await this.waitReady(),await l(this,dt).runApplication(e)}waitReady(){return new Promise(e=>{if(l(this,Y))return e(this);l(this,ht).push(e)})}};Z=new WeakMap,ut=new WeakMap,dt=new WeakMap,Y=new WeakMap,ht=new WeakMap;var z=(n=>(n.IncorrectEnvironment="IncorrectEnvironment",n.ClientAuthError="ClientAuthError",n))(z||{}),Oe=class extends v{constructor(e,i){super(e,i,"Editor Platform Application Context Error");c(this,"state",{})}withUrl(e){return this.state={...this.state,url:e},this}withAppDefinitionId(e){return this.state={...this.state,appDefinitionId:e},this}},et=P(Oe);async function ii(n,t){if(!n?.type)return n;switch(n.type){case"componentSelectionChanged":let e=n.componentRefs||[],i=await Promise.all(e.map(s=>t.components.getComponent(s)));return{type:n.type,components:i};default:return n}}var Me=class{constructor(t,e,i){c(this,"events");c(this,"subscribe");c(this,"commit");c(this,"startTransaction");c(this,"silent");this.appDefinitionId=t,this.privateAPI=i,this.events=e,this.subscribe=e.subscribe.bind(e),this.commit=e.commit.bind(e),this.startTransaction=e.startTransaction.bind(e),this.silent=e.silent.bind(e)}notify(t){this.events.notify({type:t.type,payload:t.payload,meta:{appDefinitionId:this.appDefinitionId}})}notifyCustomEvent(t,e){this.notify({type:I.CustomEvent,payload:{...e,type:t}})}addEventListener(t,e){return this.events.subscribe(async i=>{let s=i.meta?.appDefinitionId===this.appDefinitionId||i.meta?.appDefinitionId===null,r=()=>ii(i.payload,this.privateAPI);t==="*"?e(await r()):i.type===I.CustomEvent?t===i.payload?.type&&!s&&e(await r()):i.type===I.HostEvent&&t===i.payload?.type&&s&&e(await r())})}},ri=200,si=50,$t=class{constructor(t){c(this,"_resolveContextInjected",()=>{});c(this,"_isInjected",!1);c(this,"key");this.key=`__${t}_CONTEXT_INJECTION_STATUS_KEY`,globalThis[this.key]||(globalThis[this.key]=new Promise(e=>{this._resolveContextInjected=()=>{this._isInjected=!0,e()}}))}isInjected(){return!!this._isInjected}resolveInjected(){this._resolveContextInjected?.()}waitInjected(){return new Promise((t,e)=>{let i=!1,s,r=0,a=()=>{i||(s=setTimeout(()=>{if(r++,r<si){r%10===0&&console.log(et(z.IncorrectEnvironment,"contexts are not resolved, still re-trying").withMessage(`try number ${r}`).message),a();return}if(!i){let p=et(z.IncorrectEnvironment,"contexts are not resolved, threw by timeout");e(p)}},ri))};a(),globalThis[this.key].then(()=>{i=!0,clearTimeout(s),t()})})}},Ce="__ENVIRONMENT_CONTEXT_KEY",Se=(n=>(n.Worker="Worker",n.Frame="Frame",n.ComponentPanel="ComponentPanel",n))(Se||{}),Jt=class Jt{constructor(t){this.environmentContext=t}static async inject(t){if(globalThis[Ce])throw et(z.IncorrectEnvironment,"Environment context already exists and should not be overridden");globalThis[Ce]=new Jt(t),this.status.resolveInjected()}static async getInstance(){return await this.status.waitInjected(),globalThis[Ce]}getPrivateAPI(){return this.environmentContext.privateApi}getEvents(){return this.environmentContext.events}getApplicationAPIs(){return this.environmentContext.applicationAPIs??{}}getEnvironment(){return this.environmentContext.environment}};c(Jt,"status",new $t("environment"));var nt=Jt,Re="__APPLICATION_CONTEXT_KEY",qt=class qt{constructor(t,e){c(this,"events");this.applicationContext=t,this.environment=e,this.events=new Me(this.applicationContext.appDefinitionId,this.environment.getEvents(),this.environment.getPrivateAPI())}static async inject(t){if((await nt.getInstance()).getEnvironment()!==Se.Frame)throw et(z.IncorrectEnvironment,"Application context can be injected only in frame environment");if(globalThis[Re])throw et(z.IncorrectEnvironment,"Application context already exists and should not be overridden");globalThis[Re]=new qt(t,await nt.getInstance()),this.status.resolveInjected()}static async getInstance(){return(await nt.getInstance()).getEnvironment()===Se.Frame?(await this.status.waitInjected(),globalThis[Re]):__APPLICATION_CONTEXT_KEY}getAppDefinitionId(){return this.applicationContext.appDefinitionId}getBindings(){return this.applicationContext}getEvents(){return this.events}getPrivateAPI(){return this.environment.getPrivateAPI()}getPrivateApplicationAPI(){let t=this.getAppDefinitionId();if(!t)throw et(z.IncorrectEnvironment,"appDefinitionId is not available");return this.environment.getApplicationAPIs()[t]}};c(qt,"status",new $t("application"));var Kt=qt,Ne=class extends v{constructor(e,i){super(e,i,"Auth Strategy Error");c(this,"state",{})}withAppDefinitionId(e){return this.state={...this.state,appDefinitionId:e},this}},En=P(Ne),oi=()=>({getAuthHeaders:async()=>{let n=await Kt.getInstance(),t=n.getPrivateAPI(),e=n.getBindings();if(!e.appDefinitionId)throw En("EmptyAppDefinitionId");let i=await t.info.getAppInstance(e.appDefinitionId);if(i===void 0)throw En("EmptyAppAuthInstance").withAppDefinitionId(e.appDefinitionId);return{headers:{Authorization:i}}}}),An="_EP_TRANSPORT_INIT_KEY";globalThis[An]||(typeof importScripts=="function"?new vt().expose(new Wt):new wt().expose(new St),globalThis[An]=!0);var W=class{constructor(t,e){this.namespace=t,this.shape=e}build(){return Fe(Object.fromEntries(Object.entries(this.shape).map(([t,e])=>[t,i=>i?.environmentContext&&i?.applicationContext?e({environmentContext:i.environmentContext,applicationContext:i.applicationContext}):async(...s)=>{let r=await nt.getInstance(),a=await Kt.getInstance();return e({environmentContext:r,applicationContext:a})(...s)}])))}},ai=new W("application",{getPrivateAPI({applicationContext:n}){return async()=>n.getPrivateApplicationAPI()},getPublicAPI({applicationContext:n}){return async t=>n.getPrivateAPI().applicationManager.getPublicApplicationAPI(t)},getAppInstance({applicationContext:n}){return async()=>{let t=n.getPrivateAPI(),e=n.getBindings();return t.info.getAppInstance(e.appDefinitionId)}}}),yr=ai.build(),ci=new W("components",{getSelectedComponents({applicationContext:n}){return async()=>{let t=n.getPrivateAPI(),e=await t.components.getSelectedComponents();return Promise.all(e.map(i=>t.components.getComponent(i)))}}}),pi=ci.build(),li=new W("events",{addEventListener({applicationContext:n}){return async(t,e)=>n.getEvents().addEventListener(t,e)}}),Ir=li.build(),ui=new W("info",{getViewMode({applicationContext:n}){return async()=>n.getPrivateAPI().info.getViewMode()},getLanguageCode({applicationContext:n}){return async()=>n.getPrivateAPI().info.getLanguageCode()}}),Er=ui.build(),wn=(n=>(n.UndefinedCompRef="UndefinedCompRef",n))(wn||{}),je=class extends v{constructor(t,e){super(t,e,"Widget Error")}},di=P(je),gn=async()=>{let t=(await pi.getSelectedComponents())[0]?.compRef;if(!t)throw di(wn.UndefinedCompRef);return t},hi=new W("widget",{getProp({applicationContext:n}){return async t=>{let e=n.getPrivateAPI(),i=await gn();return e.customElement.getAttribute(i,t)}},setProp({applicationContext:n}){return async(t,e)=>{let i=n.getPrivateAPI(),s=await gn();await i.customElement.setAttribute(s,t,e)}}}),Ar=hi.build(),tt={transformFontInternalValue:n=>{if(n){let{theme:t,...e}=tt.normalize(n);return{...e,editorKey:t}}else return{editorKey:"font_7",family:"helvetica-w01-roman",size:16,style:{}}},transformFontPublicValue:n=>n?{...tt.normalize(n),theme:n.editorKey}:null,normalize:({theme:n,editorKey:t,preset:e,...i})=>({...i,theme:n??t})},fi=new W("inputs",{selectColor({applicationContext:n}){return async(t,e)=>{let i=n.getPrivateAPI(),s=t?{color:t.color,theme:t?.theme}:null;return await i.inputs.openColorPicker({color:t?.theme?t.theme:t?.color},({color:r,theme:a})=>{let o={color:r,theme:a};s=o,e?.(o)}),s}},selectFont({applicationContext:n}){return async(t,e,i)=>{let s=n.getPrivateAPI(),r=tt.transformFontPublicValue(t),a=(...o)=>{switch(r||(r=tt.transformFontPublicValue(tt.transformFontInternalValue(t))),o[0]){case"theme":Object.assign(r,{theme:o[1]});break;case"size":Object.assign(r,{size:o[1]});break;case"bold":Object.assign(r,{style:{...r.style,bold:o[1]}});break;case"italic":Object.assign(r,{style:{...r.style,italic:o[1]}});break;case"underline":Object.assign(r,{style:{...r.style,underline:o[1]}});break;case"family":Object.assign(r,{family:o[1]});break}};return await s.inputs.openFontPicker({...e,componentStyle:tt.transformFontInternalValue(t)},(...o)=>{a(...o),i?.(r)}),r}}}),gr=fi.build(),mi=()=>{let n=new URLSearchParams(window.location.search);return{environment:{},channel:{observeState:async()=>({disconnect(){}})},essentials:n.has("essentials")?JSON.parse(n.get("essentials")):{}}},yi=()=>({environment:{},channel:{observeState:async()=>({disconnect(){}})}}),De={host:()=>typeof importScripts=="function"?yi():mi(),auth:oi};var Pr=()=>{let n=De.host(),t=De.auth();Ue({auth:t,host:n}).enableContext("module")};export{Pr as enableClient};
6
+ `):"",o=this.errorMessage?`${this.displayName}: ${this.errorMessage}`:this.displayName;return[r,o,e,i].filter(c=>c.trim().length).join(`
7
+ `)}getBreadcrumbs(){let e=this.parentError;return e?[...e.getBreadcrumbs(),this.displayName]:[this.displayName]}withParentError(e){return this.parent=e,this}withMessage(...e){return this.messages.push(e),this}};function E(n){return function t(e,i=""){let s=new n(i,e);return Error.captureStackTrace&&Error.captureStackTrace(s,t),s}}var jt=class extends y{constructor(e,i){super(e,i,"Editor Platform Internal Error");a(this,"state",{})}withHost(e){return this.state={...this.state,host:e},this}},Mn=E(jt);var V=be(kt(),1);var O=class O{constructor(){a(this,"uid",0);a(this,"callbacks",new Map);a(this,"inTransaction",!1);a(this,"isSilent",!1);a(this,"queue",[])}silent(t=!0){this.isSilent=t}startTransaction(){this.inTransaction=!0}commit(){this.inTransaction=!1;let t=this.queue;this.queue=[],this.isSilent||t.forEach(e=>{this.notify(e)})}notify(t){this.isSilent||(this.inTransaction?this.queue.push(t):this.callbacks.forEach(e=>{e(t)}))}subscribe(t){let e=this.uid++;return this.callbacks.set(e,t),()=>{this.callbacks.delete(e)}}notifyWithStep(t,e){this.notify({...t,meta:{...t.meta,step:e}})}async withEvent(t,e){let i=e();if(i&&i.hasOwnProperty("then"))try{return this.notifyWithStep(t,O.EventSteps.Start),i=await i,this.notifyWithStep(t,O.EventSteps.End),i}catch(s){throw this.notifyWithStep({...t,meta:{...t.meta,error:s}},O.EventSteps.Error),s}else return this.notify(t),i}};a(O,"biEvents",{PLATFORM_WORKER_SPAWN:123,PLATFORM_APP_RUNNER_INIT_APP_API:124,PLATFORM_APP_RUNNER_RUN_APP:125,PLATFORM_APP_RUNNER_REMOVE_APP:126,PLATFORM_WORKER_APP_BUNDLE_LOAD:127,PLATFORM_WORKER_APP_BUNDLE_EXECUTE:128,PLATFORM_IFRAME_INIT:129,PLATFORM_APP_API_INIT:130,PLATFORM_APP_API_GET:131}),a(O,"EventSteps",{Start:"start",End:"end",Error:"error"});var Lt=O,W=(n=>(n.WorkerSpawn="WorkerSpawn",n.HostEvent="HostEvent",n.ApplicationsSpecsReceived="ApplicationsSpecsReceived",n.InitApplicationApi="InitApplicationApi",n.RunApplication="RunApplication",n.getApplicationApi="getApplicationApi",n.IframeInit="IframeInit",n))(W||{}),Q=(n=>(n.EditorReady="EditorReady",n))(Q||{});var d=(n=>(n.ApplicationInit="ApplicationInit",n.ApplicationExecute="ApplicationExecute",n.ApplicationRemoved="ApplicationRemoved",n.ApplicationLoad="ApplicationLoad",n.ApplicationApiInit="ApplicationApiInit",n.CustomEvent="CustomEvent",n.HostEvent="HostEvent",n.EditorReady="EditorReady",n))(d||{}),Ft=class{createApplicationRemovedEvent(t){return{type:"ApplicationRemoved",payload:{appDefinitionId:t},meta:{bi:{evid:g.biEvents.PLATFORM_WORKER_SPAWN,appDefId:t}}}}createApplicationLoadEvent(t,e){return{type:"ApplicationLoad",payload:{appDefinitionId:t.appDefinitionId,url:e},meta:{bi:{evid:g.biEvents.PLATFORM_WORKER_APP_BUNDLE_LOAD,appDefId:t.appDefinitionId,appType:t.appType,bundleUrl:e}}}}createApplicationExecuteEvent(t,e){return{type:"ApplicationExecute",payload:{appDefinitionId:t.appDefinitionId,url:e},meta:{bi:{evid:g.biEvents.PLATFORM_WORKER_APP_BUNDLE_EXECUTE,appDefId:t.appDefinitionId,appType:t.appType,bundleUrl:e}}}}createApplicationApiInitEvent(t,e){return{type:"ApplicationApiInit",payload:{appDefinitionId:t},meta:{bi:{evid:g.biEvents.PLATFORM_APP_API_INIT,appDefId:t,scope:e}}}}},g=class extends Lt{constructor(){super(...arguments);a(this,"factories",new Ft)}},pt=class pt{constructor(t){this.events=t}mapToPlatformHostEvent(t){if(typeof t=="string")try{t=JSON.parse(t)}catch{}return{type:W.HostEvent,payload:{type:t.args.eventType,...t.args.eventPayload},meta:{appDefinitionId:t.appDefinitionId??null,intent:t.intent}}}notify(t){let e=this.mapToPlatformHostEvent(t);pt.allowedEvents.includes(e.payload.type)&&this.events.notify(e)}};a(pt,"allowedEvents",[V.EventType.componentSelectionChanged,V.EventType.appInstalled,V.EventType.appUpdateCompleted,V.EventType.removeAppCompleted]);var Re=pt;var tt=n=>`"editor-platform-transport": ${n}`,lt=n=>tt(`[Internal Error] ${n}`),Me="\u0192",Ne="\u2202",Se="_get_",De="_set_",ut="+",xe="-",Ht="\xB7",qt="\xD7",Gt="\xB0",je=n=>n[0]===qt?"":n,Oe=n=>n===null||typeof n>"u"||typeof n=="symbol"||typeof n=="number"||typeof n=="boolean"||typeof n=="function"||typeof n=="string",Qe=n=>!!n&&typeof n=="object"&&!Array.isArray(n)&&!(n instanceof Date)&&!(n instanceof Set)&&!(n instanceof Map),Ze=n=>U(n.split(Ht)),U=n=>n.map(je).filter(Boolean).join(".");function Et(n,t){return{marker:n,...t}}var tn=Et("A",{shouldUse:n=>Array.isArray(n),serialize:(n,t)=>{n.length?n.forEach((e,i)=>{t(`${i}`,e)}):t("",Gt)},deserialize:{create:()=>[],has:(n,t)=>!(typeof n[t]>"u"),append:(n,t,e)=>{n.push(e)}}}),en=Et("M",{shouldUse:n=>n instanceof Map,serialize:(n,t)=>{n.forEach((e,i)=>{t(i,e)})},deserialize:{create:()=>new Map,has:(n,t)=>n.has(t),append:(n,t,e)=>{n.set(t,e)}}}),nn=Et("S",{shouldUse:n=>n instanceof Set,serialize:(n,t)=>{let e=0;n.forEach(i=>{t(`${e++}`,i)})},deserialize:{create:()=>new Set,has:(n,t)=>n.has(t),append:(n,t,e)=>{n.add(e)}}}),Ut=Et("O",{shouldUse:n=>typeof n=="object",serialize:(n,t)=>{let e=i=>{let r=Reflect.ownKeys(i).filter(c=>c!=="constructor").filter(c=>typeof c!="symbol");r.length?r.filter(c=>c!=="constructor").filter(c=>typeof c!="symbol").forEach(c=>{let l=Reflect.get(n,c);t(c,l)}):t("",Gt);let o=Reflect.getPrototypeOf(i);!o||o?.hasOwnProperty("__proto__")||e(o)};e(n)},deserialize:{create:()=>({}),has:(n,t)=>!!n[t],append:(n,t,e)=>{n[t]=e}}}),ke=[tn,nn,en];function sn(n,t){let e=n;for(;e;){let i=Object.getOwnPropertyDescriptor(e,t);if(i)return i;e=Reflect.getPrototypeOf(e)}return null}function rn(n,t){let e=new WeakMap,i=r=>{let o=r.slice(1).map(je).filter(Boolean);return o.slice(1).reduce((c,l)=>({context:c.context[c.pointer],pointer:l}),{context:n,pointer:o[0]})},s=(r,o=[])=>{if(e.has(r)&&e.get(r)?.some(h=>o.join(".").startsWith(h))){t(o,{...i(o),value:"[Circular]"});return}if(r&&!Oe(r)&&(e.has(r)&&e.set(r,[]),e.set(r,[...e.get(r)??[],o.join(".")])),Oe(r)){t(o,{...i(o),value:r});return}let c=ke.find(l=>l.shouldUse(r))??Ut;if(c){c.serialize(r,(l,h)=>{s(h,[...o,`${qt}${c.marker}`,l])});return}};return s(n)}var on=(n,t)=>{if(!Qe(n))throw new Error(tt("only objects are serializable at the root level"));let e={data:[]},i=(r,o)=>{e.data.push([r,o])},s=(r,o)=>{t(Ze(r),(...c)=>o.context[o.pointer](...c)),i(r,Me)};return rn(n,(r,{value:o,context:c,pointer:l})=>{let h=r.slice(1).join(Ht),f=sn(c,l);if(f?.get||f?.set){f?.get&&t(U([...r,Se]),()=>c[l]),f?.set&&t(U([...r,De]),q=>{c[l]=q});let x=[f?.get?ut:xe,f?.set?ut:xe];i(h,`${Ne}${x.join("")}`)}else typeof o=="function"?s(h,{context:c,pointer:l}):i(h,o)}),e},an=(n,t)=>typeof n!="object"||n===null?n:n.data.reduce((e,[i,s])=>{let r=e,o=i.split(Ht),c=Ut,l=null;for(let h=0;h<o.length;h++){let f=o[h];if(f[0]===qt){let x=c.deserialize.has(r,l);if(c=[Ut,...ke].find(q=>q.marker===f[1]),!c)throw new Error(tt(`unknown marker "${f[1]}"`));x||(r[l]=c.deserialize.create()),r=r[l]}else l=f}if(s?.toString()===Gt)return e;if(s?.toString()===Me)c.deserialize.append(r,l,t(U(o)));else if(s?.toString()[0]===Ne){let h=s?.toString()[1]===ut,f=s?.toString()[2]===ut,x={};if(h){let q=t(U([...o,Se]));x.get=()=>q()}f&&(x.set=t(U([...o,De]))),Object.defineProperty(r,l,x)}else c.deserialize.append(r,l,s);return e},{[Symbol("transferred object")]:`${(JSON.stringify(n.data).length/1024).toFixed(2)}Kb`}),Z=(n=>(n.ExposeAPI="ExposeAPI",n.Call="Call",n.Response="Response",n.Cleanup="Cleanup",n))(Z||{}),T=class n{constructor(t,e){a(this,"correlationId",`M-${performance.now()}`);a(this,"parentCorrelationId");this.type=t,this.payload=e}withParentCorrelationId(t){return this.parentCorrelationId=t,this}serialize(t){return JSON.stringify({parentCorrelationId:this.parentCorrelationId,correlationId:this.correlationId,type:this.type,payload:on(this.payload,(e,i)=>{t(this.correlationId,e,i)})})}static fromEvent(t,e){let i=JSON.parse(t);return new n(i.type,an(i.payload,s=>e(i.correlationId,s))).withParentCorrelationId(i.correlationId)}},Kt=class extends T{constructor(t){super("Cleanup",t)}},$t=class extends T{constructor(t){super("Response",t)}},ht=class extends T{constructor(t){super("Response",t)}},Yt=class extends T{constructor(t){super("Call",t)}},Wt=(n,t)=>`${n}_${t}`,yt,At,K,v,zt=class{constructor(t){u(this,yt,new FinalizationRegistry(t=>{this.postMessage(new Kt(t))}));u(this,At,{[Z.Cleanup]:t=>{let e=t.payload.functionMarkerKey,i=t.payload.callId;delete p(this,K)[e],i&&delete p(this,v)[i]},[Z.Response]:async t=>{let e=t.payload.callId,i=t.payload.errorMessage;if(i)if(t.payload.errorStack){let r=new Error(i);r.stack=t.payload.errorStack,p(this,v)[e]?.reject(r)}else p(this,v)[e]?.reject(i);else{let s=t.payload.response;p(this,v)[e]?.resolve(s)}delete p(this,v)[e]},[Z.Call]:async t=>{let e=t.payload.functionMarkerKey,i=p(this,K)[e];if(!i){this.postMessage(new ht({callId:t.payload.callId,errorMessage:tt("function is not available")}));return}try{let s=await i.value(...t.payload.props??[]);this.postMessage(new $t({callId:t.payload.callId,response:s}))}catch(s){this.postMessage(new ht({callId:t.payload.callId,errorMessage:s.message,errorStack:s.stack}))}}});u(this,K,{});u(this,v,{});a(this,"queue",[]);a(this,"isConnected",!1);this.handshake=t}async run(t){return this.handshake.run(t)}registerMessageListener(){if(!this.port)throw new Error(lt("it is not possible to listen on port events because port is not defined"));this.port.onmessage=t=>{this.onMessage(t)}}onMessage(t){let e=T.fromEvent(t.data,(i,s)=>{let r=this.replaceTransferredFunction(i,s);return p(this,yt).register(r,{functionMarkerKey:Wt(i,s)}),r});p(this,At)[e.type]?.(e),this.messageEvents[e.type]?.(e)}postMessage(t){if(!this.port)throw new Error(lt("it is not possible to post message on port because port is not defined"));this.port.postMessage(t.serialize(this.registerTransferredFunction.bind(this)))}registerTransferredFunction(t,e,i){let s=Wt(t,e);p(this,K)[s]={path:e,value:i}}replaceTransferredFunction(t,e){return(...i)=>{let s=`CALL-${crypto.randomUUID()}`;return this.postMessage(new Yt({callId:s,functionMarkerKey:Wt(t,e),props:i})),new Promise((r,o)=>{p(this,v)[s]={resolve:r,reject:o}})}}flush(){this.port&&(this.queue.forEach(t=>{this.postMessage(t)}),this.queue=[])}};yt=new WeakMap,At=new WeakMap,K=new WeakMap,v=new WeakMap;var dt=class extends zt{constructor(e){super(e);a(this,"port");a(this,"messageEvents",{});this.init()}async init(){let e=await this.run();e?(this.port=e,this.registerMessageListener(),this.flush()):console.error(lt("consumer did not receive message port from the host"))}expose(e){if(!e.type)throw new Error(tt('wrong exposed API instance, "type" property is required'));this.queue.push(new T(Z.ExposeAPI,e)),this.flush()}};var Bt=class{constructor(t){this.communicationAPI=t}},M,w,Xt,b,Le,Fe,Jt,P=class P extends Bt{constructor(){super(...arguments);u(this,b);u(this,M);u(this,w,!1);u(this,Xt,null)}run(e){return new Promise(i=>{e?G(this,b,Le).call(this,e,()=>i(void 0)):G(this,b,Fe).call(this,i)})}};M=new WeakMap,w=new WeakMap,Xt=new WeakMap,b=new WeakSet,Le=function(e,i){if(p(this,w))return;if(!e)throw new Error(lt("port should exists on host handshake"));let s=`Host-${performance.now()}`;this.communicationAPI.postMessage(JSON.stringify({memberId:s,type:"Greeting"}),[]),G(this,b,Jt).call(this,s,r=>{var o;if(!p(this,w))switch(r.type){case"Greeting":{this.communicationAPI.postMessage(JSON.stringify({memberId:s,type:"Greeting"}),[]);break}case"RequestPort":{I(this,w,!0),this.communicationAPI.postMessage(JSON.stringify({memberId:s,targetMemberId:r.memberId,type:"Port"}),[e]),(o=p(this,M))==null||o.call(this),i();break}}})},Fe=function(e){if(p(this,w))return;let i=`Consumer-${performance.now()}`;this.communicationAPI.postMessage(JSON.stringify({memberId:i,type:"Greeting"}),[]),G(this,b,Jt).call(this,i,(s,r)=>{var o;if(!p(this,w))switch(s.type){case"Greeting":{this.communicationAPI.postMessage(JSON.stringify({memberId:i,type:"RequestPort"}),[]);break}case"Port":{if(s.targetMemberId!==i)return;I(this,w,!0),(o=p(this,M))==null||o.call(this),e(r);break}}})},Jt=function(e,i){var s;(s=p(this,M))==null||s.call(this),I(this,M,this.communicationAPI.onMessage(r=>{try{let o=typeof r.data=="string"?JSON.parse(r.data):{};if(!o.memberId||o.memberId===e)return;i(o,r.ports[0])}catch(o){console.error(o)}}))},a(P,"iframe",{host:e=>new P({postMessage:(i,s)=>{let r=e.contentWindow;r&&r.postMessage(i,"*",s)},onMessage:i=>{let s=r=>{r.origin!==new URL(e.src).origin||e.contentWindow!==r.source||i(r)};return globalThis.addEventListener("message",s),()=>globalThis.removeEventListener("message",s)}}),consumer:()=>new P({postMessage:e=>{globalThis.parent.postMessage(e,"*")},onMessage:e=>(globalThis.addEventListener("message",e),()=>{globalThis.removeEventListener("message",e)})})}),a(P,"worker",{host:e=>new P({postMessage:(i,s)=>{e.postMessage(i,s)},onMessage:i=>(e.addEventListener("message",i),()=>e.removeEventListener("message",i))}),consumer:()=>new P({postMessage:e=>{globalThis.postMessage(e)},onMessage:e=>(globalThis.addEventListener("message",e),()=>{globalThis.removeEventListener("message",e)})})});var ft=P,mt=class extends dt{constructor(){super(ft.iframe.consumer())}};var It=class extends dt{constructor(){super(ft.worker.consumer())}};var Zt=class{constructor(t){this.platformAppEvents=t}notify(t){switch(t.type){case Q.EditorReady:this.platformAppEvents.notify({...t,type:d.EditorReady});break;case W.HostEvent:this.platformAppEvents.notify({...t,type:d.HostEvent});break}}subscribe(t){this.platformAppEvents.subscribe(e=>{t(e)})}},te=(n=>(n.Frame="PLATFORM_FRAME_API",n.Worker="PLATFORM_WORKER_API",n))(te||{}),ee=class{constructor(t){this.env=t,this.create()}},N=(n=>(n.IncorrectEnvironment="IncorrectEnvironment",n.ClientAuthError="ClientAuthError",n))(N||{}),ne=class extends y{constructor(e,i){super(e,i,"Editor Platform Application Context Error");a(this,"state",{})}withUrl(e){return this.state={...this.state,url:e},this}withAppDefinitionId(e){return this.state={...this.state,appDefinitionId:e},this}},$=E(ne);async function cn(n,t){if(!n?.type)return n;switch(n.type){case"componentSelectionChanged":let e=n.componentRefs||[],i=await Promise.all(e.map(s=>t.components.getComponent(s)));return{type:n.type,components:i};default:return n}}var ie=class{constructor(t,e,i){a(this,"events");a(this,"subscribe");a(this,"commit");a(this,"startTransaction");a(this,"silent");this.appDefinitionId=t,this.privateAPI=i,this.events=e,this.subscribe=e.subscribe.bind(e),this.commit=e.commit.bind(e),this.startTransaction=e.startTransaction.bind(e),this.silent=e.silent.bind(e)}notify(t){this.events.notify({type:t.type,payload:t.payload,meta:{appDefinitionId:this.appDefinitionId}})}notifyCustomEvent(t,e){this.notify({type:d.CustomEvent,payload:{...e,type:t}})}addEventListener(t,e){return this.events.subscribe(async i=>{let s=i.meta?.appDefinitionId===this.appDefinitionId||i.meta?.appDefinitionId===null,r=()=>cn(i.payload,this.privateAPI);t==="*"?e(await r()):i.type===d.CustomEvent?t===i.payload?.type&&!s&&e(await r()):i.type===d.HostEvent&&t===i.payload?.type&&s&&e(await r())})}},pn=200,ln=50,gt=class{constructor(t){a(this,"_resolveContextInjected",()=>{});a(this,"_isInjected",!1);a(this,"key");this.key=`__${t}_CONTEXT_INJECTION_STATUS_KEY`,globalThis[this.key]||(globalThis[this.key]=new Promise(e=>{this._resolveContextInjected=()=>{this._isInjected=!0,e()}}))}isInjected(){return!!this._isInjected}resolveInjected(){this._resolveContextInjected?.()}waitInjected(){return new Promise((t,e)=>{let i=!1,s,r=0,o=()=>{i||(s=setTimeout(()=>{if(r++,r<ln){r%10===0&&console.log($(N.IncorrectEnvironment,"contexts are not resolved, still re-trying").withMessage(`try number ${r}`).message),o();return}if(!i){let l=$(N.IncorrectEnvironment,"contexts are not resolved, threw by timeout");e(l)}},pn))};o(),globalThis[this.key].then(()=>{i=!0,clearTimeout(s),t()})})}},Vt="__ENVIRONMENT_CONTEXT_KEY",vt=(n=>(n.Worker="Worker",n.Frame="Frame",n.ComponentPanel="ComponentPanel",n))(vt||{}),bt=class bt{constructor(t){this.environmentContext=t}static async inject(t){if(globalThis[Vt])throw $(N.IncorrectEnvironment,"Environment context already exists and should not be overridden");globalThis[Vt]=new bt(t),this.status.resolveInjected()}static async getInstance(){return await this.status.waitInjected(),globalThis[Vt]}getPrivateAPI(){return this.environmentContext.privateApi}getEvents(){return this.environmentContext.events}getApplicationAPIs(){return this.environmentContext.applicationAPIs??{}}getEnvironment(){return this.environmentContext.environment}};a(bt,"status",new gt("environment"));var Y=bt,Qt="__APPLICATION_CONTEXT_KEY",Pt=class Pt{constructor(t,e){a(this,"events");this.applicationContext=t,this.environment=e,this.events=new ie(this.applicationContext.appDefinitionId,this.environment.getEvents(),this.environment.getPrivateAPI())}static async inject(t){if((await Y.getInstance()).getEnvironment()!==vt.Frame)throw $(N.IncorrectEnvironment,"Application context can be injected only in frame environment");if(globalThis[Qt])throw $(N.IncorrectEnvironment,"Application context already exists and should not be overridden");globalThis[Qt]=new Pt(t,await Y.getInstance()),this.status.resolveInjected()}static async getInstance(){return(await Y.getInstance()).getEnvironment()===vt.Frame?(await this.status.waitInjected(),globalThis[Qt]):__APPLICATION_CONTEXT_KEY}getAppDefinitionId(){return this.applicationContext.appDefinitionId}getBindings(){return this.applicationContext}getEvents(){return this.events}getPrivateAPI(){return this.environment.getPrivateAPI()}getPrivateApplicationAPI(){let t=this.getAppDefinitionId();if(!t)throw $(N.IncorrectEnvironment,"appDefinitionId is not available");return this.environment.getApplicationAPIs()[t]}};a(Pt,"status",new gt("application"));var se=Pt,un={classic:"https://www.unpkg.com/@wix/design-system/dist/statics/tokens-default.global.css",studio:"https://www.unpkg.com/@wix/design-system/dist/statics/tokens-studio.global.css"},et,nt,Tt,it,wt=class extends ee{constructor(){super(te.Frame);a(this,"type",te.Frame);u(this,et,new g);u(this,nt,new Zt(p(this,et)));u(this,Tt);u(this,it)}create(){if(typeof globalThis?.document?.head?.prepend=="function"){let i=new URL(globalThis.location.href).searchParams.get("editorType")==="CLASSIC"?"classic":"studio",s=un[i],r=s&&!!document.querySelectorAll(`link[type="text/css"][href="${s}"]`)?.length;if(s&&!r){let o=document.createElement("link");o.setAttribute("rel","stylesheet"),o.setAttribute("type","text/css"),o.setAttribute("href",s),globalThis.document.head.prepend(o)}}}async initEnvironment(e){let{applicationPrivateAPI:i,privateAPI:s,appDefinitionId:r}=e;I(this,it,i),I(this,Tt,s),await Y.inject({environment:vt.Frame,privateApi:s,events:p(this,et),applicationAPIs:{[r]:p(this,it)}}),await se.inject({appDefinitionId:r,appDefinitionName:""})}notify(e){p(this,nt).notify(e)}subscribe(e){p(this,nt).subscribe(e)}};et=new WeakMap,nt=new WeakMap,Tt=new WeakMap,it=new WeakMap;var We=be(kt());var oe=class{constructor(t){this.platformAppEvents=t}notify(t){switch(t.type){case Q.EditorReady:this.platformAppEvents.notify({...t,type:d.EditorReady});break;case W.HostEvent:this.platformAppEvents.notify({...t,type:d.HostEvent});break}}subscribe(t){this.platformAppEvents.subscribe(e=>{t(e)})}},k=(n=>(n.IncorrectEnvironment="IncorrectEnvironment",n.ClientAuthError="ClientAuthError",n))(k||{}),ae=class extends y{constructor(e,i){super(e,i,"Editor Platform Application Context Error");a(this,"state",{})}withUrl(e){return this.state={...this.state,url:e},this}withAppDefinitionId(e){return this.state={...this.state,appDefinitionId:e},this}},z=E(ae);async function hn(n,t){if(!n?.type)return n;switch(n.type){case"componentSelectionChanged":let e=n.componentRefs||[],i=await Promise.all(e.map(s=>t.components.getComponent(s)));return{type:n.type,components:i};default:return n}}var ce=class{constructor(t,e,i){a(this,"events");a(this,"subscribe");a(this,"commit");a(this,"startTransaction");a(this,"silent");this.appDefinitionId=t,this.privateAPI=i,this.events=e,this.subscribe=e.subscribe.bind(e),this.commit=e.commit.bind(e),this.startTransaction=e.startTransaction.bind(e),this.silent=e.silent.bind(e)}notify(t){this.events.notify({type:t.type,payload:t.payload,meta:{appDefinitionId:this.appDefinitionId}})}notifyCustomEvent(t,e){this.notify({type:d.CustomEvent,payload:{...e,type:t}})}addEventListener(t,e){return this.events.subscribe(async i=>{let s=i.meta?.appDefinitionId===this.appDefinitionId||i.meta?.appDefinitionId===null,r=()=>hn(i.payload,this.privateAPI);t==="*"?e(await r()):i.type===d.CustomEvent?t===i.payload?.type&&!s&&e(await r()):i.type===d.HostEvent&&t===i.payload?.type&&s&&e(await r())})}},dn=200,fn=50,Ct=class{constructor(t){a(this,"_resolveContextInjected",()=>{});a(this,"_isInjected",!1);a(this,"key");this.key=`__${t}_CONTEXT_INJECTION_STATUS_KEY`,globalThis[this.key]||(globalThis[this.key]=new Promise(e=>{this._resolveContextInjected=()=>{this._isInjected=!0,e()}}))}isInjected(){return!!this._isInjected}resolveInjected(){this._resolveContextInjected?.()}waitInjected(){return new Promise((t,e)=>{let i=!1,s,r=0,o=()=>{i||(s=setTimeout(()=>{if(r++,r<fn){r%10===0&&console.log(z(k.IncorrectEnvironment,"contexts are not resolved, still re-trying").withMessage(`try number ${r}`).message),o();return}if(!i){let l=z(k.IncorrectEnvironment,"contexts are not resolved, threw by timeout");e(l)}},dn))};o(),globalThis[this.key].then(()=>{i=!0,clearTimeout(s),t()})})}},re="__ENVIRONMENT_CONTEXT_KEY",Rt=(n=>(n.Worker="Worker",n.Frame="Frame",n.ComponentPanel="ComponentPanel",n))(Rt||{}),Ot=class Ot{constructor(t){this.environmentContext=t}static async inject(t){if(globalThis[re])throw z(k.IncorrectEnvironment,"Environment context already exists and should not be overridden");globalThis[re]=new Ot(t),this.status.resolveInjected()}static async getInstance(){return await this.status.waitInjected(),globalThis[re]}getPrivateAPI(){return this.environmentContext.privateApi}getEvents(){return this.environmentContext.events}getApplicationAPIs(){return this.environmentContext.applicationAPIs??{}}getEnvironment(){return this.environmentContext.environment}};a(Ot,"status",new Ct("environment"));var L=Ot,_t="__APPLICATION_CONTEXT_KEY",Mt=class Mt{constructor(t,e){a(this,"events");this.applicationContext=t,this.environment=e,this.events=new ce(this.applicationContext.appDefinitionId,this.environment.getEvents(),this.environment.getPrivateAPI())}static async inject(t){if((await L.getInstance()).getEnvironment()!==Rt.Frame)throw z(k.IncorrectEnvironment,"Application context can be injected only in frame environment");if(globalThis[_t])throw z(k.IncorrectEnvironment,"Application context already exists and should not be overridden");globalThis[_t]=new Mt(t,await L.getInstance()),this.status.resolveInjected()}static async getInstance(){return(await L.getInstance()).getEnvironment()===Rt.Frame?(await this.status.waitInjected(),globalThis[_t]):__APPLICATION_CONTEXT_KEY}getAppDefinitionId(){return this.applicationContext.appDefinitionId}getBindings(){return this.applicationContext}getEvents(){return this.events}getPrivateAPI(){return this.environment.getPrivateAPI()}getPrivateApplicationAPI(){let t=this.getAppDefinitionId();if(!t)throw z(k.IncorrectEnvironment,"appDefinitionId is not available");return this.environment.getApplicationAPIs()[t]}};a(Mt,"status",new Ct("application"));var pe=Mt,_=(n=>(n.ApplicationRuntimeError="ApplicationRuntimeError",n.ApplicationCreationError="ApplicationCreationError",n.ApplicationLoadError="ApplicationLoadError",n.ApplicationFetchError="ApplicationFetchError",n.ApplicationExecuteError="ApplicationExecuteError",n.ApplicationWasRemoved="ApplicationWasRemoved",n.UndefinedApiMethod="UndefinedApiMethod",n.ApplicationIsNotMutable="ApplicationIsNotMutable",n.FailedToGetPrivateAPI="FailedToGetPrivateAPI",n.ClientAuthError="ClientAuthError",n))(_||{}),le=class extends y{constructor(e,i){super(e,i,"Editor Platform Application Error");a(this,"state",{})}withUrl(e){return this.state={...this.state,url:e},this}withAppDefinitionId(e){return this.state={...this.state,appDefinitionId:e},this}withApiMethod(e){return this.state={...this.state,apiMethod:e},this}withApiType(e){return this.state={...this.state,apiType:e},this}},S=E(le),mn="__APPLICATION_REGISTRY_KEY";async function In(n,t,e){let i=new Function(_t,mn,e),s,r=o=>{if(s)throw S(_.ApplicationExecuteError,"Application registry called more than once").withAppDefinitionId(t.appDefinitionId);if(o.type!==t.type)throw S(_.ApplicationExecuteError,"Application has different type").withMessage("expected type",t.type).withMessage("received type",o.type);s=o};try{let o={...t};i.call(new pe(o,await L.getInstance()),r)}catch(o){throw S(_.ApplicationExecuteError,o.message).withAppDefinitionId(t.appDefinitionId).withParentError(o)}return new Promise((o,c)=>{let l=n.subscribe(h=>{let f=setTimeout(()=>{clearTimeout(f),l(),s||c(S(_.ApplicationExecuteError,"Application registry was not called, threw by timeout").withAppDefinitionId(t.appDefinitionId))},5e3);h.type===d.ApplicationInit&&h.meta.appDefinitionId===t.appDefinitionId&&(clearTimeout(f),l(),s||c(S(_.ApplicationExecuteError,"Application registry was not called").withAppDefinitionId(t.appDefinitionId)),o({instance:s}))})})}var D,st,m,ue=class{constructor(t,e){u(this,D,{});u(this,st);u(this,m);I(this,st,t),I(this,m,e),p(this,m).subscribe(i=>{switch(i.type){case d.HostEvent:{i.payload.type===We.EventType.removeAppCompleted&&p(this,m).withEvent(p(this,m).factories.createApplicationRemovedEvent(i.payload.appDefinitionId),()=>this.removeApplication(i.payload.appDefinitionId));break}}})}async runApplication(t){let e=await this.loadApplication(t),i=await this.executeApplication(t,e);return this.setApplication(t.appDefinitionId,i),i}setApplication(t,e){p(this,D)[t]=e,p(this,m).withEvent(p(this,m).factories.createApplicationApiInitEvent(t,e?.api?.private?"private":"public"),()=>{p(this,st).applicationManager.setApplication(e)})}getApplication(t){return p(this,D)[t]}getAppDefinitionIds(){return Object.keys(p(this,D))}removeApplication(t){delete p(this,D)[t]}async loadApplication(t){let e=t.url;return p(this,m).withEvent(p(this,m).factories.createApplicationLoadEvent(t,e),async()=>{try{return await this.loadApplicationBundle(e)}catch(i){throw S(_.ApplicationLoadError).withUrl(e).withAppDefinitionId(t.appDefinitionId).withParentError(i)}})}async loadApplicationBundle(t){let e=await fetch("url",{method:"GET"});if(!(e.status>=200&&e.status<=299))throw S(_.ApplicationFetchError).withUrl(t);return e.text()}async executeApplication(t,e){return p(this,m).withEvent(p(this,m).factories.createApplicationExecuteEvent(t,t.url),async()=>{let{instance:i}=await In(p(this,m),t,e);return i})}};D=new WeakMap,st=new WeakMap,m=new WeakMap;var he=(n=>(n.Frame="PLATFORM_FRAME_API",n.Worker="PLATFORM_WORKER_API",n))(he||{}),de=class{constructor(t){this.env=t,this.create()}},B,rt,ot,j,at,xt=class extends de{constructor(){super(he.Worker);a(this,"type",he.Worker);u(this,B,new g);u(this,rt,new oe(p(this,B)));u(this,ot,null);u(this,j);u(this,at,[])}create(){}async initEnvironment(e){let{buildPrivateAPI:i}=e;I(this,j,await i({type:"EDITOR_ADDON"})),await L.inject({environment:Rt.Worker,events:p(this,B),privateApi:p(this,j),applicationAPIs:{}}),I(this,ot,new ue(p(this,j),p(this,B))),p(this,at).forEach(s=>s(this))}async notify(e){await this.waitReady(),p(this,rt).notify(e)}subscribe(e){p(this,rt).subscribe(e)}async runApplication(e){await this.waitReady(),await p(this,ot).runApplication(e)}waitReady(){return new Promise(e=>{if(p(this,j))return e(this);p(this,at).push(e)})}};B=new WeakMap,rt=new WeakMap,ot=new WeakMap,j=new WeakMap,at=new WeakMap;var F=(n=>(n.IncorrectEnvironment="IncorrectEnvironment",n.ClientAuthError="ClientAuthError",n))(F||{}),Ie=class extends y{constructor(e,i){super(e,i,"Editor Platform Application Context Error");a(this,"state",{})}withUrl(e){return this.state={...this.state,url:e},this}withAppDefinitionId(e){return this.state={...this.state,appDefinitionId:e},this}},X=E(Ie);async function yn(n,t){if(!n?.type)return n;switch(n.type){case"componentSelectionChanged":let e=n.componentRefs||[],i=await Promise.all(e.map(s=>t.components.getComponent(s)));return{type:n.type,components:i};default:return n}}var ye=class{constructor(t,e,i){a(this,"events");a(this,"subscribe");a(this,"commit");a(this,"startTransaction");a(this,"silent");this.appDefinitionId=t,this.privateAPI=i,this.events=e,this.subscribe=e.subscribe.bind(e),this.commit=e.commit.bind(e),this.startTransaction=e.startTransaction.bind(e),this.silent=e.silent.bind(e)}notify(t){this.events.notify({type:t.type,payload:t.payload,meta:{appDefinitionId:this.appDefinitionId}})}notifyCustomEvent(t,e){this.notify({type:d.CustomEvent,payload:{...e,type:t}})}addEventListener(t,e){return this.events.subscribe(async i=>{let s=i.meta?.appDefinitionId===this.appDefinitionId||i.meta?.appDefinitionId===null,r=()=>yn(i.payload,this.privateAPI);t==="*"?e(await r()):i.type===d.CustomEvent?t===i.payload?.type&&!s&&e(await r()):i.type===d.HostEvent&&t===i.payload?.type&&s&&e(await r())})}},An=200,En=50,Nt=class{constructor(t){a(this,"_resolveContextInjected",()=>{});a(this,"_isInjected",!1);a(this,"key");this.key=`__${t}_CONTEXT_INJECTION_STATUS_KEY`,globalThis[this.key]||(globalThis[this.key]=new Promise(e=>{this._resolveContextInjected=()=>{this._isInjected=!0,e()}}))}isInjected(){return!!this._isInjected}resolveInjected(){this._resolveContextInjected?.()}waitInjected(){return new Promise((t,e)=>{let i=!1,s,r=0,o=()=>{i||(s=setTimeout(()=>{if(r++,r<En){r%10===0&&console.log(X(F.IncorrectEnvironment,"contexts are not resolved, still re-trying").withMessage(`try number ${r}`).message),o();return}if(!i){let l=X(F.IncorrectEnvironment,"contexts are not resolved, threw by timeout");e(l)}},An))};o(),globalThis[this.key].then(()=>{i=!0,clearTimeout(s),t()})})}},fe="__ENVIRONMENT_CONTEXT_KEY",Ae=(n=>(n.Worker="Worker",n.Frame="Frame",n.ComponentPanel="ComponentPanel",n))(Ae||{}),St=class St{constructor(t){this.environmentContext=t}static async inject(t){if(globalThis[fe])throw X(F.IncorrectEnvironment,"Environment context already exists and should not be overridden");globalThis[fe]=new St(t),this.status.resolveInjected()}static async getInstance(){return await this.status.waitInjected(),globalThis[fe]}getPrivateAPI(){return this.environmentContext.privateApi}getEvents(){return this.environmentContext.events}getApplicationAPIs(){return this.environmentContext.applicationAPIs??{}}getEnvironment(){return this.environmentContext.environment}};a(St,"status",new Nt("environment"));var C=St,me="__APPLICATION_CONTEXT_KEY",Dt=class Dt{constructor(t,e){a(this,"events");this.applicationContext=t,this.environment=e,this.events=new ye(this.applicationContext.appDefinitionId,this.environment.getEvents(),this.environment.getPrivateAPI())}static async inject(t){if((await C.getInstance()).getEnvironment()!==Ae.Frame)throw X(F.IncorrectEnvironment,"Application context can be injected only in frame environment");if(globalThis[me])throw X(F.IncorrectEnvironment,"Application context already exists and should not be overridden");globalThis[me]=new Dt(t,await C.getInstance()),this.status.resolveInjected()}static async getInstance(){return(await C.getInstance()).getEnvironment()===Ae.Frame?(await this.status.waitInjected(),globalThis[me]):__APPLICATION_CONTEXT_KEY}getAppDefinitionId(){return this.applicationContext.appDefinitionId}getBindings(){return this.applicationContext}getEvents(){return this.events}getPrivateAPI(){return this.environment.getPrivateAPI()}getPrivateApplicationAPI(){let t=this.getAppDefinitionId();if(!t)throw X(F.IncorrectEnvironment,"appDefinitionId is not available");return this.environment.getApplicationAPIs()[t]}};a(Dt,"status",new Nt("application"));var H=Dt,Ee=class extends y{constructor(e,i){super(e,i,"Auth Strategy Error");a(this,"state",{})}withAppDefinitionId(e){return this.state={...this.state,appDefinitionId:e},this}},Ue=E(Ee),gn=()=>({getAuthHeaders:async()=>{let n=await H.getInstance(),t=n.getPrivateAPI(),e=n.getBindings();if(!e.appDefinitionId)throw Ue("EmptyAppDefinitionId");let i=await t.info.getAppInstance(e.appDefinitionId);if(i===void 0)throw Ue("EmptyAppAuthInstance").withAppDefinitionId(e.appDefinitionId);return{headers:{Authorization:i}}}}),Ke="_EP_TRANSPORT_INIT_KEY";globalThis[Ke]||(typeof importScripts=="function"?new It().expose(new xt):new mt().expose(new wt),globalThis[Ke]=!0);var R=class{constructor(t,e){this.namespace=t,this.shape=e}build(){return Te(Object.fromEntries(Object.entries(this.shape).map(([t,e])=>[t,i=>i?.environmentContext&&i?.applicationContext?async(...s)=>{let[r,o]=await Promise.all([i.environmentContext,i.applicationContext]);return e({environmentContext:r,applicationContext:o})(...s)}:async(...s)=>{let[r,o]=await Promise.all([C.getInstance(),H.getInstance()]);return e({environmentContext:r,applicationContext:o})(...s)}])))}},vn=new R("application",{getPrivateAPI({applicationContext:n}){return async()=>n.getPrivateApplicationAPI()},getPublicAPI({applicationContext:n}){return async t=>n.getPrivateAPI().applicationManager.getPublicApplicationAPI(t)},getAppInstance({applicationContext:n}){return async()=>{let t=n.getPrivateAPI(),e=n.getBindings();return t.info.getAppInstance(e.appDefinitionId)}}}),ti=vn.build(),wn=new R("components",{getSelectedComponents({applicationContext:n}){return async()=>{let t=n.getPrivateAPI(),e=await t.components.getSelectedComponents();return Promise.all(e.map(i=>t.components.getComponent(i)))}}}),bn=wn.build(),Pn=new R("events",{addEventListener({applicationContext:n}){return async(t,e)=>n.getEvents().addEventListener(t,e)}}),ei=Pn.build(),Tn=new R("info",{getViewMode({applicationContext:n}){return async()=>n.getPrivateAPI().info.getViewMode()},getLanguageCode({applicationContext:n}){return async()=>n.getPrivateAPI().info.getLanguageCode()}}),ni=Tn.build(),Ye=(n=>(n.UndefinedCompRef="UndefinedCompRef",n))(Ye||{}),ge=class extends y{constructor(t,e){super(t,e,"Widget Error")}},_n=E(ge),$e=async()=>{let t=(await bn.getSelectedComponents())[0]?.compRef;if(!t)throw _n(Ye.UndefinedCompRef);return t},Cn=new R("widget",{getProp({applicationContext:n}){return async t=>{let e=n.getPrivateAPI(),i=await $e();return e.customElement.getAttribute(i,t)}},setProp({applicationContext:n}){return async(t,e)=>{let i=n.getPrivateAPI(),s=await $e();await i.customElement.setAttribute(s,t,e)}}}),ii=Cn.build(),J={transformFontInternalValue:n=>{if(n){let{theme:t,...e}=J.normalize(n);return{...e,editorKey:t}}else return{editorKey:"font_7",family:"helvetica-w01-roman",size:16,style:{}}},transformFontPublicValue:n=>n?{...J.normalize(n),theme:n.editorKey}:null,normalize:({theme:n,editorKey:t,preset:e,...i})=>({...i,theme:n??t})},Rn=new R("inputs",{selectColor({applicationContext:n}){return async(t,e)=>{let i=n.getPrivateAPI(),s=t?{color:t.color,theme:t?.theme}:null;return await i.inputs.openColorPicker({color:t?.theme?t.theme:t?.color},({color:r,theme:o})=>{let c={color:r,theme:o};s=c,e?.(c)}),s}},selectFont({applicationContext:n}){return async(t,e,i)=>{let s=n.getPrivateAPI(),r=J.transformFontPublicValue(t),o=(...c)=>{switch(r||(r=J.transformFontPublicValue(J.transformFontInternalValue(t))),c[0]){case"theme":Object.assign(r,{theme:c[1]});break;case"size":Object.assign(r,{size:c[1]});break;case"bold":Object.assign(r,{style:{...r.style,bold:c[1]}});break;case"italic":Object.assign(r,{style:{...r.style,italic:c[1]}});break;case"underline":Object.assign(r,{style:{...r.style,underline:c[1]}});break;case"family":Object.assign(r,{family:c[1]});break}};return await s.inputs.openFontPicker({...e,componentStyle:J.transformFontInternalValue(t)},(...c)=>{o(...c),i?.(r)}),r}}}),si=Rn.build(),xn=()=>{let n=new URLSearchParams(window.location.search);return{environment:{},channel:{observeState:async()=>({disconnect(){}})},environmentContext:C.getInstance(),applicationContext:H.getInstance(),essentials:n.has("essentials")?JSON.parse(n.get("essentials")):{}}},On=()=>({environment:{},channel:{observeState:async()=>({disconnect(){}})},environmentContext:C.getInstance(),applicationContext:H.getInstance()}),ve={host:()=>typeof importScripts=="function"?On():xn(),auth:gn};var pi=()=>{let n=ve.host(),t=ve.auth();Pe({auth:t,host:n}).enableContext("module")};export{pi as enableClient};
8
8
  //# sourceMappingURL=editor.js.map