@contentful/experience-design-system-cli 2.36.2-dev-build-dc6fb2aa.0 → 2.36.2-dev-build-c4497102.0
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.
- package/dist/app.js +247 -144
- package/dist/index.js +270 -144
- package/dist/package.json +1 -1
- package/dist/src/tui/control-hints.d.ts +7 -0
- package/dist/src/tui/debug-store.d.ts +1 -0
- package/dist/src/tui/help/help-info.d.ts +9 -0
- package/legacy/package.json +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -167,10 +167,23 @@ var init_use_terminal_width = __esm({
|
|
|
167
167
|
}
|
|
168
168
|
});
|
|
169
169
|
|
|
170
|
+
// packages/experience-design-system-cli/src/tui/control-hints.tsx
|
|
171
|
+
import { Text } from "ink";
|
|
172
|
+
import { jsx } from "react/jsx-runtime";
|
|
173
|
+
function ControlHints({ hints }) {
|
|
174
|
+
return /* @__PURE__ */ jsx(Text, { color: PALETTE.muted, children: hints.map((hint) => `${hint.keys} ${hint.label}`).join(" \xB7 ") });
|
|
175
|
+
}
|
|
176
|
+
var init_control_hints = __esm({
|
|
177
|
+
"packages/experience-design-system-cli/src/tui/control-hints.tsx"() {
|
|
178
|
+
"use strict";
|
|
179
|
+
init_home_theme();
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
|
|
170
183
|
// packages/experience-design-system-cli/src/tui/home/home.tsx
|
|
171
184
|
import { useEffect as useEffect2, useState as useState2 } from "react";
|
|
172
|
-
import { Box, Text, useApp, useInput } from "ink";
|
|
173
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
185
|
+
import { Box, Text as Text2, useApp, useInput } from "ink";
|
|
186
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
174
187
|
function upgradeItemDisplay(upgradeCheck) {
|
|
175
188
|
if (upgradeCheck?.status === "update-available") {
|
|
176
189
|
return { label: `Upgrade Version (v${upgradeCheck.latest} available)`, color: PALETTE.success };
|
|
@@ -213,27 +226,27 @@ function HomeScreen({ onNavigate }) {
|
|
|
213
226
|
});
|
|
214
227
|
if (tooNarrow) {
|
|
215
228
|
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
|
|
216
|
-
/* @__PURE__ */
|
|
217
|
-
/* @__PURE__ */
|
|
229
|
+
/* @__PURE__ */ jsx2(Text2, { bold: true, color: PALETTE.warning, children: "Terminal too small" }),
|
|
230
|
+
/* @__PURE__ */ jsx2(Text2, { color: PALETTE.muted, children: "Press q to quit, make your terminal full screen, then run experiences import again." })
|
|
218
231
|
] });
|
|
219
232
|
}
|
|
220
233
|
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
|
|
221
234
|
/* @__PURE__ */ jsxs(Box, { flexDirection: "column", alignItems: "center", children: [
|
|
222
|
-
/* @__PURE__ */
|
|
223
|
-
/* @__PURE__ */
|
|
224
|
-
/* @__PURE__ */
|
|
225
|
-
/* @__PURE__ */ jsxs(
|
|
235
|
+
/* @__PURE__ */ jsx2(Text2, { bold: true, color: PALETTE.heading, children: HEADING }),
|
|
236
|
+
/* @__PURE__ */ jsx2(Text2, { children: brandBar(HEADING.length).map((segment, i) => /* @__PURE__ */ jsx2(Text2, { color: segment.color, children: segment.text }, i)) }),
|
|
237
|
+
/* @__PURE__ */ jsx2(Text2, { color: PALETTE.muted, children: SUBTITLE }),
|
|
238
|
+
/* @__PURE__ */ jsxs(Text2, { color: PALETTE.muted, children: [
|
|
226
239
|
"v",
|
|
227
240
|
VERSION
|
|
228
241
|
] })
|
|
229
242
|
] }),
|
|
230
|
-
/* @__PURE__ */
|
|
243
|
+
/* @__PURE__ */ jsx2(Box, { marginTop: 1, justifyContent: "center", children: /* @__PURE__ */ jsx2(Box, { flexDirection: "column", children: START_ITEMS.map((item, i) => {
|
|
231
244
|
const focused = i === focusIdx;
|
|
232
245
|
const isUpgradeItem = item.screen === "upgrade";
|
|
233
246
|
const display = isUpgradeItem ? upgradeItemDisplay(upgradeCheck) : { label: item.label };
|
|
234
247
|
const dimmed = isUpgradeItem && upgradeDisabled;
|
|
235
248
|
return /* @__PURE__ */ jsxs(
|
|
236
|
-
|
|
249
|
+
Text2,
|
|
237
250
|
{
|
|
238
251
|
bold: focused && !dimmed,
|
|
239
252
|
dimColor: dimmed,
|
|
@@ -246,7 +259,16 @@ function HomeScreen({ onNavigate }) {
|
|
|
246
259
|
item.label
|
|
247
260
|
);
|
|
248
261
|
}) }) }),
|
|
249
|
-
/* @__PURE__ */
|
|
262
|
+
/* @__PURE__ */ jsx2(Box, { marginTop: 1, justifyContent: "center", children: /* @__PURE__ */ jsx2(
|
|
263
|
+
ControlHints,
|
|
264
|
+
{
|
|
265
|
+
hints: [
|
|
266
|
+
{ keys: "\u2191/\u2193", label: "move" },
|
|
267
|
+
{ keys: "\u23CE", label: "select" },
|
|
268
|
+
{ keys: "q", label: "quit" }
|
|
269
|
+
]
|
|
270
|
+
}
|
|
271
|
+
) })
|
|
250
272
|
] });
|
|
251
273
|
}
|
|
252
274
|
var VERSION, HEADING, SUBTITLE, MIN_TERMINAL_WIDTH, START_ITEMS;
|
|
@@ -256,6 +278,7 @@ var init_home = __esm({
|
|
|
256
278
|
init_home_theme();
|
|
257
279
|
init_version();
|
|
258
280
|
init_use_terminal_width();
|
|
281
|
+
init_control_hints();
|
|
259
282
|
VERSION = readPackageVersion();
|
|
260
283
|
HEADING = "Contentful Experiences";
|
|
261
284
|
SUBTITLE = "Let's import your design system into Contentful";
|
|
@@ -270,8 +293,8 @@ var init_home = __esm({
|
|
|
270
293
|
});
|
|
271
294
|
|
|
272
295
|
// packages/experience-design-system-cli/src/tui/import/PageContainer.tsx
|
|
273
|
-
import { Box as Box2, Text as
|
|
274
|
-
import { jsx as
|
|
296
|
+
import { Box as Box2, Text as Text3, useInput as useInput2 } from "ink";
|
|
297
|
+
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
275
298
|
function ImportScreen({ exitCode, onDone }) {
|
|
276
299
|
useInput2((input, key) => {
|
|
277
300
|
if (key.return || key.escape || input === "q") {
|
|
@@ -280,14 +303,14 @@ function ImportScreen({ exitCode, onDone }) {
|
|
|
280
303
|
});
|
|
281
304
|
const isSuccess = exitCode === 0;
|
|
282
305
|
return /* @__PURE__ */ jsxs2(Box2, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
|
|
283
|
-
/* @__PURE__ */
|
|
284
|
-
/* @__PURE__ */
|
|
285
|
-
isSuccess ? /* @__PURE__ */
|
|
306
|
+
/* @__PURE__ */ jsx3(Text3, { bold: true, children: "Import" }),
|
|
307
|
+
/* @__PURE__ */ jsx3(Text3, { children: " " }),
|
|
308
|
+
isSuccess ? /* @__PURE__ */ jsx3(Text3, { color: PALETTE.success, children: "\u2713 Import complete" }) : /* @__PURE__ */ jsxs2(Text3, { color: PALETTE.error, children: [
|
|
286
309
|
"\u2717 Import failed: process exited with code ",
|
|
287
310
|
exitCode ?? "unknown"
|
|
288
311
|
] }),
|
|
289
|
-
/* @__PURE__ */
|
|
290
|
-
/* @__PURE__ */
|
|
312
|
+
/* @__PURE__ */ jsx3(Text3, { children: " " }),
|
|
313
|
+
/* @__PURE__ */ jsx3(Text3, { dimColor: true, children: "[Enter] Back to Start" })
|
|
291
314
|
] });
|
|
292
315
|
}
|
|
293
316
|
var init_PageContainer = __esm({
|
|
@@ -333,9 +356,9 @@ var init_controls = __esm({
|
|
|
333
356
|
|
|
334
357
|
// packages/experience-design-system-cli/src/tui/import/steps/01-welcome/screen.tsx
|
|
335
358
|
import { useState as useState3 } from "react";
|
|
336
|
-
import { Box as Box3, Text as
|
|
359
|
+
import { Box as Box3, Text as Text4 } from "ink";
|
|
337
360
|
import TextInput from "ink-text-input";
|
|
338
|
-
import { jsx as
|
|
361
|
+
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
339
362
|
function WelcomeScreen({ onContinue, onQuit, initialPath = "" }) {
|
|
340
363
|
const [projectPath, setProjectPath] = useState3(initialPath);
|
|
341
364
|
useWelcomeControls(projectPath, onQuit);
|
|
@@ -344,25 +367,25 @@ function WelcomeScreen({ onContinue, onQuit, initialPath = "" }) {
|
|
|
344
367
|
if (path) onContinue(path);
|
|
345
368
|
};
|
|
346
369
|
return /* @__PURE__ */ jsxs3(Box3, { flexDirection: "column", gap: 1, paddingX: 2, paddingY: 1, children: [
|
|
347
|
-
/* @__PURE__ */
|
|
348
|
-
/* @__PURE__ */
|
|
370
|
+
/* @__PURE__ */ jsx4(Text4, { bold: true, color: PALETTE.success, children: "\u{1F44B} Hey! Let's import your design system into Contentful." }),
|
|
371
|
+
/* @__PURE__ */ jsx4(Text4, { dimColor: true, children: "I'll walk you through 5 steps to get your components into Contentful ExO." }),
|
|
349
372
|
/* @__PURE__ */ jsxs3(Box3, { flexDirection: "column", marginTop: 1, children: [
|
|
350
|
-
/* @__PURE__ */
|
|
373
|
+
/* @__PURE__ */ jsx4(Text4, { dimColor: true, children: RULE }),
|
|
351
374
|
OVERVIEW.map((item) => /* @__PURE__ */ jsxs3(Box3, { gap: 1, children: [
|
|
352
|
-
/* @__PURE__ */
|
|
353
|
-
/* @__PURE__ */
|
|
375
|
+
/* @__PURE__ */ jsx4(Text4, { bold: true, children: item.label }),
|
|
376
|
+
/* @__PURE__ */ jsx4(Text4, { dimColor: true, children: item.description })
|
|
354
377
|
] }, item.label)),
|
|
355
|
-
/* @__PURE__ */
|
|
378
|
+
/* @__PURE__ */ jsx4(Text4, { dimColor: true, children: RULE })
|
|
356
379
|
] }),
|
|
357
380
|
/* @__PURE__ */ jsxs3(Box3, { flexDirection: "column", marginTop: 1, children: [
|
|
358
|
-
/* @__PURE__ */
|
|
381
|
+
/* @__PURE__ */ jsx4(Text4, { children: "Where is your component library?" }),
|
|
359
382
|
/* @__PURE__ */ jsxs3(Box3, { gap: 1, children: [
|
|
360
|
-
/* @__PURE__ */
|
|
361
|
-
/* @__PURE__ */
|
|
362
|
-
/* @__PURE__ */
|
|
383
|
+
/* @__PURE__ */ jsx4(Text4, { color: PALETTE.accent, children: "?" }),
|
|
384
|
+
/* @__PURE__ */ jsx4(Text4, { children: "Project path:" }),
|
|
385
|
+
/* @__PURE__ */ jsx4(TextInput, { value: projectPath, onChange: setProjectPath, onSubmit: submit })
|
|
363
386
|
] })
|
|
364
387
|
] }),
|
|
365
|
-
/* @__PURE__ */
|
|
388
|
+
/* @__PURE__ */ jsx4(Box3, { marginTop: 1, gap: 3, children: WELCOME_CONTROLS.map((control) => /* @__PURE__ */ jsxs3(Text4, { dimColor: true, children: [
|
|
366
389
|
"[",
|
|
367
390
|
control.keys,
|
|
368
391
|
"] ",
|
|
@@ -468,9 +491,9 @@ var init_validate_path = __esm({
|
|
|
468
491
|
|
|
469
492
|
// packages/experience-design-system-cli/src/tui/import/steps/02-token-input/screen.tsx
|
|
470
493
|
import { useState as useState4 } from "react";
|
|
471
|
-
import { Box as Box4, Text as
|
|
494
|
+
import { Box as Box4, Text as Text5 } from "ink";
|
|
472
495
|
import TextInput2 from "ink-text-input";
|
|
473
|
-
import { jsx as
|
|
496
|
+
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
474
497
|
function TokenInputScreen({
|
|
475
498
|
onConfirm,
|
|
476
499
|
onSkip,
|
|
@@ -495,26 +518,26 @@ function TokenInputScreen({
|
|
|
495
518
|
else setFailure({ error: check.error, resolvedPath: check.resolvedPath });
|
|
496
519
|
};
|
|
497
520
|
return /* @__PURE__ */ jsxs4(Box4, { flexDirection: "column", gap: 1, paddingX: 2, paddingY: 1, children: [
|
|
498
|
-
/* @__PURE__ */
|
|
499
|
-
/* @__PURE__ */
|
|
521
|
+
/* @__PURE__ */ jsx5(Text5, { bold: true, children: "Design tokens" }),
|
|
522
|
+
/* @__PURE__ */ jsx5(Text5, { dimColor: true, children: "Point me to your raw token file (e.g. ~/design-tokens/tokens.json). You can use ~, relative, or absolute paths. Claude will map it to DTCG format." }),
|
|
500
523
|
/* @__PURE__ */ jsxs4(Box4, { flexDirection: "column", marginTop: 1, children: [
|
|
501
524
|
/* @__PURE__ */ jsxs4(Box4, { gap: 1, children: [
|
|
502
|
-
/* @__PURE__ */
|
|
503
|
-
/* @__PURE__ */
|
|
504
|
-
/* @__PURE__ */
|
|
525
|
+
/* @__PURE__ */ jsx5(Text5, { color: PALETTE.accent, children: "?" }),
|
|
526
|
+
/* @__PURE__ */ jsx5(Text5, { children: "Token path:" }),
|
|
527
|
+
/* @__PURE__ */ jsx5(TextInput2, { value: tokenPath, onChange: change, onSubmit: submit })
|
|
505
528
|
] }),
|
|
506
529
|
failure && /* @__PURE__ */ jsxs4(Box4, { flexDirection: "column", children: [
|
|
507
|
-
/* @__PURE__ */ jsxs4(
|
|
530
|
+
/* @__PURE__ */ jsxs4(Text5, { color: PALETTE.error, children: [
|
|
508
531
|
"\u2717 ",
|
|
509
532
|
failure.error
|
|
510
533
|
] }),
|
|
511
|
-
/* @__PURE__ */ jsxs4(
|
|
534
|
+
/* @__PURE__ */ jsxs4(Text5, { dimColor: true, children: [
|
|
512
535
|
" Resolved to: ",
|
|
513
536
|
failure.resolvedPath
|
|
514
537
|
] })
|
|
515
538
|
] })
|
|
516
539
|
] }),
|
|
517
|
-
/* @__PURE__ */
|
|
540
|
+
/* @__PURE__ */ jsx5(Box4, { marginTop: 1, gap: 3, children: TOKEN_INPUT_CONTROLS.map((control) => /* @__PURE__ */ jsxs4(Text5, { dimColor: true, children: [
|
|
518
541
|
"[",
|
|
519
542
|
control.keys,
|
|
520
543
|
"] ",
|
|
@@ -684,6 +707,9 @@ function generateSessionId() {
|
|
|
684
707
|
function sessionDebugDir() {
|
|
685
708
|
return join5(debugSessionsDir(), SESSION_ID);
|
|
686
709
|
}
|
|
710
|
+
function currentDebugSessionDir() {
|
|
711
|
+
return sessionDebugDir();
|
|
712
|
+
}
|
|
687
713
|
async function isDebugModeEnabled() {
|
|
688
714
|
try {
|
|
689
715
|
return (await readDebugModeSetting()).enabled;
|
|
@@ -801,13 +827,55 @@ var init_debug_store = __esm({
|
|
|
801
827
|
}
|
|
802
828
|
});
|
|
803
829
|
|
|
830
|
+
// packages/experience-design-system-cli/src/tui/help/help-info.ts
|
|
831
|
+
async function readHelpInfo() {
|
|
832
|
+
const debugMode = await readDebugModeSetting();
|
|
833
|
+
return {
|
|
834
|
+
storage: [
|
|
835
|
+
{ label: "Config folder", value: configRoot() },
|
|
836
|
+
{ label: "Settings file", value: configFilePath() },
|
|
837
|
+
{ label: "Debug logs", value: debugSessionsDir() }
|
|
838
|
+
],
|
|
839
|
+
troubleshooting: [
|
|
840
|
+
{ label: "CLI version", value: readPackageVersion() },
|
|
841
|
+
{ label: "Node", value: process.version },
|
|
842
|
+
{ label: "Platform", value: `${process.platform} ${process.arch}` },
|
|
843
|
+
{ label: "Debug Mode", value: debugMode.enabled ? "on" : "off" },
|
|
844
|
+
{
|
|
845
|
+
label: "This session",
|
|
846
|
+
value: debugMode.enabled ? currentDebugSessionDir() : "no logs written while Debug Mode is off"
|
|
847
|
+
}
|
|
848
|
+
]
|
|
849
|
+
};
|
|
850
|
+
}
|
|
851
|
+
var init_help_info = __esm({
|
|
852
|
+
"packages/experience-design-system-cli/src/tui/help/help-info.ts"() {
|
|
853
|
+
"use strict";
|
|
854
|
+
init_config();
|
|
855
|
+
init_debug_store();
|
|
856
|
+
init_debug_mode_store();
|
|
857
|
+
init_version();
|
|
858
|
+
}
|
|
859
|
+
});
|
|
860
|
+
|
|
804
861
|
// packages/experience-design-system-cli/src/tui/help/PageContainer.tsx
|
|
805
|
-
import { useEffect as useEffect3 } from "react";
|
|
806
|
-
import { Box as Box5, Text as
|
|
807
|
-
import { jsx as
|
|
862
|
+
import { useEffect as useEffect3, useState as useState5 } from "react";
|
|
863
|
+
import { Box as Box5, Text as Text6, useInput as useInput5 } from "ink";
|
|
864
|
+
import { Fragment, jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
865
|
+
function Section({ title, rows }) {
|
|
866
|
+
return /* @__PURE__ */ jsxs5(Box5, { flexDirection: "column", children: [
|
|
867
|
+
/* @__PURE__ */ jsx6(Text6, { bold: true, color: PALETTE.accent, children: title }),
|
|
868
|
+
rows.map((row) => /* @__PURE__ */ jsxs5(Box5, { gap: 1, children: [
|
|
869
|
+
/* @__PURE__ */ jsx6(Box5, { width: 14, flexShrink: 0, children: /* @__PURE__ */ jsx6(Text6, { dimColor: true, children: row.label }) }),
|
|
870
|
+
/* @__PURE__ */ jsx6(Text6, { children: row.value })
|
|
871
|
+
] }, row.label))
|
|
872
|
+
] });
|
|
873
|
+
}
|
|
808
874
|
function HelpScreen({ onDone }) {
|
|
875
|
+
const [info, setInfo] = useState5();
|
|
809
876
|
useEffect3(() => {
|
|
810
877
|
startDebugRun({ flow: "help", step: "01-help", menuOption: "Help", inputs: {} });
|
|
878
|
+
void readHelpInfo().then(setInfo);
|
|
811
879
|
}, []);
|
|
812
880
|
const leave = (exitMethod) => {
|
|
813
881
|
void finishDebugRun({ outputs: {}, status: "success", exitMethod });
|
|
@@ -823,30 +891,43 @@ function HelpScreen({ onDone }) {
|
|
|
823
891
|
return;
|
|
824
892
|
}
|
|
825
893
|
});
|
|
826
|
-
return /* @__PURE__ */ jsxs5(Box5, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
|
|
827
|
-
/* @__PURE__ */
|
|
828
|
-
/* @__PURE__ */
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
894
|
+
return /* @__PURE__ */ jsxs5(Box5, { flexDirection: "column", paddingX: 2, paddingY: 1, gap: 1, children: [
|
|
895
|
+
/* @__PURE__ */ jsx6(Text6, { bold: true, children: "Help" }),
|
|
896
|
+
info ? /* @__PURE__ */ jsxs5(Fragment, { children: [
|
|
897
|
+
/* @__PURE__ */ jsx6(Section, { title: "Where things are stored", rows: info.storage }),
|
|
898
|
+
/* @__PURE__ */ jsx6(Section, { title: "Troubleshooting", rows: info.troubleshooting }),
|
|
899
|
+
/* @__PURE__ */ jsx6(Text6, { dimColor: true, children: "Hit a problem? Turn on Debug Mode in Settings, reproduce it, then share the session folder above. The CMA token is redacted from those logs." })
|
|
900
|
+
] }) : /* @__PURE__ */ jsx6(Text6, { color: PALETTE.accent, children: "Loading..." }),
|
|
901
|
+
/* @__PURE__ */ jsx6(
|
|
902
|
+
ControlHints,
|
|
903
|
+
{
|
|
904
|
+
hints: [
|
|
905
|
+
{ keys: "\u23CE", label: "done" },
|
|
906
|
+
{ keys: "Esc/q", label: "back to start" }
|
|
907
|
+
]
|
|
908
|
+
}
|
|
909
|
+
)
|
|
832
910
|
] });
|
|
833
911
|
}
|
|
834
912
|
var init_PageContainer2 = __esm({
|
|
835
913
|
"packages/experience-design-system-cli/src/tui/help/PageContainer.tsx"() {
|
|
836
914
|
"use strict";
|
|
915
|
+
init_home_theme();
|
|
837
916
|
init_debug_store();
|
|
917
|
+
init_control_hints();
|
|
918
|
+
init_help_info();
|
|
838
919
|
}
|
|
839
920
|
});
|
|
840
921
|
|
|
841
922
|
// packages/experience-design-system-cli/src/tui/settings/PageContainer.tsx
|
|
842
|
-
import { useState as
|
|
843
|
-
import { Box as Box6, Text as
|
|
844
|
-
import { jsx as
|
|
923
|
+
import { useState as useState6 } from "react";
|
|
924
|
+
import { Box as Box6, Text as Text7, useInput as useInput6 } from "ink";
|
|
925
|
+
import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
845
926
|
function SettingsScreen({
|
|
846
927
|
onNavigate,
|
|
847
928
|
onBack
|
|
848
929
|
}) {
|
|
849
|
-
const [focusIdx, setFocusIdx] =
|
|
930
|
+
const [focusIdx, setFocusIdx] = useState6(0);
|
|
850
931
|
const items = [
|
|
851
932
|
{ label: "Configuration", screen: "settings-configuration" },
|
|
852
933
|
{ label: "Opt-in Analytics", screen: "settings-opt-in-analytics" },
|
|
@@ -873,19 +954,29 @@ function SettingsScreen({
|
|
|
873
954
|
}
|
|
874
955
|
});
|
|
875
956
|
return /* @__PURE__ */ jsxs6(Box6, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
|
|
876
|
-
/* @__PURE__ */
|
|
877
|
-
/* @__PURE__ */
|
|
878
|
-
items.map((item, i) => /* @__PURE__ */ jsxs6(
|
|
957
|
+
/* @__PURE__ */ jsx7(Text7, { bold: true, children: "Settings" }),
|
|
958
|
+
/* @__PURE__ */ jsx7(Text7, { children: " " }),
|
|
959
|
+
items.map((item, i) => /* @__PURE__ */ jsxs6(Text7, { color: i === focusIdx ? "cyan" : void 0, children: [
|
|
879
960
|
i === focusIdx ? "> " : " ",
|
|
880
961
|
item.label
|
|
881
962
|
] }, item.label)),
|
|
882
|
-
/* @__PURE__ */
|
|
883
|
-
/* @__PURE__ */
|
|
963
|
+
/* @__PURE__ */ jsx7(Text7, { children: " " }),
|
|
964
|
+
/* @__PURE__ */ jsx7(
|
|
965
|
+
ControlHints,
|
|
966
|
+
{
|
|
967
|
+
hints: [
|
|
968
|
+
{ keys: "\u2191/\u2193", label: "move" },
|
|
969
|
+
{ keys: "\u23CE", label: "select" },
|
|
970
|
+
{ keys: "Esc/q", label: "back" }
|
|
971
|
+
]
|
|
972
|
+
}
|
|
973
|
+
)
|
|
884
974
|
] });
|
|
885
975
|
}
|
|
886
976
|
var init_PageContainer3 = __esm({
|
|
887
977
|
"packages/experience-design-system-cli/src/tui/settings/PageContainer.tsx"() {
|
|
888
978
|
"use strict";
|
|
979
|
+
init_control_hints();
|
|
889
980
|
}
|
|
890
981
|
});
|
|
891
982
|
|
|
@@ -931,10 +1022,10 @@ var init_config_store = __esm({
|
|
|
931
1022
|
});
|
|
932
1023
|
|
|
933
1024
|
// packages/experience-design-system-cli/src/tui/settings/contentful-configuration/ContentfulConfigScreen.tsx
|
|
934
|
-
import { useEffect as useEffect4, useState as
|
|
935
|
-
import { Box as Box7, Text as
|
|
1025
|
+
import { useEffect as useEffect4, useState as useState7 } from "react";
|
|
1026
|
+
import { Box as Box7, Text as Text8, useInput as useInput7 } from "ink";
|
|
936
1027
|
import TextInput3 from "ink-text-input";
|
|
937
|
-
import { Fragment, jsx as
|
|
1028
|
+
import { Fragment as Fragment2, jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
938
1029
|
function debugFields(config) {
|
|
939
1030
|
return {
|
|
940
1031
|
space_id: config?.spaceId ?? "",
|
|
@@ -946,13 +1037,13 @@ function debugFields(config) {
|
|
|
946
1037
|
};
|
|
947
1038
|
}
|
|
948
1039
|
function ConfigurationScreen({ onDone }) {
|
|
949
|
-
const [stage, setStage] =
|
|
950
|
-
const [config, setConfig] =
|
|
951
|
-
const [activeField, setActiveField] =
|
|
952
|
-
const [notice, setNotice] =
|
|
953
|
-
const [lastSaved, setLastSaved] =
|
|
954
|
-
const [editing, setEditing] =
|
|
955
|
-
const [valueBeforeEdit, setValueBeforeEdit] =
|
|
1040
|
+
const [stage, setStage] = useState7("loading");
|
|
1041
|
+
const [config, setConfig] = useState7(null);
|
|
1042
|
+
const [activeField, setActiveField] = useState7("spaceId");
|
|
1043
|
+
const [notice, setNotice] = useState7(null);
|
|
1044
|
+
const [lastSaved, setLastSaved] = useState7(null);
|
|
1045
|
+
const [editing, setEditing] = useState7(false);
|
|
1046
|
+
const [valueBeforeEdit, setValueBeforeEdit] = useState7("");
|
|
956
1047
|
useEffect4(() => {
|
|
957
1048
|
readCredentials().then((cfg) => {
|
|
958
1049
|
setConfig(cfg);
|
|
@@ -1031,25 +1122,25 @@ function ConfigurationScreen({ onDone }) {
|
|
|
1031
1122
|
});
|
|
1032
1123
|
if (stage === "loading") {
|
|
1033
1124
|
return /* @__PURE__ */ jsxs7(Box7, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
|
|
1034
|
-
/* @__PURE__ */
|
|
1035
|
-
/* @__PURE__ */
|
|
1036
|
-
/* @__PURE__ */
|
|
1125
|
+
/* @__PURE__ */ jsx8(Text8, { bold: true, children: "Configuration" }),
|
|
1126
|
+
/* @__PURE__ */ jsx8(Text8, { children: " " }),
|
|
1127
|
+
/* @__PURE__ */ jsx8(Text8, { color: PALETTE.accent, children: "Loading..." })
|
|
1037
1128
|
] });
|
|
1038
1129
|
}
|
|
1039
1130
|
return /* @__PURE__ */ jsxs7(Box7, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
|
|
1040
|
-
/* @__PURE__ */
|
|
1041
|
-
/* @__PURE__ */
|
|
1042
|
-
/* @__PURE__ */
|
|
1131
|
+
/* @__PURE__ */ jsx8(Text8, { bold: true, children: "Configuration" }),
|
|
1132
|
+
/* @__PURE__ */ jsx8(Text8, { children: " " }),
|
|
1133
|
+
/* @__PURE__ */ jsx8(Box7, { flexDirection: "column", children: FIELD_ORDER.map((field) => {
|
|
1043
1134
|
const isActive = activeField === field;
|
|
1044
1135
|
const value = fieldValue(field);
|
|
1045
1136
|
const display = field === "cmaToken" ? "\u2022".repeat(value.length) : value;
|
|
1046
1137
|
return /* @__PURE__ */ jsxs7(Box7, { gap: 1, children: [
|
|
1047
|
-
/* @__PURE__ */
|
|
1048
|
-
/* @__PURE__ */ jsxs7(
|
|
1138
|
+
/* @__PURE__ */ jsx8(Text8, { color: isActive ? PALETTE.accent : void 0, children: isActive ? "\u276F" : " " }),
|
|
1139
|
+
/* @__PURE__ */ jsxs7(Text8, { bold: isActive, children: [
|
|
1049
1140
|
FIELD_LABELS[field],
|
|
1050
1141
|
":"
|
|
1051
1142
|
] }),
|
|
1052
|
-
isActive && editing ? /* @__PURE__ */
|
|
1143
|
+
isActive && editing ? /* @__PURE__ */ jsx8(
|
|
1053
1144
|
TextInput3,
|
|
1054
1145
|
{
|
|
1055
1146
|
value,
|
|
@@ -1057,19 +1148,35 @@ function ConfigurationScreen({ onDone }) {
|
|
|
1057
1148
|
onSubmit: () => setEditing(false),
|
|
1058
1149
|
mask: field === "cmaToken" ? "\u2022" : void 0
|
|
1059
1150
|
}
|
|
1060
|
-
) : /* @__PURE__ */
|
|
1151
|
+
) : /* @__PURE__ */ jsx8(Text8, { children: display || /* @__PURE__ */ jsx8(Text8, { dimColor: true, children: "(empty)" }) })
|
|
1061
1152
|
] }, field);
|
|
1062
1153
|
}) }),
|
|
1063
|
-
notice && /* @__PURE__ */ jsxs7(
|
|
1064
|
-
/* @__PURE__ */
|
|
1065
|
-
/* @__PURE__ */ jsxs7(
|
|
1154
|
+
notice && /* @__PURE__ */ jsxs7(Fragment2, { children: [
|
|
1155
|
+
/* @__PURE__ */ jsx8(Text8, { children: " " }),
|
|
1156
|
+
/* @__PURE__ */ jsxs7(Text8, { color: notice.kind === "success" ? PALETTE.success : PALETTE.error, children: [
|
|
1066
1157
|
notice.kind === "success" ? "\u2713" : "\u2717",
|
|
1067
1158
|
" ",
|
|
1068
1159
|
notice.text
|
|
1069
1160
|
] })
|
|
1070
1161
|
] }),
|
|
1071
|
-
/* @__PURE__ */
|
|
1072
|
-
/* @__PURE__ */
|
|
1162
|
+
/* @__PURE__ */ jsx8(Text8, { children: " " }),
|
|
1163
|
+
/* @__PURE__ */ jsx8(
|
|
1164
|
+
ControlHints,
|
|
1165
|
+
{
|
|
1166
|
+
hints: editing ? [
|
|
1167
|
+
{ keys: "type", label: "edit" },
|
|
1168
|
+
{ keys: "\u2190/\u2192", label: "move cursor" },
|
|
1169
|
+
{ keys: "\u23CE", label: "done" },
|
|
1170
|
+
{ keys: "Esc", label: "cancel edit" }
|
|
1171
|
+
] : [
|
|
1172
|
+
{ keys: "\u2191/\u2193", label: "move" },
|
|
1173
|
+
{ keys: "\u23CE", label: "edit" },
|
|
1174
|
+
{ keys: "c", label: "clear" },
|
|
1175
|
+
{ keys: "s", label: "save" },
|
|
1176
|
+
{ keys: "Esc/q", label: "quit without saving" }
|
|
1177
|
+
]
|
|
1178
|
+
}
|
|
1179
|
+
)
|
|
1073
1180
|
] });
|
|
1074
1181
|
}
|
|
1075
1182
|
var FIELD_ORDER, FIELD_LABELS;
|
|
@@ -1079,6 +1186,7 @@ var init_ContentfulConfigScreen = __esm({
|
|
|
1079
1186
|
init_home_theme();
|
|
1080
1187
|
init_config_store();
|
|
1081
1188
|
init_debug_store();
|
|
1189
|
+
init_control_hints();
|
|
1082
1190
|
FIELD_ORDER = [
|
|
1083
1191
|
"spaceId",
|
|
1084
1192
|
"environmentId",
|
|
@@ -1120,12 +1228,12 @@ var init_analytics_store = __esm({
|
|
|
1120
1228
|
});
|
|
1121
1229
|
|
|
1122
1230
|
// packages/experience-design-system-cli/src/tui/settings/opt-in-analytics/screen.tsx
|
|
1123
|
-
import { useEffect as useEffect5, useState as
|
|
1124
|
-
import { Box as Box8, Text as
|
|
1125
|
-
import { Fragment as
|
|
1231
|
+
import { useEffect as useEffect5, useState as useState8 } from "react";
|
|
1232
|
+
import { Box as Box8, Text as Text9, useInput as useInput8 } from "ink";
|
|
1233
|
+
import { Fragment as Fragment3, jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1126
1234
|
function OptInAnalyticsScreen({ onDone }) {
|
|
1127
|
-
const [loading, setLoading] =
|
|
1128
|
-
const [enabled, setEnabled] =
|
|
1235
|
+
const [loading, setLoading] = useState8(true);
|
|
1236
|
+
const [enabled, setEnabled] = useState8(true);
|
|
1129
1237
|
useEffect5(() => {
|
|
1130
1238
|
readAnalyticsSetting().then((setting) => {
|
|
1131
1239
|
setEnabled(setting.enabled);
|
|
@@ -1154,20 +1262,28 @@ function OptInAnalyticsScreen({ onDone }) {
|
|
|
1154
1262
|
}
|
|
1155
1263
|
});
|
|
1156
1264
|
return /* @__PURE__ */ jsxs8(Box8, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
|
|
1157
|
-
/* @__PURE__ */
|
|
1158
|
-
/* @__PURE__ */
|
|
1159
|
-
loading ? /* @__PURE__ */
|
|
1160
|
-
/* @__PURE__ */ jsxs8(
|
|
1265
|
+
/* @__PURE__ */ jsx9(Text9, { bold: true, children: "Settings \u203A Opt-in Analytics" }),
|
|
1266
|
+
/* @__PURE__ */ jsx9(Text9, { children: " " }),
|
|
1267
|
+
loading ? /* @__PURE__ */ jsx9(Text9, { color: PALETTE.muted, children: "Loading\u2026" }) : /* @__PURE__ */ jsxs8(Fragment3, { children: [
|
|
1268
|
+
/* @__PURE__ */ jsxs8(Text9, { children: [
|
|
1161
1269
|
"Share anonymous usage data:",
|
|
1162
1270
|
" ",
|
|
1163
|
-
/* @__PURE__ */
|
|
1271
|
+
/* @__PURE__ */ jsx9(Text9, { bold: true, color: enabled ? PALETTE.success : PALETTE.muted, children: enabled ? "On" : "Off" })
|
|
1164
1272
|
] }),
|
|
1165
|
-
/* @__PURE__ */
|
|
1166
|
-
/* @__PURE__ */
|
|
1167
|
-
/* @__PURE__ */
|
|
1273
|
+
/* @__PURE__ */ jsx9(Text9, { children: " " }),
|
|
1274
|
+
/* @__PURE__ */ jsx9(Text9, { dimColor: true, children: "Shares which CLI commands are used and where imports succeed or fail." }),
|
|
1275
|
+
/* @__PURE__ */ jsx9(Text9, { dimColor: true, children: "Never includes source code, file paths, credentials, or authored content." })
|
|
1168
1276
|
] }),
|
|
1169
|
-
/* @__PURE__ */
|
|
1170
|
-
/* @__PURE__ */
|
|
1277
|
+
/* @__PURE__ */ jsx9(Text9, { children: " " }),
|
|
1278
|
+
/* @__PURE__ */ jsx9(
|
|
1279
|
+
ControlHints,
|
|
1280
|
+
{
|
|
1281
|
+
hints: [
|
|
1282
|
+
{ keys: "\u23CE/Space", label: "toggle" },
|
|
1283
|
+
{ keys: "Esc/q", label: "back" }
|
|
1284
|
+
]
|
|
1285
|
+
}
|
|
1286
|
+
)
|
|
1171
1287
|
] });
|
|
1172
1288
|
}
|
|
1173
1289
|
var init_screen3 = __esm({
|
|
@@ -1176,15 +1292,16 @@ var init_screen3 = __esm({
|
|
|
1176
1292
|
init_home_theme();
|
|
1177
1293
|
init_analytics_store();
|
|
1178
1294
|
init_debug_store();
|
|
1295
|
+
init_control_hints();
|
|
1179
1296
|
}
|
|
1180
1297
|
});
|
|
1181
1298
|
|
|
1182
1299
|
// packages/experience-design-system-cli/src/tui/upgrade/PageContainer.tsx
|
|
1183
|
-
import { useEffect as useEffect6, useState as
|
|
1184
|
-
import { Box as Box9, Text as
|
|
1185
|
-
import { jsx as
|
|
1300
|
+
import { useEffect as useEffect6, useState as useState9 } from "react";
|
|
1301
|
+
import { Box as Box9, Text as Text10, useInput as useInput9 } from "ink";
|
|
1302
|
+
import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1186
1303
|
function UpgradeScreen({ onDone }) {
|
|
1187
|
-
const [upgradeCheck, setUpgradeCheck] =
|
|
1304
|
+
const [upgradeCheck, setUpgradeCheck] = useState9();
|
|
1188
1305
|
useEffect6(() => {
|
|
1189
1306
|
startDebugRun({
|
|
1190
1307
|
flow: "upgrade",
|
|
@@ -1206,11 +1323,11 @@ function UpgradeScreen({ onDone }) {
|
|
|
1206
1323
|
}
|
|
1207
1324
|
});
|
|
1208
1325
|
return /* @__PURE__ */ jsxs9(Box9, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
|
|
1209
|
-
/* @__PURE__ */
|
|
1210
|
-
/* @__PURE__ */
|
|
1326
|
+
/* @__PURE__ */ jsx10(Text10, { bold: true, children: "Upgrade" }),
|
|
1327
|
+
/* @__PURE__ */ jsx10(Text10, { children: " " }),
|
|
1211
1328
|
renderBody(upgradeCheck),
|
|
1212
|
-
/* @__PURE__ */
|
|
1213
|
-
/* @__PURE__ */ jsxs9(
|
|
1329
|
+
/* @__PURE__ */ jsx10(Text10, { children: " " }),
|
|
1330
|
+
/* @__PURE__ */ jsxs9(Text10, { bold: true, color: PALETTE.accent, children: [
|
|
1214
1331
|
FOCUS_MARKER,
|
|
1215
1332
|
" Go Back"
|
|
1216
1333
|
] })
|
|
@@ -1218,34 +1335,34 @@ function UpgradeScreen({ onDone }) {
|
|
|
1218
1335
|
}
|
|
1219
1336
|
function renderBody(upgradeCheck) {
|
|
1220
1337
|
if (!upgradeCheck) {
|
|
1221
|
-
return /* @__PURE__ */
|
|
1338
|
+
return /* @__PURE__ */ jsx10(Text10, { color: PALETTE.muted, children: "Checking for updates\u2026" });
|
|
1222
1339
|
}
|
|
1223
1340
|
if (upgradeCheck.status === "error") {
|
|
1224
|
-
return /* @__PURE__ */
|
|
1341
|
+
return /* @__PURE__ */ jsx10(Text10, { color: PALETTE.warning, children: "Couldn't check for updates \u2014 check your network connection and try again." });
|
|
1225
1342
|
}
|
|
1226
1343
|
if (upgradeCheck.status === "up-to-date") {
|
|
1227
|
-
return /* @__PURE__ */ jsxs9(
|
|
1344
|
+
return /* @__PURE__ */ jsxs9(Text10, { color: PALETTE.success, children: [
|
|
1228
1345
|
"You're already on the latest version (v",
|
|
1229
1346
|
upgradeCheck.current,
|
|
1230
1347
|
")."
|
|
1231
1348
|
] });
|
|
1232
1349
|
}
|
|
1233
1350
|
return /* @__PURE__ */ jsxs9(Box9, { flexDirection: "column", children: [
|
|
1234
|
-
/* @__PURE__ */ jsxs9(
|
|
1235
|
-
/* @__PURE__ */ jsxs9(
|
|
1351
|
+
/* @__PURE__ */ jsxs9(Text10, { color: PALETTE.muted, children: [
|
|
1352
|
+
/* @__PURE__ */ jsxs9(Text10, { bold: true, color: PALETTE.success, children: [
|
|
1236
1353
|
"v",
|
|
1237
1354
|
upgradeCheck.latest
|
|
1238
1355
|
] }),
|
|
1239
1356
|
" ",
|
|
1240
1357
|
"is available (you're on ",
|
|
1241
|
-
/* @__PURE__ */ jsxs9(
|
|
1358
|
+
/* @__PURE__ */ jsxs9(Text10, { bold: true, children: [
|
|
1242
1359
|
"v",
|
|
1243
1360
|
upgradeCheck.current
|
|
1244
1361
|
] }),
|
|
1245
1362
|
"). Exit this program, cd into the root of your local clone of contentful/experience-design-system-sdk-public, then run:"
|
|
1246
1363
|
] }),
|
|
1247
|
-
/* @__PURE__ */
|
|
1248
|
-
/* @__PURE__ */
|
|
1364
|
+
/* @__PURE__ */ jsx10(Text10, { children: " " }),
|
|
1365
|
+
/* @__PURE__ */ jsx10(Box9, { flexDirection: "column", borderStyle: "round", borderColor: PALETTE.border, paddingX: 1, children: UPGRADE_COMMANDS.map((cmd) => /* @__PURE__ */ jsx10(Text10, { bold: true, children: cmd }, cmd)) })
|
|
1249
1366
|
] });
|
|
1250
1367
|
}
|
|
1251
1368
|
var UPGRADE_COMMANDS;
|
|
@@ -1260,12 +1377,12 @@ var init_PageContainer4 = __esm({
|
|
|
1260
1377
|
});
|
|
1261
1378
|
|
|
1262
1379
|
// packages/experience-design-system-cli/src/tui/settings/debug-mode/screen.tsx
|
|
1263
|
-
import { useEffect as useEffect7, useState as
|
|
1264
|
-
import { Box as Box10, Text as
|
|
1265
|
-
import { jsx as
|
|
1380
|
+
import { useEffect as useEffect7, useState as useState10 } from "react";
|
|
1381
|
+
import { Box as Box10, Text as Text11, useInput as useInput10 } from "ink";
|
|
1382
|
+
import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1266
1383
|
function DebugModeScreen({ onDone }) {
|
|
1267
|
-
const [loading, setLoading] =
|
|
1268
|
-
const [enabled, setEnabled] =
|
|
1384
|
+
const [loading, setLoading] = useState10(true);
|
|
1385
|
+
const [enabled, setEnabled] = useState10(true);
|
|
1269
1386
|
useEffect7(() => {
|
|
1270
1387
|
readDebugModeSetting().then((setting) => {
|
|
1271
1388
|
setEnabled(setting.enabled);
|
|
@@ -1294,15 +1411,23 @@ function DebugModeScreen({ onDone }) {
|
|
|
1294
1411
|
}
|
|
1295
1412
|
});
|
|
1296
1413
|
return /* @__PURE__ */ jsxs10(Box10, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
|
|
1297
|
-
/* @__PURE__ */
|
|
1298
|
-
/* @__PURE__ */
|
|
1299
|
-
loading ? /* @__PURE__ */
|
|
1414
|
+
/* @__PURE__ */ jsx11(Text11, { bold: true, children: "Settings \u203A Debug Mode" }),
|
|
1415
|
+
/* @__PURE__ */ jsx11(Text11, { children: " " }),
|
|
1416
|
+
loading ? /* @__PURE__ */ jsx11(Text11, { color: PALETTE.muted, children: "Loading\u2026" }) : /* @__PURE__ */ jsxs10(Text11, { children: [
|
|
1300
1417
|
"Debug logging:",
|
|
1301
1418
|
" ",
|
|
1302
|
-
/* @__PURE__ */
|
|
1419
|
+
/* @__PURE__ */ jsx11(Text11, { bold: true, color: enabled ? PALETTE.success : PALETTE.muted, children: enabled ? "On" : "Off" })
|
|
1303
1420
|
] }),
|
|
1304
|
-
/* @__PURE__ */
|
|
1305
|
-
/* @__PURE__ */
|
|
1421
|
+
/* @__PURE__ */ jsx11(Text11, { children: " " }),
|
|
1422
|
+
/* @__PURE__ */ jsx11(
|
|
1423
|
+
ControlHints,
|
|
1424
|
+
{
|
|
1425
|
+
hints: [
|
|
1426
|
+
{ keys: "\u23CE/Space", label: "toggle" },
|
|
1427
|
+
{ keys: "Esc/q", label: "back" }
|
|
1428
|
+
]
|
|
1429
|
+
}
|
|
1430
|
+
)
|
|
1306
1431
|
] });
|
|
1307
1432
|
}
|
|
1308
1433
|
var init_screen4 = __esm({
|
|
@@ -1311,6 +1436,7 @@ var init_screen4 = __esm({
|
|
|
1311
1436
|
init_home_theme();
|
|
1312
1437
|
init_debug_mode_store();
|
|
1313
1438
|
init_debug_store();
|
|
1439
|
+
init_control_hints();
|
|
1314
1440
|
}
|
|
1315
1441
|
});
|
|
1316
1442
|
|
|
@@ -1319,14 +1445,14 @@ var app_exports = {};
|
|
|
1319
1445
|
__export(app_exports, {
|
|
1320
1446
|
runApp: () => runApp
|
|
1321
1447
|
});
|
|
1322
|
-
import { useEffect as useEffect8, useState as
|
|
1323
|
-
import { Fragment as
|
|
1448
|
+
import { useEffect as useEffect8, useState as useState11 } from "react";
|
|
1449
|
+
import { Fragment as Fragment4, jsx as jsx12 } from "react/jsx-runtime";
|
|
1324
1450
|
function App({ onLaunchImport, importExitCode }) {
|
|
1325
1451
|
const returnedFromImport = importExitCode !== void 0;
|
|
1326
|
-
const [screen, setScreen] =
|
|
1327
|
-
const [showImportResult, setShowImportResult] =
|
|
1328
|
-
const [projectPath, setProjectPath] =
|
|
1329
|
-
const [importDefaults, setImportDefaults] =
|
|
1452
|
+
const [screen, setScreen] = useState11(returnedFromImport ? "import" : "start");
|
|
1453
|
+
const [showImportResult, setShowImportResult] = useState11(returnedFromImport);
|
|
1454
|
+
const [projectPath, setProjectPath] = useState11();
|
|
1455
|
+
const [importDefaults, setImportDefaults] = useState11();
|
|
1330
1456
|
useEffect8(() => {
|
|
1331
1457
|
if (screen !== "import") {
|
|
1332
1458
|
setImportDefaults(void 0);
|
|
@@ -1349,12 +1475,12 @@ function App({ onLaunchImport, importExitCode }) {
|
|
|
1349
1475
|
};
|
|
1350
1476
|
switch (screen) {
|
|
1351
1477
|
case "import":
|
|
1352
|
-
if (showImportResult) return /* @__PURE__ */
|
|
1353
|
-
if (importDefaults === void 0) return /* @__PURE__ */
|
|
1478
|
+
if (showImportResult) return /* @__PURE__ */ jsx12(ImportScreen, { exitCode: importExitCode, onDone: finishImportResult });
|
|
1479
|
+
if (importDefaults === void 0) return /* @__PURE__ */ jsx12(Fragment4, {});
|
|
1354
1480
|
if (projectPath === void 0) {
|
|
1355
|
-
return /* @__PURE__ */
|
|
1481
|
+
return /* @__PURE__ */ jsx12(WelcomeScreen, { onContinue: setProjectPath, onQuit: leaveImport, initialPath: importDefaults.componentDir });
|
|
1356
1482
|
}
|
|
1357
|
-
return /* @__PURE__ */
|
|
1483
|
+
return /* @__PURE__ */ jsx12(
|
|
1358
1484
|
TokenInputScreen,
|
|
1359
1485
|
{
|
|
1360
1486
|
initialPath: importDefaults.tokenFile,
|
|
@@ -1364,25 +1490,25 @@ function App({ onLaunchImport, importExitCode }) {
|
|
|
1364
1490
|
}
|
|
1365
1491
|
);
|
|
1366
1492
|
case "help":
|
|
1367
|
-
return /* @__PURE__ */
|
|
1493
|
+
return /* @__PURE__ */ jsx12(HelpScreen, { onDone: goToStart });
|
|
1368
1494
|
case "upgrade":
|
|
1369
|
-
return /* @__PURE__ */
|
|
1495
|
+
return /* @__PURE__ */ jsx12(UpgradeScreen, { onDone: goToStart });
|
|
1370
1496
|
case "settings":
|
|
1371
|
-
return /* @__PURE__ */
|
|
1497
|
+
return /* @__PURE__ */ jsx12(SettingsScreen, { onNavigate: setScreen, onBack: goToStart });
|
|
1372
1498
|
case "settings-configuration":
|
|
1373
|
-
return /* @__PURE__ */
|
|
1499
|
+
return /* @__PURE__ */ jsx12(ConfigurationScreen, { onDone: goToSettings });
|
|
1374
1500
|
case "settings-opt-in-analytics":
|
|
1375
|
-
return /* @__PURE__ */
|
|
1501
|
+
return /* @__PURE__ */ jsx12(OptInAnalyticsScreen, { onDone: goToSettings });
|
|
1376
1502
|
case "settings-debug-mode":
|
|
1377
|
-
return /* @__PURE__ */
|
|
1503
|
+
return /* @__PURE__ */ jsx12(DebugModeScreen, { onDone: goToSettings });
|
|
1378
1504
|
case "start":
|
|
1379
|
-
return /* @__PURE__ */
|
|
1505
|
+
return /* @__PURE__ */ jsx12(HomeScreen, { onNavigate: setScreen });
|
|
1380
1506
|
}
|
|
1381
1507
|
}
|
|
1382
1508
|
async function renderUntilImportRequestedOrExit(renderApp, importExitCode) {
|
|
1383
1509
|
let requestedImport;
|
|
1384
1510
|
const instance = renderApp(
|
|
1385
|
-
/* @__PURE__ */
|
|
1511
|
+
/* @__PURE__ */ jsx12(
|
|
1386
1512
|
App,
|
|
1387
1513
|
{
|
|
1388
1514
|
importExitCode,
|