//esm-shim-webpack-plugin-imports !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("lodash"));else if("function"==typeof define&&define.amd)define(["lodash"],t);else{var n="object"==typeof exports?t(require("lodash")):t(e._);for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}("undefined"!=typeof self?self:this,e=>(()=>{"use strict";var t={2048:t=>{t.exports=e}},n={};function o(e){var i=n[e];if(void 0!==i)return i.exports;var r=n[e]={exports:{}};return t[e](r,r.exports,o),r.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};o.r(i),o.d(i,{accessibility:()=>Ee,account:()=>Se,application:()=>D,builder:()=>Fe,components:()=>P,controllers:()=>M,environment:()=>Me,errors:()=>be,fonts:()=>W,history:()=>N,info:()=>B,language:()=>G,menu:()=>L,mobile:()=>Ae,pages:()=>j,pagesGroup:()=>q,permissions:()=>Ne,responsiveLayout:()=>Te,routers:()=>Y,siteMembers:()=>K,siteSegments:()=>X,theme:()=>Z,tpa:()=>Pe,transactions:()=>We,vfs:()=>Ce,waitForChangesApplied:()=>l,wixapps:()=>Oe});var r=o(2048),p=o.n(r);const a="registerError_",s=Object.freeze({EXTENSION:"extension",DEFAULT:"default"}),c=e=>e.context===s.EXTENSION;function d(e,t,n){let{isRequired:o}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{isRequired:!1};const i=c(e)?null==t?void 0:t[n]:null==e?void 0:e[n];if(o&&void 0===i)throw new Error("option ".concat(n," is required"));return i}const u=(e,t)=>new Promise(n=>{e.waitForChangesApplied(()=>n(t))}),l=(e,t)=>e.waitForChangesApplied(t),f=(e,t,n)=>t.runInContext(e,n),g=(e,t)=>!!c(e)||t===e.appDefinitionId,m=(e,t)=>{if(t.mobile){const n=e.variants.mobile.get();return{[n.id]:t.mobile}}},I={changeVariation:function(e,t,n,o){let{componentRef:i,variationId:r}=o;return new Promise(n=>{f(t.appDefinitionId,e,()=>e.appStudioWidgets.changeVariation(i,r,n))})},changePreset:function(e,t,n,o){let{componentRef:i,stylePresetId:r,layoutPresetId:p}=o;return f(t.appDefinitionId,e,()=>e.appStudioWidgets.presets.change(i,r,p))},addWidget:function(e,t,n,o){const{appDefinitionId:i,widgetId:r,scopedPresets:p,presetIds:a,layouts:s,...c}=o,u=o.containerRef,l="RefComponentProperties";function g(e,t){if(!e.desktop&&!e.mobile)return{};const{mobile:n,desktop:o}=e;return{...o?{layout:{...t,width:o.width.value,height:o.height.value}}:{layout:t},...o?{props:{minHeight:o.height.value,type:l}}:{},...n?{mobileHints:{type:"MobileHints",recommendedHeight:n.height.value,recommendedWidth:n.width.value,props:{minHeight:n.height.value,type:l}}}:{}}}return new Promise((n,s)=>{const l=d(t,{appDefinitionId:i},"appDefinitionId",{isRequired:!0});f(t.appDefinitionId,e,()=>{var t;return e.appStudioWidgets.addWidget(l,r,{...c,containerRef:u,presets:null!==(t=null==p?void 0:p.desktop)&&void 0!==t?t:a,...o.dimensionsByDevice?g(o.dimensionsByDevice,o.layout):{},scopedPresets:m(e,null!=p?p:{}),onSuccess:async e=>{n(e)},onError:s})})})},getPreset:function(e,t,n,o){let{componentRef:i}=o;return f(t.appDefinitionId,e,()=>e.appStudioWidgets.presets.get(i))},props:{get:function(e,t,n,o){let{widgetRef:i}=o;return f(t.appDefinitionId,e,()=>e.appStudioWidgets.props.get(i))},set:function(e,t,n,o){let{widgetRef:i,newProps:r,shouldFetchData:p}=o;return f(t.appDefinitionId,e,()=>e.appStudioWidgets.props.set(i,r,{shouldFetchData:p}))}},designVariables:{get:function(e,t,n,o){let{widgetRef:i}=o;return f(t.appDefinitionId,e,()=>e.appStudioWidgets.designVariables.get(i,i))},set:function(e,t,n,o){let{widgetRef:i,newValues:r}=o;return f(t.appDefinitionId,e,()=>e.appStudioWidgets.designVariables.set(i,i,r))}}},D={install:function(e,t,n,o){return new Promise((n,i)=>{const{appDefinitionId:r,originInfo:a,editorType:s,sourceTemplateId:c,isSilent:d}=o;if(!r)return void i(new Error("options must contain appDefinitionId"));const u={appDefinitionId:p().get(t,"appDefinitionId")},l={origin:{initiator:"APP",type:s,info:a?p().assign({},a,u):u}};c&&(l.sourceTemplateId=c),d&&(l.isSilent=!0),f(t.appDefinitionId,e,()=>e.platform.provision(r,l).then(n,i))})},uninstall:function(e,t,n){let{appDefinitionId:o}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise(n=>{const i=d(t,{appDefinitionId:o},"appDefinitionId",{isRequired:!0});f(t.appDefinitionId,e,()=>e.platform.uninstall(i)),e.waitForChangesApplied(n)})},isApplicationInstalled:function(e,t,n,o){let{appDefinitionId:i}=o;return new Promise((n,o)=>{i?f(t.appDefinitionId,e,()=>n(e.platform.isAppActive(i))):o(new Error("options must contain appDefinitionId"))})},registerToCustomEvents:function(e,t,n,o){let{eventTypes:i,appDefinitionId:r}=o;const p=d(t,{appDefinitionId:r},"appDefinitionId",{isRequired:!0});return f(t.appDefinitionId,e,()=>e.platform.registerAppToCustomEventsByAppDefId(p,i))},getAppDataByAppDefId:function(e,t,n,o){return f(t.appDefinitionId,e,()=>e.platform.getAppDataByAppDefId(o))},appStudioWidgets:I,sessionState:{update:function(e,t,n,o){let{stateMap:i}=o;return f(t.appDefinitionId,e,()=>e.platform.sessionState.update(i)),u(e)}},livePreview:{refresh:function(e,t,n){let{source:o,shouldFetchData:i,appDefinitionId:r}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const p=d(t,{appDefinitionId:r},"appDefinitionId",{isRequired:!0});return e.platform.livePreview.refresh({apps:[p],source:o||"EditorSDK",shouldFetchData:i})}}},y=(e,t)=>"wysiwyg.viewer.components.RefComponent"===e.components.getType(t),v={removeAllOverrides:function(e,t,n,o){let{componentRef:i}=o;return new Promise((n,o)=>{if(y(e,i))if(g(t,e.components.data.get(i).appDefinitionId))try{f(t.appDefinitionId,e,()=>{e.components.refComponents.removeAllOverrides(i),l(e,()=>n())})}catch(e){o(e)}else o("The component with id '".concat(i.id,"' doesn't belong to this app."));else o("This method remove overrides only for a refComponent.")})},removeOverrides:function(e,t,n,o){let{componentRef:i,...r}=o;return new Promise((n,o)=>{if(y(e,i))if(g(t,e.components.data.get(i).appDefinitionId))try{f(t.appDefinitionId,e,()=>{e.components.refComponents.removeOverrides(i,r),l(e,()=>n())})}catch(e){o(e)}else o("The component with id '".concat(i.id,"' doesn't belong to this app."));else o("This method remove overrides only for a refComponent.")})},getAllAppRefComponents:function(e,t,n){let{appDefinitionId:o}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=e.deprecatedOldBadPerformanceApis.components.getAllComponentsFromFull(),r=d(t,{appDefinitionId:o},"appDefinitionId",{isRequired:!0});return i.filter(t=>{const n=e.components.data.get(t)||{};return"WidgetRef"===n.type&&n.appDefinitionId===r})},isRefComponentCollapsed:function(e,t,n,o){let{componentRef:i}=o;return"COLLAPSED"===p().get(e.components.properties.get(i),"ghost")},getCollapsedRefComponents:function(e,t,n,o){let{componentRef:i,includeInnerCollapsed:r}=o;if(!y(e,i))throw new Error("This method get collapsed components only for a refComponent.");if(!g(t,e.components.data.get(i).appDefinitionId))throw new Error("The component with id '".concat(i.id,"' doesn't belong to this app."));const p=[i];if(r){const t=e.deprecatedOldBadPerformanceApis.components.getChildren(i,!0);p.push(...t.filter(t=>y(e,t)))}return p.reduce((t,n)=>{const o=e.components.refComponents.getAllGhostRefComponentsPrimaryConnection(n);return o&&Object.keys(o).forEach(i=>{var r;t.push({refHost:n,componentRef:e.components.get.byId(i),role:null===(r=o[i])||void 0===r?void 0:r.role})}),t},[])},collapseReferredComponent:function(e,t,n,o){let{componentRef:i}=o;return new Promise((n,o)=>{if(!e.components.refComponents.isReferredComponent(i))return o("The component with id '".concat(i.id,"' isn't a referred component."));const r=e.components.refComponents.getRefHostCompPointer(i);if(!g(t,e.components.data.get(r).appDefinitionId))return o("The component with id '".concat(i.id,"' doesn't belong to this app."));try{f(t.appDefinitionId,e,()=>e.components.remove(i)),e.waitForChangesApplied(n)}catch(e){return o(e)}})},getTemplateComponent:(e,t,n,o)=>{let{componentRef:i}=o;return e.components.refComponents.getTemplateCompPointer(i)},getHostComponentRef:(e,t,n,o)=>{let{componentRef:i}=o;return e.components.refComponents.getRefHostCompPointer(i)},expandReferredComponent:function(e,t,n,o){let{componentRef:i}=o;return new Promise((n,o)=>{if(!e.components.refComponents.isReferredComponent(i))return o("The component with id '".concat(i.id,"' isn't a referred component."));const r=e.components.refComponents.getRefHostCompPointer(i);if(!g(t,e.components.data.get(r).appDefinitionId))return o("The component with id '".concat(i.id,"' doesn't belong to this app."));try{f(t.appDefinitionId,e,()=>e.components.refComponents.unGhostifyComponent(i)),e.waitForChangesApplied(n)}catch(e){return o(e)}})},hasOverrides:function(e,t,n,o){let{componentRef:i}=o;return new Promise((n,o)=>{if(y(e,i))if(g(t,e.components.data.get(i).appDefinitionId)){try{f(t.appDefinitionId,e,()=>e.components.refComponents.hasOverridesToBeRemoved(i))}catch(e){o(e)}n()}else o("The component with id '".concat(i.id,"' doesn't belong to this app."));else o("This method checks overrides only for a refComponent.")})}},R="layoutResponsive",h=new Set,P={add:function(e,t,n){let{componentDefinition:o,pageRef:i,customId:r,optionalIndex:a}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((n,s)=>{p().has(o,"componentType")||s(new Error("componentDefinition must contain componentType"));const c=e.components.buildDefaultComponentStructure(o.componentType);p().merge(c,o);const d=f(t.appDefinitionId,e,()=>e.components.add(i,c,r,a));l(e,()=>n(d))})},addAndAdjustLayout:function(e,t,n){let{componentDefinition:o,pageRef:i,customId:r,optionalIndex:a}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((n,s)=>{p().has(o,"componentType")||s(new Error("componentDefinition must contain componentType"));const c=e.components.buildDefaultComponentStructure(o.componentType);p().merge(c,o);const d=f(t.appDefinitionId,e,()=>e.components.addAndAdjustLayout(i,c,r,a));l(e,()=>n(d))})},remove:function(e,t,n,o){let{componentRef:i}=o;e.viewMode.get()===e.viewMode.VIEW_MODES.MOBILE?f(t.appDefinitionId,e,()=>e.mobile.hiddenComponents.hide(i)):f(t.appDefinitionId,e,()=>e.components.remove(i))},get:function(e,t,n,o){let{componentRefs:i,properties:r=[],appDefinitionId:a}=o;const s=p().compact(p().isArray(i)?i:[i]);return p().transform(s,(n,o)=>{const i={componentRef:o},s=new Map([["componentType",()=>e.components.getType(o)],["props",()=>e.components.properties.get(o)],["data",()=>e.components.data.get(o)],["layout",()=>e.components.layout.get(o)],["sdkType",()=>e.wixCode.getCompSdkType(o)],["connections",()=>e.platform.controllers.connections.get(o)],["style",()=>e.components.style.get(o)],["role",()=>{const n=e.platform.controllers.connections.get(o),i=d(t,{appDefinitionId:a},"appDefinitionId",{isRequired:!0}),r=p().find(n,t=>{const n=e.components.data.get(t.controllerRef);return((null==n?void 0:n.appDefinitionId)||(null==n?void 0:n.applicationId))===i});return p().get(r,"role")}]]),c=[];if(r.forEach(e=>{s.has(e)?i[e]=s.get(e)():c.push(e)}),c.length){const t=1===c.length&&c[0]===R;if(h.has(o.id)&&t)t&&(i[R]=void 0);else{const t=!c.includes("components"),n=e.components.serialize(o,null,t);(null==(u=n)?void 0:u[R])||h.add(o.id),p().assign(i,p().pick(n,c))}}var u;n.push(i)},[])},serialize:function(e,t,n,o){let{componentRef:i,maintainIdentifiers:r=!1}=o;return e.components.serialize(i,null,!1,r)},isRepeatedComponent:function(e,t,n,o){let{componentRef:i}=o;return e.components.is.repeatedComponent(i)},migrate:function(e,t,n,o){let{componentRef:i,componentDefinition:r}=o;return e.components.migrate(i,r)},getAllComponents:function(e){return e.deprecatedOldBadPerformanceApis.components.getAllComponents()},getPage:function(e,t,n,o){let{componentRef:i}=o;return e.components.getPage(i)},getById:function(e,t,n,o){let{id:i}=o;return e.components.get.byId(i)},getChildren:function(e,t,n,o){let{componentRef:i,recursive:r=!1,fromDocument:p=!1}=o;return(p?e.deprecatedOldBadPerformanceApis.components.getChildrenFromFull:e.deprecatedOldBadPerformanceApis.components.getChildren)(i,r)},getAncestors:function(e,t,n,o){let{componentRef:i}=o;return e.deprecatedOldBadPerformanceApis.components.getAncestors(i)},getType:function(e,t,n,o){let{componentRef:i}=o;return e.components.getType(i)},isFullWidth:function(e,t,n,o){let{componentRef:i}=o;if(!i)throw new Error("options must include componentRef property");return e.components.is.fullWidth(i)},setFullWidth:function(e,t,n,o){let{componentRef:i,fullWidth:r,margins:p}=o;if(!i)throw new Error("options must include componentRef property");if("boolean"!=typeof r)throw new Error("options must include fullWidth boolean property");return new Promise(t=>{if(r){const{left:t,right:n}=p||{},o={left:Object.assign({vw:0},t),right:Object.assign({vw:0},n)};e.components.layout.setDock(i,o)}else e.components.layout.unDock(i);l(e,t)})},buildDefaultComponentStructure:function(e,t,n,o){let{componentType:i}=o;return e.components.buildDefaultComponentStructure(i)},findAllByType:function(e,t,n,o){let{componentType:i}=o;return e.components.get.byType(i)},code:{getNickname:function(e,t,n,o){let{componentRef:i}=o;if(!i)throw new Error("options must include componentRef property");return e.components.code.getNickname(i)},setNickname:function(e,t,n,o){let{componentRef:i,nickname:r}=o;if(!i)throw new Error("options must include componentRef property");if(!r)throw new Error("options must include nickname property");const p=e.components.code.validateNickname(i,r);if("VALID"!==p)throw new Error(p);return e.components.code.setNickname(i,r)}},behaviors:{getRuntimeState:function(e,t,n,o){let{componentRef:i}=o;return e.components.behaviors.getRuntimeState(i)},execute:function(e,t,n,o){let{componentRef:i,behaviorName:r,behaviorParams:p}=o;return f(t.appDefinitionId,e,()=>e.components.behaviors.execute(i,r,p)),u(e)},get:function(e,t,n,o){let{componentRef:i}=o;return e.components.behaviors.get(i)},update:function(e,t,n,o){let{componentRef:i,behavior:r}=o;return e.components.behaviors.update(i,r)},remove:function(e,t,n,o){let{componentRef:i,behaviorName:r,actionName:p}=o;return e.components.behaviors.remove(i,r,p)}},properties:{get:function(e,t,n,o){let{componentRef:i}=o;return e.components.properties.get(i)},update:function(e,t,n,o){let{componentRef:i,props:r}=o;f(t.appDefinitionId,e,()=>e.components.properties.update(i,r))}},data:{get:function(e,t,n,o){let{componentRef:i}=o;return e.components.data.get(i)},update:function(e,t,n,o){let{componentRef:i,data:r}=o;f(t.appDefinitionId,e,()=>e.components.data.update(i,r))},updateInLanguage:function(e,t,n,o){let{componentRef:i,data:r,languageCode:p}=o;f(t.appDefinitionId,e,()=>e.components.data.updateInLang(i,r,p))}},layout:{get:function(e,t,n,o){let{componentRef:i}=o;return e.components.layout.get(i)},update:function(e,t,n,o){let{componentRef:i,layout:r}=o;f(t.appDefinitionId,e,()=>e.components.layout.update(i,r))}},style:{get:function(e,t,n,o){let{componentRef:i}=o;return e.components.style.get(i)},update:function(e,t,n,o){let{componentRef:i,style:r}=o;f(t.appDefinitionId,e,()=>e.components.style.setCustom(i,null,r))},updateFull:function(e,t,n,o){let{componentRef:i,style:r}=o;f(t.appDefinitionId,e,()=>e.components.style.update(i,r))},getStructuredStyle:function(e,t,n,o){let{componentRef:i}=o;return e.components.style.getObjectBasedStyle(i)},setStructuredStyle:function(e,t,n,o){let{componentRef:i,style:r}=o;f(t.appDefinitionId,e,()=>e.components.style.setObjectBasedStyle(i,{type:"ObjectBasedStyle",style:r}))}},stylable:{mergeStylesheets:function(e,t,n){return e.components.stylable.mergeStylesheets(t,n)},update:function(e,t,n,o){let{componentRef:i,style:r}=o;f(t.appDefinitionId,e,()=>e.components.stylable.update(i,r))}},design:{get:function(e,t,n,o){let{componentRef:i}=o;return e.components.design.get(i)},update:function(e,t,n,o){let{componentRef:i,designItem:r,design:p,retainCharas:a}=o;f(t.appDefinitionId,e,()=>e.components.design.update(i,p||r,a))}},modes:{showComponentOnlyOnPagesGroup:function(e,t,n,o){let{componentPointer:i,componentRef:r=i,pagesGroupPointer:p}=o;f(t.appDefinitionId,e,()=>e.components.modes.showComponentOnlyOnPagesGroup(r,p))},activateComponentMode:function(e,t,n,o){let{componentRef:i,modeId:r}=o;f(t.appDefinitionId,e,()=>e.components.modes.activateComponentMode(i,r))},applyCurrentToAllModes:function(e,t,n,o){let{componentRef:i}=o;f(t.appDefinitionId,e,()=>e.components.modes.applyCurrentToAllModes(i))},getModes:function(e,t,n,o){let{componentRef:i}=o;return e.components.modes.getModes(i)}},arrangement:{moveToIndex:function(e,t,n,o){let{componentRef:i,index:r}=o;return f(t.appDefinitionId,e,()=>e.components.arrangement.moveToIndex(i,r))},getIndex:function(e,t,n,o){let{componentRef:i}=o;if(!i)throw new Error("options must include componentRef property");return e.components.arrangement.getCompIndex(i)}},refComponents:v},w="platform.components.AppWidget",C={SITE_HEADER:!0,SITE_FOOTER:!0},A=(e,t)=>p()(t).thru(e.components.getAncestors).reverse().tail().map("id").head();function T(e,t,n,o,i){let{appDefinitionId:r}=t;const p=n?n.id:null,a=t=>!p||!e.pages.popupPages.isPopup(p)||"masterPage"!==e.components.getPage(t).id;return(i?e.deprecatedOldBadPerformanceApis.components.getAllComponentsFromFull:e.deprecatedOldBadPerformanceApis.components.getAllComponents)(p,t=>{var n,i;const p=e.components.getType(t);return function(e){return"platform.components.AppController"===e||e===w}(p)&&(null===(n=e.components.data.get(t))||void 0===n?void 0:n.applicationId)===r&&a(t)||o&&e.tpa.isTpaByCompType(p)&&(null===(i=e.components.data.get(t))||void 0===i?void 0:i.appDefinitionId)===r&&a(t)})}function E(e,t,n,o){const i=T(e,t,n,o),r=p()(i).map(e.components.refComponents.getTemplateCompPointer).compact().keyBy("id").value();return p()(i).reject(e=>{let{id:t}=e;return r[t]}).map(e=>({controllerRef:e})).value()}const S=function(e,t,n){let{pageRef:o=e.pages.getFocusedPage(),appDefinitionId:i,includeTPAWidget:r}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return E(e,{appDefinitionId:d(t,{appDefinitionId:i},"appDefinitionId",{isRequired:!0})},o,r)};function b(e,t,n,o){let{controllerRef:i,scope:r="COMPONENT"}=o;const a=e.tpa.isTpaByCompType(e.components.getType(i)),s=e.components.data.get(i);if(a)return function(e,t){let{controllerRef:n,compData:o,scope:i}=t,r={};e.tpaV2.data.getPublicData(o.applicationId,n,e=>{if(e.error)throw new Error(e.error);r=e});const p=e.platform.controllers.getName(n);return{type:o.widgetId,config:r[i],displayName:p}}(e,{controllerRef:i,compData:s,scope:r});const c=e.platform.controllers.settings.get(i);return{type:p().get(s,"controllerType"),config:c,displayName:e.platform.controllers.getName(i)}}function O(e,t,n,o){let{controllerRef:i}=o;return e.platform.controllers.connections.getControllerConnections(i)}const M={listControllers:S,listAllControllers:function(e,t,n){let{appDefinitionId:o,includeTPAWidget:i}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return E(e,{appDefinitionId:d(t,{appDefinitionId:o},"appDefinitionId",{isRequired:!0})},null,i)},listConnectableControllers:function(e,t,n,o){let{componentRef:i,appDefinitionId:r,includeTPAWidget:a}=o;const s=e.components.getPage(i),c={appDefinitionId:d(t,{appDefinitionId:r},"appDefinitionId",{isRequired:!0})},u=T(e,c,s,a,!0),l=A(e,i);return p()(u).filter(t=>function(e,t,n,o){const i=e.components.getPage(o);if("masterPage"===i.id){const t=A(e,o);return!(t&&!C[t])||n===t}return t===i.id}(e,p().get(s,"id"),l,t)).filter(t=>function(e,t,n){return e.components.getType(n)!==w||e.components.isDescendantOfComp(t,n)}(e,i,t)).map(e=>({controllerRef:e})).value()},getControllerConnections:O,listControllerConnections:O,listConnections:function(e,t,n,o){let{componentRef:i}=o;const r=e.platform.controllers.connections.get(i);return p().reject(r,{type:"WixCodeConnectionItem"})},listConnectedComponents:function(e,t,n,o){let{controllerRef:i}=o;return e.platform.controllers.connections.getConnectedComponents(i)},connect:function(e,t,n,o){let{connectToRef:i,controllerRef:r,role:p,connectionConfig:a,isPrimary:s,subRole:c}=o;return f(t.appDefinitionId,e,()=>e.platform.controllers.connections.connect(i,r,p,a,s,c)),{connectToRef:i,controllerRef:r,role:p,subRole:c}},disconnect:function(e,t,n,o){let{connectToRef:i,controllerRef:r,role:p}=o;return f(t.appDefinitionId,e,()=>e.platform.controllers.connections.disconnect(i,r,p))},getData:b,saveConfiguration:function(e,t,n,o){let{controllerRef:i,config:r,scope:p="COMPONENT"}=o;const a=e.components.getType(i);return e.tpa.isTpaByCompType(a)?new Promise((n,o)=>f(t.appDefinitionId,e,()=>e.tpa.data.setMultiple(i,r,p,e=>e.error?o(new Error(e.error.message)):n(e)))):f(t.appDefinitionId,e,()=>e.platform.controllers.settings.set(i,r))},setDisplayName:function(e,t,n,o){let{controllerRef:i,name:r}=o;return f(t.appDefinitionId,e,()=>e.platform.controllers.setName(i,r))},setState:function(e,t,n,o){let{state:i}=o;return f(t.appDefinitionId,e,()=>e.platform.controllers.setState(i))},setExternalId:function(e,t,n,o){let{controllerRef:i,externalId:r}=o;return f(t.appDefinitionId,e,()=>e.platform.controllers.settings.setExternalId(i,r)),u(e)},getExternalId:function(e,t,n,o){let{controllerRef:i}=o;return e.platform.controllers.settings.getExternalId(i)},findAllByType:function(e,t,n,o){let{controllerType:i,pageRef:r,appDefinitionId:p}=o;const a=S(e,t,n,{pageRef:r||null,appDefinitionId:p}),s=[];for(const t of a)b(e,0,0,t).type===i&&s.push(t);return s},moveAppControllerToMasterPage:function(e,t,n,o){let{controllerRef:i}=o;return e.platform.controllers.relocate.moveAppControllerToMasterPage(i)},moveAppControllerToPage:function(e,t,n,o){let{controllerRef:i,pageRef:r}=o;return e.platform.controllers.relocate.moveAppControllerToPage(i,r)}},W={getFontsOptions:function(e){return e.fonts.getFontsOptions()}},N={add:function(e,t,n,o){let{label:i,params:r}=o;return new Promise(t=>l(e,()=>{e.history.add(i,{__appParams:r}),t()}))}};function F(e,t){let{appDefinitionId:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=d(t,{appDefinitionId:n},"appDefinitionId",{isRequired:!0});return"wix-code"===t.appDefinitionId?e.wixCode.getClientSpec().appDefinitionId:o}function x(e,t,n){let{appDefinitionId:o}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=F(e,t,{appDefinitionId:o});return e.tpa.app.getDataByAppDefId(i).instance}const B={getSiteId:function(e){return e.generalInfo.getSiteId()},getMetaSiteId:function(e){return e.generalInfo.getMetaSiteId()},getPublicUrl:function(e){return e.generalInfo.getPublicUrl()},isSitePublished:function(e){return e.generalInfo.isSitePublished()},getLanguage:function(e){return e.generalInfo.getLanguage()},getRegionalLanguage:function(e){return e.generalInfo.getRegionalLanguage()},isSiteSaved:function(e){return!e.generalInfo.isFirstSave()&&!e.generalInfo.isDraft()},isHttpsEnabled:function(e){return e.generalInfo.isHttpsEnabled()},getAppInstance:x,getAppInstancePayload:function(e,t,n){const o=F(e,t);if(!e.tpa.app.getDataByAppDefId(o))return null;const i=x(e,t,n);return i?function(e){try{if(e.startsWith("OauthNG")){const t=e.split(".")[3],n=JSON.parse(atob(t)).data;return JSON.parse(n).instance}const t=e.split(".")[1];return JSON.parse(atob(t))}catch(t){throw new Error("Unable to parse app's instance token. Token - ".concat(e))}}(i):null},getAppInstanceId:function(e,t,n){let{appDefinitionId:o}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=F(e,t,{appDefinitionId:o});return e.tpa.app.getDataByAppDefId(i).instanceId},getSiteAssetsScriptVersion:function(e,t){let{scriptName:n}=t;return e.generalInfo.getSiteAssetsScriptVersion(n)},getCurrency:function(e){return e.generalInfo.getCurrency()},getTimeZone:function(e){return e.generalInfo.getTimeZone()},getUserId:function(e){return e.generalInfo.getUserInfo().userId},getUserInfo:function(e){return e.generalInfo.getUserInfo()},getVendorProductId:function(e,t,n,o){const i=null==o?void 0:o.appDefinitionId;if(!i&&c(t))throw new Error("options must contain appDefinitionId");const r=e.platform.getAppDataByAppDefId(i||t.appDefinitionId);return null==r?void 0:r.vendorProductId},getRegion:function(e){return e.generalInfo.getLocale()},getArtifactsUrls:function(e,t,n){return e.generalInfo.getArtifactsUrl(n)},getArtifactOverrides:function(e){return e.generalInfo.getArtifactOverrides()},getSiteDisplayName:function(e){return e.siteDisplayName.get()},getStageViewMode:function(e){return e.documentMode.getComponentViewMode()},getSiteMap:function(e){return e.tpa.getSiteMap()},getUserGEO:function(e){return e.generalInfo.getGeo()},getAppRevisionOverrides:function(e){return e.generalInfo.getAppRevisionOverrides()}},G={add:function(e,t,n,o){let{languageCode:i}=o;return f(t.appDefinitionId,e,()=>e.language.add(i)),u(e)},current:{set:function(e,t,n,o){let{languageCode:i}=o;return f(t.appDefinitionId,e,()=>e.language.current.set(i))},get:function(e,t){return f(t.appDefinitionId,e,()=>e.language.current.get())}},component:{getTranslations:function(e,t,n,o){let{componentRef:i}=o;return e.language.component.getTranslations(i)},data:{remove:function(e,t,n,o,i){return f(t.appDefinitionId,e,()=>e.multilingual.components.data.remove(o,i))}}},original:{get:function(e){return e.language.original.get()}},setLanguages:function(e,t){return e.language.init(t)},getTranslationLanguages:function(e){return e.language.getFull()},autoTranslate:()=>{throw new Error("not implemented for this editor")},multilingual:{isEnabled:function(e){return e.language.multilingual.isEnabled()},languages:{remove:function(e,t,n,o){return f(t.appDefinitionId,e,()=>e.multilingual.languages.remove(o))},removeAll:function(e,t){return f(t.appDefinitionId,e,()=>e.multilingual.languages.removeAll())}}}},_=["MEMBERS_SUB_MENU","MEMBERS_LOGIN_MENU","MEMBERS_LOGIN_ICONS_MENU","CUSTOM_MAIN_MENU","CUSTOM_MENU"],L={create:function(e,t,n,o){let{menuData:i,customId:r,appDefinitionId:a}=o;const s=d(t,{appDefinitionId:a},"appDefinitionId",{isRequired:!0}),c=p().assign({appDefinitionId:s},i);return f(t.appDefinitionId,e,()=>e.menu.create(c,r))},connect:function(e,t,n,o){let{menuCompPointer:i,menuId:r}=o;f(t.appDefinitionId,e,()=>e.menu.connect(i,r))},connectToInnerElement:function(e,t,n,o){let{menuCompRef:i,menuId:r,innerElementsPath:p}=o;f(t.appDefinitionId,e,()=>e.menu.connectToInnerElement(i,r,p,"items"))},update:function(e,t,n,o){let{menuId:i,menuData:r}=o;f(t.appDefinitionId,e,()=>e.menu.update(i,r))},remove:function(e,t,n,o){let{menuId:i}=o;f(t.appDefinitionId,e,()=>e.menu.remove(i))},addItem:function(e,t,n,o){let{menuId:i,menuItem:r}=o;f(t.appDefinitionId,e,()=>e.menu.addItem(i,r))},getById:function(e,t,n,o){let{menuId:i}=o;return e.menu.getById(i)},getDefaultMenuId:function(e,t){return f(t.appDefinitionId,e,async()=>{const t=(await e.menu.getAll()).filter(e=>!_.includes(e.id));if(0===t.length)return null;const n=t.find(e=>"MAIN_MENU"===e.menuType),o=t[0];return(n||o).id})},getAll:function(e){return e.menu.getAll()}};function k(e,t,n,o,i){let{pageRef:r,pageLink:a}=o;const s=p().get(r,"id")||a;if(s)return f(t.appDefinitionId,e,()=>e.pages.navigateTo(s)),u(e,i)}const U="openPopup";function V(e,t,n,o){let{pageRef:i}=o;return e.pages.data.get(i.id)}const j={navigateTo:k,setState:function(e,t,n,o){let{state:i}=o;f(t.appDefinitionId,e,()=>e.platform.pages.setState(i))},getCurrent:function(e){return e.pages.getReference(e.pages.getFocusedPageId())},getPrimary:function(e){return e.pages.getReference(e.pages.getPrimaryPageId())},getHomePage:function(e){const t=e.homePage.get();return e.components.get.byId(t)},add:function(e,t,n,o){let{title:i,definition:r,shouldAddMenuItem:p,shouldNavigateToPage:a=!0}=o;const s=f(t.appDefinitionId,e,()=>e.pages.add(i,r,p));return a?k(e,t,0,{pageRef:s},s):s},getPageData:V,isDynamicPage:function(e,t,n,o){let{pageRef:i}=o;const r=e.routers.getRouterRef.byPage(i);return Boolean(r)},rename:function(e,t,n,o){let{pageRef:i,title:r}=o;return f(t.appDefinitionId,e,()=>e.pages.data.update(i.id,{title:r}))},duplicate:function(e,t,n,o){let{pageId:i,shouldAddMenuItem:r,shouldDuplicatePageCode:p}=o;return f(t.appDefinitionId,e,()=>e.pages.duplicate(i,r,p))},data:{get:V,getAll:function(e){return e.pages.getPagesData()},update:function(e,t,n,o){let{pageRef:i,data:r,applyChangeToAllLanguages:p}=o;f(t.appDefinitionId,e,()=>e.pages.data.update(i.id,r,void 0,p))}},pageUriSEO:{convertPageNameToUrl:function(e,t,n,o){let{title:i}=o;return e.pages.data.pageUriSEO.convertPageNameToUrl(i)}},serialize:function(e,t,n,o){let{pageRef:i,maintainIdentifiers:r=!1}=o;return e.pages.serialize(i.id,r)},permissions:{hasPassword:function(e,t,n,o){let{pageRef:i}=o;return e.pages.permissions.hasPassword(i.id)},updatePagePassword:function(e,t,n,o){let{pageRef:i,plainPassword:r}=o;f(t.appDefinitionId,e,()=>e.pages.permissions.updatePassword(i.id,r))},removePagePassword:function(e,t,n,o){let{pageRef:i}=o;f(t.appDefinitionId,e,()=>e.pages.permissions.removePassword(i.id))},duplicatePagePassword:function(e,t,n,o){let{destinationPageRef:i,sourcePageRef:r}=o;return new Promise((n,o)=>{f(t.appDefinitionId,e,()=>e.pages.permissions.duplicatePagePassword(i.id,r.id,n,o))})},duplicateGroupsPermissions:function(){return new Promise(e=>{e()})}},remove:function(e,t,n,o){let{pageRef:i}=o;return new Promise((n,o)=>{const r=e.pages.data.get(i.id);if(!r)return void o("page with id '".concat(i.id,"' doesn't exist"));if(!g(t,r.managingAppDefId))return void o("page with id '".concat(i.id,"' can not be deleted. page is not managed by this application"));const{id:p}=e.pages.getCurrentPage();if(p===i.id)return void o("It is not allowed to delete current page (".concat(i.id,"), please navigate to another page"));const a=e.homePage.get();if(i.id!==a)if(r.tpaApplicationId&&e.tpa.app.shouldDeleteWholeApp(r))o("It is not allowed to delete a section page '(".concat(i.id,")'"));else{try{f(t.appDefinitionId,e,()=>e.pages.remove(i.id))}catch(e){return void o(e)}n()}else o("It is not allowed to delete homePage (".concat(i.id,"), please set a new page as homePage and try again"))})},getApplicationPages:function(e,t,n){let{appDefinitionId:o,includeUnmanaged:i}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const r=d(t,{appDefinitionId:o},"appDefinitionId",{isRequired:i});return r?e.pages.getPagesData().filter(e=>{let{managingAppDefId:t,appDefinitionId:n}=e;return t===r||i&&n===r}):[]},popupPages:{add:(e,t,n,o)=>{let{title:i,definition:r,shouldNavigateToPage:p=!0}=o;const a=f(t.appDefinitionId,e,()=>e.pages.popupPages.add(i,r));return p?k(e,t,0,{pageRef:a},a):a},addConnected:(e,t,n,o)=>{let{title:i,definition:r,controllerType:a,popupRole:s,shouldNavigateToPage:c=!0,appDefinitionId:u}=o;return new Promise(n=>{f(t.appDefinitionId,e,()=>{const o=e.pages.popupPages.add(i,r),f=d(t,{appDefinitionId:u},"appDefinitionId",{isRequired:!0}),g=p().defaultsDeep({data:{controllerType:a,name:a,applicationId:f}},e.components.buildDefaultComponentStructure("platform.components.AppController")),m=e.components.add(o,g);l(e,()=>{const i=e.deprecatedOldBadPerformanceApis.components.getChildren(o);e.platform.controllers.connections.connect(i[0],m,s,{},!0),n(c?k(e,t,0,{pageRef:o},o):o)})})})},open:(e,t,n,o)=>{let{popupRef:i}=o;const r=p().get(i,"id");r&&f(t.appDefinitionId,e,()=>e.pages.popupPages.open(r))},close:(e,t)=>{f(t.appDefinitionId,e,()=>e.pages.popupPages.close())},isPopupOpened:e=>e.pages.popupPages.isPopupOpened(),getApplicationPopups:function(e,t,n){let{appDefinitionId:o,includeUnmanaged:i}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const r=d(t,{appDefinitionId:o},"appDefinitionId",{isRequired:!1});return r?e.pages.popupPages.getDataList().filter(e=>{let{managingAppDefId:t,appDefinitionId:n}=e;return t===r||i&&n===r}):[]},updateBehavior:(e,t,n,o)=>{const i=function(e,t){if(t.name===U)return e.actions.getDefinition("load");throw new Error("Behavior is not supported: ".concat(t.name))}(e,o.behavior),r=function(e,t){if(t.name===U)return{...e.behaviors.getDefinition(U),params:t.params};throw new Error("Behavior is not supported: ".concat(t.name))}(e,o.behavior);e.pages.getPageIdList(!0).map(t=>e.components.get.byId(t)).filter(t=>e.behaviors.get(t).some(e=>{let{behavior:t}=e;return(null==t?void 0:t.targetId)===o.popupRef.id})).forEach(t=>e.behaviors.update(t,i,o.popupRef,r))}}},q={create:function(e,t,n,o){let{groupName:i,appDefinitionId:r}=o;const p=d(t,{appDefinitionId:r},"appDefinitionId",{isRequired:!0}),a=f(t.appDefinitionId,e,()=>e.pagesGroup.create({groupName:i,appDefinitionId:p}));return Promise.resolve(a)},addPageToPagesGroup:function(e,t,n,o){let{pagesGroupPointer:i,pageId:r}=o;f(t.appDefinitionId,e,()=>e.pagesGroup.addPageToPagesGroup(i,r))},getById:function(e,t,n,o){let{pagesGroupId:i}=o;return e.pagesGroup.getById(i)},getByGroupName:function(e,t,n,o){let{groupName:i}=o;return e.pagesGroup.getByGroupName(i)},getAll:function(e){return e.pagesGroup.getAll()},remove:function(e,t,n,o){let{pagesGroupPointer:i}=o;f(t.appDefinitionId,e,()=>e.pagesGroup.remove(i))}};function H(e,t,n,o){let{routerRef:i}=o;const r=e.routers.get.byRef(i);if(r&&g(t,r.appDefinitionId))return{id:r.id,prefix:r.prefix,config:r.config,pages:p()(r.pages).invertBy().map((t,n)=>({pageRef:e.pages.getReference(n),pageRoles:t})).value()}}function z(e,t,n,o){let{prefix:i}=o;const r=e.routers.getRouterRef.byPrefix(i);if(!r)return r;const p=e.routers.get.byRef(r);return p&&g(t,p.appDefinitionId)?r:void 0}const Y={add:function(e,t,n){let{prefix:o,config:i,group:r,appDefinitionId:p}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise(n=>{const a={appDefinitionId:d(t,{appDefinitionId:p},"appDefinitionId",{isRequired:!0}),prefix:o,config:i};r&&(a.group=r),n(f(t.appDefinitionId,e,()=>e.routers.add(a)))})},remove:function(e,t,n,o){let{routerRef:i}=o;const r=e.routers.get.byRef(i);r&&g(t,r.appDefinitionId)&&f(t.appDefinitionId,e,()=>e.routers.remove(i))},get:H,getAll:function(e,t,n){let{appDefinitionId:o}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=d(t,{appDefinitionId:o},"appDefinitionId",{isRequired:!0});return p().map(e.routers.get.byApp(i),n=>{let{prefix:o}=n;const i=z(e,t,0,{prefix:o});return H(e,t,0,{routerRef:i})})},update:function(e,t,n,o){let{routerRef:i,prefix:r,config:p}=o;return new Promise((n,o)=>{const a=e.routers.get.byRef(i);if(a&&g(t,a.appDefinitionId)){const o=((e,t)=>{if(!t)return t;const{replacers:n,rules:o,roleVariations:i,...r}=t;return{...r,..."replacers"in e&&{replacers:e.replacers},..."roleVariations"in e&&{roleVariations:e.roleVariations},..."rules"in e&&{rules:e.rules}}})(a.config,p);f(t.appDefinitionId,e,()=>e.routers.update(i,{prefix:r,config:o})),n()}else o()})},getByPage:function(e,t,n,o){let{pageRef:i}=o;const r=e.routers.getRouterRef.byPage(i);if(!r)return r;const p=e.routers.get.byRef(r);return p&&g(t,p.appDefinitionId)?r:void 0},getByPrefix:z,isValidPrefix:function(e,t,n,o){let{prefix:i,appDefinitionId:r}=o;const p=d(t,{appDefinitionId:r},"appDefinitionId",{isRequired:!0});return e.routers.isValidPrefixByAppDefId(p,i)},getCurrentDynamicRouting:function(e){const t=e.routers.getCurrentInnerRoute();if(t.isDynamic){const n=e.routers.get.byId(t.routerId);return t.prefix=n.prefix,delete t.isDynamic,t}return null},pages:{add:function(e,t,n,o){let{routerRef:i,pageTitle:r,pageRoles:p}=o;return new Promise(n=>{const o=e.routers.get.byRef(i);o&&g(t,o.appDefinitionId)||n(),n(f(t.appDefinitionId,e,()=>e.routers.pages.add(i,r,p)))})},delete:function(e,t,n,o){let{routerRef:i,pageRef:r}=o;return new Promise((n,o)=>{const p=e.routers.get.byRef(i);p&&g(t,p.appDefinitionId)?(f(t.appDefinitionId,e,()=>e.pages.remove(r.id)),n()):o()})},connect:function(e,t,n,o){let{routerRef:i,pageRef:r,pageRoles:p,slug:a}=o;const s=e.routers.get.byRef(i);s&&g(t,s.appDefinitionId)&&f(t.appDefinitionId,e,()=>e.routers.pages.connect(i,r,p,a?{innerRoute:a}:void 0))},disconnect:function(e,t,n,o){let{routerRef:i,pageRef:r}=o;const p=e.routers.get.byRef(i);p&&g(t,p.appDefinitionId)&&f(t.appDefinitionId,e,()=>e.routers.pages.disconnect(i,r))},move:function(e,t,n,o){let{fromRouterRef:i,toRouterRef:r,pageRef:p}=o;const a=e.routers.get.byRef(i),s=e.routers.get.byRef(r);a&&s&&g(t,s.appDefinitionId)&&g(t,a.appDefinitionId)&&f(t.appDefinitionId,e,()=>e.routers.pages.move(p,i,r))},listConnectablePages:function(e){return e.routers.pages.listConnectablePages()}}},X={getFooter:function(e){return e.siteSegments.getFooter()},getHeader:function(e){return e.siteSegments.getHeader()},getPagesContainer:function(e){return e.siteSegments.getPagesContainer()},getSiteStructure:function(e){return e.siteSegments.getSiteStructure()}},J=["CHECKBOX","NOTE"],K={getCustomSignInPageId:function(e){return e.siteMembers.getCustomSignInPageId()},getCustomSignupPageId:function(e){return e.siteMembers.getCustomSignupPageId()},setCustomSignInPageId:function(e,t,n){return e.siteMembers.setCustomSignInPageId(n)},setCustomSignupPageId:function(e,t,n){return e.siteMembers.setCustomSignupPageId(n)},getCustomNoPermissionsPageId:function(e){return e.siteMembers.getCustomNoPermissionsPageId()},setCustomNoPermissionsPageId:function(e,t,n){return e.siteMembers.setCustomNoPermissionsPageId(n)},getPrivacyNoteType:function(e){return e.siteMembers.getPrivacyNoteType()},setPrivacyNoteType:function(e,t){if(J.includes(t))return e.siteMembers.setPrivacyNoteType(t);const n=J.join(", ");throw new Error("Invalid privacy note type. Available options: ".concat(n))}},Z={styles:{getAll:function(e){return e.theme.styles.getAll()}},colors:{getAll:function(e){return e.theme.colors.getAll()}},fonts:{getMap:function(e){return e.theme.fonts.getMap()}}},Q={SECTION:"tpaSection",WIDGET:"tpaWidget",PLATFORM_ONLY:"platformOnly"},$={PLATFORM:"PLATFORM",STUDIO:"STUDIO",STUDIO_WIDGET:"STUDIO_WIDGET",PAGE_OUT_OF_IFRAME:"PAGE_OUT_OF_IFRAME",WIDGET_OUT_OF_IFRAME:"WIDGET_OUT_OF_IFRAME",WIDGET:"WIDGET",PAGE:"PAGE"},ee=e=>{var t,n;return(null==e||null===(t=e.appFields)||void 0===t||null===(t=t.appService)||void 0===t?void 0:t.components)||(null==e||null===(n=e.data)||void 0===n?void 0:n.components)||(null==e?void 0:e.components)||[]},te=function(e){return(e=>{var t,n;const o=ee(e);return(null==e||null===(t=e.appFields)||void 0===t||null===(t=t.platform)||void 0===t?void 0:t.platformOnly)||(null===(n=o.find(e=>"PLATFORM"===e.type||"PLATFORM"===e.compType))||void 0===n||null===(n=n.data)||void 0===n?void 0:n.platformOnly)})(e)?Q.PLATFORM_ONLY:(e=>Object.values((null==e?void 0:e.widgets)||{}).some(e=>!!e.appPage&&!e.appPage.hidden))(e)?Q.SECTION:(e=>ee(e).some(e=>e.type===$.STUDIO||e.compType===$.STUDIO_WIDGET))(e)?Q.PLATFORM_ONLY:(e=>Object.values((null==e?void 0:e.widgets)||{}).some(e=>!e.appPage&&!!e.default))(e)?Q.WIDGET:(e=>{var t;return Boolean(null==e||null===(t=e.appFields)||void 0===t?void 0:t.platform)||ee(e).some(e=>e.type===$.PLATFORM||e.compType===$.PLATFORM)})(e)?Q.PLATFORM_ONLY:Q.WIDGET},ne="_vs_",oe="slot",ie="WIDGET",re="PAGE",pe="WIDGET_OUT_OF_IFRAME",ae="PAGE_OUT_OF_IFRAME",se="STUDIO_WIDGET",ce="CUSTOM_ELEMENT_WIDGET",de=[ie,re,pe,ae,se,ce],ue={[ie]:fe,[re]:fe,[pe]:ge,[ae]:ge,[se]:async function(e,t,n){let{appDefinitionId:o,widgetId:i}=t;const r=e.components.buildDefaultComponentStructure("wysiwyg.viewer.components.RefComponent");return r.data={...r.data,type:"WidgetRef",appDefinitionId:o,applicationId:n.toString(),widgetId:i},r.layouts={...r.layouts,...me()},r.presets=await async function(e,t){var n;const o=await e.appStudioWidgets.getAppDescriptor(t.appDefinitionId),i=Object.values(o.widgets).find(e=>e.devCenterWidgetId===t.widgetId),[r]=null!==(n=null==i?void 0:i.presets)&&void 0!==n?n:[];if(!r)return;const p=r.presetId.replace("#","");return{type:"PresetData",layout:p,style:p}}(e,{appDefinitionId:o,widgetId:i}),r},[ce]:function(e,t){let{appDefinitionId:n,widgetId:o}=t;const i=e.components.buildDefaultComponentStructure("wixui.CustomElementComponent");return i.data={...i.data,type:"CustomElement",appDefinitionId:n,shouldReload:!1,widgetId:o},i.layouts={...i.layouts,...me()},i}};async function le(e,t,n){const o=function(e,t){const n=e.tpa.app.getDataByAppDefId(t.appDefinitionId),o=n.components.find(e=>e.componentId===t.widgetId);if(!o)throw new Error('Application "'.concat(n.name,'" is missing the widget component with ID: ').concat(t.widgetId));return o}(e,t),i=function(e){const t=null==e?void 0:e.type;if(!de.includes(t))throw new Error("Widget-plugin type is unsupported -- ".concat(t));return t}(o);return i===se?ue[i](e,t,n):ue[i](e,t,n,o)}function fe(e,t,n,o){var i;let{appDefinitionId:r,widgetId:p}=t;const a=e.components.buildDefaultComponentStructure("wysiwyg.viewer.components.tpapps.TPAWidget");a.data={...a.data,appDefinitionId:r,applicationId:n.toString(),widgetId:p};const s=(null==o||null===(i=o.data)||void 0===i?void 0:i.height)||100;return a.layouts={...a.layouts,...me({height:s})},a}function ge(e,t,n){let{appDefinitionId:o,widgetId:i}=t;const r=e.components.buildDefaultComponentStructure("wysiwyg.viewer.components.tpapps.TPAWidget");return r.data={...r.data,appDefinitionId:o,applicationId:n.toString(),widgetId:i},r.layouts={...r.layouts,...me()},r}function me(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:"SingleLayoutData",componentLayout:{type:"ComponentLayout",height:e.height?{type:"px",value:e.height}:{type:"auto"},width:{type:"auto"}},itemLayout:{type:"GridItemLayout",gridArea:{rowStart:1,columnStart:1,rowEnd:2,columnEnd:2},alignSelf:"stretch",justifySelf:"stretch"},containerLayout:{type:"GridContainerLayout",rows:[{type:"fr",value:1}],columns:[{type:"fr",value:1}]}}}async function Ie(e,t){const n=function(e,t){return e.platform.isAppActive(t.appDefinitionId)||e.tpa.app.isInstalled(t.appDefinitionId)}(e,t);return n||(console.warn("All dependant apps should be installed manually, no dependency driver is used"),await async function(e,t){return new Promise(n=>{t.platform.addApps([e],{[e]:{headlessInstallation:!0},singleAppCallback:()=>{n()}})})}(t.appDefinitionId,e)),e.tpa.app.getDataByAppDefId(t.appDefinitionId)}const De=e=>{const t=(e=>{function t(t){return e.components.refComponents.isReferredComponent(t)?e.components.refComponents.getRootRefHostCompPointer(t):t}function n(n){const o=t(n.compRef),{widgetId:i,appDefinitionId:r}=e.components.data.get(o);return{appDefinitionId:r,widgetId:i,slotId:n.role}}function o(t){return(o=e.components.slots.getWidgetSlots(t),o.map(e=>{let{compRef:t,role:n,pluginInfo:o}=e;return{role:n,pluginInfo:o,compRef:t}})).map(e=>({...e,placement:n(e)}));var o}return{getWidgetSlots:o,uninstallWidgetPlugin:function(t){e.components.slots.remove(t,oe)},installWidgetPlugin:async function(t,n){const{applicationId:o}=await Ie(e,n),i=await le(e,n,o);return e.components.slots.populate(t,oe,i)},getWidgetSlot:function(e){return o(t(e)).find(t=>t.compRef.id===e.id)}}})(e),n=(e=>{function t(t){var n;const o=null===(n=e.tpa.app.getDataByAppDefId(t.appDefinitionId))||void 0===n?void 0:n.components.find(e=>{var n;return(null==e||null===(n=e.data)||void 0===n?void 0:n.referenceComponentId)===t.widgetId});return null==o?void 0:o.data}function n(e){var n;if(e)return{...null===(n=t({appDefinitionId:e.appDefinitionId,widgetId:e.widgetId}))||void 0===n?void 0:n.marketData,widgetId:e.widgetId,appDefinitionId:e.appDefinitionId}}function o(t,o){const i=o.name,{widgetId:r,appDefinitionId:p}=e.components.data.get(t),a=e.components.data.get(e.components.slots.getSlotsData(t)[i]);return{compRef:(s=t,c=i,{id:"".concat(s.id).concat(ne).concat(c),type:s.type}),role:i,pluginInfo:n(a),placement:{appDefinitionId:p,widgetId:r,slotId:i}};var s,c}function i(e){const[t,n]=e.id.split(ne);return{widgetHostRef:{id:t,type:e.type},slotName:n}}return{getWidgetSlots:function(t){return function(t){var n,o;const{appDefinitionId:i,widgetId:r}=e.components.data.get(t);if(!i)return[];const p=e.platform.getAppManifest(i);if(!p)return[];const a=null!==(n=null===(o=p.controllersStageData)||void 0===o||null===(o=o[r])||void 0===o||null===(o=o.default)||void 0===o?void 0:o.slots)&&void 0!==n?n:{};return Object.entries(a).map(e=>{let[t,n]=e;return{name:t,...n}})}(t).map(e=>o(t,e))},getWidgetSlot:function(e){const{widgetHostRef:t,slotName:n}=i(e);return o(t,{displayName:n,name:n})},installWidgetPlugin:async function(t,n){const{applicationId:o}=await Ie(e,n),r=await le(e,n,o),{widgetHostRef:p,slotName:a}=i(t);return e.components.slots.populate(p,a,r)},uninstallWidgetPlugin:function(t){const{widgetHostRef:n,slotName:o}=i(t);e.components.slots.remove(n,o)}}})(e);function o(e){return e.id.includes(ne)?n:t}function i(e){o(e).uninstallWidgetPlugin(e)}return{getWidgetSlots:function(o){return function(o){return function(t){return e.tpa.isTpaByCompType(e.components.getType(t))}(o)?n:t}(o).getWidgetSlots(o)},addWidgetPlugin:async function(e){const t=await(n=e.slotCompRef,o(n).getWidgetSlot(n));var n;return void 0!==(null==t?void 0:t.pluginInfo)&&await i(e.slotCompRef),async function(e,t){return await o(e).installWidgetPlugin(e,t)}(e.slotCompRef,e.widgetPluginPointer)},removeWidgetPlugin:i}},ye=(e,t)=>{const{appDefinitionId:n,applicationId:o}=e.components.data.get(t)||{};return n||o};function ve(e,t,n,o){return e.tpa.appMarket.getDataAsync(o).then(e=>{if(!e||e.error)throw new Error("Application with ".concat(o," appDefinitionId does not exist."));return e})}function Re(e,t,n,o){return new Promise((n,i)=>{const r=p().clone(o);p().get(o,"appDefinitionId")?o.appDefinitionId!==e.platform.editorApps.WIX_CODE.appDefId?ve(e,0,0,o.appDefinitionId).then(a=>{if("Wix"===a.by){if(r.callback=function(r){if(r.onError)i(new Error(r.onError));else if(t=e.tpa.app.getDataByAppDefId(o.appDefinitionId),r.page){const o=e.pages.data.get(r.page.id);n({instanceId:p().get(t,"instanceId"),pageRef:r.page,pageUriSEO:p().get(o,"pageUriSEO"),title:p().get(o,"title")})}else n({instanceId:p().get(t,"instanceId")})},e.tpa.app.isInstalled(o.appDefinitionId)&&!function(e){var t;return te(e)===Q.WIDGET&&(null==e||null===(t=e.widgets)||void 0===t?void 0:t.every(e=>!e.addOnlyOnce))}(a))return void i(new Error("Application already installed."));f(t.appDefinitionId,e,()=>{const s=function(e){var t;return 1===(null===(t=e.componentTypes)||void 0===t?void 0:t.length)&&e.componentTypes.includes($.PLATFORM)}(o)&&e.tpa.app.hasEditorPlatformPart(a);if(te(a)===Q.PLATFORM_ONLY||s){const r={appDefinitionId:p().get(t,"appDefinitionId")},a=o.originInfo?p().assign({},o.originInfo,r):r,s={origin:{initiator:"APP",type:o.editorType,info:a}};return o.sourceTemplateId&&(s.sourceTemplateId=o.sourceTemplateId),o.isSilent&&(s.isSilent=!0),e.platform.provision(o.appDefinitionId,s).then(n,i)}return e.tpa.app.add(o.appDefinitionId,r)})}else i(new Error("Can't add a non Wix application"))}).catch(i):e.wixCode.provision({onSuccess:n,onError:i}):i(new Error("options must contain appDefinitionId"))})}const he=(e,t)=>n=>{n.error?t(new Error(n.error.message)):e(n)},Pe={isAppSectionInstalled:function(e,t,n){let{sectionId:o,appDefinitionId:i}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((n,r)=>{if(!o)return void r(new Error("options must contain sectionId"));let a=t.appDefinitionId;if(!c(t)||i){if(i){const t=e.tpa.app.getDataByAppDefId(i);a=p().get(t,"appDefinitionId")}n(e.tpaV2.section.isSectionInstalledByTpaPageId(a,o))}else r(new Error("options must contain appDefinitionId"))})},isApplicationInstalled:function(e,t,n){let{appDefinitionId:o}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((t,n)=>{o?t(e.tpa.app.isInstalled(o)):n(new Error("options must contain appDefinitionId"))})},setStyleParams:function(e,t,n,o){return new Promise((n,i)=>{if(!o||!o.compRef)return void i("options must include compRef property");if(!o||!o.styleParams||!p().isArray(o.styleParams))return void i("options must include styleParams property and styleParams must be an array");const r=ye(e,o.compRef);r?g(t,r)?f(t.appDefinitionId,e,()=>e.tpa.style.setCompStyleParam(o.compRef,o.styleParams,()=>n())):i("It is not allowed to set style params for other applications, application ".concat(t.appDefinitionId," cannot set applications ").concat(r," components style params")):i("could not find component data for the given component ref")})},getStyleParams:function(e,t,n,o){return new Promise((n,i)=>{if(!o||!o.compRef)return void i("options must include compRef property");const r=ye(e,o.compRef);if(!r)return void i("could not find component data for the given component ref");if(!g(t,r))return void i("It is not allowed to get the style params from other applications, application ".concat(t.appDefinitionId," cannot get applications ").concat(r," components style params"));const{style:p}=e.tpa.style.getByComp(o.compRef)||{};n(p)})},getSiteTextPresets:function(e,t,n,o){if(!o||!o.compRef)throw new Error("options must include compRef property");const{siteTextPresets:i}=e.tpa.style.get(o.compRef.id);return i},getSiteColors:function(e,t,n,o){if(!o||!o.compRef)throw new Error("options must include compRef property");const{siteColors:i}=e.tpa.style.get(o.compRef.id);return i},getPageRefByTPAPageId:function(e,t,n,o){const i=e.pages.getPagesData().find(e=>(null==e?void 0:e.tpaPageId)===o.tpaPageId);if(i)return e.pages.getReference(i.id)},data:{setAppPublicData:function(e,t,n,o){return new Promise((n,i)=>{f(t.appDefinitionId,e,()=>{o&&o.key&&!p().isUndefined(o.value)?e.tpaV2.data.set(t.appDefinitionId,o.key,o.value,he(n,i)):i(new Error("options must include: key, value"))})})},getAppPublicData:function(e,t,n,o){return new Promise((n,i)=>{f(t.appDefinitionId,e,()=>{o&&o.key?e.tpaV2.data.app.get(t.appDefinitionId,o.key,he(n,i)):i(new Error("options must include: key"))})})},getAll:function(e,t,n,o){return new Promise((t,n)=>{if(!o||!o.compRef)return void n(new Error("options must include compRef property"));const i=ye(e,o.compRef);void 0!==i?e.tpaV2.data.getPublicData(i,o.compRef,he(t,n)):n(new Error("could not find component data for the given component ref"))})},set:function(e,t,n,o){return new Promise((n,i)=>{if(!o||!o.compRef)return void i(new Error("options must include compRef property"));if(!o.key)return void i(new Error("options must include key property"));const r=ye(e,o.compRef);r?g(t,r)?f(t.appDefinitionId,e,()=>e.tpa.data.set(o.compRef,o.key,o.value,o.scope||"COMPONENT",he(n,i))):i(new Error("it is not allowed to set the public data from other applications, application ".concat(t.appDefinitionId," cannot set applications ").concat(r," public data"))):i(new Error("could not find component data for the given component ref"))})},remove:function(e,t,n,o){return new Promise((n,i)=>{if(!o||!o.compRef)return void i(new Error("options must include compRef property"));if(!o.key)return void i(new Error("options must include key property"));const r=ye(e,o.compRef);r?g(t,r)?f(t.appDefinitionId,e,()=>e.tpa.data.remove(o.compRef,o.key,o.scope||"COMPONENT",he(n,i))):i(new Error("it is not allowed to remove the public data from other applications, application ".concat(t.appDefinitionId," cannot remove applications ").concat(r," public data"))):i(new Error("could not find component data for the given component ref"))})}},add:{application:Re,component:function(e,t,n,o){return new Promise((n,i)=>{const r=p().clone(o);if(p().get(o,"componentType")){if(!o.appDefinitionId){if(c(t))return void i(new Error("options must contain appDefinitionId"));r.appDefinitionId=t.appDefinitionId}if("WIDGET"===o.componentType){if(!p().isObject(o.widget))return void i(new Error("options must contain a widget object"));r.widget.tpaWidgetId=o.widget.widgetId}else if("PAGE"===o.componentType){if(!p().isObject(o.page))return void i(new Error("options must contain a page object"));if(o.page.isHidden&&!p().isBoolean(o.page.isHidden))return void i(new Error("isHidden param should be of type boolean"))}r.callback=function(t){if(t.onError)i(new Error(t.onError));else if("WIDGET"===o.componentType)n({compId:t.comp.id});else{const o=e.pages.data.get(t.page.id);n({compId:t.sectionId,pageRef:t.page,pageUriSEO:p().get(o,"pageUriSEO"),title:p().get(o,"title")})}},f(t.appDefinitionId,e,()=>e.tpa.comp.add(r))}else i(new Error("options must contain componentType"))})}},app:{getDataByAppDefId:function(e,t,n,o){return e.tpa.app.getDataByAppDefId(o)},getAppMarketDataByAppDefId:ve,getAppDataByAppDefId:function(e,t,n,o){return e.platform.getAppDataByAppDefId(o)},getAllCompsByApplicationId:function(e,t,n,o){return e.tpa.app.getAllCompsByApplicationId(o)},getAllComps:function(e,t,n,o){return e.tpaV2.app.getAllComps(o)},refreshApp:function(e,t){let{appDefinitionId:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=d(t,{appDefinitionId:n},"appDefinitionId",{isRequired:!0}),i=e.tpaV2.app.getAllComps([o]);return f(t.appDefinitionId,e,()=>e.tpa.app.refreshApp(i))},delete:function(e,t){let{appDefinitionId:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=d(t,{appDefinitionId:n},"appDefinitionId",{isRequired:!0});return new Promise(n=>{f(t.appDefinitionId,e,()=>e.platform.uninstall(o)),e.waitForChangesApplied(n)})},add:Re},widgetPlugins:{getWidgetSlots:function(e,t,n,o){return De(e).getWidgetSlots(o.widgetRef)},addWidgetPlugin:function(e,t,n,o){return De(e).addWidgetPlugin(o)},removeWidgetPlugin:function(e,t,n,o){return De(e).removeWidgetPlugin(o.slotCompRef)}}};function we(e){return{name:e.name,fullPath:e.location,isDirectory:e.directory}}const Ce={listChildren:function(e,t,n,o){const i=e.wixCode.fileSystem,r=i.getVirtualDescriptor(o.path,!0);return i.getChildren(r).then(e=>p().map(e,we))},readFile:function(e,t,n,o){const i=e.wixCode.fileSystem,r=i.getVirtualDescriptor(o.path,!1);return i.readFile(r)},writeFile:function(e,t,n,o){const i=e.wixCode.fileSystem,r=i.getVirtualDescriptor(o.path,!1);return f(t.appDefinitionId,e,()=>i.writeFile(r,o.content))},deleteFile:function(e,t,n,o){const i=e.wixCode.fileSystem,r=i.getVirtualDescriptor(o.path,!1);return f(t.appDefinitionId,e,()=>i.deleteItem(r))},flush:function(e,t){return f(t.appDefinitionId,e,()=>e.wixCode.fileSystem.flush())},getViewerInfo:function(e){return e.wixCode.fileSystem.getViewerInfo()}},Ae={hiddenComponents:{show:function(e,t,n,o){let{componentRef:i}=o;const r=e.pages.getFocusedPageId();f(t.appDefinitionId,e,()=>e.mobile.hiddenComponents.show(i.id,r))}}},Te={get:function(e,t,n,o){let{componentRef:i}=o;return e.responsiveLayout.get(i)},update:function(e,t,n,o){let{componentRef:i,responsiveLayout:r}=o;f(t.appDefinitionId,e,()=>e.responsiveLayout.update(i,r))}},Ee={getSkipToContent:function(e){return e.accessibility.skipToContent.get()},setSkipToContent:function(e,t,n,o){return f(t.appDefinitionId,e,()=>e.accessibility.skipToContent.set(o))},getVisualFocus:function(e){return e.accessibility.visualFocus.get()},setVisualFocus:function(e,t,n,o){return f(t.appDefinitionId,e,()=>e.accessibility.visualFocus.set(o))},getAutoDomReorder:function(e){return e.accessibility.autoDomReorder.get()},setAutoDomReorder:function(e,t,n,o){return f(t.appDefinitionId,e,()=>e.accessibility.autoDomReorder.set(o))}},Se={isCoBranded:function(e){return e.account.isCoBranded()}},be={registerToErrorThrownForContext:function(e,t){const n=a+t.appDefinitionId;e.platform.requestAPIFromWorker(n).then(n=>{let{callback:o}=n;return e.registerToErrorThrownForContext(t.appDefinitionId,o)})},unRegisterToErrorThrownForContext:function(e,t){const n=a+t.appDefinitionId;e.platform.requestAPIFromWorker(n).then(n=>{let{callback:o}=n;return e.unRegisterToErrorThrownForContext(t.appDefinitionId,o)})}},Oe={migrate:{convertAppPage:function(e,t,n,o){let{pageRef:i}=o;return e.wixapps.migrate.convertAppPage(i)}}},Me={screen:{getScreenResolution:function(e){return e.env.screen.getResolution()}}},We={runAndWaitForApproval:async function(e,t,n,o){return await e.transactions.runAndWaitForApproval(o,{appDefinitionId:t.appDefinitionId})}},Ne={isGroupsPermissionsGranted:function(){return!0},isCustomPermissionsGranted:function(){return!0}},Fe={components:{getCompAppData:function(e,t){return e.builder.components.getCompAppData(t)}}};return i})()); //esm-shim-webpack-plugin-exports //# sourceMappingURL=platform-api.min.js.map