@wix/cli-app 1.1.132 → 1.1.133

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 (65) hide show
  1. package/build/{AddPermissionCommand-7QIFVBXV.js → AddPermissionCommand-TSG2QSBL.js} +2 -2
  2. package/build/{DevCommand-RDPL27X5.js → DevCommand-7MZLBDES.js} +20 -204
  3. package/build/DevCommand-7MZLBDES.js.map +1 -0
  4. package/build/{GenerateCommand-6ADO2EJU.js → GenerateCommand-5UI54KBU.js} +8 -8
  5. package/build/{LogsCommand-PIRWJADI.js → LogsCommand-WFRYKHOJ.js} +3 -3
  6. package/build/PreviewCommand-LL5LFTMH.js +19 -0
  7. package/build/ReleaseCommand-RKFXIF3L.js +23 -0
  8. package/build/{ServeCommand-5HERPY2Q.js → ServeCommand-H4SEVUAN.js} +3 -3
  9. package/build/{build-6IDZAW4E.js → build-DSGVV5ZV.js} +6 -6
  10. package/build/{chunk-ZHQREOZP.js → chunk-3QFT6UQF.js} +2 -1
  11. package/build/chunk-3QFT6UQF.js.map +1 -0
  12. package/build/{chunk-O2MISIES.js → chunk-5WFSVZ46.js} +2 -2
  13. package/build/{chunk-WA2CFDB5.js → chunk-ANYJPSC5.js} +3 -3
  14. package/build/{chunk-IIF6P6XG.js → chunk-CGB7ASKC.js} +2 -2
  15. package/build/{chunk-QQ4OBBX7.js → chunk-DYQDQIEK.js} +6 -6
  16. package/build/{chunk-XDUVJLLQ.js → chunk-ESWUL5ZX.js} +2 -2
  17. package/build/{chunk-FWRUE2NB.js → chunk-FDSIXM6K.js} +2 -2
  18. package/build/{chunk-ESTYQVMX.js → chunk-FLD47ENF.js} +179 -110
  19. package/build/{chunk-ESTYQVMX.js.map → chunk-FLD47ENF.js.map} +1 -1
  20. package/build/{chunk-UJ4SA2PC.js → chunk-GD5PKY3K.js} +2 -2
  21. package/build/{chunk-DK2KK5UN.js → chunk-JL3LD5NY.js} +2 -2
  22. package/build/{chunk-JYZ5QJ5C.js → chunk-LQ4UVRDE.js} +2 -2
  23. package/build/{chunk-KVESKT7X.js → chunk-LXB667TS.js} +5 -5
  24. package/build/{chunk-VDQEUTFT.js → chunk-MNXUG25I.js} +5 -5
  25. package/build/{chunk-GNL53AZS.js → chunk-QYDPX5NW.js} +3 -3
  26. package/build/{chunk-LQZSH33G.js → chunk-RD5ZK7QU.js} +6 -6
  27. package/build/{chunk-NJXD2TTX.js → chunk-XLQ3FRLZ.js} +2 -2
  28. package/build/{chunk-PREYTA74.js → chunk-Z4TJCHCK.js} +3 -3
  29. package/build/{chunk-KHUHWBJD.js → chunk-Z5ULQGAD.js} +395 -93
  30. package/build/chunk-Z5ULQGAD.js.map +1 -0
  31. package/build/index.js +24 -24
  32. package/build/{preview-IXHPIOMO.js → preview-2NDGCDVM.js} +13 -13
  33. package/build/{release-RFFKID6V.js → release-EYSGZ3OW.js} +15 -15
  34. package/build/{render-command-NUU6LT5M.js → render-command-5BZDYMWG.js} +6 -6
  35. package/package.json +2 -2
  36. package/build/DevCommand-RDPL27X5.js.map +0 -1
  37. package/build/PreviewCommand-AN6WMCYS.js +0 -19
  38. package/build/ReleaseCommand-DAK2EFM2.js +0 -23
  39. package/build/chunk-KHUHWBJD.js.map +0 -1
  40. package/build/chunk-ZHQREOZP.js.map +0 -1
  41. /package/build/{AddPermissionCommand-7QIFVBXV.js.map → AddPermissionCommand-TSG2QSBL.js.map} +0 -0
  42. /package/build/{GenerateCommand-6ADO2EJU.js.map → GenerateCommand-5UI54KBU.js.map} +0 -0
  43. /package/build/{LogsCommand-PIRWJADI.js.map → LogsCommand-WFRYKHOJ.js.map} +0 -0
  44. /package/build/{PreviewCommand-AN6WMCYS.js.map → PreviewCommand-LL5LFTMH.js.map} +0 -0
  45. /package/build/{ReleaseCommand-DAK2EFM2.js.map → ReleaseCommand-RKFXIF3L.js.map} +0 -0
  46. /package/build/{ServeCommand-5HERPY2Q.js.map → ServeCommand-H4SEVUAN.js.map} +0 -0
  47. /package/build/{build-6IDZAW4E.js.map → build-DSGVV5ZV.js.map} +0 -0
  48. /package/build/{chunk-O2MISIES.js.map → chunk-5WFSVZ46.js.map} +0 -0
  49. /package/build/{chunk-WA2CFDB5.js.map → chunk-ANYJPSC5.js.map} +0 -0
  50. /package/build/{chunk-IIF6P6XG.js.map → chunk-CGB7ASKC.js.map} +0 -0
  51. /package/build/{chunk-QQ4OBBX7.js.map → chunk-DYQDQIEK.js.map} +0 -0
  52. /package/build/{chunk-XDUVJLLQ.js.map → chunk-ESWUL5ZX.js.map} +0 -0
  53. /package/build/{chunk-FWRUE2NB.js.map → chunk-FDSIXM6K.js.map} +0 -0
  54. /package/build/{chunk-UJ4SA2PC.js.map → chunk-GD5PKY3K.js.map} +0 -0
  55. /package/build/{chunk-DK2KK5UN.js.map → chunk-JL3LD5NY.js.map} +0 -0
  56. /package/build/{chunk-JYZ5QJ5C.js.map → chunk-LQ4UVRDE.js.map} +0 -0
  57. /package/build/{chunk-KVESKT7X.js.map → chunk-LXB667TS.js.map} +0 -0
  58. /package/build/{chunk-VDQEUTFT.js.map → chunk-MNXUG25I.js.map} +0 -0
  59. /package/build/{chunk-GNL53AZS.js.map → chunk-QYDPX5NW.js.map} +0 -0
  60. /package/build/{chunk-LQZSH33G.js.map → chunk-RD5ZK7QU.js.map} +0 -0
  61. /package/build/{chunk-NJXD2TTX.js.map → chunk-XLQ3FRLZ.js.map} +0 -0
  62. /package/build/{chunk-PREYTA74.js.map → chunk-Z4TJCHCK.js.map} +0 -0
  63. /package/build/{preview-IXHPIOMO.js.map → preview-2NDGCDVM.js.map} +0 -0
  64. /package/build/{release-RFFKID6V.js.map → release-EYSGZ3OW.js.map} +0 -0
  65. /package/build/{render-command-NUU6LT5M.js.map → render-command-5BZDYMWG.js.map} +0 -0
@@ -4,13 +4,13 @@ import {
4
4
  componentGenerator,
5
5
  require_lodash,
6
6
  useBackendComponents
7
- } from "./chunk-JYZ5QJ5C.js";
7
+ } from "./chunk-LQ4UVRDE.js";
8
8
  import {
9
9
  useTunnel
10
- } from "./chunk-DK2KK5UN.js";
10
+ } from "./chunk-JL3LD5NY.js";
11
11
  import {
12
12
  useDebugLog
13
- } from "./chunk-IIF6P6XG.js";
13
+ } from "./chunk-CGB7ASKC.js";
14
14
  import {
15
15
  createAppManifest,
16
16
  getComponentDevSourceBuilder,
@@ -19,10 +19,10 @@ import {
19
19
  getViteConfig3,
20
20
  getViteServerUrl,
21
21
  updateAppManifestComponents
22
- } from "./chunk-PREYTA74.js";
22
+ } from "./chunk-Z4TJCHCK.js";
23
23
  import {
24
24
  useExtensionDataClient
25
- } from "./chunk-NJXD2TTX.js";
25
+ } from "./chunk-XLQ3FRLZ.js";
26
26
  import {
27
27
  APP_CONFIG_PATH,
28
28
  Alert,
@@ -46,6 +46,7 @@ import {
46
46
  Text,
47
47
  TimeoutError,
48
48
  Trans,
49
+ createHttpClient,
49
50
  deepEqual,
50
51
  external_exports,
51
52
  getBlocksTypesPath,
@@ -82,11 +83,12 @@ import {
82
83
  useHttpClient,
83
84
  usePanoramaMethodLogger,
84
85
  useProjectModel,
86
+ useSiteAuth,
85
87
  useTranslation,
86
88
  use_input_default,
87
89
  wixCliAction,
88
90
  wixCliAppFlowStepsAnswers
89
- } from "./chunk-ESTYQVMX.js";
91
+ } from "./chunk-FLD47ENF.js";
90
92
  import {
91
93
  __commonJS,
92
94
  __dirname,
@@ -23566,12 +23568,20 @@ var SiteListClient = class {
23566
23568
  });
23567
23569
  }
23568
23570
  };
23569
- getSite = async (id) => {
23571
+ getSite = async (id, inclHeadless) => {
23572
+ const queryPayload = {
23573
+ query: {
23574
+ filter: {
23575
+ id: { $in: [id] },
23576
+ ...inclHeadless ? {
23577
+ namespace: { $in: ["WIX", "HEADLESS"] }
23578
+ } : {}
23579
+ }
23580
+ }
23581
+ };
23570
23582
  try {
23571
23583
  const { data } = await pRetry(
23572
- () => this.httpClient.request(
23573
- querySites({ query: { filter: { id: { $in: [id] } } } })
23574
- ),
23584
+ () => this.httpClient.request(querySites(queryPayload)),
23575
23585
  this.retryOptions
23576
23586
  );
23577
23587
  const { sites } = querySitesSchema.parse(data);
@@ -24120,14 +24130,280 @@ var SiteProvider = ({ children, siteId }) => {
24120
24130
 
24121
24131
  // src/components/DevCommand/DevEnvironment.tsx
24122
24132
  init_esm_shims();
24123
- var import_react25 = __toESM(require_react(), 1);
24133
+ var import_react26 = __toESM(require_react(), 1);
24124
24134
  var import_variant13 = __toESM(require_lib(), 1);
24125
24135
 
24126
24136
  // src/components/DevCommand/useArmUpdater.ts
24127
24137
  init_esm_shims();
24128
- var import_react15 = __toESM(require_react(), 1);
24138
+ var import_react17 = __toESM(require_react(), 1);
24129
24139
  var import_variant10 = __toESM(require_lib(), 1);
24130
24140
 
24141
+ // ../metasite-manager-client/src/index.ts
24142
+ init_esm_shims();
24143
+
24144
+ // ../metasite-manager-client/src/useMetasiteManagerClient.ts
24145
+ init_esm_shims();
24146
+ var import_react13 = __toESM(require_react(), 1);
24147
+
24148
+ // ../metasite-manager-client/src/metasite-manager-client.ts
24149
+ init_esm_shims();
24150
+
24151
+ // ../../node_modules/@wix/ambassador-metasite-api-v1-meta-site/build/es/http.impl.js
24152
+ init_esm_shims();
24153
+ var _createMetaSiteFromTemplateRequest = {};
24154
+ var _createMetaSiteFromTemplateResponse = { metaSite: "_metaSite" };
24155
+ var _metaSite = {
24156
+ dateCreated: "google.protobuf.Timestamp",
24157
+ dateUpdated: "google.protobuf.Timestamp",
24158
+ accountCreatedDate: "google.protobuf.Timestamp"
24159
+ };
24160
+ function resolveComWixpressMetasiteApiV1MetaSiteLifecycleUrl(opts) {
24161
+ var domainToMappings = {
24162
+ "www._base_domain_": [
24163
+ {
24164
+ srcPath: "/_api/msm-writer",
24165
+ destPath: ""
24166
+ },
24167
+ {
24168
+ srcPath: "/_api/msm",
24169
+ destPath: ""
24170
+ }
24171
+ ],
24172
+ "manage._base_domain_": [
24173
+ {
24174
+ srcPath: "/_api/msm-writer",
24175
+ destPath: ""
24176
+ },
24177
+ {
24178
+ srcPath: "/_api/msm",
24179
+ destPath: ""
24180
+ }
24181
+ ],
24182
+ "www.wixapis.com": [
24183
+ {
24184
+ srcPath: "/msm",
24185
+ destPath: ""
24186
+ }
24187
+ ],
24188
+ "editor._base_domain_": [
24189
+ {
24190
+ srcPath: "/_api/msm-writer",
24191
+ destPath: ""
24192
+ }
24193
+ ],
24194
+ "blocks._base_domain_": [
24195
+ {
24196
+ srcPath: "/_api/msm-writer",
24197
+ destPath: ""
24198
+ }
24199
+ ],
24200
+ "create.editorx": [
24201
+ {
24202
+ srcPath: "/_api/msm-writer",
24203
+ destPath: ""
24204
+ }
24205
+ ]
24206
+ };
24207
+ return resolveUrl(Object.assign(opts, { domainToMappings }));
24208
+ }
24209
+ function createMetaSiteFromTemplate(payload) {
24210
+ var _a = serializer(_createMetaSiteFromTemplateRequest, {}), toReq = _a.toJSON, fromReq = _a.fromJSON;
24211
+ var fromRes = serializer(_createMetaSiteFromTemplateResponse, { _metaSite }).fromJSON;
24212
+ function __createMetaSiteFromTemplate(_a2) {
24213
+ var host = _a2.host;
24214
+ var serializedData = toReq(payload);
24215
+ var metadata = {
24216
+ entityFqdn: "wix.metasite.api.v1.meta_site",
24217
+ method: "POST",
24218
+ methodFqn: "com.wixpress.metasite.api.v1.MetaSiteLifecycle.CreateMetaSiteFromTemplate",
24219
+ url: resolveComWixpressMetasiteApiV1MetaSiteLifecycleUrl({
24220
+ protoPath: "/v1/meta-site/create-from-template",
24221
+ data: serializedData,
24222
+ host
24223
+ }),
24224
+ data: serializedData,
24225
+ transformResponse: fromRes
24226
+ };
24227
+ return metadata;
24228
+ }
24229
+ __createMetaSiteFromTemplate.fromReq = fromReq;
24230
+ __createMetaSiteFromTemplate.__isAmbassador = true;
24231
+ return __createMetaSiteFromTemplate;
24232
+ }
24233
+
24234
+ // ../../node_modules/@wix/ambassador-document-management-document-store-v1-transaction/build/es/http.impl.js
24235
+ init_esm_shims();
24236
+ var _distributeRequest = {};
24237
+ var _distributeResponse = {};
24238
+ function resolveComWixpressEditorApiDocumentStoreServiceUrl(opts) {
24239
+ var domainToMappings = {
24240
+ "api._api_base_domain_": [
24241
+ {
24242
+ srcPath: "/editor-document-store",
24243
+ destPath: ""
24244
+ }
24245
+ ],
24246
+ "www._base_domain_": [
24247
+ {
24248
+ srcPath: "/_api/editor-document-store",
24249
+ destPath: ""
24250
+ }
24251
+ ],
24252
+ "editor._base_domain_": [
24253
+ {
24254
+ srcPath: "/_api/editor-document-store",
24255
+ destPath: ""
24256
+ }
24257
+ ],
24258
+ "blocks._base_domain_": [
24259
+ {
24260
+ srcPath: "/_api/editor-document-store",
24261
+ destPath: ""
24262
+ }
24263
+ ],
24264
+ "create.editorx": [
24265
+ {
24266
+ srcPath: "/_api/editor-document-store",
24267
+ destPath: ""
24268
+ }
24269
+ ]
24270
+ };
24271
+ return resolveUrl(Object.assign(opts, { domainToMappings }));
24272
+ }
24273
+ function distribute(payload) {
24274
+ var _a = serializer(_distributeRequest, {}), toReq = _a.toJSON, fromReq = _a.fromJSON;
24275
+ var fromRes = serializer(_distributeResponse, {}).fromJSON;
24276
+ function __distribute(_a2) {
24277
+ var host = _a2.host;
24278
+ var serializedData = toReq(payload);
24279
+ var metadata = {
24280
+ entityFqdn: "wix.document_management.document_store.v1.transaction",
24281
+ method: "POST",
24282
+ methodFqn: "com.wixpress.editor.api.DocumentStoreService.Distribute",
24283
+ url: resolveComWixpressEditorApiDocumentStoreServiceUrl({
24284
+ protoPath: "/v1/distribute",
24285
+ data: serializedData,
24286
+ host
24287
+ }),
24288
+ data: serializedData,
24289
+ transformResponse: fromRes
24290
+ };
24291
+ return metadata;
24292
+ }
24293
+ __distribute.fromReq = fromReq;
24294
+ __distribute.__isAmbassador = true;
24295
+ return __distribute;
24296
+ }
24297
+
24298
+ // ../metasite-manager-client/src/schemas.ts
24299
+ init_esm_shims();
24300
+ var clientSpecMapSchema = external_exports.record(
24301
+ external_exports.object({
24302
+ appDefinitionId: external_exports.string().optional(),
24303
+ permissions: external_exports.object({ revoked: external_exports.boolean() }).optional(),
24304
+ instanceId: external_exports.string().optional()
24305
+ })
24306
+ );
24307
+ var createMetaSiteFromTemplateSchema = external_exports.object({
24308
+ metaSite: external_exports.object({
24309
+ metaSiteId: external_exports.string()
24310
+ })
24311
+ });
24312
+
24313
+ // ../metasite-manager-client/src/metasite-manager-client.ts
24314
+ var MetasiteManagerClient = class {
24315
+ constructor(httpClient) {
24316
+ this.httpClient = httpClient;
24317
+ }
24318
+ getClientSpecMap = async (metaSiteId) => {
24319
+ try {
24320
+ const { data } = await this.httpClient.request({
24321
+ url: `/_api/msm/v1/meta-site/editor-client-spec-map/${metaSiteId}`
24322
+ });
24323
+ return clientSpecMapSchema.parse(data);
24324
+ } catch (e) {
24325
+ throw new CliError({
24326
+ code: CliErrorCode.FailedToGetClientSpecMap(),
24327
+ cause: e
24328
+ });
24329
+ }
24330
+ };
24331
+ createMetaSiteFromTemplate = async (request) => {
24332
+ try {
24333
+ const { data } = await this.httpClient.request(
24334
+ createMetaSiteFromTemplate(request)
24335
+ );
24336
+ return createMetaSiteFromTemplateSchema.parse(data).metaSite;
24337
+ } catch (e) {
24338
+ throw new CliError({
24339
+ code: CliErrorCode.FailedToCreateMetaSiteFromTemplate(),
24340
+ cause: e
24341
+ });
24342
+ }
24343
+ };
24344
+ getSiteInstalledApps = async (metaSiteId) => {
24345
+ try {
24346
+ const clientSpecMap = await this.getClientSpecMap(metaSiteId);
24347
+ return Object.values(clientSpecMap).filter((spec) => spec.appDefinitionId && !spec.permissions?.revoked).map((spec) => spec.appDefinitionId);
24348
+ } catch (e) {
24349
+ throw new CliError({
24350
+ code: CliErrorCode.FailedToGetSiteInstalledApps(),
24351
+ cause: e
24352
+ });
24353
+ }
24354
+ };
24355
+ getInstalledAppInstanceId = async ({
24356
+ metaSiteId,
24357
+ appId
24358
+ }) => {
24359
+ try {
24360
+ const clientSpecMap = await this.getClientSpecMap(metaSiteId);
24361
+ const installedApp = Object.values(clientSpecMap).find(
24362
+ (spec) => spec.appDefinitionId === appId
24363
+ );
24364
+ return installedApp?.instanceId ?? "";
24365
+ } catch (e) {
24366
+ throw new CliError({
24367
+ code: CliErrorCode.FailedToGetSiteInstalledAppInstanceId(),
24368
+ cause: e
24369
+ });
24370
+ }
24371
+ };
24372
+ distributeClientUpdate = async (appId) => {
24373
+ try {
24374
+ await this.httpClient.request(
24375
+ distribute({
24376
+ payloads: [
24377
+ {
24378
+ id: appId,
24379
+ messageType: "MANIFEST_UPDATE",
24380
+ data: {
24381
+ appId
24382
+ }
24383
+ }
24384
+ ],
24385
+ branchId: "00000000-0000-0000-0000-000000000000"
24386
+ })
24387
+ );
24388
+ } catch (e) {
24389
+ throw new CliError({
24390
+ code: CliErrorCode.FailedToDistributeClientManifestUpdate(),
24391
+ cause: e
24392
+ });
24393
+ }
24394
+ };
24395
+ };
24396
+
24397
+ // ../metasite-manager-client/src/useMetasiteManagerClient.ts
24398
+ function useMetasiteManagerClient() {
24399
+ const httpClient = useHttpClient({ type: "general" });
24400
+ const client = (0, import_react13.useMemo)(
24401
+ () => new MetasiteManagerClient(httpClient),
24402
+ [httpClient]
24403
+ );
24404
+ return usePanoramaMethodLogger(client);
24405
+ }
24406
+
24131
24407
  // ../arm-client/src/index.ts
24132
24408
  init_esm_shims();
24133
24409
 
@@ -24718,16 +24994,16 @@ var ARMClient = class {
24718
24994
 
24719
24995
  // ../arm-client/src/useARMClient.ts
24720
24996
  init_esm_shims();
24721
- var import_react13 = __toESM(require_react(), 1);
24997
+ var import_react14 = __toESM(require_react(), 1);
24722
24998
  function useARMClient() {
24723
24999
  const httpClient = useHttpClient({ type: "backoffice" });
24724
- const client = (0, import_react13.useMemo)(() => new ARMClient(httpClient), [httpClient]);
25000
+ const client = (0, import_react14.useMemo)(() => new ARMClient(httpClient), [httpClient]);
24725
25001
  return usePanoramaMethodLogger(client);
24726
25002
  }
24727
25003
 
24728
25004
  // src/blocks/useBlocksServicesClient.ts
24729
25005
  init_esm_shims();
24730
- var import_react14 = __toESM(require_react(), 1);
25006
+ var import_react15 = __toESM(require_react(), 1);
24731
25007
 
24732
25008
  // src/blocks/blocks-services-client.ts
24733
25009
  init_esm_shims();
@@ -25013,13 +25289,24 @@ var BlocksServicesClient = class {
25013
25289
  // src/blocks/useBlocksServicesClient.ts
25014
25290
  function useBlocksServicesClient() {
25015
25291
  const httpClient = useHttpClient({ type: "api" });
25016
- const client = (0, import_react14.useMemo)(
25292
+ const client = (0, import_react15.useMemo)(
25017
25293
  () => new BlocksServicesClient(httpClient),
25018
25294
  [httpClient]
25019
25295
  );
25020
25296
  return usePanoramaMethodLogger(client);
25021
25297
  }
25022
25298
 
25299
+ // src/site/useSite.ts
25300
+ init_esm_shims();
25301
+ var import_react16 = __toESM(require_react(), 1);
25302
+ function useSite() {
25303
+ const context = (0, import_react16.useContext)(SiteContext);
25304
+ if (context == null) {
25305
+ throw new Error("useSite() cannot be used without an <SiteProvider>");
25306
+ }
25307
+ return context;
25308
+ }
25309
+
25023
25310
  // src/components/DevCommand/useArmUpdater.ts
25024
25311
  var createAppManifestWithBaseUrl = async ({
25025
25312
  model,
@@ -25048,7 +25335,24 @@ function useArmUpdater() {
25048
25335
  const blocksServicesClient = useBlocksServicesClient();
25049
25336
  const writeDebugLog = useDebugLog();
25050
25337
  const { createAppRelease: createAppRelease2, updateAppRelease: updateAppRelease2 } = useARMClient();
25051
- return (0, import_react15.useCallback)(
25338
+ const { site } = useSite();
25339
+ const siteAuth = useSiteAuth({
25340
+ siteId: site.id
25341
+ });
25342
+ const siteClient = (0, import_react17.useMemo)(
25343
+ () => siteAuth.isAuthenticated && createHttpClient({
25344
+ type: "editor",
25345
+ getAppToken: siteAuth.getAccessToken,
25346
+ createHeaders: siteAuth.getRequestHeaders
25347
+ }),
25348
+ // eslint-disable-next-line react-hooks/exhaustive-deps
25349
+ [siteAuth.isAuthenticated]
25350
+ );
25351
+ const metasiteManagerClientRef = (0, import_react17.useRef)(null);
25352
+ (0, import_react17.useEffect)(() => {
25353
+ metasiteManagerClientRef.current = siteClient ? new MetasiteManagerClient(siteClient) : null;
25354
+ }, [siteClient]);
25355
+ return (0, import_react17.useCallback)(
25052
25356
  async ({
25053
25357
  backendServerUrl,
25054
25358
  devServerUrl,
@@ -25086,7 +25390,7 @@ function useArmUpdater() {
25086
25390
  }
25087
25391
  projectModelWatcher.onChange(async (newModel, changeType) => {
25088
25392
  try {
25089
- if (changeType === "model-updated" || changeType === "blocks-revision-changed") {
25393
+ if (changeType === "model-updated" || changeType === "blocks-revision-changed" || changeType === "component-updated") {
25090
25394
  if (newModel.components.length === 0) {
25091
25395
  return;
25092
25396
  }
@@ -25109,6 +25413,11 @@ function useArmUpdater() {
25109
25413
  appDefId: newModel.config.appId
25110
25414
  });
25111
25415
  }
25416
+ if (metasiteManagerClientRef.current && changeType === "component-updated") {
25417
+ await metasiteManagerClientRef.current.distributeClientUpdate(
25418
+ newModel.config.appId
25419
+ );
25420
+ }
25112
25421
  onChange(changeType);
25113
25422
  } catch (e) {
25114
25423
  onError(e);
@@ -25128,7 +25437,7 @@ function useArmUpdater() {
25128
25437
 
25129
25438
  // src/components/DevCommand/useDevServer.ts
25130
25439
  init_esm_shims();
25131
- var import_react16 = __toESM(require_react(), 1);
25440
+ var import_react18 = __toESM(require_react(), 1);
25132
25441
  import { createServer } from "vite";
25133
25442
 
25134
25443
  // src/vite/plugins/proxy-dev-servers.ts
@@ -25193,13 +25502,13 @@ function useViteDevServer({
25193
25502
  createConfig
25194
25503
  }) {
25195
25504
  const { reportError } = useErrorReporter();
25196
- const devServerRef = (0, import_react16.useRef)();
25197
- (0, import_react16.useEffect)(() => {
25505
+ const devServerRef = (0, import_react18.useRef)();
25506
+ (0, import_react18.useEffect)(() => {
25198
25507
  return () => {
25199
25508
  devServerRef.current?.close().catch(reportError);
25200
25509
  };
25201
25510
  }, [reportError]);
25202
- return (0, import_react16.useCallback)(
25511
+ return (0, import_react18.useCallback)(
25203
25512
  async (options) => {
25204
25513
  try {
25205
25514
  const config = await createConfig(options);
@@ -25277,16 +25586,16 @@ function useBackendDevServer() {
25277
25586
 
25278
25587
  // src/context/armTag.tsx
25279
25588
  init_esm_shims();
25280
- var import_react17 = __toESM(require_react(), 1);
25281
- var ArmTagContext = (0, import_react17.createContext)(null);
25589
+ var import_react19 = __toESM(require_react(), 1);
25590
+ var ArmTagContext = (0, import_react19.createContext)(null);
25282
25591
  var ArmTagProvider = ({
25283
25592
  children,
25284
25593
  armTag
25285
25594
  }) => {
25286
- return /* @__PURE__ */ import_react17.default.createElement(ArmTagContext.Provider, { value: { armTag } }, children);
25595
+ return /* @__PURE__ */ import_react19.default.createElement(ArmTagContext.Provider, { value: { armTag } }, children);
25287
25596
  };
25288
25597
  var useArmTag = () => {
25289
- const context = (0, import_react17.useContext)(ArmTagContext);
25598
+ const context = (0, import_react19.useContext)(ArmTagContext);
25290
25599
  if (context == null) {
25291
25600
  throw new Error("useArmTag() cannot be used without an <ArmTagProvider>");
25292
25601
  }
@@ -25295,7 +25604,7 @@ var useArmTag = () => {
25295
25604
 
25296
25605
  // src/components/DevCommand/useSiteOverrideUpdater.ts
25297
25606
  init_esm_shims();
25298
- var import_react20 = __toESM(require_react(), 1);
25607
+ var import_react21 = __toESM(require_react(), 1);
25299
25608
 
25300
25609
  // ../site-override-client/src/index.ts
25301
25610
  init_esm_shims();
@@ -25425,10 +25734,10 @@ var SiteOverrideClient = class {
25425
25734
 
25426
25735
  // ../site-override-client/src/useSiteOverrideClient.ts
25427
25736
  init_esm_shims();
25428
- var import_react18 = __toESM(require_react(), 1);
25737
+ var import_react20 = __toESM(require_react(), 1);
25429
25738
  function useSiteOverrideClient() {
25430
25739
  const httpClient = useHttpClient({ type: "backoffice" });
25431
- const client = (0, import_react18.useMemo)(
25740
+ const client = (0, import_react20.useMemo)(
25432
25741
  () => new SiteOverrideClient(httpClient),
25433
25742
  [httpClient]
25434
25743
  );
@@ -25479,17 +25788,6 @@ function createSiteOverrides(model) {
25479
25788
  );
25480
25789
  }
25481
25790
 
25482
- // src/site/useSite.ts
25483
- init_esm_shims();
25484
- var import_react19 = __toESM(require_react(), 1);
25485
- function useSite() {
25486
- const context = (0, import_react19.useContext)(SiteContext);
25487
- if (context == null) {
25488
- throw new Error("useSite() cannot be used without an <SiteProvider>");
25489
- }
25490
- return context;
25491
- }
25492
-
25493
25791
  // src/components/DevCommand/useSiteOverrideUpdater.ts
25494
25792
  function useSiteOverrideUpdater() {
25495
25793
  const { model } = useProjectModel();
@@ -25498,9 +25796,9 @@ function useSiteOverrideUpdater() {
25498
25796
  const writeDebugLog = useDebugLog();
25499
25797
  const { createOverride: createOverride2 } = useSiteOverrideClient();
25500
25798
  const { appId } = model.config;
25501
- const siteRef = (0, import_react20.useRef)(site);
25502
- const isUpdaterInitialized = (0, import_react20.useRef)(false);
25503
- (0, import_react20.useEffect)(() => {
25799
+ const siteRef = (0, import_react21.useRef)(site);
25800
+ const isUpdaterInitialized = (0, import_react21.useRef)(false);
25801
+ (0, import_react21.useEffect)(() => {
25504
25802
  siteRef.current = site;
25505
25803
  const updateSiteOverrides = async () => {
25506
25804
  const overrides = createSiteOverrides(model) ?? {};
@@ -25523,7 +25821,7 @@ function useSiteOverrideUpdater() {
25523
25821
  updateSiteOverrides().catch(exit);
25524
25822
  }
25525
25823
  }, [site]);
25526
- return (0, import_react20.useCallback)(
25824
+ return (0, import_react21.useCallback)(
25527
25825
  async ({
25528
25826
  projectModelWatcher
25529
25827
  }) => {
@@ -25563,13 +25861,13 @@ function useSiteOverrideUpdater() {
25563
25861
 
25564
25862
  // src/context/siteOverride.tsx
25565
25863
  init_esm_shims();
25566
- var import_react21 = __toESM(require_react(), 1);
25567
- var SiteOverrideContext = (0, import_react21.createContext)(null);
25864
+ var import_react22 = __toESM(require_react(), 1);
25865
+ var SiteOverrideContext = (0, import_react22.createContext)(null);
25568
25866
  var SiteOverrideProvider = ({ children, siteOverrideId }) => {
25569
- return /* @__PURE__ */ import_react21.default.createElement(SiteOverrideContext.Provider, { value: { siteOverrideId } }, children);
25867
+ return /* @__PURE__ */ import_react22.default.createElement(SiteOverrideContext.Provider, { value: { siteOverrideId } }, children);
25570
25868
  };
25571
25869
  var useSiteOverrideId = () => {
25572
- const context = (0, import_react21.useContext)(SiteOverrideContext);
25870
+ const context = (0, import_react22.useContext)(SiteOverrideContext);
25573
25871
  if (context == null) {
25574
25872
  throw new Error(
25575
25873
  "useSiteOverrideId() cannot be used without an <SiteOverrideProvider>"
@@ -25580,7 +25878,7 @@ var useSiteOverrideId = () => {
25580
25878
 
25581
25879
  // src/components/DevCommand/BlocksCLIServerProvider.tsx
25582
25880
  init_esm_shims();
25583
- var import_react23 = __toESM(require_react(), 1);
25881
+ var import_react24 = __toESM(require_react(), 1);
25584
25882
 
25585
25883
  // ../cli-blocks-editor-comm-api/build/index.js
25586
25884
  init_esm_shims();
@@ -29342,18 +29640,18 @@ var import_serialize_error2 = __toESM2(require_serialize_error(), 1);
29342
29640
 
29343
29641
  // src/components/DevCommand/blocks-cli-dev-server/useSyncBlocksComponents.ts
29344
29642
  init_esm_shims();
29345
- var import_react22 = __toESM(require_react(), 1);
29643
+ var import_react23 = __toESM(require_react(), 1);
29346
29644
  function useBlocksComponentsRef() {
29347
29645
  const { getExtensions } = useExtensions();
29348
- const blocksComponents = (0, import_react22.useMemo)(
29646
+ const blocksComponents = (0, import_react23.useMemo)(
29349
29647
  () => ({
29350
29648
  widgets: getExtensions("BlocksWidget"),
29351
29649
  panels: getExtensions("BlocksWidgetPanel")
29352
29650
  }),
29353
29651
  [getExtensions]
29354
29652
  );
29355
- const blocksComponentsRef = (0, import_react22.useRef)(blocksComponents);
29356
- (0, import_react22.useEffect)(() => {
29653
+ const blocksComponentsRef = (0, import_react23.useRef)(blocksComponents);
29654
+ (0, import_react23.useEffect)(() => {
29357
29655
  blocksComponentsRef.current = blocksComponents;
29358
29656
  }, [blocksComponents]);
29359
29657
  return blocksComponentsRef;
@@ -29486,15 +29784,15 @@ async function syncBlocksComponents(projectFolder, targetWidgets, existingWidget
29486
29784
  var sync_blocks_components_default = syncBlocksComponents;
29487
29785
 
29488
29786
  // src/components/DevCommand/BlocksCLIServerProvider.tsx
29489
- var BlocksCLIServerContext = (0, import_react23.createContext)(null);
29787
+ var BlocksCLIServerContext = (0, import_react24.createContext)(null);
29490
29788
  var BlocksCLIDevServerProvider = ({ httpServer, children }) => {
29491
29789
  const { t } = useTranslation();
29492
29790
  const { logger } = useDevEnvironment();
29493
29791
  const { model } = useProjectModel();
29494
29792
  const blocksComponentsRef = useBlocksComponentsRef();
29495
29793
  const { reportError } = useErrorReporter();
29496
- const wixConfigRef = (0, import_react23.useRef)(model.config);
29497
- const [server] = (0, import_react23.useState)(() => {
29794
+ const wixConfigRef = (0, import_react24.useRef)(model.config);
29795
+ const [server] = (0, import_react24.useState)(() => {
29498
29796
  if (!model.config.blocks || !httpServer) {
29499
29797
  return;
29500
29798
  }
@@ -29521,17 +29819,17 @@ var BlocksCLIDevServerProvider = ({ httpServer, children }) => {
29521
29819
  });
29522
29820
  } catch (error) {
29523
29821
  reportError(error);
29524
- logger.error(/* @__PURE__ */ import_react23.default.createElement(ErrorViewer, { error }));
29822
+ logger.error(/* @__PURE__ */ import_react24.default.createElement(ErrorViewer, { error }));
29525
29823
  throw error;
29526
29824
  }
29527
29825
  }
29528
29826
  });
29529
29827
  return server2;
29530
29828
  });
29531
- (0, import_react23.useEffect)(() => {
29829
+ (0, import_react24.useEffect)(() => {
29532
29830
  wixConfigRef.current = model.config;
29533
29831
  }, [model.config]);
29534
- (0, import_react23.useEffect)(() => {
29832
+ (0, import_react24.useEffect)(() => {
29535
29833
  if (!server) {
29536
29834
  return;
29537
29835
  }
@@ -29543,7 +29841,7 @@ var BlocksCLIDevServerProvider = ({ httpServer, children }) => {
29543
29841
  server.close().catch(reportError);
29544
29842
  };
29545
29843
  }, [server, reportError, logger, t]);
29546
- return /* @__PURE__ */ import_react23.default.createElement(
29844
+ return /* @__PURE__ */ import_react24.default.createElement(
29547
29845
  BlocksCLIServerContext.Provider,
29548
29846
  {
29549
29847
  value: {
@@ -29555,7 +29853,7 @@ var BlocksCLIDevServerProvider = ({ httpServer, children }) => {
29555
29853
  );
29556
29854
  };
29557
29855
  function useBlocksCLIDevServerProvider() {
29558
- const context = (0, import_react23.useContext)(BlocksCLIServerContext);
29856
+ const context = (0, import_react24.useContext)(BlocksCLIServerContext);
29559
29857
  if (context == null) {
29560
29858
  throw new Error(
29561
29859
  "useBlocksCLIDevServerProvider() cannot be used without an <BlocksCLIServerProvider>"
@@ -29566,7 +29864,7 @@ function useBlocksCLIDevServerProvider() {
29566
29864
 
29567
29865
  // src/blocks/BlocksTypesUpdater.tsx
29568
29866
  init_esm_shims();
29569
- var import_react24 = __toESM(require_react(), 1);
29867
+ var import_react25 = __toESM(require_react(), 1);
29570
29868
  var import_variant12 = __toESM(require_lib(), 1);
29571
29869
  import { parse as parse3, relative } from "node:path";
29572
29870
  var getBlocksTypesContent = (structure) => `type ComponentsStructureMap = {
@@ -29614,7 +29912,7 @@ var BlocksTypesUpdater = ({ logger, children }) => {
29614
29912
  const { model } = useProjectModel();
29615
29913
  const { reportError } = useErrorReporter();
29616
29914
  const blocksServicesClient = useBlocksServicesClient();
29617
- (0, import_react24.useEffect)(() => {
29915
+ (0, import_react25.useEffect)(() => {
29618
29916
  const {
29619
29917
  components,
29620
29918
  config: { appId, blocks },
@@ -29641,14 +29939,14 @@ var BlocksTypesUpdater = ({ logger, children }) => {
29641
29939
  };
29642
29940
  generateContent().catch((error) => {
29643
29941
  reportError(error);
29644
- logger.info(/* @__PURE__ */ import_react24.default.createElement(ErrorViewer, { error }));
29942
+ logger.info(/* @__PURE__ */ import_react25.default.createElement(ErrorViewer, { error }));
29645
29943
  });
29646
29944
  }, [model.config.blocks?.uiRevision]);
29647
- return /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, children);
29945
+ return /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, children);
29648
29946
  };
29649
29947
 
29650
29948
  // src/components/DevCommand/DevEnvironment.tsx
29651
- var DevEnvironmentContext = (0, import_react25.createContext)(null);
29949
+ var DevEnvironmentContext = (0, import_react26.createContext)(null);
29652
29950
  var DevEnvironmentProvider = ({ https, logger, origin, port, children }) => {
29653
29951
  const { t } = useTranslation();
29654
29952
  const { reportError } = useErrorReporter();
@@ -29685,6 +29983,9 @@ var DevEnvironmentProvider = ({ https, logger, origin, port, children }) => {
29685
29983
  projectModelWatcher,
29686
29984
  onChange(changeType) {
29687
29985
  (0, import_variant13.match)(changeType, {
29986
+ "component-updated": () => {
29987
+ logger.info(t("dev_command.component_updated"));
29988
+ },
29688
29989
  "change-received": () => {
29689
29990
  logger.info(t("dev_command.config_change"));
29690
29991
  },
@@ -29702,7 +30003,7 @@ var DevEnvironmentProvider = ({ https, logger, origin, port, children }) => {
29702
30003
  },
29703
30004
  onError(error) {
29704
30005
  reportError(error);
29705
- logger.error(/* @__PURE__ */ import_react25.default.createElement(ErrorViewer, { error }));
30006
+ logger.error(/* @__PURE__ */ import_react26.default.createElement(ErrorViewer, { error }));
29706
30007
  logger.info(t("dev_command.config_didnt_update"));
29707
30008
  }
29708
30009
  });
@@ -29710,7 +30011,7 @@ var DevEnvironmentProvider = ({ https, logger, origin, port, children }) => {
29710
30011
  projectModelWatcher
29711
30012
  });
29712
30013
  logger.info(
29713
- /* @__PURE__ */ import_react25.default.createElement(Alert, { type: "success" }, t("dev_command.dev_environment.started"))
30014
+ /* @__PURE__ */ import_react26.default.createElement(Alert, { type: "success" }, t("dev_command.dev_environment.started"))
29714
30015
  );
29715
30016
  return {
29716
30017
  clientDevServer,
@@ -29722,7 +30023,7 @@ var DevEnvironmentProvider = ({ https, logger, origin, port, children }) => {
29722
30023
  }, []);
29723
30024
  return (0, import_variant13.match)(status, {
29724
30025
  Error: () => null,
29725
- Loading: () => /* @__PURE__ */ import_react25.default.createElement(Spinner, { text: t("dev_command.dev_environment.loading") }),
30026
+ Loading: () => /* @__PURE__ */ import_react26.default.createElement(Spinner, { text: t("dev_command.dev_environment.loading") }),
29726
30027
  Success: ({
29727
30028
  result: {
29728
30029
  clientDevServer,
@@ -29731,7 +30032,7 @@ var DevEnvironmentProvider = ({ https, logger, origin, port, children }) => {
29731
30032
  armTag,
29732
30033
  siteOverrideId
29733
30034
  }
29734
- }) => /* @__PURE__ */ import_react25.default.createElement(
30035
+ }) => /* @__PURE__ */ import_react26.default.createElement(
29735
30036
  DevEnvironmentContext.Provider,
29736
30037
  {
29737
30038
  value: {
@@ -29740,12 +30041,12 @@ var DevEnvironmentProvider = ({ https, logger, origin, port, children }) => {
29740
30041
  logger
29741
30042
  }
29742
30043
  },
29743
- /* @__PURE__ */ import_react25.default.createElement(BlocksTypesUpdater, { logger }, /* @__PURE__ */ import_react25.default.createElement(BlocksCLIDevServerProvider, { httpServer: clientDevServer.httpServer }, /* @__PURE__ */ import_react25.default.createElement(SiteOverrideProvider, { siteOverrideId }, /* @__PURE__ */ import_react25.default.createElement(ArmTagProvider, { armTag }, children))))
30044
+ /* @__PURE__ */ import_react26.default.createElement(BlocksTypesUpdater, { logger }, /* @__PURE__ */ import_react26.default.createElement(BlocksCLIDevServerProvider, { httpServer: clientDevServer.httpServer }, /* @__PURE__ */ import_react26.default.createElement(SiteOverrideProvider, { siteOverrideId }, /* @__PURE__ */ import_react26.default.createElement(ArmTagProvider, { armTag }, children))))
29744
30045
  )
29745
30046
  });
29746
30047
  };
29747
30048
  function useDevEnvironment() {
29748
- const context = (0, import_react25.useContext)(DevEnvironmentContext);
30049
+ const context = (0, import_react26.useContext)(DevEnvironmentContext);
29749
30050
  if (context == null) {
29750
30051
  throw new Error(
29751
30052
  "useDevEnvironment() cannot be used without an <DevEnvironmentProvider>"
@@ -29759,9 +30060,9 @@ init_esm_shims();
29759
30060
 
29760
30061
  // src/context/extensionData.tsx
29761
30062
  init_esm_shims();
29762
- var import_react26 = __toESM(require_react(), 1);
30063
+ var import_react27 = __toESM(require_react(), 1);
29763
30064
  var import_variant14 = __toESM(require_lib(), 1);
29764
- var ExtensionDataContext = (0, import_react26.createContext)(null);
30065
+ var ExtensionDataContext = (0, import_react27.createContext)(null);
29765
30066
  var ExtensionDataProvider = ({
29766
30067
  children
29767
30068
  }) => {
@@ -29784,18 +30085,18 @@ var ExtensionDataProvider = ({
29784
30085
  }, [hasExtensions]);
29785
30086
  return (0, import_variant14.match)(status, {
29786
30087
  Error: () => null,
29787
- Loading: () => /* @__PURE__ */ import_react26.default.createElement(Spinner, { text: t("general.loading") }),
29788
- Success: ({ result: extensionDataContainers }) => /* @__PURE__ */ import_react26.default.createElement(ExtensionDataContext.Provider, { value: { extensionDataContainers } }, children)
30088
+ Loading: () => /* @__PURE__ */ import_react27.default.createElement(Spinner, { text: t("general.loading") }),
30089
+ Success: ({ result: extensionDataContainers }) => /* @__PURE__ */ import_react27.default.createElement(ExtensionDataContext.Provider, { value: { extensionDataContainers } }, children)
29789
30090
  });
29790
30091
  };
29791
30092
  function useExtensionData() {
29792
- const context = (0, import_react26.useContext)(ExtensionDataContext);
30093
+ const context = (0, import_react27.useContext)(ExtensionDataContext);
29793
30094
  if (context == null) {
29794
30095
  throw new Error(
29795
30096
  "useExtensionData() cannot be used without an <ExtensionDataProvider>"
29796
30097
  );
29797
30098
  }
29798
- const getDashboardExtensionsRoute = (0, import_react26.useCallback)(
30099
+ const getDashboardExtensionsRoute = (0, import_react27.useCallback)(
29799
30100
  (dashboardExtension) => {
29800
30101
  if ((0, import_variant14.isType)(dashboardExtension, "DashboardPlugin") || (0, import_variant14.isType)(dashboardExtension, "DashboardMenuPlugin")) {
29801
30102
  return context.extensionDataContainers[dashboardExtension.extends]?.component.data.backOfficeExtensionContainer.defaultRoute ?? "/";
@@ -29809,7 +30110,7 @@ function useExtensionData() {
29809
30110
 
29810
30111
  // src/components/extensions/utils.tsx
29811
30112
  init_esm_shims();
29812
- var import_react27 = __toESM(require_react(), 1);
30113
+ var import_react28 = __toESM(require_react(), 1);
29813
30114
  var import_variant15 = __toESM(require_lib(), 1);
29814
30115
  import { URL as URL2 } from "node:url";
29815
30116
  var redirectWithCSMv2FTs = (url2, platformType) => {
@@ -29846,7 +30147,7 @@ function useResolvePlatformUrl() {
29846
30147
  const { site } = useSite();
29847
30148
  const { armTag } = useArmTag();
29848
30149
  const { siteOverrideId } = useSiteOverrideId();
29849
- return (0, import_react27.useCallback)(
30150
+ return (0, import_react28.useCallback)(
29850
30151
  (platformType, openAddPanel) => {
29851
30152
  return resolvePlatformUrl(platformType, {
29852
30153
  openAddPanel,
@@ -29862,7 +30163,7 @@ function useResolvePlatformUrl() {
29862
30163
  function useResolvePlatformDevUrl() {
29863
30164
  const resolvePlatformUrl2 = useResolvePlatformUrl();
29864
30165
  const { https, clientDevServerUrl } = useDevEnvironment();
29865
- return (0, import_react27.useCallback)(
30166
+ return (0, import_react28.useCallback)(
29866
30167
  (platformType, openAddPanel) => {
29867
30168
  let url2 = resolvePlatformUrl2(platformType, openAddPanel);
29868
30169
  if (https) {
@@ -29905,7 +30206,7 @@ function useResolveDashboardExtensionUrl() {
29905
30206
  const { armTag } = useArmTag();
29906
30207
  const { siteOverrideId } = useSiteOverrideId();
29907
30208
  const { getDashboardExtensionsRoute } = useExtensionData();
29908
- return (0, import_react27.useCallback)(
30209
+ return (0, import_react28.useCallback)(
29909
30210
  (extension) => {
29910
30211
  return resolveDashboardExtensionUrl(extension, {
29911
30212
  site,
@@ -29927,7 +30228,7 @@ function useResolveDashboardExtensionUrl() {
29927
30228
  function useResolveDashboardExtensionDevUrl() {
29928
30229
  const resolveDashboardExtensionUrl2 = useResolveDashboardExtensionUrl();
29929
30230
  const { https, clientDevServerUrl } = useDevEnvironment();
29930
- return (0, import_react27.useCallback)(
30231
+ return (0, import_react28.useCallback)(
29931
30232
  (extension) => {
29932
30233
  let url2 = resolveDashboardExtensionUrl2(extension);
29933
30234
  if (https) {
@@ -29948,7 +30249,7 @@ function useResolveBlocksEditorURL() {
29948
30249
  const { model } = useProjectModel();
29949
30250
  const { enabled: cliBlocksServerEnabled, port: cliBlocksServerPort } = useBlocksCLIDevServerProvider();
29950
30251
  const { https, clientDevServerUrl } = useDevEnvironment();
29951
- return (0, import_react27.useCallback)(() => {
30252
+ return (0, import_react28.useCallback)(() => {
29952
30253
  if (!cliBlocksServerEnabled || !cliBlocksServerPort) {
29953
30254
  throw new Error("Blocks CLI Server is not running");
29954
30255
  }
@@ -29984,20 +30285,20 @@ function resolveDashboardExtensionUrl(extension, options) {
29984
30285
  }
29985
30286
  var useOpenPage = () => {
29986
30287
  const { logger } = useDevEnvironment();
29987
- return (0, import_react27.useCallback)(
30288
+ return (0, import_react28.useCallback)(
29988
30289
  async ({ url: url2, title }) => {
29989
30290
  try {
29990
30291
  await openBrowser(url2);
29991
30292
  } catch {
29992
30293
  logger.error(
29993
- /* @__PURE__ */ import_react27.default.createElement(Alert, { type: "error" }, /* @__PURE__ */ import_react27.default.createElement(
30294
+ /* @__PURE__ */ import_react28.default.createElement(Alert, { type: "error" }, /* @__PURE__ */ import_react28.default.createElement(
29994
30295
  Trans,
29995
30296
  {
29996
30297
  i18nKey: "general.open_page_error",
29997
- components: [/* @__PURE__ */ import_react27.default.createElement(Text, { bold: true })],
30298
+ components: [/* @__PURE__ */ import_react28.default.createElement(Text, { bold: true })],
29998
30299
  values: { title }
29999
30300
  }
30000
- ), /* @__PURE__ */ import_react27.default.createElement(Newline, null), /* @__PURE__ */ import_react27.default.createElement(Link, { url: url2 }))
30301
+ ), /* @__PURE__ */ import_react28.default.createElement(Newline, null), /* @__PURE__ */ import_react28.default.createElement(Link, { url: url2 }))
30001
30302
  );
30002
30303
  }
30003
30304
  },
@@ -30007,17 +30308,17 @@ var useOpenPage = () => {
30007
30308
 
30008
30309
  // src/components/Platform/usePlatform.tsx
30009
30310
  init_esm_shims();
30010
- var import_react28 = __toESM(require_react(), 1);
30311
+ var import_react29 = __toESM(require_react(), 1);
30011
30312
  var import_variant16 = __toESM(require_lib(), 1);
30012
30313
  function usePlatform() {
30013
30314
  const { model } = useProjectModel();
30014
- const isPlatformExists = (0, import_react28.useCallback)(
30315
+ const isPlatformExists = (0, import_react29.useCallback)(
30015
30316
  (platformType) => model.components.some(
30016
30317
  (component) => component.platforms.some((0, import_variant16.isType)(platformType.type))
30017
30318
  ),
30018
30319
  [model.components]
30019
30320
  );
30020
- const hasSinglePlatform = (0, import_react28.useCallback)(
30321
+ const hasSinglePlatform = (0, import_react29.useCallback)(
30021
30322
  (platformType) => model.components.every(
30022
30323
  (component) => component.platforms.some((0, import_variant16.isType)(platformType.type)) || component.platforms.length === 0
30023
30324
  ),
@@ -30032,13 +30333,14 @@ function usePlatform() {
30032
30333
  export {
30033
30334
  SiteSelector,
30034
30335
  SiteProvider,
30336
+ useMetasiteManagerClient,
30035
30337
  useARMClient,
30036
30338
  useBlocksServicesClient,
30339
+ useSite,
30037
30340
  ArmTagProvider,
30038
30341
  useArmTag,
30039
30342
  useSiteOverrideClient,
30040
30343
  createSiteOverrides,
30041
- useSite,
30042
30344
  SiteOverrideProvider,
30043
30345
  useBlocksCLIDevServerProvider,
30044
30346
  DevEnvironmentProvider,
@@ -30117,4 +30419,4 @@ xmlhttprequest-ssl/lib/XMLHttpRequest.js:
30117
30419
  * @license MIT
30118
30420
  *)
30119
30421
  */
30120
- //# sourceMappingURL=chunk-KHUHWBJD.js.map
30422
+ //# sourceMappingURL=chunk-Z5ULQGAD.js.map