@wix/cli-app 1.1.71 → 1.1.73

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 (95) hide show
  1. package/build/{CreateVersionCommand-NCNK3B4H.js → CreateVersionCommand-FCCW72OR.js} +14 -14
  2. package/build/{DevCommand-YDLV2KJM.js → DevCommand-MEZJSQNF.js} +12 -12
  3. package/build/{GenerateCommand-MHQOLSPN.js → GenerateCommand-2LLGGJP3.js} +707 -509
  4. package/build/GenerateCommand-2LLGGJP3.js.map +1 -0
  5. package/build/{LogsCommand-727BQUJX.js → LogsCommand-RX7XJGDW.js} +4 -4
  6. package/build/PreviewCommand-R4CKNYGV.js +23 -0
  7. package/build/{ReleaseCommand-VU6V7GEV.js → ReleaseCommand-I4QRSGS4.js} +15 -15
  8. package/build/{ServeCommand-KBS3RLPD.js → ServeCommand-ELSJTRIC.js} +14 -14
  9. package/build/ServeCommand-ELSJTRIC.js.map +1 -0
  10. package/build/{build-E34NPSSH.js → build-DS5D6JSR.js} +33 -14
  11. package/build/build-DS5D6JSR.js.map +1 -0
  12. package/build/{chunk-MRMIQOH4.js → chunk-2QGU64R5.js} +4 -3
  13. package/build/{chunk-DQXLAGEX.js → chunk-4T3TWPYN.js} +2 -2
  14. package/build/{chunk-EAPMWJ4C.js → chunk-5SSFYBVB.js} +60 -35
  15. package/build/chunk-5SSFYBVB.js.map +1 -0
  16. package/build/{chunk-HY44AJBX.js → chunk-7DBU2MOT.js} +10 -3
  17. package/build/chunk-7DBU2MOT.js.map +1 -0
  18. package/build/{chunk-GTZDYTFO.js → chunk-7NMRLTE4.js} +3 -3
  19. package/build/{chunk-A6GRJNEC.js → chunk-BHATQVOE.js} +16 -8
  20. package/build/chunk-BHATQVOE.js.map +1 -0
  21. package/build/{chunk-PZFZCK52.js → chunk-CMCLHAKY.js} +214 -107
  22. package/build/{chunk-PZFZCK52.js.map → chunk-CMCLHAKY.js.map} +1 -1
  23. package/build/{chunk-75XWKPKF.js → chunk-FOUN6JMR.js} +3 -3
  24. package/build/{chunk-JXZFXR5O.js → chunk-LARBBDM6.js} +3 -3
  25. package/build/{chunk-IE6RONCN.js → chunk-N6EVOU72.js} +5 -5
  26. package/build/{chunk-PH2UYNX4.js → chunk-O333IOVL.js} +8 -8
  27. package/build/{chunk-Q2DE27PN.js → chunk-PWHSKMWU.js} +3 -3
  28. package/build/{chunk-G3X4DX2P.js → chunk-PXS7X4U5.js} +8975 -8690
  29. package/build/chunk-PXS7X4U5.js.map +1 -0
  30. package/build/{chunk-FG4PQXAC.js → chunk-QEW5QI3A.js} +3 -3
  31. package/build/{chunk-P7PN4CHV.js → chunk-QQGP63OH.js} +3 -3
  32. package/build/{chunk-N4ETYB2B.js → chunk-RTSR3LLH.js} +5 -5
  33. package/build/{chunk-VVLESE4P.js → chunk-TSO3L2US.js} +4 -2
  34. package/build/chunk-TSO3L2US.js.map +1 -0
  35. package/build/{chunk-4R3KUQGQ.js → chunk-YQF5FOXN.js} +3 -3
  36. package/build/cloudflare-runtime/entry.js +33 -13
  37. package/build/cloudflare-runtime/getRegisteredExtensions.js +33 -13
  38. package/build/index.js +20 -20
  39. package/build/platform-sdk/browser-PMX3IJHS.js +5 -0
  40. package/build/platform-sdk/browser-PMX3IJHS.js.map +1 -0
  41. package/build/platform-sdk/chunk-6NLQHDP6.js +2 -0
  42. package/build/platform-sdk/chunk-6NLQHDP6.js.map +1 -0
  43. package/build/platform-sdk/chunk-BGTZ3RNN.js +2 -0
  44. package/build/platform-sdk/chunk-BGTZ3RNN.js.map +1 -0
  45. package/build/platform-sdk/{chunk-EERHWVVD.js → chunk-XYIDODIB.js} +2 -2
  46. package/build/platform-sdk/dashboard.js +1 -1
  47. package/build/platform-sdk/editor.js +1 -1
  48. package/build/platform-sdk/sdk-context.js +1 -1
  49. package/build/platform-sdk/sdk-context.js.map +1 -1
  50. package/build/platform-sdk/site.js +1 -1
  51. package/build/{preview-NOGUOO4T.js → preview-RYKMQKPO.js} +12 -12
  52. package/build/{render-command-WBYARJYH.js → render-command-MZQF2OKS.js} +6 -6
  53. package/package.json +8 -7
  54. package/templates/blocks-support/dependencies.json +6 -0
  55. package/templates/blocks-widget/files/api.ts.ejs +1 -1
  56. package/templates/blocks-widget/files/widget.ts.ejs +8 -1
  57. package/templates/blocks-widget-panel/files/panel.ts.ejs +10 -1
  58. package/templates/custom-element/dependencies.json +1 -1
  59. package/templates/dashboard-modal/dependencies.json +1 -1
  60. package/templates/site-plugin/dependencies.json +1 -1
  61. package/build/GenerateCommand-MHQOLSPN.js.map +0 -1
  62. package/build/PreviewCommand-RZYVEWL4.js +0 -23
  63. package/build/ServeCommand-KBS3RLPD.js.map +0 -1
  64. package/build/build-E34NPSSH.js.map +0 -1
  65. package/build/chunk-A6GRJNEC.js.map +0 -1
  66. package/build/chunk-EAPMWJ4C.js.map +0 -1
  67. package/build/chunk-G3X4DX2P.js.map +0 -1
  68. package/build/chunk-HY44AJBX.js.map +0 -1
  69. package/build/chunk-VVLESE4P.js.map +0 -1
  70. package/build/platform-sdk/browser-5P5TLLCL.js +0 -5
  71. package/build/platform-sdk/browser-5P5TLLCL.js.map +0 -1
  72. package/build/platform-sdk/chunk-42XIZ4MH.js +0 -2
  73. package/build/platform-sdk/chunk-42XIZ4MH.js.map +0 -1
  74. package/build/platform-sdk/chunk-CR7DIEFQ.js +0 -2
  75. package/build/platform-sdk/chunk-CR7DIEFQ.js.map +0 -1
  76. /package/build/{CreateVersionCommand-NCNK3B4H.js.map → CreateVersionCommand-FCCW72OR.js.map} +0 -0
  77. /package/build/{DevCommand-YDLV2KJM.js.map → DevCommand-MEZJSQNF.js.map} +0 -0
  78. /package/build/{LogsCommand-727BQUJX.js.map → LogsCommand-RX7XJGDW.js.map} +0 -0
  79. /package/build/{PreviewCommand-RZYVEWL4.js.map → PreviewCommand-R4CKNYGV.js.map} +0 -0
  80. /package/build/{ReleaseCommand-VU6V7GEV.js.map → ReleaseCommand-I4QRSGS4.js.map} +0 -0
  81. /package/build/{chunk-MRMIQOH4.js.map → chunk-2QGU64R5.js.map} +0 -0
  82. /package/build/{chunk-DQXLAGEX.js.map → chunk-4T3TWPYN.js.map} +0 -0
  83. /package/build/{chunk-GTZDYTFO.js.map → chunk-7NMRLTE4.js.map} +0 -0
  84. /package/build/{chunk-75XWKPKF.js.map → chunk-FOUN6JMR.js.map} +0 -0
  85. /package/build/{chunk-JXZFXR5O.js.map → chunk-LARBBDM6.js.map} +0 -0
  86. /package/build/{chunk-IE6RONCN.js.map → chunk-N6EVOU72.js.map} +0 -0
  87. /package/build/{chunk-PH2UYNX4.js.map → chunk-O333IOVL.js.map} +0 -0
  88. /package/build/{chunk-Q2DE27PN.js.map → chunk-PWHSKMWU.js.map} +0 -0
  89. /package/build/{chunk-FG4PQXAC.js.map → chunk-QEW5QI3A.js.map} +0 -0
  90. /package/build/{chunk-P7PN4CHV.js.map → chunk-QQGP63OH.js.map} +0 -0
  91. /package/build/{chunk-N4ETYB2B.js.map → chunk-RTSR3LLH.js.map} +0 -0
  92. /package/build/{chunk-4R3KUQGQ.js.map → chunk-YQF5FOXN.js.map} +0 -0
  93. /package/build/platform-sdk/{chunk-EERHWVVD.js.map → chunk-XYIDODIB.js.map} +0 -0
  94. /package/build/{preview-NOGUOO4T.js.map → preview-RYKMQKPO.js.map} +0 -0
  95. /package/build/{render-command-WBYARJYH.js.map → render-command-MZQF2OKS.js.map} +0 -0
@@ -2,23 +2,25 @@ import { createRequire as _createRequire } from 'node:module';
2
2
  const require = _createRequire(import.meta.url);
3
3
  import {
4
4
  createI18nT
5
- } from "./chunk-P7PN4CHV.js";
6
- import "./chunk-HY44AJBX.js";
5
+ } from "./chunk-QQGP63OH.js";
6
+ import "./chunk-7DBU2MOT.js";
7
7
  import {
8
8
  useWixCliAppBi
9
- } from "./chunk-GTZDYTFO.js";
9
+ } from "./chunk-7NMRLTE4.js";
10
10
  import {
11
11
  componentGenerator,
12
+ dependenciesUpdater,
12
13
  require_lodash,
13
14
  useBackendComponents
14
- } from "./chunk-MRMIQOH4.js";
15
+ } from "./chunk-2QGU64R5.js";
15
16
  import {
16
17
  execaCommand
17
18
  } from "./chunk-ZR3N5INU.js";
18
19
  import {
19
20
  require_baseUniq
20
- } from "./chunk-DQXLAGEX.js";
21
+ } from "./chunk-4T3TWPYN.js";
21
22
  import {
23
+ BLOCKS_TYPES_PATH,
22
24
  ComponentType,
23
25
  DASHBOARD_MENU_PLUGINS_DIR,
24
26
  DASHBOARD_PAGES_DIR,
@@ -30,6 +32,7 @@ import {
30
32
  SITE_PLUGINS_DIR,
31
33
  SITE_WIDGETS_DIR,
32
34
  ServicePluginTypeToFolderName,
35
+ TS_CONFIG_FILENAME,
33
36
  WEB_METHOD_DIR,
34
37
  composeValidations,
35
38
  createDashboardRouteValidation,
@@ -46,6 +49,7 @@ import {
46
49
  getServicePluginsFolder,
47
50
  getSitePluginsDir,
48
51
  getSiteWidgetsDir,
52
+ getTSConfigFilePath,
49
53
  pRetry,
50
54
  pathExists,
51
55
  pathValidation,
@@ -55,6 +59,7 @@ import {
55
59
  require_memoize,
56
60
  saveWixConfig,
57
61
  toJsonString,
62
+ tsConfigSchema,
58
63
  useCustomElementDirectoryValidation,
59
64
  useCustomElementNameValidation,
60
65
  useDevCenterClient,
@@ -65,7 +70,7 @@ import {
65
70
  useValidation,
66
71
  uuidValidation,
67
72
  writeJson
68
- } from "./chunk-PZFZCK52.js";
73
+ } from "./chunk-CMCLHAKY.js";
69
74
  import {
70
75
  AsyncCallbackStatus,
71
76
  Box_default,
@@ -90,7 +95,7 @@ import {
90
95
  useAsyncCallback,
91
96
  useTranslation,
92
97
  z
93
- } from "./chunk-VVLESE4P.js";
98
+ } from "./chunk-TSO3L2US.js";
94
99
  import {
95
100
  __commonJS,
96
101
  __dirname,
@@ -117,8 +122,8 @@ init_esm_shims();
117
122
 
118
123
  // src/components/GenerateCommand/GenerateCommand.tsx
119
124
  init_esm_shims();
120
- var import_react25 = __toESM(require_react(), 1);
121
- var import_variant27 = __toESM(require_lib(), 1);
125
+ var import_react27 = __toESM(require_react(), 1);
126
+ var import_variant28 = __toESM(require_lib(), 1);
122
127
 
123
128
  // src/components/GenerateCommand/dashboad-page/DashboardPage.tsx
124
129
  init_esm_shims();
@@ -194,7 +199,7 @@ function createServicePluginValidation(servicePlugins, servicePluginType) {
194
199
  "Plugin name must be unique"
195
200
  ],
196
201
  [
197
- (path14) => path14.length < 20,
202
+ (path15) => path15.length < 20,
198
203
  "Plugin name must be shorter than 20 characters"
199
204
  ],
200
205
  [
@@ -1113,247 +1118,25 @@ var GenerateSidebarCategory = () => {
1113
1118
  )));
1114
1119
  };
1115
1120
 
1116
- // src/components/GenerateCommand/custom-element/CustomElement.tsx
1121
+ // src/components/GenerateCommand/dashboard-modal/DashboardModal.tsx
1117
1122
  init_esm_shims();
1118
1123
  var import_react6 = __toESM(require_react(), 1);
1119
1124
  var import_variant10 = __toESM(require_lib(), 1);
1120
1125
  var import_lodash3 = __toESM(require_lodash(), 1);
1121
1126
 
1122
- // src/components/GenerateCommand/custom-element/generate.ts
1127
+ // src/components/GenerateCommand/dashboard-modal/generate.ts
1123
1128
  init_esm_shims();
1124
1129
  import path5 from "node:path";
1125
1130
  import { randomUUID as randomUUID4 } from "node:crypto";
1126
- var CUSTOM_ELEMENT_TEMPLATE = path5.resolve(
1127
- __dirname,
1128
- "../templates/custom-element"
1129
- );
1130
- async function generateCustomElement(projectFolder, folder, name, dashboardPageId) {
1131
- const readablePath = path5.join(SITE_WIDGETS_DIR, folder);
1132
- const cwd = path5.join(getSiteWidgetsDir(projectFolder), folder);
1133
- const behaviorsConfig = dashboardPageId ? {
1134
- dashboard: {
1135
- dashboardPageComponentId: dashboardPageId
1136
- }
1137
- } : void 0;
1138
- const defaultThumbnailPath = path5.join(
1139
- projectFolder,
1140
- "src/assets",
1141
- folder,
1142
- "thumbnail.png"
1143
- );
1144
- const customElementConfig = {
1145
- $schema: "https://dev.wix.com/wix-cli/schemas/custom-element.json",
1146
- id: randomUUID4(),
1147
- name,
1148
- width: {
1149
- defaultWidth: 450,
1150
- allowStretch: true
1151
- },
1152
- height: {
1153
- defaultHeight: 250
1154
- },
1155
- installation: {
1156
- autoAddToSite: true
1157
- },
1158
- behaviors: behaviorsConfig,
1159
- presets: [
1160
- {
1161
- id: randomUUID4(),
1162
- thumbnailUrl: path5.relative(cwd, defaultThumbnailPath)
1163
- }
1164
- ]
1165
- };
1166
- const customElementConfigJSON = toJsonString(customElementConfig, {
1167
- spaces: 2
1168
- });
1169
- return await componentGenerator({
1170
- template: CUSTOM_ELEMENT_TEMPLATE,
1171
- projectFolder,
1172
- cwd,
1173
- assetsOutputPath: folder,
1174
- data: {
1175
- customElementConfigJSON,
1176
- readablePath,
1177
- name
1178
- }
1179
- });
1180
- }
1181
-
1182
- // src/components/GenerateCommand/custom-element/CustomElement.tsx
1183
- var GenerateCustomElement = () => {
1184
- const bi = useWixCliAppBi();
1185
- const { t: t2 } = useTranslation();
1186
- const { model } = useProjectModel();
1187
- const [elementName, setElementName] = (0, import_react6.useState)();
1188
- const [elementFolder, setElementFolder] = (0, import_react6.useState)();
1189
- const [linkDashboardPage, setLinkDashboardPage] = (0, import_react6.useState)();
1190
- const [generationData, setGenerationData] = (0, import_react6.useState)();
1191
- const validateFolderName = useCustomElementDirectoryValidation("Site widget");
1192
- const validateName = useCustomElementNameValidation();
1193
- const { getExtensions } = useExtensions();
1194
- const [finishedInstallation, setFinishedInstallation] = (0, import_react6.useState)(false);
1195
- const defaultElementFolder = (0, import_lodash3.kebabCase)(elementName);
1196
- const dashboardPages = getExtensions("DashboardPage");
1197
- const dashboardPagesOptions = dashboardPages.map(
1198
- ({ id, title }) => ({
1199
- value: id,
1200
- title
1201
- })
1202
- );
1203
- const dashboardPagesExist = Boolean(dashboardPages.length);
1204
- const extensionType = t2("generate_command.flow.custom_element").toLowerCase();
1205
- const generationTask = useGenerationTask(async () => {
1206
- if (generationData) {
1207
- return generateCustomElement(
1208
- model.projectFolder,
1209
- generationData.folder,
1210
- generationData.name,
1211
- generationData.dashboardPageId
1212
- );
1213
- }
1214
- }, [generationData]);
1215
- return /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, /* @__PURE__ */ import_react6.default.createElement(
1216
- TextInput,
1217
- {
1218
- label: t2("generate_command.custom_element.choose_name"),
1219
- placeholder: t2("generate_command.custom_element.name_placeholder"),
1220
- onSubmit: (value) => {
1221
- bi.cliFlowStepAnswered({
1222
- question: t2("generate_command.custom_element.choose_name"),
1223
- questionKey: "generate_command.custom_element.choose_name",
1224
- answer: value,
1225
- additionalInfo: {
1226
- extensionType
1227
- }
1228
- });
1229
- setElementName(value);
1230
- },
1231
- validate: validateName
1232
- }
1233
- ), elementName && /* @__PURE__ */ import_react6.default.createElement(
1234
- TextInput,
1235
- {
1236
- label: t2("generate_command.custom_element.choose_folder"),
1237
- placeholder: defaultElementFolder,
1238
- onSubmit: (value) => {
1239
- bi.cliFlowStepAnswered({
1240
- question: t2("generate_command.custom_element.choose_folder"),
1241
- questionKey: "generate_command.custom_element.choose_folder",
1242
- answer: value,
1243
- additionalInfo: {
1244
- extensionType
1245
- }
1246
- });
1247
- setElementFolder(value);
1248
- if (!dashboardPagesExist) {
1249
- setGenerationData({
1250
- name: elementName,
1251
- folder: value
1252
- });
1253
- }
1254
- },
1255
- validate: validateFolderName
1256
- }
1257
- ), elementName && elementFolder && dashboardPagesExist && /* @__PURE__ */ import_react6.default.createElement(
1258
- ConfirmInput,
1259
- {
1260
- label: t2("generate_command.custom_element.link_dashboard_page"),
1261
- onSubmit: (shouldLinkDashboardPage) => {
1262
- bi.cliFlowStepAnswered({
1263
- question: t2(
1264
- "generate_command.custom_element.link_dashboard_page"
1265
- ),
1266
- questionKey: "generate_command.custom_element.link_dashboard_page",
1267
- answer: String(shouldLinkDashboardPage),
1268
- additionalInfo: { extensionType }
1269
- });
1270
- setLinkDashboardPage(shouldLinkDashboardPage);
1271
- if (!shouldLinkDashboardPage) {
1272
- setGenerationData({
1273
- name: elementName,
1274
- folder: elementFolder
1275
- });
1276
- }
1277
- }
1278
- }
1279
- ), elementName && elementFolder && dashboardPagesExist && linkDashboardPage && /* @__PURE__ */ import_react6.default.createElement(
1280
- SelectInput,
1281
- {
1282
- label: t2("generate_command.custom_element.choose_dashboard_page"),
1283
- options: dashboardPagesOptions,
1284
- onSubmit: (option) => {
1285
- bi.cliFlowStepAnswered({
1286
- question: t2(
1287
- "generate_command.custom_element.choose_dashboard_page"
1288
- ),
1289
- questionKey: "generate_command.custom_element.choose_dashboard_page",
1290
- answer: option.title,
1291
- additionalInfo: { extensionType }
1292
- });
1293
- setGenerationData({
1294
- name: elementName,
1295
- folder: elementFolder,
1296
- dashboardPageId: option.value
1297
- });
1298
- }
1299
- }
1300
- ), (0, import_react6.useMemo)(
1301
- () => (0, import_variant10.match)(generationTask, {
1302
- Success: ({ hasUpdatedDependencies }) => {
1303
- if (hasUpdatedDependencies) {
1304
- return /* @__PURE__ */ import_react6.default.createElement(
1305
- InstallDependencies,
1306
- {
1307
- onFinish: () => setFinishedInstallation(true)
1308
- }
1309
- );
1310
- }
1311
- setFinishedInstallation(true);
1312
- return null;
1313
- },
1314
- Loading: () => /* @__PURE__ */ import_react6.default.createElement(
1315
- Spinner,
1316
- {
1317
- text: t2("generate_command.generation.loading", {
1318
- subject: extensionType
1319
- })
1320
- }
1321
- ),
1322
- NotRequested: () => null,
1323
- Error: () => null
1324
- }),
1325
- [generationTask, setFinishedInstallation, t2, extensionType]
1326
- ), finishedInstallation && /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, /* @__PURE__ */ import_react6.default.createElement(Text, null, t2("generate_command.generation.done", {
1327
- extensionType
1328
- })), /* @__PURE__ */ import_react6.default.createElement(
1329
- Trans,
1330
- {
1331
- i18nKey: "generate_command.generation.learn_more",
1332
- values: { extensionType },
1333
- components: [/* @__PURE__ */ import_react6.default.createElement(Learn, null), /* @__PURE__ */ import_react6.default.createElement(Link, { url: "https://wix.to/rEfCfbY" })]
1334
- }
1335
- )));
1336
- };
1337
-
1338
- // src/components/GenerateCommand/dashboard-modal/DashboardModal.tsx
1339
- init_esm_shims();
1340
- var import_react7 = __toESM(require_react(), 1);
1341
- var import_variant11 = __toESM(require_lib(), 1);
1342
- var import_lodash4 = __toESM(require_lodash(), 1);
1343
-
1344
- // src/components/GenerateCommand/dashboard-modal/generate.ts
1345
- init_esm_shims();
1346
- import path6 from "node:path";
1347
- import { randomUUID as randomUUID5 } from "node:crypto";
1348
- var DASHBOARD_MODAL_TEMPLATE = path6.resolve(
1131
+ var DASHBOARD_MODAL_TEMPLATE = path5.resolve(
1349
1132
  __dirname,
1350
1133
  "../templates/dashboard-modal"
1351
1134
  );
1352
1135
  async function generateDashboardModal(projectFolder, route, title) {
1353
- const cwd = path6.join(getDashboardModalsDir(projectFolder), route);
1136
+ const cwd = path5.join(getDashboardModalsDir(projectFolder), route);
1354
1137
  const modalConfig = {
1355
1138
  $schema: "https://dev.wix.com/wix-cli/schemas/dashboard-modal.json",
1356
- id: randomUUID5(),
1139
+ id: randomUUID4(),
1357
1140
  title,
1358
1141
  width: 550,
1359
1142
  height: 600
@@ -1382,10 +1165,10 @@ var GenerateDashboardModal = () => {
1382
1165
  "generate_command.flow.dashboard_modal"
1383
1166
  ).toLowerCase();
1384
1167
  const dashboardModals = getExtensions("DashboardModal");
1385
- const [modalFolder, setModalFolder] = (0, import_react7.useState)();
1386
- const [modalTitle, setModalTitle] = (0, import_react7.useState)();
1387
- const [finishedInstallation, setFinishedInstallation] = (0, import_react7.useState)(false);
1388
- const defaultModalFolder = (0, import_lodash4.kebabCase)(modalTitle);
1168
+ const [modalFolder, setModalFolder] = (0, import_react6.useState)();
1169
+ const [modalTitle, setModalTitle] = (0, import_react6.useState)();
1170
+ const [finishedInstallation, setFinishedInstallation] = (0, import_react6.useState)(false);
1171
+ const defaultModalFolder = (0, import_lodash3.kebabCase)(modalTitle);
1389
1172
  const modalQuestionsAnswered = modalFolder && modalTitle;
1390
1173
  const validateDashboardFolder = useValidation(
1391
1174
  composeValidations([
@@ -1412,7 +1195,7 @@ var GenerateDashboardModal = () => {
1412
1195
  }
1413
1196
  return generateDashboardModal(model.projectFolder, modalFolder, modalTitle);
1414
1197
  }, [modalQuestionsAnswered]);
1415
- return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(
1198
+ return /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, /* @__PURE__ */ import_react6.default.createElement(
1416
1199
  TextInput,
1417
1200
  {
1418
1201
  label: t2("generate_command.dashboard_modal.choose_title"),
@@ -1427,7 +1210,7 @@ var GenerateDashboardModal = () => {
1427
1210
  setModalTitle(modalTitle2);
1428
1211
  }
1429
1212
  }
1430
- ), modalTitle && /* @__PURE__ */ import_react7.default.createElement(
1213
+ ), modalTitle && /* @__PURE__ */ import_react6.default.createElement(
1431
1214
  TextInput,
1432
1215
  {
1433
1216
  label: t2("generate_command.dashboard_modal.choose_folder"),
@@ -1443,11 +1226,11 @@ var GenerateDashboardModal = () => {
1443
1226
  },
1444
1227
  validate: validateDashboardFolder
1445
1228
  }
1446
- ), (0, import_react7.useMemo)(
1447
- () => (0, import_variant11.match)(generationTask, {
1229
+ ), (0, import_react6.useMemo)(
1230
+ () => (0, import_variant10.match)(generationTask, {
1448
1231
  Success: ({ hasUpdatedDependencies }) => {
1449
1232
  if (hasUpdatedDependencies) {
1450
- return /* @__PURE__ */ import_react7.default.createElement(
1233
+ return /* @__PURE__ */ import_react6.default.createElement(
1451
1234
  InstallDependencies,
1452
1235
  {
1453
1236
  onFinish: () => setFinishedInstallation(true)
@@ -1457,7 +1240,7 @@ var GenerateDashboardModal = () => {
1457
1240
  setFinishedInstallation(true);
1458
1241
  return null;
1459
1242
  },
1460
- Loading: () => /* @__PURE__ */ import_react7.default.createElement(
1243
+ Loading: () => /* @__PURE__ */ import_react6.default.createElement(
1461
1244
  Spinner,
1462
1245
  {
1463
1246
  text: t2("generate_command.generation.loading", {
@@ -1469,14 +1252,14 @@ var GenerateDashboardModal = () => {
1469
1252
  NotRequested: () => null
1470
1253
  }),
1471
1254
  [generationTask, setFinishedInstallation, t2, extensionType, modalFolder]
1472
- ), finishedInstallation && /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(Text, null, t2("generate_command.generation.done", {
1255
+ ), finishedInstallation && /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, /* @__PURE__ */ import_react6.default.createElement(Text, null, t2("generate_command.generation.done", {
1473
1256
  extensionType
1474
- })), /* @__PURE__ */ import_react7.default.createElement(
1257
+ })), /* @__PURE__ */ import_react6.default.createElement(
1475
1258
  Trans,
1476
1259
  {
1477
1260
  i18nKey: "generate_command.generation.learn_more",
1478
1261
  values: { extensionType },
1479
- components: [/* @__PURE__ */ import_react7.default.createElement(Learn, null), /* @__PURE__ */ import_react7.default.createElement(Link, { url: "https://wix.to/zh5ZfMK" })]
1262
+ components: [/* @__PURE__ */ import_react6.default.createElement(Learn, null), /* @__PURE__ */ import_react6.default.createElement(Link, { url: "https://wix.to/zh5ZfMK" })]
1480
1263
  }
1481
1264
  )));
1482
1265
  };
@@ -1486,31 +1269,31 @@ init_esm_shims();
1486
1269
 
1487
1270
  // src/components/GenerateCommand/service-plugin/ServicePlugin.tsx
1488
1271
  init_esm_shims();
1489
- var import_react8 = __toESM(require_react(), 1);
1490
- var import_variant13 = __toESM(require_lib(), 1);
1272
+ var import_react7 = __toESM(require_react(), 1);
1273
+ var import_variant12 = __toESM(require_lib(), 1);
1491
1274
 
1492
1275
  // src/components/GenerateCommand/service-plugin/generate.ts
1493
1276
  init_esm_shims();
1494
- import path7 from "node:path";
1495
- import { randomUUID as randomUUID6 } from "node:crypto";
1496
- var import_variant12 = __toESM(require_lib(), 1);
1497
- var SERVICE_PLUGIN_TEMPLATE = path7.resolve(
1277
+ import path6 from "node:path";
1278
+ import { randomUUID as randomUUID5 } from "node:crypto";
1279
+ var import_variant11 = __toESM(require_lib(), 1);
1280
+ var SERVICE_PLUGIN_TEMPLATE = path6.resolve(
1498
1281
  __dirname,
1499
1282
  "../templates/service-plugin"
1500
1283
  );
1501
1284
  async function generateServicePlugin(projectFolder, servicePluginType, name) {
1502
1285
  const servicePluginTypeLower = ServicePluginTypeToFolderName(servicePluginType);
1503
- const cwd = path7.join(
1286
+ const cwd = path6.join(
1504
1287
  getServicePluginsFolder(projectFolder),
1505
1288
  servicePluginTypeLower,
1506
1289
  name
1507
1290
  );
1508
1291
  const servicePluginConfigBase = {
1509
1292
  $schema: `https://dev.wix.com/wix-cli/schemas/${servicePluginTypeLower}.json`,
1510
- id: randomUUID6(),
1293
+ id: randomUUID5(),
1511
1294
  name
1512
1295
  };
1513
- const servicePluginConfig = (0, import_variant12.match)(servicePluginType, {
1296
+ const servicePluginConfig = (0, import_variant11.match)(servicePluginType, {
1514
1297
  ECOM_ADDITIONAL_FEES: () => ({}),
1515
1298
  ECOM_SHIPPING_RATES: () => ({
1516
1299
  name: "Shipping Rates Provider",
@@ -1533,7 +1316,7 @@ async function generateServicePlugin(projectFolder, servicePluginType, name) {
1533
1316
  }
1534
1317
  );
1535
1318
  return await componentGenerator({
1536
- template: path7.join(SERVICE_PLUGIN_TEMPLATE, servicePluginTypeLower),
1319
+ template: path6.join(SERVICE_PLUGIN_TEMPLATE, servicePluginTypeLower),
1537
1320
  projectFolder,
1538
1321
  cwd,
1539
1322
  data: {
@@ -1548,10 +1331,10 @@ var GenerateServicePlugin = () => {
1548
1331
  const { t: t2 } = useTranslation();
1549
1332
  const { model } = useProjectModel();
1550
1333
  const { getExtensions } = useExtensions();
1551
- const [type, setType] = (0, import_react8.useState)();
1552
- const [name, setName] = (0, import_react8.useState)();
1553
- const [finishedInstallation, setFinishedInstallation] = (0, import_react8.useState)(false);
1554
- const generateServicePluginOptions = (0, import_react8.useMemo)(
1334
+ const [type, setType] = (0, import_react7.useState)();
1335
+ const [name, setName] = (0, import_react7.useState)();
1336
+ const [finishedInstallation, setFinishedInstallation] = (0, import_react7.useState)(false);
1337
+ const generateServicePluginOptions = (0, import_react7.useMemo)(
1555
1338
  () => [
1556
1339
  {
1557
1340
  title: t2("generate_command.service_plugin.groups.stores"),
@@ -1588,7 +1371,7 @@ var GenerateServicePlugin = () => {
1588
1371
  [t2]
1589
1372
  );
1590
1373
  const extensionType = t2("generate_command.flow.service_plugin").toLowerCase();
1591
- const selectSupportedServicePlugin = (0, import_react8.useCallback)(
1374
+ const selectSupportedServicePlugin = (0, import_react7.useCallback)(
1592
1375
  (supportedServicePlugin) => {
1593
1376
  bi.cliFlowStepAnswered({
1594
1377
  question: t2("generate_command.service_plugin.choose_type"),
@@ -1612,7 +1395,7 @@ var GenerateServicePlugin = () => {
1612
1395
  return result;
1613
1396
  }
1614
1397
  }, [name, type]);
1615
- return /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, /* @__PURE__ */ import_react8.default.createElement(
1398
+ return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(
1616
1399
  SelectGroupsInput,
1617
1400
  {
1618
1401
  label: t2("generate_command.service_plugin.choose_type"),
@@ -1620,7 +1403,7 @@ var GenerateServicePlugin = () => {
1620
1403
  onSubmit: selectSupportedServicePlugin,
1621
1404
  maxHeight: 14
1622
1405
  }
1623
- ), type && /* @__PURE__ */ import_react8.default.createElement(
1406
+ ), type && /* @__PURE__ */ import_react7.default.createElement(
1624
1407
  TextInput,
1625
1408
  {
1626
1409
  label: t2("generate_command.service_plugin.choose_name"),
@@ -1636,11 +1419,11 @@ var GenerateServicePlugin = () => {
1636
1419
  },
1637
1420
  validate: validateServicePluginFolder
1638
1421
  }
1639
- ), (0, import_react8.useMemo)(
1640
- () => (0, import_variant13.match)(generationTask, {
1422
+ ), (0, import_react7.useMemo)(
1423
+ () => (0, import_variant12.match)(generationTask, {
1641
1424
  Success: ({ hasUpdatedDependencies }) => {
1642
1425
  if (hasUpdatedDependencies) {
1643
- return /* @__PURE__ */ import_react8.default.createElement(
1426
+ return /* @__PURE__ */ import_react7.default.createElement(
1644
1427
  InstallDependencies,
1645
1428
  {
1646
1429
  onFinish: () => setFinishedInstallation(true)
@@ -1650,7 +1433,7 @@ var GenerateServicePlugin = () => {
1650
1433
  setFinishedInstallation(true);
1651
1434
  return null;
1652
1435
  },
1653
- Loading: () => /* @__PURE__ */ import_react8.default.createElement(
1436
+ Loading: () => /* @__PURE__ */ import_react7.default.createElement(
1654
1437
  Spinner,
1655
1438
  {
1656
1439
  text: t2("generate_command.generation.loading", {
@@ -1662,42 +1445,42 @@ var GenerateServicePlugin = () => {
1662
1445
  NotRequested: () => null
1663
1446
  }),
1664
1447
  [generationTask, setFinishedInstallation, extensionType, t2]
1665
- ), finishedInstallation && /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, /* @__PURE__ */ import_react8.default.createElement(Text, null, t2("generate_command.generation.done", {
1448
+ ), finishedInstallation && /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(Text, null, t2("generate_command.generation.done", {
1666
1449
  extensionType
1667
- })), /* @__PURE__ */ import_react8.default.createElement(
1450
+ })), /* @__PURE__ */ import_react7.default.createElement(
1668
1451
  Trans,
1669
1452
  {
1670
1453
  i18nKey: "generate_command.generation.learn_more",
1671
1454
  values: { extensionType },
1672
- components: [/* @__PURE__ */ import_react8.default.createElement(Learn, null), /* @__PURE__ */ import_react8.default.createElement(Link, { url: "https://wix.to/YWyluDf" })]
1455
+ components: [/* @__PURE__ */ import_react7.default.createElement(Learn, null), /* @__PURE__ */ import_react7.default.createElement(Link, { url: "https://wix.to/YWyluDf" })]
1673
1456
  }
1674
1457
  )));
1675
1458
  };
1676
1459
 
1677
1460
  // src/components/GenerateCommand/dashboard-plugin/DashboardPlugin.tsx
1678
1461
  init_esm_shims();
1679
- var import_react13 = __toESM(require_react(), 1);
1680
- var import_variant17 = __toESM(require_lib(), 1);
1462
+ var import_react12 = __toESM(require_react(), 1);
1463
+ var import_variant16 = __toESM(require_lib(), 1);
1681
1464
 
1682
1465
  // src/components/GenerateCommand/dashboard-plugin/DashboardPluginWizard.tsx
1683
1466
  init_esm_shims();
1684
- var import_react12 = __toESM(require_react(), 1);
1685
- var import_variant16 = __toESM(require_lib(), 1);
1686
- var import_lodash5 = __toESM(require_lodash(), 1);
1467
+ var import_react11 = __toESM(require_react(), 1);
1468
+ var import_variant15 = __toESM(require_lib(), 1);
1469
+ var import_lodash4 = __toESM(require_lodash(), 1);
1687
1470
 
1688
1471
  // src/components/GenerateCommand/dashboard-plugin/generate.ts
1689
1472
  init_esm_shims();
1690
- import path8 from "node:path";
1691
- import { randomUUID as randomUUID7 } from "node:crypto";
1692
- var DASHBOARD_PLUGIN_TEMPLATE = path8.resolve(
1473
+ import path7 from "node:path";
1474
+ import { randomUUID as randomUUID6 } from "node:crypto";
1475
+ var DASHBOARD_PLUGIN_TEMPLATE = path7.resolve(
1693
1476
  __dirname,
1694
1477
  "../templates/dashboard-plugin"
1695
1478
  );
1696
1479
  async function generateDashboardPlugin(projectFolder, extended, folder, title, params) {
1697
- const cwd = path8.join(getDashboardPluginsDir(projectFolder), folder);
1480
+ const cwd = path7.join(getDashboardPluginsDir(projectFolder), folder);
1698
1481
  const pluginConfig = {
1699
1482
  $schema: "https://dev.wix.com/wix-cli/schemas/dashboard-plugin.json",
1700
- id: randomUUID7(),
1483
+ id: randomUUID6(),
1701
1484
  title,
1702
1485
  extends: extended
1703
1486
  };
@@ -1715,8 +1498,8 @@ async function generateDashboardPlugin(projectFolder, extended, folder, title, p
1715
1498
 
1716
1499
  // src/components/GenerateCommand/AppRequirement.tsx
1717
1500
  init_esm_shims();
1718
- var import_react9 = __toESM(require_react(), 1);
1719
- var import_variant14 = __toESM(require_lib(), 1);
1501
+ var import_react8 = __toESM(require_react(), 1);
1502
+ var import_variant13 = __toESM(require_lib(), 1);
1720
1503
  var AppRequirement = ({
1721
1504
  appId,
1722
1505
  requiredApps,
@@ -1743,9 +1526,9 @@ var AppRequirement = ({
1743
1526
  }
1744
1527
  return appsToRequire;
1745
1528
  }, []);
1746
- const handleSubmit = (0, import_react9.useCallback)(
1529
+ const handleSubmit = (0, import_react8.useCallback)(
1747
1530
  (shouldRequire) => {
1748
- if ((0, import_variant14.isType)(status, "Success")) {
1531
+ if ((0, import_variant13.isType)(status, "Success")) {
1749
1532
  bi.cliFlowStepAnswered({
1750
1533
  question: t2("generate_command.required_app", {
1751
1534
  appsNames: status.result.map((requiredApp) => requiredApp.name).join(", ")
@@ -1765,37 +1548,37 @@ var AppRequirement = ({
1765
1548
  },
1766
1549
  [bi, onSubmit, t2, status]
1767
1550
  );
1768
- return /* @__PURE__ */ import_react9.default.createElement(import_react9.default.Fragment, null, (0, import_variant14.match)(status, {
1769
- Success: ({ result: appsToRequire }) => appsToRequire.length > 0 && /* @__PURE__ */ import_react9.default.createElement(Box_default, { marginBottom: 1 }, /* @__PURE__ */ import_react9.default.createElement(
1551
+ return /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, (0, import_variant13.match)(status, {
1552
+ Success: ({ result: appsToRequire }) => appsToRequire.length > 0 && /* @__PURE__ */ import_react8.default.createElement(Box_default, { marginBottom: 1 }, /* @__PURE__ */ import_react8.default.createElement(
1770
1553
  ConfirmInput,
1771
1554
  {
1772
1555
  label: t2("generate_command.required_app", {
1773
1556
  appsNames: appsToRequire.map((requiredApp) => requiredApp.name).join(", ")
1774
1557
  }),
1775
- info: /* @__PURE__ */ import_react9.default.createElement(
1558
+ info: /* @__PURE__ */ import_react8.default.createElement(
1776
1559
  Trans,
1777
1560
  {
1778
1561
  i18nKey: "generate_command.required_app.description",
1779
1562
  values: {
1780
1563
  appsNames: appsToRequire.map((requiredApp) => requiredApp.name).join(", ")
1781
1564
  },
1782
- components: [/* @__PURE__ */ import_react9.default.createElement(Link, { url: "https://wix.to/YAydHiJ" })]
1565
+ components: [/* @__PURE__ */ import_react8.default.createElement(Link, { url: "https://wix.to/YAydHiJ" })]
1783
1566
  }
1784
1567
  ),
1785
1568
  onSubmit: handleSubmit
1786
1569
  }
1787
1570
  )),
1788
- Loading: () => /* @__PURE__ */ import_react9.default.createElement(Spinner, null),
1571
+ Loading: () => /* @__PURE__ */ import_react8.default.createElement(Spinner, null),
1789
1572
  Error: () => null
1790
1573
  }));
1791
1574
  };
1792
1575
 
1793
1576
  // src/components/GenerateCommand/MultipleAppRequirement.tsx
1794
1577
  init_esm_shims();
1795
- var import_react10 = __toESM(require_react(), 1);
1796
- var import_variant15 = __toESM(require_lib(), 1);
1797
- var RequiredAppOptions = (0, import_variant15.variant)({
1798
- Available: (0, import_variant15.fields)(),
1578
+ var import_react9 = __toESM(require_react(), 1);
1579
+ var import_variant14 = __toESM(require_lib(), 1);
1580
+ var RequiredAppOptions = (0, import_variant14.variant)({
1581
+ Available: (0, import_variant14.fields)(),
1799
1582
  FailedToGetRequiredApps: {}
1800
1583
  });
1801
1584
  var MultipleAppRequirement = ({
@@ -1807,7 +1590,7 @@ var MultipleAppRequirement = ({
1807
1590
  const { t: t2 } = useTranslation();
1808
1591
  const { getRequiredApps } = useDevCenterClient();
1809
1592
  const { reportError } = useErrorReporter();
1810
- const handleSubmit = (0, import_react10.useCallback)(
1593
+ const handleSubmit = (0, import_react9.useCallback)(
1811
1594
  (option) => {
1812
1595
  bi.cliFlowStepAnswered({
1813
1596
  question: t2("generate_command.required_business_solution"),
@@ -1841,12 +1624,12 @@ var MultipleAppRequirement = ({
1841
1624
  value: ""
1842
1625
  });
1843
1626
  const initialIndex = options.findIndex(
1844
- (_) => !(0, import_variant15.isType)(_.availability, SelectOptionAvailability.Disabled)
1627
+ (_) => !(0, import_variant14.isType)(_.availability, SelectOptionAvailability.Disabled)
1845
1628
  );
1846
1629
  return RequiredAppOptions.Available({ options, initialIndex });
1847
1630
  }, [getRequiredApps, appId]);
1848
- return /* @__PURE__ */ import_react10.default.createElement(import_react10.default.Fragment, null, (0, import_variant15.match)(status, {
1849
- Loading: () => /* @__PURE__ */ import_react10.default.createElement(
1631
+ return /* @__PURE__ */ import_react9.default.createElement(import_react9.default.Fragment, null, (0, import_variant14.match)(status, {
1632
+ Loading: () => /* @__PURE__ */ import_react9.default.createElement(
1850
1633
  Spinner,
1851
1634
  {
1852
1635
  text: t2("generate_command.required_business_solution.loading")
@@ -1854,8 +1637,8 @@ var MultipleAppRequirement = ({
1854
1637
  ),
1855
1638
  Error: () => null,
1856
1639
  Success: ({ result }) => {
1857
- return (0, import_variant15.match)(result, {
1858
- Available: ({ options, initialIndex }) => /* @__PURE__ */ import_react10.default.createElement(
1640
+ return (0, import_variant14.match)(result, {
1641
+ Available: ({ options, initialIndex }) => /* @__PURE__ */ import_react9.default.createElement(
1859
1642
  SelectInput,
1860
1643
  {
1861
1644
  label: t2("generate_command.required_business_solution"),
@@ -1867,18 +1650,18 @@ var MultipleAppRequirement = ({
1867
1650
  onSubmit: handleSubmit
1868
1651
  }
1869
1652
  ),
1870
- FailedToGetRequiredApps: () => /* @__PURE__ */ import_react10.default.createElement(Box_default, { marginBottom: 1, gap: 1, flexDirection: "column" }, /* @__PURE__ */ import_react10.default.createElement(InputLabel, null, t2("generate_command.required_business_solution")), /* @__PURE__ */ import_react10.default.createElement(
1653
+ FailedToGetRequiredApps: () => /* @__PURE__ */ import_react9.default.createElement(Box_default, { marginBottom: 1, gap: 1, flexDirection: "column" }, /* @__PURE__ */ import_react9.default.createElement(InputLabel, null, t2("generate_command.required_business_solution")), /* @__PURE__ */ import_react9.default.createElement(
1871
1654
  ErrorDetails,
1872
1655
  {
1873
1656
  message: t2(
1874
1657
  "generate_command.required_business_solution.error"
1875
1658
  ),
1876
- hint: /* @__PURE__ */ import_react10.default.createElement(
1659
+ hint: /* @__PURE__ */ import_react9.default.createElement(
1877
1660
  Trans,
1878
1661
  {
1879
1662
  i18nKey: "generate_command.required_business_solution.error.hint",
1880
1663
  components: [
1881
- /* @__PURE__ */ import_react10.default.createElement(
1664
+ /* @__PURE__ */ import_react9.default.createElement(
1882
1665
  Link,
1883
1666
  {
1884
1667
  url: `https://manage.wix.com/apps/${appId}/dev-center-giza-market-listing/app-audience?referralInfo=wix-cli`
@@ -1896,7 +1679,7 @@ var MultipleAppRequirement = ({
1896
1679
 
1897
1680
  // src/components/GenerateCommand/dashboard-plugin/DashboardPluginGeneratedNote.tsx
1898
1681
  init_esm_shims();
1899
- var import_react11 = __toESM(require_react(), 1);
1682
+ var import_react10 = __toESM(require_react(), 1);
1900
1683
  var customGroupMessages = /* @__PURE__ */ new Map([
1901
1684
  ["Wix eCommerce", "generate_command.generation.ecommerce_notification"]
1902
1685
  ]);
@@ -1906,12 +1689,12 @@ var DashboardPluginGeneratedNote = ({ backofficeExtensionWidget }) => {
1906
1689
  "generate_command.flow.dashboard_plugin"
1907
1690
  ).toLowerCase();
1908
1691
  const customKey = customGroupMessages.get(backofficeExtensionWidget.category);
1909
- return /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement(Text, null, t2("generate_command.generation.done", { extensionType })), customKey ? /* @__PURE__ */ import_react11.default.createElement(Text, null, t2(customKey)) : null, /* @__PURE__ */ import_react11.default.createElement(
1692
+ return /* @__PURE__ */ import_react10.default.createElement(import_react10.default.Fragment, null, /* @__PURE__ */ import_react10.default.createElement(Text, null, t2("generate_command.generation.done", { extensionType })), customKey ? /* @__PURE__ */ import_react10.default.createElement(Text, null, t2(customKey)) : null, /* @__PURE__ */ import_react10.default.createElement(
1910
1693
  Trans,
1911
1694
  {
1912
1695
  i18nKey: "generate_command.generation.learn_more",
1913
1696
  values: { extensionType },
1914
- components: [/* @__PURE__ */ import_react11.default.createElement(Learn, null), /* @__PURE__ */ import_react11.default.createElement(Link, { url: "https://wix.to/dFFuEki" })]
1697
+ components: [/* @__PURE__ */ import_react10.default.createElement(Learn, null), /* @__PURE__ */ import_react10.default.createElement(Link, { url: "https://wix.to/dFFuEki" })]
1915
1698
  }
1916
1699
  ));
1917
1700
  };
@@ -1920,7 +1703,7 @@ var DashboardPluginGeneratedNote = ({ backofficeExtensionWidget }) => {
1920
1703
  var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
1921
1704
  const bi = useWixCliAppBi();
1922
1705
  const { t: t2 } = useTranslation();
1923
- const [backofficeExtensionWidget, setBackofficeExtensionWidget] = (0, import_react12.useState)();
1706
+ const [backofficeExtensionWidget, setBackofficeExtensionWidget] = (0, import_react11.useState)();
1924
1707
  const { addRequiredApp } = useDevCenterClient();
1925
1708
  const { model } = useProjectModel();
1926
1709
  const { getExtensions } = useExtensions();
@@ -1928,11 +1711,11 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
1928
1711
  "generate_command.flow.dashboard_plugin"
1929
1712
  ).toLowerCase();
1930
1713
  const dashboardPlugins = getExtensions("DashboardPlugin");
1931
- const [folder, setFolder] = (0, import_react12.useState)();
1932
- const [title, setTitle] = (0, import_react12.useState)();
1933
- const [requireAppsIds, setRequireAppsIds] = (0, import_react12.useState)();
1934
- const [finishedInstallation, setFinishedInstallation] = (0, import_react12.useState)(false);
1935
- const defaultFolderName = (0, import_lodash5.kebabCase)(title);
1714
+ const [folder, setFolder] = (0, import_react11.useState)();
1715
+ const [title, setTitle] = (0, import_react11.useState)();
1716
+ const [requireAppsIds, setRequireAppsIds] = (0, import_react11.useState)();
1717
+ const [finishedInstallation, setFinishedInstallation] = (0, import_react11.useState)(false);
1718
+ const defaultFolderName = (0, import_lodash4.kebabCase)(title);
1936
1719
  const validatePluginFolder = useValidation(
1937
1720
  createDashboardPluginValidation(dashboardPlugins)
1938
1721
  );
@@ -1954,7 +1737,7 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
1954
1737
  );
1955
1738
  }
1956
1739
  }, [backofficeExtensionWidget?.id, folder, title, requireAppsIds]);
1957
- const extensionGroups = (0, import_react12.useMemo)(
1740
+ const extensionGroups = (0, import_react11.useMemo)(
1958
1741
  () => Object.values(
1959
1742
  backofficeExtensionWidgets.reduce((extensionsByApps, extension) => {
1960
1743
  const [requiredApp] = extension.requiredApps;
@@ -1963,11 +1746,11 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
1963
1746
  extensionsByApps[groupBy].items.push({
1964
1747
  title: extension.name,
1965
1748
  key: extension.id,
1966
- description: /* @__PURE__ */ import_react12.default.createElement(
1749
+ description: /* @__PURE__ */ import_react11.default.createElement(
1967
1750
  Trans,
1968
1751
  {
1969
1752
  i18nKey: "generate_command.dashboard_plugin.what_to_extend.item_description",
1970
- components: [/* @__PURE__ */ import_react12.default.createElement(Link, { url: requiredApp.docsUrl })]
1753
+ components: [/* @__PURE__ */ import_react11.default.createElement(Link, { url: requiredApp.docsUrl })]
1971
1754
  }
1972
1755
  ),
1973
1756
  value: extension
@@ -1977,15 +1760,15 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
1977
1760
  ),
1978
1761
  [backofficeExtensionWidgets]
1979
1762
  );
1980
- return /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null, /* @__PURE__ */ import_react12.default.createElement(
1763
+ return /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement(
1981
1764
  SelectGroupsInput,
1982
1765
  {
1983
1766
  label: t2("generate_command.dashboard_plugin.what_to_extend"),
1984
- info: /* @__PURE__ */ import_react12.default.createElement(
1767
+ info: /* @__PURE__ */ import_react11.default.createElement(
1985
1768
  Trans,
1986
1769
  {
1987
1770
  i18nKey: "generate_command.dashboard_plugin.what_to_extend.description",
1988
- components: [/* @__PURE__ */ import_react12.default.createElement(Link, { url: "https://wix.to/ZeCt07g" })]
1771
+ components: [/* @__PURE__ */ import_react11.default.createElement(Link, { url: "https://wix.to/ZeCt07g" })]
1989
1772
  }
1990
1773
  ),
1991
1774
  hideScroll: true,
@@ -2000,7 +1783,7 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
2000
1783
  setBackofficeExtensionWidget(option.value);
2001
1784
  }
2002
1785
  }
2003
- ), backofficeExtensionWidget && (backofficeExtensionWidget.requiredApps.length === 1 ? /* @__PURE__ */ import_react12.default.createElement(
1786
+ ), backofficeExtensionWidget && (backofficeExtensionWidget.requiredApps.length === 1 ? /* @__PURE__ */ import_react11.default.createElement(
2004
1787
  AppRequirement,
2005
1788
  {
2006
1789
  appId: model.config.appId,
@@ -2012,7 +1795,7 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
2012
1795
  ],
2013
1796
  onSubmit: setRequireAppsIds
2014
1797
  }
2015
- ) : /* @__PURE__ */ import_react12.default.createElement(
1798
+ ) : /* @__PURE__ */ import_react11.default.createElement(
2016
1799
  MultipleAppRequirement,
2017
1800
  {
2018
1801
  appId: model.config.appId,
@@ -2024,7 +1807,7 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
2024
1807
  ),
2025
1808
  onSubmit: setRequireAppsIds
2026
1809
  }
2027
- )), requireAppsIds && /* @__PURE__ */ import_react12.default.createElement(
1810
+ )), requireAppsIds && /* @__PURE__ */ import_react11.default.createElement(
2028
1811
  TextInput,
2029
1812
  {
2030
1813
  label: t2("generate_command.dashboard_plugin.choose_title"),
@@ -2039,7 +1822,7 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
2039
1822
  setTitle(value);
2040
1823
  }
2041
1824
  }
2042
- ), title && /* @__PURE__ */ import_react12.default.createElement(
1825
+ ), title && /* @__PURE__ */ import_react11.default.createElement(
2043
1826
  TextInput,
2044
1827
  {
2045
1828
  label: t2("generate_command.dashboard_plugin.choose_folder"),
@@ -2055,11 +1838,11 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
2055
1838
  },
2056
1839
  validate: validatePluginFolder
2057
1840
  }
2058
- ), (0, import_react12.useMemo)(
2059
- () => (0, import_variant16.match)(generationTask, {
1841
+ ), (0, import_react11.useMemo)(
1842
+ () => (0, import_variant15.match)(generationTask, {
2060
1843
  Success: ({ hasUpdatedDependencies }) => {
2061
1844
  if (hasUpdatedDependencies) {
2062
- return /* @__PURE__ */ import_react12.default.createElement(
1845
+ return /* @__PURE__ */ import_react11.default.createElement(
2063
1846
  InstallDependencies,
2064
1847
  {
2065
1848
  onFinish: () => setFinishedInstallation(true)
@@ -2069,7 +1852,7 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
2069
1852
  setFinishedInstallation(true);
2070
1853
  return null;
2071
1854
  },
2072
- Loading: () => /* @__PURE__ */ import_react12.default.createElement(
1855
+ Loading: () => /* @__PURE__ */ import_react11.default.createElement(
2073
1856
  Spinner,
2074
1857
  {
2075
1858
  text: t2("generate_command.generation.loading", {
@@ -2081,7 +1864,7 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
2081
1864
  NotRequested: () => null
2082
1865
  }),
2083
1866
  [generationTask, setFinishedInstallation, t2, extensionType]
2084
- ), finishedInstallation && backofficeExtensionWidget ? /* @__PURE__ */ import_react12.default.createElement(
1867
+ ), finishedInstallation && backofficeExtensionWidget ? /* @__PURE__ */ import_react11.default.createElement(
2085
1868
  DashboardPluginGeneratedNote,
2086
1869
  {
2087
1870
  backofficeExtensionWidget
@@ -2093,10 +1876,10 @@ var DashboardPluginWizard = ({ backofficeExtensionWidgets }) => {
2093
1876
  var DashboardPlugin = () => {
2094
1877
  const { t: t2 } = useTranslation();
2095
1878
  const { status } = useAsync(getBackofficeExtensionWidgets, []);
2096
- return (0, import_variant17.match)(status, {
1879
+ return (0, import_variant16.match)(status, {
2097
1880
  Error: () => null,
2098
- Loading: () => /* @__PURE__ */ import_react13.default.createElement(Spinner, { text: t2("general.loading") }),
2099
- Success: ({ result: backofficeExtensionWidgets }) => /* @__PURE__ */ import_react13.default.createElement(
1881
+ Loading: () => /* @__PURE__ */ import_react12.default.createElement(Spinner, { text: t2("general.loading") }),
1882
+ Success: ({ result: backofficeExtensionWidgets }) => /* @__PURE__ */ import_react12.default.createElement(
2100
1883
  DashboardPluginWizard,
2101
1884
  {
2102
1885
  backofficeExtensionWidgets
@@ -2107,28 +1890,28 @@ var DashboardPlugin = () => {
2107
1890
 
2108
1891
  // src/components/GenerateCommand/dashboad-menu-plugin/DashboardMenuPlugin.tsx
2109
1892
  init_esm_shims();
2110
- var import_react18 = __toESM(require_react(), 1);
2111
- var import_variant21 = __toESM(require_lib(), 1);
1893
+ var import_react17 = __toESM(require_react(), 1);
1894
+ var import_variant20 = __toESM(require_lib(), 1);
2112
1895
 
2113
1896
  // src/components/GenerateCommand/dashboad-menu-plugin/DashboardMenuPluginWizard.tsx
2114
1897
  init_esm_shims();
2115
- var import_react17 = __toESM(require_react(), 1);
2116
- var import_variant20 = __toESM(require_lib(), 1);
2117
- var import_lodash6 = __toESM(require_lodash(), 1);
1898
+ var import_react16 = __toESM(require_react(), 1);
1899
+ var import_variant19 = __toESM(require_lib(), 1);
1900
+ var import_lodash5 = __toESM(require_lodash(), 1);
2118
1901
 
2119
1902
  // src/components/GenerateCommand/dashboad-menu-plugin/generate.ts
2120
1903
  init_esm_shims();
2121
- import path9 from "node:path";
2122
- import { randomUUID as randomUUID8 } from "node:crypto";
2123
- var DASHBOARD_MENU_PLUGIN_TEMPLATE = path9.resolve(
1904
+ import path8 from "node:path";
1905
+ import { randomUUID as randomUUID7 } from "node:crypto";
1906
+ var DASHBOARD_MENU_PLUGIN_TEMPLATE = path8.resolve(
2124
1907
  __dirname,
2125
1908
  "../templates/dashboard-menu-plugin"
2126
1909
  );
2127
1910
  async function generateDashboardMenuPlugin(projectFolder, extended, action, folder, title) {
2128
- const cwd = path9.join(getDashboardMenuPluginsDir(projectFolder), folder);
1911
+ const cwd = path8.join(getDashboardMenuPluginsDir(projectFolder), folder);
2129
1912
  const menuPluginConfig = {
2130
1913
  $schema: "https://dev.wix.com/wix-cli/schemas/dashboard-menu-plugin.json",
2131
- id: randomUUID8(),
1914
+ id: randomUUID7(),
2132
1915
  title,
2133
1916
  iconKey: "Sparkles",
2134
1917
  extends: extended,
@@ -2147,20 +1930,20 @@ async function generateDashboardMenuPlugin(projectFolder, extended, action, fold
2147
1930
 
2148
1931
  // src/components/GenerateCommand/dashboad-menu-plugin/NavigateToPage.tsx
2149
1932
  init_esm_shims();
2150
- var import_react14 = __toESM(require_react(), 1);
2151
- var import_variant18 = __toESM(require_lib(), 1);
2152
- var NavigateToPageOption = (0, import_variant18.variant)({
2153
- Page: (0, import_variant18.fields)(),
1933
+ var import_react13 = __toESM(require_react(), 1);
1934
+ var import_variant17 = __toESM(require_lib(), 1);
1935
+ var NavigateToPageOption = (0, import_variant17.variant)({
1936
+ Page: (0, import_variant17.fields)(),
2154
1937
  Other: {}
2155
1938
  });
2156
1939
  var NavigateToPage = ({ onActionSelected }) => {
2157
1940
  const bi = useWixCliAppBi();
2158
1941
  const { model } = useProjectModel();
2159
1942
  const { t: t2 } = useTranslation();
2160
- const [pageId, setPageId] = (0, import_react14.useState)();
2161
- const [shouldUseCustomPageId, setShouldUseCustomPageId] = (0, import_react14.useState)(false);
2162
- const dashboardPages = (0, import_react14.useMemo)(
2163
- () => model.components.filter((0, import_variant18.isType)(DevCenterComponent.DashboardPage)),
1943
+ const [pageId, setPageId] = (0, import_react13.useState)();
1944
+ const [shouldUseCustomPageId, setShouldUseCustomPageId] = (0, import_react13.useState)(false);
1945
+ const dashboardPages = (0, import_react13.useMemo)(
1946
+ () => model.components.filter((0, import_variant17.isType)(DevCenterComponent.DashboardPage)),
2164
1947
  [model.components]
2165
1948
  );
2166
1949
  const validatePageId = useValidation(
@@ -2173,7 +1956,7 @@ var NavigateToPage = ({ onActionSelected }) => {
2173
1956
  ]
2174
1957
  ])
2175
1958
  );
2176
- (0, import_react14.useEffect)(() => {
1959
+ (0, import_react13.useEffect)(() => {
2177
1960
  if (pageId) {
2178
1961
  onActionSelected({
2179
1962
  navigateToPage: {
@@ -2182,7 +1965,7 @@ var NavigateToPage = ({ onActionSelected }) => {
2182
1965
  });
2183
1966
  }
2184
1967
  }, [pageId, onActionSelected]);
2185
- return /* @__PURE__ */ import_react14.default.createElement(import_react14.default.Fragment, null, /* @__PURE__ */ import_react14.default.createElement(
1968
+ return /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, /* @__PURE__ */ import_react13.default.createElement(
2186
1969
  SelectInput,
2187
1970
  {
2188
1971
  label: t2(
@@ -2213,13 +1996,13 @@ var NavigateToPage = ({ onActionSelected }) => {
2213
1996
  questionKey: "generate_command.dashboard_menu_plugin.what_to_do.navigate_to_page.choose_page",
2214
1997
  answer: option.title
2215
1998
  });
2216
- return (0, import_variant18.match)(option.value, {
1999
+ return (0, import_variant17.match)(option.value, {
2217
2000
  Page: ({ pageId: pageId2 }) => setPageId(pageId2),
2218
2001
  Other: () => setShouldUseCustomPageId(true)
2219
2002
  });
2220
2003
  }
2221
2004
  }
2222
- ), shouldUseCustomPageId && /* @__PURE__ */ import_react14.default.createElement(
2005
+ ), shouldUseCustomPageId && /* @__PURE__ */ import_react13.default.createElement(
2223
2006
  TextInput,
2224
2007
  {
2225
2008
  label: t2(
@@ -2242,20 +2025,20 @@ var NavigateToPage = ({ onActionSelected }) => {
2242
2025
 
2243
2026
  // src/components/GenerateCommand/dashboad-menu-plugin/OpenModal.tsx
2244
2027
  init_esm_shims();
2245
- var import_react15 = __toESM(require_react(), 1);
2246
- var import_variant19 = __toESM(require_lib(), 1);
2247
- var OpenModalOption = (0, import_variant19.variant)({
2248
- Component: (0, import_variant19.fields)(),
2028
+ var import_react14 = __toESM(require_react(), 1);
2029
+ var import_variant18 = __toESM(require_lib(), 1);
2030
+ var OpenModalOption = (0, import_variant18.variant)({
2031
+ Component: (0, import_variant18.fields)(),
2249
2032
  Other: {}
2250
2033
  });
2251
2034
  var OpenModal = ({ onActionSelected }) => {
2252
2035
  const bi = useWixCliAppBi();
2253
2036
  const { model } = useProjectModel();
2254
2037
  const { t: t2 } = useTranslation();
2255
- const [componentId, setComponentId] = (0, import_react15.useState)();
2256
- const [shouldUseCustomComponentId, setShouldUseCustomComponentId] = (0, import_react15.useState)(false);
2257
- const dashboardModals = (0, import_react15.useMemo)(
2258
- () => model.components.filter((0, import_variant19.isType)(DevCenterComponent.DashboardModal)),
2038
+ const [componentId, setComponentId] = (0, import_react14.useState)();
2039
+ const [shouldUseCustomComponentId, setShouldUseCustomComponentId] = (0, import_react14.useState)(false);
2040
+ const dashboardModals = (0, import_react14.useMemo)(
2041
+ () => model.components.filter((0, import_variant18.isType)(DevCenterComponent.DashboardModal)),
2259
2042
  [model.components]
2260
2043
  );
2261
2044
  const validateComponentId = useValidation(
@@ -2268,7 +2051,7 @@ var OpenModal = ({ onActionSelected }) => {
2268
2051
  ]
2269
2052
  ])
2270
2053
  );
2271
- (0, import_react15.useEffect)(() => {
2054
+ (0, import_react14.useEffect)(() => {
2272
2055
  if (componentId) {
2273
2056
  onActionSelected({
2274
2057
  openModal: {
@@ -2277,7 +2060,7 @@ var OpenModal = ({ onActionSelected }) => {
2277
2060
  });
2278
2061
  }
2279
2062
  }, [componentId, onActionSelected]);
2280
- return /* @__PURE__ */ import_react15.default.createElement(import_react15.default.Fragment, null, /* @__PURE__ */ import_react15.default.createElement(
2063
+ return /* @__PURE__ */ import_react14.default.createElement(import_react14.default.Fragment, null, /* @__PURE__ */ import_react14.default.createElement(
2281
2064
  SelectInput,
2282
2065
  {
2283
2066
  label: t2(
@@ -2306,13 +2089,13 @@ var OpenModal = ({ onActionSelected }) => {
2306
2089
  questionKey: "generate_command.dashboard_menu_plugin.what_to_do.open_modal.choose_component",
2307
2090
  answer: option.title
2308
2091
  });
2309
- return (0, import_variant19.match)(option.value, {
2092
+ return (0, import_variant18.match)(option.value, {
2310
2093
  Component: ({ componentId: componentId2 }) => setComponentId(componentId2),
2311
2094
  Other: () => setShouldUseCustomComponentId(true)
2312
2095
  });
2313
2096
  }
2314
2097
  }
2315
- ), shouldUseCustomComponentId && /* @__PURE__ */ import_react15.default.createElement(
2098
+ ), shouldUseCustomComponentId && /* @__PURE__ */ import_react14.default.createElement(
2316
2099
  TextInput,
2317
2100
  {
2318
2101
  label: t2(
@@ -2335,7 +2118,7 @@ var OpenModal = ({ onActionSelected }) => {
2335
2118
 
2336
2119
  // src/components/GenerateCommand/dashboad-menu-plugin/DashboardMenuPluginGeneratedNote.tsx
2337
2120
  init_esm_shims();
2338
- var import_react16 = __toESM(require_react(), 1);
2121
+ var import_react15 = __toESM(require_react(), 1);
2339
2122
  var customGroupMessages2 = /* @__PURE__ */ new Map([
2340
2123
  ["Wix eCommerce", "generate_command.generation.ecommerce_notification"]
2341
2124
  ]);
@@ -2345,18 +2128,18 @@ var DashboardMenuPluginGeneratedNote = ({ backofficeMenuItem }) => {
2345
2128
  "generate_command.flow.dashboard_menu_plugin"
2346
2129
  ).toLowerCase();
2347
2130
  const customKey = customGroupMessages2.get(backofficeMenuItem.category);
2348
- return /* @__PURE__ */ import_react16.default.createElement(Box_default, { flexDirection: "column" }, /* @__PURE__ */ import_react16.default.createElement(Text, null, t2("generate_command.generation.done", { extensionType })), customKey ? /* @__PURE__ */ import_react16.default.createElement(Text, null, t2(customKey)) : null, /* @__PURE__ */ import_react16.default.createElement(
2131
+ return /* @__PURE__ */ import_react15.default.createElement(Box_default, { flexDirection: "column" }, /* @__PURE__ */ import_react15.default.createElement(Text, null, t2("generate_command.generation.done", { extensionType })), customKey ? /* @__PURE__ */ import_react15.default.createElement(Text, null, t2(customKey)) : null, /* @__PURE__ */ import_react15.default.createElement(
2349
2132
  Trans,
2350
2133
  {
2351
2134
  i18nKey: "generate_command.generation.learn_more",
2352
2135
  values: { extensionType },
2353
- components: [/* @__PURE__ */ import_react16.default.createElement(Learn, null), /* @__PURE__ */ import_react16.default.createElement(Link, { url: "https://wix.to/YwaogfU" })]
2136
+ components: [/* @__PURE__ */ import_react15.default.createElement(Learn, null), /* @__PURE__ */ import_react15.default.createElement(Link, { url: "https://wix.to/YwaogfU" })]
2354
2137
  }
2355
2138
  ));
2356
2139
  };
2357
2140
 
2358
2141
  // src/components/GenerateCommand/dashboad-menu-plugin/DashboardMenuPluginWizard.tsx
2359
- var DashboardMenuPluginAction = (0, import_variant20.variant)({
2142
+ var DashboardMenuPluginAction = (0, import_variant19.variant)({
2360
2143
  NavigateToPage: {},
2361
2144
  OpenModal: {}
2362
2145
  });
@@ -2370,15 +2153,15 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
2370
2153
  "generate_command.flow.dashboard_menu_plugin"
2371
2154
  ).toLowerCase();
2372
2155
  const dashboardMenuPlugins = getExtensions("DashboardMenuPlugin");
2373
- const [backofficeMenuItem, setBackofficeMenuItem] = (0, import_react17.useState)();
2374
- const [actionType, setActionType] = (0, import_react17.useState)();
2375
- const [requireAppsIds, setRequireAppsIds] = (0, import_react17.useState)();
2376
- const [action, setAction] = (0, import_react17.useState)();
2377
- const [folder, setFolder] = (0, import_react17.useState)();
2378
- const [title, setTitle] = (0, import_react17.useState)();
2379
- const [finishedInstallation, setFinishedInstallation] = (0, import_react17.useState)(false);
2380
- const defaultFolderName = (0, import_lodash6.kebabCase)(title);
2381
- const [additionalInfo, setAdditionalInfo] = (0, import_react17.useState)();
2156
+ const [backofficeMenuItem, setBackofficeMenuItem] = (0, import_react16.useState)();
2157
+ const [actionType, setActionType] = (0, import_react16.useState)();
2158
+ const [requireAppsIds, setRequireAppsIds] = (0, import_react16.useState)();
2159
+ const [action, setAction] = (0, import_react16.useState)();
2160
+ const [folder, setFolder] = (0, import_react16.useState)();
2161
+ const [title, setTitle] = (0, import_react16.useState)();
2162
+ const [finishedInstallation, setFinishedInstallation] = (0, import_react16.useState)(false);
2163
+ const defaultFolderName = (0, import_lodash5.kebabCase)(title);
2164
+ const [additionalInfo, setAdditionalInfo] = (0, import_react16.useState)();
2382
2165
  const validateMenuPluginFolder = useValidation(
2383
2166
  createDashboardMenuPluginValidation(dashboardMenuPlugins)
2384
2167
  );
@@ -2400,11 +2183,11 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
2400
2183
  );
2401
2184
  }
2402
2185
  }, [backofficeMenuItem, action, folder, title]);
2403
- const handleActionSelected = (0, import_react17.useCallback)(
2186
+ const handleActionSelected = (0, import_react16.useCallback)(
2404
2187
  (action2) => setAction(action2),
2405
2188
  []
2406
2189
  );
2407
- const menuItemsGroups = (0, import_react17.useMemo)(
2190
+ const menuItemsGroups = (0, import_react16.useMemo)(
2408
2191
  () => Object.values(
2409
2192
  backofficeMenuItems.reduce((menuItemsByApps, menuItem) => {
2410
2193
  const [requiredApp] = menuItem.requiredApps;
@@ -2413,11 +2196,11 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
2413
2196
  menuItemsByApps[groupBy].items.push({
2414
2197
  title: menuItem.name,
2415
2198
  key: menuItem.id,
2416
- description: /* @__PURE__ */ import_react17.default.createElement(
2199
+ description: /* @__PURE__ */ import_react16.default.createElement(
2417
2200
  Trans,
2418
2201
  {
2419
2202
  i18nKey: "generate_command.dashboard_menu_plugin.what_to_extend.item_description",
2420
- components: [/* @__PURE__ */ import_react17.default.createElement(Link, { url: requiredApp.docsUrl })]
2203
+ components: [/* @__PURE__ */ import_react16.default.createElement(Link, { url: requiredApp.docsUrl })]
2421
2204
  }
2422
2205
  ),
2423
2206
  value: menuItem
@@ -2427,16 +2210,16 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
2427
2210
  ),
2428
2211
  [backofficeMenuItems]
2429
2212
  );
2430
- return /* @__PURE__ */ import_react17.default.createElement(import_react17.default.Fragment, null, /* @__PURE__ */ import_react17.default.createElement(
2213
+ return /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(
2431
2214
  SelectGroupsInput,
2432
2215
  {
2433
2216
  label: t2("generate_command.dashboard_menu_plugin.what_to_extend"),
2434
2217
  hideScroll: true,
2435
- info: /* @__PURE__ */ import_react17.default.createElement(
2218
+ info: /* @__PURE__ */ import_react16.default.createElement(
2436
2219
  Trans,
2437
2220
  {
2438
2221
  i18nKey: "generate_command.dashboard_menu_plugin.what_to_extend.description",
2439
- components: [/* @__PURE__ */ import_react17.default.createElement(Link, { url: "https://wix.to/h8AJ7f5" })]
2222
+ components: [/* @__PURE__ */ import_react16.default.createElement(Link, { url: "https://wix.to/h8AJ7f5" })]
2440
2223
  }
2441
2224
  ),
2442
2225
  groups: menuItemsGroups,
@@ -2458,7 +2241,7 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
2458
2241
  setBackofficeMenuItem(item.value);
2459
2242
  }
2460
2243
  }
2461
- ), backofficeMenuItem && (backofficeMenuItem.requiredApps.length === 1 ? /* @__PURE__ */ import_react17.default.createElement(
2244
+ ), backofficeMenuItem && (backofficeMenuItem.requiredApps.length === 1 ? /* @__PURE__ */ import_react16.default.createElement(
2462
2245
  AppRequirement,
2463
2246
  {
2464
2247
  appId: model.config.appId,
@@ -2470,7 +2253,7 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
2470
2253
  ],
2471
2254
  onSubmit: setRequireAppsIds
2472
2255
  }
2473
- ) : /* @__PURE__ */ import_react17.default.createElement(
2256
+ ) : /* @__PURE__ */ import_react16.default.createElement(
2474
2257
  MultipleAppRequirement,
2475
2258
  {
2476
2259
  appId: model.config.appId,
@@ -2482,7 +2265,7 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
2482
2265
  ),
2483
2266
  onSubmit: setRequireAppsIds
2484
2267
  }
2485
- )), requireAppsIds && /* @__PURE__ */ import_react17.default.createElement(
2268
+ )), requireAppsIds && /* @__PURE__ */ import_react16.default.createElement(
2486
2269
  SelectInput,
2487
2270
  {
2488
2271
  label: t2("generate_command.dashboard_menu_plugin.what_to_do"),
@@ -2512,10 +2295,10 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
2512
2295
  setActionType(action2.value);
2513
2296
  }
2514
2297
  }
2515
- ), actionType && (0, import_variant20.match)(actionType, {
2516
- NavigateToPage: () => /* @__PURE__ */ import_react17.default.createElement(NavigateToPage, { onActionSelected: handleActionSelected }),
2517
- OpenModal: () => /* @__PURE__ */ import_react17.default.createElement(OpenModal, { onActionSelected: handleActionSelected })
2518
- }), action && /* @__PURE__ */ import_react17.default.createElement(
2298
+ ), actionType && (0, import_variant19.match)(actionType, {
2299
+ NavigateToPage: () => /* @__PURE__ */ import_react16.default.createElement(NavigateToPage, { onActionSelected: handleActionSelected }),
2300
+ OpenModal: () => /* @__PURE__ */ import_react16.default.createElement(OpenModal, { onActionSelected: handleActionSelected })
2301
+ }), action && /* @__PURE__ */ import_react16.default.createElement(
2519
2302
  TextInput,
2520
2303
  {
2521
2304
  label: t2("generate_command.dashboard_menu_plugin.choose_title"),
@@ -2534,7 +2317,7 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
2534
2317
  setTitle(value);
2535
2318
  }
2536
2319
  }
2537
- ), title && /* @__PURE__ */ import_react17.default.createElement(
2320
+ ), title && /* @__PURE__ */ import_react16.default.createElement(
2538
2321
  TextInput,
2539
2322
  {
2540
2323
  label: t2("generate_command.dashboard_menu_plugin.choose_folder"),
@@ -2552,11 +2335,11 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
2552
2335
  },
2553
2336
  validate: validateMenuPluginFolder
2554
2337
  }
2555
- ), (0, import_react17.useMemo)(
2556
- () => (0, import_variant20.match)(generationTask, {
2338
+ ), (0, import_react16.useMemo)(
2339
+ () => (0, import_variant19.match)(generationTask, {
2557
2340
  Success: ({ hasUpdatedDependencies }) => {
2558
2341
  if (hasUpdatedDependencies) {
2559
- return /* @__PURE__ */ import_react17.default.createElement(
2342
+ return /* @__PURE__ */ import_react16.default.createElement(
2560
2343
  InstallDependencies,
2561
2344
  {
2562
2345
  onFinish: () => setFinishedInstallation(true)
@@ -2566,7 +2349,7 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
2566
2349
  setFinishedInstallation(true);
2567
2350
  return null;
2568
2351
  },
2569
- Loading: () => /* @__PURE__ */ import_react17.default.createElement(
2352
+ Loading: () => /* @__PURE__ */ import_react16.default.createElement(
2570
2353
  Spinner,
2571
2354
  {
2572
2355
  text: t2("generate_command.generation.loading", {
@@ -2578,7 +2361,7 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
2578
2361
  NotRequested: () => null
2579
2362
  }),
2580
2363
  [generationTask, setFinishedInstallation, t2, extensionType]
2581
- ), finishedInstallation && backofficeMenuItem ? /* @__PURE__ */ import_react17.default.createElement(
2364
+ ), finishedInstallation && backofficeMenuItem ? /* @__PURE__ */ import_react16.default.createElement(
2582
2365
  DashboardMenuPluginGeneratedNote,
2583
2366
  {
2584
2367
  backofficeMenuItem
@@ -2590,17 +2373,17 @@ var DashboardMenuPluginWizard = ({ backofficeMenuItems }) => {
2590
2373
  var DashboardMenuPlugin = () => {
2591
2374
  const { t: t2 } = useTranslation();
2592
2375
  const { status } = useAsync(getBackofficeMenuItems, []);
2593
- return (0, import_variant21.match)(status, {
2376
+ return (0, import_variant20.match)(status, {
2594
2377
  Error: () => null,
2595
- Loading: () => /* @__PURE__ */ import_react18.default.createElement(Spinner, { text: t2("general.loading") }),
2596
- Success: ({ result: backofficeMenuItems }) => /* @__PURE__ */ import_react18.default.createElement(DashboardMenuPluginWizard, { backofficeMenuItems })
2378
+ Loading: () => /* @__PURE__ */ import_react17.default.createElement(Spinner, { text: t2("general.loading") }),
2379
+ Success: ({ result: backofficeMenuItems }) => /* @__PURE__ */ import_react17.default.createElement(DashboardMenuPluginWizard, { backofficeMenuItems })
2597
2380
  });
2598
2381
  };
2599
2382
 
2600
2383
  // src/components/GenerateCommand/site-plugin/SitePlugin.tsx
2601
2384
  init_esm_shims();
2602
- var import_react21 = __toESM(require_react(), 1);
2603
- var import_variant23 = __toESM(require_lib(), 1);
2385
+ var import_react20 = __toESM(require_react(), 1);
2386
+ var import_variant22 = __toESM(require_lib(), 1);
2604
2387
 
2605
2388
  // ../site-plugin-client/src/index.ts
2606
2389
  init_esm_shims();
@@ -2668,31 +2451,31 @@ var SitePluginClient = class {
2668
2451
 
2669
2452
  // ../site-plugin-client/src/useSitePluginClient.ts
2670
2453
  init_esm_shims();
2671
- var import_react19 = __toESM(require_react(), 1);
2454
+ var import_react18 = __toESM(require_react(), 1);
2672
2455
  function useSitePluginClient() {
2673
2456
  const httpClient = useHttpClient({ type: "general" });
2674
- return (0, import_react19.useMemo)(() => new SitePluginClient(httpClient), [httpClient]);
2457
+ return (0, import_react18.useMemo)(() => new SitePluginClient(httpClient), [httpClient]);
2675
2458
  }
2676
2459
 
2677
2460
  // src/components/GenerateCommand/site-plugin/SitePluginWizard.tsx
2678
2461
  init_esm_shims();
2679
- var import_react20 = __toESM(require_react(), 1);
2680
- var import_variant22 = __toESM(require_lib(), 1);
2681
- var import_lodash7 = __toESM(require_lodash(), 1);
2462
+ var import_react19 = __toESM(require_react(), 1);
2463
+ var import_variant21 = __toESM(require_lib(), 1);
2464
+ var import_lodash6 = __toESM(require_lodash(), 1);
2682
2465
  var import_uniqBy = __toESM(require_uniqBy(), 1);
2683
2466
 
2684
2467
  // src/components/GenerateCommand/site-plugin/generate.tsx
2685
2468
  init_esm_shims();
2686
- import path10 from "node:path";
2687
- import { randomUUID as randomUUID9 } from "node:crypto";
2688
- var SITE_PLUGIN_TEMPLATE = path10.resolve(
2469
+ import path9 from "node:path";
2470
+ import { randomUUID as randomUUID8 } from "node:crypto";
2471
+ var SITE_PLUGIN_TEMPLATE = path9.resolve(
2689
2472
  __dirname,
2690
2473
  "../templates/site-plugin"
2691
2474
  );
2692
2475
  async function generateSitePlugin(projectFolder, placements, folder, name, widgetName, widgetDocsLink) {
2693
- const readablePath = path10.join(SITE_PLUGINS_DIR, folder);
2694
- const cwd = path10.join(getSitePluginsDir(projectFolder), folder);
2695
- const defaultLogoPath = path10.join(
2476
+ const readablePath = path9.join(SITE_PLUGINS_DIR, folder);
2477
+ const cwd = path9.join(getSitePluginsDir(projectFolder), folder);
2478
+ const defaultLogoPath = path9.join(
2696
2479
  projectFolder,
2697
2480
  "src/assets",
2698
2481
  folder,
@@ -2700,11 +2483,11 @@ async function generateSitePlugin(projectFolder, placements, folder, name, widge
2700
2483
  );
2701
2484
  const sitePluginConfig = {
2702
2485
  $schema: "https://dev.wix.com/wix-cli/schemas/site-plugin.json",
2703
- id: randomUUID9(),
2704
- referenceComponentId: randomUUID9(),
2486
+ id: randomUUID8(),
2487
+ referenceComponentId: randomUUID8(),
2705
2488
  marketData: {
2706
2489
  name,
2707
- logoUrl: path10.relative(cwd, defaultLogoPath)
2490
+ logoUrl: path9.relative(cwd, defaultLogoPath)
2708
2491
  },
2709
2492
  placements,
2710
2493
  installation: {
@@ -2736,7 +2519,7 @@ var SitePluginWizard = ({ placements }) => {
2736
2519
  const { model } = useProjectModel();
2737
2520
  const { addRequiredApp } = useDevCenterClient();
2738
2521
  const { getWidgetDocsUrl } = useSitePluginClient();
2739
- const pluginApplications = (0, import_react20.useMemo)(
2522
+ const pluginApplications = (0, import_react19.useMemo)(
2740
2523
  () => (0, import_uniqBy.default)(placements, "appName").map((pluginPlacement) => ({
2741
2524
  value: pluginPlacement.appName,
2742
2525
  title: pluginPlacement.appName
@@ -2746,23 +2529,23 @@ var SitePluginWizard = ({ placements }) => {
2746
2529
  const extensionType = t2("generate_command.flow.site_plugin").toLowerCase();
2747
2530
  const validateFolderName = useCustomElementDirectoryValidation("Site plugin");
2748
2531
  const validateName = useCustomElementNameValidation();
2749
- const [appsToRequire, setAppsToRequire] = (0, import_react20.useState)();
2750
- const [placement, setPlacement] = (0, import_react20.useState)();
2751
- const [placementApp, setPlacementApp] = (0, import_react20.useState)();
2752
- const [pluginFolder, setPluginFolder] = (0, import_react20.useState)();
2753
- const [pluginName, setPluginName] = (0, import_react20.useState)();
2754
- const [finishedInstallation, setFinishedInstallation] = (0, import_react20.useState)(false);
2755
- const defaultPluginFolder = (0, import_lodash7.kebabCase)(pluginName);
2756
- const widgetSlots = (0, import_react20.useMemo)(
2532
+ const [appsToRequire, setAppsToRequire] = (0, import_react19.useState)();
2533
+ const [placement, setPlacement] = (0, import_react19.useState)();
2534
+ const [placementApp, setPlacementApp] = (0, import_react19.useState)();
2535
+ const [pluginFolder, setPluginFolder] = (0, import_react19.useState)();
2536
+ const [pluginName, setPluginName] = (0, import_react19.useState)();
2537
+ const [finishedInstallation, setFinishedInstallation] = (0, import_react19.useState)(false);
2538
+ const defaultPluginFolder = (0, import_lodash6.kebabCase)(pluginName);
2539
+ const widgetSlots = (0, import_react19.useMemo)(
2757
2540
  () => placementApp ? Object.values(
2758
2541
  placements.filter((placement2) => placement2.appName === placementApp).reduce(
2759
2542
  (_widgetSlots, placement2) => {
2760
2543
  const widgetDocsUrl = getWidgetDocsUrl(placement2.widgetId);
2761
- const description = widgetDocsUrl && /* @__PURE__ */ import_react20.default.createElement(Text, { skin: "secondary" }, /* @__PURE__ */ import_react20.default.createElement(
2544
+ const description = widgetDocsUrl && /* @__PURE__ */ import_react19.default.createElement(Text, { skin: "secondary" }, /* @__PURE__ */ import_react19.default.createElement(
2762
2545
  Trans,
2763
2546
  {
2764
2547
  i18nKey: "generate_command.site_plugin.widget_docs",
2765
- components: [/* @__PURE__ */ import_react20.default.createElement(Link, { url: widgetDocsUrl })]
2548
+ components: [/* @__PURE__ */ import_react19.default.createElement(Link, { url: widgetDocsUrl })]
2766
2549
  }
2767
2550
  ));
2768
2551
  _widgetSlots[placement2.widgetId] ??= {
@@ -2802,15 +2585,15 @@ var SitePluginWizard = ({ placements }) => {
2802
2585
  );
2803
2586
  }
2804
2587
  }, [pluginFolder, pluginName, placement, appsToRequire]);
2805
- return /* @__PURE__ */ import_react20.default.createElement(import_react20.default.Fragment, null, /* @__PURE__ */ import_react20.default.createElement(
2588
+ return /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement(
2806
2589
  SelectInput,
2807
2590
  {
2808
2591
  label: t2("generate_command.site_plugin.plugin_app"),
2809
- info: /* @__PURE__ */ import_react20.default.createElement(
2592
+ info: /* @__PURE__ */ import_react19.default.createElement(
2810
2593
  Trans,
2811
2594
  {
2812
2595
  i18nKey: "generate_command.site_plugin.plugin_app.description",
2813
- components: [/* @__PURE__ */ import_react20.default.createElement(Link, { url: "https://wix.to/Onfe4XJ" })]
2596
+ components: [/* @__PURE__ */ import_react19.default.createElement(Link, { url: "https://wix.to/Onfe4XJ" })]
2814
2597
  }
2815
2598
  ),
2816
2599
  options: pluginApplications,
@@ -2824,7 +2607,7 @@ var SitePluginWizard = ({ placements }) => {
2824
2607
  setPlacementApp(option.value);
2825
2608
  }
2826
2609
  }
2827
- ), placementApp && /* @__PURE__ */ import_react20.default.createElement(
2610
+ ), placementApp && /* @__PURE__ */ import_react19.default.createElement(
2828
2611
  SelectGroupsInput,
2829
2612
  {
2830
2613
  label: t2("generate_command.site_plugin.choose_placement"),
@@ -2839,7 +2622,7 @@ var SitePluginWizard = ({ placements }) => {
2839
2622
  setPlacement(option.value);
2840
2623
  }
2841
2624
  }
2842
- ), placement && /* @__PURE__ */ import_react20.default.createElement(
2625
+ ), placement && /* @__PURE__ */ import_react19.default.createElement(
2843
2626
  AppRequirement,
2844
2627
  {
2845
2628
  appId: model.config.appId,
@@ -2851,7 +2634,7 @@ var SitePluginWizard = ({ placements }) => {
2851
2634
  ],
2852
2635
  onSubmit: setAppsToRequire
2853
2636
  }
2854
- ), appsToRequire && /* @__PURE__ */ import_react20.default.createElement(
2637
+ ), appsToRequire && /* @__PURE__ */ import_react19.default.createElement(
2855
2638
  TextInput,
2856
2639
  {
2857
2640
  label: t2("generate_command.site_plugin.choose_name"),
@@ -2869,7 +2652,7 @@ var SitePluginWizard = ({ placements }) => {
2869
2652
  },
2870
2653
  validate: validateName
2871
2654
  }
2872
- ), pluginName && /* @__PURE__ */ import_react20.default.createElement(
2655
+ ), pluginName && /* @__PURE__ */ import_react19.default.createElement(
2873
2656
  TextInput,
2874
2657
  {
2875
2658
  label: t2("generate_command.site_plugin.choose_folder"),
@@ -2887,11 +2670,11 @@ var SitePluginWizard = ({ placements }) => {
2887
2670
  },
2888
2671
  validate: validateFolderName
2889
2672
  }
2890
- ), (0, import_react20.useMemo)(
2891
- () => (0, import_variant22.match)(generationTask, {
2673
+ ), (0, import_react19.useMemo)(
2674
+ () => (0, import_variant21.match)(generationTask, {
2892
2675
  Success: ({ hasUpdatedDependencies }) => {
2893
2676
  if (hasUpdatedDependencies) {
2894
- return /* @__PURE__ */ import_react20.default.createElement(
2677
+ return /* @__PURE__ */ import_react19.default.createElement(
2895
2678
  InstallDependencies,
2896
2679
  {
2897
2680
  onFinish: () => setFinishedInstallation(true)
@@ -2901,7 +2684,7 @@ var SitePluginWizard = ({ placements }) => {
2901
2684
  setFinishedInstallation(true);
2902
2685
  return null;
2903
2686
  },
2904
- Loading: () => /* @__PURE__ */ import_react20.default.createElement(
2687
+ Loading: () => /* @__PURE__ */ import_react19.default.createElement(
2905
2688
  Spinner,
2906
2689
  {
2907
2690
  text: t2("generate_command.generation.loading", {
@@ -2913,14 +2696,14 @@ var SitePluginWizard = ({ placements }) => {
2913
2696
  NotRequested: () => null
2914
2697
  }),
2915
2698
  [generationTask, setFinishedInstallation, t2, extensionType]
2916
- ), finishedInstallation && /* @__PURE__ */ import_react20.default.createElement(import_react20.default.Fragment, null, /* @__PURE__ */ import_react20.default.createElement(Text, null, t2("generate_command.generation.done", {
2699
+ ), finishedInstallation && /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement(Text, null, t2("generate_command.generation.done", {
2917
2700
  extensionType
2918
- })), /* @__PURE__ */ import_react20.default.createElement(
2701
+ })), /* @__PURE__ */ import_react19.default.createElement(
2919
2702
  Trans,
2920
2703
  {
2921
2704
  i18nKey: "generate_command.generation.learn_more",
2922
2705
  values: { extensionType },
2923
- components: [/* @__PURE__ */ import_react20.default.createElement(Learn, null), /* @__PURE__ */ import_react20.default.createElement(Link, { url: "https://wix.to/rEfCfbY" })]
2706
+ components: [/* @__PURE__ */ import_react19.default.createElement(Learn, null), /* @__PURE__ */ import_react19.default.createElement(Link, { url: "https://wix.to/rEfCfbY" })]
2924
2707
  }
2925
2708
  )));
2926
2709
  };
@@ -2930,24 +2713,24 @@ var GenerateSitePlugin = () => {
2930
2713
  const { t: t2 } = useTranslation();
2931
2714
  const { getPlacements } = useSitePluginClient();
2932
2715
  const { status } = useAsync(getPlacements, []);
2933
- return (0, import_variant23.match)(status, {
2716
+ return (0, import_variant22.match)(status, {
2934
2717
  Error: () => null,
2935
- Loading: () => /* @__PURE__ */ import_react21.default.createElement(Spinner, { text: t2("general.loading") }),
2936
- Success: ({ result }) => /* @__PURE__ */ import_react21.default.createElement(SitePluginWizard, { placements: result.placements })
2718
+ Loading: () => /* @__PURE__ */ import_react20.default.createElement(Spinner, { text: t2("general.loading") }),
2719
+ Success: ({ result }) => /* @__PURE__ */ import_react20.default.createElement(SitePluginWizard, { placements: result.placements })
2937
2720
  });
2938
2721
  };
2939
2722
 
2940
2723
  // src/components/GenerateCommand/api/Api.tsx
2941
2724
  init_esm_shims();
2942
- var import_react22 = __toESM(require_react(), 1);
2943
- var import_variant24 = __toESM(require_lib(), 1);
2725
+ var import_react21 = __toESM(require_react(), 1);
2726
+ var import_variant23 = __toESM(require_lib(), 1);
2944
2727
 
2945
2728
  // src/components/GenerateCommand/api/generate.ts
2946
2729
  init_esm_shims();
2947
- import path11 from "node:path";
2948
- var API_TEMPLATE = path11.resolve(__dirname, "../templates/api");
2730
+ import path10 from "node:path";
2731
+ var API_TEMPLATE = path10.resolve(__dirname, "../templates/api");
2949
2732
  async function generateApi(projectFolder, folderName) {
2950
- const cwd = path11.join(getApiFolder(projectFolder), folderName);
2733
+ const cwd = path10.join(getApiFolder(projectFolder), folderName);
2951
2734
  await componentGenerator({
2952
2735
  template: API_TEMPLATE,
2953
2736
  cwd,
@@ -2963,9 +2746,9 @@ var GenerateApi = () => {
2963
2746
  const { t: t2 } = useTranslation();
2964
2747
  const { model } = useProjectModel();
2965
2748
  const { cliFlowStepAnswered } = useWixCliAppBi();
2966
- const [apiFolder, setApiFolder] = (0, import_react22.useState)();
2749
+ const [apiFolder, setApiFolder] = (0, import_react21.useState)();
2967
2750
  const { backendComponentsByType } = useBackendComponents();
2968
- const [finishedInstallation, setFinishedInstallation] = (0, import_react22.useState)(false);
2751
+ const [finishedInstallation, setFinishedInstallation] = (0, import_react21.useState)(false);
2969
2752
  const apis = backendComponentsByType.Api;
2970
2753
  const extensionType = t2("generate_command.flow.api.title").toLowerCase();
2971
2754
  const validateApiFolder = useValidation(
@@ -2981,7 +2764,7 @@ var GenerateApi = () => {
2981
2764
  return generateApi(model.projectFolder, apiFolder);
2982
2765
  }
2983
2766
  }, [model.projectFolder, apiFolder]);
2984
- return /* @__PURE__ */ import_react22.default.createElement(import_react22.default.Fragment, null, /* @__PURE__ */ import_react22.default.createElement(
2767
+ return /* @__PURE__ */ import_react21.default.createElement(import_react21.default.Fragment, null, /* @__PURE__ */ import_react21.default.createElement(
2985
2768
  TextInput,
2986
2769
  {
2987
2770
  label: t2("generate_command.api.choose_api_name"),
@@ -2996,11 +2779,11 @@ var GenerateApi = () => {
2996
2779
  },
2997
2780
  validate: validateApiFolder
2998
2781
  }
2999
- ), (0, import_react22.useMemo)(
3000
- () => (0, import_variant24.match)(generationTask, {
2782
+ ), (0, import_react21.useMemo)(
2783
+ () => (0, import_variant23.match)(generationTask, {
3001
2784
  Success: ({ hasUpdatedDependencies }) => {
3002
2785
  if (hasUpdatedDependencies) {
3003
- return /* @__PURE__ */ import_react22.default.createElement(
2786
+ return /* @__PURE__ */ import_react21.default.createElement(
3004
2787
  InstallDependencies,
3005
2788
  {
3006
2789
  onFinish: () => setFinishedInstallation(true)
@@ -3010,7 +2793,7 @@ var GenerateApi = () => {
3010
2793
  setFinishedInstallation(true);
3011
2794
  return null;
3012
2795
  },
3013
- Loading: () => /* @__PURE__ */ import_react22.default.createElement(
2796
+ Loading: () => /* @__PURE__ */ import_react21.default.createElement(
3014
2797
  Spinner,
3015
2798
  {
3016
2799
  text: t2("generate_command.generation.loading", {
@@ -3022,29 +2805,29 @@ var GenerateApi = () => {
3022
2805
  NotRequested: () => null
3023
2806
  }),
3024
2807
  [generationTask, setFinishedInstallation, t2, extensionType]
3025
- ), finishedInstallation && /* @__PURE__ */ import_react22.default.createElement(Box_default, { flexDirection: "column" }, /* @__PURE__ */ import_react22.default.createElement(Text, null, t2("generate_command.generation.done", {
2808
+ ), finishedInstallation && /* @__PURE__ */ import_react21.default.createElement(Box_default, { flexDirection: "column" }, /* @__PURE__ */ import_react21.default.createElement(Text, null, t2("generate_command.generation.done", {
3026
2809
  extensionType
3027
- })), /* @__PURE__ */ import_react22.default.createElement(
2810
+ })), /* @__PURE__ */ import_react21.default.createElement(
3028
2811
  Trans,
3029
2812
  {
3030
2813
  i18nKey: "generate_command.generation.learn_more",
3031
2814
  values: { extensionType },
3032
- components: [/* @__PURE__ */ import_react22.default.createElement(Learn, null), /* @__PURE__ */ import_react22.default.createElement(Link, { url: "https://wix.to/BEkD5a1" })]
2815
+ components: [/* @__PURE__ */ import_react21.default.createElement(Learn, null), /* @__PURE__ */ import_react21.default.createElement(Link, { url: "https://wix.to/BEkD5a1" })]
3033
2816
  }
3034
2817
  )));
3035
2818
  };
3036
2819
 
3037
2820
  // src/components/GenerateCommand/event/Event.tsx
3038
2821
  init_esm_shims();
3039
- var import_react23 = __toESM(require_react(), 1);
3040
- var import_variant25 = __toESM(require_lib(), 1);
2822
+ var import_react22 = __toESM(require_react(), 1);
2823
+ var import_variant24 = __toESM(require_lib(), 1);
3041
2824
 
3042
2825
  // src/components/GenerateCommand/event/generate.ts
3043
2826
  init_esm_shims();
3044
- import path12 from "node:path";
3045
- var EVENT_TEMPLATE = path12.resolve(__dirname, "../templates/event");
2827
+ import path11 from "node:path";
2828
+ var EVENT_TEMPLATE = path11.resolve(__dirname, "../templates/event");
3046
2829
  async function generateEvent(projectFolder, folderName) {
3047
- const cwd = path12.join(getEventsFolder(projectFolder), folderName);
2830
+ const cwd = path11.join(getEventsFolder(projectFolder), folderName);
3048
2831
  return await componentGenerator({
3049
2832
  template: EVENT_TEMPLATE,
3050
2833
  cwd,
@@ -3058,8 +2841,8 @@ var GenerateEvent = () => {
3058
2841
  const { model } = useProjectModel();
3059
2842
  const { backendComponentsByType } = useBackendComponents();
3060
2843
  const { cliFlowStepAnswered } = useWixCliAppBi();
3061
- const [eventFolder, setEventFolder] = (0, import_react23.useState)();
3062
- const [finishedInstallation, setFinishedInstallation] = (0, import_react23.useState)(false);
2844
+ const [eventFolder, setEventFolder] = (0, import_react22.useState)();
2845
+ const [finishedInstallation, setFinishedInstallation] = (0, import_react22.useState)(false);
3063
2846
  const events = backendComponentsByType.Event;
3064
2847
  const extensionType = t2("generate_command.flow.event").toLowerCase();
3065
2848
  const validateEventFolder = useValidation(
@@ -3075,7 +2858,7 @@ var GenerateEvent = () => {
3075
2858
  return generateEvent(model.projectFolder, eventFolder);
3076
2859
  }
3077
2860
  }, [model.projectFolder, eventFolder]);
3078
- return /* @__PURE__ */ import_react23.default.createElement(import_react23.default.Fragment, null, /* @__PURE__ */ import_react23.default.createElement(
2861
+ return /* @__PURE__ */ import_react22.default.createElement(import_react22.default.Fragment, null, /* @__PURE__ */ import_react22.default.createElement(
3079
2862
  TextInput,
3080
2863
  {
3081
2864
  label: t2("generate_command.event.choose_folder"),
@@ -3090,11 +2873,11 @@ var GenerateEvent = () => {
3090
2873
  },
3091
2874
  validate: validateEventFolder
3092
2875
  }
3093
- ), (0, import_react23.useMemo)(
3094
- () => (0, import_variant25.match)(generationTask, {
2876
+ ), (0, import_react22.useMemo)(
2877
+ () => (0, import_variant24.match)(generationTask, {
3095
2878
  Success: ({ hasUpdatedDependencies }) => {
3096
2879
  if (hasUpdatedDependencies) {
3097
- return /* @__PURE__ */ import_react23.default.createElement(
2880
+ return /* @__PURE__ */ import_react22.default.createElement(
3098
2881
  InstallDependencies,
3099
2882
  {
3100
2883
  onFinish: () => setFinishedInstallation(true)
@@ -3104,7 +2887,7 @@ var GenerateEvent = () => {
3104
2887
  setFinishedInstallation(true);
3105
2888
  return null;
3106
2889
  },
3107
- Loading: () => /* @__PURE__ */ import_react23.default.createElement(
2890
+ Loading: () => /* @__PURE__ */ import_react22.default.createElement(
3108
2891
  Spinner,
3109
2892
  {
3110
2893
  text: t2("generate_command.generation.loading", {
@@ -3116,28 +2899,28 @@ var GenerateEvent = () => {
3116
2899
  NotRequested: () => null
3117
2900
  }),
3118
2901
  [generationTask, setFinishedInstallation, t2, extensionType]
3119
- ), finishedInstallation && /* @__PURE__ */ import_react23.default.createElement(import_react23.default.Fragment, null, /* @__PURE__ */ import_react23.default.createElement(Text, null, t2("generate_command.generation.done", {
2902
+ ), finishedInstallation && /* @__PURE__ */ import_react22.default.createElement(import_react22.default.Fragment, null, /* @__PURE__ */ import_react22.default.createElement(Text, null, t2("generate_command.generation.done", {
3120
2903
  extensionType
3121
- })), /* @__PURE__ */ import_react23.default.createElement(
2904
+ })), /* @__PURE__ */ import_react22.default.createElement(
3122
2905
  Trans,
3123
2906
  {
3124
2907
  i18nKey: "generate_command.generation.learn_more",
3125
2908
  values: { extensionType },
3126
- components: [/* @__PURE__ */ import_react23.default.createElement(Learn, null), /* @__PURE__ */ import_react23.default.createElement(Link, { url: "https://wix.to/BEkD5a1" })]
2909
+ components: [/* @__PURE__ */ import_react22.default.createElement(Learn, null), /* @__PURE__ */ import_react22.default.createElement(Link, { url: "https://wix.to/BEkD5a1" })]
3127
2910
  }
3128
2911
  )));
3129
2912
  };
3130
2913
 
3131
2914
  // src/components/GenerateCommand/web-method-module/WebMethod.tsx
3132
2915
  init_esm_shims();
3133
- var import_react24 = __toESM(require_react(), 1);
3134
- var import_variant26 = __toESM(require_lib(), 1);
2916
+ var import_react23 = __toESM(require_react(), 1);
2917
+ var import_variant25 = __toESM(require_lib(), 1);
3135
2918
  import { join as join5 } from "node:path";
3136
2919
 
3137
2920
  // src/components/GenerateCommand/web-method-module/generate.ts
3138
2921
  init_esm_shims();
3139
- import path13, { join as join4 } from "node:path";
3140
- var WEB_METHOD_TEMPLATE = path13.resolve(__dirname, "../templates/web-method");
2922
+ import path12, { join as join4 } from "node:path";
2923
+ var WEB_METHOD_TEMPLATE = path12.resolve(__dirname, "../templates/web-method");
3141
2924
  async function generateWebMethod(projectFolder, folderPath) {
3142
2925
  const filePath = join4(WEB_METHOD_DIR, folderPath);
3143
2926
  await componentGenerator({
@@ -3146,7 +2929,7 @@ async function generateWebMethod(projectFolder, folderPath) {
3146
2929
  projectFolder,
3147
2930
  data: {
3148
2931
  filePath,
3149
- fileName: path13.basename(filePath)
2932
+ fileName: path12.basename(filePath)
3150
2933
  }
3151
2934
  });
3152
2935
  }
@@ -3156,9 +2939,9 @@ var GenerateWebMethod = () => {
3156
2939
  const { t: t2 } = useTranslation();
3157
2940
  const { model } = useProjectModel();
3158
2941
  const { cliFlowStepAnswered } = useWixCliAppBi();
3159
- const [webMethodFolder, setWebMethodFolder] = (0, import_react24.useState)();
2942
+ const [webMethodFolder, setWebMethodFolder] = (0, import_react23.useState)();
3160
2943
  const { backendComponentsByType } = useBackendComponents();
3161
- const [finishedInstallation, setFinishedInstallation] = (0, import_react24.useState)(false);
2944
+ const [finishedInstallation, setFinishedInstallation] = (0, import_react23.useState)(false);
3162
2945
  const webMethods = backendComponentsByType.WebMethod;
3163
2946
  const extensionType = t2(
3164
2947
  "generate_command.flow.web_method.title"
@@ -3181,7 +2964,7 @@ var GenerateWebMethod = () => {
3181
2964
  return generateWebMethod(model.projectFolder, webMethodFolder);
3182
2965
  }
3183
2966
  }, [model.projectFolder, webMethodFolder]);
3184
- return /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, /* @__PURE__ */ import_react24.default.createElement(
2967
+ return /* @__PURE__ */ import_react23.default.createElement(import_react23.default.Fragment, null, /* @__PURE__ */ import_react23.default.createElement(
3185
2968
  TextInput,
3186
2969
  {
3187
2970
  label: t2("generate_command.web_method.choose_filename"),
@@ -3198,6 +2981,235 @@ var GenerateWebMethod = () => {
3198
2981
  },
3199
2982
  validate: validateWebMethodFolder
3200
2983
  }
2984
+ ), (0, import_react23.useMemo)(
2985
+ () => (0, import_variant25.match)(generationTask, {
2986
+ Success: ({ hasUpdatedDependencies }) => {
2987
+ if (hasUpdatedDependencies) {
2988
+ return /* @__PURE__ */ import_react23.default.createElement(
2989
+ InstallDependencies,
2990
+ {
2991
+ onFinish: () => setFinishedInstallation(true)
2992
+ }
2993
+ );
2994
+ }
2995
+ setFinishedInstallation(true);
2996
+ return null;
2997
+ },
2998
+ Loading: () => /* @__PURE__ */ import_react23.default.createElement(
2999
+ Spinner,
3000
+ {
3001
+ text: t2("generate_command.generation.loading", {
3002
+ subject: extensionType
3003
+ })
3004
+ }
3005
+ ),
3006
+ Error: () => null,
3007
+ NotRequested: () => null
3008
+ }),
3009
+ [generationTask, setFinishedInstallation, t2, extensionType]
3010
+ ), finishedInstallation && /* @__PURE__ */ import_react23.default.createElement(Box_default, { flexDirection: "column" }, /* @__PURE__ */ import_react23.default.createElement(Text, null, t2("generate_command.generation.done", {
3011
+ extensionType
3012
+ })), /* @__PURE__ */ import_react23.default.createElement(
3013
+ Trans,
3014
+ {
3015
+ i18nKey: "generate_command.generation.learn_more",
3016
+ values: { extensionType },
3017
+ components: [/* @__PURE__ */ import_react23.default.createElement(Learn, null), /* @__PURE__ */ import_react23.default.createElement(Link, { url: "https://wix.to/BEkD5a1" })]
3018
+ }
3019
+ )));
3020
+ };
3021
+
3022
+ // src/components/GenerateCommand/site-widget/index.ts
3023
+ init_esm_shims();
3024
+
3025
+ // src/components/GenerateCommand/site-widget/SiteWidgetWizard.tsx
3026
+ init_esm_shims();
3027
+ var import_react26 = __toESM(require_react(), 1);
3028
+
3029
+ // src/components/GenerateCommand/site-widget/custom-element/CustomElement.tsx
3030
+ init_esm_shims();
3031
+ var import_react24 = __toESM(require_react(), 1);
3032
+ var import_variant26 = __toESM(require_lib(), 1);
3033
+ var import_lodash7 = __toESM(require_lodash(), 1);
3034
+
3035
+ // src/components/GenerateCommand/site-widget/custom-element/generate.ts
3036
+ init_esm_shims();
3037
+ import path13 from "node:path";
3038
+ import { randomUUID as randomUUID9 } from "node:crypto";
3039
+ var CUSTOM_ELEMENT_TEMPLATE = path13.resolve(
3040
+ __dirname,
3041
+ "../templates/custom-element"
3042
+ );
3043
+ async function generateCustomElement(projectFolder, folder, name, dashboardPageId) {
3044
+ const readablePath = path13.join(SITE_WIDGETS_DIR, folder);
3045
+ const cwd = path13.join(getSiteWidgetsDir(projectFolder), folder);
3046
+ const behaviorsConfig = dashboardPageId ? {
3047
+ dashboard: {
3048
+ dashboardPageComponentId: dashboardPageId
3049
+ }
3050
+ } : void 0;
3051
+ const defaultThumbnailPath = path13.join(
3052
+ projectFolder,
3053
+ "src/assets",
3054
+ folder,
3055
+ "thumbnail.png"
3056
+ );
3057
+ const customElementConfig = {
3058
+ $schema: "https://dev.wix.com/wix-cli/schemas/custom-element.json",
3059
+ id: randomUUID9(),
3060
+ name,
3061
+ width: {
3062
+ defaultWidth: 450,
3063
+ allowStretch: true
3064
+ },
3065
+ height: {
3066
+ defaultHeight: 250
3067
+ },
3068
+ installation: {
3069
+ autoAddToSite: true
3070
+ },
3071
+ behaviors: behaviorsConfig,
3072
+ presets: [
3073
+ {
3074
+ id: randomUUID9(),
3075
+ thumbnailUrl: path13.relative(cwd, defaultThumbnailPath)
3076
+ }
3077
+ ]
3078
+ };
3079
+ const customElementConfigJSON = toJsonString(customElementConfig, {
3080
+ spaces: 2
3081
+ });
3082
+ return await componentGenerator({
3083
+ template: CUSTOM_ELEMENT_TEMPLATE,
3084
+ projectFolder,
3085
+ cwd,
3086
+ assetsOutputPath: folder,
3087
+ data: {
3088
+ customElementConfigJSON,
3089
+ readablePath,
3090
+ name
3091
+ }
3092
+ });
3093
+ }
3094
+
3095
+ // src/components/GenerateCommand/site-widget/custom-element/CustomElement.tsx
3096
+ var GenerateCustomElement = () => {
3097
+ const bi = useWixCliAppBi();
3098
+ const { t: t2 } = useTranslation();
3099
+ const { model } = useProjectModel();
3100
+ const [elementName, setElementName] = (0, import_react24.useState)();
3101
+ const [elementFolder, setElementFolder] = (0, import_react24.useState)();
3102
+ const [linkDashboardPage, setLinkDashboardPage] = (0, import_react24.useState)();
3103
+ const [generationData, setGenerationData] = (0, import_react24.useState)();
3104
+ const validateFolderName = useCustomElementDirectoryValidation("Site widget");
3105
+ const validateName = useCustomElementNameValidation();
3106
+ const { getExtensions } = useExtensions();
3107
+ const [finishedInstallation, setFinishedInstallation] = (0, import_react24.useState)(false);
3108
+ const defaultElementFolder = (0, import_lodash7.kebabCase)(elementName);
3109
+ const dashboardPages = getExtensions("DashboardPage");
3110
+ const dashboardPagesOptions = dashboardPages.map(
3111
+ ({ id, title }) => ({
3112
+ value: id,
3113
+ title
3114
+ })
3115
+ );
3116
+ const dashboardPagesExist = Boolean(dashboardPages.length);
3117
+ const extensionType = t2("generate_command.flow.custom_element").toLowerCase();
3118
+ const generationTask = useGenerationTask(async () => {
3119
+ if (generationData) {
3120
+ return generateCustomElement(
3121
+ model.projectFolder,
3122
+ generationData.folder,
3123
+ generationData.name,
3124
+ generationData.dashboardPageId
3125
+ );
3126
+ }
3127
+ }, [generationData]);
3128
+ return /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, /* @__PURE__ */ import_react24.default.createElement(
3129
+ TextInput,
3130
+ {
3131
+ label: t2("generate_command.custom_element.choose_name"),
3132
+ placeholder: t2("generate_command.custom_element.name_placeholder"),
3133
+ onSubmit: (value) => {
3134
+ bi.cliFlowStepAnswered({
3135
+ question: t2("generate_command.custom_element.choose_name"),
3136
+ questionKey: "generate_command.custom_element.choose_name",
3137
+ answer: value,
3138
+ additionalInfo: {
3139
+ extensionType
3140
+ }
3141
+ });
3142
+ setElementName(value);
3143
+ },
3144
+ validate: validateName
3145
+ }
3146
+ ), elementName && /* @__PURE__ */ import_react24.default.createElement(
3147
+ TextInput,
3148
+ {
3149
+ label: t2("generate_command.custom_element.choose_folder"),
3150
+ placeholder: defaultElementFolder,
3151
+ onSubmit: (value) => {
3152
+ bi.cliFlowStepAnswered({
3153
+ question: t2("generate_command.custom_element.choose_folder"),
3154
+ questionKey: "generate_command.custom_element.choose_folder",
3155
+ answer: value,
3156
+ additionalInfo: {
3157
+ extensionType
3158
+ }
3159
+ });
3160
+ setElementFolder(value);
3161
+ if (!dashboardPagesExist) {
3162
+ setGenerationData({
3163
+ name: elementName,
3164
+ folder: value
3165
+ });
3166
+ }
3167
+ },
3168
+ validate: validateFolderName
3169
+ }
3170
+ ), elementName && elementFolder && dashboardPagesExist && /* @__PURE__ */ import_react24.default.createElement(
3171
+ ConfirmInput,
3172
+ {
3173
+ label: t2("generate_command.custom_element.link_dashboard_page"),
3174
+ onSubmit: (shouldLinkDashboardPage) => {
3175
+ bi.cliFlowStepAnswered({
3176
+ question: t2(
3177
+ "generate_command.custom_element.link_dashboard_page"
3178
+ ),
3179
+ questionKey: "generate_command.custom_element.link_dashboard_page",
3180
+ answer: String(shouldLinkDashboardPage),
3181
+ additionalInfo: { extensionType }
3182
+ });
3183
+ setLinkDashboardPage(shouldLinkDashboardPage);
3184
+ if (!shouldLinkDashboardPage) {
3185
+ setGenerationData({
3186
+ name: elementName,
3187
+ folder: elementFolder
3188
+ });
3189
+ }
3190
+ }
3191
+ }
3192
+ ), elementName && elementFolder && dashboardPagesExist && linkDashboardPage && /* @__PURE__ */ import_react24.default.createElement(
3193
+ SelectInput,
3194
+ {
3195
+ label: t2("generate_command.custom_element.choose_dashboard_page"),
3196
+ options: dashboardPagesOptions,
3197
+ onSubmit: (option) => {
3198
+ bi.cliFlowStepAnswered({
3199
+ question: t2(
3200
+ "generate_command.custom_element.choose_dashboard_page"
3201
+ ),
3202
+ questionKey: "generate_command.custom_element.choose_dashboard_page",
3203
+ answer: option.title,
3204
+ additionalInfo: { extensionType }
3205
+ });
3206
+ setGenerationData({
3207
+ name: elementName,
3208
+ folder: elementFolder,
3209
+ dashboardPageId: option.value
3210
+ });
3211
+ }
3212
+ }
3201
3213
  ), (0, import_react24.useMemo)(
3202
3214
  () => (0, import_variant26.match)(generationTask, {
3203
3215
  Success: ({ hasUpdatedDependencies }) => {
@@ -3220,29 +3232,215 @@ var GenerateWebMethod = () => {
3220
3232
  })
3221
3233
  }
3222
3234
  ),
3223
- Error: () => null,
3224
- NotRequested: () => null
3235
+ NotRequested: () => null,
3236
+ Error: () => null
3225
3237
  }),
3226
3238
  [generationTask, setFinishedInstallation, t2, extensionType]
3227
- ), finishedInstallation && /* @__PURE__ */ import_react24.default.createElement(Box_default, { flexDirection: "column" }, /* @__PURE__ */ import_react24.default.createElement(Text, null, t2("generate_command.generation.done", {
3239
+ ), finishedInstallation && /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, /* @__PURE__ */ import_react24.default.createElement(Text, null, t2("generate_command.generation.done", {
3228
3240
  extensionType
3229
3241
  })), /* @__PURE__ */ import_react24.default.createElement(
3230
3242
  Trans,
3231
3243
  {
3232
3244
  i18nKey: "generate_command.generation.learn_more",
3233
3245
  values: { extensionType },
3234
- components: [/* @__PURE__ */ import_react24.default.createElement(Learn, null), /* @__PURE__ */ import_react24.default.createElement(Link, { url: "https://wix.to/BEkD5a1" })]
3246
+ components: [/* @__PURE__ */ import_react24.default.createElement(Learn, null), /* @__PURE__ */ import_react24.default.createElement(Link, { url: "https://wix.to/rEfCfbY" })]
3247
+ }
3248
+ )));
3249
+ };
3250
+
3251
+ // src/components/GenerateCommand/site-widget/blocks/Blocks.tsx
3252
+ init_esm_shims();
3253
+ var import_react25 = __toESM(require_react(), 1);
3254
+ var import_variant27 = __toESM(require_lib(), 1);
3255
+
3256
+ // src/components/GenerateCommand/site-widget/blocks/generate.ts
3257
+ init_esm_shims();
3258
+ import path14 from "node:path";
3259
+
3260
+ // src/files/tsconfig.ts
3261
+ init_esm_shims();
3262
+ import {
3263
+ DiagnosticCategory,
3264
+ readConfigFile,
3265
+ sys as typescriptSys
3266
+ } from "typescript";
3267
+ function readTSConfig(projectFolder) {
3268
+ const tsConfigResult = readConfigFile(
3269
+ getTSConfigFilePath(projectFolder),
3270
+ typescriptSys.readFile
3271
+ );
3272
+ if (tsConfigResult.error?.category === DiagnosticCategory.Error) {
3273
+ if (tsConfigResult.error.code === 5083) {
3274
+ throw new CliError({
3275
+ code: CliErrorCode.TSConfigNotFound({
3276
+ configPath: TS_CONFIG_FILENAME
3277
+ }),
3278
+ cause: tsConfigResult.error.messageText
3279
+ });
3280
+ }
3281
+ throw new CliError({
3282
+ code: CliErrorCode.InvalidTSConfigError({
3283
+ configPath: TS_CONFIG_FILENAME
3284
+ }),
3285
+ cause: tsConfigResult.error.messageText
3286
+ });
3287
+ }
3288
+ const config = tsConfigSchema.safeParse(tsConfigResult.config);
3289
+ if (config.success) {
3290
+ return config.data;
3291
+ }
3292
+ throw new CliError({
3293
+ code: CliErrorCode.InvalidConfigSchemaError({
3294
+ configPath: TS_CONFIG_FILENAME,
3295
+ zodError: config.error
3296
+ }),
3297
+ cause: config.error
3298
+ });
3299
+ }
3300
+ async function saveTSConfig(projectFolder, config) {
3301
+ await writeJson(getTSConfigFilePath(projectFolder), config, { spaces: 2 });
3302
+ }
3303
+
3304
+ // src/components/GenerateCommand/site-widget/blocks/generate.ts
3305
+ var BLOCKS_SUPPORT_TEMPLATE = path14.resolve(
3306
+ __dirname,
3307
+ "../templates/blocks-support"
3308
+ );
3309
+ async function enableBlocksInProject(projectFolder, config) {
3310
+ await saveWixConfig(projectFolder, {
3311
+ ...config,
3312
+ blocks: {
3313
+ uiRevision: ""
3314
+ }
3315
+ });
3316
+ const tsconfig = readTSConfig(projectFolder);
3317
+ if (!tsconfig.include?.includes(BLOCKS_TYPES_PATH)) {
3318
+ await saveTSConfig(projectFolder, {
3319
+ ...tsconfig,
3320
+ include: [...tsconfig.include ?? [], BLOCKS_TYPES_PATH]
3321
+ });
3322
+ }
3323
+ const newDependencies = await dependenciesUpdater({
3324
+ projectFolder,
3325
+ dependenciesJsonPath: path14.join(
3326
+ BLOCKS_SUPPORT_TEMPLATE,
3327
+ "dependencies.json"
3328
+ )
3329
+ });
3330
+ return { newDependencies };
3331
+ }
3332
+
3333
+ // src/components/GenerateCommand/site-widget/blocks/Blocks.tsx
3334
+ var AddBlocksSupportToProject = () => {
3335
+ const { t: t2 } = useTranslation();
3336
+ const { model } = useProjectModel();
3337
+ const [finishedInstallation, setFinishedInstallation] = (0, import_react25.useState)(false);
3338
+ const extensionType = t2(
3339
+ "generate_command.site_widget_wizard.blocks.title"
3340
+ ).toLowerCase();
3341
+ const supportBlocksTask = useGenerationTask(async () => {
3342
+ if (model.config.blocks) {
3343
+ return;
3344
+ }
3345
+ return enableBlocksInProject(model.projectFolder, model.config);
3346
+ }, []);
3347
+ return /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, (0, import_react25.useMemo)(
3348
+ () => (0, import_variant27.match)(supportBlocksTask, {
3349
+ Success: ({ hasUpdatedDependencies }) => {
3350
+ if (hasUpdatedDependencies) {
3351
+ return /* @__PURE__ */ import_react25.default.createElement(
3352
+ InstallDependencies,
3353
+ {
3354
+ onFinish: () => setFinishedInstallation(true)
3355
+ }
3356
+ );
3357
+ }
3358
+ setFinishedInstallation(true);
3359
+ },
3360
+ Loading: () => /* @__PURE__ */ import_react25.default.createElement(
3361
+ Spinner,
3362
+ {
3363
+ text: t2("generate_command.generation.loading", {
3364
+ subject: extensionType
3365
+ })
3366
+ }
3367
+ ),
3368
+ NotRequested: () => null,
3369
+ Error: () => null
3370
+ }),
3371
+ [supportBlocksTask, t2, extensionType]
3372
+ ), finishedInstallation && /* @__PURE__ */ import_react25.default.createElement(Box_default, { marginTop: 1 }, /* @__PURE__ */ import_react25.default.createElement(
3373
+ Trans,
3374
+ {
3375
+ i18nKey: "generate_command.blocks.success",
3376
+ components: [
3377
+ /* @__PURE__ */ import_react25.default.createElement(Link, { url: "https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/wix-cli/supported-extensions/site-extensions/blocks-site-widgets/add-a-blocks-site-widget-extension-in-the-cli" })
3378
+ ]
3235
3379
  }
3236
3380
  )));
3237
3381
  };
3238
3382
 
3383
+ // src/components/GenerateCommand/site-widget/SiteWidgetWizard.tsx
3384
+ var GenerateSiteWidgetWizard = () => {
3385
+ const bi = useWixCliAppBi();
3386
+ const { t: t2 } = useTranslation();
3387
+ const [selectedSiteWidgetType, setSelectedSiteWidgetType] = (0, import_react26.useState)();
3388
+ return /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, /* @__PURE__ */ import_react26.default.createElement(
3389
+ SelectInput,
3390
+ {
3391
+ label: t2("generate_command.site_widget_wizard.choose_extention.title"),
3392
+ info: t2("generate_command.site_widget_wizard.choose_extention.info"),
3393
+ options: [
3394
+ {
3395
+ title: t2(
3396
+ "generate_command.site_widget_wizard.custom_element_option.title"
3397
+ ),
3398
+ description: /* @__PURE__ */ import_react26.default.createElement(
3399
+ Trans,
3400
+ {
3401
+ i18nKey: "generate_command.site_widget_wizard.custom_element_option.description",
3402
+ components: [
3403
+ /* @__PURE__ */ import_react26.default.createElement(Link, { url: "https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/wix-cli/supported-extensions/site-extensions/site-widgets/add-a-site-widget-extension-in-the-cli" })
3404
+ ]
3405
+ }
3406
+ ),
3407
+ value: "customElement"
3408
+ },
3409
+ {
3410
+ title: t2("generate_command.site_widget_wizard.blocks.title"),
3411
+ description: /* @__PURE__ */ import_react26.default.createElement(
3412
+ Trans,
3413
+ {
3414
+ i18nKey: "generate_command.site_widget_wizard.blocks.description",
3415
+ components: [
3416
+ /* @__PURE__ */ import_react26.default.createElement(Link, { url: "https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/wix-cli/supported-extensions/site-extensions/blocks-site-widgets/add-a-blocks-site-widget-extension-in-the-cli" })
3417
+ ]
3418
+ }
3419
+ ),
3420
+ value: "blocks"
3421
+ }
3422
+ ],
3423
+ onSubmit: (option) => {
3424
+ bi.cliFlowStepAnswered({
3425
+ question: t2(
3426
+ "generate_command.site_widget_wizard.choose_extention.title"
3427
+ ),
3428
+ questionKey: "generate_command.site_widget_wizard.choose_extention.title",
3429
+ answer: option.title
3430
+ });
3431
+ setSelectedSiteWidgetType(option.value);
3432
+ }
3433
+ }
3434
+ ), selectedSiteWidgetType === "customElement" && /* @__PURE__ */ import_react26.default.createElement(GenerateCustomElement, null), selectedSiteWidgetType === "blocks" && /* @__PURE__ */ import_react26.default.createElement(AddBlocksSupportToProject, null));
3435
+ };
3436
+
3239
3437
  // src/components/GenerateCommand/GenerateCommand.tsx
3240
- var DevCenterGenerateFlow = (0, import_variant27.variant)((0, import_variant27.types)(DevCenterComponent));
3438
+ var DevCenterGenerateFlow = (0, import_variant28.variant)((0, import_variant28.types)(DevCenterComponent));
3241
3439
  var GenerateCommand = () => {
3242
3440
  const { t: t2 } = useTranslation();
3243
3441
  const bi = useWixCliAppBi();
3244
- const [generateFlow, setGenerateFlow] = (0, import_react25.useState)();
3245
- const generateFlows = (0, import_react25.useMemo)(
3442
+ const [generateFlow, setGenerateFlow] = (0, import_react27.useState)();
3443
+ const generateFlows = (0, import_react27.useMemo)(
3246
3444
  () => [
3247
3445
  {
3248
3446
  title: t2("generate_command.flow.dashboard_category"),
@@ -3323,7 +3521,7 @@ var GenerateCommand = () => {
3323
3521
  ],
3324
3522
  [t2]
3325
3523
  );
3326
- const selectFlow = (0, import_react25.useCallback)(
3524
+ const selectFlow = (0, import_react27.useCallback)(
3327
3525
  (selectedType) => {
3328
3526
  bi.cliFlowStepAnswered({
3329
3527
  question: t2("generate_command.flow.choose_flow"),
@@ -3334,7 +3532,7 @@ var GenerateCommand = () => {
3334
3532
  },
3335
3533
  [bi, t2]
3336
3534
  );
3337
- return /* @__PURE__ */ import_react25.default.createElement(Box_default, { flexDirection: "column", paddingTop: 1 }, /* @__PURE__ */ import_react25.default.createElement(
3535
+ return /* @__PURE__ */ import_react27.default.createElement(Box_default, { flexDirection: "column", paddingTop: 1 }, /* @__PURE__ */ import_react27.default.createElement(
3338
3536
  SelectGroupsInput,
3339
3537
  {
3340
3538
  label: t2("generate_command.flow.choose_flow"),
@@ -3342,21 +3540,21 @@ var GenerateCommand = () => {
3342
3540
  onSubmit: selectFlow,
3343
3541
  maxHeight: 14
3344
3542
  }
3345
- ), generateFlow && (0, import_variant27.match)(
3543
+ ), generateFlow && (0, import_variant28.match)(
3346
3544
  generateFlow,
3347
- (0, import_variant27.partial)({
3348
- DashboardPage: () => /* @__PURE__ */ import_react25.default.createElement(GenerateDashboardPage, null),
3349
- DashboardSidebarCategory: () => /* @__PURE__ */ import_react25.default.createElement(GenerateSidebarCategory, null),
3350
- EmbeddedScript: () => /* @__PURE__ */ import_react25.default.createElement(GenerateEmbeddedScript, null),
3351
- CustomElement: () => /* @__PURE__ */ import_react25.default.createElement(GenerateCustomElement, null),
3352
- SitePlugin: () => /* @__PURE__ */ import_react25.default.createElement(GenerateSitePlugin, null),
3353
- DashboardModal: () => /* @__PURE__ */ import_react25.default.createElement(GenerateDashboardModal, null),
3354
- DashboardPlugin: () => /* @__PURE__ */ import_react25.default.createElement(DashboardPlugin, null),
3355
- DashboardMenuPlugin: () => /* @__PURE__ */ import_react25.default.createElement(DashboardMenuPlugin, null),
3356
- ServicePlugin: () => /* @__PURE__ */ import_react25.default.createElement(GenerateServicePlugin, null),
3357
- Api: () => /* @__PURE__ */ import_react25.default.createElement(GenerateApi, null),
3358
- WebMethod: () => /* @__PURE__ */ import_react25.default.createElement(GenerateWebMethod, null),
3359
- Event: () => /* @__PURE__ */ import_react25.default.createElement(GenerateEvent, null),
3545
+ (0, import_variant28.partial)({
3546
+ DashboardPage: () => /* @__PURE__ */ import_react27.default.createElement(GenerateDashboardPage, null),
3547
+ DashboardSidebarCategory: () => /* @__PURE__ */ import_react27.default.createElement(GenerateSidebarCategory, null),
3548
+ EmbeddedScript: () => /* @__PURE__ */ import_react27.default.createElement(GenerateEmbeddedScript, null),
3549
+ CustomElement: () => /* @__PURE__ */ import_react27.default.createElement(GenerateSiteWidgetWizard, null),
3550
+ SitePlugin: () => /* @__PURE__ */ import_react27.default.createElement(GenerateSitePlugin, null),
3551
+ DashboardModal: () => /* @__PURE__ */ import_react27.default.createElement(GenerateDashboardModal, null),
3552
+ DashboardPlugin: () => /* @__PURE__ */ import_react27.default.createElement(DashboardPlugin, null),
3553
+ DashboardMenuPlugin: () => /* @__PURE__ */ import_react27.default.createElement(DashboardMenuPlugin, null),
3554
+ ServicePlugin: () => /* @__PURE__ */ import_react27.default.createElement(GenerateServicePlugin, null),
3555
+ Api: () => /* @__PURE__ */ import_react27.default.createElement(GenerateApi, null),
3556
+ WebMethod: () => /* @__PURE__ */ import_react27.default.createElement(GenerateWebMethod, null),
3557
+ Event: () => /* @__PURE__ */ import_react27.default.createElement(GenerateEvent, null),
3360
3558
  default: () => null
3361
3559
  })
3362
3560
  ));
@@ -3364,4 +3562,4 @@ var GenerateCommand = () => {
3364
3562
  export {
3365
3563
  GenerateCommand
3366
3564
  };
3367
- //# sourceMappingURL=GenerateCommand-MHQOLSPN.js.map
3565
+ //# sourceMappingURL=GenerateCommand-2LLGGJP3.js.map