@wix/cli-app 1.1.59 → 1.1.61

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 (96) hide show
  1. package/build/{CreateVersionCommand-6HJGN4WS.js → CreateVersionCommand-27X5XRUT.js} +14 -14
  2. package/build/{DevCommand-U7PV4HW6.js → DevCommand-6HTMGZ2M.js} +12 -12
  3. package/build/{GenerateCommand-M3T6OD4B.js → GenerateCommand-7IAUS6BH.js} +113 -43
  4. package/build/{GenerateCommand-M3T6OD4B.js.map → GenerateCommand-7IAUS6BH.js.map} +1 -1
  5. package/build/{LogsCommand-ECPZQ3LE.js → LogsCommand-WPUUN3JU.js} +4 -4
  6. package/build/PreviewCommand-CU46IAJE.js +23 -0
  7. package/build/{ReleaseCommand-KLZWNOVY.js → ReleaseCommand-KTVVW67B.js} +14 -14
  8. package/build/{ServeCommand-I65XXTLM.js → ServeCommand-LXJK73IU.js} +13 -13
  9. package/build/{build-HZ5LVFAS.js → build-KOJIDD4M.js} +38 -9
  10. package/build/build-KOJIDD4M.js.map +1 -0
  11. package/build/{chunk-PAWIUC26.js → chunk-2GCKBITG.js} +8 -8
  12. package/build/{chunk-4JDHJDA5.js → chunk-63EMUDZG.js} +3 -3
  13. package/build/{chunk-QW4WBWJK.js → chunk-A3UPTTKJ.js} +3 -3
  14. package/build/{chunk-UQBZVJDQ.js → chunk-EL6CIFIN.js} +3 -3
  15. package/build/{chunk-QVGYU6D4.js → chunk-ELYFHAX6.js} +5 -2
  16. package/build/chunk-ELYFHAX6.js.map +1 -0
  17. package/build/{chunk-IDWDZWLM.js → chunk-IL6O6OIL.js} +2 -2
  18. package/build/{chunk-W4HI7DI3.js → chunk-KJF6LWGQ.js} +2 -2
  19. package/build/{chunk-AQKGIDJO.js → chunk-KJRYBTZB.js} +429 -186
  20. package/build/chunk-KJRYBTZB.js.map +1 -0
  21. package/build/{chunk-EZLVJJON.js → chunk-LOLULZLU.js} +3 -3
  22. package/build/{chunk-U72IPCQR.js → chunk-MEDHLZDL.js} +3 -3
  23. package/build/{chunk-FMM24YL4.js → chunk-MKPZBVQD.js} +442 -97
  24. package/build/chunk-MKPZBVQD.js.map +1 -0
  25. package/build/{chunk-BNROT2BN.js → chunk-OHF42SKC.js} +5 -5
  26. package/build/{chunk-OCC6MO6R.js → chunk-PBUNWOQL.js} +7 -7
  27. package/build/chunk-PBUNWOQL.js.map +1 -0
  28. package/build/{chunk-FHMCCDCY.js → chunk-S7UPYDTK.js} +3 -3
  29. package/build/chunk-SJY44CC7.js +19161 -0
  30. package/build/chunk-SJY44CC7.js.map +1 -0
  31. package/build/{chunk-ACN6EZGH.js → chunk-XBBIROHO.js} +3 -3
  32. package/build/{chunk-DXNFLVQP.js → chunk-XCKLCHGL.js} +195 -176
  33. package/build/chunk-XCKLCHGL.js.map +1 -0
  34. package/build/{chunk-ZJYRE4BT.js → chunk-Z7MEHVBF.js} +3 -3
  35. package/build/cloudflare-runtime/entry.js +7166 -54
  36. package/build/cloudflare-runtime/getRegisteredExtensions.js +7096 -16
  37. package/build/index.js +20 -20
  38. package/build/platform-sdk/chunk-BGTZ3RNN.js +2 -0
  39. package/build/platform-sdk/chunk-BGTZ3RNN.js.map +1 -0
  40. package/build/platform-sdk/{chunk-LO6MZPZE.js → chunk-FWUYJ3UR.js} +2 -2
  41. package/build/platform-sdk/chunk-NAPHVUFM.js +2 -0
  42. package/build/platform-sdk/chunk-NAPHVUFM.js.map +1 -0
  43. package/build/platform-sdk/chunk-XYIDODIB.js +2 -0
  44. package/build/platform-sdk/chunk-XYIDODIB.js.map +1 -0
  45. package/build/platform-sdk/dashboard.js +1 -1
  46. package/build/platform-sdk/dashboard.js.map +1 -1
  47. package/build/platform-sdk/editor.js +2 -2
  48. package/build/platform-sdk/editor.js.map +1 -1
  49. package/build/platform-sdk/sdk-context.js +2 -0
  50. package/build/platform-sdk/sdk-context.js.map +1 -0
  51. package/build/platform-sdk/site.js +1 -1
  52. package/build/platform-sdk/site.js.map +1 -1
  53. package/build/platform-sdk/web-methods.js +1 -1
  54. package/build/platform-sdk/web-methods.js.map +1 -1
  55. package/build/{preview-FI6WYZUP.js → preview-YEREVN42.js} +12 -12
  56. package/build/{render-command-UKYXN7C7.js → render-command-H5DHMFOD.js} +6 -6
  57. package/package.json +8 -6
  58. package/schemas/custom-element.json +1 -1
  59. package/schemas/site-plugin.json +1 -1
  60. package/schemas/wix-config.json +1 -1
  61. package/templates/custom-element/files/element.module.css.ejs +18 -5
  62. package/templates/custom-element/files/element.tsx.ejs +8 -5
  63. package/templates/custom-element/files/panel.tsx.ejs +25 -12
  64. package/templates/web-method/files/placeholder.ts.ejs +1 -1
  65. package/build/PreviewCommand-ZQ3OUOKW.js +0 -23
  66. package/build/build-HZ5LVFAS.js.map +0 -1
  67. package/build/chunk-AQKGIDJO.js.map +0 -1
  68. package/build/chunk-DXNFLVQP.js.map +0 -1
  69. package/build/chunk-FMM24YL4.js.map +0 -1
  70. package/build/chunk-OCC6MO6R.js.map +0 -1
  71. package/build/chunk-QVGYU6D4.js.map +0 -1
  72. package/build/chunk-ZXHKA32C.js +0 -1367
  73. package/build/chunk-ZXHKA32C.js.map +0 -1
  74. package/build/platform-sdk/chunk-EVF6HSFE.js +0 -2
  75. package/build/platform-sdk/chunk-EVF6HSFE.js.map +0 -1
  76. /package/build/{CreateVersionCommand-6HJGN4WS.js.map → CreateVersionCommand-27X5XRUT.js.map} +0 -0
  77. /package/build/{DevCommand-U7PV4HW6.js.map → DevCommand-6HTMGZ2M.js.map} +0 -0
  78. /package/build/{LogsCommand-ECPZQ3LE.js.map → LogsCommand-WPUUN3JU.js.map} +0 -0
  79. /package/build/{PreviewCommand-ZQ3OUOKW.js.map → PreviewCommand-CU46IAJE.js.map} +0 -0
  80. /package/build/{ReleaseCommand-KLZWNOVY.js.map → ReleaseCommand-KTVVW67B.js.map} +0 -0
  81. /package/build/{ServeCommand-I65XXTLM.js.map → ServeCommand-LXJK73IU.js.map} +0 -0
  82. /package/build/{chunk-PAWIUC26.js.map → chunk-2GCKBITG.js.map} +0 -0
  83. /package/build/{chunk-4JDHJDA5.js.map → chunk-63EMUDZG.js.map} +0 -0
  84. /package/build/{chunk-QW4WBWJK.js.map → chunk-A3UPTTKJ.js.map} +0 -0
  85. /package/build/{chunk-UQBZVJDQ.js.map → chunk-EL6CIFIN.js.map} +0 -0
  86. /package/build/{chunk-IDWDZWLM.js.map → chunk-IL6O6OIL.js.map} +0 -0
  87. /package/build/{chunk-W4HI7DI3.js.map → chunk-KJF6LWGQ.js.map} +0 -0
  88. /package/build/{chunk-EZLVJJON.js.map → chunk-LOLULZLU.js.map} +0 -0
  89. /package/build/{chunk-U72IPCQR.js.map → chunk-MEDHLZDL.js.map} +0 -0
  90. /package/build/{chunk-BNROT2BN.js.map → chunk-OHF42SKC.js.map} +0 -0
  91. /package/build/{chunk-FHMCCDCY.js.map → chunk-S7UPYDTK.js.map} +0 -0
  92. /package/build/{chunk-ACN6EZGH.js.map → chunk-XBBIROHO.js.map} +0 -0
  93. /package/build/{chunk-ZJYRE4BT.js.map → chunk-Z7MEHVBF.js.map} +0 -0
  94. /package/build/platform-sdk/{chunk-LO6MZPZE.js.map → chunk-FWUYJ3UR.js.map} +0 -0
  95. /package/build/{preview-FI6WYZUP.js.map → preview-YEREVN42.js.map} +0 -0
  96. /package/build/{render-command-UKYXN7C7.js.map → render-command-H5DHMFOD.js.map} +0 -0
@@ -1,6 +1,7 @@
1
1
  import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
+ Alert,
4
5
  Box_default,
5
6
  CliError,
6
7
  CliErrorCode,
@@ -36,7 +37,7 @@ import {
36
37
  use_input_default,
37
38
  version,
38
39
  z
39
- } from "./chunk-DXNFLVQP.js";
40
+ } from "./chunk-XCKLCHGL.js";
40
41
  import {
41
42
  __commonJS,
42
43
  __esm,
@@ -18945,7 +18946,7 @@ var require_pattern = __commonJS({
18945
18946
  "use strict";
18946
18947
  init_esm_shims();
18947
18948
  Object.defineProperty(exports, "__esModule", { value: true });
18948
- exports.removeDuplicateSlashes = exports.matchAny = exports.convertPatternsToRe = exports.makeRe = exports.getPatternParts = exports.expandBraceExpansion = exports.expandPatternsWithBraceExpansion = exports.isAffectDepthOfReadingPattern = exports.endsWithSlashGlobStar = exports.hasGlobStar = exports.getBaseDirectory = exports.isPatternRelatedToParentDirectory = exports.getPatternsOutsideCurrentDirectory = exports.getPatternsInsideCurrentDirectory = exports.getPositivePatterns = exports.getNegativePatterns = exports.isPositivePattern = exports.isNegativePattern = exports.convertToNegativePattern = exports.convertToPositivePattern = exports.isDynamicPattern = exports.isStaticPattern = void 0;
18949
+ exports.isAbsolute = exports.partitionAbsoluteAndRelative = exports.removeDuplicateSlashes = exports.matchAny = exports.convertPatternsToRe = exports.makeRe = exports.getPatternParts = exports.expandBraceExpansion = exports.expandPatternsWithBraceExpansion = exports.isAffectDepthOfReadingPattern = exports.endsWithSlashGlobStar = exports.hasGlobStar = exports.getBaseDirectory = exports.isPatternRelatedToParentDirectory = exports.getPatternsOutsideCurrentDirectory = exports.getPatternsInsideCurrentDirectory = exports.getPositivePatterns = exports.getNegativePatterns = exports.isPositivePattern = exports.isNegativePattern = exports.convertToNegativePattern = exports.convertToPositivePattern = exports.isDynamicPattern = exports.isStaticPattern = void 0;
18949
18950
  var path5 = __require("path");
18950
18951
  var globParent = require_glob_parent();
18951
18952
  var micromatch = require_micromatch();
@@ -19085,6 +19086,23 @@ var require_pattern = __commonJS({
19085
19086
  return pattern.replace(DOUBLE_SLASH_RE, "/");
19086
19087
  }
19087
19088
  exports.removeDuplicateSlashes = removeDuplicateSlashes;
19089
+ function partitionAbsoluteAndRelative(patterns) {
19090
+ const absolute = [];
19091
+ const relative2 = [];
19092
+ for (const pattern of patterns) {
19093
+ if (isAbsolute(pattern)) {
19094
+ absolute.push(pattern);
19095
+ } else {
19096
+ relative2.push(pattern);
19097
+ }
19098
+ }
19099
+ return [absolute, relative2];
19100
+ }
19101
+ exports.partitionAbsoluteAndRelative = partitionAbsoluteAndRelative;
19102
+ function isAbsolute(pattern) {
19103
+ return path5.isAbsolute(pattern);
19104
+ }
19105
+ exports.isAbsolute = isAbsolute;
19088
19106
  }
19089
19107
  });
19090
19108
 
@@ -19842,14 +19860,14 @@ var require_queue = __commonJS({
19842
19860
  "use strict";
19843
19861
  init_esm_shims();
19844
19862
  var reusify = require_reusify();
19845
- function fastqueue(context, worker, concurrency) {
19863
+ function fastqueue(context, worker, _concurrency) {
19846
19864
  if (typeof context === "function") {
19847
- concurrency = worker;
19865
+ _concurrency = worker;
19848
19866
  worker = context;
19849
19867
  context = null;
19850
19868
  }
19851
- if (concurrency < 1) {
19852
- throw new Error("fastqueue concurrency must be greater than 1");
19869
+ if (!(_concurrency >= 1)) {
19870
+ throw new Error("fastqueue concurrency must be equal to or greater than 1");
19853
19871
  }
19854
19872
  var cache = reusify(Task);
19855
19873
  var queueHead = null;
@@ -19862,7 +19880,20 @@ var require_queue = __commonJS({
19862
19880
  saturated: noop3,
19863
19881
  pause,
19864
19882
  paused: false,
19865
- concurrency,
19883
+ get concurrency() {
19884
+ return _concurrency;
19885
+ },
19886
+ set concurrency(value) {
19887
+ if (!(value >= 1)) {
19888
+ throw new Error("fastqueue concurrency must be equal to or greater than 1");
19889
+ }
19890
+ _concurrency = value;
19891
+ if (self2.paused) return;
19892
+ for (; queueHead && _running < _concurrency; ) {
19893
+ _running++;
19894
+ release();
19895
+ }
19896
+ },
19866
19897
  running,
19867
19898
  resume,
19868
19899
  idle,
@@ -19902,7 +19933,12 @@ var require_queue = __commonJS({
19902
19933
  function resume() {
19903
19934
  if (!self2.paused) return;
19904
19935
  self2.paused = false;
19905
- for (var i = 0; i < self2.concurrency; i++) {
19936
+ if (queueHead === null) {
19937
+ _running++;
19938
+ release();
19939
+ return;
19940
+ }
19941
+ for (; queueHead && _running < _concurrency; ) {
19906
19942
  _running++;
19907
19943
  release();
19908
19944
  }
@@ -19917,7 +19953,7 @@ var require_queue = __commonJS({
19917
19953
  current.value = value;
19918
19954
  current.callback = done || noop3;
19919
19955
  current.errorHandler = errorHandler;
19920
- if (_running === self2.concurrency || self2.paused) {
19956
+ if (_running >= _concurrency || self2.paused) {
19921
19957
  if (queueTail) {
19922
19958
  queueTail.next = current;
19923
19959
  queueTail = current;
@@ -19937,7 +19973,8 @@ var require_queue = __commonJS({
19937
19973
  current.release = release;
19938
19974
  current.value = value;
19939
19975
  current.callback = done || noop3;
19940
- if (_running === self2.concurrency || self2.paused) {
19976
+ current.errorHandler = errorHandler;
19977
+ if (_running >= _concurrency || self2.paused) {
19941
19978
  if (queueHead) {
19942
19979
  current.next = queueHead;
19943
19980
  queueHead = current;
@@ -19956,7 +19993,7 @@ var require_queue = __commonJS({
19956
19993
  cache.release(holder);
19957
19994
  }
19958
19995
  var next = queueHead;
19959
- if (next) {
19996
+ if (next && _running <= _concurrency) {
19960
19997
  if (!self2.paused) {
19961
19998
  if (queueTail === queueHead) {
19962
19999
  queueTail = null;
@@ -20012,9 +20049,9 @@ var require_queue = __commonJS({
20012
20049
  self2.release(self2);
20013
20050
  };
20014
20051
  }
20015
- function queueAsPromised(context, worker, concurrency) {
20052
+ function queueAsPromised(context, worker, _concurrency) {
20016
20053
  if (typeof context === "function") {
20017
- concurrency = worker;
20054
+ _concurrency = worker;
20018
20055
  worker = context;
20019
20056
  context = null;
20020
20057
  }
@@ -20023,7 +20060,7 @@ var require_queue = __commonJS({
20023
20060
  cb(null, res);
20024
20061
  }, cb);
20025
20062
  }
20026
- var queue = fastqueue(context, asyncWrapper, concurrency);
20063
+ var queue = fastqueue(context, asyncWrapper, _concurrency);
20027
20064
  var pushCb = queue.push;
20028
20065
  var unshiftCb = queue.unshift;
20029
20066
  queue.push = push2;
@@ -20057,12 +20094,19 @@ var require_queue = __commonJS({
20057
20094
  return p;
20058
20095
  }
20059
20096
  function drained() {
20060
- var previousDrain = queue.drain;
20061
20097
  var p = new Promise(function(resolve3) {
20062
- queue.drain = function() {
20063
- previousDrain();
20064
- resolve3();
20065
- };
20098
+ process.nextTick(function() {
20099
+ if (queue.idle()) {
20100
+ resolve3();
20101
+ } else {
20102
+ var previousDrain = queue.drain;
20103
+ queue.drain = function() {
20104
+ if (typeof previousDrain === "function") previousDrain();
20105
+ resolve3();
20106
+ queue.drain = previousDrain;
20107
+ };
20108
+ }
20109
+ });
20066
20110
  });
20067
20111
  return p;
20068
20112
  }
@@ -20776,11 +20820,19 @@ var require_entry = __commonJS({
20776
20820
  this.index = /* @__PURE__ */ new Map();
20777
20821
  }
20778
20822
  getFilter(positive, negative) {
20779
- const positiveRe = utils.pattern.convertPatternsToRe(positive, this._micromatchOptions);
20780
- const negativeRe = utils.pattern.convertPatternsToRe(negative, Object.assign(Object.assign({}, this._micromatchOptions), { dot: true }));
20781
- return (entry) => this._filter(entry, positiveRe, negativeRe);
20823
+ const [absoluteNegative, relativeNegative] = utils.pattern.partitionAbsoluteAndRelative(negative);
20824
+ const patterns = {
20825
+ positive: {
20826
+ all: utils.pattern.convertPatternsToRe(positive, this._micromatchOptions)
20827
+ },
20828
+ negative: {
20829
+ absolute: utils.pattern.convertPatternsToRe(absoluteNegative, Object.assign(Object.assign({}, this._micromatchOptions), { dot: true })),
20830
+ relative: utils.pattern.convertPatternsToRe(relativeNegative, Object.assign(Object.assign({}, this._micromatchOptions), { dot: true }))
20831
+ }
20832
+ };
20833
+ return (entry) => this._filter(entry, patterns);
20782
20834
  }
20783
- _filter(entry, positiveRe, negativeRe) {
20835
+ _filter(entry, patterns) {
20784
20836
  const filepath = utils.path.removeLeadingDotSegment(entry.path);
20785
20837
  if (this._settings.unique && this._isDuplicateEntry(filepath)) {
20786
20838
  return false;
@@ -20788,11 +20840,7 @@ var require_entry = __commonJS({
20788
20840
  if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) {
20789
20841
  return false;
20790
20842
  }
20791
- if (this._isSkippedByAbsoluteNegativePatterns(filepath, negativeRe)) {
20792
- return false;
20793
- }
20794
- const isDirectory2 = entry.dirent.isDirectory();
20795
- const isMatched = this._isMatchToPatterns(filepath, positiveRe, isDirectory2) && !this._isMatchToPatterns(filepath, negativeRe, isDirectory2);
20843
+ const isMatched = this._isMatchToPatternsSet(filepath, patterns, entry.dirent.isDirectory());
20796
20844
  if (this._settings.unique && isMatched) {
20797
20845
  this._createIndexRecord(filepath);
20798
20846
  }
@@ -20810,14 +20858,32 @@ var require_entry = __commonJS({
20810
20858
  _onlyDirectoryFilter(entry) {
20811
20859
  return this._settings.onlyDirectories && !entry.dirent.isDirectory();
20812
20860
  }
20813
- _isSkippedByAbsoluteNegativePatterns(entryPath, patternsRe) {
20814
- if (!this._settings.absolute) {
20861
+ _isMatchToPatternsSet(filepath, patterns, isDirectory2) {
20862
+ const isMatched = this._isMatchToPatterns(filepath, patterns.positive.all, isDirectory2);
20863
+ if (!isMatched) {
20864
+ return false;
20865
+ }
20866
+ const isMatchedByRelativeNegative = this._isMatchToPatterns(filepath, patterns.negative.relative, isDirectory2);
20867
+ if (isMatchedByRelativeNegative) {
20868
+ return false;
20869
+ }
20870
+ const isMatchedByAbsoluteNegative = this._isMatchToAbsoluteNegative(filepath, patterns.negative.absolute, isDirectory2);
20871
+ if (isMatchedByAbsoluteNegative) {
20815
20872
  return false;
20816
20873
  }
20817
- const fullpath = utils.path.makeAbsolute(this._settings.cwd, entryPath);
20818
- return utils.pattern.matchAny(fullpath, patternsRe);
20874
+ return true;
20875
+ }
20876
+ _isMatchToAbsoluteNegative(filepath, patternsRe, isDirectory2) {
20877
+ if (patternsRe.length === 0) {
20878
+ return false;
20879
+ }
20880
+ const fullpath = utils.path.makeAbsolute(this._settings.cwd, filepath);
20881
+ return this._isMatchToPatterns(fullpath, patternsRe, isDirectory2);
20819
20882
  }
20820
20883
  _isMatchToPatterns(filepath, patternsRe, isDirectory2) {
20884
+ if (patternsRe.length === 0) {
20885
+ return false;
20886
+ }
20821
20887
  const isMatched = utils.pattern.matchAny(filepath, patternsRe);
20822
20888
  if (!isMatched && isDirectory2) {
20823
20889
  return utils.pattern.matchAny(filepath + "/", patternsRe);
@@ -26757,6 +26823,9 @@ function getErrorComponent(code, cause) {
26757
26823
  FailedToDeleteTunnel: () => {
26758
26824
  return () => /* @__PURE__ */ import_react5.default.createElement(ErrorMessage, { message: "Failed to delete tunnel" });
26759
26825
  },
26826
+ FailedToGetBlocksExtensionsData: () => {
26827
+ return () => /* @__PURE__ */ import_react5.default.createElement(ErrorMessage, { message: "Failed to get blocks extensions data" });
26828
+ },
26760
26829
  SitePermissionDenied: ({ siteId }) => {
26761
26830
  return () => {
26762
26831
  return /* @__PURE__ */ import_react5.default.createElement(
@@ -26842,6 +26911,9 @@ function getErrorComponent(code, cause) {
26842
26911
  FailedToReadJson: ({ filePath }) => {
26843
26912
  return () => /* @__PURE__ */ import_react5.default.createElement(ErrorMessage, { cause, message: `Failed to read ${filePath}.` });
26844
26913
  },
26914
+ FailedToReadFile: ({ filePath }) => {
26915
+ return () => /* @__PURE__ */ import_react5.default.createElement(ErrorMessage, { cause, message: `Failed to read ${filePath}.` });
26916
+ },
26845
26917
  InvalidJsonFile: ({ filePath }) => {
26846
26918
  return () => /* @__PURE__ */ import_react5.default.createElement(
26847
26919
  ErrorMessage,
@@ -27099,6 +27171,9 @@ function getErrorComponent(code, cause) {
27099
27171
  InvalidGetDeploymentResponse: () => {
27100
27172
  return () => /* @__PURE__ */ import_react5.default.createElement(ErrorMessage, { message: "Got unexpected response from server. Please try again later.." });
27101
27173
  },
27174
+ InvalidGetDeploymentPipelineDescriptionResponse: () => {
27175
+ return () => /* @__PURE__ */ import_react5.default.createElement(SystemErrorMessage, { message: "Got unexpected response from server" });
27176
+ },
27102
27177
  FailedToGetPagesDiff: () => {
27103
27178
  return () => /* @__PURE__ */ import_react5.default.createElement(ErrorMessage, { message: "Failed to request pages diff." });
27104
27179
  },
@@ -27172,6 +27247,9 @@ function getErrorComponent(code, cause) {
27172
27247
  FailedToDeploySite: () => {
27173
27248
  return () => /* @__PURE__ */ import_react5.default.createElement(ErrorMessage, { message: "Failed to deploy site." });
27174
27249
  },
27250
+ FailedToDeploySitePreview: () => {
27251
+ return () => /* @__PURE__ */ import_react5.default.createElement(SystemErrorMessage, { message: "Failed to deploy site preview." });
27252
+ },
27175
27253
  FailedToPublishDeployment: () => {
27176
27254
  return () => /* @__PURE__ */ import_react5.default.createElement(SystemErrorMessage, { message: "Failed to publish site." });
27177
27255
  },
@@ -27399,8 +27477,8 @@ function getErrorComponent(code, cause) {
27399
27477
  FailedToCreateSiteOverride: () => {
27400
27478
  return () => /* @__PURE__ */ import_react5.default.createElement(SystemErrorMessage, { message: "Failed to create site override configuration" });
27401
27479
  },
27402
- FailedToGetPipelineErrorInfo: () => {
27403
- return () => /* @__PURE__ */ import_react5.default.createElement(SystemErrorMessage, { message: "Failed to get error details" });
27480
+ FailedToGetDeploymentPipelineDescription: () => {
27481
+ return () => /* @__PURE__ */ import_react5.default.createElement(SystemErrorMessage, { message: "Failed to get deployment pipeline details" });
27404
27482
  },
27405
27483
  FailedToGetDeploymentStatus: () => {
27406
27484
  return () => /* @__PURE__ */ import_react5.default.createElement(SystemErrorMessage, { message: "Failed to get deployment status" });
@@ -27641,6 +27719,15 @@ function getErrorComponent(code, cause) {
27641
27719
  }
27642
27720
  );
27643
27721
  },
27722
+ CannotFindConfigReferencedAsset: ({ asset, pluginConfigPath, field }) => {
27723
+ return () => /* @__PURE__ */ import_react5.default.createElement(
27724
+ ErrorMessage,
27725
+ {
27726
+ message: `Failed to load asset ${asset}`,
27727
+ hint: `Make sure the asset is correctly configured in ${pluginConfigPath} under the field ${field}`
27728
+ }
27729
+ );
27730
+ },
27644
27731
  CannotReleaseApplicationInReview: () => {
27645
27732
  return () => /* @__PURE__ */ import_react5.default.createElement(
27646
27733
  ErrorMessage,
@@ -27679,6 +27766,36 @@ function getErrorComponent(code, cause) {
27679
27766
  message: `Web method "${relativeId}" is outside of the project directory.`
27680
27767
  }
27681
27768
  );
27769
+ },
27770
+ FailedToDeployDocument: () => {
27771
+ return () => /* @__PURE__ */ import_react5.default.createElement(SystemErrorMessage, { message: "Failed to deploy site document." });
27772
+ },
27773
+ FailedToEvalBackendExtension: ({ filename, errorMessage }) => {
27774
+ return () => /* @__PURE__ */ import_react5.default.createElement(
27775
+ ErrorMessage,
27776
+ {
27777
+ message: `Failed to process file "${filename}", error details below:
27778
+ ${errorMessage}`
27779
+ }
27780
+ );
27781
+ },
27782
+ DeploymentPipelineFailed: ({ tasksDescriptions }) => {
27783
+ return () => /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, /* @__PURE__ */ import_react5.default.createElement(
27784
+ ErrorMessage,
27785
+ {
27786
+ message: `Errors in your site\u2019s code were found while trying to build your custom code. See output below:`
27787
+ }
27788
+ ), /* @__PURE__ */ import_react5.default.createElement(Box_default, { paddingLeft: 1, paddingTop: 1, flexDirection: "column" }, tasksDescriptions.map((task, index) => /* @__PURE__ */ import_react5.default.createElement(import_react5.Fragment, { key: index }, /* @__PURE__ */ import_react5.default.createElement(Alert, { type: task.status === "SUCCESS" ? "success" : "error" }, "[", index + 1, "/", tasksDescriptions.length, "] ", task.taskName, "..."), Object.entries(task.description).map(([path5, content]) => /* @__PURE__ */ import_react5.default.createElement(
27789
+ Box_default,
27790
+ {
27791
+ key: path5,
27792
+ paddingLeft: 2,
27793
+ paddingBottom: 1,
27794
+ flexDirection: "column"
27795
+ },
27796
+ /* @__PURE__ */ import_react5.default.createElement(Text, { bold: true }, path5),
27797
+ /* @__PURE__ */ import_react5.default.createElement(Text, null, content.trim())
27798
+ ))))));
27682
27799
  }
27683
27800
  });
27684
27801
  }
@@ -27703,7 +27820,12 @@ var ErrorViewer = ({
27703
27820
 
27704
27821
  // ../cli-fs/src/index.ts
27705
27822
  init_esm_shims();
27706
- import { access, readFile, writeFile, mkdir } from "node:fs/promises";
27823
+ import {
27824
+ access,
27825
+ readFile as fsReadFile,
27826
+ writeFile,
27827
+ mkdir
27828
+ } from "node:fs/promises";
27707
27829
  import { dirname, join, relative } from "node:path";
27708
27830
  import { EOL } from "node:os";
27709
27831
 
@@ -27720,9 +27842,9 @@ function toJsonString(object, opts) {
27720
27842
  return JSON.stringify(object, null, opts?.spaces).concat(EOL);
27721
27843
  }
27722
27844
  async function writeJson(filePath, object, opts) {
27845
+ const str = toJsonString(object, opts);
27846
+ await outputDir(dirname(filePath));
27723
27847
  try {
27724
- const str = toJsonString(object, opts);
27725
- await outputDir(dirname(filePath));
27726
27848
  await writeFile(filePath, str, "utf-8");
27727
27849
  } catch (e) {
27728
27850
  throw new CliError({
@@ -27734,7 +27856,7 @@ async function writeJson(filePath, object, opts) {
27734
27856
  async function readJson(file) {
27735
27857
  let content = null;
27736
27858
  try {
27737
- content = await readFile(file, "utf-8");
27859
+ content = await fsReadFile(file, "utf-8");
27738
27860
  } catch (e) {
27739
27861
  throw new CliError({
27740
27862
  code: CliErrorCode.FailedToReadJson({ filePath: file }),
@@ -27750,12 +27872,22 @@ async function readJson(file) {
27750
27872
  });
27751
27873
  }
27752
27874
  }
27875
+ async function readFile(file, encoding) {
27876
+ try {
27877
+ return await fsReadFile(file, encoding);
27878
+ } catch (e) {
27879
+ throw new CliError({
27880
+ code: CliErrorCode.FailedToReadFile({ filePath: file }),
27881
+ cause: e
27882
+ });
27883
+ }
27884
+ }
27753
27885
  function pathExists(path5) {
27754
27886
  return access(path5).then(() => true).catch(() => false);
27755
27887
  }
27756
27888
  async function outputFile(file, content) {
27889
+ await outputDir(dirname(file));
27757
27890
  try {
27758
- await outputDir(dirname(file));
27759
27891
  await writeFile(file, content, "utf-8");
27760
27892
  } catch (e) {
27761
27893
  throw new CliError({
@@ -30359,6 +30491,7 @@ var ComponentType;
30359
30491
  ComponentType3["PRICING_PLANS_PRICING"] = "PRICING_PLANS_PRICING";
30360
30492
  ComponentType3["PRICING_PLAN_CUSTOMER_START_DATE_LIMIT"] = "PRICING_PLAN_CUSTOMER_START_DATE_LIMIT";
30361
30493
  ComponentType3["PRICING_PLAN_START_DATE_POLICY"] = "PRICING_PLAN_START_DATE_POLICY";
30494
+ ComponentType3["EVENTS_TICKET_RESERVATIONS"] = "EVENTS_TICKET_RESERVATIONS";
30362
30495
  })(ComponentType || (ComponentType = {}));
30363
30496
  var WidgetVertical;
30364
30497
  (function(WidgetVertical3) {
@@ -30432,6 +30565,12 @@ var PluginInterface;
30432
30565
  PluginInterface3["BOOKINGS_CALENDAR"] = "BOOKINGS_CALENDAR";
30433
30566
  PluginInterface3["CART"] = "CART";
30434
30567
  })(PluginInterface || (PluginInterface = {}));
30568
+ var HTTPMethod;
30569
+ (function(HTTPMethod3) {
30570
+ HTTPMethod3["UNKNOWN_METHOD"] = "UNKNOWN_METHOD";
30571
+ HTTPMethod3["GET"] = "GET";
30572
+ HTTPMethod3["POST"] = "POST";
30573
+ })(HTTPMethod || (HTTPMethod = {}));
30435
30574
  var InstallPage;
30436
30575
  (function(InstallPage3) {
30437
30576
  InstallPage3["NO_PAGE"] = "NO_PAGE";
@@ -30736,11 +30875,13 @@ var FilterSelectionType;
30736
30875
  (function(FilterSelectionType3) {
30737
30876
  FilterSelectionType3["UNKNOWN_SELECTION"] = "UNKNOWN_SELECTION";
30738
30877
  FilterSelectionType3["SINGLE_SELECTION"] = "SINGLE_SELECTION";
30878
+ FilterSelectionType3["MULTIPLE_SELECTION"] = "MULTIPLE_SELECTION";
30739
30879
  })(FilterSelectionType || (FilterSelectionType = {}));
30740
30880
  var FilterOptionsType;
30741
30881
  (function(FilterOptionsType3) {
30742
30882
  FilterOptionsType3["UNKNOWN_FILTER_OPTIONS"] = "UNKNOWN_FILTER_OPTIONS";
30743
30883
  FilterOptionsType3["STATIC"] = "STATIC";
30884
+ FilterOptionsType3["PROVIDER"] = "PROVIDER";
30744
30885
  })(FilterOptionsType || (FilterOptionsType = {}));
30745
30886
  var ChannelType;
30746
30887
  (function(ChannelType3) {
@@ -31570,12 +31711,6 @@ var Method;
31570
31711
  Method3["UPDATE"] = "UPDATE";
31571
31712
  Method3["CANCEL"] = "CANCEL";
31572
31713
  })(Method || (Method = {}));
31573
- var ChangePaymentDateOperation;
31574
- (function(ChangePaymentDateOperation3) {
31575
- ChangePaymentDateOperation3["UNKNOWN_CHANGE_PAYMENT_DATE"] = "UNKNOWN_CHANGE_PAYMENT_DATE";
31576
- ChangePaymentDateOperation3["NEXT_CHARGE_WITH_PRORATION"] = "NEXT_CHARGE_WITH_PRORATION";
31577
- ChangePaymentDateOperation3["NEXT_CHARGE_WITHOUT_PRORATION"] = "NEXT_CHARGE_WITHOUT_PRORATION";
31578
- })(ChangePaymentDateOperation || (ChangePaymentDateOperation = {}));
31579
31714
  var ParticipantType;
31580
31715
  (function(ParticipantType3) {
31581
31716
  ParticipantType3["UNKNOWN_TYPE"] = "UNKNOWN_TYPE";
@@ -31606,11 +31741,7 @@ var EMBEDDED_SCRIPTS_DIR = join4(SITE_DIR, "embedded-scripts");
31606
31741
  var SITE_WIDGETS_DIR = join4(SITE_DIR, "widgets", CUSTOM_ELEMENTS_DIR);
31607
31742
  var SITE_PLUGINS_DIR = join4(SITE_DIR, "plugins", CUSTOM_ELEMENTS_DIR);
31608
31743
  var BLOCKS_WIDGETS_DIR = join4(SITE_DIR, "widgets", "blocks");
31609
- var PUBLIC_URL_REGEX = /\{\{\s*(PUBLIC_URL|public_url)\s*\}\}/;
31610
- var PATH_REGEX = /\/[\w\-+]+(\/[\w\-+]+)*\.[\w\-+]+$/;
31611
- var STATIC_ASSET_REGEX = new RegExp(
31612
- `^${PUBLIC_URL_REGEX.source}${PATH_REGEX.source}$`
31613
- );
31744
+ var RELATIVE_ASSET_PATH_REGEX = /^(?:\.\.?\/)*[\w\-+]+(\/[\w\-+]+)*\.(jpg|svg|png)$/;
31614
31745
  var HTTP_REGEX = /^(https?):\/\/[^\s/$.?#].[^\s]*$/;
31615
31746
  function getBackendOptimizedDir(projectFolder) {
31616
31747
  return join4(projectFolder, BACKEND_OPTIMIZED_DIR);
@@ -31678,16 +31809,20 @@ var monitoringWixConfigSchema = z.object({
31678
31809
  dsn: z.string().url()
31679
31810
  })
31680
31811
  });
31812
+ var blocksWixConfigSchema = z.object({
31813
+ revisionId: z.string()
31814
+ });
31681
31815
  var wixPublicConfigSchema = z.object({
31682
31816
  ...baseConfig,
31683
31817
  appId: z.string().uuid(),
31684
31818
  projectId: z.string(),
31685
31819
  dashboard: dashboardConfigSchema.optional(),
31686
- monitoring: monitoringWixConfigSchema.optional()
31820
+ monitoring: monitoringWixConfigSchema.optional(),
31821
+ blocks: blocksWixConfigSchema.optional()
31687
31822
  }).strict();
31688
31823
  var wixConfigSchema = wixPublicConfigSchema.extend({
31689
31824
  sentryDSN: z.string().optional(),
31690
- trusted: z.boolean().default(false)
31825
+ trusted: z.boolean().optional()
31691
31826
  }).strict();
31692
31827
  var appConfigSchema = z.object({
31693
31828
  siteId: z.string().uuid().optional(),
@@ -31860,6 +31995,11 @@ var customElementConfigSchema = z.object({
31860
31995
  essential: z.boolean().optional().describe(
31861
31996
  "Marks the widget as crucial to your app's functionality or not. If true and a user deletes the widget, the entire app will also be deleted."
31862
31997
  )
31998
+ }).strict().optional(),
31999
+ behaviors: z.object({
32000
+ dashboard: z.object({
32001
+ dashboardPageComponentId: z.string().uuid().describe("The ID of the dashboard page component")
32002
+ }).strict().optional()
31863
32003
  }).strict().optional()
31864
32004
  }).strict();
31865
32005
  var sitePluginPlacementSchema = z.object({
@@ -31884,8 +32024,8 @@ var sitePluginConfigSchema = z.object({
31884
32024
  z.string().regex(HTTP_REGEX, {
31885
32025
  message: "The logo URL must be a valid URL"
31886
32026
  }),
31887
- z.string().regex(STATIC_ASSET_REGEX, {
31888
- message: "The logo should be a path to the file"
32027
+ z.string().regex(RELATIVE_ASSET_PATH_REGEX, {
32028
+ message: "The logo URL must be a relative path to an image (jpg, png, svg)"
31889
32029
  })
31890
32030
  ]).optional().describe(
31891
32031
  "The logo of your plugin as it will appear in the plugin explorer"
@@ -33394,6 +33534,9 @@ var ComponentType2;
33394
33534
  ComponentType3["TEXT_TO_SPEECH_ACTION_MESSAGE"] = "TEXT_TO_SPEECH_ACTION_MESSAGE";
33395
33535
  ComponentType3["AUDIENCE_PROVIDER"] = "AUDIENCE_PROVIDER";
33396
33536
  ComponentType3["PRICING_PLANS_PRICING"] = "PRICING_PLANS_PRICING";
33537
+ ComponentType3["PRICING_PLAN_CUSTOMER_START_DATE_LIMIT"] = "PRICING_PLAN_CUSTOMER_START_DATE_LIMIT";
33538
+ ComponentType3["PRICING_PLAN_START_DATE_POLICY"] = "PRICING_PLAN_START_DATE_POLICY";
33539
+ ComponentType3["EVENTS_TICKET_RESERVATIONS"] = "EVENTS_TICKET_RESERVATIONS";
33397
33540
  })(ComponentType2 || (ComponentType2 = {}));
33398
33541
  var WidgetVertical2;
33399
33542
  (function(WidgetVertical3) {
@@ -33467,6 +33610,12 @@ var PluginInterface2;
33467
33610
  PluginInterface3["BOOKINGS_CALENDAR"] = "BOOKINGS_CALENDAR";
33468
33611
  PluginInterface3["CART"] = "CART";
33469
33612
  })(PluginInterface2 || (PluginInterface2 = {}));
33613
+ var HTTPMethod2;
33614
+ (function(HTTPMethod3) {
33615
+ HTTPMethod3["UNKNOWN_METHOD"] = "UNKNOWN_METHOD";
33616
+ HTTPMethod3["GET"] = "GET";
33617
+ HTTPMethod3["POST"] = "POST";
33618
+ })(HTTPMethod2 || (HTTPMethod2 = {}));
33470
33619
  var InstallPage2;
33471
33620
  (function(InstallPage3) {
33472
33621
  InstallPage3["NO_PAGE"] = "NO_PAGE";
@@ -33771,11 +33920,13 @@ var FilterSelectionType2;
33771
33920
  (function(FilterSelectionType3) {
33772
33921
  FilterSelectionType3["UNKNOWN_SELECTION"] = "UNKNOWN_SELECTION";
33773
33922
  FilterSelectionType3["SINGLE_SELECTION"] = "SINGLE_SELECTION";
33923
+ FilterSelectionType3["MULTIPLE_SELECTION"] = "MULTIPLE_SELECTION";
33774
33924
  })(FilterSelectionType2 || (FilterSelectionType2 = {}));
33775
33925
  var FilterOptionsType2;
33776
33926
  (function(FilterOptionsType3) {
33777
33927
  FilterOptionsType3["UNKNOWN_FILTER_OPTIONS"] = "UNKNOWN_FILTER_OPTIONS";
33778
33928
  FilterOptionsType3["STATIC"] = "STATIC";
33929
+ FilterOptionsType3["PROVIDER"] = "PROVIDER";
33779
33930
  })(FilterOptionsType2 || (FilterOptionsType2 = {}));
33780
33931
  var ChannelType2;
33781
33932
  (function(ChannelType3) {
@@ -34605,12 +34756,6 @@ var Method2;
34605
34756
  Method3["UPDATE"] = "UPDATE";
34606
34757
  Method3["CANCEL"] = "CANCEL";
34607
34758
  })(Method2 || (Method2 = {}));
34608
- var ChangePaymentDateOperation2;
34609
- (function(ChangePaymentDateOperation3) {
34610
- ChangePaymentDateOperation3["UNKNOWN_CHANGE_PAYMENT_DATE"] = "UNKNOWN_CHANGE_PAYMENT_DATE";
34611
- ChangePaymentDateOperation3["NEXT_CHARGE_WITH_PRORATION"] = "NEXT_CHARGE_WITH_PRORATION";
34612
- ChangePaymentDateOperation3["NEXT_CHARGE_WITHOUT_PRORATION"] = "NEXT_CHARGE_WITHOUT_PRORATION";
34613
- })(ChangePaymentDateOperation2 || (ChangePaymentDateOperation2 = {}));
34614
34759
  var ParticipantType2;
34615
34760
  (function(ParticipantType3) {
34616
34761
  ParticipantType3["UNKNOWN_TYPE"] = "UNKNOWN_TYPE";
@@ -37424,6 +37569,58 @@ var backofficeMenuItems = [
37424
37569
  docsUrl: "https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/dashboard-plugins/supported-wix-app-dashboard-pages/wix-e-commerce/wix-e-commerce-orders-page"
37425
37570
  }
37426
37571
  ]
37572
+ },
37573
+ {
37574
+ id: "241f5aea-8e66-45b6-b7ed-6050100b6b29",
37575
+ name: "Event Orders Tab - Main more actions menu",
37576
+ category: "Wix Events",
37577
+ requiredApps: [
37578
+ {
37579
+ appName: "Wix Events",
37580
+ appId: "140603ad-af8d-84a5-2c80-a0f60cb47351",
37581
+ route: "/events",
37582
+ docsUrl: "https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/dashboard-plugins/supported-wix-app-dashboard-pages/wix-events/wix-events-event-page-orders-tab"
37583
+ }
37584
+ ]
37585
+ },
37586
+ {
37587
+ id: "b9f7d36e-4035-4079-8781-4f78b4bec183",
37588
+ name: "Event Guests (Tickets) Tab - Main more actions menu",
37589
+ category: "Wix Events",
37590
+ requiredApps: [
37591
+ {
37592
+ appName: "Wix Events",
37593
+ appId: "140603ad-af8d-84a5-2c80-a0f60cb47351",
37594
+ route: "/events",
37595
+ docsUrl: "https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/dashboard-plugins/supported-wix-app-dashboard-pages/wix-events/wix-events-event-page-tickets-guests-tab"
37596
+ }
37597
+ ]
37598
+ },
37599
+ {
37600
+ id: "190f00be-4e0f-4463-a3a6-f1cfee681bca",
37601
+ name: "Events Published or Drafts page",
37602
+ category: "Wix Events",
37603
+ requiredApps: [
37604
+ {
37605
+ appName: "Wix Events",
37606
+ appId: "140603ad-af8d-84a5-2c80-a0f60cb47351",
37607
+ route: "/events",
37608
+ docsUrl: "https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/dashboard-plugins/supported-wix-app-dashboard-pages/wix-events/wix-events-published-or-drafts-page"
37609
+ }
37610
+ ]
37611
+ },
37612
+ {
37613
+ id: "b9f7d36e-4035-4079-8781-4f78b4bec183",
37614
+ name: "Event Guests (RSVP) Tab - Main more actions menu",
37615
+ category: "Wix Events",
37616
+ requiredApps: [
37617
+ {
37618
+ appName: "Wix Events",
37619
+ appId: "140603ad-af8d-84a5-2c80-a0f60cb47351",
37620
+ route: "/events",
37621
+ docsUrl: "https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/dashboard-plugins/supported-wix-app-dashboard-pages/wix-events/wix-events-event-page-rsvp-guests-tab"
37622
+ }
37623
+ ]
37427
37624
  }
37428
37625
  ];
37429
37626
 
@@ -37652,6 +37849,86 @@ var backofficeExtensionWidgets = [
37652
37849
  onCancel: "() => void",
37653
37850
  menuOption: "{ key: string; componentId?: string }"
37654
37851
  }
37852
+ },
37853
+ {
37854
+ id: "d2c6965a-7d50-47a0-881a-beb184135df3",
37855
+ name: "Event Overview page",
37856
+ category: "Wix Events",
37857
+ requiredApps: [
37858
+ {
37859
+ appName: "Wix Events",
37860
+ appId: "140603ad-af8d-84a5-2c80-a0f60cb47351",
37861
+ route: "/events",
37862
+ docsUrl: "https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/dashboard-plugins/supported-wix-app-dashboard-pages/wix-events/wix-events-event-page-overview-tab"
37863
+ }
37864
+ ],
37865
+ params: {
37866
+ eventId: "string"
37867
+ }
37868
+ },
37869
+ {
37870
+ id: "80b95e22-26db-4063-a31f-76d4bb8797ba",
37871
+ name: "Event Tickets and Seatings",
37872
+ category: "Wix Events",
37873
+ requiredApps: [
37874
+ {
37875
+ appName: "Wix Events",
37876
+ appId: "140603ad-af8d-84a5-2c80-a0f60cb47351",
37877
+ route: "/events",
37878
+ docsUrl: "https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/dashboard-plugins/supported-wix-app-dashboard-pages/wix-events/wix-events-event-page-tickets-and-seating-tab"
37879
+ }
37880
+ ],
37881
+ params: {
37882
+ eventId: "string"
37883
+ }
37884
+ },
37885
+ {
37886
+ id: "c478b36b-7ce2-4564-afba-c2b0ca14bdea",
37887
+ name: "Event Settings",
37888
+ category: "Wix Events",
37889
+ requiredApps: [
37890
+ {
37891
+ appName: "Wix Events",
37892
+ appId: "140603ad-af8d-84a5-2c80-a0f60cb47351",
37893
+ route: "/events",
37894
+ docsUrl: "https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/dashboard-plugins/supported-wix-app-dashboard-pages/wix-events/wix-events-event-page-settings-tab"
37895
+ }
37896
+ ],
37897
+ params: {
37898
+ eventId: "string"
37899
+ }
37900
+ },
37901
+ {
37902
+ id: "5566727b-e5a2-4a43-a26d-961aa4fe0898",
37903
+ name: "Event Features",
37904
+ category: "Wix Events",
37905
+ requiredApps: [
37906
+ {
37907
+ appName: "Wix Events",
37908
+ appId: "140603ad-af8d-84a5-2c80-a0f60cb47351",
37909
+ route: "/events",
37910
+ docsUrl: "https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/dashboard-plugins/supported-wix-app-dashboard-pages/wix-events/wix-events-event-page-features-tab"
37911
+ }
37912
+ ],
37913
+ params: {
37914
+ eventId: "string"
37915
+ }
37916
+ },
37917
+ {
37918
+ id: "bc3b9b99-7a3a-4fb5-946f-078022277b6b",
37919
+ name: "Event Features",
37920
+ category: "Wix Events",
37921
+ requiredApps: [
37922
+ {
37923
+ appName: "Wix Events",
37924
+ appId: "140603ad-af8d-84a5-2c80-a0f60cb47351",
37925
+ route: "/events",
37926
+ docsUrl: "https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/dashboard-plugins/supported-wix-app-dashboard-pages/wix-events/wix-events-event-page-promotion-tab"
37927
+ }
37928
+ ],
37929
+ params: {
37930
+ eventId: "string"
37931
+ }
37655
37932
  }
37656
37933
  ];
37657
37934
 
@@ -38956,9 +39233,7 @@ function virtualModuleIdForBlocksComponentScriptAsset(componentId) {
38956
39233
  }
38957
39234
  function virtualBlocksWidgetPanelScriptAssets(model) {
38958
39235
  return new Map(
38959
- model.components.filter(
38960
- (component) => (0, import_variant13.isType)(component, DevCenterComponent.BlocksWidgetPanel)
38961
- ).map((comp) => [
39236
+ model.components.filter((0, import_variant13.isType)(DevCenterComponent.BlocksWidgetPanel)).map((comp) => [
38962
39237
  virtualModuleIdForBlocksComponentScriptAsset(comp.id),
38963
39238
  comp
38964
39239
  ])
@@ -38966,9 +39241,7 @@ function virtualBlocksWidgetPanelScriptAssets(model) {
38966
39241
  }
38967
39242
  function virtualBlocksWidgetScriptAssets(model) {
38968
39243
  return new Map(
38969
- model.components.filter(
38970
- (component) => (0, import_variant13.isType)(component, DevCenterComponent.BlocksWidget)
38971
- ).map((comp) => [
39244
+ model.components.filter((0, import_variant13.isType)(DevCenterComponent.BlocksWidget)).map((comp) => [
38972
39245
  virtualModuleIdForBlocksComponentScriptAsset(comp.id),
38973
39246
  comp
38974
39247
  ])
@@ -39214,6 +39487,24 @@ async function loadSitePluginComponent(sitePluginPath, projectFolder, wixDepende
39214
39487
  const isPanelExists = await pathExists(
39215
39488
  join10(projectFolder, sitePluginPanelPath)
39216
39489
  );
39490
+ if (sitePluginConfig.marketData.logoUrl && RELATIVE_ASSET_PATH_REGEX.test(sitePluginConfig.marketData.logoUrl)) {
39491
+ const pluginDir = dirname4(sitePluginPath);
39492
+ const assetPath = join10(
39493
+ projectFolder,
39494
+ pluginDir,
39495
+ sitePluginConfig.marketData.logoUrl
39496
+ );
39497
+ if (!await pathExists(assetPath)) {
39498
+ throw new CliError({
39499
+ code: CliErrorCode.CannotFindConfigReferencedAsset({
39500
+ asset: assetPath,
39501
+ pluginConfigPath: `${pluginDir}/plugin.json`,
39502
+ field: "marketData.logoUrl"
39503
+ }),
39504
+ cause: null
39505
+ });
39506
+ }
39507
+ }
39217
39508
  return DevCenterComponent.SitePlugin({
39218
39509
  ...sitePluginConfig,
39219
39510
  relativePath: sitePluginPath,
@@ -39528,9 +39819,11 @@ var hasOwn = Object.hasOwn || function(object, property) {
39528
39819
  return hasOwnProperty.call(object, property);
39529
39820
  };
39530
39821
  function sameValueZeroEqual(a, b) {
39531
- return a || b ? a === b : a === b || a !== a && b !== b;
39822
+ return a === b || !a && !b && a !== a && b !== b;
39532
39823
  }
39533
- var OWNER = "_owner";
39824
+ var PREACT_VNODE = "__v";
39825
+ var PREACT_OWNER = "__o";
39826
+ var REACT_OWNER = "_owner";
39534
39827
  var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
39535
39828
  var keys = Object.keys;
39536
39829
  function areArraysEqual(a, b, state) {
@@ -39548,15 +39841,25 @@ function areArraysEqual(a, b, state) {
39548
39841
  function areDatesEqual(a, b) {
39549
39842
  return sameValueZeroEqual(a.getTime(), b.getTime());
39550
39843
  }
39844
+ function areErrorsEqual(a, b) {
39845
+ return a.name === b.name && a.message === b.message && a.cause === b.cause && a.stack === b.stack;
39846
+ }
39847
+ function areFunctionsEqual(a, b) {
39848
+ return a === b;
39849
+ }
39551
39850
  function areMapsEqual(a, b, state) {
39552
- if (a.size !== b.size) {
39851
+ var size = a.size;
39852
+ if (size !== b.size) {
39553
39853
  return false;
39554
39854
  }
39555
- var matchedIndices = {};
39855
+ if (!size) {
39856
+ return true;
39857
+ }
39858
+ var matchedIndices = new Array(size);
39556
39859
  var aIterable = a.entries();
39557
- var index = 0;
39558
39860
  var aResult;
39559
39861
  var bResult;
39862
+ var index = 0;
39560
39863
  while (aResult = aIterable.next()) {
39561
39864
  if (aResult.done) {
39562
39865
  break;
@@ -39568,10 +39871,15 @@ function areMapsEqual(a, b, state) {
39568
39871
  if (bResult.done) {
39569
39872
  break;
39570
39873
  }
39571
- var _a = aResult.value, aKey = _a[0], aValue = _a[1];
39572
- var _b = bResult.value, bKey = _b[0], bValue = _b[1];
39573
- if (!hasMatch && !matchedIndices[matchIndex] && (hasMatch = state.equals(aKey, bKey, index, matchIndex, a, b, state) && state.equals(aValue, bValue, aKey, bKey, a, b, state))) {
39574
- matchedIndices[matchIndex] = true;
39874
+ if (matchedIndices[matchIndex]) {
39875
+ matchIndex++;
39876
+ continue;
39877
+ }
39878
+ var aEntry = aResult.value;
39879
+ var bEntry = bResult.value;
39880
+ if (state.equals(aEntry[0], bEntry[0], index, matchIndex, a, b, state) && state.equals(aEntry[1], bEntry[1], aEntry[0], bEntry[0], a, b, state)) {
39881
+ hasMatch = matchedIndices[matchIndex] = true;
39882
+ break;
39575
39883
  }
39576
39884
  matchIndex++;
39577
39885
  }
@@ -39582,19 +39890,15 @@ function areMapsEqual(a, b, state) {
39582
39890
  }
39583
39891
  return true;
39584
39892
  }
39893
+ var areNumbersEqual = sameValueZeroEqual;
39585
39894
  function areObjectsEqual(a, b, state) {
39586
39895
  var properties = keys(a);
39587
39896
  var index = properties.length;
39588
39897
  if (keys(b).length !== index) {
39589
39898
  return false;
39590
39899
  }
39591
- var property;
39592
39900
  while (index-- > 0) {
39593
- property = properties[index];
39594
- if (property === OWNER && (a.$$typeof || b.$$typeof) && a.$$typeof !== b.$$typeof) {
39595
- return false;
39596
- }
39597
- if (!hasOwn(b, property) || !state.equals(a[property], b[property], property, property, a, b, state)) {
39901
+ if (!isPropertyEqual(a, b, state, properties[index])) {
39598
39902
  return false;
39599
39903
  }
39600
39904
  }
@@ -39611,13 +39915,7 @@ function areObjectsEqualStrict(a, b, state) {
39611
39915
  var descriptorB;
39612
39916
  while (index-- > 0) {
39613
39917
  property = properties[index];
39614
- if (property === OWNER && (a.$$typeof || b.$$typeof) && a.$$typeof !== b.$$typeof) {
39615
- return false;
39616
- }
39617
- if (!hasOwn(b, property)) {
39618
- return false;
39619
- }
39620
- if (!state.equals(a[property], b[property], property, property, a, b, state)) {
39918
+ if (!isPropertyEqual(a, b, state, property)) {
39621
39919
  return false;
39622
39920
  }
39623
39921
  descriptorA = getOwnPropertyDescriptor(a, property);
@@ -39635,10 +39933,14 @@ function areRegExpsEqual(a, b) {
39635
39933
  return a.source === b.source && a.flags === b.flags;
39636
39934
  }
39637
39935
  function areSetsEqual(a, b, state) {
39638
- if (a.size !== b.size) {
39936
+ var size = a.size;
39937
+ if (size !== b.size) {
39639
39938
  return false;
39640
39939
  }
39641
- var matchedIndices = {};
39940
+ if (!size) {
39941
+ return true;
39942
+ }
39943
+ var matchedIndices = new Array(size);
39642
39944
  var aIterable = a.values();
39643
39945
  var aResult;
39644
39946
  var bResult;
@@ -39653,8 +39955,9 @@ function areSetsEqual(a, b, state) {
39653
39955
  if (bResult.done) {
39654
39956
  break;
39655
39957
  }
39656
- if (!hasMatch && !matchedIndices[matchIndex] && (hasMatch = state.equals(aResult.value, bResult.value, aResult.value, bResult.value, a, b, state))) {
39657
- matchedIndices[matchIndex] = true;
39958
+ if (!matchedIndices[matchIndex] && state.equals(aResult.value, bResult.value, aResult.value, bResult.value, a, b, state)) {
39959
+ hasMatch = matchedIndices[matchIndex] = true;
39960
+ break;
39658
39961
  }
39659
39962
  matchIndex++;
39660
39963
  }
@@ -39676,27 +39979,51 @@ function areTypedArraysEqual(a, b) {
39676
39979
  }
39677
39980
  return true;
39678
39981
  }
39982
+ function areUrlsEqual(a, b) {
39983
+ return a.hostname === b.hostname && a.pathname === b.pathname && a.protocol === b.protocol && a.port === b.port && a.hash === b.hash && a.username === b.username && a.password === b.password;
39984
+ }
39985
+ function isPropertyEqual(a, b, state, property) {
39986
+ if ((property === REACT_OWNER || property === PREACT_OWNER || property === PREACT_VNODE) && (a.$$typeof || b.$$typeof)) {
39987
+ return true;
39988
+ }
39989
+ return hasOwn(b, property) && state.equals(a[property], b[property], property, property, a, b, state);
39990
+ }
39679
39991
  var ARGUMENTS_TAG = "[object Arguments]";
39680
39992
  var BOOLEAN_TAG = "[object Boolean]";
39681
39993
  var DATE_TAG = "[object Date]";
39994
+ var ERROR_TAG = "[object Error]";
39682
39995
  var MAP_TAG = "[object Map]";
39683
39996
  var NUMBER_TAG = "[object Number]";
39684
39997
  var OBJECT_TAG = "[object Object]";
39685
39998
  var REG_EXP_TAG = "[object RegExp]";
39686
39999
  var SET_TAG = "[object Set]";
39687
40000
  var STRING_TAG = "[object String]";
40001
+ var URL_TAG = "[object URL]";
39688
40002
  var isArray2 = Array.isArray;
39689
40003
  var isTypedArray = typeof ArrayBuffer === "function" && ArrayBuffer.isView ? ArrayBuffer.isView : null;
39690
40004
  var assign = Object.assign;
39691
40005
  var getTag = Object.prototype.toString.call.bind(Object.prototype.toString);
39692
40006
  function createEqualityComparator(_a) {
39693
- var areArraysEqual2 = _a.areArraysEqual, areDatesEqual2 = _a.areDatesEqual, areMapsEqual2 = _a.areMapsEqual, areObjectsEqual2 = _a.areObjectsEqual, arePrimitiveWrappersEqual2 = _a.arePrimitiveWrappersEqual, areRegExpsEqual2 = _a.areRegExpsEqual, areSetsEqual2 = _a.areSetsEqual, areTypedArraysEqual2 = _a.areTypedArraysEqual;
40007
+ var areArraysEqual2 = _a.areArraysEqual, areDatesEqual2 = _a.areDatesEqual, areErrorsEqual2 = _a.areErrorsEqual, areFunctionsEqual2 = _a.areFunctionsEqual, areMapsEqual2 = _a.areMapsEqual, areNumbersEqual2 = _a.areNumbersEqual, areObjectsEqual2 = _a.areObjectsEqual, arePrimitiveWrappersEqual2 = _a.arePrimitiveWrappersEqual, areRegExpsEqual2 = _a.areRegExpsEqual, areSetsEqual2 = _a.areSetsEqual, areTypedArraysEqual2 = _a.areTypedArraysEqual, areUrlsEqual2 = _a.areUrlsEqual;
39694
40008
  return function comparator(a, b, state) {
39695
40009
  if (a === b) {
39696
40010
  return true;
39697
40011
  }
39698
- if (a == null || b == null || typeof a !== "object" || typeof b !== "object") {
39699
- return a !== a && b !== b;
40012
+ if (a == null || b == null) {
40013
+ return false;
40014
+ }
40015
+ var type = typeof a;
40016
+ if (type !== typeof b) {
40017
+ return false;
40018
+ }
40019
+ if (type !== "object") {
40020
+ if (type === "number") {
40021
+ return areNumbersEqual2(a, b, state);
40022
+ }
40023
+ if (type === "function") {
40024
+ return areFunctionsEqual2(a, b, state);
40025
+ }
40026
+ return false;
39700
40027
  }
39701
40028
  var constructor = a.constructor;
39702
40029
  if (constructor !== b.constructor) {
@@ -39739,6 +40066,12 @@ function createEqualityComparator(_a) {
39739
40066
  if (tag === OBJECT_TAG) {
39740
40067
  return typeof a.then !== "function" && typeof b.then !== "function" && areObjectsEqual2(a, b, state);
39741
40068
  }
40069
+ if (tag === URL_TAG) {
40070
+ return areUrlsEqual2(a, b, state);
40071
+ }
40072
+ if (tag === ERROR_TAG) {
40073
+ return areErrorsEqual2(a, b, state);
40074
+ }
39742
40075
  if (tag === ARGUMENTS_TAG) {
39743
40076
  return areObjectsEqual2(a, b, state);
39744
40077
  }
@@ -39753,12 +40086,16 @@ function createEqualityComparatorConfig(_a) {
39753
40086
  var config = {
39754
40087
  areArraysEqual: strict ? areObjectsEqualStrict : areArraysEqual,
39755
40088
  areDatesEqual,
40089
+ areErrorsEqual,
40090
+ areFunctionsEqual,
39756
40091
  areMapsEqual: strict ? combineComparators(areMapsEqual, areObjectsEqualStrict) : areMapsEqual,
40092
+ areNumbersEqual,
39757
40093
  areObjectsEqual: strict ? areObjectsEqualStrict : areObjectsEqual,
39758
40094
  arePrimitiveWrappersEqual,
39759
40095
  areRegExpsEqual,
39760
40096
  areSetsEqual: strict ? combineComparators(areSetsEqual, areObjectsEqualStrict) : areSetsEqual,
39761
- areTypedArraysEqual: strict ? areObjectsEqualStrict : areTypedArraysEqual
40097
+ areTypedArraysEqual: strict ? areObjectsEqualStrict : areTypedArraysEqual,
40098
+ areUrlsEqual
39762
40099
  };
39763
40100
  if (createCustomConfig) {
39764
40101
  config = assign({}, config, createCustomConfig(config));
@@ -39941,6 +40278,9 @@ var ProjectModelWatcher = class {
39941
40278
  try {
39942
40279
  const model = await loadProjectModel(this.prevModel.projectFolder);
39943
40280
  this.emitter.emit("all", model, "change-received");
40281
+ if (this.prevModel.config.blocks?.revisionId !== model.config.blocks?.revisionId) {
40282
+ this.emitter.emit("all", model, "blocks-revision-changed");
40283
+ }
39944
40284
  if (!deepEqual(model, this.prevModel) || basename(path5) === "embedded.html" || basename(path5) === "event.ts") {
39945
40285
  this.prevModel = model;
39946
40286
  this.emitter.emit("all", model, "model-updated");
@@ -40002,6 +40342,7 @@ export {
40002
40342
  resolveUrl,
40003
40343
  toURLSearchParams,
40004
40344
  serializer,
40345
+ require_ms,
40005
40346
  require_index_node,
40006
40347
  isHttpError,
40007
40348
  createHttpClient,
@@ -40010,6 +40351,7 @@ export {
40010
40351
  toJsonString,
40011
40352
  writeJson,
40012
40353
  readJson,
40354
+ readFile,
40013
40355
  pathExists,
40014
40356
  outputFile,
40015
40357
  readPackageJson,
@@ -40045,6 +40387,7 @@ export {
40045
40387
  HeightMode,
40046
40388
  MonitoringType,
40047
40389
  PanelSizeWidth,
40390
+ PanelContentType,
40048
40391
  APP_CONFIG_PATH,
40049
40392
  DASHBOARD_PAGES_DIR,
40050
40393
  DASHBOARD_PLUGINS_DIR,
@@ -40053,6 +40396,7 @@ export {
40053
40396
  SERVICE_PLUGINS_DIR,
40054
40397
  SITE_WIDGETS_DIR,
40055
40398
  SITE_PLUGINS_DIR,
40399
+ RELATIVE_ASSET_PATH_REGEX,
40056
40400
  getBackendOptimizedDir,
40057
40401
  getDashboardPagesDir,
40058
40402
  getDashboardPluginsDir,
@@ -40102,6 +40446,7 @@ export {
40102
40446
  ComponentType2,
40103
40447
  useHttpClient,
40104
40448
  useDevCenterClient,
40449
+ require_mime_types,
40105
40450
  wixCliAppFlowStepsAnswers,
40106
40451
  wixCliAction,
40107
40452
  wixCliAppsFlowTunnelCreationStatusSrc11Evid5233,
@@ -40218,4 +40563,4 @@ mustache/mustache.mjs:
40218
40563
  * http://github.com/janl/mustache.js
40219
40564
  *)
40220
40565
  */
40221
- //# sourceMappingURL=chunk-FMM24YL4.js.map
40566
+ //# sourceMappingURL=chunk-MKPZBVQD.js.map