@wix/cli-app 1.1.12 → 1.1.14

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-BDPN3PCU.js +4 -0
  2. package/build/{CreateVersionCommand-NUIIBF7A.js.map → CreateVersionCommand-BDPN3PCU.js.map} +1 -1
  3. package/build/DevCommand-MZNQFQQK.js +4 -0
  4. package/build/DevCommand-MZNQFQQK.js.map +1 -0
  5. package/build/GenerateCommand-GD5HZZQR.js +99 -0
  6. package/build/GenerateCommand-GD5HZZQR.js.map +1 -0
  7. package/build/PreviewCommand-4V5HLV2C.js +4 -0
  8. package/build/ServeCommand-FW2FYLQU.js +4 -0
  9. package/build/{ServeCommand-HWXGL7AV.js.map → ServeCommand-FW2FYLQU.js.map} +1 -1
  10. package/build/build-I6KUDQRX.js +4 -0
  11. package/build/{build-RP6W4QEA.js.map → build-I6KUDQRX.js.map} +1 -1
  12. package/build/chunk-ADPHGQLQ.js +4 -0
  13. package/build/chunk-ADPHGQLQ.js.map +1 -0
  14. package/build/{chunk-BGJWNKGZ.js → chunk-CQOGOYYY.js} +3 -3
  15. package/build/chunk-ET3UG47O.js +4 -0
  16. package/build/{chunk-K7GUDJFG.js.map → chunk-ET3UG47O.js.map} +1 -1
  17. package/build/chunk-FJVNH2R2.js +4 -0
  18. package/build/chunk-FJVNH2R2.js.map +1 -0
  19. package/build/chunk-HZIZXN3F.js +4 -0
  20. package/build/chunk-HZIZXN3F.js.map +1 -0
  21. package/build/chunk-KZ5AQZHX.js +4 -0
  22. package/build/chunk-KZ5AQZHX.js.map +1 -0
  23. package/build/{chunk-W74FRPRP.js → chunk-L6Z5LUAF.js} +2 -2
  24. package/build/{chunk-PJ7ZZBC4.js → chunk-LZ4SXWLW.js} +4 -4
  25. package/build/chunk-LZ4SXWLW.js.map +1 -0
  26. package/build/chunk-MRFJNNDD.js +75 -0
  27. package/build/chunk-MRFJNNDD.js.map +1 -0
  28. package/build/{chunk-VWRROJHT.js → chunk-OG3PMZHA.js} +2 -2
  29. package/build/chunk-OMVHSBST.js +4 -0
  30. package/build/chunk-OMVHSBST.js.map +1 -0
  31. package/build/chunk-Q72ID43B.js +4 -0
  32. package/build/chunk-RANVKLXM.js +4 -0
  33. package/build/chunk-RANVKLXM.js.map +1 -0
  34. package/build/{chunk-OYUGDF7S.js → chunk-RHURHBSO.js} +2 -2
  35. package/build/{chunk-FV67T4ZH.js → chunk-RVYKFFVG.js} +2 -2
  36. package/build/chunk-RVYKFFVG.js.map +1 -0
  37. package/build/chunk-RW7A77Z2.js +4 -0
  38. package/build/chunk-RW7A77Z2.js.map +1 -0
  39. package/build/chunk-VKLHCMXH.js +4 -0
  40. package/build/{chunk-D2SHWB76.js.map → chunk-VKLHCMXH.js.map} +1 -1
  41. package/build/chunk-XBWZVJAS.js +108 -0
  42. package/build/chunk-XBWZVJAS.js.map +1 -0
  43. package/build/{chunk-Y4THEZGJ.js → chunk-ZGFYYRQO.js} +40 -38
  44. package/build/{chunk-Y4THEZGJ.js.map → chunk-ZGFYYRQO.js.map} +1 -1
  45. package/build/index.js +1 -1
  46. package/build/index.js.map +1 -1
  47. package/build/preview-LPAYZBA2.js +4 -0
  48. package/build/preview-LPAYZBA2.js.map +1 -0
  49. package/build/render-command-BHZU4MZU.js +4 -0
  50. package/build/{render-command-SXRUN6CW.js.map → render-command-BHZU4MZU.js.map} +1 -1
  51. package/package.json +9 -6
  52. package/schemas/custom-element.json +1 -0
  53. package/schemas/dashboard-menu-plugin.json +1 -0
  54. package/schemas/dashboard-modal.json +1 -0
  55. package/schemas/dashboard-page.json +1 -0
  56. package/schemas/dashboard-plugin.json +1 -0
  57. package/schemas/dashboard-sidebar-category.json +1 -0
  58. package/schemas/embedded-script.json +1 -0
  59. package/schemas/wix-config.json +1 -0
  60. package/build/CreateVersionCommand-NUIIBF7A.js +0 -4
  61. package/build/DevCommand-BN25CWVP.js +0 -4
  62. package/build/DevCommand-BN25CWVP.js.map +0 -1
  63. package/build/GenerateCommand-YJ27MSRT.js +0 -99
  64. package/build/GenerateCommand-YJ27MSRT.js.map +0 -1
  65. package/build/PreviewCommand-UC6TGBTC.js +0 -4
  66. package/build/ServeCommand-HWXGL7AV.js +0 -4
  67. package/build/build-RP6W4QEA.js +0 -4
  68. package/build/chunk-6WJSV7WT.js +0 -4
  69. package/build/chunk-6WJSV7WT.js.map +0 -1
  70. package/build/chunk-B5HZNQJV.js +0 -4
  71. package/build/chunk-BO7BWQLZ.js +0 -4
  72. package/build/chunk-BO7BWQLZ.js.map +0 -1
  73. package/build/chunk-D2SHWB76.js +0 -4
  74. package/build/chunk-F2KYPCJP.js +0 -4
  75. package/build/chunk-F2KYPCJP.js.map +0 -1
  76. package/build/chunk-F3BQNR6X.js +0 -4
  77. package/build/chunk-F3BQNR6X.js.map +0 -1
  78. package/build/chunk-FV67T4ZH.js.map +0 -1
  79. package/build/chunk-G5KG2B42.js +0 -4
  80. package/build/chunk-G5KG2B42.js.map +0 -1
  81. package/build/chunk-GCBXRNFB.js +0 -75
  82. package/build/chunk-GCBXRNFB.js.map +0 -1
  83. package/build/chunk-K7GUDJFG.js +0 -4
  84. package/build/chunk-PJ7ZZBC4.js.map +0 -1
  85. package/build/chunk-RQK35Z3D.js +0 -27
  86. package/build/chunk-RQK35Z3D.js.map +0 -1
  87. package/build/chunk-UJW3X3T2.js +0 -87
  88. package/build/chunk-UJW3X3T2.js.map +0 -1
  89. package/build/chunk-UZC2NC3I.js +0 -4
  90. package/build/chunk-UZC2NC3I.js.map +0 -1
  91. package/build/chunk-VOV46J2K.js +0 -4
  92. package/build/chunk-VOV46J2K.js.map +0 -1
  93. package/build/preview-US5F3VRS.js +0 -4
  94. package/build/preview-US5F3VRS.js.map +0 -1
  95. package/build/render-command-SXRUN6CW.js +0 -4
  96. /package/build/{PreviewCommand-UC6TGBTC.js.map → PreviewCommand-4V5HLV2C.js.map} +0 -0
  97. /package/build/{chunk-BGJWNKGZ.js.map → chunk-CQOGOYYY.js.map} +0 -0
  98. /package/build/{chunk-W74FRPRP.js.map → chunk-L6Z5LUAF.js.map} +0 -0
  99. /package/build/{chunk-VWRROJHT.js.map → chunk-OG3PMZHA.js.map} +0 -0
  100. /package/build/{chunk-B5HZNQJV.js.map → chunk-Q72ID43B.js.map} +0 -0
  101. /package/build/{chunk-OYUGDF7S.js.map → chunk-RHURHBSO.js.map} +0 -0
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{Q as m,a as d,ma as a}from"./chunk-GCBXRNFB.js";import{e as f,h as r}from"./chunk-HFDLXX7R.js";r();var n=f(d(),1);import{useCallback as p,useMemo as u}from"react";var g=(0,n.typeCatalog)(m);function D(){let{model:o}=a(),s=u(()=>o.components.reduce((e,t)=>(e[t.type].push(t),e),{DashboardPage:[],DashboardSidebarCategory:[],EmbeddedScript:[],CustomElement:[],DashboardPlugin:[],DashboardMenuPlugin:[],DashboardModal:[]}),[o.components]),i=p(e=>e?s[e].length>0:o.components.length>0,[s,o.components]),y=p(e=>s[e],[s]),l=p(e=>o.components.some(t=>t.platforms.some((0,n.isType)(e.type))),[o.components]),c=p(e=>o.components.every(t=>t.platforms.some((0,n.isType)(e.type))||t.platforms.length===0),[o.components]);return{getExtensions:y,hasExtensions:i,isPlatformExists:l,hasSinglePlatform:c}}export{D as a};
4
- //# sourceMappingURL=chunk-UZC2NC3I.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/extensions/useExtensions.tsx"],"sourcesContent":["import { useCallback, useMemo } from 'react';\nimport { isType, typeCatalog } from 'variant';\nimport type { PlatformType } from '@wix/cli-app-definitions';\nimport { useProjectModel } from '../../model.js';\nimport { DevCenterComponent } from '../../dev-center/components/dev-center-component.js';\n\nconst DevCenterComponentTypes = typeCatalog(DevCenterComponent);\ntype ExtensionType = keyof typeof DevCenterComponentTypes;\ntype ExtensionsMap = { [K in ExtensionType]: DevCenterComponent<K>[] };\nexport function useExtensions() {\n const { model } = useProjectModel();\n const extensionsByType = useMemo(\n () =>\n model.components.reduce<ExtensionsMap>(\n (acc, component) => {\n //eslint-disable-next-line @typescript-eslint/no-explicit-any\n acc[component.type].push(component as any);\n return acc;\n },\n {\n DashboardPage: [],\n DashboardSidebarCategory: [],\n EmbeddedScript: [],\n CustomElement: [],\n DashboardPlugin: [],\n DashboardMenuPlugin: [],\n DashboardModal: [],\n }\n ),\n [model.components]\n );\n\n const hasExtensions = useCallback(\n (extensionType?: ExtensionType) =>\n extensionType\n ? extensionsByType[extensionType].length > 0\n : model.components.length > 0,\n [extensionsByType, model.components]\n );\n\n const getExtensions = useCallback(\n <T extends ExtensionType>(extensionType: T) =>\n extensionsByType[extensionType],\n [extensionsByType]\n );\n\n const isPlatformExists = useCallback(\n (platformType: PlatformType) =>\n model.components.some((component) =>\n component.platforms.some(isType(platformType.type))\n ),\n [model.components]\n );\n\n const hasSinglePlatform = useCallback(\n (platformType: PlatformType) =>\n model.components.every(\n (component) =>\n component.platforms.some(isType(platformType.type)) ||\n component.platforms.length === 0\n ),\n [model.components]\n );\n\n return {\n getExtensions,\n hasExtensions,\n isPlatformExists,\n hasSinglePlatform,\n };\n}\n"],"mappings":";;sGAAAA,IACA,IAAAC,EAAoC,SADpC,OAAS,eAAAC,EAAa,WAAAC,MAAe,QAMrC,IAAMC,KAA0B,eAAYC,CAAkB,EAGvD,SAASC,GAAgB,CAC9B,GAAM,CAAE,MAAAC,CAAM,EAAIC,EAAgB,EAC5BC,EAAmBC,EACvB,IACEH,EAAM,WAAW,OACf,CAACI,EAAKC,KAEJD,EAAIC,EAAU,IAAI,EAAE,KAAKA,CAAgB,EAClCD,GAET,CACE,cAAe,CAAC,EAChB,yBAA0B,CAAC,EAC3B,eAAgB,CAAC,EACjB,cAAe,CAAC,EAChB,gBAAiB,CAAC,EAClB,oBAAqB,CAAC,EACtB,eAAgB,CAAC,CACnB,CACF,EACF,CAACJ,EAAM,UAAU,CACnB,EAEMM,EAAgBC,EACnBC,GACCA,EACIN,EAAiBM,CAAa,EAAE,OAAS,EACzCR,EAAM,WAAW,OAAS,EAChC,CAACE,EAAkBF,EAAM,UAAU,CACrC,EAEMS,EAAgBF,EACMC,GACxBN,EAAiBM,CAAa,EAChC,CAACN,CAAgB,CACnB,EAEMQ,EAAmBH,EACtBI,GACCX,EAAM,WAAW,KAAMK,GACrBA,EAAU,UAAU,QAAK,UAAOM,EAAa,IAAI,CAAC,CACpD,EACF,CAACX,EAAM,UAAU,CACnB,EAEMY,EAAoBL,EACvBI,GACCX,EAAM,WAAW,MACdK,GACCA,EAAU,UAAU,QAAK,UAAOM,EAAa,IAAI,CAAC,GAClDN,EAAU,UAAU,SAAW,CACnC,EACF,CAACL,EAAM,UAAU,CACnB,EAEA,MAAO,CACL,cAAAS,EACA,cAAAH,EACA,iBAAAI,EACA,kBAAAE,CACF,CACF","names":["init_esm_shims","import_variant","useCallback","useMemo","DevCenterComponentTypes","DevCenterComponent","useExtensions","model","useProjectModel","extensionsByType","useMemo","acc","component","hasExtensions","useCallback","extensionType","getExtensions","isPlatformExists","platformType","hasSinglePlatform"]}
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{b as de}from"./chunk-OYUGDF7S.js";import{b as U,c as V,e as le,f as ve,g as _e,h as ue}from"./chunk-G5KG2B42.js";import{a as re,b as oe,c as D,d as x,e as A,f as u,r as me}from"./chunk-RQK35Z3D.js";import{A as b,B as S,D as ne,f as pe,g as se,n as O,o as G,q as T,r as ie,t as P,u as M,w as R,x as z}from"./chunk-UJW3X3T2.js";import{D as ce,a as y,c as h,d as g,h as m,i as L,ma as B}from"./chunk-GCBXRNFB.js";import{e as C,h as p}from"./chunk-HFDLXX7R.js";p();import{useMemo as Nt}from"react";p();p();var he={actionConfig:"_actionSPIConfig"},ge={icon:"_commonImage"},Se={requiredSettings:"google.protobuf.FieldMask",adminConfigurableSettings:"google.protobuf.FieldMask"};var Ae={expectedInputs:"_expectedInputs"};var Pe={urlExpirationDate:"google.protobuf.Timestamp"},Re={compData:"_componentData"},Ce={widgetComponentData:"_widgetComponentData",widgetOutOfIframeData:"_widgetOutOfIframeComponentData",studioWidgetComponentData:"_studioWidgetComponentData",shippingLabelCarrier:"_shippingLabelCarrierSpiConfig",fictionalShippingProvider:"_shippingProviderConfig",automationsActionProvider:"_actionProviderSPIConfig",identityAuthenticator:"_authenticatorConfig",multilingualTranslationSchema:"_multilingualTranslationSchema"};var ye={presetsEditorPresence:"_presetEditorPresence"},De={expectedStartInputs:"_predefinedExpectedInput",expectedVerifyInputs:"_predefinedExpectedInput"};var _t={dateCreated:"google.protobuf.Timestamp",components:"_component"},ut={};var ft={dateCreated:"google.protobuf.Timestamp",components:"_component"};var ht={},gt={apps:"_getAppInfoResponse"};var xe={urlExpirationDate:"google.protobuf.Timestamp"};var be={referenceData:"_schema"},qe={width:"DOUBLE",length:"DOUBLE",height:"google.protobuf.DoubleValue"},we={dimension:"_packageDimension",image:"_image"};var Ie={configuration:"_predefinedExpectedInputConfiguration"},Oe={textInput:"_adminConfigurableTextInput"},Te={wixMediaThumbnail:"_commonImage"};var Ne={createdDate:"google.protobuf.Timestamp",updatedDate:"google.protobuf.Timestamp",fields:"Map#_v1SchemaField"};var Je={packageTypes:"_packageType"},Ee={shippingPrice:"DOUBLE"},Fe={widgetDisplay:"_widgetDisplay",editorPresence:"_editorPresence"};var fe={createdDate:"google.protobuf.Timestamp",updatedDate:"google.protobuf.Timestamp"},St={app:"_v1App"},At={app:"_v1App"};var ke={index:"google.protobuf.DoubleValue"},Le={widgetDisplay:"_widgetDisplay"},Ge={price:"google.protobuf.FloatValue"},Me={widgetData:"_widgetComponentData"};function W(t){var e={"api._api_base_domain_":[{srcPath:"/app-service-webapp",destPath:""}],"dev._base_domain_":[{srcPath:"/_api/app-service",destPath:"/api"},{srcPath:"/_api/app-service-webapp",destPath:""}],"editor._base_domain_":[{srcPath:"/_api/app-service",destPath:"/api"},{srcPath:"/_api/app-service-webapp",destPath:""}],"blocks._base_domain_":[{srcPath:"/_api/app-service",destPath:"/api"},{srcPath:"/_api/app-service-webapp",destPath:""}],"create.editorx":[{srcPath:"/_api/app-service",destPath:"/api"},{srcPath:"/_api/app-service-webapp",destPath:""}],"bo._base_domain_":[{srcPath:"/_api/app-service",destPath:"/api"},{srcPath:"/_api/app-service-webapp",destPath:""},{srcPath:"/app-service-webapp",destPath:"/api"}],"wixbo.ai":[{srcPath:"/_api/app-service",destPath:"/api"},{srcPath:"/_api/app-service-webapp",destPath:""},{srcPath:"/app-service-webapp",destPath:"/api"}],"manage._base_domain_":[{srcPath:"/_api/app-service",destPath:"/api"},{srcPath:"/_api/app-service-webapp",destPath:""}],"www._base_domain_":[{srcPath:"/_api/app-service",destPath:"/api"},{srcPath:"/_api/app-service-webapp",destPath:""}]};return x(Object.assign(t,{domainToMappings:e}))}function Pt(t){var e={"editor._base_domain_":[{srcPath:"/apps-service",destPath:""}],"blocks._base_domain_":[{srcPath:"/apps-service",destPath:""}],"create.editorx":[{srcPath:"/apps-service",destPath:""}],"bo._base_domain_":[{srcPath:"/apps-service",destPath:""},{srcPath:"/apps-service",destPath:""}],"wixbo.ai":[{srcPath:"/apps-service",destPath:""},{srcPath:"/apps-service",destPath:""}],"dev._base_domain_":[{srcPath:"/apps-service",destPath:""}],"www._base_domain_":[{srcPath:"/_api/apps-service",destPath:"/api"},{srcPath:"/apps-service",destPath:""}],"manage._base_domain_":[{srcPath:"/apps-service",destPath:""}]};return x(Object.assign(t,{domainToMappings:e}))}function ze(t){var e=u(St,{_v1App:fe}),r=e.toJSON,a=e.fromJSON,i=u(At,{_v1App:fe}).fromJSON;function o(n){var d=n.host,s=r(t),c={entityFqdn:"wix.devcenter.apps.v1.app",method:"POST",methodFqn:"wix.devcenter.apps.v1.AppsService.CreateApp",url:Pt({protoPath:"/v1/apps",data:s,host:d}),data:s,transformResponse:i};return c}return o.fromReq=a,o.__isAmbassador=!0,o}function Be(t){var e=u(ut,{}),r=e.toJSON,a=e.fromJSON,i=u(ft,{_actionProviderSPIConfig:he,_actionSPIConfig:ge,_adminConfigurableTextInput:Se,_authenticatorConfig:Ae,_commonImage:Pe,_component:Re,_componentData:Ce,_editorPresence:ye,_expectedInputs:De,_image:xe,_multilingualTranslationSchema:be,_packageDimension:qe,_packageType:we,_predefinedExpectedInput:Ie,_predefinedExpectedInputConfiguration:Oe,_presetEditorPresence:Te,_schema:Ne,_shippingLabelCarrierSpiConfig:Je,_shippingProviderConfig:Ee,_studioWidgetComponentData:Fe,_v1SchemaField:ke,_widgetComponentData:Le,_widgetDisplay:Ge,_widgetOutOfIframeComponentData:Me}).fromJSON;function o(n){var d=n.host,s=r(t),c={entityFqdn:"wix.devcenter.apps.v1.app",method:"GET",methodFqn:"com.wixpress.appservice.api.Apps.GetAppSnapshot",url:W({protoPath:"/v1/apps/{appId}",data:s,host:d}),params:A(s),transformResponse:i,fallback:[{method:"GET",url:W({protoPath:"/v1/apps/{appId}",data:s,host:d}),params:A(s)}]};return c}return o.fromReq=a,o.__isAmbassador=!0,o}function Ue(t){var e=u(ht,{}),r=e.toJSON,a=e.fromJSON,i=u(gt,{_actionProviderSPIConfig:he,_actionSPIConfig:ge,_adminConfigurableTextInput:Se,_authenticatorConfig:Ae,_commonImage:Pe,_component:Re,_componentData:Ce,_editorPresence:ye,_expectedInputs:De,_getAppInfoResponse:_t,_image:xe,_multilingualTranslationSchema:be,_packageDimension:qe,_packageType:we,_predefinedExpectedInput:Ie,_predefinedExpectedInputConfiguration:Oe,_presetEditorPresence:Te,_schema:Ne,_shippingLabelCarrierSpiConfig:Je,_shippingProviderConfig:Ee,_studioWidgetComponentData:Fe,_v1SchemaField:ke,_widgetComponentData:Le,_widgetDisplay:Ge,_widgetOutOfIframeComponentData:Me}).fromJSON;function o(n){var d=n.host,s=r(t),c={entityFqdn:"wix.devcenter.apps.v1.app",method:"GET",methodFqn:"com.wixpress.appservice.api.Apps.GetDeveloperApps",url:W({protoPath:"/v1/apps",data:s,host:d}),params:A(s),transformResponse:i,fallback:[{method:"GET",url:W({protoPath:"/v1/apps",data:s,host:d}),params:A(s)}]};return c}return o.fromReq=a,o.__isAmbassador=!0,o}p();var Rt={},Ct={};var yt={},Dt={},xt={},bt={};function Q(t){var e={"api._api_base_domain_":[{srcPath:"/development-sites-manager",destPath:""}],"manage._base_domain_":[{srcPath:"/development-sites-manager",destPath:""},{srcPath:"/_api/development-sites-manager",destPath:""}],"bo._base_domain_":[{srcPath:"/development-sites-manager",destPath:""}],"www.wixapps.net":[{srcPath:"/development-sites-manager/v1/development-sites",destPath:""}],"dev._base_domain_":[{srcPath:"/development-sites-manager",destPath:""}],"www.wixapis.com":[{srcPath:"/development-sites-manager/v1/development-sites",destPath:""}]};return x(Object.assign(t,{domainToMappings:e}))}function Ve(t){var e=u(Rt,{}),r=e.toJSON,a=e.fromJSON,i=u(Ct,{}).fromJSON;function o(n){var d=n.host,s=r(t),c={method:"POST",url:Q({protoPath:"/v1/development-sites",data:s,host:d}),data:s,transformResponse:i};return c}return o.fromReq=a,o}function We(t){var e=u(xt,{}),r=e.toJSON,a=e.fromJSON,i=u(bt,{}).fromJSON;function o(n){var d=n.host,s=r(t),c={method:"GET",url:Q({protoPath:"/v1/development-sites",data:s,host:d}),params:A(s),transformResponse:i};return c}return o.fromReq=a,o}function je(t){var e=u(yt,{}),r=e.toJSON,a=e.fromJSON,i=u(Dt,{}).fromJSON;function o(n){var d=n.host,s=r(t),c={method:"GET",url:Q({protoPath:"/v1/development-sites-limit",data:s,host:d}),params:A(s),transformResponse:i};return c}return o.fromReq=a,o}p();var qt={},wt={};function It(t){var e={"bo._base_domain_":[{srcPath:"/_api/app-assessment",destPath:""}],_api_base_domain_:[{srcPath:"/_api/app-assessment-service",destPath:""}],"dev._base_domain_":[{srcPath:"/_api/app-assessment",destPath:""}],"manage._base_domain_":[{srcPath:"/_api/app-assessment",destPath:""}]};return x(Object.assign(t,{domainToMappings:e}))}function He(t){var e=u(qt,{}),r=e.toJSON,a=e.fromJSON,i=u(wt,{}).fromJSON;function o(n){var d=n.host,s=r(t),c={entityFqdn:"wix.devcenter.app_assessment.v1.validation",method:"GET",methodFqn:"com.wix.devcenter.AppValidationService.GetAppValidationReport",url:It({protoPath:"/v1/get-app-validation-report/{appId}/{version}",data:s,host:d}),params:A(s),transformResponse:i};return c}return o.fromReq=a,o.__isAmbassador=!0,o}p();var Ke=m.object({app:m.object({id:m.string()})}),Ye=m.object({latestVersion:m.string()}),$e=m.object({developmentSite:m.object({id:m.string(),siteName:m.string()})}),Qe=m.object({developmentSites:m.array(m.object({}))}),Xe=m.object({limit:m.number()}),Ot=m.object({name:m.string(),appId:m.string()}),Ze=m.object({apps:m.array(Ot)}),et=m.object({appPropertiesValidity:m.array(m.object({failures:m.array(m.string())}))});var Tt="24bafe8a-7c80-4b63-8a71-08752062f246",j=class{constructor(e){this.httpClient=e;let{minRetryTimeout:r}=L();this.retryOptions={retries:3,minTimeout:r,maxTimeout:3*1e3}}retryOptions;createApp=async e=>{try{let{data:r}=await D(()=>this.httpClient.request(ze({app:e})),this.retryOptions);return Ke.parse(r).app}catch(r){throw new h({code:g.FailedToCreateDevCenterApp(),cause:r})}};getAppSnapshot=async e=>{let{data:r}=await D(()=>this.httpClient.request(Be(e)),this.retryOptions);return Ye.parse(r)};createDevSite=async()=>{try{let{data:e}=await D(()=>this.httpClient.request(Ve({templateId:Tt})),this.retryOptions),{id:r,siteName:a}=$e.parse(e).developmentSite;return{id:r,displayName:a.replaceAll("-"," "),viewUrl:""}}catch(e){throw new h({code:g.FailedToCreateDevelopmentSite(),cause:e})}};getDevSitesCount=async()=>{try{let{data:e}=await D(()=>this.httpClient.request(We({})),this.retryOptions);return Qe.parse(e).developmentSites.length}catch(e){throw new h({code:g.FailedToGetDevelopmentSites(),cause:e})}};getDeveloperApps=async()=>{try{let{data:e}=await D(()=>this.httpClient.request(Ue({})),this.retryOptions);return Ze.parse(e).apps}catch(e){throw new h({code:g.FailedToGetDeveloperApps(),cause:e})}};getDevSitesLimit=async()=>{try{let{data:e}=await D(()=>this.httpClient.request(je({})),this.retryOptions);return Xe.parse(e).limit}catch(e){throw new h({code:g.FailedToGetDevelopmentSitesLimit(),cause:e})}};getAppValidationFailuresCount=async(e,r)=>{try{let{data:a}=await this.httpClient.request(He({appId:e,version:r||"latest"}));return et.parse(a).appPropertiesValidity.filter(n=>n.failures.length>0).length}catch(a){throw new h({code:g.FailedToGetAppValidity(),cause:a})}}};function N(){let t=U({type:"backoffice"});return Nt(()=>new j(t),[t])}p();p();var ae=C(y(),1);import $,{useCallback as vt}from"react";p();var Y=C(y(),1);import k from"react";p();p();var lt=C(y(),1);import q,{useState as Gt}from"react";p();var at=C(y(),1);import tt from"react";var rt=({onSubmit:t,onError:e,sites:r})=>{let{t:a}=S(),{getDevSitesCount:i,getDevSitesLimit:o}=N(),{status:n}=R(()=>Promise.all([i(),o()]),[],{onError:e});return(0,at.match)(n,{Error:()=>null,Loading:()=>tt.createElement(P,{text:a("general.loading")}),Success:({result:[d,s]})=>{let c=d>=s,f=r.length===0;return tt.createElement(G,{label:a("site_type_select.label"),options:[{availability:f?O.Disabled({reason:a("site_type_select.no_sites")}):O.Enabled(),title:a("site_type_select.pick_existing_site"),value:"select-existing-site"},{title:a("site_type_select.create_new_dev_site"),value:"create-dev-site",availability:c?O.Disabled({reason:a("site_type_select.create_new_dev_site.disabled",{limit:s})}):O.Enabled()}],onSubmit:({value:_})=>t(_)})}})};p();var st=C(y(),1);import I from"react";p();import X from"react";p();p();import{useMemo as Jt}from"react";p();p();var ot=m.record(m.object({appDefinitionId:m.string().optional(),permissions:m.object({revoked:m.boolean()}).optional()}));var H=class{constructor(e){this.httpClient=e}isAppInstalled=async({metaSiteId:e,appId:r})=>{try{let{data:a}=await this.httpClient.request({url:`/_api/msm/v1/meta-site/editor-client-spec-map/${e}`}),i=ot.parse(a);return Object.values(i).some(n=>n.appDefinitionId===r&&!n.permissions?.revoked)}catch(a){throw new h({code:g.FailedToCheckIfAppInstalled(),cause:a})}}};function J(){let t=U({type:"general"});return Jt(()=>new H(t),[t])}var w=C(y(),1);p();import E from"react";var pt=({siteId:t,appId:e})=>(pe(async(r,a)=>{a.return&&await me(`https://manage.wix.com/installer/install?metaSiteId=${t}&appId=${e}&platform=cli&version=latest`)}),E.createElement(E.Fragment,null,E.createElement(b,{i18nKey:"install_app_on_site.warning"}),E.createElement(b,{i18nKey:"install_app_on_site.warning.instructions",components:[E.createElement(ie,{value:"enter"})]})));var Z=(0,w.variant)({Success:{},Canceled:{}});function Et(t){return t&&typeof t=="object"&&"name"in t&&t.name==="AbortError"}var K=({appId:t,site:e,onSubmit:r,onError:a})=>{let{isAppInstalled:i}=J(),{status:o}=R(async({signal:n})=>{let{appInstallationPollInterval:d}=L();try{return await oe(()=>i({metaSiteId:e.id,appId:t}),{interval:d??2e3,timeout:{milliseconds:60*1e3*2,signal:n}}),Z.Success()}catch(s){if(s instanceof re)throw new h({code:g.SiteSelectorTimedout(),cause:s});if(Et(s))return Z.Canceled();throw s}},[],{onError:a,onSuccess:n=>{(0,w.isType)(n,Z.Success)&&r()}});return(0,w.match)(o,{Error:()=>null,Loading:()=>X.createElement(pt,{siteId:e.id,appId:t}),Success:()=>X.createElement(T,{type:"success"},X.createElement(b,{i18nKey:"install_app_on_site.finished_successfully"}))})};var it=({status:t,appId:e,onSubmit:r,onError:a})=>{let{t:i}=S();return(0,st.match)(t,{NotRequested:()=>null,Error:()=>null,Loading:()=>I.createElement(P,{text:i("create_dev_site.loading")}),Success:({result:o})=>I.createElement(I.Fragment,null,I.createElement(b,{i18nKey:"create_dev_site.success",components:[I.createElement(se,{skin:"success",bold:!0})],values:{name:o.displayName}}),I.createElement(K,{appId:e,site:o,onSubmit:()=>r(o),onError:a}))})};var nt={"general.loading":"Loading...","site_type_select.label":"Select Development Site","site_type_select.create_new_dev_site":"Create a new Development Site","site_type_select.create_new_dev_site.disabled":"You have reached the maximum number of {limit} Development Sites","site_type_select.pick_existing_site":"Pick an existing site","site_type_select.no_sites":"No sites found","create_dev_site.loading":"Creating your new Development Site...","create_dev_site.success":"Development Site <0>{name}</0> created successfully! \u{1F680}","site_list_select.label":"Select Site","install_app_on_site.warning":"Your new application needs to be installed on the selected Development Site","install_app_on_site.warning.instructions":"Press <0/> to install the application in your browser","install_app_on_site.finished_successfully":"App installed on Development Site."};p();import F,{useState as Lt}from"react";var dt=C(y(),1);p();import kt from"react";var mt=({onSubmit:t,sites:e})=>{let{t:r}=S();return kt.createElement(G,{label:r("site_list_select.label"),options:e.map(a=>({key:a.id,title:a.displayName,description:a.viewUrl,value:a})),onSubmit:({value:a})=>t(a)})};var ct=({sites:t,appId:e,onSubmit:r,onError:a})=>{let{t:i}=S(),{isAppInstalled:o}=J(),[n,d]=Lt(null),s=z((f,_)=>o({metaSiteId:_.id,appId:e}),{onError:a});async function c(f){await s.execute(f)?r(f):d(f)}return F.createElement(F.Fragment,null,F.createElement(mt,{onSubmit:c,sites:t}),(0,dt.isType)(s.status,"Loading")&&F.createElement(P,{text:i("general.loading")}),n&&F.createElement(K,{appId:e,site:n,onSubmit:()=>r(n),onError:a}))};var ee=({appId:t,onSubmit:e,onError:r})=>{let{t:a}=S(),[i,o]=Gt(null),{createDevSite:n}=N(),d=V(),{status:s}=R(()=>d.querySites({query:{cursorPaging:{limit:100}}}),[],{onError:r}),c=z(()=>n(),{onError:r});function f(_){o(_),_==="create-dev-site"&&c.execute()}return q.createElement(ne,{messages:nt},(0,lt.match)(s,{Error:()=>null,Loading:()=>q.createElement(P,{text:a("general.loading")}),Success:({result:_})=>q.createElement(q.Fragment,null,q.createElement(rt,{onSubmit:f,onError:r,sites:_}),i==="create-dev-site"&&q.createElement(it,{status:c.status,appId:t,onSubmit:e,onError:r}),i==="select-existing-site"&&q.createElement(ct,{sites:_,appId:t,onSubmit:e,onError:r}))}))};var te=({state:t,onSubmit:e})=>{let r=M(),{t:a}=S(),{model:i}=B();return k.createElement(k.Fragment,null,(0,Y.match)(t,{NotConfigured:(0,Y.constant)(k.createElement(T,{type:"insight"},a("general.no_site_id_configured"))),NotFound:({id:o})=>k.createElement(T,{type:"error"},a("general.site_id_not_found",{id:o}))}),k.createElement(ee,{appId:i.config.appId,onSubmit:e,onError:r}))};var ro=({children:t,siteId:e})=>{let r=M(),{model:{projectFolder:a}}=B(),i=de(),o=V(),{status:n,merge:d}=R(async()=>ue({projectFolder:a,siteListClient:o,siteId:e,writeDebugLog:i}),[]),s=vt(async f=>{try{await le(a,{siteId:f.id}),d({result:_e.Resolved({site:f})})}catch{throw new h({code:g.FailedToSaveDevelopmentSite({path:ce})})}},[d,a]),c=vt(f=>s(f).catch(r),[r,s]);return(0,ae.match)(n,{Error:()=>null,Loading:()=>$.createElement(P,null),Success:({result:f})=>(0,ae.match)(f,{NotConfigured:_=>$.createElement(te,{state:_,onSubmit:c}),NotFound:_=>$.createElement(te,{state:_,onSubmit:c}),Resolved:({site:_})=>$.createElement(ve.Provider,{value:{site:_,setSite:s}},typeof t=="function"?t(_):t)})})};export{N as a,ee as b,ro as c};
4
- //# sourceMappingURL=chunk-VOV46J2K.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../dev-center-client/src/useDevCenterClient.ts","../../dev-center-client/src/dev-center-client.ts","../../../node_modules/@wix/ambassador-devcenter-apps-v1-app/http.impl.ts","../../../node_modules/@wix/ambassador-devcenter-dsm-v1-development-site/http.impl.ts","../../../node_modules/@wix/ambassador-devcenter-app-assessment-v1-validation/http.impl.ts","../../dev-center-client/src/schemas.ts","../../dev-center-client/src/index.ts","../src/site-id/SiteIdProvider.tsx","../src/site-id/ResolveSiteId.tsx","../../cli-site-selector/src/index.ts","../../cli-site-selector/src/SiteSelector.tsx","../../cli-site-selector/src/SiteTypeSelect.tsx","../../cli-site-selector/src/CreateDevSite.tsx","../../cli-site-selector/src/WaitForAppToBeInstalled.tsx","../../metasite-manager-client/src/index.ts","../../metasite-manager-client/src/useMetasiteManagerClient.ts","../../metasite-manager-client/src/metasite-manager-client.ts","../../metasite-manager-client/src/schemas.ts","../../cli-site-selector/src/OpenBrowser.tsx","../../cli-site-selector/src/messages.json","../../cli-site-selector/src/SelectExistingSite.tsx","../../cli-site-selector/src/SiteListSelect.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { DevCenterClient } from './dev-center-client.js';\n\nexport function useDevCenterClient(): DevCenterClient {\n const httpClient = useHttpClient({ type: 'backoffice' });\n return useMemo(() => new DevCenterClient(httpClient), [httpClient]);\n}\n","import { getTestOverrides } from '@wix/cli-test-overrides';\nimport pRetry, { type Options } from 'p-retry';\nimport { type HttpClient } from '@wix/cli-http-client';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type {\n V1App,\n GetAppRequest,\n} from '@wix/ambassador-devcenter-apps-v1-app/types';\nimport {\n getAppSnapshot,\n createApp,\n getDeveloperApps,\n} from '@wix/ambassador-devcenter-apps-v1-app/http';\nimport {\n getDevelopmentSites,\n createDevelopmentSite,\n getDevelopmentSitesLimit,\n} from '@wix/ambassador-devcenter-dsm-v1-development-site/http';\nimport { getAppValidationReport } from '@wix/ambassador-devcenter-app-assessment-v1-validation/http';\nimport {\n createAppSchema,\n appSnapshotSchema,\n createDevelopmentSiteSchema,\n getDevelopmentSitesLimitSchema,\n getDevelopmentSitesSchema,\n getDeveloperAppsSchema,\n getAppPropertiesValiditySchema,\n} from './schemas.js';\n\nconst EMPTY_SITE_TEMPLATE = '24bafe8a-7c80-4b63-8a71-08752062f246';\n\nexport class DevCenterClient {\n private readonly retryOptions: Options;\n\n constructor(private readonly httpClient: HttpClient) {\n const { minRetryTimeout } = getTestOverrides();\n\n this.retryOptions = {\n retries: 3,\n minTimeout: minRetryTimeout,\n maxTimeout: 3 * 1000,\n };\n }\n\n createApp = async (app: V1App) => {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(createApp({ app })),\n this.retryOptions\n );\n\n return createAppSchema.parse(data).app;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCreateDevCenterApp(),\n cause: e,\n });\n }\n };\n\n getAppSnapshot = async (req: GetAppRequest) => {\n const { data } = await pRetry(\n () => this.httpClient.request(getAppSnapshot(req)),\n this.retryOptions\n );\n\n return appSnapshotSchema.parse(data);\n };\n\n createDevSite = async () => {\n try {\n const { data } = await pRetry(\n () =>\n this.httpClient.request(\n createDevelopmentSite({\n templateId: EMPTY_SITE_TEMPLATE,\n })\n ),\n this.retryOptions\n );\n\n const { id, siteName } =\n createDevelopmentSiteSchema.parse(data).developmentSite;\n\n // 'createDevSite' is missing displayName and viewUrl but are always created with an empty viewUrl (site not published) and a display name based on site name\n const site = {\n id,\n displayName: siteName.replaceAll('-', ' '),\n viewUrl: '',\n };\n\n return site;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCreateDevelopmentSite(),\n cause: e,\n });\n }\n };\n\n getDevSitesCount = async () => {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(getDevelopmentSites({})),\n this.retryOptions\n );\n\n return getDevelopmentSitesSchema.parse(data).developmentSites.length;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetDevelopmentSites(),\n cause: e,\n });\n }\n };\n\n getDeveloperApps = async () => {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(getDeveloperApps({})),\n this.retryOptions\n );\n\n return getDeveloperAppsSchema.parse(data).apps;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetDeveloperApps(),\n cause: e,\n });\n }\n };\n\n getDevSitesLimit = async () => {\n try {\n const { data } = await pRetry(\n () => this.httpClient.request(getDevelopmentSitesLimit({})),\n this.retryOptions\n );\n\n return getDevelopmentSitesLimitSchema.parse(data).limit;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetDevelopmentSitesLimit(),\n cause: e,\n });\n }\n };\n\n getAppValidationFailuresCount = async (appId: string, version?: string) => {\n try {\n const { data } = await this.httpClient.request(\n getAppValidationReport({ appId, version: version || 'latest' })\n );\n const result = getAppPropertiesValiditySchema.parse(data);\n const numOfFailingProperties = result.appPropertiesValidity.filter(\n (appProperty) => appProperty.failures.length > 0\n ).length;\n\n return numOfFailingProperties;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToGetAppValidity(),\n cause: e,\n });\n }\n };\n}\n",null,null,null,"import { z } from 'zod';\n\nexport const createAppSchema = z.object({\n app: z.object({\n id: z.string(),\n }),\n});\n\nexport const appSnapshotSchema = z.object({\n latestVersion: z.string(),\n});\n\nexport const createDevelopmentSiteSchema = z.object({\n developmentSite: z.object({\n id: z.string(),\n siteName: z.string(),\n }),\n});\n\nexport const getDevelopmentSitesSchema = z.object({\n developmentSites: z.array(z.object({})),\n});\n\nexport const getDevelopmentSitesLimitSchema = z.object({\n limit: z.number(),\n});\n\nexport const developerAppSchema = z.object({\n name: z.string(),\n appId: z.string(),\n});\n\nexport const getDeveloperAppsSchema = z.object({\n apps: z.array(developerAppSchema),\n});\n\nexport type DeveloperApp = z.TypeOf<typeof developerAppSchema>;\n\nexport const getAppPropertiesValiditySchema = z.object({\n appPropertiesValidity: z.array(\n z.object({\n failures: z.array(z.string()),\n })\n ),\n});\n","export { DevCenterClient } from './dev-center-client.js';\nexport type { DeveloperApp } from './schemas.js';\nexport { useDevCenterClient } from './useDevCenterClient.js';\n","import React, { type FC, type ReactNode, useCallback } from 'react';\nimport { match } from 'variant';\nimport { useDebugLog } from '@wix/cli-debug-log';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { APP_CONFIG_PATH } from '@wix/cli-app-definitions';\nimport { useAsync, useExit, Spinner } from '@wix/cli-ui-kit';\nimport { type Site, useSiteListClient } from '@wix/site-list-client';\nimport { saveAppConfig } from '../files/app.config.js';\nimport { useProjectModel } from '../model.js';\nimport { ResolveSiteId } from './ResolveSiteId.js';\nimport { SiteIdContext } from './context.js';\nimport { SiteIdState } from './site-id-state.js';\nimport { resolveConfiguredSite } from './resolve-configured-site.js';\n\nexport const SiteIdProvider: FC<{\n siteId?: string;\n children: ReactNode | ((site: Site) => ReactNode);\n}> = ({ children, siteId }) => {\n const exit = useExit();\n const {\n model: { projectFolder },\n } = useProjectModel();\n const writeDebugLog = useDebugLog();\n const siteListClient = useSiteListClient();\n\n const { status, merge } = useAsync(\n async () =>\n resolveConfiguredSite({\n projectFolder,\n siteListClient,\n siteId,\n writeDebugLog,\n }),\n []\n );\n\n const setSite = useCallback(\n async (site: Site) => {\n try {\n await saveAppConfig(projectFolder, { siteId: site.id });\n merge({ result: SiteIdState.Resolved({ site }) });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToSaveDevelopmentSite({\n path: APP_CONFIG_PATH,\n }),\n });\n }\n },\n [merge, projectFolder]\n );\n\n const handleResolveSiteId = useCallback(\n (site: Site) => setSite(site).catch(exit),\n [exit, setSite]\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner />,\n Success: ({ result: state }) => {\n return match(state, {\n NotConfigured: (variant) => (\n <ResolveSiteId state={variant} onSubmit={handleResolveSiteId} />\n ),\n NotFound: (variant) => (\n <ResolveSiteId state={variant} onSubmit={handleResolveSiteId} />\n ),\n Resolved: ({ site }) => (\n <SiteIdContext.Provider\n value={{\n site,\n setSite,\n }}\n >\n {typeof children === 'function' ? children(site) : children}\n </SiteIdContext.Provider>\n ),\n });\n },\n });\n};\n","import React, { type FC } from 'react';\nimport { match, constant } from 'variant';\nimport type { Site } from '@wix/site-list-client';\nimport { Alert, useExit } from '@wix/cli-ui-kit';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SiteSelector } from '@wix/cli-site-selector';\nimport { useProjectModel } from '../model.js';\nimport type { SiteIdState } from './site-id-state.js';\n\ninterface Props {\n state: SiteIdState<'NotConfigured' | 'NotFound'>;\n onSubmit: (site: Site) => void;\n}\n\nexport const ResolveSiteId: FC<Props> = ({ state, onSubmit }) => {\n const exit = useExit();\n const { t } = useTranslation();\n const { model } = useProjectModel();\n\n return (\n <>\n {match(state, {\n NotConfigured: constant(\n <Alert type=\"insight\">{t('general.no_site_id_configured')}</Alert>\n ),\n NotFound: ({ id }) => (\n <Alert type=\"error\">{t('general.site_id_not_found', { id })}</Alert>\n ),\n })}\n <SiteSelector\n appId={model.config.appId}\n onSubmit={onSubmit}\n onError={exit}\n />\n </>\n );\n};\n","export { SiteSelector } from './SiteSelector.js';\n","import React, { type FC, useState } from 'react';\nimport { match } from 'variant';\nimport { I18nProvider, useTranslation } from '@wix/cli-i18n';\nimport type { Site } from '@wix/site-list-client';\nimport { Spinner, useAsync, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport { useSiteListClient } from '@wix/site-list-client';\nimport { SiteTypeSelect, type SiteType } from './SiteTypeSelect.js';\nimport { CreateDevSite } from './CreateDevSite.js';\nimport messages from './messages.json';\nimport { SelectExistingSite } from './SelectExistingSite.js';\n\ninterface Props {\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SiteSelector: FC<Props> = ({ appId, onSubmit, onError }) => {\n const { t } = useTranslation();\n const [siteType, setSiteType] = useState<SiteType | null>(null);\n const { createDevSite } = useDevCenterClient();\n const siteListClient = useSiteListClient();\n\n const { status } = useAsync(\n () =>\n siteListClient.querySites({\n query: {\n cursorPaging: {\n limit: 100,\n },\n },\n }),\n [],\n {\n onError,\n }\n );\n\n const createSite = useAsyncCallback(() => createDevSite(), {\n onError,\n });\n\n function handleSelectSiteType(siteType: SiteType) {\n setSiteType(siteType);\n if (siteType === 'create-dev-site') {\n createSite.execute();\n }\n }\n\n return (\n <I18nProvider messages={messages}>\n {match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('general.loading')} />,\n Success: ({ result: sites }) => (\n <>\n <SiteTypeSelect\n onSubmit={handleSelectSiteType}\n onError={onError}\n sites={sites}\n />\n {siteType === 'create-dev-site' && (\n <CreateDevSite\n status={createSite.status}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n {siteType === 'select-existing-site' && (\n <SelectExistingSite\n sites={sites}\n appId={appId}\n onSubmit={onSubmit}\n onError={onError}\n />\n )}\n </>\n ),\n })}\n </I18nProvider>\n );\n};\n","import React, { type FC } from 'react';\nimport { match } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport {\n Spinner,\n SelectInput,\n useAsync,\n SelectOptionAvailability,\n} from '@wix/cli-ui-kit';\nimport { useDevCenterClient } from '@wix/dev-center-client';\nimport type { Site } from '@wix/site-list-client';\n\nexport type SiteType = 'create-dev-site' | 'select-existing-site';\ninterface Props {\n onSubmit: (siteType: SiteType) => void;\n onError: (error: unknown) => void;\n sites: Site[];\n}\n\nexport const SiteTypeSelect: FC<Props> = ({ onSubmit, onError, sites }) => {\n const { t } = useTranslation();\n const { getDevSitesCount, getDevSitesLimit } = useDevCenterClient();\n const { status } = useAsync(\n () => Promise.all([getDevSitesCount(), getDevSitesLimit()]),\n [],\n { onError }\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <Spinner text={t('general.loading')} />,\n Success: ({ result: [devSitesCount, devSitesLimit] }) => {\n const isDevSitesLimitReached = devSitesCount >= devSitesLimit;\n const userHasNoSites = sites.length === 0;\n\n return (\n <SelectInput<SiteType>\n label={t('site_type_select.label')}\n options={[\n {\n availability: userHasNoSites\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.no_sites'),\n })\n : SelectOptionAvailability.Enabled(),\n title: t('site_type_select.pick_existing_site'),\n value: 'select-existing-site',\n },\n {\n title: t('site_type_select.create_new_dev_site'),\n value: 'create-dev-site',\n availability: isDevSitesLimitReached\n ? SelectOptionAvailability.Disabled({\n reason: t('site_type_select.create_new_dev_site.disabled', {\n limit: devSitesLimit,\n }),\n })\n : SelectOptionAvailability.Enabled(),\n },\n ]}\n onSubmit={({ value }) => onSubmit(value)}\n />\n );\n },\n });\n};\n","import React, { type FC } from 'react';\nimport { match } from 'variant';\nimport { Trans, useTranslation } from '@wix/cli-i18n';\nimport type { AsyncCallbackStatus } from '@wix/cli-ui-kit';\nimport { Text, Spinner } from '@wix/cli-ui-kit';\nimport type { Site } from '@wix/site-list-client';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\n\ninterface Props {\n status: AsyncCallbackStatus<Site>;\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const CreateDevSite: FC<Props> = ({\n status,\n appId,\n onSubmit,\n onError,\n}) => {\n const { t } = useTranslation();\n\n return match(status, {\n NotRequested: () => null,\n Error: () => null,\n Loading: () => <Spinner text={t('create_dev_site.loading')} />,\n Success: ({ result }) => (\n <>\n <Trans\n i18nKey=\"create_dev_site.success\"\n components={[<Text skin=\"success\" bold />]}\n values={{ name: result.displayName }}\n />\n <WaitForAppToBeInstalled\n appId={appId}\n site={result}\n onSubmit={() => onSubmit(result)}\n onError={onError}\n />\n </>\n ),\n });\n};\n","import pWaitFor, { TimeoutError } from 'p-wait-for';\nimport React, { type FC } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport { Alert, useAsync } from '@wix/cli-ui-kit';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport { isType, match, variant } from 'variant';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { Site } from '@wix/site-list-client';\nimport { OpenBrowser } from './OpenBrowser.js';\n\ninterface Props {\n site: Site;\n appId: string;\n onSubmit: () => void;\n onError: (error: unknown) => void;\n}\n\nexport const AppInstallData = variant({\n Success: {},\n Canceled: {},\n});\n\nfunction isAbortError(error: unknown) {\n return (\n error &&\n typeof error === 'object' &&\n 'name' in error &&\n error.name === 'AbortError'\n );\n}\n\nexport const WaitForAppToBeInstalled: FC<Props> = ({\n appId,\n site,\n onSubmit,\n onError,\n}) => {\n const { isAppInstalled } = useMetasiteManagerClient();\n\n const { status } = useAsync(\n async ({ signal }) => {\n const { appInstallationPollInterval } = getTestOverrides();\n\n try {\n await pWaitFor(() => isAppInstalled({ metaSiteId: site.id, appId }), {\n interval: appInstallationPollInterval ?? 2000,\n timeout: {\n milliseconds: 60 * 1000 * 2,\n signal,\n },\n });\n\n return AppInstallData.Success();\n } catch (error) {\n if (error instanceof TimeoutError) {\n throw new CliError({\n code: CliErrorCode.SiteSelectorTimedout(),\n cause: error,\n });\n }\n\n if (isAbortError(error)) {\n return AppInstallData.Canceled();\n }\n\n throw error;\n }\n },\n [],\n {\n onError,\n onSuccess: (result) => {\n if (isType(result, AppInstallData.Success)) {\n onSubmit();\n }\n },\n }\n );\n\n return match(status, {\n Error: () => null,\n Loading: () => <OpenBrowser siteId={site.id} appId={appId} />,\n Success: () => (\n <Alert type=\"success\">\n <Trans i18nKey=\"install_app_on_site.finished_successfully\" />\n </Alert>\n ),\n });\n};\n","export { useMetasiteManagerClient } from './useMetasiteManagerClient.js';\n","import { useMemo } from 'react';\nimport { useHttpClient } from '@wix/cli-http-client-react';\nimport { MetasiteManagerClient } from './metasite-manager-client.js';\n\nexport function useMetasiteManagerClient(): MetasiteManagerClient {\n const httpClient = useHttpClient({ type: 'general' });\n return useMemo(() => new MetasiteManagerClient(httpClient), [httpClient]);\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport { clientSpecMapSchema } from './schemas.js';\n\nexport class MetasiteManagerClient {\n constructor(private readonly httpClient: HttpClient) {}\n\n public isAppInstalled = async ({\n metaSiteId,\n appId,\n }: {\n metaSiteId: string;\n appId: string;\n }) => {\n try {\n const { data } = await this.httpClient.request({\n url: `/_api/msm/v1/meta-site/editor-client-spec-map/${metaSiteId}`,\n });\n\n const clientSpecMap = clientSpecMapSchema.parse(data);\n\n const isInstalled = Object.values(clientSpecMap).some(\n (spec) => spec.appDefinitionId === appId && !spec.permissions?.revoked\n );\n\n return isInstalled;\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToCheckIfAppInstalled(),\n cause: e,\n });\n }\n };\n}\n","import { z } from 'zod';\n\nexport const clientSpecMapSchema = z.record(\n z.object({\n appDefinitionId: z.string().optional(),\n permissions: z.object({ revoked: z.boolean() }).optional(),\n })\n);\n\nexport type ClientSpecMap = z.TypeOf<typeof clientSpecMapSchema>;\n","import React, { type FC } from 'react';\nimport { Key, useInput } from '@wix/cli-ui-kit';\nimport { Trans } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\n\ninterface Props {\n siteId: string;\n appId: string;\n}\n\nexport const OpenBrowser: FC<Props> = ({ siteId, appId }) => {\n useInput(async (input, key) => {\n if (key.return) {\n await openBrowser(\n `https://manage.wix.com/installer/install?metaSiteId=${siteId}&appId=${appId}&platform=cli&version=latest`\n );\n }\n });\n\n return (\n <>\n <Trans i18nKey=\"install_app_on_site.warning\" />\n <Trans\n i18nKey=\"install_app_on_site.warning.instructions\"\n components={[<Key value=\"enter\" />]}\n />\n </>\n );\n};\n","{\n \"general.loading\": \"Loading...\",\n \"site_type_select.label\": \"Select Development Site\",\n \"site_type_select.create_new_dev_site\": \"Create a new Development Site\",\n \"site_type_select.create_new_dev_site.disabled\": \"You have reached the maximum number of {limit} Development Sites\",\n \"site_type_select.pick_existing_site\": \"Pick an existing site\",\n \"site_type_select.no_sites\": \"No sites found\",\n \"create_dev_site.loading\": \"Creating your new Development Site...\",\n \"create_dev_site.success\": \"Development Site <0>{name}</0> created successfully! 🚀\",\n \"site_list_select.label\": \"Select Site\",\n \"install_app_on_site.warning\": \"Your new application needs to be installed on the selected Development Site\",\n \"install_app_on_site.warning.instructions\": \"Press <0/> to install the application in your browser\",\n \"install_app_on_site.finished_successfully\": \"App installed on Development Site.\"\n}\n","import React, { useState } from 'react';\nimport { Spinner, useAsyncCallback } from '@wix/cli-ui-kit';\nimport { useMetasiteManagerClient } from '@wix/metasite-manager-client';\nimport type { Site } from '@wix/site-list-client';\nimport { isType } from 'variant';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { WaitForAppToBeInstalled } from './WaitForAppToBeInstalled.js';\nimport { SiteListSelect } from './SiteListSelect.js';\n\ninterface Props {\n sites: Site[];\n appId: string;\n onSubmit: (site: Site) => void;\n onError: (error: unknown) => void;\n}\n\nexport const SelectExistingSite = ({\n sites,\n appId,\n onSubmit,\n onError,\n}: Props) => {\n const { t } = useTranslation();\n const { isAppInstalled } = useMetasiteManagerClient();\n const [siteToInstallAppOn, setSiteToInstallAppOn] = useState<Site | null>(\n null\n );\n const checkAppInstalled = useAsyncCallback(\n (_, site: Site) => isAppInstalled({ metaSiteId: site.id, appId }),\n {\n onError,\n }\n );\n\n async function handleSelectSite(site: Site) {\n const isInstalled = await checkAppInstalled.execute(site);\n if (isInstalled) {\n onSubmit(site);\n } else {\n setSiteToInstallAppOn(site);\n }\n }\n\n return (\n <>\n <SiteListSelect onSubmit={handleSelectSite} sites={sites} />\n {isType(checkAppInstalled.status, 'Loading') && (\n <Spinner text={t('general.loading')} />\n )}\n {siteToInstallAppOn && (\n <WaitForAppToBeInstalled\n appId={appId}\n site={siteToInstallAppOn}\n onSubmit={() => onSubmit(siteToInstallAppOn)}\n onError={onError}\n />\n )}\n </>\n );\n};\n","import React, { type FC } from 'react';\nimport { useTranslation } from '@wix/cli-i18n';\nimport { SelectInput } from '@wix/cli-ui-kit';\nimport { type Site } from '@wix/site-list-client';\n\ninterface Props {\n onSubmit: (site: Site) => void;\n sites: Site[];\n}\n\nexport const SiteListSelect: FC<Props> = ({ onSubmit, sites }) => {\n const { t } = useTranslation();\n\n return (\n <SelectInput<Site>\n label={t('site_list_select.label')}\n options={sites.map((site) => ({\n key: site.id,\n title: site.displayName,\n description: site.viewUrl,\n value: site,\n }))}\n onSubmit={({ value }) => onSubmit(value)}\n />\n );\n};\n"],"mappings":";;gdAAAA,IAAA,OAAS,WAAAC,OAAe,QCAxBC,ICsDAC,IAKA,IAAMC,GAA2B,CAAE,aAAc,kBAAkB,EAC7DC,GAAmB,CAAE,KAAM,cAAc,EACzCC,GAA8B,CAClC,iBAAkB,4BAClB,0BAA2B,6BAI7B,IAAMC,GAAuB,CAAE,eAAgB,iBAAiB,EAShE,IAAMC,GAAe,CAAE,kBAAmB,2BAA2B,EAC/DC,GAAa,CAAE,SAAU,gBAAgB,EACzCC,GAAiB,CACrB,oBAAqB,uBACrB,sBAAuB,kCACvB,0BAA2B,6BAC3B,qBAAsB,iCACtB,0BAA2B,0BAC3B,0BAA2B,2BAC3B,sBAAuB,uBACvB,8BAA+B,kCAMjC,IAAMC,GAAkB,CAAE,sBAAuB,uBAAuB,EAClEC,GAAkB,CACtB,oBAAqB,2BACrB,qBAAsB,4BAQxB,IAAMC,GAAsB,CAC1B,YAAa,4BACb,WAAY,cAERC,GAAiB,CAAA,EAevB,IAAMC,GAA0B,CAC9B,YAAa,4BACb,WAAY,cAId,IAAMC,GAA2B,CAAA,EAC3BC,GAA4B,CAAE,KAAM,qBAAqB,EAG/D,IAAMC,GAAS,CAAE,kBAAmB,2BAA2B,EAK/D,IAAMC,GAAiC,CAAE,cAAe,SAAS,EAC3DC,GAAoB,CACxB,MAAO,SACP,OAAQ,SACR,OAAQ,+BAEJC,GAAe,CAAE,UAAW,oBAAqB,MAAO,QAAQ,EAEtE,IAAMC,GAA2B,CAC/B,cAAe,yCAEXC,GAAwC,CAC5C,UAAW,+BAEPC,GAAwB,CAAE,kBAAmB,cAAc,EAIjE,IAAMC,GAAU,CACd,YAAa,4BACb,YAAa,4BACb,OAAQ,sBAUV,IAAMC,GAAiC,CAAE,aAAc,cAAc,EAC/DC,GAA0B,CAAE,cAAe,QAAQ,EACnDC,GAA6B,CACjC,cAAe,iBACf,eAAgB,mBAQlB,IAAMC,GAAS,CACb,YAAa,4BACb,YAAa,6BAETC,GAAsB,CAAE,IAAK,QAAQ,EACrCC,GAAuB,CAAE,IAAK,QAAQ,EAG5C,IAAMC,GAAiB,CAAE,MAAO,6BAA6B,EACvDC,GAAuB,CAAE,cAAe,gBAAgB,EACxDC,GAAiB,CAAE,MAAO,4BAA4B,EACtDC,GAAkC,CAAE,WAAY,sBAAsB,EAE5E,SAASC,EACPC,EAA8C,CAE9C,IAAMC,EAAmB,CACvB,wBAAyB,CACvB,CACE,QAAS,sBACT,SAAU,KAGd,oBAAqB,CACnB,CACE,QAAS,oBACT,SAAU,QAEZ,CACE,QAAS,2BACT,SAAU,KAGd,uBAAwB,CACtB,CACE,QAAS,oBACT,SAAU,QAEZ,CACE,QAAS,2BACT,SAAU,KAGd,uBAAwB,CACtB,CACE,QAAS,oBACT,SAAU,QAEZ,CACE,QAAS,2BACT,SAAU,KAGd,iBAAkB,CAChB,CACE,QAAS,oBACT,SAAU,QAEZ,CACE,QAAS,2BACT,SAAU,KAGd,mBAAoB,CAClB,CACE,QAAS,oBACT,SAAU,QAEZ,CACE,QAAS,2BACT,SAAU,IAEZ,CACE,QAAS,sBACT,SAAU,SAGd,WAAY,CACV,CACE,QAAS,oBACT,SAAU,QAEZ,CACE,QAAS,2BACT,SAAU,IAEZ,CACE,QAAS,sBACT,SAAU,SAGd,uBAAwB,CACtB,CACE,QAAS,oBACT,SAAU,QAEZ,CACE,QAAS,2BACT,SAAU,KAGd,oBAAqB,CACnB,CACE,QAAS,oBACT,SAAU,QAEZ,CACE,QAAS,2BACT,SAAU,MAKhB,OAAOC,EAAW,OAAO,OAAOF,EAAM,CAAE,iBAAgBC,CAAA,CAAE,CAAC,CAC7D,CAEA,SAASE,GACPH,EAA8C,CAE9C,IAAMC,EAAmB,CACvB,uBAAwB,CACtB,CACE,QAAS,gBACT,SAAU,KAGd,uBAAwB,CACtB,CACE,QAAS,gBACT,SAAU,KAGd,iBAAkB,CAChB,CACE,QAAS,gBACT,SAAU,KAGd,mBAAoB,CAClB,CACE,QAAS,gBACT,SAAU,IAEZ,CACE,QAAS,gBACT,SAAU,KAGd,WAAY,CACV,CACE,QAAS,gBACT,SAAU,IAEZ,CACE,QAAS,gBACT,SAAU,KAGd,oBAAqB,CACnB,CACE,QAAS,gBACT,SAAU,KAGd,oBAAqB,CACnB,CACE,QAAS,qBACT,SAAU,QAEZ,CACE,QAAS,gBACT,SAAU,KAGd,uBAAwB,CACtB,CACE,QAAS,gBACT,SAAU,MAKhB,OAAOC,EAAW,OAAO,OAAOF,EAAM,CAAE,iBAAgBC,CAAA,CAAE,CAAC,CAC7D,CAGM,SAAUG,GACdC,EAA2B,CAErB,IAAAC,EAAuCC,EAAWC,GAAqB,CAC3E,OAAMC,GACP,EAFeC,EAAKJ,EAAA,OAAYK,EAAOL,EAAA,SAGtBM,EAAYL,EAAWM,GAAsB,CAAE,OAAMJ,EAAA,CAAE,EAAC,SAE1E,SAASK,EAAYR,EAAa,KAAXS,EAAIT,EAAA,KACnBU,EAAiBN,EAAML,CAAO,EAC9BY,EAAW,CACf,WAAY,4BACZ,OAAQ,OACR,UAAW,8CACX,IAAKd,GAAwC,CAC3C,UAAW,WACX,KAAMa,EACN,KAAID,EACL,EACD,KAAMC,EACN,kBAAmBJ,GAGrB,OAAOK,CACT,CAEA,OAAAH,EAAY,QAAUH,EACtBG,EAAY,eAAiB,GACtBA,CACT,CA0XM,SAAUI,GACdC,EAAsB,CAEhB,IAAAC,EAAuCC,EAAWC,GAAgB,CAAA,CAAE,EAA1DC,EAAKH,EAAA,OAAYI,EAAOJ,EAAA,SACtBK,EAAYJ,EAAWK,GAAyB,CAChE,yBAAwBC,GACxB,iBAAgBC,GAChB,4BAA2BC,GAC3B,qBAAoBC,GACpB,aAAYC,GACZ,WAAUC,GACV,eAAcC,GACd,gBAAeC,GACf,gBAAeC,GACf,OAAMC,GACN,+BAA8BC,GAC9B,kBAAiBC,GACjB,aAAYC,GACZ,yBAAwBC,GACxB,sCAAqCC,GACrC,sBAAqBC,GACrB,QAAOC,GACP,+BAA8BC,GAC9B,wBAAuBC,GACvB,2BAA0BC,GAC1B,eAAcC,GACd,qBAAoBC,GACpB,eAAcC,GACd,gCAA+BC,GAChC,EAAC,SAEF,SAASC,EAAiB/B,EAAa,KAAXgC,EAAIhC,EAAA,KACxBiC,EAAiB9B,EAAMJ,CAAO,EAC9BmC,EAAW,CACf,WAAY,4BACZ,OAAQ,MACR,UAAW,kDACX,IAAKC,EAAuC,CAC1C,UAAW,mBACX,KAAMF,EACN,KAAID,EACL,EACD,OAAQI,EAAkBH,CAAc,EACxC,kBAAmB5B,EACnB,SAAU,CACR,CACE,OAAQ,MACR,IAAK8B,EAAuC,CAC1C,UAAW,mBACX,KAAMF,EACN,KAAID,EACL,EACD,OAAQI,EAAkBH,CAAc,KAK9C,OAAOC,CACT,CAEA,OAAAH,EAAiB,QAAU3B,EAC3B2B,EAAiB,eAAiB,GAC3BA,CACT,CAgFM,SAAUM,GACdC,EAAgC,CAE1B,IAAAC,EAAuCC,EAC3CC,GACA,CAAA,CAAE,EAFYC,EAAKH,EAAA,OAAYI,EAAOJ,EAAA,SAItBK,EAAYJ,EAAWK,GAA2B,CAClE,yBAAwBC,GACxB,iBAAgBC,GAChB,4BAA2BC,GAC3B,qBAAoBC,GACpB,aAAYC,GACZ,WAAUC,GACV,eAAcC,GACd,gBAAeC,GACf,gBAAeC,GACf,oBAAmBC,GACnB,OAAMC,GACN,+BAA8BC,GAC9B,kBAAiBC,GACjB,aAAYC,GACZ,yBAAwBC,GACxB,sCAAqCC,GACrC,sBAAqBC,GACrB,QAAOC,GACP,+BAA8BC,GAC9B,wBAAuBC,GACvB,2BAA0BC,GAC1B,eAAcC,GACd,qBAAoBC,GACpB,eAAcC,GACd,gCAA+BC,GAChC,EAAC,SAEF,SAASC,EAAmBhC,EAAa,KAAXiC,EAAIjC,EAAA,KAC1BkC,EAAiB/B,EAAMJ,CAAO,EAC9BoC,EAAW,CACf,WAAY,4BACZ,OAAQ,MACR,UAAW,oDACX,IAAKC,EAAuC,CAC1C,UAAW,WACX,KAAMF,EACN,KAAID,EACL,EACD,OAAQI,EAAkBH,CAAc,EACxC,kBAAmB7B,EACnB,SAAU,CACR,CACE,OAAQ,MACR,IAAK+B,EAAuC,CAC1C,UAAW,WACX,KAAMF,EACN,KAAID,EACL,EACD,OAAQI,EAAkBH,CAAc,KAK9C,OAAOC,CACT,CAEA,OAAAH,EAAmB,QAAU5B,EAC7B4B,EAAmB,eAAiB,GAC7BA,CACT,CCx8BAM,IAKA,IAAMC,GAAgC,CAAA,EAChCC,GAAiC,CAAA,EAGvC,IAAMC,GAAmC,CAAA,EACnCC,GAAoC,CAAA,EACpCC,GAA8B,CAAA,EAC9BC,GAA+B,CAAA,EAMrC,SAASC,EACPC,EAA8C,CAE9C,IAAMC,EAAmB,CACvB,wBAAyB,CACvB,CACE,QAAS,6BACT,SAAU,KAGd,uBAAwB,CACtB,CACE,QAAS,6BACT,SAAU,IAEZ,CACE,QAAS,kCACT,SAAU,KAGd,mBAAoB,CAClB,CACE,QAAS,6BACT,SAAU,KAGd,kBAAmB,CACjB,CACE,QAAS,kDACT,SAAU,KAGd,oBAAqB,CACnB,CACE,QAAS,6BACT,SAAU,KAGd,kBAAmB,CACjB,CACE,QAAS,kDACT,SAAU,MAKhB,OAAOC,EAAW,OAAO,OAAOF,EAAM,CAAE,iBAAgBC,CAAA,CAAE,CAAC,CAC7D,CAwHM,SAAUE,GACdC,EAAqC,CAE/B,IAAAC,EAAuCC,EAC3CC,GACA,CAAA,CAAE,EAFYC,EAAKH,EAAA,OAAYI,EAAOJ,EAAA,SAItBK,EAAYJ,EAAWK,GAAgC,CAAA,CAAE,EAAC,SAE5E,SAASC,EAAwBP,EAAa,KAAXQ,EAAIR,EAAA,KAC/BS,EAAiBN,EAAMJ,CAAO,EAC9BW,EAAW,CACf,OAAQ,OACR,IAAKC,EAAyD,CAC5D,UAAW,wBACX,KAAMF,EACN,KAAID,EACL,EACD,KAAMC,EACN,kBAAmBJ,GAGrB,OAAOK,CACT,CAEA,OAAAH,EAAwB,QAAUH,EAE3BG,CACT,CAGM,SAAUK,GACdb,EAAmC,CAE7B,IAAAC,EAAuCC,EAC3CY,GACA,CAAA,CAAE,EAFYV,EAAKH,EAAA,OAAYI,EAAOJ,EAAA,SAItBK,EAAYJ,EAAWa,GAA8B,CAAA,CAAE,EAAC,SAE1E,SAASC,EAAsBf,EAAa,KAAXQ,EAAIR,EAAA,KAC7BS,EAAiBN,EAAMJ,CAAO,EAC9BW,EAAW,CACf,OAAQ,MACR,IAAKC,EAAyD,CAC5D,UAAW,wBACX,KAAMF,EACN,KAAID,EACL,EACD,OAAQQ,EAAkBP,CAAc,EACxC,kBAAmBJ,GAGrB,OAAOK,CACT,CAEA,OAAAK,EAAsB,QAAUX,EAEzBW,CACT,CAGM,SAAUE,GACdlB,EAAwC,CAElC,IAAAC,EAAuCC,EAC3CiB,GACA,CAAA,CAAE,EAFYf,EAAKH,EAAA,OAAYI,EAAOJ,EAAA,SAItBK,EAAYJ,EAC5BkB,GACA,CAAA,CAAE,EACH,SAED,SAASC,EAA2BpB,EAAa,KAAXQ,EAAIR,EAAA,KAClCS,EAAiBN,EAAMJ,CAAO,EAC9BW,EAAW,CACf,OAAQ,MACR,IAAKC,EAAyD,CAC5D,UAAW,8BACX,KAAMF,EACN,KAAID,EACL,EACD,OAAQQ,EAAkBP,CAAc,EACxC,kBAAmBJ,GAGrB,OAAOK,CACT,CAEA,OAAAU,EAA2B,QAAUhB,EAE9BgB,CACT,CC9RAC,IAKA,IAAMC,GAAiC,CAAA,EACjCC,GAAkC,CAAA,EAIxC,SAASC,GACPC,EAA8C,CAE9C,IAAMC,EAAmB,CACvB,mBAAoB,CAClB,CACE,QAAS,uBACT,SAAU,KAGd,kBAAmB,CACjB,CACE,QAAS,+BACT,SAAU,KAGd,oBAAqB,CACnB,CACE,QAAS,uBACT,SAAU,KAGd,uBAAwB,CACtB,CACE,QAAS,uBACT,SAAU,MAKhB,OAAOC,EAAW,OAAO,OAAOF,EAAM,CAAE,iBAAgBC,CAAA,CAAE,CAAC,CAC7D,CAGM,SAAUE,GACdC,EAAsC,CAEhC,IAAAC,EAAuCC,EAC3CC,GACA,CAAA,CAAE,EAFYC,EAAKH,EAAA,OAAYI,EAAOJ,EAAA,SAItBK,EAAYJ,EAAWK,GAAiC,CAAA,CAAE,EAAC,SAE7E,SAASC,EAAyBP,EAAa,KAAXQ,EAAIR,EAAA,KAChCS,EAAiBN,EAAMJ,CAAO,EAC9BW,EAAW,CACf,WAAY,6CACZ,OAAQ,MACR,UACE,gEACF,IAAKhB,GAA8C,CACjD,UAAW,kDACX,KAAMe,EACN,KAAID,EACL,EACD,OAAQG,EAAkBF,CAAc,EACxC,kBAAmBJ,GAGrB,OAAOK,CACT,CAEA,OAAAH,EAAyB,QAAUH,EACnCG,EAAyB,eAAiB,GACnCA,CACT,CClFAK,IAEO,IAAMC,GAAkBC,EAAE,OAAO,CACtC,IAAKA,EAAE,OAAO,CACZ,GAAIA,EAAE,OAAO,CACf,CAAC,CACH,CAAC,EAEYC,GAAoBD,EAAE,OAAO,CACxC,cAAeA,EAAE,OAAO,CAC1B,CAAC,EAEYE,GAA8BF,EAAE,OAAO,CAClD,gBAAiBA,EAAE,OAAO,CACxB,GAAIA,EAAE,OAAO,EACb,SAAUA,EAAE,OAAO,CACrB,CAAC,CACH,CAAC,EAEYG,GAA4BH,EAAE,OAAO,CAChD,iBAAkBA,EAAE,MAAMA,EAAE,OAAO,CAAC,CAAC,CAAC,CACxC,CAAC,EAEYI,GAAiCJ,EAAE,OAAO,CACrD,MAAOA,EAAE,OAAO,CAClB,CAAC,EAEYK,GAAqBL,EAAE,OAAO,CACzC,KAAMA,EAAE,OAAO,EACf,MAAOA,EAAE,OAAO,CAClB,CAAC,EAEYM,GAAyBN,EAAE,OAAO,CAC7C,KAAMA,EAAE,MAAMK,EAAkB,CAClC,CAAC,EAIYE,GAAiCP,EAAE,OAAO,CACrD,sBAAuBA,EAAE,MACvBA,EAAE,OAAO,CACP,SAAUA,EAAE,MAAMA,EAAE,OAAO,CAAC,CAC9B,CAAC,CACH,CACF,CAAC,EJfD,IAAMQ,GAAsB,uCAEfC,EAAN,KAAsB,CAG3B,YAA6BC,EAAwB,CAAxB,gBAAAA,EAC3B,GAAM,CAAE,gBAAAC,CAAgB,EAAIC,EAAiB,EAE7C,KAAK,aAAe,CAClB,QAAS,EACT,WAAYD,EACZ,WAAY,EAAI,GAClB,CACF,CAViB,aAYjB,UAAY,MAAOE,GAAe,CAChC,GAAI,CACF,GAAM,CAAE,KAAAC,CAAK,EAAI,MAAMC,EACrB,IAAM,KAAK,WAAW,QAAQC,GAAU,CAAE,IAAAH,CAAI,CAAC,CAAC,EAChD,KAAK,YACP,EAEA,OAAOI,GAAgB,MAAMH,CAAI,EAAE,GACrC,OAASI,EAAG,CACV,MAAM,IAAIC,EAAS,CACjB,KAAMC,EAAa,2BAA2B,EAC9C,MAAOF,CACT,CAAC,CACH,CACF,EAEA,eAAiB,MAAOG,GAAuB,CAC7C,GAAM,CAAE,KAAAP,CAAK,EAAI,MAAMC,EACrB,IAAM,KAAK,WAAW,QAAQO,GAAeD,CAAG,CAAC,EACjD,KAAK,YACP,EAEA,OAAOE,GAAkB,MAAMT,CAAI,CACrC,EAEA,cAAgB,SAAY,CAC1B,GAAI,CACF,GAAM,CAAE,KAAAA,CAAK,EAAI,MAAMC,EACrB,IACE,KAAK,WAAW,QACdS,GAAsB,CACpB,WAAYhB,EACd,CAAC,CACH,EACF,KAAK,YACP,EAEM,CAAE,GAAAiB,EAAI,SAAAC,CAAS,EACnBC,GAA4B,MAAMb,CAAI,EAAE,gBAS1C,MANa,CACX,GAAAW,EACA,YAAaC,EAAS,WAAW,IAAK,GAAG,EACzC,QAAS,EACX,CAGF,OAAS,EAAG,CACV,MAAM,IAAIP,EAAS,CACjB,KAAMC,EAAa,8BAA8B,EACjD,MAAO,CACT,CAAC,CACH,CACF,EAEA,iBAAmB,SAAY,CAC7B,GAAI,CACF,GAAM,CAAE,KAAAN,CAAK,EAAI,MAAMC,EACrB,IAAM,KAAK,WAAW,QAAQa,GAAoB,CAAC,CAAC,CAAC,EACrD,KAAK,YACP,EAEA,OAAOC,GAA0B,MAAMf,CAAI,EAAE,iBAAiB,MAChE,OAAS,EAAG,CACV,MAAM,IAAIK,EAAS,CACjB,KAAMC,EAAa,4BAA4B,EAC/C,MAAO,CACT,CAAC,CACH,CACF,EAEA,iBAAmB,SAAY,CAC7B,GAAI,CACF,GAAM,CAAE,KAAAN,CAAK,EAAI,MAAMC,EACrB,IAAM,KAAK,WAAW,QAAQe,GAAiB,CAAC,CAAC,CAAC,EAClD,KAAK,YACP,EAEA,OAAOC,GAAuB,MAAMjB,CAAI,EAAE,IAC5C,OAAS,EAAG,CACV,MAAM,IAAIK,EAAS,CACjB,KAAMC,EAAa,yBAAyB,EAC5C,MAAO,CACT,CAAC,CACH,CACF,EAEA,iBAAmB,SAAY,CAC7B,GAAI,CACF,GAAM,CAAE,KAAAN,CAAK,EAAI,MAAMC,EACrB,IAAM,KAAK,WAAW,QAAQiB,GAAyB,CAAC,CAAC,CAAC,EAC1D,KAAK,YACP,EAEA,OAAOC,GAA+B,MAAMnB,CAAI,EAAE,KACpD,OAAS,EAAG,CACV,MAAM,IAAIK,EAAS,CACjB,KAAMC,EAAa,iCAAiC,EACpD,MAAO,CACT,CAAC,CACH,CACF,EAEA,8BAAgC,MAAOc,EAAeC,IAAqB,CACzE,GAAI,CACF,GAAM,CAAE,KAAArB,CAAK,EAAI,MAAM,KAAK,WAAW,QACrCsB,GAAuB,CAAE,MAAAF,EAAO,QAASC,GAAW,QAAS,CAAC,CAChE,EAMA,OALeE,GAA+B,MAAMvB,CAAI,EAClB,sBAAsB,OACzDwB,GAAgBA,EAAY,SAAS,OAAS,CACjD,EAAE,MAGJ,OAASpB,EAAG,CACV,MAAM,IAAIC,EAAS,CACjB,KAAMC,EAAa,uBAAuB,EAC1C,MAAOF,CACT,CAAC,CACH,CACF,CACF,EDlKO,SAASqB,GAAsC,CACpD,IAAMC,EAAaC,EAAc,CAAE,KAAM,YAAa,CAAC,EACvD,OAAOC,GAAQ,IAAM,IAAIC,EAAgBH,CAAU,EAAG,CAACA,CAAU,CAAC,CACpE,CMPAI,ICAAC,IACA,IAAAC,GAAsB,SADtB,OAAOC,GAAkC,eAAAC,OAAmB,QCA5DC,IACA,IAAAC,EAAgC,SADhC,OAAOC,MAAwB,QCA/BC,ICAAC,IACA,IAAAC,GAAsB,SADtB,OAAOC,GAAkB,YAAAC,OAAgB,QCAzCC,IACA,IAAAC,GAAsB,SADtB,OAAOC,OAAwB,QAmBxB,IAAMC,GAA4B,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,MAAAC,CAAM,IAAM,CACzE,GAAM,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvB,CAAE,iBAAAC,EAAkB,iBAAAC,CAAiB,EAAIC,EAAmB,EAC5D,CAAE,OAAAC,CAAO,EAAIC,EACjB,IAAM,QAAQ,IAAI,CAACJ,EAAiB,EAAGC,EAAiB,CAAC,CAAC,EAC1D,CAAC,EACD,CAAE,QAAAL,CAAQ,CACZ,EAEA,SAAO,UAAMO,EAAQ,CACnB,MAAO,IAAM,KACb,QAAS,IAAME,GAAA,cAACC,EAAA,CAAQ,KAAMR,EAAE,iBAAiB,EAAG,EACpD,QAAS,CAAC,CAAE,OAAQ,CAACS,EAAeC,CAAa,CAAE,IAAM,CACvD,IAAMC,EAAyBF,GAAiBC,EAC1CE,EAAiBb,EAAM,SAAW,EAExC,OACEQ,GAAA,cAACM,EAAA,CACC,MAAOb,EAAE,wBAAwB,EACjC,QAAS,CACP,CACE,aAAcY,EACVE,EAAyB,SAAS,CAChC,OAAQd,EAAE,2BAA2B,CACvC,CAAC,EACDc,EAAyB,QAAQ,EACrC,MAAOd,EAAE,qCAAqC,EAC9C,MAAO,sBACT,EACA,CACE,MAAOA,EAAE,sCAAsC,EAC/C,MAAO,kBACP,aAAcW,EACVG,EAAyB,SAAS,CAChC,OAAQd,EAAE,gDAAiD,CACzD,MAAOU,CACT,CAAC,CACH,CAAC,EACDI,EAAyB,QAAQ,CACvC,CACF,EACA,SAAU,CAAC,CAAE,MAAAC,CAAM,IAAMlB,EAASkB,CAAK,EACzC,CAEJ,CACF,CAAC,CACH,ECjEAC,IACA,IAAAC,GAAsB,SADtB,OAAOC,MAAwB,QCA/BC,IACA,OAAOC,MAAwB,QCD/BC,ICAAC,IAAA,OAAS,WAAAC,OAAe,QCAxBC,ICAAC,IAEO,IAAMC,GAAsBC,EAAE,OACnCA,EAAE,OAAO,CACP,gBAAiBA,EAAE,OAAO,EAAE,SAAS,EACrC,YAAaA,EAAE,OAAO,CAAE,QAASA,EAAE,QAAQ,CAAE,CAAC,EAAE,SAAS,CAC3D,CAAC,CACH,EDHO,IAAMC,EAAN,KAA4B,CACjC,YAA6BC,EAAwB,CAAxB,gBAAAA,CAAyB,CAE/C,eAAiB,MAAO,CAC7B,WAAAC,EACA,MAAAC,CACF,IAGM,CACJ,GAAI,CACF,GAAM,CAAE,KAAAC,CAAK,EAAI,MAAM,KAAK,WAAW,QAAQ,CAC7C,IAAK,iDAAiDF,CAAU,EAClE,CAAC,EAEKG,EAAgBC,GAAoB,MAAMF,CAAI,EAMpD,OAJoB,OAAO,OAAOC,CAAa,EAAE,KAC9CE,GAASA,EAAK,kBAAoBJ,GAAS,CAACI,EAAK,aAAa,OACjE,CAGF,OAASC,EAAG,CACV,MAAM,IAAIC,EAAS,CACjB,KAAMC,EAAa,4BAA4B,EAC/C,MAAOF,CACT,CAAC,CACH,CACF,CACF,ED7BO,SAASG,GAAkD,CAChE,IAAMC,EAAaC,EAAc,CAAE,KAAM,SAAU,CAAC,EACpD,OAAOC,GAAQ,IAAM,IAAIC,EAAsBH,CAAU,EAAG,CAACA,CAAU,CAAC,CAC1E,CFFA,IAAAI,EAAuC,SKLvCC,IAAA,OAAOC,MAAwB,QAUxB,IAAMC,GAAyB,CAAC,CAAE,OAAAC,EAAQ,MAAAC,CAAM,KACrDC,GAAS,MAAOC,EAAOC,IAAQ,CACzBA,EAAI,QACN,MAAMC,GACJ,uDAAuDL,CAAM,UAAUC,CAAK,8BAC9E,CAEJ,CAAC,EAGCK,EAAA,cAAAA,EAAA,cACEA,EAAA,cAACC,EAAA,CAAM,QAAQ,8BAA8B,EAC7CD,EAAA,cAACC,EAAA,CACC,QAAQ,2CACR,WAAY,CAACD,EAAA,cAACE,GAAA,CAAI,MAAM,QAAQ,CAAE,EACpC,CACF,GLRG,IAAMC,KAAiB,WAAQ,CACpC,QAAS,CAAC,EACV,SAAU,CAAC,CACb,CAAC,EAED,SAASC,GAAaC,EAAgB,CACpC,OACEA,GACA,OAAOA,GAAU,UACjB,SAAUA,GACVA,EAAM,OAAS,YAEnB,CAEO,IAAMC,EAAqC,CAAC,CACjD,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,QAAAC,CACF,IAAM,CACJ,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAyB,EAE9C,CAAE,OAAAC,CAAO,EAAIC,EACjB,MAAO,CAAE,OAAAC,CAAO,IAAM,CACpB,GAAM,CAAE,4BAAAC,CAA4B,EAAIC,EAAiB,EAEzD,GAAI,CACF,aAAMC,GAAS,IAAMP,EAAe,CAAE,WAAYH,EAAK,GAAI,MAAAD,CAAM,CAAC,EAAG,CACnE,SAAUS,GAA+B,IACzC,QAAS,CACP,aAAc,GAAK,IAAO,EAC1B,OAAAD,CACF,CACF,CAAC,EAEMZ,EAAe,QAAQ,CAChC,OAASE,EAAO,CACd,GAAIA,aAAiBc,GACnB,MAAM,IAAIC,EAAS,CACjB,KAAMC,EAAa,qBAAqB,EACxC,MAAOhB,CACT,CAAC,EAGH,GAAID,GAAaC,CAAK,EACpB,OAAOF,EAAe,SAAS,EAGjC,MAAME,CACR,CACF,EACA,CAAC,EACD,CACE,QAAAK,EACA,UAAYY,GAAW,IACjB,UAAOA,EAAQnB,EAAe,OAAO,GACvCM,EAAS,CAEb,CACF,CACF,EAEA,SAAO,SAAMI,EAAQ,CACnB,MAAO,IAAM,KACb,QAAS,IAAMU,EAAA,cAACC,GAAA,CAAY,OAAQhB,EAAK,GAAI,MAAOD,EAAO,EAC3D,QAAS,IACPgB,EAAA,cAACE,EAAA,CAAM,KAAK,WACVF,EAAA,cAACG,EAAA,CAAM,QAAQ,4CAA4C,CAC7D,CAEJ,CAAC,CACH,ED1EO,IAAMC,GAA2B,CAAC,CACvC,OAAAC,EACA,MAAAC,EACA,SAAAC,EACA,QAAAC,CACF,IAAM,CACJ,GAAM,CAAE,EAAAC,CAAE,EAAIC,EAAe,EAE7B,SAAO,UAAML,EAAQ,CACnB,aAAc,IAAM,KACpB,MAAO,IAAM,KACb,QAAS,IAAMM,EAAA,cAACC,EAAA,CAAQ,KAAMH,EAAE,yBAAyB,EAAG,EAC5D,QAAS,CAAC,CAAE,OAAAI,CAAO,IACjBF,EAAA,cAAAA,EAAA,cACEA,EAAA,cAACG,EAAA,CACC,QAAQ,0BACR,WAAY,CAACH,EAAA,cAACI,GAAA,CAAK,KAAK,UAAU,KAAI,GAAC,CAAE,EACzC,OAAQ,CAAE,KAAMF,EAAO,WAAY,EACrC,EACAF,EAAA,cAACK,EAAA,CACC,MAAOV,EACP,KAAMO,EACN,SAAU,IAAMN,EAASM,CAAM,EAC/B,QAASL,EACX,CACF,CAEJ,CAAC,CACH,EO3CA,IAAAS,GAAA,CACE,kBAAmB,aACnB,yBAA0B,0BAC1B,uCAAwC,gCACxC,gDAAiD,mEACjD,sCAAuC,wBACvC,4BAA6B,iBAC7B,0BAA2B,wCAC3B,0BAA2B,iEAC3B,yBAA0B,cAC1B,8BAA+B,8EAC/B,2CAA4C,wDAC5C,4CAA6C,oCAC/C,ECbAC,IAAA,OAAOC,GAAS,YAAAC,OAAgB,QAIhC,IAAAC,GAAuB,SCJvBC,IAAA,OAAOC,OAAwB,QAUxB,IAAMC,GAA4B,CAAC,CAAE,SAAAC,EAAU,MAAAC,CAAM,IAAM,CAChE,GAAM,CAAE,EAAAC,CAAE,EAAIC,EAAe,EAE7B,OACEC,GAAA,cAACC,EAAA,CACC,MAAOH,EAAE,wBAAwB,EACjC,QAASD,EAAM,IAAKK,IAAU,CAC5B,IAAKA,EAAK,GACV,MAAOA,EAAK,YACZ,YAAaA,EAAK,QAClB,MAAOA,CACT,EAAE,EACF,SAAU,CAAC,CAAE,MAAAC,CAAM,IAAMP,EAASO,CAAK,EACzC,CAEJ,EDTO,IAAMC,GAAqB,CAAC,CACjC,MAAAC,EACA,MAAAC,EACA,SAAAC,EACA,QAAAC,CACF,IAAa,CACX,GAAM,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvB,CAAE,eAAAC,CAAe,EAAIC,EAAyB,EAC9C,CAACC,EAAoBC,CAAqB,EAAIC,GAClD,IACF,EACMC,EAAoBC,EACxB,CAACC,EAAGC,IAAeR,EAAe,CAAE,WAAYQ,EAAK,GAAI,MAAAb,CAAM,CAAC,EAChE,CACE,QAAAE,CACF,CACF,EAEA,eAAeY,EAAiBD,EAAY,CACtB,MAAMH,EAAkB,QAAQG,CAAI,EAEtDZ,EAASY,CAAI,EAEbL,EAAsBK,CAAI,CAE9B,CAEA,OACEE,EAAA,cAAAA,EAAA,cACEA,EAAA,cAACC,GAAA,CAAe,SAAUF,EAAkB,MAAOf,EAAO,KACzD,WAAOW,EAAkB,OAAQ,SAAS,GACzCK,EAAA,cAACE,EAAA,CAAQ,KAAMd,EAAE,iBAAiB,EAAG,EAEtCI,GACCQ,EAAA,cAACG,EAAA,CACC,MAAOlB,EACP,KAAMO,EACN,SAAU,IAAMN,EAASM,CAAkB,EAC3C,QAASL,EACX,CAEJ,CAEJ,EVzCO,IAAMiB,GAA0B,CAAC,CAAE,MAAAC,EAAO,SAAAC,EAAU,QAAAC,CAAQ,IAAM,CACvE,GAAM,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvB,CAACC,EAAUC,CAAW,EAAIC,GAA0B,IAAI,EACxD,CAAE,cAAAC,CAAc,EAAIC,EAAmB,EACvCC,EAAiBC,EAAkB,EAEnC,CAAE,OAAAC,CAAO,EAAIC,EACjB,IACEH,EAAe,WAAW,CACxB,MAAO,CACL,aAAc,CACZ,MAAO,GACT,CACF,CACF,CAAC,EACH,CAAC,EACD,CACE,QAAAR,CACF,CACF,EAEMY,EAAaC,EAAiB,IAAMP,EAAc,EAAG,CACzD,QAAAN,CACF,CAAC,EAED,SAASc,EAAqBX,EAAoB,CAChDC,EAAYD,CAAQ,EAChBA,IAAa,mBACfS,EAAW,QAAQ,CAEvB,CAEA,OACEG,EAAA,cAACC,GAAA,CAAa,SAAUC,OACrB,UAAMP,EAAQ,CACb,MAAO,IAAM,KACb,QAAS,IAAMK,EAAA,cAACG,EAAA,CAAQ,KAAMjB,EAAE,iBAAiB,EAAG,EACpD,QAAS,CAAC,CAAE,OAAQkB,CAAM,IACxBJ,EAAA,cAAAA,EAAA,cACEA,EAAA,cAACK,GAAA,CACC,SAAUN,EACV,QAASd,EACT,MAAOmB,EACT,EACChB,IAAa,mBACZY,EAAA,cAACM,GAAA,CACC,OAAQT,EAAW,OACnB,MAAOd,EACP,SAAUC,EACV,QAASC,EACX,EAEDG,IAAa,wBACZY,EAAA,cAACO,GAAA,CACC,MAAOH,EACP,MAAOrB,EACP,SAAUC,EACV,QAASC,EACX,CAEJ,CAEJ,CAAC,CACH,CAEJ,EFrEO,IAAMuB,GAA2B,CAAC,CAAE,MAAAC,EAAO,SAAAC,CAAS,IAAM,CAC/D,IAAMC,EAAOC,EAAQ,EACf,CAAE,EAAAC,CAAE,EAAIC,EAAe,EACvB,CAAE,MAAAC,CAAM,EAAIC,EAAgB,EAElC,OACEC,EAAA,cAAAA,EAAA,iBACG,SAAMR,EAAO,CACZ,iBAAe,YACbQ,EAAA,cAACC,EAAA,CAAM,KAAK,WAAWL,EAAE,+BAA+B,CAAE,CAC5D,EACA,SAAU,CAAC,CAAE,GAAAM,CAAG,IACdF,EAAA,cAACC,EAAA,CAAM,KAAK,SAASL,EAAE,4BAA6B,CAAE,GAAAM,CAAG,CAAC,CAAE,CAEhE,CAAC,EACDF,EAAA,cAACG,GAAA,CACC,MAAOL,EAAM,OAAO,MACpB,SAAUL,EACV,QAASC,EACX,CACF,CAEJ,EDtBO,IAAMU,GAGR,CAAC,CAAE,SAAAC,EAAU,OAAAC,CAAO,IAAM,CAC7B,IAAMC,EAAOC,EAAQ,EACf,CACJ,MAAO,CAAE,cAAAC,CAAc,CACzB,EAAIC,EAAgB,EACdC,EAAgBC,GAAY,EAC5BC,EAAiBC,EAAkB,EAEnC,CAAE,OAAAC,EAAQ,MAAAC,CAAM,EAAIC,EACxB,SACEC,GAAsB,CACpB,cAAAT,EACA,eAAAI,EACA,OAAAP,EACA,cAAAK,CACF,CAAC,EACH,CAAC,CACH,EAEMQ,EAAUC,GACd,MAAOC,GAAe,CACpB,GAAI,CACF,MAAMC,GAAcb,EAAe,CAAE,OAAQY,EAAK,EAAG,CAAC,EACtDL,EAAM,CAAE,OAAQO,GAAY,SAAS,CAAE,KAAAF,CAAK,CAAC,CAAE,CAAC,CAClD,MAAY,CACV,MAAM,IAAIG,EAAS,CACjB,KAAMC,EAAa,4BAA4B,CAC7C,KAAMC,EACR,CAAC,CACH,CAAC,CACH,CACF,EACA,CAACV,EAAOP,CAAa,CACvB,EAEMkB,EAAsBP,GACzBC,GAAeF,EAAQE,CAAI,EAAE,MAAMd,CAAI,EACxC,CAACA,EAAMY,CAAO,CAChB,EAEA,SAAO,UAAMJ,EAAQ,CACnB,MAAO,IAAM,KACb,QAAS,IAAMa,EAAA,cAACC,EAAA,IAAQ,EACxB,QAAS,CAAC,CAAE,OAAQC,CAAM,OACjB,UAAMA,EAAO,CAClB,cAAgBC,GACdH,EAAA,cAACI,GAAA,CAAc,MAAOD,EAAS,SAAUJ,EAAqB,EAEhE,SAAWI,GACTH,EAAA,cAACI,GAAA,CAAc,MAAOD,EAAS,SAAUJ,EAAqB,EAEhE,SAAU,CAAC,CAAE,KAAAN,CAAK,IAChBO,EAAA,cAACK,GAAc,SAAd,CACC,MAAO,CACL,KAAAZ,EACA,QAAAF,CACF,GAEC,OAAOd,GAAa,WAAaA,EAASgB,CAAI,EAAIhB,CACrD,CAEJ,CAAC,CAEL,CAAC,CACH","names":["init_esm_shims","useMemo","init_esm_shims","init_esm_shims","_actionProviderSPIConfig","_actionSPIConfig","_adminConfigurableTextInput","_authenticatorConfig","_commonImage","_component","_componentData","_editorPresence","_expectedInputs","_getAppInfoResponse","_getAppRequest","_getAppSnapshotResponse","_getDeveloperAppsRequest","_getDeveloperAppsResponse","_image","_multilingualTranslationSchema","_packageDimension","_packageType","_predefinedExpectedInput","_predefinedExpectedInputConfiguration","_presetEditorPresence","_schema","_shippingLabelCarrierSpiConfig","_shippingProviderConfig","_studioWidgetComponentData","_v1App","_v1CreateAppRequest","_v1CreateAppResponse","_v1SchemaField","_widgetComponentData","_widgetDisplay","_widgetOutOfIframeComponentData","resolveComWixpressAppserviceApiAppsUrl","opts","domainToMappings","resolveUrl","resolveWixDevcenterAppsV1AppsServiceUrl","createApp","payload","_a","serializer","_v1CreateAppRequest","_v1App","toReq","fromReq","fromRes","_v1CreateAppResponse","__createApp","host","serializedData","metadata","getAppSnapshot","payload","_a","serializer","_getAppRequest","toReq","fromReq","fromRes","_getAppSnapshotResponse","_actionProviderSPIConfig","_actionSPIConfig","_adminConfigurableTextInput","_authenticatorConfig","_commonImage","_component","_componentData","_editorPresence","_expectedInputs","_image","_multilingualTranslationSchema","_packageDimension","_packageType","_predefinedExpectedInput","_predefinedExpectedInputConfiguration","_presetEditorPresence","_schema","_shippingLabelCarrierSpiConfig","_shippingProviderConfig","_studioWidgetComponentData","_v1SchemaField","_widgetComponentData","_widgetDisplay","_widgetOutOfIframeComponentData","__getAppSnapshot","host","serializedData","metadata","resolveComWixpressAppserviceApiAppsUrl","toURLSearchParams","getDeveloperApps","payload","_a","serializer","_getDeveloperAppsRequest","toReq","fromReq","fromRes","_getDeveloperAppsResponse","_actionProviderSPIConfig","_actionSPIConfig","_adminConfigurableTextInput","_authenticatorConfig","_commonImage","_component","_componentData","_editorPresence","_expectedInputs","_getAppInfoResponse","_image","_multilingualTranslationSchema","_packageDimension","_packageType","_predefinedExpectedInput","_predefinedExpectedInputConfiguration","_presetEditorPresence","_schema","_shippingLabelCarrierSpiConfig","_shippingProviderConfig","_studioWidgetComponentData","_v1SchemaField","_widgetComponentData","_widgetDisplay","_widgetOutOfIframeComponentData","__getDeveloperApps","host","serializedData","metadata","resolveComWixpressAppserviceApiAppsUrl","toURLSearchParams","init_esm_shims","_createDevelopmentSiteRequest","_createDevelopmentSiteResponse","_getDevelopmentSitesLimitRequest","_getDevelopmentSitesLimitResponse","_getDevelopmentSitesRequest","_getDevelopmentSitesResponse","resolveComWixpressDevcenterDsmDevelopmentSitesManagerUrl","opts","domainToMappings","resolveUrl","createDevelopmentSite","payload","_a","serializer","_createDevelopmentSiteRequest","toReq","fromReq","fromRes","_createDevelopmentSiteResponse","__createDevelopmentSite","host","serializedData","metadata","resolveComWixpressDevcenterDsmDevelopmentSitesManagerUrl","getDevelopmentSites","_getDevelopmentSitesRequest","_getDevelopmentSitesResponse","__getDevelopmentSites","toURLSearchParams","getDevelopmentSitesLimit","_getDevelopmentSitesLimitRequest","_getDevelopmentSitesLimitResponse","__getDevelopmentSitesLimit","init_esm_shims","_getAppValidationReportRequest","_getAppValidationReportResponse","resolveComWixDevcenterAppValidationServiceUrl","opts","domainToMappings","resolveUrl","getAppValidationReport","payload","_a","serializer","_getAppValidationReportRequest","toReq","fromReq","fromRes","_getAppValidationReportResponse","__getAppValidationReport","host","serializedData","metadata","toURLSearchParams","init_esm_shims","createAppSchema","z","appSnapshotSchema","createDevelopmentSiteSchema","getDevelopmentSitesSchema","getDevelopmentSitesLimitSchema","developerAppSchema","getDeveloperAppsSchema","getAppPropertiesValiditySchema","EMPTY_SITE_TEMPLATE","DevCenterClient","httpClient","minRetryTimeout","getTestOverrides","app","data","pRetry","createApp","createAppSchema","e","CliError","CliErrorCode","req","getAppSnapshot","appSnapshotSchema","createDevelopmentSite","id","siteName","createDevelopmentSiteSchema","getDevelopmentSites","getDevelopmentSitesSchema","getDeveloperApps","getDeveloperAppsSchema","getDevelopmentSitesLimit","getDevelopmentSitesLimitSchema","appId","version","getAppValidationReport","getAppPropertiesValiditySchema","appProperty","useDevCenterClient","httpClient","useHttpClient","useMemo","DevCenterClient","init_esm_shims","init_esm_shims","import_variant","React","useCallback","init_esm_shims","import_variant","React","init_esm_shims","init_esm_shims","import_variant","React","useState","init_esm_shims","import_variant","React","SiteTypeSelect","onSubmit","onError","sites","t","useTranslation","getDevSitesCount","getDevSitesLimit","useDevCenterClient","status","useAsync","React","Spinner","devSitesCount","devSitesLimit","isDevSitesLimitReached","userHasNoSites","SelectInput","SelectOptionAvailability","value","init_esm_shims","import_variant","React","init_esm_shims","React","init_esm_shims","init_esm_shims","useMemo","init_esm_shims","init_esm_shims","clientSpecMapSchema","z","MetasiteManagerClient","httpClient","metaSiteId","appId","data","clientSpecMap","clientSpecMapSchema","spec","e","CliError","CliErrorCode","useMetasiteManagerClient","httpClient","useHttpClient","useMemo","MetasiteManagerClient","import_variant","init_esm_shims","React","OpenBrowser","siteId","appId","use_input_default","input","key","openBrowser","React","Trans","Key","AppInstallData","isAbortError","error","WaitForAppToBeInstalled","appId","site","onSubmit","onError","isAppInstalled","useMetasiteManagerClient","status","useAsync","signal","appInstallationPollInterval","getTestOverrides","pWaitFor","TimeoutError","CliError","CliErrorCode","result","React","OpenBrowser","Alert","Trans","CreateDevSite","status","appId","onSubmit","onError","t","useTranslation","React","Spinner","result","Trans","Text","WaitForAppToBeInstalled","messages_default","init_esm_shims","React","useState","import_variant","init_esm_shims","React","SiteListSelect","onSubmit","sites","t","useTranslation","React","SelectInput","site","value","SelectExistingSite","sites","appId","onSubmit","onError","t","useTranslation","isAppInstalled","useMetasiteManagerClient","siteToInstallAppOn","setSiteToInstallAppOn","useState","checkAppInstalled","useAsyncCallback","_","site","handleSelectSite","React","SiteListSelect","Spinner","WaitForAppToBeInstalled","SiteSelector","appId","onSubmit","onError","t","useTranslation","siteType","setSiteType","useState","createDevSite","useDevCenterClient","siteListClient","useSiteListClient","status","useAsync","createSite","useAsyncCallback","handleSelectSiteType","React","I18nProvider","messages_default","Spinner","sites","SiteTypeSelect","CreateDevSite","SelectExistingSite","ResolveSiteId","state","onSubmit","exit","useExit","t","useTranslation","model","useProjectModel","React","Alert","id","SiteSelector","SiteIdProvider","children","siteId","exit","useExit","projectFolder","useProjectModel","writeDebugLog","useDebugLog","siteListClient","useSiteListClient","status","merge","useAsync","resolveConfiguredSite","setSite","useCallback","site","saveAppConfig","SiteIdState","CliError","CliErrorCode","APP_CONFIG_PATH","handleResolveSiteId","React","Spinner","state","variant","ResolveSiteId","SiteIdContext"]}
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{a as C}from"./chunk-D2SHWB76.js";import{a as U}from"./chunk-BGJWNKGZ.js";import{b as I}from"./chunk-VWRROJHT.js";import{a as j,h as A,i as M,n as S}from"./chunk-G5KG2B42.js";import{h as u,w}from"./chunk-RQK35Z3D.js";import"./chunk-UJW3X3T2.js";import{b as y}from"./chunk-F2KYPCJP.js";import"./chunk-BO7BWQLZ.js";import{N as v,Q as P,a as g,c as a,d as m,ka as h}from"./chunk-GCBXRNFB.js";import{e as f,h as o}from"./chunk-HFDLXX7R.js";o();o();import{cwd as D}from"node:process";o();var b=f(g(),1);var x=async({model:e,site:i,arm:t,serveUrl:r})=>{let n=await I(e.projectFolder),p=y(n,r),s=await t.createAppRelease(p,e.config.projectId),[d]=e.components.filter((0,b.isType)(P.DashboardPage));return{tag:s,dashboardPageUrl:S({envConfig:{appId:e.config.appId,site:i,tag:s},platformType:v.Dashboard({route:d.route})})}};o();var R=f(g(),1);async function T(e,i,t){let r=new j(i),n=await A({siteId:t,projectFolder:e.projectFolder,siteListClient:r});return(0,R.match)(n,{NotConfigured:()=>{throw new a({code:m.SiteConfiguredRequired()})},NotFound:()=>{throw new a({code:m.SiteConfiguredRequired()})},Resolved:({site:p})=>p})}o();function F(e){console.log(e)}async function E(e,i){let t=await h(D()),r=await w();if(!r)throw new a({code:m.AuthenticationRequired()});i.errorReporter.setUser({id:r.userInfo.userId}),C(i.biLogger,r.userInfo.userId);let n=u({type:"backoffice",getAppToken:()=>r.getAccessToken()}),p=await T(t,n,e.siteId),s=e.baseUrl??await U(t.config.appId,t.projectFolder,i.biLogger,n),d=new M(n),{dashboardPageUrl:L}=await x({model:t,site:p,arm:d,serveUrl:s});F(L)}export{E as nonInteractivePreview};
4
- //# sourceMappingURL=preview-US5F3VRS.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/non-interactive/preview/index.ts","../src/non-interactive/preview/preview.ts","../src/preview/create-preview-tag.ts","../src/non-interactive/preview/resolve-site.ts","../src/non-interactive/logger.ts"],"sourcesContent":["export { nonInteractivePreview } from './preview.js';\n","import { cwd } from 'node:process';\nimport { ARMClient } from '@wix/arm-client';\nimport { isLoggedInToAccount } from '@wix/cli-auth';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { addUserFields } from '@wix/cli-telemetry';\nimport { createHttpClient } from '@wix/cli-http-client';\nimport type { CommandServices } from '@wix/cli-command-contract';\nimport { loadProjectModel } from '../../model.js';\nimport { createPreviewTag } from '../../preview/create-preview-tag.js';\nimport { uploadApplication } from '../../hosting/upload-application.js';\nimport { resolveSite } from './resolve-site.js';\nimport { log } from '../logger.js';\n\nexport async function nonInteractivePreview(\n options: { siteId?: string; baseUrl?: string },\n services: CommandServices\n) {\n const model = await loadProjectModel(cwd());\n const authData = await isLoggedInToAccount();\n\n if (!authData) {\n throw new CliError({\n code: CliErrorCode.AuthenticationRequired(),\n });\n }\n\n services.errorReporter.setUser({ id: authData.userInfo.userId });\n addUserFields(services.biLogger, authData.userInfo.userId);\n\n const httpClient = createHttpClient({\n type: 'backoffice',\n getAppToken: () => authData.getAccessToken(),\n });\n\n const site = await resolveSite(model, httpClient, options.siteId);\n\n const serveUrl =\n options.baseUrl ??\n (await uploadApplication(\n model.config.appId,\n model.projectFolder,\n services.biLogger,\n httpClient\n ));\n\n const arm = new ARMClient(httpClient);\n\n const { dashboardPageUrl } = await createPreviewTag({\n model,\n site,\n arm,\n serveUrl,\n });\n\n log(dashboardPageUrl);\n}\n","import { isType } from 'variant';\nimport { updateAppManifestWithBaseUrl } from '@wix/cli-app-manifest';\nimport type { ARMClient } from '@wix/arm-client';\nimport type { Site } from '@wix/site-list-client';\nimport { PlatformType } from '@wix/cli-app-definitions';\nimport { resolvePlatformUrl } from '../components/extensions/utils.js';\nimport { DevCenterComponent } from '../dev-center/components/dev-center-component.js';\nimport { readAppManifestFile } from '../app-manifest/file.js';\nimport type { ProjectModel } from '../model.js';\n\nexport const createPreviewTag = async ({\n model,\n site,\n arm,\n serveUrl,\n}: {\n model: ProjectModel;\n site: Site;\n arm: ARMClient;\n serveUrl: string;\n}) => {\n const manifest = await readAppManifestFile(model.projectFolder);\n const updatedManifest = updateAppManifestWithBaseUrl(manifest, serveUrl);\n\n const tag = await arm.createAppRelease(\n updatedManifest,\n model.config.projectId\n );\n\n const [component] = model.components.filter(\n isType(DevCenterComponent.DashboardPage)\n );\n\n return {\n tag,\n dashboardPageUrl: resolvePlatformUrl({\n envConfig: {\n appId: model.config.appId,\n site,\n tag,\n },\n platformType: PlatformType.Dashboard({ route: component.route }),\n }),\n };\n};\n","import { match } from 'variant';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { SiteListClient } from '@wix/site-list-client';\nimport type { HttpClient } from '@wix/cli-http-client';\nimport type { ProjectModel } from '../../model.js';\nimport { resolveConfiguredSite } from '../../site-id/resolve-configured-site.js';\n\nexport async function resolveSite(\n model: ProjectModel,\n httpClient: HttpClient,\n siteId?: string\n) {\n const siteListClient = new SiteListClient(httpClient);\n\n const site = await resolveConfiguredSite({\n siteId,\n projectFolder: model.projectFolder,\n siteListClient,\n });\n\n return match(site, {\n NotConfigured: () => {\n throw new CliError({\n code: CliErrorCode.SiteConfiguredRequired(),\n });\n },\n NotFound: () => {\n throw new CliError({\n code: CliErrorCode.SiteConfiguredRequired(),\n });\n },\n Resolved: ({ site }) => site,\n });\n}\n","export function log(message: string) {\n // eslint-disable-next-line no-console\n console.log(message);\n}\n"],"mappings":";;0bAAAA,ICAAC,IAAA,OAAS,OAAAC,MAAW,eCApBC,IAAA,IAAAC,EAAuB,SAUhB,IAAMC,EAAmB,MAAO,CACrC,MAAAC,EACA,KAAAC,EACA,IAAAC,EACA,SAAAC,CACF,IAKM,CACJ,IAAMC,EAAW,MAAMC,EAAoBL,EAAM,aAAa,EACxDM,EAAkBC,EAA6BH,EAAUD,CAAQ,EAEjEK,EAAM,MAAMN,EAAI,iBACpBI,EACAN,EAAM,OAAO,SACf,EAEM,CAACS,CAAS,EAAIT,EAAM,WAAW,UACnC,UAAOU,EAAmB,aAAa,CACzC,EAEA,MAAO,CACL,IAAAF,EACA,iBAAkBG,EAAmB,CACnC,UAAW,CACT,MAAOX,EAAM,OAAO,MACpB,KAAAC,EACA,IAAAO,CACF,EACA,aAAcI,EAAa,UAAU,CAAE,MAAOH,EAAU,KAAM,CAAC,CACjE,CAAC,CACH,CACF,EC5CAI,IAAA,IAAAC,EAAsB,SAOtB,eAAsBC,EACpBC,EACAC,EACAC,EACA,CACA,IAAMC,EAAiB,IAAIC,EAAeH,CAAU,EAE9CI,EAAO,MAAMC,EAAsB,CACvC,OAAAJ,EACA,cAAeF,EAAM,cACrB,eAAAG,CACF,CAAC,EAED,SAAO,SAAME,EAAM,CACjB,cAAe,IAAM,CACnB,MAAM,IAAIE,EAAS,CACjB,KAAMC,EAAa,uBAAuB,CAC5C,CAAC,CACH,EACA,SAAU,IAAM,CACd,MAAM,IAAID,EAAS,CACjB,KAAMC,EAAa,uBAAuB,CAC5C,CAAC,CACH,EACA,SAAU,CAAC,CAAE,KAAAH,CAAK,IAAMA,CAC1B,CAAC,CACH,CCjCAI,IAAO,SAASC,EAAIC,EAAiB,CAEnC,QAAQ,IAAIA,CAAO,CACrB,CHUA,eAAsBC,EACpBC,EACAC,EACA,CACA,IAAMC,EAAQ,MAAMC,EAAiBC,EAAI,CAAC,EACpCC,EAAW,MAAMC,EAAoB,EAE3C,GAAI,CAACD,EACH,MAAM,IAAIE,EAAS,CACjB,KAAMC,EAAa,uBAAuB,CAC5C,CAAC,EAGHP,EAAS,cAAc,QAAQ,CAAE,GAAII,EAAS,SAAS,MAAO,CAAC,EAC/DI,EAAcR,EAAS,SAAUI,EAAS,SAAS,MAAM,EAEzD,IAAMK,EAAaC,EAAiB,CAClC,KAAM,aACN,YAAa,IAAMN,EAAS,eAAe,CAC7C,CAAC,EAEKO,EAAO,MAAMC,EAAYX,EAAOQ,EAAYV,EAAQ,MAAM,EAE1Dc,EACJd,EAAQ,SACP,MAAMe,EACLb,EAAM,OAAO,MACbA,EAAM,cACND,EAAS,SACTS,CACF,EAEIM,EAAM,IAAIC,EAAUP,CAAU,EAE9B,CAAE,iBAAAQ,CAAiB,EAAI,MAAMC,EAAiB,CAClD,MAAAjB,EACA,KAAAU,EACA,IAAAI,EACA,SAAAF,CACF,CAAC,EAEDM,EAAIF,CAAgB,CACtB","names":["init_esm_shims","init_esm_shims","cwd","init_esm_shims","import_variant","createPreviewTag","model","site","arm","serveUrl","manifest","readAppManifestFile","updatedManifest","updateAppManifestWithBaseUrl","tag","component","DevCenterComponent","resolvePlatformUrl","PlatformType","init_esm_shims","import_variant","resolveSite","model","httpClient","siteId","siteListClient","SiteListClient","site","resolveConfiguredSite","CliError","CliErrorCode","init_esm_shims","log","message","nonInteractivePreview","options","services","model","loadProjectModel","cwd","authData","isLoggedInToAccount","CliError","CliErrorCode","addUserFields","httpClient","createHttpClient","site","resolveSite","serveUrl","uploadApplication","arm","ARMClient","dashboardPageUrl","createPreviewTag","log"]}
@@ -1,4 +0,0 @@
1
- import { createRequire as _createRequire } from 'node:module';
2
- const require = _createRequire(import.meta.url);
3
- import{a as c}from"./chunk-FV67T4ZH.js";import{a as E}from"./chunk-PJ7ZZBC4.js";import{a as P}from"./chunk-OYUGDF7S.js";import{a as y,b as I}from"./chunk-D2SHWB76.js";import{k as v,t as h,v as C}from"./chunk-RQK35Z3D.js";import{D as u,y as g}from"./chunk-UJW3X3T2.js";import"./chunk-BO7BWQLZ.js";import{c as f,d as l,ka as a,la as j,t as w}from"./chunk-GCBXRNFB.js";import{h as s}from"./chunk-HFDLXX7R.js";s();import{cwd as F}from"node:process";import n from"react";async function x(e,{biLogger:r,errorReporter:t}){t.setContext("app info",{appId:e.config.appId,projectId:e.config.projectId}),r.updateDefaults({_appId:e.config.appId})}async function K(e,{biLogger:r,errorReporter:t},i,d){await L(e,{biLogger:r,errorReporter:t},async()=>{let o=await a(F());if(o.components.length===0)throw new f({code:l.NoExtensionsFound()});let m=w(o.projectFolder);await g(n.createElement(v,{value:r},n.createElement(h,{value:t},n.createElement(C,{onLogin:p=>{t.setUser({id:p.userId}),y(r,p.userId)}},n.createElement(u,{messages:E},n.createElement(P,{filePath:m},n.createElement(j,{value:o,watchForChanges:d?.watchForModelChanges},i)))))))})}async function L(e,r,t){let i=await a(F());await x(i,r);let d=I({biLogger:r.biLogger,command:e,cliVersion:c,flow:"Apps",projectId:i.config.projectId,extensions:i.components.reduce((o,m)=>(o[m.type]?o[m.type]++:o[m.type]=1,o),{})});try{await t(),d.succeed()}catch(o){throw d.failed(o),o}}export{K as renderCommand,L as runCommand};
4
- //# sourceMappingURL=render-command-SXRUN6CW.js.map