@contentful/experience-design-system-cli 2.37.1-dev-build-a7704a7f.0 → 2.37.1-dev-build-daf73756.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 +381 -291
- package/dist/index.js +445 -355
- package/dist/package.json +1 -1
- package/dist/src/tui/home/home.theme.d.ts +0 -8
- package/dist/src/tui/import/steps/07-scope-gate/keymap.d.ts +2 -0
- package/dist/src/tui/import/steps/07-scope-gate/sidebar/components/GroupedSidebar.d.ts +2 -0
- package/dist/src/tui/import/steps/07-scope-gate/sidebar/theme.d.ts +6 -6
- package/dist/src/tui/import/steps/07-scope-gate/state.d.ts +3 -2
- package/dist/src/tui/import/steps/07-scope-gate/types.d.ts +7 -0
- package/dist/src/tui/import/steps/07-scope-gate/use-scope-gate.d.ts +1 -1
- package/dist/src/tui/import/steps/08-generation/types.d.ts +2 -4
- package/dist/src/tui/theme.d.ts +19 -0
- package/package.json +3 -3
- package/dist/src/tui/import/steps/09-review/theme.d.ts +0 -9
- package/dist/src/tui/import/steps/10-flow/theme.d.ts +0 -13
package/dist/index.js
CHANGED
|
@@ -3765,8 +3765,30 @@ function applyScopeDecisions(db, sessionId, decisions) {
|
|
|
3765
3765
|
const placeholders = accepted.map(() => "?").join(",");
|
|
3766
3766
|
db.prepare(`UPDATE raw_components SET status = 'generated' WHERE session_id = ? AND name IN (${placeholders})`).run(sessionId, ...accepted);
|
|
3767
3767
|
}
|
|
3768
|
+
removeSlotAllowedComponents(db, sessionId, decisions.excludedSlotEdges ?? [], rejected);
|
|
3768
3769
|
db.prepare("UPDATE sessions SET updated_at = ? WHERE id = ?").run(now, sessionId);
|
|
3769
3770
|
}
|
|
3771
|
+
function removeSlotAllowedComponents(db, sessionId, edges, rejectedNames) {
|
|
3772
|
+
if (edges.length === 0 && rejectedNames.length === 0)
|
|
3773
|
+
return;
|
|
3774
|
+
const componentId = db.prepare("SELECT component_id FROM raw_components WHERE session_id = ? AND name = ?");
|
|
3775
|
+
const removeEdge = db.prepare("DELETE FROM raw_slot_allowed_components WHERE session_id = ? AND component_id = ? AND allowed_component = ?");
|
|
3776
|
+
const removeEverywhere = db.prepare("DELETE FROM raw_slot_allowed_components WHERE session_id = ? AND allowed_component = ?");
|
|
3777
|
+
db.exec("BEGIN");
|
|
3778
|
+
try {
|
|
3779
|
+
for (const edge of edges) {
|
|
3780
|
+
const row = componentId.get(sessionId, edge.parent);
|
|
3781
|
+
if (row)
|
|
3782
|
+
removeEdge.run(sessionId, row.component_id, edge.child);
|
|
3783
|
+
}
|
|
3784
|
+
for (const name of rejectedNames)
|
|
3785
|
+
removeEverywhere.run(sessionId, name);
|
|
3786
|
+
db.exec("COMMIT");
|
|
3787
|
+
} catch (e) {
|
|
3788
|
+
db.exec("ROLLBACK");
|
|
3789
|
+
throw e;
|
|
3790
|
+
}
|
|
3791
|
+
}
|
|
3770
3792
|
function findLatestSessionForCommand(db, command) {
|
|
3771
3793
|
return getLatestCompletedSessionForCommand(db, command);
|
|
3772
3794
|
}
|
|
@@ -19586,6 +19608,52 @@ var init_analytics_store = __esm({
|
|
|
19586
19608
|
}
|
|
19587
19609
|
});
|
|
19588
19610
|
|
|
19611
|
+
// packages/experience-design-system-cli/src/tui/theme.ts
|
|
19612
|
+
function detectColorMode(env = process.env) {
|
|
19613
|
+
const bg = env.COLORFGBG?.split(";").pop();
|
|
19614
|
+
if (bg === "7" || bg === "15") return "light";
|
|
19615
|
+
return "dark";
|
|
19616
|
+
}
|
|
19617
|
+
var DARK, LIGHT, PALETTE;
|
|
19618
|
+
var init_theme = __esm({
|
|
19619
|
+
"packages/experience-design-system-cli/src/tui/theme.ts"() {
|
|
19620
|
+
"use strict";
|
|
19621
|
+
DARK = {
|
|
19622
|
+
text: "#f7f9fa",
|
|
19623
|
+
// gray100
|
|
19624
|
+
muted: "#aec1cc",
|
|
19625
|
+
// gray400
|
|
19626
|
+
border: "#aec1cc",
|
|
19627
|
+
// gray400
|
|
19628
|
+
accent: "#40a0ff",
|
|
19629
|
+
// blue400
|
|
19630
|
+
error: "#ff707d",
|
|
19631
|
+
// red400
|
|
19632
|
+
success: "#5DB057",
|
|
19633
|
+
// green400
|
|
19634
|
+
warning: "#FFC835"
|
|
19635
|
+
// yellow500
|
|
19636
|
+
};
|
|
19637
|
+
LIGHT = {
|
|
19638
|
+
text: "#111B2B",
|
|
19639
|
+
// gray900
|
|
19640
|
+
muted: "#5A657C",
|
|
19641
|
+
// gray600
|
|
19642
|
+
border: "#5A657C",
|
|
19643
|
+
// gray600
|
|
19644
|
+
accent: "#0059c8",
|
|
19645
|
+
// semantic primary
|
|
19646
|
+
error: "#bd002a",
|
|
19647
|
+
// semantic negative
|
|
19648
|
+
success: "#006D23",
|
|
19649
|
+
// semantic positive
|
|
19650
|
+
warning: "#CC4500"
|
|
19651
|
+
// semantic warning
|
|
19652
|
+
};
|
|
19653
|
+
PALETTE = detectColorMode() === "light" ? LIGHT : DARK;
|
|
19654
|
+
}
|
|
19655
|
+
});
|
|
19656
|
+
|
|
19589
19657
|
// packages/experience-design-system-cli/src/tui/home/home.theme.ts
|
|
19590
19658
|
function brandBar(width, ramp = BRAND_RAMP) {
|
|
19591
19659
|
if (width <= 0 || ramp.length === 0) return [];
|
|
@@ -19596,28 +19664,11 @@ function brandBar(width, ramp = BRAND_RAMP) {
|
|
|
19596
19664
|
color
|
|
19597
19665
|
})).filter((segment) => segment.text.length > 0);
|
|
19598
19666
|
}
|
|
19599
|
-
var
|
|
19667
|
+
var BRAND_RAMP, BAR_CELL, FOCUS_MARKER;
|
|
19600
19668
|
var init_home_theme = __esm({
|
|
19601
19669
|
"packages/experience-design-system-cli/src/tui/home/home.theme.ts"() {
|
|
19602
19670
|
"use strict";
|
|
19603
|
-
|
|
19604
|
-
blue: "#1773EB",
|
|
19605
|
-
green: "#00C459",
|
|
19606
|
-
orange: "#E44F20",
|
|
19607
|
-
yellow: "#FFDA00",
|
|
19608
|
-
white: "#FFFFFF",
|
|
19609
|
-
slate: "#8B8D91",
|
|
19610
|
-
steel: "#C4D1DE"
|
|
19611
|
-
};
|
|
19612
|
-
PALETTE = {
|
|
19613
|
-
accent: BRAND.blue,
|
|
19614
|
-
success: BRAND.green,
|
|
19615
|
-
error: BRAND.orange,
|
|
19616
|
-
warning: BRAND.yellow,
|
|
19617
|
-
muted: BRAND.slate,
|
|
19618
|
-
border: BRAND.steel
|
|
19619
|
-
};
|
|
19620
|
-
BRAND_RAMP = [BRAND.blue, BRAND.orange, BRAND.yellow];
|
|
19671
|
+
BRAND_RAMP = ["#1773EB", "#E44F20", "#FFDA00"];
|
|
19621
19672
|
BAR_CELL = "\u2501";
|
|
19622
19673
|
FOCUS_MARKER = "\u276F";
|
|
19623
19674
|
}
|
|
@@ -19697,11 +19748,12 @@ var init_use_terminal_width = __esm({
|
|
|
19697
19748
|
import { Text } from "ink";
|
|
19698
19749
|
import { jsx } from "react/jsx-runtime";
|
|
19699
19750
|
function ControlHints({ hints }) {
|
|
19700
|
-
return /* @__PURE__ */ jsx(Text, { children: hints.map((hint) => `[${hint.keys}] ${hint.label}`).join(" \xB7 ") });
|
|
19751
|
+
return /* @__PURE__ */ jsx(Text, { color: PALETTE.muted, children: hints.map((hint) => `[${hint.keys}] ${hint.label}`).join(" \xB7 ") });
|
|
19701
19752
|
}
|
|
19702
19753
|
var init_control_hints = __esm({
|
|
19703
19754
|
"packages/experience-design-system-cli/src/tui/control-hints.tsx"() {
|
|
19704
19755
|
"use strict";
|
|
19756
|
+
init_theme();
|
|
19705
19757
|
}
|
|
19706
19758
|
});
|
|
19707
19759
|
|
|
@@ -19799,6 +19851,7 @@ var VERSION, HEADING, SUBTITLE, MIN_TERMINAL_WIDTH, START_ITEMS;
|
|
|
19799
19851
|
var init_home = __esm({
|
|
19800
19852
|
"packages/experience-design-system-cli/src/tui/home/home.tsx"() {
|
|
19801
19853
|
"use strict";
|
|
19854
|
+
init_theme();
|
|
19802
19855
|
init_home_theme();
|
|
19803
19856
|
init_version();
|
|
19804
19857
|
init_use_terminal_width();
|
|
@@ -19839,7 +19892,7 @@ function ImportScreen({ exitCode, onDone }) {
|
|
|
19839
19892
|
var init_PageContainer = __esm({
|
|
19840
19893
|
"packages/experience-design-system-cli/src/tui/import/PageContainer.tsx"() {
|
|
19841
19894
|
"use strict";
|
|
19842
|
-
|
|
19895
|
+
init_theme();
|
|
19843
19896
|
}
|
|
19844
19897
|
});
|
|
19845
19898
|
|
|
@@ -19889,20 +19942,19 @@ function WelcomeScreen({ onContinue, onQuit, initialPath = "" }) {
|
|
|
19889
19942
|
if (path5) onContinue(path5);
|
|
19890
19943
|
};
|
|
19891
19944
|
return /* @__PURE__ */ jsxs3(Box3, { flexDirection: "column", gap: 1, paddingX: 2, paddingY: 1, children: [
|
|
19892
|
-
/* @__PURE__ */ jsx4(Text4, { bold: true, color: PALETTE.success, children: "
|
|
19893
|
-
/* @__PURE__ */ jsx4(Text4, { color: PALETTE.muted, children: "I'll walk you through 5 steps to get your components into Contentful ExO." }),
|
|
19945
|
+
/* @__PURE__ */ jsx4(Text4, { bold: true, color: PALETTE.success, children: "Let's import your design system into Contentful." }),
|
|
19894
19946
|
/* @__PURE__ */ jsxs3(Box3, { flexDirection: "column", children: [
|
|
19895
|
-
/* @__PURE__ */ jsx4(Text4, {
|
|
19947
|
+
/* @__PURE__ */ jsx4(Text4, { color: PALETTE.muted, children: RULE }),
|
|
19896
19948
|
OVERVIEW.map((item) => /* @__PURE__ */ jsxs3(Box3, { gap: 1, children: [
|
|
19897
19949
|
/* @__PURE__ */ jsx4(Text4, { bold: true, children: item.label }),
|
|
19898
19950
|
/* @__PURE__ */ jsx4(Text4, { color: PALETTE.muted, children: item.description })
|
|
19899
19951
|
] }, item.label)),
|
|
19900
|
-
/* @__PURE__ */ jsx4(Text4, {
|
|
19952
|
+
/* @__PURE__ */ jsx4(Text4, { color: PALETTE.muted, children: RULE })
|
|
19901
19953
|
] }),
|
|
19902
19954
|
/* @__PURE__ */ jsxs3(Box3, { flexDirection: "column", gap: 1, children: [
|
|
19903
19955
|
/* @__PURE__ */ jsx4(Text4, { children: "Where is your component library?" }),
|
|
19904
|
-
/* @__PURE__ */ jsxs3(Box3, {
|
|
19905
|
-
/* @__PURE__ */ jsx4(Text4, { color: PALETTE.
|
|
19956
|
+
/* @__PURE__ */ jsxs3(Box3, { children: [
|
|
19957
|
+
/* @__PURE__ */ jsx4(Text4, { color: PALETTE.text, children: "?" }),
|
|
19906
19958
|
/* @__PURE__ */ jsx4(Text4, { children: "Project path:" }),
|
|
19907
19959
|
/* @__PURE__ */ jsx4(TextInput, { value: projectPath, onChange: setProjectPath, onSubmit: submit })
|
|
19908
19960
|
] })
|
|
@@ -19919,7 +19971,7 @@ var RULE, OVERVIEW;
|
|
|
19919
19971
|
var init_screen = __esm({
|
|
19920
19972
|
"packages/experience-design-system-cli/src/tui/import/steps/01-welcome/screen.tsx"() {
|
|
19921
19973
|
"use strict";
|
|
19922
|
-
|
|
19974
|
+
init_theme();
|
|
19923
19975
|
init_controls();
|
|
19924
19976
|
init_logic();
|
|
19925
19977
|
RULE = "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500";
|
|
@@ -20068,7 +20120,7 @@ function TokenInputScreen({ onConfirm, onBack, initialPath = "" }) {
|
|
|
20068
20120
|
var init_screen2 = __esm({
|
|
20069
20121
|
"packages/experience-design-system-cli/src/tui/import/steps/02-token-input/screen.tsx"() {
|
|
20070
20122
|
"use strict";
|
|
20071
|
-
|
|
20123
|
+
init_theme();
|
|
20072
20124
|
init_controls2();
|
|
20073
20125
|
init_logic2();
|
|
20074
20126
|
init_validate_path();
|
|
@@ -20212,7 +20264,7 @@ import { useEffect as useEffect3, useMemo, useState as useState5 } from "react";
|
|
|
20212
20264
|
import { Box as Box5, Text as Text6 } from "ink";
|
|
20213
20265
|
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
20214
20266
|
function Row({ row }) {
|
|
20215
|
-
return /* @__PURE__ */ jsxs5(Text6, { color: row.tone === "accent" ? PALETTE.accent :
|
|
20267
|
+
return /* @__PURE__ */ jsxs5(Text6, { color: row.tone === "accent" ? PALETTE.accent : row.tone === "muted" ? PALETTE.muted : void 0, children: [
|
|
20216
20268
|
" \u2022 ",
|
|
20217
20269
|
String(row.count).padStart(3),
|
|
20218
20270
|
" ",
|
|
@@ -20226,7 +20278,7 @@ function Failure({ scan, path: path5 }) {
|
|
|
20226
20278
|
"\u2717 ",
|
|
20227
20279
|
headline
|
|
20228
20280
|
] }),
|
|
20229
|
-
hints.map((hint) => /* @__PURE__ */ jsx6(Text6, {
|
|
20281
|
+
hints.map((hint) => /* @__PURE__ */ jsx6(Text6, { color: PALETTE.muted, children: hint }, hint))
|
|
20230
20282
|
] });
|
|
20231
20283
|
}
|
|
20232
20284
|
function Summary({ scan, path: path5 }) {
|
|
@@ -20271,14 +20323,14 @@ function PathValidationScreen({
|
|
|
20271
20323
|
onBack
|
|
20272
20324
|
});
|
|
20273
20325
|
return /* @__PURE__ */ jsxs5(Box5, { flexDirection: "column", gap: 1, paddingX: 2, paddingY: 1, children: [
|
|
20274
|
-
scan === void 0 && /* @__PURE__ */ jsxs5(Text6, {
|
|
20326
|
+
scan === void 0 && /* @__PURE__ */ jsxs5(Text6, { color: PALETTE.muted, children: [
|
|
20275
20327
|
"Scanning ",
|
|
20276
20328
|
/* @__PURE__ */ jsx6(Text6, { bold: true, children: resolvedPath }),
|
|
20277
20329
|
"..."
|
|
20278
20330
|
] }),
|
|
20279
20331
|
scan?.ok === false && /* @__PURE__ */ jsx6(Failure, { scan, path: resolvedPath }),
|
|
20280
20332
|
scan?.ok === true && /* @__PURE__ */ jsx6(Summary, { scan, path: resolvedPath }),
|
|
20281
|
-
/* @__PURE__ */ jsx6(Box5, { marginTop: 1, gap: 3, children: controlsFor(phase).map((control) => /* @__PURE__ */ jsxs5(Text6, {
|
|
20333
|
+
/* @__PURE__ */ jsx6(Box5, { marginTop: 1, gap: 3, children: controlsFor(phase).map((control) => /* @__PURE__ */ jsxs5(Text6, { color: PALETTE.muted, children: [
|
|
20282
20334
|
"[",
|
|
20283
20335
|
control.keys,
|
|
20284
20336
|
"] ",
|
|
@@ -20289,7 +20341,7 @@ function PathValidationScreen({
|
|
|
20289
20341
|
var init_screen3 = __esm({
|
|
20290
20342
|
"packages/experience-design-system-cli/src/tui/import/steps/03-path-validation/screen.tsx"() {
|
|
20291
20343
|
"use strict";
|
|
20292
|
-
|
|
20344
|
+
init_theme();
|
|
20293
20345
|
init_resolve_user_path();
|
|
20294
20346
|
init_controls3();
|
|
20295
20347
|
init_scan_files();
|
|
@@ -20457,8 +20509,8 @@ function CredentialsScreen({
|
|
|
20457
20509
|
/* @__PURE__ */ jsx7(Text7, { bold: true, children: "Contentful credentials" }),
|
|
20458
20510
|
/* @__PURE__ */ jsx7(Text7, { children: prefilled ? "Credentials pre-filled from the configuration settings." : "Enter the Contentful space you want to import into." }),
|
|
20459
20511
|
!prefilled && /* @__PURE__ */ jsxs6(Fragment, { children: [
|
|
20460
|
-
/* @__PURE__ */ jsx7(Text7, {
|
|
20461
|
-
/* @__PURE__ */ jsx7(Text7, {
|
|
20512
|
+
/* @__PURE__ */ jsx7(Text7, { color: PALETTE.muted, children: "We use it to check what components already exist and to push your import. If you skip, files are saved locally and nothing is pushed." }),
|
|
20513
|
+
/* @__PURE__ */ jsx7(Text7, { color: PALETTE.muted, children: "Tip: save these under Settings \u2192 Configuration so they pre-fill here." })
|
|
20462
20514
|
] })
|
|
20463
20515
|
] }),
|
|
20464
20516
|
/* @__PURE__ */ jsx7(Box6, { flexDirection: "column", children: FIELDS.map((field) => /* @__PURE__ */ jsxs6(Box6, { gap: 1, children: [
|
|
@@ -20479,14 +20531,14 @@ function CredentialsScreen({
|
|
|
20479
20531
|
}
|
|
20480
20532
|
)
|
|
20481
20533
|
] }, field)) }),
|
|
20482
|
-
active === "host" && /* @__PURE__ */ jsx7(Text7, {
|
|
20534
|
+
active === "host" && /* @__PURE__ */ jsx7(Text7, { color: PALETTE.muted, children: "Default: api.contentful.com \xB7 EU spaces: api.eu.contentful.com" }),
|
|
20483
20535
|
error && /* @__PURE__ */ jsxs6(Text7, { color: PALETTE.error, children: [
|
|
20484
20536
|
"\u2717 ",
|
|
20485
20537
|
error
|
|
20486
20538
|
] }),
|
|
20487
20539
|
validating && /* @__PURE__ */ jsx7(Text7, { color: PALETTE.accent, children: "Validating credentials..." }),
|
|
20488
|
-
!validating && !error && !isUnchanged(normalize(values), initialValues) && /* @__PURE__ */ jsx7(Text7, {
|
|
20489
|
-
/* @__PURE__ */ jsx7(Box6, { marginTop: 1, gap: 3, children: CREDENTIALS_CONTROLS.map((control) => /* @__PURE__ */ jsxs6(Text7, {
|
|
20540
|
+
!validating && !error && !isUnchanged(normalize(values), initialValues) && /* @__PURE__ */ jsx7(Text7, { color: PALETTE.muted, children: "Changed values are saved after they validate." }),
|
|
20541
|
+
/* @__PURE__ */ jsx7(Box6, { marginTop: 1, gap: 3, children: CREDENTIALS_CONTROLS.map((control) => /* @__PURE__ */ jsxs6(Text7, { color: PALETTE.muted, children: [
|
|
20490
20542
|
"[",
|
|
20491
20543
|
control.keys,
|
|
20492
20544
|
"] ",
|
|
@@ -20498,7 +20550,7 @@ var LABELS;
|
|
|
20498
20550
|
var init_screen4 = __esm({
|
|
20499
20551
|
"packages/experience-design-system-cli/src/tui/import/steps/04-credentials/screen.tsx"() {
|
|
20500
20552
|
"use strict";
|
|
20501
|
-
|
|
20553
|
+
init_theme();
|
|
20502
20554
|
init_controls4();
|
|
20503
20555
|
init_src4();
|
|
20504
20556
|
init_logic4();
|
|
@@ -20574,7 +20626,7 @@ function ErrorStep({
|
|
|
20574
20626
|
" failed"
|
|
20575
20627
|
] }),
|
|
20576
20628
|
/* @__PURE__ */ jsx8(Text8, { color: PALETTE.error, children: message }),
|
|
20577
|
-
/* @__PURE__ */ jsx8(Box7, { marginTop: 1, gap: 3, children: controls.map((control) => /* @__PURE__ */ jsxs7(Text8, {
|
|
20629
|
+
/* @__PURE__ */ jsx8(Box7, { marginTop: 1, gap: 3, children: controls.map((control) => /* @__PURE__ */ jsxs7(Text8, { color: PALETTE.muted, children: [
|
|
20578
20630
|
"[",
|
|
20579
20631
|
control.keys,
|
|
20580
20632
|
"] ",
|
|
@@ -20585,7 +20637,7 @@ function ErrorStep({
|
|
|
20585
20637
|
var init_error_step = __esm({
|
|
20586
20638
|
"packages/experience-design-system-cli/src/tui/import/shared/error-step/error-step.tsx"() {
|
|
20587
20639
|
"use strict";
|
|
20588
|
-
|
|
20640
|
+
init_theme();
|
|
20589
20641
|
init_controls5();
|
|
20590
20642
|
init_logic5();
|
|
20591
20643
|
}
|
|
@@ -20654,7 +20706,7 @@ function GateStep({
|
|
|
20654
20706
|
] }),
|
|
20655
20707
|
summary && /* @__PURE__ */ jsx9(Text9, { color: PALETTE.muted, children: summary }),
|
|
20656
20708
|
context && /* @__PURE__ */ jsx9(Box8, { marginTop: 1, children: /* @__PURE__ */ jsx9(Text9, { children: context }) }),
|
|
20657
|
-
/* @__PURE__ */ jsx9(Box8, { marginTop: 1, gap: 3, children: gateControls(continueLabel, skipLabel2, onSkip !== void 0).map((control) => /* @__PURE__ */ jsxs8(Text9, {
|
|
20709
|
+
/* @__PURE__ */ jsx9(Box8, { marginTop: 1, gap: 3, children: gateControls(continueLabel, skipLabel2, onSkip !== void 0).map((control) => /* @__PURE__ */ jsxs8(Text9, { color: PALETTE.muted, children: [
|
|
20658
20710
|
"[",
|
|
20659
20711
|
control.keys,
|
|
20660
20712
|
"] ",
|
|
@@ -20665,7 +20717,7 @@ function GateStep({
|
|
|
20665
20717
|
var init_gate_step = __esm({
|
|
20666
20718
|
"packages/experience-design-system-cli/src/tui/import/shared/gate-step/gate-step.tsx"() {
|
|
20667
20719
|
"use strict";
|
|
20668
|
-
|
|
20720
|
+
init_theme();
|
|
20669
20721
|
init_controls6();
|
|
20670
20722
|
init_logic6();
|
|
20671
20723
|
}
|
|
@@ -20693,14 +20745,15 @@ var init_logic7 = __esm({
|
|
|
20693
20745
|
// packages/experience-design-system-cli/src/tui/import/shared/running-step/theme.ts
|
|
20694
20746
|
import { defaultTheme, extendTheme } from "@inkjs/ui";
|
|
20695
20747
|
var PROGRESS_THEME;
|
|
20696
|
-
var
|
|
20748
|
+
var init_theme2 = __esm({
|
|
20697
20749
|
"packages/experience-design-system-cli/src/tui/import/shared/running-step/theme.ts"() {
|
|
20698
20750
|
"use strict";
|
|
20751
|
+
init_theme();
|
|
20699
20752
|
PROGRESS_THEME = extendTheme(defaultTheme, {
|
|
20700
20753
|
components: {
|
|
20701
20754
|
ProgressBar: {
|
|
20702
20755
|
styles: {
|
|
20703
|
-
completed: () => ({ color:
|
|
20756
|
+
completed: () => ({ color: PALETTE.accent })
|
|
20704
20757
|
}
|
|
20705
20758
|
}
|
|
20706
20759
|
}
|
|
@@ -20758,9 +20811,9 @@ function RunningStep({
|
|
|
20758
20811
|
const elapsed = useElapsed();
|
|
20759
20812
|
return /* @__PURE__ */ jsxs9(Box9, { flexDirection: "column", gap: 1, paddingX: 2, paddingY: 1, children: [
|
|
20760
20813
|
/* @__PURE__ */ jsxs9(Box9, { flexDirection: "column", children: [
|
|
20761
|
-
/* @__PURE__ */ jsx10(Text10, {
|
|
20814
|
+
/* @__PURE__ */ jsx10(Text10, { color: PALETTE.muted, children: RULE2 }),
|
|
20762
20815
|
/* @__PURE__ */ jsx10(Text10, { bold: true, children: stepLabel(stepNumber, totalSteps, title) }),
|
|
20763
|
-
/* @__PURE__ */ jsx10(Text10, {
|
|
20816
|
+
/* @__PURE__ */ jsx10(Text10, { color: PALETTE.muted, children: RULE2 })
|
|
20764
20817
|
] }),
|
|
20765
20818
|
/* @__PURE__ */ jsx10(Text10, { children: description }),
|
|
20766
20819
|
/* @__PURE__ */ jsx10(Box9, { marginTop: 1, flexDirection: "column", gap: 1, children: lines.map((line, index) => /* @__PURE__ */ jsx10(Line, { line }, index)) }),
|
|
@@ -20774,9 +20827,9 @@ var RULE2;
|
|
|
20774
20827
|
var init_running_step = __esm({
|
|
20775
20828
|
"packages/experience-design-system-cli/src/tui/import/shared/running-step/running-step.tsx"() {
|
|
20776
20829
|
"use strict";
|
|
20777
|
-
init_home_theme();
|
|
20778
|
-
init_logic7();
|
|
20779
20830
|
init_theme();
|
|
20831
|
+
init_logic7();
|
|
20832
|
+
init_theme2();
|
|
20780
20833
|
init_use_elapsed();
|
|
20781
20834
|
RULE2 = "\u2500".repeat(40);
|
|
20782
20835
|
}
|
|
@@ -21323,10 +21376,10 @@ var init_use_extraction = __esm({
|
|
|
21323
21376
|
|
|
21324
21377
|
// packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/sidebar/theme.ts
|
|
21325
21378
|
var PALETTE2;
|
|
21326
|
-
var
|
|
21379
|
+
var init_theme3 = __esm({
|
|
21327
21380
|
"packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/sidebar/theme.ts"() {
|
|
21328
21381
|
"use strict";
|
|
21329
|
-
|
|
21382
|
+
init_theme();
|
|
21330
21383
|
PALETTE2 = {
|
|
21331
21384
|
info: PALETTE.accent,
|
|
21332
21385
|
success: PALETTE.success,
|
|
@@ -21438,7 +21491,7 @@ var TWO_COLUMN_MIN_WIDTH, SCOPE_GATE_MAIN_COLUMN_WIDTH, ACCEPTED_COMPONENTS_COLU
|
|
|
21438
21491
|
var init_columns = __esm({
|
|
21439
21492
|
"packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/columns.ts"() {
|
|
21440
21493
|
"use strict";
|
|
21441
|
-
|
|
21494
|
+
init_theme3();
|
|
21442
21495
|
TWO_COLUMN_MIN_WIDTH = 100;
|
|
21443
21496
|
SCOPE_GATE_MAIN_COLUMN_WIDTH = 54;
|
|
21444
21497
|
ACCEPTED_COMPONENTS_COLUMN_WIDTH = 36;
|
|
@@ -21504,7 +21557,7 @@ function WindowedPanelHeader({
|
|
|
21504
21557
|
}) {
|
|
21505
21558
|
return /* @__PURE__ */ jsxs10(Box10, { flexDirection: "column", children: [
|
|
21506
21559
|
/* @__PURE__ */ jsx13(Text11, { bold: true, color: PALETTE2.info, inverse: focused, children: title }),
|
|
21507
|
-
/* @__PURE__ */ jsx13(Text11, {
|
|
21560
|
+
/* @__PURE__ */ jsx13(Text11, { color: PALETTE2.muted, children: "\u2500".repeat(Math.max(0, width - 2)) })
|
|
21508
21561
|
] });
|
|
21509
21562
|
}
|
|
21510
21563
|
function formatWindowIndicator(direction, count) {
|
|
@@ -21518,7 +21571,7 @@ var MIN_TERMINAL_PANEL_HEIGHT;
|
|
|
21518
21571
|
var init_windowed_panel = __esm({
|
|
21519
21572
|
"packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/sidebar/components/windowed-panel.tsx"() {
|
|
21520
21573
|
"use strict";
|
|
21521
|
-
|
|
21574
|
+
init_theme3();
|
|
21522
21575
|
MIN_TERMINAL_PANEL_HEIGHT = 5;
|
|
21523
21576
|
}
|
|
21524
21577
|
});
|
|
@@ -21543,7 +21596,7 @@ function AddedColumn(props) {
|
|
|
21543
21596
|
const showSeparator = firstNonCycleIdx > 0 && i === firstNonCycleIdx;
|
|
21544
21597
|
const style = sideColumnLabelStyle({ isCycle: entry.isCycle, isSelected, focused });
|
|
21545
21598
|
return /* @__PURE__ */ jsxs11(React6.Fragment, { children: [
|
|
21546
|
-
showSeparator && /* @__PURE__ */ jsx14(Text12, {
|
|
21599
|
+
showSeparator && /* @__PURE__ */ jsx14(Text12, { color: PALETTE2.muted, children: "\u2500".repeat(Math.max(0, width - 2)) }),
|
|
21547
21600
|
/* @__PURE__ */ jsxs11(Box11, { children: [
|
|
21548
21601
|
isCursor ? /* @__PURE__ */ jsx14(Text12, { color: PALETTE2.info, bold: true, children: figures.pointer }) : /* @__PURE__ */ jsx14(Text12, { children: " " }),
|
|
21549
21602
|
reserveAiBadge && (aiFlagged ? /* @__PURE__ */ jsx14(Text12, { color: PALETTE2.warning, bold: true, children: " [\xD7]" }) : /* @__PURE__ */ jsx14(Text12, { children: " " })),
|
|
@@ -21569,7 +21622,7 @@ var init_added_column = __esm({
|
|
|
21569
21622
|
"packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/panels/added-column.tsx"() {
|
|
21570
21623
|
"use strict";
|
|
21571
21624
|
init_columns();
|
|
21572
|
-
|
|
21625
|
+
init_theme3();
|
|
21573
21626
|
init_windowed_panel();
|
|
21574
21627
|
}
|
|
21575
21628
|
});
|
|
@@ -21604,7 +21657,7 @@ function CyclesPanel({ cycles, cursor }) {
|
|
|
21604
21657
|
var init_cycles_panel = __esm({
|
|
21605
21658
|
"packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/panels/cycles-panel.tsx"() {
|
|
21606
21659
|
"use strict";
|
|
21607
|
-
|
|
21660
|
+
init_theme3();
|
|
21608
21661
|
}
|
|
21609
21662
|
});
|
|
21610
21663
|
|
|
@@ -21622,7 +21675,7 @@ function RejectPrompt({ pending }) {
|
|
|
21622
21675
|
var init_reject_prompt = __esm({
|
|
21623
21676
|
"packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/panels/reject-prompt.tsx"() {
|
|
21624
21677
|
"use strict";
|
|
21625
|
-
|
|
21678
|
+
init_theme3();
|
|
21626
21679
|
}
|
|
21627
21680
|
});
|
|
21628
21681
|
|
|
@@ -21638,7 +21691,7 @@ function legendEntry(keyBracket, label, active = false) {
|
|
|
21638
21691
|
var init_LegendEntry = __esm({
|
|
21639
21692
|
"packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/sidebar/components/LegendEntry.tsx"() {
|
|
21640
21693
|
"use strict";
|
|
21641
|
-
|
|
21694
|
+
init_theme3();
|
|
21642
21695
|
}
|
|
21643
21696
|
});
|
|
21644
21697
|
|
|
@@ -21659,7 +21712,7 @@ function CompactControlBar({ hasGroupRoots, searchActive }) {
|
|
|
21659
21712
|
var init_CompactControlBar = __esm({
|
|
21660
21713
|
"packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/sidebar/components/CompactControlBar.tsx"() {
|
|
21661
21714
|
"use strict";
|
|
21662
|
-
|
|
21715
|
+
init_theme3();
|
|
21663
21716
|
init_LegendEntry();
|
|
21664
21717
|
}
|
|
21665
21718
|
});
|
|
@@ -21698,7 +21751,7 @@ function CounterStrip(props) {
|
|
|
21698
21751
|
var init_CounterStrip = __esm({
|
|
21699
21752
|
"packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/sidebar/components/CounterStrip.tsx"() {
|
|
21700
21753
|
"use strict";
|
|
21701
|
-
|
|
21754
|
+
init_theme3();
|
|
21702
21755
|
}
|
|
21703
21756
|
});
|
|
21704
21757
|
|
|
@@ -21763,7 +21816,7 @@ var DEFAULT_MAX_ROWS;
|
|
|
21763
21816
|
var init_GotoBanner = __esm({
|
|
21764
21817
|
"packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/sidebar/components/GotoBanner.tsx"() {
|
|
21765
21818
|
"use strict";
|
|
21766
|
-
|
|
21819
|
+
init_theme3();
|
|
21767
21820
|
DEFAULT_MAX_ROWS = 15;
|
|
21768
21821
|
}
|
|
21769
21822
|
});
|
|
@@ -22142,7 +22195,7 @@ function PreviewBadge({
|
|
|
22142
22195
|
var init_badge = __esm({
|
|
22143
22196
|
"packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/sidebar/components/badge.tsx"() {
|
|
22144
22197
|
"use strict";
|
|
22145
|
-
|
|
22198
|
+
init_theme3();
|
|
22146
22199
|
}
|
|
22147
22200
|
});
|
|
22148
22201
|
|
|
@@ -22259,7 +22312,7 @@ function buildVisibleRows(props) {
|
|
|
22259
22312
|
if (visited.has(target)) continue;
|
|
22260
22313
|
visited.add(target);
|
|
22261
22314
|
const isCycleMember = cycleParticipants.has(target);
|
|
22262
|
-
out.push({ name: target, depth: cur.depth + 1, isCycleMember });
|
|
22315
|
+
out.push({ name: target, depth: cur.depth + 1, isCycleMember, parent: cur.name });
|
|
22263
22316
|
queue.push({ name: target, depth: cur.depth + 1 });
|
|
22264
22317
|
}
|
|
22265
22318
|
}
|
|
@@ -22306,7 +22359,8 @@ function buildVisibleRows(props) {
|
|
|
22306
22359
|
sharedSuffix,
|
|
22307
22360
|
cycleChild: child.isCycleMember || void 0,
|
|
22308
22361
|
itemIdx: childRec?.idx ?? -1,
|
|
22309
|
-
rootName: key
|
|
22362
|
+
rootName: key,
|
|
22363
|
+
parentName: child.parent
|
|
22310
22364
|
});
|
|
22311
22365
|
});
|
|
22312
22366
|
}
|
|
@@ -22389,13 +22443,19 @@ function buildVisibleRows(props) {
|
|
|
22389
22443
|
injectedChildren.push({
|
|
22390
22444
|
name: target,
|
|
22391
22445
|
depth: parentDepth + 1,
|
|
22392
|
-
isCycleChild: true
|
|
22446
|
+
isCycleChild: true,
|
|
22447
|
+
parent: parentName
|
|
22393
22448
|
});
|
|
22394
22449
|
}
|
|
22395
22450
|
};
|
|
22396
22451
|
emitCycleChildrenOf(root, 0);
|
|
22397
22452
|
for (const c2 of closureChildren) {
|
|
22398
|
-
injectedChildren.push({
|
|
22453
|
+
injectedChildren.push({
|
|
22454
|
+
name: c2.name,
|
|
22455
|
+
depth: c2.depth,
|
|
22456
|
+
isCycleChild: false,
|
|
22457
|
+
parent: c2.path[c2.path.length - 2] ?? root
|
|
22458
|
+
});
|
|
22399
22459
|
emitCycleChildrenOf(c2.name, c2.depth);
|
|
22400
22460
|
}
|
|
22401
22461
|
const isLastAtDepth = (idx) => {
|
|
@@ -22429,7 +22489,8 @@ function buildVisibleRows(props) {
|
|
|
22429
22489
|
sharedSuffix,
|
|
22430
22490
|
cycleChild: child.isCycleChild || void 0,
|
|
22431
22491
|
itemIdx: childRec?.idx ?? -1,
|
|
22432
|
-
rootName: root
|
|
22492
|
+
rootName: root,
|
|
22493
|
+
parentName: child.parent
|
|
22433
22494
|
});
|
|
22434
22495
|
});
|
|
22435
22496
|
}
|
|
@@ -22587,7 +22648,7 @@ function GroupedSidebar(props) {
|
|
|
22587
22648
|
const rs = itemName ? renderStatusByKey?.get(itemName) : void 0;
|
|
22588
22649
|
const badge = itemName ? previewBadge(previewAnnotationByKey?.get(itemName)) : null;
|
|
22589
22650
|
const showInheritance = rs !== void 0 && row.kind !== "cycle" && row.kind !== "empty" && row.kind !== "group-root";
|
|
22590
|
-
const supportsSelectionGlyph = selectionStateByKey !== void 0 && itemName !== void 0 && (row.kind === "standalone" || row.kind === "group-root" || row.kind === "group-child" || row.kind === "flat" || row.kind === "cycle");
|
|
22651
|
+
const supportsSelectionGlyph = selectionStateByKey !== void 0 && itemName !== void 0 && (row.kind === "standalone" || row.kind === "group-root" || row.kind === "group-child" || row.kind === "flat" || row.kind === "empty" || row.kind === "cycle");
|
|
22591
22652
|
const selState = supportsSelectionGlyph ? selectionStateByKey.get(itemName) ?? "undecided" : void 0;
|
|
22592
22653
|
const isCycleRow = row.kind === "cycle";
|
|
22593
22654
|
const selStyle = selectionGlyphStyleFor(selState, isCycleRow);
|
|
@@ -22617,7 +22678,7 @@ function GroupedSidebar(props) {
|
|
|
22617
22678
|
color: isSelected ? PALETTE2.info : labelStyle.dim ? PALETTE2.muted : labelStyle.color,
|
|
22618
22679
|
bold: isSelected || labelStyle.bold,
|
|
22619
22680
|
inverse: false,
|
|
22620
|
-
underline: isSelected &&
|
|
22681
|
+
underline: isSelected && focused,
|
|
22621
22682
|
wrap: wrapLabels ? "wrap" : "truncate",
|
|
22622
22683
|
children: [
|
|
22623
22684
|
" ",
|
|
@@ -22637,7 +22698,7 @@ var init_GroupedSidebar = __esm({
|
|
|
22637
22698
|
"use strict";
|
|
22638
22699
|
init_composite_closure();
|
|
22639
22700
|
init_badge();
|
|
22640
|
-
|
|
22701
|
+
init_theme3();
|
|
22641
22702
|
init_windowed_panel();
|
|
22642
22703
|
GLYPH_EXPAND_COLLAPSED = "\u25B8";
|
|
22643
22704
|
GLYPH_EXPAND_EXPANDED = "\u25BE";
|
|
@@ -22932,7 +22993,7 @@ function SearchMatchSummary({
|
|
|
22932
22993
|
var init_SearchMatchSummary = __esm({
|
|
22933
22994
|
"packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/sidebar/components/SearchMatchSummary.tsx"() {
|
|
22934
22995
|
"use strict";
|
|
22935
|
-
|
|
22996
|
+
init_theme3();
|
|
22936
22997
|
init_sidebar_input();
|
|
22937
22998
|
}
|
|
22938
22999
|
});
|
|
@@ -23368,6 +23429,7 @@ function resolveKey(mode, key, ctx) {
|
|
|
23368
23429
|
function resolveMain(key, ctx) {
|
|
23369
23430
|
const { input } = key;
|
|
23370
23431
|
const inMain = ctx.focusedColumn === "main";
|
|
23432
|
+
if (key.ctrl && input === "z") return { type: "undo" };
|
|
23371
23433
|
if (input === "q" || key.escape) {
|
|
23372
23434
|
if (key.escape && ctx.jumpFilterActive) return { type: "clear-jump-filter" };
|
|
23373
23435
|
if (key.escape && ctx.searchActive) return { type: "clear-search" };
|
|
@@ -23678,14 +23740,30 @@ function rejectNeedsConfirmation(graph, name, state2) {
|
|
|
23678
23740
|
const ancestors = toReject.filter((n) => n !== name);
|
|
23679
23741
|
return ancestors.length + toDeselect.length >= 2;
|
|
23680
23742
|
}
|
|
23681
|
-
function
|
|
23743
|
+
function removeSlotChild(components, edge) {
|
|
23744
|
+
return components.map(
|
|
23745
|
+
(component) => component.name === edge.parent ? {
|
|
23746
|
+
...component,
|
|
23747
|
+
slots: component.slots?.map((slot) => ({
|
|
23748
|
+
...slot,
|
|
23749
|
+
allowedComponents: slot.allowedComponents.filter((name) => name !== edge.child)
|
|
23750
|
+
}))
|
|
23751
|
+
} : component
|
|
23752
|
+
);
|
|
23753
|
+
}
|
|
23754
|
+
function withoutSlotChildren(components, removedEdges) {
|
|
23755
|
+
return removedEdges.reduce(removeSlotChild, components);
|
|
23756
|
+
}
|
|
23757
|
+
function partitionDecisions(components, state2, removedEdges) {
|
|
23682
23758
|
const accepted = [];
|
|
23683
23759
|
const rejected = [];
|
|
23684
23760
|
for (const c2 of components) {
|
|
23685
23761
|
if (state2.get(c2.name) === "accepted") accepted.push(c2.name);
|
|
23686
23762
|
else rejected.push(c2.name);
|
|
23687
23763
|
}
|
|
23688
|
-
|
|
23764
|
+
const rejectedNames = new Set(rejected);
|
|
23765
|
+
const excludedSlotEdges = removedEdges.filter((e) => !rejectedNames.has(e.parent) && !rejectedNames.has(e.child));
|
|
23766
|
+
return { accepted, rejected, excludedSlotEdges };
|
|
23689
23767
|
}
|
|
23690
23768
|
var init_state = __esm({
|
|
23691
23769
|
"packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/state.ts"() {
|
|
@@ -23697,10 +23775,15 @@ var init_state = __esm({
|
|
|
23697
23775
|
|
|
23698
23776
|
// packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/use-scope-gate.ts
|
|
23699
23777
|
import { useEffect as useEffect7, useMemo as useMemo2, useRef as useRef4, useState as useState12 } from "react";
|
|
23700
|
-
function useScopeGate({ components, onConfirm, onQuit }) {
|
|
23778
|
+
function useScopeGate({ components: loadedComponents, onConfirm, onQuit }) {
|
|
23701
23779
|
const { columns: totalWidth, rows: terminalRows } = useTerminalSize();
|
|
23702
23780
|
const columnPlan = useMemo2(() => computeColumnWidths(totalWidth), [totalWidth]);
|
|
23703
23781
|
const [decisions, setDecisions] = useState12(/* @__PURE__ */ new Map());
|
|
23782
|
+
const [removedEdges, setRemovedEdges] = useState12([]);
|
|
23783
|
+
const components = useMemo2(
|
|
23784
|
+
() => withoutSlotChildren(loadedComponents, removedEdges),
|
|
23785
|
+
[loadedComponents, removedEdges]
|
|
23786
|
+
);
|
|
23704
23787
|
const [nav, setNav] = useState12({ cursor: 0, scrollOffset: 0 });
|
|
23705
23788
|
const [focusedColumn, setFocusedColumn] = useState12("main");
|
|
23706
23789
|
const [addedComponentsCursor, setAddedComponentsCursor] = useState12(0);
|
|
@@ -23873,6 +23956,14 @@ function useScopeGate({ components, onConfirm, onQuit }) {
|
|
|
23873
23956
|
return void 0;
|
|
23874
23957
|
}
|
|
23875
23958
|
};
|
|
23959
|
+
const focusedNestedEdge = () => {
|
|
23960
|
+
const row = visibleRows[safeCursor];
|
|
23961
|
+
if (row?.kind !== "group-child" || !row.parentName || row.itemIdx < 0) return void 0;
|
|
23962
|
+
const child = groupedItems[row.itemIdx]?.key;
|
|
23963
|
+
return child ? { parent: row.parentName, child } : void 0;
|
|
23964
|
+
};
|
|
23965
|
+
const removeFromParentSlot = (edge) => setRemovedEdges((edges) => [...edges, edge]);
|
|
23966
|
+
const undoSlotRemoval = () => setRemovedEdges((edges) => edges.slice(0, -1));
|
|
23876
23967
|
const jumpCursorTo = (name) => {
|
|
23877
23968
|
let idx = -1;
|
|
23878
23969
|
for (let i = 0; i < visibleRows.length; i++) {
|
|
@@ -23972,7 +24063,7 @@ function useScopeGate({ components, onConfirm, onQuit }) {
|
|
|
23972
24063
|
onQuit();
|
|
23973
24064
|
return;
|
|
23974
24065
|
case "confirm":
|
|
23975
|
-
onConfirm(partitionDecisions(components, decisions));
|
|
24066
|
+
onConfirm(partitionDecisions(components, decisions, removedEdges));
|
|
23976
24067
|
return;
|
|
23977
24068
|
case "close-help":
|
|
23978
24069
|
setShowHelp(false);
|
|
@@ -24025,6 +24116,11 @@ function useScopeGate({ components, onConfirm, onQuit }) {
|
|
|
24025
24116
|
return;
|
|
24026
24117
|
}
|
|
24027
24118
|
case "reject": {
|
|
24119
|
+
const edge = focusedColumn === "main" ? focusedNestedEdge() : void 0;
|
|
24120
|
+
if (edge) {
|
|
24121
|
+
removeFromParentSlot(edge);
|
|
24122
|
+
return;
|
|
24123
|
+
}
|
|
24028
24124
|
const key = focusedColumn === "added-components" ? addedComponents[safeAddedComponentsCursor]?.name : focusedRowKey();
|
|
24029
24125
|
if (key) requestReject(key);
|
|
24030
24126
|
return;
|
|
@@ -24032,6 +24128,9 @@ function useScopeGate({ components, onConfirm, onQuit }) {
|
|
|
24032
24128
|
case "toggle-all":
|
|
24033
24129
|
decide({ type: "toggle-all" });
|
|
24034
24130
|
return;
|
|
24131
|
+
case "undo":
|
|
24132
|
+
undoSlotRemoval();
|
|
24133
|
+
return;
|
|
24035
24134
|
case "accept-unflagged":
|
|
24036
24135
|
decide({ type: "accept-unflagged" });
|
|
24037
24136
|
return;
|
|
@@ -24300,7 +24399,7 @@ var init_screen7 = __esm({
|
|
|
24300
24399
|
init_HelpOverlay();
|
|
24301
24400
|
init_SearchMatchSummary();
|
|
24302
24401
|
init_sidebar_help();
|
|
24303
|
-
|
|
24402
|
+
init_theme3();
|
|
24304
24403
|
init_use_scope_gate();
|
|
24305
24404
|
HELP_SECTIONS = [
|
|
24306
24405
|
{
|
|
@@ -25188,24 +25287,6 @@ var init_screen9 = __esm({
|
|
|
25188
25287
|
}
|
|
25189
25288
|
});
|
|
25190
25289
|
|
|
25191
|
-
// packages/experience-design-system-cli/src/tui/import/steps/09-review/theme.ts
|
|
25192
|
-
var PALETTE3;
|
|
25193
|
-
var init_theme3 = __esm({
|
|
25194
|
-
"packages/experience-design-system-cli/src/tui/import/steps/09-review/theme.ts"() {
|
|
25195
|
-
"use strict";
|
|
25196
|
-
init_home_theme();
|
|
25197
|
-
PALETTE3 = {
|
|
25198
|
-
info: PALETTE.accent,
|
|
25199
|
-
success: PALETTE.success,
|
|
25200
|
-
error: PALETTE.error,
|
|
25201
|
-
warning: PALETTE.warning,
|
|
25202
|
-
muted: PALETTE.muted,
|
|
25203
|
-
border: PALETTE.border,
|
|
25204
|
-
inverse: "#FFFFFF"
|
|
25205
|
-
};
|
|
25206
|
-
}
|
|
25207
|
-
});
|
|
25208
|
-
|
|
25209
25290
|
// packages/experience-design-system-cli/src/tui/import/steps/09-review/review-json-panel.ts
|
|
25210
25291
|
function getReviewJsonPanelValue(selected, showHiddenProps) {
|
|
25211
25292
|
if (!selected) return "";
|
|
@@ -25697,13 +25778,13 @@ function serializeState(state2, originalJson) {
|
|
|
25697
25778
|
}
|
|
25698
25779
|
function Picker({ value, active }) {
|
|
25699
25780
|
return /* @__PURE__ */ jsxs22(Box21, { children: [
|
|
25700
|
-
active && /* @__PURE__ */ jsx27(Text23, { color:
|
|
25701
|
-
/* @__PURE__ */ jsx27(Text23, { color: active ?
|
|
25702
|
-
active && /* @__PURE__ */ jsx27(Text23, { color:
|
|
25781
|
+
active && /* @__PURE__ */ jsx27(Text23, { color: PALETTE.warning, children: "\u2039" }),
|
|
25782
|
+
/* @__PURE__ */ jsx27(Text23, { color: active ? PALETTE.warning : void 0, bold: active, children: value }),
|
|
25783
|
+
active && /* @__PURE__ */ jsx27(Text23, { color: PALETTE.warning, children: "\u203A" })
|
|
25703
25784
|
] });
|
|
25704
25785
|
}
|
|
25705
25786
|
function Toggle({ value, active }) {
|
|
25706
|
-
return /* @__PURE__ */ jsx27(Box21, { children: /* @__PURE__ */ jsx27(Text23, { color: active ?
|
|
25787
|
+
return /* @__PURE__ */ jsx27(Box21, { children: /* @__PURE__ */ jsx27(Text23, { color: active ? PALETTE.warning : value ? PALETTE.success : PALETTE.border, children: value ? "[\u2713]" : "[ ]" }) });
|
|
25707
25788
|
}
|
|
25708
25789
|
function InlinePropField({
|
|
25709
25790
|
label,
|
|
@@ -25713,7 +25794,7 @@ function InlinePropField({
|
|
|
25713
25794
|
width
|
|
25714
25795
|
}) {
|
|
25715
25796
|
return /* @__PURE__ */ jsxs22(Box21, { width, gap: 1, flexShrink: flexible ? 1 : 0, flexGrow: flexible ? 1 : 0, flexWrap: "wrap", children: [
|
|
25716
|
-
/* @__PURE__ */ jsxs22(Text23, { color: focused ?
|
|
25797
|
+
/* @__PURE__ */ jsxs22(Text23, { color: focused ? PALETTE.warning : PALETTE.muted, bold: focused, wrap: "truncate-end", children: [
|
|
25717
25798
|
focused ? "\u203A " : " ",
|
|
25718
25799
|
label
|
|
25719
25800
|
] }),
|
|
@@ -25734,7 +25815,7 @@ function DefaultValueRow({
|
|
|
25734
25815
|
focused
|
|
25735
25816
|
}) {
|
|
25736
25817
|
return /* @__PURE__ */ jsxs22(Box21, { gap: 1, flexWrap: "wrap", flexShrink: 0, children: [
|
|
25737
|
-
/* @__PURE__ */ jsxs22(Text23, { color: focused ?
|
|
25818
|
+
/* @__PURE__ */ jsxs22(Text23, { color: focused ? PALETTE.warning : PALETTE.muted, bold: focused, children: [
|
|
25738
25819
|
focused ? "\u203A " : " ",
|
|
25739
25820
|
"default:"
|
|
25740
25821
|
] }),
|
|
@@ -25749,9 +25830,9 @@ function RowLabel({
|
|
|
25749
25830
|
return /* @__PURE__ */ jsxs22(
|
|
25750
25831
|
Text23,
|
|
25751
25832
|
{
|
|
25752
|
-
color: selected ?
|
|
25833
|
+
color: selected ? "#FFFFFF" : PALETTE.accent,
|
|
25753
25834
|
bold: selected,
|
|
25754
|
-
backgroundColor: selected ?
|
|
25835
|
+
backgroundColor: selected ? PALETTE.accent : void 0,
|
|
25755
25836
|
wrap: "truncate-end",
|
|
25756
25837
|
children: [
|
|
25757
25838
|
" ",
|
|
@@ -25767,7 +25848,7 @@ function ValueInputRow({
|
|
|
25767
25848
|
cursorVisible
|
|
25768
25849
|
}) {
|
|
25769
25850
|
return /* @__PURE__ */ jsxs22(Box21, { paddingLeft: 2, children: [
|
|
25770
|
-
/* @__PURE__ */ jsx27(Text23, { color:
|
|
25851
|
+
/* @__PURE__ */ jsx27(Text23, { color: PALETTE.accent, children: mode === "edit" ? "\u270E " : "+ " }),
|
|
25771
25852
|
/* @__PURE__ */ jsx27(Text23, { children: valueText }),
|
|
25772
25853
|
/* @__PURE__ */ jsx27(Text23, { inverse: cursorVisible, children: " " })
|
|
25773
25854
|
] });
|
|
@@ -25784,7 +25865,7 @@ function EditableListItem({
|
|
|
25784
25865
|
if (isBeingEdited) {
|
|
25785
25866
|
return /* @__PURE__ */ jsx27(ValueInputRow, { mode: "edit", valueText, cursorVisible });
|
|
25786
25867
|
}
|
|
25787
|
-
return /* @__PURE__ */ jsx27(Box21, { gap: 1, paddingLeft: 2, children: /* @__PURE__ */ jsx27(Text23, { color: active ?
|
|
25868
|
+
return /* @__PURE__ */ jsx27(Box21, { gap: 1, paddingLeft: 2, children: /* @__PURE__ */ jsx27(Text23, { color: active ? PALETTE.accent : void 0, children: active ? `${figures5.pointer} ${value}` : ` ${value}` }) });
|
|
25788
25869
|
}
|
|
25789
25870
|
function EditableValueList({
|
|
25790
25871
|
values,
|
|
@@ -25798,7 +25879,7 @@ function EditableValueList({
|
|
|
25798
25879
|
showAddInput
|
|
25799
25880
|
}) {
|
|
25800
25881
|
return /* @__PURE__ */ jsxs22(Fragment5, { children: [
|
|
25801
|
-
values.length === 0 && !editingValue && (emptyPaddingLeft === void 0 ? /* @__PURE__ */ jsx27(Text23, { color:
|
|
25882
|
+
values.length === 0 && !editingValue && (emptyPaddingLeft === void 0 ? /* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: emptyMessage }) : /* @__PURE__ */ jsx27(Box21, { paddingLeft: emptyPaddingLeft, children: /* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: emptyMessage }) })),
|
|
25802
25883
|
values.map((value, index) => /* @__PURE__ */ jsx27(
|
|
25803
25884
|
EditableListItem,
|
|
25804
25885
|
{
|
|
@@ -25824,11 +25905,11 @@ function DefaultSubRow({
|
|
|
25824
25905
|
const cursor = cursorVisible ? "\u2588" : " ";
|
|
25825
25906
|
if (prop.type === "richtext" || prop.type === "media" || prop.type === "link") {
|
|
25826
25907
|
return /* @__PURE__ */ jsxs22(Box21, { gap: 1, flexShrink: 0, children: [
|
|
25827
|
-
/* @__PURE__ */ jsxs22(Text23, { color: focused ?
|
|
25908
|
+
/* @__PURE__ */ jsxs22(Text23, { color: focused ? PALETTE.warning : PALETTE.muted, bold: focused, children: [
|
|
25828
25909
|
focused ? "\u203A " : " ",
|
|
25829
25910
|
"default:"
|
|
25830
25911
|
] }),
|
|
25831
|
-
/* @__PURE__ */ jsx27(Text23, { color: focused ? void 0 :
|
|
25912
|
+
/* @__PURE__ */ jsx27(Text23, { color: focused ? void 0 : PALETTE.muted, children: "(not applicable)" })
|
|
25832
25913
|
] });
|
|
25833
25914
|
}
|
|
25834
25915
|
if (prop.type === "boolean") {
|
|
@@ -25838,11 +25919,11 @@ function DefaultSubRow({
|
|
|
25838
25919
|
if (prop.type === "enum") {
|
|
25839
25920
|
if (prop.values.length === 0) {
|
|
25840
25921
|
return /* @__PURE__ */ jsxs22(Box21, { gap: 1, flexShrink: 0, children: [
|
|
25841
|
-
/* @__PURE__ */ jsxs22(Text23, { color: focused ?
|
|
25922
|
+
/* @__PURE__ */ jsxs22(Text23, { color: focused ? PALETTE.warning : PALETTE.muted, bold: focused, children: [
|
|
25842
25923
|
focused ? "\u203A " : " ",
|
|
25843
25924
|
"default:"
|
|
25844
25925
|
] }),
|
|
25845
|
-
/* @__PURE__ */ jsx27(Text23, { color: focused ? void 0 :
|
|
25926
|
+
/* @__PURE__ */ jsx27(Text23, { color: focused ? void 0 : PALETTE.muted, children: "(no values defined)" })
|
|
25846
25927
|
] });
|
|
25847
25928
|
}
|
|
25848
25929
|
const display = typeof prop.default === "string" && prop.default !== "" ? prop.default : "(unset)";
|
|
@@ -25851,11 +25932,11 @@ function DefaultSubRow({
|
|
|
25851
25932
|
const value = typeof prop.default === "string" ? prop.default : "";
|
|
25852
25933
|
if (active) {
|
|
25853
25934
|
return /* @__PURE__ */ jsxs22(Box21, { flexDirection: "row", flexShrink: 0, children: [
|
|
25854
|
-
/* @__PURE__ */ jsxs22(Text23, { color: focused ?
|
|
25935
|
+
/* @__PURE__ */ jsxs22(Text23, { color: focused ? PALETTE.warning : PALETTE.muted, bold: focused, children: [
|
|
25855
25936
|
focused ? "\u203A " : " ",
|
|
25856
25937
|
"default:"
|
|
25857
25938
|
] }),
|
|
25858
|
-
/* @__PURE__ */ jsxs22(Box21, { flexGrow: 1, borderStyle: "round", borderColor:
|
|
25939
|
+
/* @__PURE__ */ jsxs22(Box21, { flexGrow: 1, borderStyle: "round", borderColor: PALETTE.warning, paddingX: 1, children: [
|
|
25859
25940
|
/* @__PURE__ */ jsx27(Text23, { children: value.slice(0, textCursor) }),
|
|
25860
25941
|
/* @__PURE__ */ jsx27(Text23, { inverse: cursorVisible, children: value[textCursor] ?? cursor }),
|
|
25861
25942
|
/* @__PURE__ */ jsx27(Text23, { children: value.slice(textCursor + 1) })
|
|
@@ -25863,11 +25944,11 @@ function DefaultSubRow({
|
|
|
25863
25944
|
] });
|
|
25864
25945
|
}
|
|
25865
25946
|
return /* @__PURE__ */ jsxs22(Box21, { gap: 1, flexShrink: 0, children: [
|
|
25866
|
-
/* @__PURE__ */ jsxs22(Text23, { color: focused ?
|
|
25947
|
+
/* @__PURE__ */ jsxs22(Text23, { color: focused ? PALETTE.warning : PALETTE.muted, bold: focused, children: [
|
|
25867
25948
|
focused ? "\u203A " : " ",
|
|
25868
25949
|
"default:"
|
|
25869
25950
|
] }),
|
|
25870
|
-
/* @__PURE__ */ jsx27(Text23, { color: focused || value ? void 0 :
|
|
25951
|
+
/* @__PURE__ */ jsx27(Text23, { color: focused || value ? void 0 : PALETTE.muted, children: value || "(none)" })
|
|
25871
25952
|
] });
|
|
25872
25953
|
}
|
|
25873
25954
|
function DescriptionField({
|
|
@@ -25883,15 +25964,15 @@ function DescriptionField({
|
|
|
25883
25964
|
}) {
|
|
25884
25965
|
if (compact) {
|
|
25885
25966
|
return /* @__PURE__ */ jsxs22(Box21, { gap: 1, flexWrap: "wrap", width, flexShrink: 0, children: [
|
|
25886
|
-
/* @__PURE__ */ jsxs22(Text23, { color: focused ?
|
|
25967
|
+
/* @__PURE__ */ jsxs22(Text23, { color: focused ? PALETTE.warning : PALETTE.muted, bold: focused, children: [
|
|
25887
25968
|
focused ? "\u203A " : " ",
|
|
25888
25969
|
label
|
|
25889
25970
|
] }),
|
|
25890
|
-
/* @__PURE__ */ jsx27(Text23, { wrap: "truncate-end", color: value ? void 0 :
|
|
25971
|
+
/* @__PURE__ */ jsx27(Text23, { wrap: "truncate-end", color: value ? void 0 : PALETTE.muted, children: value || "\u2014" })
|
|
25891
25972
|
] });
|
|
25892
25973
|
}
|
|
25893
25974
|
return /* @__PURE__ */ jsxs22(Box21, { paddingLeft, flexDirection: "column", width, flexShrink: 0, children: [
|
|
25894
|
-
/* @__PURE__ */ jsxs22(Text23, { color: focused ?
|
|
25975
|
+
/* @__PURE__ */ jsxs22(Text23, { color: focused ? PALETTE.warning : PALETTE.muted, bold: focused, children: [
|
|
25895
25976
|
focused ? "\u203A " : " ",
|
|
25896
25977
|
label
|
|
25897
25978
|
] }),
|
|
@@ -25955,7 +26036,7 @@ function PropRow({
|
|
|
25955
26036
|
] }),
|
|
25956
26037
|
prop.type === "token" && /* @__PURE__ */ jsx27(InlinePropField, { label: "kind:", focused: activeField === "tokenKind", width, children: editingField && activeField === "tokenKind" ? /* @__PURE__ */ jsx27(Picker, { value: prop.tokenKind || DESIGN_TOKEN_TYPES2[0], active: true }) : /* @__PURE__ */ jsx27(Text23, { wrap: "wrap", children: prop.tokenKind || "\u2014" }) }),
|
|
25957
26038
|
prop.type === "enum" && /* @__PURE__ */ jsxs22(Box21, { gap: 1, flexWrap: "wrap", width, flexShrink: 0, children: [
|
|
25958
|
-
/* @__PURE__ */ jsxs22(Text23, { color: activeField === "values" ?
|
|
26039
|
+
/* @__PURE__ */ jsxs22(Text23, { color: activeField === "values" ? PALETTE.warning : PALETTE.muted, bold: activeField === "values", children: [
|
|
25959
26040
|
activeField === "values" ? "\u203A " : " ",
|
|
25960
26041
|
"values:"
|
|
25961
26042
|
] }),
|
|
@@ -25976,27 +26057,27 @@ function PropRow({
|
|
|
25976
26057
|
}
|
|
25977
26058
|
),
|
|
25978
26059
|
prop.type === "token" && prop.category === "design" && /* @__PURE__ */ jsxs22(Box21, { gap: 1, flexWrap: "wrap", width, flexShrink: 0, children: [
|
|
25979
|
-
/* @__PURE__ */ jsxs22(Text23, { color: activeField === "allowed" ?
|
|
26060
|
+
/* @__PURE__ */ jsxs22(Text23, { color: activeField === "allowed" ? PALETTE.warning : PALETTE.muted, bold: activeField === "allowed", children: [
|
|
25980
26061
|
activeField === "allowed" ? "\u203A " : " ",
|
|
25981
26062
|
"allowed:"
|
|
25982
26063
|
] }),
|
|
25983
|
-
editingField && activeField === "allowed" ? /* @__PURE__ */ jsx27(Box21, { width: Math.max(1, width - 4), borderStyle: "round", borderColor:
|
|
26064
|
+
editingField && activeField === "allowed" ? /* @__PURE__ */ jsx27(Box21, { width: Math.max(1, width - 4), borderStyle: "round", borderColor: PALETTE.warning, paddingX: 1, children: /* @__PURE__ */ jsx27(Text23, { children: "press [t] to edit allowed tokens" }) }) : /* @__PURE__ */ jsx27(
|
|
25984
26065
|
Text23,
|
|
25985
26066
|
{
|
|
25986
|
-
color: activeField !== "allowed" && prop.allowed.length === 0 ?
|
|
26067
|
+
color: activeField !== "allowed" && prop.allowed.length === 0 ? PALETTE.muted : void 0,
|
|
25987
26068
|
wrap: "wrap",
|
|
25988
26069
|
children: prop.allowed.length > 0 ? prop.allowed.join(", ") : "(any)"
|
|
25989
26070
|
}
|
|
25990
26071
|
)
|
|
25991
26072
|
] }),
|
|
25992
|
-
selected && showRationale && rationale && rationale.trim().length > 0 && /* @__PURE__ */ jsx27(Box21, { paddingLeft: 2, children: /* @__PURE__ */ jsx27(Text23, { color:
|
|
26073
|
+
selected && showRationale && rationale && rationale.trim().length > 0 && /* @__PURE__ */ jsx27(Box21, { paddingLeft: 2, children: /* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: (() => {
|
|
25993
26074
|
const max = Math.max(8, width - 8);
|
|
25994
26075
|
const text = `~ ${rationale}`;
|
|
25995
26076
|
return text.length > max ? text.slice(0, max - 1) + "\u2026" : text;
|
|
25996
26077
|
})() }) }, rowKey ? `rationale-${rowKey}` : void 0),
|
|
25997
26078
|
selected && prop.type === "enum" && activeField === "values" && /* @__PURE__ */ jsxs22(Box21, { paddingLeft: 2, flexDirection: "column", children: [
|
|
25998
26079
|
/* @__PURE__ */ jsxs22(Box21, { children: [
|
|
25999
|
-
/* @__PURE__ */ jsx27(Text23, { color:
|
|
26080
|
+
/* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: "values:" }),
|
|
26000
26081
|
activeField === "values" && /* @__PURE__ */ jsx27(Text23, { children: " [a] add [e] edit [r] remove [\u2191\u2193] navigate [K/J] reorder" })
|
|
26001
26082
|
] }),
|
|
26002
26083
|
/* @__PURE__ */ jsx27(
|
|
@@ -26057,7 +26138,7 @@ function SlotRow({
|
|
|
26057
26138
|
/* @__PURE__ */ jsxs22(
|
|
26058
26139
|
Text23,
|
|
26059
26140
|
{
|
|
26060
|
-
color: activeField === "allowedComponents" ?
|
|
26141
|
+
color: activeField === "allowedComponents" ? PALETTE.warning : PALETTE.muted,
|
|
26061
26142
|
bold: activeField === "allowedComponents",
|
|
26062
26143
|
children: [
|
|
26063
26144
|
activeField === "allowedComponents" ? "\u203A " : " ",
|
|
@@ -26065,14 +26146,14 @@ function SlotRow({
|
|
|
26065
26146
|
]
|
|
26066
26147
|
}
|
|
26067
26148
|
),
|
|
26068
|
-
slot.allowedComponents.length === 0 ? /* @__PURE__ */ jsx27(Text23, { color:
|
|
26149
|
+
slot.allowedComponents.length === 0 ? /* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: "(any)" }) : /* @__PURE__ */ jsx27(Text23, { wrap: "wrap", children: slot.allowedComponents.join(", ") })
|
|
26069
26150
|
] }),
|
|
26070
26151
|
selected && editingField && activeField === "allowedComponents" && /* @__PURE__ */ jsxs22(Box21, { flexDirection: "column", children: [
|
|
26071
26152
|
/* @__PURE__ */ jsxs22(Box21, { children: [
|
|
26072
26153
|
/* @__PURE__ */ jsxs22(
|
|
26073
26154
|
Text23,
|
|
26074
26155
|
{
|
|
26075
|
-
color: activeField === "allowedComponents" ?
|
|
26156
|
+
color: activeField === "allowedComponents" ? PALETTE.warning : PALETTE.muted,
|
|
26076
26157
|
bold: activeField === "allowedComponents",
|
|
26077
26158
|
children: [
|
|
26078
26159
|
activeField === "allowedComponents" ? "\u203A " : " ",
|
|
@@ -26080,7 +26161,7 @@ function SlotRow({
|
|
|
26080
26161
|
]
|
|
26081
26162
|
}
|
|
26082
26163
|
),
|
|
26083
|
-
editingField && activeField === "allowedComponents" && /* @__PURE__ */ jsx27(Text23, { color:
|
|
26164
|
+
editingField && activeField === "allowedComponents" && /* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: slot.allowedComponents.length > 0 ? " [a] add [e] edit [r] remove [\u2190\u2192] cycle [\u2191\u2193] navigate [K/J] reorder" : " [a] add [e] edit [r] remove [\u2191\u2193] navigate [K/J] reorder" })
|
|
26084
26165
|
] }),
|
|
26085
26166
|
/* @__PURE__ */ jsx27(
|
|
26086
26167
|
EditableValueList,
|
|
@@ -26096,21 +26177,21 @@ function SlotRow({
|
|
|
26096
26177
|
showAddInput: editingField && activeField === "allowedComponents"
|
|
26097
26178
|
}
|
|
26098
26179
|
),
|
|
26099
|
-
editingField && editingValue?.mode === "add" && activeField === "allowedComponents" && pickerCandidates !== null && /* @__PURE__ */ jsx27(Box21, { paddingLeft: 2, flexDirection: "column", children: pickerCandidates.length === 0 ? /* @__PURE__ */ jsx27(Text23, { color:
|
|
26180
|
+
editingField && editingValue?.mode === "add" && activeField === "allowedComponents" && pickerCandidates !== null && /* @__PURE__ */ jsx27(Box21, { paddingLeft: 2, flexDirection: "column", children: pickerCandidates.length === 0 ? /* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: "(no valid components to add \u2014 all remaining candidates would create cycles)" }) : (() => {
|
|
26100
26181
|
const filtered = valueText.length === 0 ? pickerCandidates : pickerCandidates.filter((n) => n.toLowerCase().includes(valueText.toLowerCase()));
|
|
26101
26182
|
if (filtered.length === 0) {
|
|
26102
|
-
return /* @__PURE__ */ jsx27(Text23, { color:
|
|
26183
|
+
return /* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: "(no candidates match \u2014 Enter to add as free text)" });
|
|
26103
26184
|
}
|
|
26104
26185
|
const cursor = pickerCursor % filtered.length;
|
|
26105
26186
|
const MAX_VISIBLE = 5;
|
|
26106
26187
|
const start = Math.max(0, Math.min(filtered.length - MAX_VISIBLE, cursor - 2));
|
|
26107
26188
|
const slice = filtered.slice(start, start + MAX_VISIBLE);
|
|
26108
26189
|
return /* @__PURE__ */ jsxs22(Box21, { flexDirection: "column", children: [
|
|
26109
|
-
/* @__PURE__ */ jsx27(Text23, { color:
|
|
26190
|
+
/* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: " candidates (\u2191\u2193 cycle, Enter to add):" }),
|
|
26110
26191
|
slice.map((name, i) => {
|
|
26111
26192
|
const absIdx = start + i;
|
|
26112
26193
|
const isCursor = absIdx === cursor;
|
|
26113
|
-
return /* @__PURE__ */ jsx27(Text23, { color: isCursor ?
|
|
26194
|
+
return /* @__PURE__ */ jsx27(Text23, { color: isCursor ? PALETTE.accent : PALETTE.muted, children: isCursor ? ` ${figures5.pointer} ${name}` : ` ${name}` }, name);
|
|
26114
26195
|
})
|
|
26115
26196
|
] });
|
|
26116
26197
|
})() })
|
|
@@ -26938,18 +27019,18 @@ function FieldEditor({
|
|
|
26938
27019
|
});
|
|
26939
27020
|
const innerWidth = Math.max(1, width - 2);
|
|
26940
27021
|
if (parseErr) {
|
|
26941
|
-
return /* @__PURE__ */ jsxs22(Box21, { flexDirection: "column", width, borderStyle: "single", borderColor:
|
|
26942
|
-
/* @__PURE__ */ jsx27(Text23, { bold: true, color:
|
|
26943
|
-
/* @__PURE__ */ jsx27(Text23, { color:
|
|
26944
|
-
/* @__PURE__ */ jsx27(Text23, { color:
|
|
27022
|
+
return /* @__PURE__ */ jsxs22(Box21, { flexDirection: "column", width, borderStyle: "single", borderColor: PALETTE.error, children: [
|
|
27023
|
+
/* @__PURE__ */ jsx27(Text23, { bold: true, color: PALETTE.error, children: "FIELD EDITOR \u2014 parse error" }),
|
|
27024
|
+
/* @__PURE__ */ jsx27(Text23, { color: PALETTE.error, children: parseErr }),
|
|
27025
|
+
/* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: "Cannot display structured editor. Fix the JSON first." })
|
|
26945
27026
|
] });
|
|
26946
27027
|
}
|
|
26947
27028
|
if (props.length === 0 && slots.length === 0) {
|
|
26948
|
-
return /* @__PURE__ */ jsxs22(Box21, { flexDirection: "column", width, borderStyle: "single", borderColor:
|
|
26949
|
-
/* @__PURE__ */ jsx27(Text23, { bold: true, color:
|
|
26950
|
-
/* @__PURE__ */ jsx27(Text23, { color:
|
|
26951
|
-
/* @__PURE__ */ jsx27(Text23, { color:
|
|
26952
|
-
/* @__PURE__ */ jsx27(Text23, { color:
|
|
27029
|
+
return /* @__PURE__ */ jsxs22(Box21, { flexDirection: "column", width, borderStyle: "single", borderColor: PALETTE.warning, children: [
|
|
27030
|
+
/* @__PURE__ */ jsx27(Text23, { bold: true, color: PALETTE.warning, children: "FIELD EDITOR \u2014 no fields" }),
|
|
27031
|
+
/* @__PURE__ */ jsx27(Text23, { color: PALETTE.warning, children: "\u26A0 No properties classified for this component. The LLM didn't find anything to classify." }),
|
|
27032
|
+
/* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: "There is nothing to edit here." }),
|
|
27033
|
+
/* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: active ? "[Esc] go back to the list" : "In the list: [r] reject this component \xB7 [a] accept it" })
|
|
26953
27034
|
] });
|
|
26954
27035
|
}
|
|
26955
27036
|
const hasEmptyProperties = props.length === 0 && slots.length === 0;
|
|
@@ -27078,7 +27159,7 @@ function FieldEditor({
|
|
|
27078
27159
|
const renderRow = (row, index) => {
|
|
27079
27160
|
const key = rowKey(row, index);
|
|
27080
27161
|
if (row.kind === "header") {
|
|
27081
|
-
return /* @__PURE__ */ jsx27(Box21, { flexDirection: "column", paddingTop: 1, children: /* @__PURE__ */ jsx27(Text23, { bold: true, color:
|
|
27162
|
+
return /* @__PURE__ */ jsx27(Box21, { flexDirection: "column", paddingTop: 1, children: /* @__PURE__ */ jsx27(Text23, { bold: true, color: PALETTE.success, children: row.label }) }, key);
|
|
27082
27163
|
}
|
|
27083
27164
|
if (row.kind === "component-description") {
|
|
27084
27165
|
const isSelected2 = inComponentDesc && active;
|
|
@@ -27160,11 +27241,11 @@ function FieldEditor({
|
|
|
27160
27241
|
...fixedHeight ? { height } : { minHeight: height },
|
|
27161
27242
|
clipOverflow: fixedHeight,
|
|
27162
27243
|
borderStyle: "single",
|
|
27163
|
-
borderColor: hasEmptyProperties ?
|
|
27244
|
+
borderColor: hasEmptyProperties ? PALETTE.warning : active ? PALETTE.accent : PALETTE.border,
|
|
27164
27245
|
children: [
|
|
27165
|
-
hasEmptyProperties && /* @__PURE__ */ jsx27(Text23, { color:
|
|
27246
|
+
hasEmptyProperties && /* @__PURE__ */ jsx27(Text23, { color: PALETTE.warning, children: "\u26A0 No properties classified for this component. The LLM didn't find anything to classify. Reject this component or add fields manually." }),
|
|
27166
27247
|
header,
|
|
27167
|
-
/* @__PURE__ */ jsx27(Box21, { flexDirection: "column", width: innerWidth, flexShrink: 0, children: focusLevel === "field" && !inComponentDesc && currentProp ? /* @__PURE__ */ jsx27(
|
|
27248
|
+
/* @__PURE__ */ jsx27(Box21, { flexDirection: "column", width: innerWidth, flexShrink: 0, children: focusLevel === "field" && !inComponentDesc && !inSlots && currentProp ? /* @__PURE__ */ jsx27(
|
|
27168
27249
|
PropRow,
|
|
27169
27250
|
{
|
|
27170
27251
|
prop: currentProp,
|
|
@@ -27213,7 +27294,7 @@ function FieldEditor({
|
|
|
27213
27294
|
`visible-${key}`
|
|
27214
27295
|
);
|
|
27215
27296
|
}) }),
|
|
27216
|
-
categoryBelow && /* @__PURE__ */ jsx27(Text23, { color:
|
|
27297
|
+
categoryBelow && /* @__PURE__ */ jsx27(Text23, { color: PALETTE.success, bold: true, children: `(${categoryBelow} below)` }),
|
|
27217
27298
|
sourceOpen && !onToggleSourceExternal && (() => {
|
|
27218
27299
|
const propMeta = !inSlots && !inComponentDesc && currentProp ? metadata?.props?.[currentProp.name] : void 0;
|
|
27219
27300
|
const start = propMeta?.sourceStartLine ?? null;
|
|
@@ -27223,20 +27304,20 @@ function FieldEditor({
|
|
|
27223
27304
|
const headerPath = path5 ?? "<unknown source path>";
|
|
27224
27305
|
if (!start || !end2 || !src) {
|
|
27225
27306
|
return /* @__PURE__ */ jsxs22(Box21, { flexDirection: "column", borderStyle: "single", borderColor: "gray", paddingX: 1, children: [
|
|
27226
|
-
/* @__PURE__ */ jsx27(Text23, { color:
|
|
27227
|
-
/* @__PURE__ */ jsx27(Text23, { color:
|
|
27307
|
+
/* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, bold: true, children: `source: ${headerPath}` }),
|
|
27308
|
+
/* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: "(no source location captured for this prop)" }),
|
|
27228
27309
|
/* @__PURE__ */ jsx27(Text23, { children: "[s] close" })
|
|
27229
27310
|
] });
|
|
27230
27311
|
}
|
|
27231
27312
|
const lines = src.split("\n").slice(Math.max(0, start - 1), end2);
|
|
27232
27313
|
return /* @__PURE__ */ jsxs22(Box21, { flexDirection: "column", borderStyle: "single", borderColor: "gray", paddingX: 1, children: [
|
|
27233
|
-
/* @__PURE__ */ jsx27(Text23, { color:
|
|
27234
|
-
lines.map((ln, i) => /* @__PURE__ */ jsx27(Text23, { color:
|
|
27314
|
+
/* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, bold: true, children: `${headerPath}: lines ${start}\u2013${end2}` }),
|
|
27315
|
+
lines.map((ln, i) => /* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: ln }, `source-line-${i}`)),
|
|
27235
27316
|
/* @__PURE__ */ jsx27(Text23, { children: "[s] close \xB7 [Esc] close" })
|
|
27236
27317
|
] });
|
|
27237
27318
|
})(),
|
|
27238
|
-
showHelp && /* @__PURE__ */ jsxs22(Box21, { flexDirection: "column", borderStyle: "round", borderColor:
|
|
27239
|
-
/* @__PURE__ */ jsx27(Text23, { bold: true, color:
|
|
27319
|
+
showHelp && /* @__PURE__ */ jsxs22(Box21, { flexDirection: "column", borderStyle: "round", borderColor: PALETTE.accent, paddingX: 1, children: [
|
|
27320
|
+
/* @__PURE__ */ jsx27(Text23, { bold: true, color: PALETTE.accent, children: "Keybindings" }),
|
|
27240
27321
|
/* @__PURE__ */ jsx27(Text23, { children: " " }),
|
|
27241
27322
|
/* @__PURE__ */ jsx27(Text23, { bold: true, children: "Row navigation" }),
|
|
27242
27323
|
/* @__PURE__ */ jsx27(Text23, { children: " \u2191/\u2193 move between rows" }),
|
|
@@ -27261,10 +27342,10 @@ function FieldEditor({
|
|
|
27261
27342
|
/* @__PURE__ */ jsx27(Text23, { children: " " + componentRationaleKey.padEnd(16) + " toggle component rationale panel" }),
|
|
27262
27343
|
/* @__PURE__ */ jsx27(Text23, { children: " ? toggle this overlay" }),
|
|
27263
27344
|
/* @__PURE__ */ jsx27(Text23, { children: " " }),
|
|
27264
|
-
/* @__PURE__ */ jsx27(Text23, { color:
|
|
27345
|
+
/* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: "press ? or Esc to close" })
|
|
27265
27346
|
] }),
|
|
27266
|
-
validationError && /* @__PURE__ */ jsx27(Text23, { color:
|
|
27267
|
-
/* @__PURE__ */ jsx27(Box21, { paddingTop: 1, children: /* @__PURE__ */ jsx27(Text23, { color:
|
|
27347
|
+
validationError && /* @__PURE__ */ jsx27(Text23, { color: PALETTE.error, children: "\u2717 " + validationError }),
|
|
27348
|
+
/* @__PURE__ */ jsx27(Box21, { paddingTop: 1, children: /* @__PURE__ */ jsx27(Text23, { color: PALETTE.muted, children: modeLabel }) })
|
|
27268
27349
|
]
|
|
27269
27350
|
}
|
|
27270
27351
|
);
|
|
@@ -27273,7 +27354,7 @@ var SLOT_FIELDS;
|
|
|
27273
27354
|
var init_FieldEditor = __esm({
|
|
27274
27355
|
"packages/experience-design-system-cli/src/tui/import/steps/09-review/components/FieldEditor.tsx"() {
|
|
27275
27356
|
"use strict";
|
|
27276
|
-
|
|
27357
|
+
init_theme();
|
|
27277
27358
|
init_src5();
|
|
27278
27359
|
init_useImmediateInput();
|
|
27279
27360
|
init_scroll_offset();
|
|
@@ -27328,21 +27409,21 @@ function RationaleLine({ line, active }) {
|
|
|
27328
27409
|
return /* @__PURE__ */ jsx28(Box22, { children: /* @__PURE__ */ jsx28(Text24, { children: " " }) });
|
|
27329
27410
|
}
|
|
27330
27411
|
if (line.kind === "heading") {
|
|
27331
|
-
return /* @__PURE__ */ jsx28(Box22, { children: /* @__PURE__ */ jsx28(Text24, { bold: true, color: active ?
|
|
27412
|
+
return /* @__PURE__ */ jsx28(Box22, { children: /* @__PURE__ */ jsx28(Text24, { bold: true, color: active ? PALETTE.accent : PALETTE.muted, children: line.text }) });
|
|
27332
27413
|
}
|
|
27333
27414
|
if (line.kind === "label") {
|
|
27334
27415
|
return /* @__PURE__ */ jsxs23(Box22, { children: [
|
|
27335
27416
|
line.prefix && /* @__PURE__ */ jsx28(Text24, { children: line.prefix }),
|
|
27336
|
-
/* @__PURE__ */ jsx28(Text24, { bold: true, color: active ? line.color :
|
|
27337
|
-
line.suffix && /* @__PURE__ */ jsx28(Text24, { color:
|
|
27417
|
+
/* @__PURE__ */ jsx28(Text24, { bold: true, color: active ? line.color : PALETTE.muted, children: line.text }),
|
|
27418
|
+
line.suffix && /* @__PURE__ */ jsx28(Text24, { color: PALETTE.muted, children: line.suffix })
|
|
27338
27419
|
] });
|
|
27339
27420
|
}
|
|
27340
|
-
return /* @__PURE__ */ jsx28(Box22, { children: /* @__PURE__ */ jsx28(Text24, { color: !active || line.dim ?
|
|
27421
|
+
return /* @__PURE__ */ jsx28(Box22, { children: /* @__PURE__ */ jsx28(Text24, { color: !active || line.dim ? PALETTE.muted : void 0, children: line.text }) });
|
|
27341
27422
|
}
|
|
27342
27423
|
var init_RationaleLine = __esm({
|
|
27343
27424
|
"packages/experience-design-system-cli/src/tui/import/steps/09-review/components/RationaleLine.tsx"() {
|
|
27344
27425
|
"use strict";
|
|
27345
|
-
|
|
27426
|
+
init_theme();
|
|
27346
27427
|
}
|
|
27347
27428
|
});
|
|
27348
27429
|
|
|
@@ -27422,9 +27503,9 @@ function ComponentRationalePanel({
|
|
|
27422
27503
|
width,
|
|
27423
27504
|
height: height + 2,
|
|
27424
27505
|
borderStyle: "single",
|
|
27425
|
-
borderColor: active ?
|
|
27506
|
+
borderColor: active ? PALETTE.text : void 0,
|
|
27426
27507
|
children: [
|
|
27427
|
-
/* @__PURE__ */ jsx29(Box23, { children: /* @__PURE__ */ jsx29(Text25, { bold: true, color: active ? void 0 :
|
|
27508
|
+
/* @__PURE__ */ jsx29(Box23, { children: /* @__PURE__ */ jsx29(Text25, { bold: true, color: active ? void 0 : PALETTE.muted, children: `Component rationale: ${data.name}` }) }),
|
|
27428
27509
|
visible.map((line, i) => /* @__PURE__ */ jsx29(RationaleLine, { line, active }, i)),
|
|
27429
27510
|
/* @__PURE__ */ jsx29(Box23, { children: overflowed ? /* @__PURE__ */ jsx29(Text25, { children: `${visibleStart}-${visibleEnd}/${totalLines} [\u2191\u2193] scroll [I/Esc] close` }) : /* @__PURE__ */ jsx29(Text25, { children: "[I/Esc] close" }) })
|
|
27430
27511
|
]
|
|
@@ -27435,7 +27516,7 @@ var PLACEHOLDER;
|
|
|
27435
27516
|
var init_ComponentRationalePanel = __esm({
|
|
27436
27517
|
"packages/experience-design-system-cli/src/tui/import/steps/09-review/components/ComponentRationalePanel.tsx"() {
|
|
27437
27518
|
"use strict";
|
|
27438
|
-
|
|
27519
|
+
init_theme();
|
|
27439
27520
|
init_wrap_text();
|
|
27440
27521
|
init_RationaleLine();
|
|
27441
27522
|
PLACEHOLDER = "(no rationale captured)";
|
|
@@ -27446,12 +27527,12 @@ var init_ComponentRationalePanel = __esm({
|
|
|
27446
27527
|
import { Text as Text26 } from "ink";
|
|
27447
27528
|
import { Fragment as Fragment6, jsx as jsx30 } from "react/jsx-runtime";
|
|
27448
27529
|
function HighlightedLine({ parts }) {
|
|
27449
|
-
return /* @__PURE__ */ jsx30(Fragment6, { children: parts.map((part, i) => /* @__PURE__ */ jsx30(Text26, { color: part.dim ?
|
|
27530
|
+
return /* @__PURE__ */ jsx30(Fragment6, { children: parts.map((part, i) => /* @__PURE__ */ jsx30(Text26, { color: part.dim ? PALETTE.muted : part.color, children: part.text }, i)) });
|
|
27450
27531
|
}
|
|
27451
27532
|
var init_HighlightedLine = __esm({
|
|
27452
27533
|
"packages/experience-design-system-cli/src/tui/import/steps/09-review/components/HighlightedLine.tsx"() {
|
|
27453
27534
|
"use strict";
|
|
27454
|
-
|
|
27535
|
+
init_theme();
|
|
27455
27536
|
}
|
|
27456
27537
|
});
|
|
27457
27538
|
|
|
@@ -27472,10 +27553,10 @@ function ScrollablePanel({
|
|
|
27472
27553
|
const overflowed = totalLines > height;
|
|
27473
27554
|
return /* @__PURE__ */ jsxs25(Box24, { flexDirection: "column", width, height: height + 2, borderStyle: "single", borderColor, children: [
|
|
27474
27555
|
/* @__PURE__ */ jsxs25(Box24, { children: [
|
|
27475
|
-
/* @__PURE__ */ jsx31(Text27, { bold: true, color: active ? void 0 :
|
|
27556
|
+
/* @__PURE__ */ jsx31(Text27, { bold: true, color: active ? void 0 : PALETTE.muted, children: title }),
|
|
27476
27557
|
overflowed && /* @__PURE__ */ jsxs25(Fragment7, { children: [
|
|
27477
27558
|
/* @__PURE__ */ jsx31(Box24, { flexGrow: 1 }),
|
|
27478
|
-
/* @__PURE__ */ jsx31(Text27, { color: active ? void 0 :
|
|
27559
|
+
/* @__PURE__ */ jsx31(Text27, { color: active ? void 0 : PALETTE.muted, children: `\u2195 ${visibleStart}-${visibleEnd}/${totalLines}` })
|
|
27479
27560
|
] })
|
|
27480
27561
|
] }),
|
|
27481
27562
|
children
|
|
@@ -27484,7 +27565,7 @@ function ScrollablePanel({
|
|
|
27484
27565
|
var init_ScrollablePanel = __esm({
|
|
27485
27566
|
"packages/experience-design-system-cli/src/tui/import/steps/09-review/components/ScrollablePanel.tsx"() {
|
|
27486
27567
|
"use strict";
|
|
27487
|
-
|
|
27568
|
+
init_theme();
|
|
27488
27569
|
}
|
|
27489
27570
|
});
|
|
27490
27571
|
|
|
@@ -27575,7 +27656,7 @@ function renderRationaleLines(rows, innerWidth) {
|
|
|
27575
27656
|
out.push({
|
|
27576
27657
|
kind: "label",
|
|
27577
27658
|
text: row.name,
|
|
27578
|
-
color:
|
|
27659
|
+
color: PALETTE.accent,
|
|
27579
27660
|
suffix: row.kind === "slot" ? " (slot)" : void 0
|
|
27580
27661
|
});
|
|
27581
27662
|
for (const line of wrapText(row.rationale, innerWidth)) {
|
|
@@ -27611,7 +27692,7 @@ function RationalePanel({
|
|
|
27611
27692
|
totalLines,
|
|
27612
27693
|
visibleStart,
|
|
27613
27694
|
visibleEnd,
|
|
27614
|
-
borderColor: active ?
|
|
27695
|
+
borderColor: active ? PALETTE.text : void 0,
|
|
27615
27696
|
children: visible.map((line, i) => /* @__PURE__ */ jsx33(RationaleLine, { line, active }, i))
|
|
27616
27697
|
}
|
|
27617
27698
|
);
|
|
@@ -27619,7 +27700,7 @@ function RationalePanel({
|
|
|
27619
27700
|
var init_RationalePanel = __esm({
|
|
27620
27701
|
"packages/experience-design-system-cli/src/tui/import/steps/09-review/components/RationalePanel.tsx"() {
|
|
27621
27702
|
"use strict";
|
|
27622
|
-
|
|
27703
|
+
init_theme();
|
|
27623
27704
|
init_wrap_text();
|
|
27624
27705
|
init_RationaleLine();
|
|
27625
27706
|
init_ScrollablePanel();
|
|
@@ -27655,21 +27736,29 @@ function TokenReviewPanel({
|
|
|
27655
27736
|
width,
|
|
27656
27737
|
height: height + 2,
|
|
27657
27738
|
borderStyle: "single",
|
|
27658
|
-
borderColor: active ?
|
|
27739
|
+
borderColor: active ? PALETTE.text : void 0,
|
|
27659
27740
|
children: [
|
|
27660
|
-
/* @__PURE__ */ jsx34(Text28, { bold: true, color: active ? void 0 :
|
|
27661
|
-
/* @__PURE__ */ jsx34(Text28, { color:
|
|
27741
|
+
/* @__PURE__ */ jsx34(Text28, { bold: true, color: active ? void 0 : PALETTE.muted, wrap: "truncate", children: `TOKEN REVIEW \u2014 ${componentName} \xB7 ${current.propName} (edit allowed)` }),
|
|
27742
|
+
/* @__PURE__ */ jsx34(Text28, { color: PALETTE.muted, wrap: "truncate", children: `select which tokens are allowed (${rangeLabel})` }),
|
|
27662
27743
|
/* @__PURE__ */ jsx34(Text28, { children: " " }),
|
|
27663
|
-
current.paths.length === 0 && /* @__PURE__ */ jsx34(Text28, { color:
|
|
27744
|
+
current.paths.length === 0 && /* @__PURE__ */ jsx34(Text28, { color: PALETTE.muted, children: "(no compatible tokens found for this token kind)" }),
|
|
27664
27745
|
visiblePaths.map((path5, i) => {
|
|
27665
27746
|
const pathIndex = scrollStart + i;
|
|
27666
27747
|
const checked = editSelection.has(path5);
|
|
27667
27748
|
const focused = pathIndex === editCursor;
|
|
27668
|
-
return /* @__PURE__ */ jsx34(Box26, { children: /* @__PURE__ */ jsx34(
|
|
27749
|
+
return /* @__PURE__ */ jsx34(Box26, { children: /* @__PURE__ */ jsx34(
|
|
27750
|
+
Text28,
|
|
27751
|
+
{
|
|
27752
|
+
color: focused ? PALETTE.accent : active ? void 0 : PALETTE.muted,
|
|
27753
|
+
bold: focused,
|
|
27754
|
+
wrap: "truncate",
|
|
27755
|
+
children: ` [${checked ? "x" : " "}] ${path5}`
|
|
27756
|
+
}
|
|
27757
|
+
) }, path5);
|
|
27669
27758
|
}),
|
|
27670
27759
|
/* @__PURE__ */ jsx34(Text28, { children: " " }),
|
|
27671
|
-
/* @__PURE__ */ jsx34(Text28, { color:
|
|
27672
|
-
/* @__PURE__ */ jsx34(Text28, { color:
|
|
27760
|
+
/* @__PURE__ */ jsx34(Text28, { color: PALETTE.muted, wrap: "truncate", children: "[\u2191/\u2193] move [Space] toggle" }),
|
|
27761
|
+
/* @__PURE__ */ jsx34(Text28, { color: PALETTE.muted, wrap: "truncate", children: "[Ctrl+S] save [Esc] cancel" })
|
|
27673
27762
|
]
|
|
27674
27763
|
}
|
|
27675
27764
|
);
|
|
@@ -27681,16 +27770,16 @@ function TokenReviewPanel({
|
|
|
27681
27770
|
width,
|
|
27682
27771
|
height: height + 2,
|
|
27683
27772
|
borderStyle: "single",
|
|
27684
|
-
borderColor: active ?
|
|
27773
|
+
borderColor: active ? PALETTE.text : void 0,
|
|
27685
27774
|
children: [
|
|
27686
|
-
/* @__PURE__ */ jsx34(Text28, { bold: true, color: active ? void 0 :
|
|
27687
|
-
suggestions.length === 0 && /* @__PURE__ */ jsx34(Text28, { color:
|
|
27775
|
+
/* @__PURE__ */ jsx34(Text28, { bold: true, color: active ? void 0 : PALETTE.muted, children: `TOKEN REVIEW \u2014 ${componentName}` }),
|
|
27776
|
+
suggestions.length === 0 && /* @__PURE__ */ jsx34(Text28, { color: PALETTE.muted, children: "(no token suggestions for this component)" }),
|
|
27688
27777
|
suggestions.map((s, i) => {
|
|
27689
27778
|
const focused = i === selectedRow;
|
|
27690
27779
|
return /* @__PURE__ */ jsxs26(Box26, { flexDirection: "column", children: [
|
|
27691
|
-
/* @__PURE__ */ jsx34(Box26, { children: /* @__PURE__ */ jsx34(Text28, { color: focused ?
|
|
27692
|
-
/* @__PURE__ */ jsx34(Text28, { color:
|
|
27693
|
-
/* @__PURE__ */ jsx34(Text28, { color:
|
|
27780
|
+
/* @__PURE__ */ jsx34(Box26, { children: /* @__PURE__ */ jsx34(Text28, { color: focused ? PALETTE.accent : active ? void 0 : PALETTE.muted, bold: focused, children: `${focused ? figures6.pointer : " "} ${s.propName}` }) }),
|
|
27781
|
+
/* @__PURE__ */ jsx34(Text28, { color: PALETTE.muted, children: ` suggested: ${s.suggested.join(", ")}` }),
|
|
27782
|
+
/* @__PURE__ */ jsx34(Text28, { color: PALETTE.muted, children: ` allowed: ${s.allowed.join(", ")}` })
|
|
27694
27783
|
] }, s.propName);
|
|
27695
27784
|
}),
|
|
27696
27785
|
/* @__PURE__ */ jsx34(Text28, { children: " " }),
|
|
@@ -27702,7 +27791,7 @@ function TokenReviewPanel({
|
|
|
27702
27791
|
var init_TokenReviewPanel = __esm({
|
|
27703
27792
|
"packages/experience-design-system-cli/src/tui/import/steps/09-review/components/TokenReviewPanel.tsx"() {
|
|
27704
27793
|
"use strict";
|
|
27705
|
-
|
|
27794
|
+
init_theme();
|
|
27706
27795
|
}
|
|
27707
27796
|
});
|
|
27708
27797
|
|
|
@@ -27782,9 +27871,9 @@ function ReviewDetailsPanel({
|
|
|
27782
27871
|
const sourceLineCount = Math.max(1, height - 4);
|
|
27783
27872
|
const lines = source ? source.split("\n").slice(panelScrollOffset, panelScrollOffset + sourceLineCount) : [];
|
|
27784
27873
|
return /* @__PURE__ */ jsxs27(FixedPanel, { width, height, borderStyle: "single", borderColor: sourceBorderColor, paddingLeft: 1, children: [
|
|
27785
|
-
/* @__PURE__ */ jsx35(Text29, { color:
|
|
27786
|
-
source ? lines.map((line, index) => /* @__PURE__ */ jsx35(Text29, { color:
|
|
27787
|
-
/* @__PURE__ */ jsx35(Text29, { color:
|
|
27874
|
+
/* @__PURE__ */ jsx35(Text29, { color: PALETTE.muted, bold: true, wrap: "truncate-end", children: `source: ${headerPath}` }),
|
|
27875
|
+
source ? lines.map((line, index) => /* @__PURE__ */ jsx35(Text29, { color: PALETTE.muted, wrap: "truncate-end", children: line }, `source-line-${index}`)) : /* @__PURE__ */ jsx35(Text29, { color: PALETTE.muted, children: "(no source captured)" }),
|
|
27876
|
+
/* @__PURE__ */ jsx35(Text29, { color: PALETTE.muted, wrap: "truncate-end", children: "[s/Esc] close" })
|
|
27788
27877
|
] });
|
|
27789
27878
|
}
|
|
27790
27879
|
if (panelOpen === "token-review") {
|
|
@@ -27826,7 +27915,7 @@ var init_review_details_panel = __esm({
|
|
|
27826
27915
|
init_RationalePanel();
|
|
27827
27916
|
init_TokenReviewPanel();
|
|
27828
27917
|
init_windowed_panel();
|
|
27829
|
-
|
|
27918
|
+
init_theme();
|
|
27830
27919
|
}
|
|
27831
27920
|
});
|
|
27832
27921
|
|
|
@@ -27953,17 +28042,17 @@ function ReviewEmptyComponentsWarning({
|
|
|
27953
28042
|
hidden
|
|
27954
28043
|
}) {
|
|
27955
28044
|
if (hidden || count === 0) return null;
|
|
27956
|
-
return /* @__PURE__ */ jsx37(Text30, { color:
|
|
28045
|
+
return /* @__PURE__ */ jsx37(Text30, { color: PALETTE.warning, children: `\u26A0 ${count} component${count === 1 ? "" : "s"} had no classifiable props \u2014 review with care` });
|
|
27957
28046
|
}
|
|
27958
28047
|
function ReviewNoSelection() {
|
|
27959
|
-
return /* @__PURE__ */ jsx37(Box27, { flexGrow: 1, paddingLeft: 1, flexDirection: "column", children: /* @__PURE__ */ jsx37(Text30, { color:
|
|
28048
|
+
return /* @__PURE__ */ jsx37(Box27, { flexGrow: 1, paddingLeft: 1, flexDirection: "column", children: /* @__PURE__ */ jsx37(Text30, { color: PALETTE.muted, children: "No component selected" }) });
|
|
27960
28049
|
}
|
|
27961
28050
|
function ReviewFinalizeError({
|
|
27962
28051
|
message,
|
|
27963
28052
|
hidden
|
|
27964
28053
|
}) {
|
|
27965
28054
|
if (hidden || !message) return null;
|
|
27966
|
-
return /* @__PURE__ */ jsx37(Text30, { color:
|
|
28055
|
+
return /* @__PURE__ */ jsx37(Text30, { color: PALETTE.error, children: `\u26A0 ${message}` });
|
|
27967
28056
|
}
|
|
27968
28057
|
function ReviewPanelFooter({
|
|
27969
28058
|
reviewEditor,
|
|
@@ -27987,7 +28076,7 @@ function ReviewComponentTitle({
|
|
|
27987
28076
|
return /* @__PURE__ */ jsxs28(Box27, { paddingLeft: 2, paddingBottom: 1, children: [
|
|
27988
28077
|
/* @__PURE__ */ jsx37(Text30, { bold: true, wrap: "truncate-end", children: selectedKey }),
|
|
27989
28078
|
/* @__PURE__ */ jsx37(Box27, { flexGrow: 1 }),
|
|
27990
|
-
/* @__PURE__ */ jsxs28(Text30, { color:
|
|
28079
|
+
/* @__PURE__ */ jsxs28(Text30, { color: PALETTE.muted, wrap: "truncate-end", children: [
|
|
27991
28080
|
propCount,
|
|
27992
28081
|
" prop",
|
|
27993
28082
|
propCount !== 1 ? "s" : "",
|
|
@@ -28043,8 +28132,8 @@ function ReviewComponentPanel({
|
|
|
28043
28132
|
)
|
|
28044
28133
|
}
|
|
28045
28134
|
) }),
|
|
28046
|
-
/* @__PURE__ */ jsx37(Box27, { width: contentWidth, height: 1, flexShrink: 0, children: /* @__PURE__ */ jsx37(Text30, { color: saveError ?
|
|
28047
|
-
/* @__PURE__ */ jsx37(Box27, { width: contentWidth, height: 1, flexShrink: 0, children: /* @__PURE__ */ jsx37(Text30, { color:
|
|
28135
|
+
/* @__PURE__ */ jsx37(Box27, { width: contentWidth, height: 1, flexShrink: 0, children: /* @__PURE__ */ jsx37(Text30, { color: saveError ? PALETTE.error : void 0, wrap: "truncate-end", children: saveError ? "\u2717 " + saveError : " " }) }),
|
|
28136
|
+
/* @__PURE__ */ jsx37(Box27, { width: contentWidth, height: 1, flexShrink: 0, children: /* @__PURE__ */ jsx37(Text30, { color: PALETTE.muted, wrap: "truncate-end", children: /* @__PURE__ */ jsx37(
|
|
28048
28137
|
ReviewPanelFooter,
|
|
28049
28138
|
{
|
|
28050
28139
|
reviewEditor,
|
|
@@ -28059,7 +28148,7 @@ function ReviewComponentPanel({
|
|
|
28059
28148
|
var init_ReviewComponentPanel = __esm({
|
|
28060
28149
|
"packages/experience-design-system-cli/src/tui/import/steps/09-review/components/ReviewComponentPanel.tsx"() {
|
|
28061
28150
|
"use strict";
|
|
28062
|
-
|
|
28151
|
+
init_theme();
|
|
28063
28152
|
init_review_json_panel();
|
|
28064
28153
|
init_ReviewDetailsEditor();
|
|
28065
28154
|
init_windowed_panel();
|
|
@@ -28081,11 +28170,11 @@ function countReviewStatuses(entries) {
|
|
|
28081
28170
|
);
|
|
28082
28171
|
}
|
|
28083
28172
|
function ReviewLoadingState() {
|
|
28084
|
-
return /* @__PURE__ */ jsx38(Box28, { paddingX: 2, paddingY: 1, children: /* @__PURE__ */ jsx38(Text31, { color:
|
|
28173
|
+
return /* @__PURE__ */ jsx38(Box28, { paddingX: 2, paddingY: 1, children: /* @__PURE__ */ jsx38(Text31, { color: PALETTE.muted, children: "Loading generated definitions..." }) });
|
|
28085
28174
|
}
|
|
28086
28175
|
function ReviewLoadError({ message }) {
|
|
28087
28176
|
return /* @__PURE__ */ jsxs29(Box28, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
|
|
28088
|
-
/* @__PURE__ */ jsx38(Text31, { color:
|
|
28177
|
+
/* @__PURE__ */ jsx38(Text31, { color: PALETTE.error, children: message }),
|
|
28089
28178
|
/* @__PURE__ */ jsx38(Text31, { children: " " }),
|
|
28090
28179
|
/* @__PURE__ */ jsx38(Text31, { children: "[q / Enter / Esc] Quit" })
|
|
28091
28180
|
] });
|
|
@@ -28093,7 +28182,7 @@ function ReviewLoadError({ message }) {
|
|
|
28093
28182
|
var init_ReviewStatus = __esm({
|
|
28094
28183
|
"packages/experience-design-system-cli/src/tui/import/steps/09-review/components/ReviewStatus.tsx"() {
|
|
28095
28184
|
"use strict";
|
|
28096
|
-
|
|
28185
|
+
init_theme();
|
|
28097
28186
|
}
|
|
28098
28187
|
});
|
|
28099
28188
|
|
|
@@ -28168,6 +28257,7 @@ function finalizeReviewSession(extractSessionId, components) {
|
|
|
28168
28257
|
db.exec("ROLLBACK");
|
|
28169
28258
|
throw error;
|
|
28170
28259
|
}
|
|
28260
|
+
removeSlotAllowedComponents(db, extractSessionId, [], toReject);
|
|
28171
28261
|
} finally {
|
|
28172
28262
|
db.close();
|
|
28173
28263
|
}
|
|
@@ -28343,41 +28433,41 @@ function FinalizeDialog({
|
|
|
28343
28433
|
/* @__PURE__ */ jsx39(Text32, { bold: true, children: "\u2500".repeat(22) + " Finalize " + "\u2500".repeat(22) }),
|
|
28344
28434
|
/* @__PURE__ */ jsx39(Text32, { children: " " }),
|
|
28345
28435
|
/* @__PURE__ */ jsxs30(Text32, { children: [
|
|
28346
|
-
/* @__PURE__ */ jsxs30(Text32, { color:
|
|
28436
|
+
/* @__PURE__ */ jsxs30(Text32, { color: PALETTE.success, children: [
|
|
28347
28437
|
accepted,
|
|
28348
28438
|
" accepted"
|
|
28349
28439
|
] }),
|
|
28350
28440
|
/* @__PURE__ */ jsx39(Text32, { children: " \xB7 " }),
|
|
28351
|
-
/* @__PURE__ */ jsxs30(Text32, { color:
|
|
28441
|
+
/* @__PURE__ */ jsxs30(Text32, { color: PALETTE.error, children: [
|
|
28352
28442
|
rejected,
|
|
28353
28443
|
" rejected"
|
|
28354
28444
|
] }),
|
|
28355
28445
|
/* @__PURE__ */ jsx39(Text32, { children: " \xB7 " }),
|
|
28356
|
-
/* @__PURE__ */ jsxs30(Text32, { color:
|
|
28446
|
+
/* @__PURE__ */ jsxs30(Text32, { color: PALETTE.muted, children: [
|
|
28357
28447
|
needsReview,
|
|
28358
28448
|
" unresolved"
|
|
28359
28449
|
] })
|
|
28360
28450
|
] }),
|
|
28361
28451
|
/* @__PURE__ */ jsx39(Text32, { children: " " }),
|
|
28362
28452
|
noneAccepted && /* @__PURE__ */ jsxs30(Fragment10, { children: [
|
|
28363
|
-
/* @__PURE__ */ jsx39(Text32, { bold: true, color:
|
|
28364
|
-
/* @__PURE__ */ jsx39(Text32, { color:
|
|
28453
|
+
/* @__PURE__ */ jsx39(Text32, { bold: true, color: PALETTE.warning, children: "\u26A0 No components are accepted \u2014 nothing will be pushed." }),
|
|
28454
|
+
/* @__PURE__ */ jsx39(Text32, { color: PALETTE.warning, children: "Accept at least one component ([a] a row, [A] accept all) to push." }),
|
|
28365
28455
|
/* @__PURE__ */ jsx39(Text32, { children: " " })
|
|
28366
28456
|
] }),
|
|
28367
28457
|
!allResolved && /* @__PURE__ */ jsxs30(Fragment10, { children: [
|
|
28368
|
-
/* @__PURE__ */ jsx39(Text32, { color:
|
|
28369
|
-
/* @__PURE__ */ jsx39(Text32, { color:
|
|
28458
|
+
/* @__PURE__ */ jsx39(Text32, { color: PALETTE.warning, children: "\u26A0 " + needsReview + " unresolved component" + (needsReview === 1 ? "" : "s") + " will not be pushed." }),
|
|
28459
|
+
/* @__PURE__ */ jsx39(Text32, { color: PALETTE.warning, children: "Only explicitly accepted components ship." }),
|
|
28370
28460
|
/* @__PURE__ */ jsx39(Text32, { children: " " })
|
|
28371
28461
|
] }),
|
|
28372
28462
|
/* @__PURE__ */ jsxs30(Box29, { flexDirection: "column", height: 2, children: [
|
|
28373
|
-
previewStatus === "running" ? /* @__PURE__ */ jsx39(Text32, { color:
|
|
28463
|
+
previewStatus === "running" ? /* @__PURE__ */ jsx39(Text32, { color: PALETTE.muted, children: "Previewing deletions against the target space\u2026" }) : previewStatus === "error" ? /* @__PURE__ */ jsx39(Text32, { color: PALETTE.warning, children: "\u26A0 Could not preview deletions (the push will still proceed)." }) : /* @__PURE__ */ jsx39(Text32, { children: " " }),
|
|
28374
28464
|
/* @__PURE__ */ jsx39(Text32, { children: " " })
|
|
28375
28465
|
] }),
|
|
28376
28466
|
previewStatus === "done" && removed.length > 0 && /* @__PURE__ */ jsxs30(Fragment10, { children: [
|
|
28377
|
-
/* @__PURE__ */ jsx39(Text32, { bold: true, color:
|
|
28378
|
-
hasMoreAbove && /* @__PURE__ */ jsx39(Text32, { color:
|
|
28379
|
-
windowed.map((rc) => /* @__PURE__ */ jsx39(Text32, { color:
|
|
28380
|
-
hasMoreBelow && /* @__PURE__ */ jsx39(Text32, { color:
|
|
28467
|
+
/* @__PURE__ */ jsx39(Text32, { bold: true, color: PALETTE.error, children: removedComponentsHeader(removed.length, false) }),
|
|
28468
|
+
hasMoreAbove && /* @__PURE__ */ jsx39(Text32, { color: PALETTE.muted, children: "\u2191 more above" }),
|
|
28469
|
+
windowed.map((rc) => /* @__PURE__ */ jsx39(Text32, { color: PALETTE.error, children: removedComponentLine(rc) }, rc.id)),
|
|
28470
|
+
hasMoreBelow && /* @__PURE__ */ jsx39(Text32, { color: PALETTE.muted, children: "\u2193 more below" }),
|
|
28381
28471
|
removed.length > FINALIZE_REMOVED_WINDOW && /* @__PURE__ */ jsx39(Text32, { children: "[\u2191\u2193] scroll deletions" }),
|
|
28382
28472
|
/* @__PURE__ */ jsx39(Text32, { children: " " })
|
|
28383
28473
|
] }),
|
|
@@ -28390,7 +28480,7 @@ var FINALIZE_REMOVED_WINDOW;
|
|
|
28390
28480
|
var init_FinalizeDialog = __esm({
|
|
28391
28481
|
"packages/experience-design-system-cli/src/tui/import/steps/09-review/components/FinalizeDialog.tsx"() {
|
|
28392
28482
|
"use strict";
|
|
28393
|
-
|
|
28483
|
+
init_theme();
|
|
28394
28484
|
init_useImmediateInput();
|
|
28395
28485
|
init_removed_components_text();
|
|
28396
28486
|
FINALIZE_REMOVED_WINDOW = 6;
|
|
@@ -28918,8 +29008,8 @@ function ReviewStepDialogs({
|
|
|
28918
29008
|
}
|
|
28919
29009
|
function ReviewReloadDialog({ open }) {
|
|
28920
29010
|
if (!open) return null;
|
|
28921
|
-
return /* @__PURE__ */ jsxs32(Box31, { flexDirection: "column", borderStyle: "round", borderColor:
|
|
28922
|
-
/* @__PURE__ */ jsx41(Text34, { bold: true, color:
|
|
29011
|
+
return /* @__PURE__ */ jsxs32(Box31, { flexDirection: "column", borderStyle: "round", borderColor: PALETTE.warning, paddingX: 1, children: [
|
|
29012
|
+
/* @__PURE__ */ jsx41(Text34, { bold: true, color: PALETTE.warning, children: "Reload from saved state?" }),
|
|
28923
29013
|
/* @__PURE__ */ jsx41(Text34, { children: "Unsaved in-memory changes will be lost." }),
|
|
28924
29014
|
/* @__PURE__ */ jsx41(Text34, { children: " " }),
|
|
28925
29015
|
/* @__PURE__ */ jsx41(Text34, { children: " [Enter] Confirm" }),
|
|
@@ -28929,7 +29019,7 @@ function ReviewReloadDialog({ open }) {
|
|
|
28929
29019
|
var init_ReviewDialogs = __esm({
|
|
28930
29020
|
"packages/experience-design-system-cli/src/tui/import/steps/09-review/components/ReviewDialogs.tsx"() {
|
|
28931
29021
|
"use strict";
|
|
28932
|
-
|
|
29022
|
+
init_theme();
|
|
28933
29023
|
init_FinalizeDialog();
|
|
28934
29024
|
init_QuitDialog();
|
|
28935
29025
|
init_ReviewStatus();
|
|
@@ -29340,25 +29430,25 @@ function LivePreviewSummary({
|
|
|
29340
29430
|
const counts = { new: 0, changed: 0, removed: 0, breaking: 0 };
|
|
29341
29431
|
for (const annotation of previewAnnotations.values()) counts[annotation] += 1;
|
|
29342
29432
|
const hasCounts = counts.new + counts.changed + counts.removed + counts.breaking > 0;
|
|
29343
|
-
if (disabled) return /* @__PURE__ */ jsx42(Text35, { color:
|
|
29344
|
-
if (status === "running" && !hasCounts) return /* @__PURE__ */ jsx42(Text35, { color:
|
|
29433
|
+
if (disabled) return /* @__PURE__ */ jsx42(Text35, { color: PALETTE.muted, children: "Preview: disabled (creds rejected)" });
|
|
29434
|
+
if (status === "running" && !hasCounts) return /* @__PURE__ */ jsx42(Text35, { color: PALETTE.muted, children: `Preview: ${spinner} running...` });
|
|
29345
29435
|
if (!hasCounts) return null;
|
|
29346
29436
|
return /* @__PURE__ */ jsxs33(Box32, { children: [
|
|
29347
29437
|
/* @__PURE__ */ jsx42(Text35, { children: "Preview: " }),
|
|
29348
|
-
/* @__PURE__ */ jsx42(Text35, { color:
|
|
29438
|
+
/* @__PURE__ */ jsx42(Text35, { color: PALETTE.success, children: `${counts.new} new` }),
|
|
29349
29439
|
/* @__PURE__ */ jsx42(Text35, { children: " \xB7 " }),
|
|
29350
|
-
/* @__PURE__ */ jsx42(Text35, { color:
|
|
29440
|
+
/* @__PURE__ */ jsx42(Text35, { color: PALETTE.warning, children: `${counts.changed} changed` }),
|
|
29351
29441
|
/* @__PURE__ */ jsx42(Text35, { children: " \xB7 " }),
|
|
29352
|
-
/* @__PURE__ */ jsx42(Text35, { color:
|
|
29442
|
+
/* @__PURE__ */ jsx42(Text35, { color: PALETTE.muted, children: `${counts.removed} removed` }),
|
|
29353
29443
|
showRemovedListHint && removedCount > 0 && /* @__PURE__ */ jsx42(Text35, { children: " ([d] removed list)" }),
|
|
29354
29444
|
/* @__PURE__ */ jsx42(Text35, { children: " \xB7 " }),
|
|
29355
|
-
/* @__PURE__ */ jsx42(Text35, { color:
|
|
29445
|
+
/* @__PURE__ */ jsx42(Text35, { color: PALETTE.error, bold: true, children: `${counts.breaking} breaking` })
|
|
29356
29446
|
] });
|
|
29357
29447
|
}
|
|
29358
29448
|
var init_LivePreviewSummary = __esm({
|
|
29359
29449
|
"packages/experience-design-system-cli/src/tui/import/steps/09-review/components/LivePreviewSummary.tsx"() {
|
|
29360
29450
|
"use strict";
|
|
29361
|
-
|
|
29451
|
+
init_theme();
|
|
29362
29452
|
}
|
|
29363
29453
|
});
|
|
29364
29454
|
|
|
@@ -29407,10 +29497,10 @@ function CyclePathLine({
|
|
|
29407
29497
|
highlightComponents = false,
|
|
29408
29498
|
highlightLine = false
|
|
29409
29499
|
}) {
|
|
29410
|
-
return /* @__PURE__ */ jsxs34(Text36, { color: highlightLine ?
|
|
29500
|
+
return /* @__PURE__ */ jsxs34(Text36, { color: highlightLine ? PALETTE.warning : void 0, children: [
|
|
29411
29501
|
prefix,
|
|
29412
29502
|
segments.map(
|
|
29413
|
-
(segment, index) => segment.kind === "slot" ? /* @__PURE__ */ jsx43(Text36, { color:
|
|
29503
|
+
(segment, index) => segment.kind === "slot" ? /* @__PURE__ */ jsx43(Text36, { color: PALETTE.accent, children: segment.text }, index) : segment.kind === "arrow" ? /* @__PURE__ */ jsx43(Text36, { color: PALETTE.muted, children: segment.text }, index) : /* @__PURE__ */ jsx43(Text36, { color: highlightComponents ? PALETTE.warning : void 0, children: segment.text }, index)
|
|
29414
29504
|
)
|
|
29415
29505
|
] });
|
|
29416
29506
|
}
|
|
@@ -29422,9 +29512,9 @@ function CycleDetailPanel({
|
|
|
29422
29512
|
height
|
|
29423
29513
|
}) {
|
|
29424
29514
|
const lines = [
|
|
29425
|
-
/* @__PURE__ */ jsx43(Text36, { bold: true, color:
|
|
29426
|
-
/* @__PURE__ */ jsx43(Text36, { color:
|
|
29427
|
-
/* @__PURE__ */ jsx43(Text36, { color:
|
|
29515
|
+
/* @__PURE__ */ jsx43(Text36, { bold: true, color: PALETTE.warning, children: `SLOT DEPENDENCY CYCLES (${cycles.length})` }, "cyc-title"),
|
|
29516
|
+
/* @__PURE__ */ jsx43(Text36, { color: PALETTE.muted, children: "push will fail until these are resolved" }, "cyc-sub"),
|
|
29517
|
+
/* @__PURE__ */ jsx43(Text36, { color: PALETTE.muted, children: "Reject a cycle member or remove a slot edge to break the cycle." }, "cyc-guidance"),
|
|
29428
29518
|
/* @__PURE__ */ jsx43(Text36, { children: " " }, "cyc-space")
|
|
29429
29519
|
];
|
|
29430
29520
|
cycles.forEach((cycle, index) => {
|
|
@@ -29436,7 +29526,7 @@ function CycleDetailPanel({
|
|
|
29436
29526
|
);
|
|
29437
29527
|
if (cycle.suggestedBreak) {
|
|
29438
29528
|
lines.push(
|
|
29439
|
-
/* @__PURE__ */ jsx43(Text36, { color:
|
|
29529
|
+
/* @__PURE__ */ jsx43(Text36, { color: PALETTE.muted, children: ` Suggested fix: remove [${cycle.suggestedBreak.slotName}] from ${cycle.suggestedBreak.fromComponent}` }, `cyc-fix-${index}`)
|
|
29440
29530
|
);
|
|
29441
29531
|
}
|
|
29442
29532
|
lines.push(/* @__PURE__ */ jsx43(Text36, { children: " " }, `cyc-s-${index}`));
|
|
@@ -29444,9 +29534,9 @@ function CycleDetailPanel({
|
|
|
29444
29534
|
const footer = "[\u2191\u2193] move [Enter] fix cycle [c/q/Esc] close";
|
|
29445
29535
|
const viewportHeight = Math.max(1, height - 3);
|
|
29446
29536
|
const visible = lines.slice(scrollOffset, scrollOffset + viewportHeight - 1);
|
|
29447
|
-
return /* @__PURE__ */ jsxs34(FixedPanel, { width, height, borderStyle: "round", borderColor:
|
|
29537
|
+
return /* @__PURE__ */ jsxs34(FixedPanel, { width, height, borderStyle: "round", borderColor: PALETTE.warning, paddingLeft: 1, children: [
|
|
29448
29538
|
visible,
|
|
29449
|
-
/* @__PURE__ */ jsx43(Text36, { color:
|
|
29539
|
+
/* @__PURE__ */ jsx43(Text36, { color: PALETTE.muted, children: footer })
|
|
29450
29540
|
] });
|
|
29451
29541
|
}
|
|
29452
29542
|
function BreakCyclePanel({
|
|
@@ -29457,14 +29547,14 @@ function BreakCyclePanel({
|
|
|
29457
29547
|
width,
|
|
29458
29548
|
height
|
|
29459
29549
|
}) {
|
|
29460
|
-
return /* @__PURE__ */ jsxs34(FixedPanel, { width, height, borderStyle: "round", borderColor:
|
|
29461
|
-
/* @__PURE__ */ jsx43(Text36, { bold: true, color:
|
|
29550
|
+
return /* @__PURE__ */ jsxs34(FixedPanel, { width, height, borderStyle: "round", borderColor: PALETTE.warning, paddingLeft: 1, children: [
|
|
29551
|
+
/* @__PURE__ */ jsx43(Text36, { bold: true, color: PALETTE.warning, children: "BREAK CYCLE \u2014 remove a slot edge" }),
|
|
29462
29552
|
cycle && /* @__PURE__ */ jsx43(CyclePathLine, { segments: formatCyclePathSegments2(cycle), prefix: " ", highlightComponents: true }),
|
|
29463
|
-
/* @__PURE__ */ jsx43(Text36, { color:
|
|
29553
|
+
/* @__PURE__ */ jsx43(Text36, { color: PALETTE.muted, children: cycle ? "Deleting an edge removes it from $allowedComponents (undo with Ctrl+Z)." : "No cycle highlighted." }),
|
|
29464
29554
|
/* @__PURE__ */ jsx43(Text36, { children: " " }),
|
|
29465
|
-
edges.length > 0 && /* @__PURE__ */ jsx43(Text36, { color:
|
|
29555
|
+
edges.length > 0 && /* @__PURE__ */ jsx43(Text36, { color: PALETTE.muted, children: "remove slot edge:" }),
|
|
29466
29556
|
edges.map((edge, index) => /* @__PURE__ */ jsx43(Text36, { inverse: index === cursor, children: `${index === cursor ? figures7.pointer : " "} remove '${edge.toComponent}' from ${edge.fromComponent}.$slots.${edge.slotName}.$allowedComponents` }, `${edge.fromComponent}-${edge.slotName}-${edge.toComponent}`)),
|
|
29467
|
-
confirming ? /* @__PURE__ */ jsx43(Text36, { bold: true, color:
|
|
29557
|
+
confirming ? /* @__PURE__ */ jsx43(Text36, { bold: true, color: PALETTE.warning, children: "Delete this slot edge? [y] confirm [n] cancel" }) : /* @__PURE__ */ jsx43(Text36, { children: "[\u2191\u2193] move [Enter] delete [x/Esc] close" })
|
|
29468
29558
|
] });
|
|
29469
29559
|
}
|
|
29470
29560
|
function buildBreakingRows(breakingChanges) {
|
|
@@ -29510,7 +29600,7 @@ function deriveBreakingChanges(response) {
|
|
|
29510
29600
|
}
|
|
29511
29601
|
function GenerateReviewStep(props) {
|
|
29512
29602
|
if (!props.extractSessionId) {
|
|
29513
|
-
return /* @__PURE__ */ jsx43(Box33, { paddingX: 2, paddingY: 1, children: /* @__PURE__ */ jsx43(Text36, { color:
|
|
29603
|
+
return /* @__PURE__ */ jsx43(Box33, { paddingX: 2, paddingY: 1, children: /* @__PURE__ */ jsx43(Text36, { color: PALETTE.error, children: "Error: no session ID \u2014 cannot load generated definitions." }) });
|
|
29514
29604
|
}
|
|
29515
29605
|
return /* @__PURE__ */ jsx43(GenerateReviewStepView, { ...props, extractSessionId: props.extractSessionId });
|
|
29516
29606
|
}
|
|
@@ -29946,33 +30036,50 @@ function GenerateReviewStepView({
|
|
|
29946
30036
|
const cycle = cycleRows[cyclesCursor];
|
|
29947
30037
|
return cycle ? enumerateCycleBreaks(cycle, components) : [];
|
|
29948
30038
|
}, [cycleRows, cyclesCursor, components]);
|
|
29949
|
-
const
|
|
29950
|
-
const target = components.find((component) => component.key === edge.fromComponent);
|
|
29951
|
-
const slot = target?.entry.$slots?.[edge.slotName];
|
|
29952
|
-
if (!target || !slot || !Array.isArray(slot.$allowedComponents)) return;
|
|
29953
|
-
const nextEntry = {
|
|
29954
|
-
...target.entry,
|
|
29955
|
-
$slots: {
|
|
29956
|
-
...target.entry.$slots,
|
|
29957
|
-
[edge.slotName]: {
|
|
29958
|
-
...slot,
|
|
29959
|
-
$allowedComponents: slot.$allowedComponents.filter((value) => value !== edge.toComponent)
|
|
29960
|
-
}
|
|
29961
|
-
}
|
|
29962
|
-
};
|
|
30039
|
+
const saveSlotChange = (parentKey, nextEntry, historyLabel) => {
|
|
29963
30040
|
const next = components.map(
|
|
29964
|
-
(component) => component.key ===
|
|
30041
|
+
(component) => component.key === parentKey ? { ...component, entry: nextEntry } : component
|
|
29965
30042
|
);
|
|
29966
30043
|
setComponents(next);
|
|
29967
30044
|
const db = openPipelineDb();
|
|
29968
30045
|
try {
|
|
29969
|
-
storeCDFComponents(db, extractSessionId, [{ key:
|
|
30046
|
+
storeCDFComponents(db, extractSessionId, [{ key: parentKey, entry: nextEntry }]);
|
|
29970
30047
|
} finally {
|
|
29971
30048
|
db.close();
|
|
29972
30049
|
}
|
|
29973
30050
|
recomputeCycles(next);
|
|
29974
30051
|
livePreviewHook.trigger();
|
|
29975
|
-
pushHistorySnapshot(next,
|
|
30052
|
+
pushHistorySnapshot(next, historyLabel);
|
|
30053
|
+
};
|
|
30054
|
+
const handleBreakEdge = (edge) => {
|
|
30055
|
+
const target = components.find((component) => component.key === edge.fromComponent);
|
|
30056
|
+
const slot = target?.entry.$slots?.[edge.slotName];
|
|
30057
|
+
if (!target || !slot || !Array.isArray(slot.$allowedComponents)) return;
|
|
30058
|
+
saveSlotChange(
|
|
30059
|
+
target.key,
|
|
30060
|
+
{
|
|
30061
|
+
...target.entry,
|
|
30062
|
+
$slots: {
|
|
30063
|
+
...target.entry.$slots,
|
|
30064
|
+
[edge.slotName]: {
|
|
30065
|
+
...slot,
|
|
30066
|
+
$allowedComponents: slot.$allowedComponents.filter((value) => value !== edge.toComponent)
|
|
30067
|
+
}
|
|
30068
|
+
}
|
|
30069
|
+
},
|
|
30070
|
+
"break-cycle-edge"
|
|
30071
|
+
);
|
|
30072
|
+
};
|
|
30073
|
+
const handleRemoveSlotChild = (parentKey, childKey) => {
|
|
30074
|
+
const parent = components.find((component) => component.key === parentKey);
|
|
30075
|
+
if (!parent?.entry.$slots) return;
|
|
30076
|
+
const slots = Object.fromEntries(
|
|
30077
|
+
Object.entries(parent.entry.$slots).map(([slotName, slot]) => [
|
|
30078
|
+
slotName,
|
|
30079
|
+
Array.isArray(slot.$allowedComponents) ? { ...slot, $allowedComponents: slot.$allowedComponents.filter((value) => value !== childKey) } : slot
|
|
30080
|
+
])
|
|
30081
|
+
);
|
|
30082
|
+
saveSlotChange(parentKey, { ...parent.entry, $slots: slots }, "remove-slot-child");
|
|
29976
30083
|
};
|
|
29977
30084
|
const handleRejectComponent = (key) => {
|
|
29978
30085
|
const rejectCascade2 = computeRejectCascade(key, componentGraph);
|
|
@@ -30302,6 +30409,11 @@ function GenerateReviewStepView({
|
|
|
30302
30409
|
if (input === "r") {
|
|
30303
30410
|
const current = components[selectedIdx];
|
|
30304
30411
|
if (!current) return;
|
|
30412
|
+
const row = visibleRowsMemo[cursorRowIdx];
|
|
30413
|
+
if (row?.kind === "group-child" && row.parentName) {
|
|
30414
|
+
handleRemoveSlotChild(row.parentName, current.key);
|
|
30415
|
+
return;
|
|
30416
|
+
}
|
|
30305
30417
|
handleRejectComponent(current.key);
|
|
30306
30418
|
return;
|
|
30307
30419
|
}
|
|
@@ -30427,8 +30539,8 @@ function GenerateReviewStepView({
|
|
|
30427
30539
|
}
|
|
30428
30540
|
),
|
|
30429
30541
|
/* @__PURE__ */ jsx43(ReviewReloadDialog, { open: showReloadDialog && !dialogOpen }),
|
|
30430
|
-
removedComponents.length > 0 && !dialogOpen && /* @__PURE__ */ jsxs34(Box33, { flexDirection: "column", borderStyle: "round", borderColor:
|
|
30431
|
-
/* @__PURE__ */ jsx43(Text36, { bold: true, color:
|
|
30542
|
+
removedComponents.length > 0 && !dialogOpen && /* @__PURE__ */ jsxs34(Box33, { flexDirection: "column", borderStyle: "round", borderColor: PALETTE.error, paddingX: 1, children: [
|
|
30543
|
+
/* @__PURE__ */ jsx43(Text36, { bold: true, color: PALETTE.error, children: removedComponentsHeader(removedComponents.length, true) }),
|
|
30432
30544
|
!removedBannerCollapsed && /* @__PURE__ */ jsxs34(Fragment13, { children: [
|
|
30433
30545
|
/* @__PURE__ */ jsx43(Text36, { children: " " }),
|
|
30434
30546
|
removedComponents.map((rc) => /* @__PURE__ */ jsx43(Text36, { children: removedComponentLine(rc) }, rc.id))
|
|
@@ -30437,7 +30549,7 @@ function GenerateReviewStepView({
|
|
|
30437
30549
|
breakingChanges.length > 0 && !dialogOpen && /* @__PURE__ */ jsx43(Box33, { paddingX: 1, children: /* @__PURE__ */ jsx43(
|
|
30438
30550
|
Text36,
|
|
30439
30551
|
{
|
|
30440
|
-
color:
|
|
30552
|
+
color: PALETTE.warning,
|
|
30441
30553
|
children: `[b] ${breakingChanges.length} breaking change${breakingChanges.length === 1 ? "" : "s"}`
|
|
30442
30554
|
}
|
|
30443
30555
|
) }),
|
|
@@ -30445,10 +30557,10 @@ function GenerateReviewStepView({
|
|
|
30445
30557
|
const row = breakingRows[breakingCursor];
|
|
30446
30558
|
const comp = row ? breakingChanges.find((b) => b.componentName === row.componentName) : void 0;
|
|
30447
30559
|
if (!comp) return null;
|
|
30448
|
-
return /* @__PURE__ */ jsxs34(Box33, { flexDirection: "column", borderStyle: "round", borderColor:
|
|
30449
|
-
/* @__PURE__ */ jsx43(Text36, { bold: true, color:
|
|
30450
|
-
comp.impact && /* @__PURE__ */ jsx43(Text36, { color:
|
|
30451
|
-
comp.changes.length === 0 ? /* @__PURE__ */ jsx43(Text36, { color:
|
|
30560
|
+
return /* @__PURE__ */ jsxs34(Box33, { flexDirection: "column", borderStyle: "round", borderColor: PALETTE.warning, paddingX: 1, children: [
|
|
30561
|
+
/* @__PURE__ */ jsx43(Text36, { bold: true, color: PALETTE.warning, children: `Breaking changes \u2014 ${comp.componentName}` }),
|
|
30562
|
+
comp.impact && /* @__PURE__ */ jsx43(Text36, { color: PALETTE.muted, children: ` affects ${comp.impact.affectedExperiences} experience${comp.impact.affectedExperiences === 1 ? "" : "s"}, ${comp.impact.affectedFragments} fragment${comp.impact.affectedFragments === 1 ? "" : "s"}` }),
|
|
30563
|
+
comp.changes.length === 0 ? /* @__PURE__ */ jsx43(Text36, { color: PALETTE.muted, children: " (no enumerated changes)" }) : comp.changes.map((change, ci) => /* @__PURE__ */ jsx43(Text36, { children: ` \u2022 ${formatBreakingChange(change, comp.current)}` }, `bd-detail-${ci}`)),
|
|
30452
30564
|
/* @__PURE__ */ jsx43(Text36, { children: "[D/Esc] close detail" })
|
|
30453
30565
|
] });
|
|
30454
30566
|
})(),
|
|
@@ -30471,11 +30583,11 @@ function GenerateReviewStepView({
|
|
|
30471
30583
|
const participantSet = cycleView.structural;
|
|
30472
30584
|
const members = stillRejected.filter((n) => participantSet.has(n)).sort();
|
|
30473
30585
|
const ancestors = stillRejected.filter((n) => !participantSet.has(n)).sort();
|
|
30474
|
-
return /* @__PURE__ */ jsxs34(Box33, { flexDirection: "column", borderStyle: "single", borderColor:
|
|
30475
|
-
/* @__PURE__ */ jsx43(Text36, { color:
|
|
30476
|
-
members.length > 0 && /* @__PURE__ */ jsx43(Text36, { color:
|
|
30477
|
-
ancestors.length > 0 && /* @__PURE__ */ jsx43(Text36, { color:
|
|
30478
|
-
/* @__PURE__ */ jsx43(Text36, { color:
|
|
30586
|
+
return /* @__PURE__ */ jsxs34(Box33, { flexDirection: "column", borderStyle: "single", borderColor: PALETTE.error, paddingX: 1, children: [
|
|
30587
|
+
/* @__PURE__ */ jsx43(Text36, { color: PALETTE.error, bold: true, children: `Cyclic component graph \u2014 auto-rejected ${stillRejected.length} component${stillRejected.length === 1 ? "" : "s"}:` }),
|
|
30588
|
+
members.length > 0 && /* @__PURE__ */ jsx43(Text36, { color: PALETTE.error, children: ` Cycle members: ${members.join(", ")}` }),
|
|
30589
|
+
ancestors.length > 0 && /* @__PURE__ */ jsx43(Text36, { color: PALETTE.error, children: ` Ancestors: ${ancestors.join(", ")}` }),
|
|
30590
|
+
/* @__PURE__ */ jsx43(Text36, { color: PALETTE.muted, children: undoSnapshot ? " [Ctrl+Z] undo \xB7 [r]/[a] manually toggle \xB7 [F] continue" : " [r]/[a] manually toggle \xB7 [F] continue" })
|
|
30479
30591
|
] });
|
|
30480
30592
|
})(),
|
|
30481
30593
|
/* @__PURE__ */ jsx43(ReviewEmptyComponentsWarning, { count: emptyCount, hidden: dialogOpen }),
|
|
@@ -30591,7 +30703,7 @@ function GenerateReviewStepView({
|
|
|
30591
30703
|
) : /* @__PURE__ */ jsx43(ReviewNoSelection, {})
|
|
30592
30704
|
] }),
|
|
30593
30705
|
!dialogOpen && cycleRows.length > 0 && !cyclePanel.isOpen && !breakPanel.isOpen && /* @__PURE__ */ jsxs34(Box33, { flexDirection: "column", children: [
|
|
30594
|
-
/* @__PURE__ */ jsx43(Text36, { color:
|
|
30706
|
+
/* @__PURE__ */ jsx43(Text36, { color: PALETTE.warning, children: `\u26A0 ${cycleRows.length} slot dependency cycle${cycleRows.length === 1 ? "" : "s"} detected \u2014 push will fail` }),
|
|
30595
30707
|
cycleRows.slice(0, 3).map((cycle, idx) => {
|
|
30596
30708
|
return /* @__PURE__ */ jsx43(
|
|
30597
30709
|
CyclePathLine,
|
|
@@ -30604,7 +30716,7 @@ function GenerateReviewStepView({
|
|
|
30604
30716
|
`cyc-banner-${idx}`
|
|
30605
30717
|
);
|
|
30606
30718
|
}),
|
|
30607
|
-
cycleRows.length > 3 && /* @__PURE__ */ jsx43(Text36, { color:
|
|
30719
|
+
cycleRows.length > 3 && /* @__PURE__ */ jsx43(Text36, { color: PALETTE.warning, children: ` \u2026${cycleRows.length - 3} more` }),
|
|
30608
30720
|
/* @__PURE__ */ jsx43(Text36, { children: " press [c] for detail" })
|
|
30609
30721
|
] }),
|
|
30610
30722
|
/* @__PURE__ */ jsx43(
|
|
@@ -30625,7 +30737,7 @@ var HELP_SECTIONS2;
|
|
|
30625
30737
|
var init_generate_review_step = __esm({
|
|
30626
30738
|
"packages/experience-design-system-cli/src/tui/import/steps/09-review/generate-review-step.tsx"() {
|
|
30627
30739
|
"use strict";
|
|
30628
|
-
|
|
30740
|
+
init_theme();
|
|
30629
30741
|
init_review_json_panel();
|
|
30630
30742
|
init_GroupedSidebar();
|
|
30631
30743
|
init_composite_closure();
|
|
@@ -30732,49 +30844,24 @@ var init_generate_review_step = __esm({
|
|
|
30732
30844
|
}
|
|
30733
30845
|
});
|
|
30734
30846
|
|
|
30735
|
-
// packages/experience-design-system-cli/src/tui/import/steps/10-flow/theme.ts
|
|
30736
|
-
import { defaultTheme as defaultTheme2, extendTheme as extendTheme2 } from "@inkjs/ui";
|
|
30737
|
-
var PALETTE4, INK_UI_THEME;
|
|
30738
|
-
var init_theme4 = __esm({
|
|
30739
|
-
"packages/experience-design-system-cli/src/tui/import/steps/10-flow/theme.ts"() {
|
|
30740
|
-
"use strict";
|
|
30741
|
-
init_theme3();
|
|
30742
|
-
PALETTE4 = {
|
|
30743
|
-
...PALETTE3,
|
|
30744
|
-
link: "#58A6FF"
|
|
30745
|
-
};
|
|
30746
|
-
INK_UI_THEME = extendTheme2(defaultTheme2, {
|
|
30747
|
-
components: {
|
|
30748
|
-
ProgressBar: {
|
|
30749
|
-
styles: {
|
|
30750
|
-
completed: () => ({
|
|
30751
|
-
color: "blue"
|
|
30752
|
-
})
|
|
30753
|
-
}
|
|
30754
|
-
}
|
|
30755
|
-
}
|
|
30756
|
-
});
|
|
30757
|
-
}
|
|
30758
|
-
});
|
|
30759
|
-
|
|
30760
30847
|
// packages/experience-design-system-cli/src/tui/import/steps/10-flow/components/CustomPromptBanner.tsx
|
|
30761
30848
|
import { Box as Box34, Text as Text37 } from "ink";
|
|
30762
30849
|
import { jsx as jsx44, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
30763
30850
|
function CustomPromptBanner({ generatePromptPath }) {
|
|
30764
30851
|
if (!generatePromptPath) return null;
|
|
30765
|
-
return /* @__PURE__ */ jsxs35(Box34, { flexDirection: "column", borderStyle: "round", borderColor:
|
|
30766
|
-
/* @__PURE__ */ jsx44(Text37, { color:
|
|
30767
|
-
generatePromptPath ? /* @__PURE__ */ jsxs35(Text37, { color:
|
|
30852
|
+
return /* @__PURE__ */ jsxs35(Box34, { flexDirection: "column", borderStyle: "round", borderColor: PALETTE.warning, paddingX: 1, children: [
|
|
30853
|
+
/* @__PURE__ */ jsx44(Text37, { color: PALETTE.warning, bold: true, children: "WARNING: Custom prompt active" }),
|
|
30854
|
+
generatePromptPath ? /* @__PURE__ */ jsxs35(Text37, { color: PALETTE.warning, children: [
|
|
30768
30855
|
"components: ",
|
|
30769
30856
|
generatePromptPath
|
|
30770
30857
|
] }) : null,
|
|
30771
|
-
/* @__PURE__ */ jsx44(Text37, { color:
|
|
30858
|
+
/* @__PURE__ */ jsx44(Text37, { color: PALETTE.warning, children: "Bundled invariants (utility-wrapper rejection, description content rules) do NOT apply." })
|
|
30772
30859
|
] });
|
|
30773
30860
|
}
|
|
30774
30861
|
var init_CustomPromptBanner = __esm({
|
|
30775
30862
|
"packages/experience-design-system-cli/src/tui/import/steps/10-flow/components/CustomPromptBanner.tsx"() {
|
|
30776
30863
|
"use strict";
|
|
30777
|
-
|
|
30864
|
+
init_theme();
|
|
30778
30865
|
}
|
|
30779
30866
|
});
|
|
30780
30867
|
|
|
@@ -30801,17 +30888,17 @@ import { Box as Box35, Text as Text38 } from "ink";
|
|
|
30801
30888
|
import { jsx as jsx45, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
30802
30889
|
function SpaceEnvironment({ spaceId, environmentId }) {
|
|
30803
30890
|
return /* @__PURE__ */ jsxs36(Box35, { gap: 1, marginTop: 1, children: [
|
|
30804
|
-
/* @__PURE__ */ jsx45(Text38, { color:
|
|
30891
|
+
/* @__PURE__ */ jsx45(Text38, { color: PALETTE.muted, children: "Space:" }),
|
|
30805
30892
|
/* @__PURE__ */ jsx45(Text38, { children: spaceId }),
|
|
30806
|
-
/* @__PURE__ */ jsx45(Text38, { color:
|
|
30807
|
-
/* @__PURE__ */ jsx45(Text38, { color:
|
|
30893
|
+
/* @__PURE__ */ jsx45(Text38, { color: PALETTE.muted, children: "/" }),
|
|
30894
|
+
/* @__PURE__ */ jsx45(Text38, { color: PALETTE.muted, children: "Environment:" }),
|
|
30808
30895
|
/* @__PURE__ */ jsx45(Text38, { children: environmentId })
|
|
30809
30896
|
] });
|
|
30810
30897
|
}
|
|
30811
30898
|
var init_SpaceEnvironment = __esm({
|
|
30812
30899
|
"packages/experience-design-system-cli/src/tui/import/steps/10-flow/components/SpaceEnvironment.tsx"() {
|
|
30813
30900
|
"use strict";
|
|
30814
|
-
|
|
30901
|
+
init_theme();
|
|
30815
30902
|
}
|
|
30816
30903
|
});
|
|
30817
30904
|
|
|
@@ -30822,13 +30909,13 @@ function EntityRows({ entity, label }) {
|
|
|
30822
30909
|
const plural3 = (n) => `${n} ${label}${n !== 1 ? "s" : ""}`;
|
|
30823
30910
|
return /* @__PURE__ */ jsxs37(Fragment14, { children: [
|
|
30824
30911
|
ACTIONS.filter((action) => entity[action] > 0).map((action) => /* @__PURE__ */ jsxs37(Text39, { children: [
|
|
30825
|
-
/* @__PURE__ */ jsx46(Text39, { color:
|
|
30912
|
+
/* @__PURE__ */ jsx46(Text39, { color: PALETTE.success, children: "\u2713" }),
|
|
30826
30913
|
" ",
|
|
30827
30914
|
plural3(entity[action]),
|
|
30828
30915
|
" ",
|
|
30829
30916
|
action
|
|
30830
30917
|
] }, action)),
|
|
30831
|
-
entity.failed > 0 && /* @__PURE__ */ jsxs37(Text39, { color:
|
|
30918
|
+
entity.failed > 0 && /* @__PURE__ */ jsxs37(Text39, { color: PALETTE.error, children: [
|
|
30832
30919
|
"\u2717 ",
|
|
30833
30920
|
plural3(entity.failed),
|
|
30834
30921
|
" failed \u2014 check logs above"
|
|
@@ -30837,8 +30924,8 @@ function EntityRows({ entity, label }) {
|
|
|
30837
30924
|
}
|
|
30838
30925
|
function LinkRow({ title, url }) {
|
|
30839
30926
|
return /* @__PURE__ */ jsxs37(Box36, { flexDirection: "column", children: [
|
|
30840
|
-
/* @__PURE__ */ jsx46(Text39, { color:
|
|
30841
|
-
/* @__PURE__ */ jsx46(Text39, { color:
|
|
30927
|
+
/* @__PURE__ */ jsx46(Text39, { color: PALETTE.muted, children: title }),
|
|
30928
|
+
/* @__PURE__ */ jsx46(Text39, { color: PALETTE.accent, children: url })
|
|
30842
30929
|
] });
|
|
30843
30930
|
}
|
|
30844
30931
|
function DoneStep({
|
|
@@ -30861,17 +30948,17 @@ function DoneStep({
|
|
|
30861
30948
|
const success = totalFailed === 0;
|
|
30862
30949
|
const urlArgs = { host: host ?? "api.contentful.com", spaceId, environmentId };
|
|
30863
30950
|
return /* @__PURE__ */ jsxs37(Box36, { flexDirection: "column", gap: 1, paddingX: 2, paddingY: 1, children: [
|
|
30864
|
-
success ? /* @__PURE__ */ jsx46(Text39, { bold: true, color:
|
|
30865
|
-
totalPushed === 0 && totalFailed === 0 && !summary ? /* @__PURE__ */ jsx46(Text39, { color:
|
|
30951
|
+
success ? /* @__PURE__ */ jsx46(Text39, { bold: true, color: PALETTE.success, children: "Done!" }) : /* @__PURE__ */ jsx46(Text39, { bold: true, color: PALETTE.warning, children: "\u26A0 Finished with errors" }),
|
|
30952
|
+
totalPushed === 0 && totalFailed === 0 && !summary ? /* @__PURE__ */ jsx46(Text39, { color: PALETTE.muted, children: "Nothing was pushed \u2014 everything was already up to date." }) : /* @__PURE__ */ jsxs37(Box36, { flexDirection: "column", children: [
|
|
30866
30953
|
/* @__PURE__ */ jsx46(EntityRows, { entity: componentTypes, label: "Component Type" }),
|
|
30867
30954
|
/* @__PURE__ */ jsx46(EntityRows, { entity: designTokens, label: "Design Token" }),
|
|
30868
|
-
summary && /* @__PURE__ */ jsx46(Box36, { marginTop: 1, children: /* @__PURE__ */ jsxs37(Text39, { color:
|
|
30955
|
+
summary && /* @__PURE__ */ jsx46(Box36, { marginTop: 1, children: /* @__PURE__ */ jsxs37(Text39, { color: PALETTE.muted, children: [
|
|
30869
30956
|
"Push result: ",
|
|
30870
30957
|
summary.succeeded,
|
|
30871
30958
|
"/",
|
|
30872
30959
|
summary.total,
|
|
30873
30960
|
" succeeded",
|
|
30874
|
-
summary.failed > 0 && /* @__PURE__ */ jsxs37(Text39, { color:
|
|
30961
|
+
summary.failed > 0 && /* @__PURE__ */ jsxs37(Text39, { color: PALETTE.error, children: [
|
|
30875
30962
|
", ",
|
|
30876
30963
|
summary.failed,
|
|
30877
30964
|
" failed"
|
|
@@ -30879,8 +30966,8 @@ function DoneStep({
|
|
|
30879
30966
|
] }) })
|
|
30880
30967
|
] }),
|
|
30881
30968
|
failures.length > 0 && /* @__PURE__ */ jsxs37(Box36, { flexDirection: "column", children: [
|
|
30882
|
-
/* @__PURE__ */ jsx46(Text39, { bold: true, color:
|
|
30883
|
-
failures.map((failure) => /* @__PURE__ */ jsxs37(Text39, { color:
|
|
30969
|
+
/* @__PURE__ */ jsx46(Text39, { bold: true, color: PALETTE.error, children: "Failure details" }),
|
|
30970
|
+
failures.map((failure) => /* @__PURE__ */ jsxs37(Text39, { color: PALETTE.error, children: [
|
|
30884
30971
|
failure.entityType,
|
|
30885
30972
|
" ",
|
|
30886
30973
|
failure.entityId,
|
|
@@ -30890,7 +30977,7 @@ function DoneStep({
|
|
|
30890
30977
|
] }),
|
|
30891
30978
|
/* @__PURE__ */ jsx46(SpaceEnvironment, { spaceId, environmentId }),
|
|
30892
30979
|
success && totalPushed > 0 && /* @__PURE__ */ jsxs37(Box36, { flexDirection: "column", gap: 1, children: [
|
|
30893
|
-
/* @__PURE__ */ jsx46(Text39, { color:
|
|
30980
|
+
/* @__PURE__ */ jsx46(Text39, { color: PALETTE.success, children: "Your design system is now in Contentful Experiences." }),
|
|
30894
30981
|
/* @__PURE__ */ jsx46(LinkRow, { title: "View your components here:", url: buildPostPushUrl2(urlArgs) }),
|
|
30895
30982
|
/* @__PURE__ */ jsx46(
|
|
30896
30983
|
LinkRow,
|
|
@@ -30907,7 +30994,7 @@ var ACTIONS;
|
|
|
30907
30994
|
var init_DoneStep = __esm({
|
|
30908
30995
|
"packages/experience-design-system-cli/src/tui/import/steps/10-flow/screens/DoneStep.tsx"() {
|
|
30909
30996
|
"use strict";
|
|
30910
|
-
|
|
30997
|
+
init_theme();
|
|
30911
30998
|
init_useImmediateInput();
|
|
30912
30999
|
init_contentful_urls2();
|
|
30913
31000
|
init_SpaceEnvironment();
|
|
@@ -31018,12 +31105,12 @@ function PathPrompt({
|
|
|
31018
31105
|
const cursor = cursorVisible ? "\u2588" : " ";
|
|
31019
31106
|
return /* @__PURE__ */ jsxs38(Box37, { flexDirection: "column", gap: 1, paddingX: 2, paddingY: 1, children: [
|
|
31020
31107
|
/* @__PURE__ */ jsxs38(Box37, { gap: 1, children: [
|
|
31021
|
-
/* @__PURE__ */ jsx47(Text40, { color:
|
|
31108
|
+
/* @__PURE__ */ jsx47(Text40, { color: PALETTE.accent, children: "?" }),
|
|
31022
31109
|
/* @__PURE__ */ jsxs38(Text40, { bold: true, children: [
|
|
31023
31110
|
label,
|
|
31024
31111
|
":"
|
|
31025
31112
|
] }),
|
|
31026
|
-
/* @__PURE__ */ jsx47(Text40, { color: isPlaceholder ?
|
|
31113
|
+
/* @__PURE__ */ jsx47(Text40, { color: isPlaceholder ? PALETTE.muted : void 0, children: shown }),
|
|
31027
31114
|
/* @__PURE__ */ jsx47(Text40, { children: cursor })
|
|
31028
31115
|
] }),
|
|
31029
31116
|
/* @__PURE__ */ jsxs38(Box37, { gap: 3, children: [
|
|
@@ -31039,7 +31126,7 @@ var init_PathPrompt = __esm({
|
|
|
31039
31126
|
init_useImmediateInput();
|
|
31040
31127
|
init_path_utils();
|
|
31041
31128
|
init_use_blinking_cursor();
|
|
31042
|
-
|
|
31129
|
+
init_theme();
|
|
31043
31130
|
}
|
|
31044
31131
|
});
|
|
31045
31132
|
|
|
@@ -31048,7 +31135,7 @@ import { Box as Box38, Text as Text41 } from "ink";
|
|
|
31048
31135
|
import { jsx as jsx48, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
31049
31136
|
function StepHeader({ stepNumber, totalSteps, title }) {
|
|
31050
31137
|
return /* @__PURE__ */ jsxs39(Box38, { flexDirection: "column", gap: 0, children: [
|
|
31051
|
-
/* @__PURE__ */ jsx48(Text41, {
|
|
31138
|
+
/* @__PURE__ */ jsx48(Text41, { color: PALETTE.muted, children: "\u2500".repeat(40) }),
|
|
31052
31139
|
/* @__PURE__ */ jsxs39(Box38, { gap: 1, children: [
|
|
31053
31140
|
/* @__PURE__ */ jsxs39(Text41, { bold: true, children: [
|
|
31054
31141
|
"Step ",
|
|
@@ -31059,12 +31146,13 @@ function StepHeader({ stepNumber, totalSteps, title }) {
|
|
|
31059
31146
|
/* @__PURE__ */ jsx48(Text41, { bold: true, children: "\u2014" }),
|
|
31060
31147
|
/* @__PURE__ */ jsx48(Text41, { bold: true, children: title })
|
|
31061
31148
|
] }),
|
|
31062
|
-
/* @__PURE__ */ jsx48(Text41, {
|
|
31149
|
+
/* @__PURE__ */ jsx48(Text41, { color: PALETTE.muted, children: "\u2500".repeat(40) })
|
|
31063
31150
|
] });
|
|
31064
31151
|
}
|
|
31065
31152
|
var init_StepHeader = __esm({
|
|
31066
31153
|
"packages/experience-design-system-cli/src/tui/import/steps/10-flow/components/StepHeader.tsx"() {
|
|
31067
31154
|
"use strict";
|
|
31155
|
+
init_theme();
|
|
31068
31156
|
}
|
|
31069
31157
|
});
|
|
31070
31158
|
|
|
@@ -31106,12 +31194,12 @@ function PushingStep({ stepNumber, totalSteps, progress }) {
|
|
|
31106
31194
|
/* @__PURE__ */ jsx50(StepHeader, { stepNumber, totalSteps, title: "Push to Contentful" }),
|
|
31107
31195
|
/* @__PURE__ */ jsx50(Text42, { children: "Writing component types and design tokens to your Contentful space..." }),
|
|
31108
31196
|
operationId && /* @__PURE__ */ jsxs40(Box39, { gap: 1, children: [
|
|
31109
|
-
/* @__PURE__ */ jsx50(Text42, { color:
|
|
31197
|
+
/* @__PURE__ */ jsx50(Text42, { color: PALETTE.muted, children: "Operation:" }),
|
|
31110
31198
|
/* @__PURE__ */ jsx50(Text42, { children: operationId })
|
|
31111
31199
|
] }),
|
|
31112
31200
|
showGlobal && progress && progress.kind === "progress" && /* @__PURE__ */ jsx50(Box39, { gap: 1, flexDirection: "column", children: /* @__PURE__ */ jsxs40(Box39, { gap: 2, children: [
|
|
31113
|
-
/* @__PURE__ */ jsx50(Box39, { width: 40, children: /* @__PURE__ */ jsx50(ThemeProvider2, { theme:
|
|
31114
|
-
/* @__PURE__ */ jsxs40(Text42, { color:
|
|
31201
|
+
/* @__PURE__ */ jsx50(Box39, { width: 40, children: /* @__PURE__ */ jsx50(ThemeProvider2, { theme: PROGRESS_THEME, children: /* @__PURE__ */ jsx50(ProgressBar2, { value: Math.round(progress.processed / progress.total * 100) }) }) }),
|
|
31202
|
+
/* @__PURE__ */ jsxs40(Text42, { color: PALETTE.muted, children: [
|
|
31115
31203
|
progress.processed,
|
|
31116
31204
|
"/",
|
|
31117
31205
|
progress.total,
|
|
@@ -31119,10 +31207,10 @@ function PushingStep({ stepNumber, totalSteps, progress }) {
|
|
|
31119
31207
|
] })
|
|
31120
31208
|
] }) }),
|
|
31121
31209
|
showCurrent && /* @__PURE__ */ jsxs40(Box39, { gap: 1, children: [
|
|
31122
|
-
/* @__PURE__ */ jsx50(Text42, { color:
|
|
31210
|
+
/* @__PURE__ */ jsx50(Text42, { color: PALETTE.muted, children: "Now processing:" }),
|
|
31123
31211
|
/* @__PURE__ */ jsx50(Text42, { children: showCurrent })
|
|
31124
31212
|
] }),
|
|
31125
|
-
/* @__PURE__ */ jsx50(Box39, { marginTop: 1, children: /* @__PURE__ */ jsxs40(Text42, { color:
|
|
31213
|
+
/* @__PURE__ */ jsx50(Box39, { marginTop: 1, children: /* @__PURE__ */ jsxs40(Text42, { color: PALETTE.muted, children: [
|
|
31126
31214
|
"Elapsed: ",
|
|
31127
31215
|
elapsed
|
|
31128
31216
|
] }) })
|
|
@@ -31133,8 +31221,8 @@ var init_PushingStep = __esm({
|
|
|
31133
31221
|
"use strict";
|
|
31134
31222
|
init_StepHeader();
|
|
31135
31223
|
init_use_timed_spinner();
|
|
31136
|
-
|
|
31137
|
-
|
|
31224
|
+
init_theme2();
|
|
31225
|
+
init_theme();
|
|
31138
31226
|
}
|
|
31139
31227
|
});
|
|
31140
31228
|
|
|
@@ -31329,25 +31417,25 @@ function buildPreviewSummaryLines(preview) {
|
|
|
31329
31417
|
if (components.new.length > 0) {
|
|
31330
31418
|
lines.push({
|
|
31331
31419
|
key: "summary-components-new",
|
|
31332
|
-
color:
|
|
31420
|
+
color: PALETTE.success,
|
|
31333
31421
|
text: ` \uFF0B ${components.new.length} components will be created`
|
|
31334
31422
|
});
|
|
31335
31423
|
for (const [index, item] of components.new.entries()) {
|
|
31336
31424
|
const name = item.key ?? item.$name ?? "unknown";
|
|
31337
|
-
lines.push({ key: `summary-components-new-${index}`, color:
|
|
31425
|
+
lines.push({ key: `summary-components-new-${index}`, color: PALETTE.success, text: ` + ${name}` });
|
|
31338
31426
|
}
|
|
31339
31427
|
}
|
|
31340
31428
|
if (components.changed.length > 0) {
|
|
31341
31429
|
lines.push({
|
|
31342
31430
|
key: "summary-components-changed",
|
|
31343
|
-
color:
|
|
31431
|
+
color: PALETTE.warning,
|
|
31344
31432
|
text: ` \uFF5E ${components.changed.length} components will be updated`
|
|
31345
31433
|
});
|
|
31346
31434
|
for (const [index, item] of components.changed.entries()) {
|
|
31347
31435
|
const isBreaking = item.changeClassification?.classification === "breaking";
|
|
31348
31436
|
lines.push({
|
|
31349
31437
|
key: `summary-components-changed-${index}`,
|
|
31350
|
-
color: isBreaking ?
|
|
31438
|
+
color: isBreaking ? PALETTE.error : PALETTE.warning,
|
|
31351
31439
|
text: ` ${isBreaking ? "\u26A0" : "~"} ${item.current.name}`
|
|
31352
31440
|
});
|
|
31353
31441
|
}
|
|
@@ -31355,11 +31443,11 @@ function buildPreviewSummaryLines(preview) {
|
|
|
31355
31443
|
if (components.removed.length > 0) {
|
|
31356
31444
|
lines.push({
|
|
31357
31445
|
key: "summary-components-removed",
|
|
31358
|
-
color:
|
|
31446
|
+
color: PALETTE.warning,
|
|
31359
31447
|
text: ` \u2298 ${components.removed.length} components will be skipped`
|
|
31360
31448
|
});
|
|
31361
31449
|
for (const [index, item] of components.removed.entries()) {
|
|
31362
|
-
lines.push({ key: `summary-components-removed-${index}`, color:
|
|
31450
|
+
lines.push({ key: `summary-components-removed-${index}`, color: PALETTE.warning, text: ` \u2298 ${item.name}` });
|
|
31363
31451
|
}
|
|
31364
31452
|
}
|
|
31365
31453
|
if (components.unchanged.length > 0) {
|
|
@@ -31372,21 +31460,21 @@ function buildPreviewSummaryLines(preview) {
|
|
|
31372
31460
|
if (tokens.new.length > 0) {
|
|
31373
31461
|
lines.push({
|
|
31374
31462
|
key: "summary-tokens-new",
|
|
31375
|
-
color:
|
|
31463
|
+
color: PALETTE.success,
|
|
31376
31464
|
text: ` \uFF0B ${tokens.new.length} design tokens will be created`
|
|
31377
31465
|
});
|
|
31378
31466
|
}
|
|
31379
31467
|
if (tokens.changed.length > 0) {
|
|
31380
31468
|
lines.push({
|
|
31381
31469
|
key: "summary-tokens-changed",
|
|
31382
|
-
color:
|
|
31470
|
+
color: PALETTE.warning,
|
|
31383
31471
|
text: ` \uFF5E ${tokens.changed.length} design tokens will be updated`
|
|
31384
31472
|
});
|
|
31385
31473
|
}
|
|
31386
31474
|
if (tokens.removed.length > 0) {
|
|
31387
31475
|
lines.push({
|
|
31388
31476
|
key: "summary-tokens-removed",
|
|
31389
|
-
color:
|
|
31477
|
+
color: PALETTE.warning,
|
|
31390
31478
|
text: ` \u2298 ${tokens.removed.length} design tokens will be skipped`
|
|
31391
31479
|
});
|
|
31392
31480
|
}
|
|
@@ -31430,12 +31518,12 @@ function getPreviewScrollOffset(input, downArrow, upArrow, diffExpanded, current
|
|
|
31430
31518
|
function appendChangedPreviewLine(lines, keyPrefix, name, hasPendingDraftChanges, changeClassification) {
|
|
31431
31519
|
lines.push({
|
|
31432
31520
|
key: `${keyPrefix}-h-${name}`,
|
|
31433
|
-
color:
|
|
31521
|
+
color: PALETTE.warning,
|
|
31434
31522
|
text: ` ~ ${name}${hasPendingDraftChanges ? " \u26A1 has pending draft changes" : ""}`
|
|
31435
31523
|
});
|
|
31436
31524
|
if (changeClassification?.classification !== "breaking") return;
|
|
31437
31525
|
const reasons = changeClassification.breakingChanges.map((bc) => `${"slotId" in bc ? bc.slotId : bc.propertyId}: ${bc.reason}`).join(", ");
|
|
31438
|
-
lines.push({ key: `${keyPrefix}-b-${name}`, color:
|
|
31526
|
+
lines.push({ key: `${keyPrefix}-b-${name}`, color: PALETTE.error, text: ` \u26A0 BREAKING: ${reasons}` });
|
|
31439
31527
|
}
|
|
31440
31528
|
function buildPreviewDiffLines(preview) {
|
|
31441
31529
|
const lines = [];
|
|
@@ -31443,12 +31531,12 @@ function buildPreviewDiffLines(preview) {
|
|
|
31443
31531
|
for (const item of components.new) {
|
|
31444
31532
|
const raw = item;
|
|
31445
31533
|
const name = raw.key ?? raw.$name ?? "unknown";
|
|
31446
|
-
lines.push({ key: `comp-new-${name}`, color:
|
|
31534
|
+
lines.push({ key: `comp-new-${name}`, color: PALETTE.success, text: ` + ${name}` });
|
|
31447
31535
|
const slots = raw.$slots ?? {};
|
|
31448
31536
|
for (const slotName of Object.keys(slots).sort()) {
|
|
31449
31537
|
lines.push({
|
|
31450
31538
|
key: `comp-new-${name}-slot-${slotName}`,
|
|
31451
|
-
color:
|
|
31539
|
+
color: PALETTE.success,
|
|
31452
31540
|
text: ` slot: ${slotName}`
|
|
31453
31541
|
});
|
|
31454
31542
|
const allowed = slots[slotName]?.["$allowedComponents"];
|
|
@@ -31456,14 +31544,14 @@ function buildPreviewDiffLines(preview) {
|
|
|
31456
31544
|
const names = allowed.filter((n) => typeof n === "string");
|
|
31457
31545
|
lines.push({
|
|
31458
31546
|
key: `comp-new-${name}-slot-${slotName}-allow`,
|
|
31459
|
-
color:
|
|
31547
|
+
color: PALETTE.success,
|
|
31460
31548
|
text: ` allowedComponents: [${names.join(", ")}]`
|
|
31461
31549
|
});
|
|
31462
31550
|
}
|
|
31463
31551
|
}
|
|
31464
31552
|
}
|
|
31465
31553
|
for (const item of components.removed) {
|
|
31466
|
-
lines.push({ key: `comp-rm-${item.name}`, color:
|
|
31554
|
+
lines.push({ key: `comp-rm-${item.name}`, color: PALETTE.error, text: ` - ${item.name}` });
|
|
31467
31555
|
}
|
|
31468
31556
|
for (const item of components.changed) {
|
|
31469
31557
|
appendChangedPreviewLine(lines, "comp", item.current.name, item.hasPendingDraftChanges, item.changeClassification);
|
|
@@ -31494,10 +31582,10 @@ function buildPreviewDiffLines(preview) {
|
|
|
31494
31582
|
for (const item of tokens.new) {
|
|
31495
31583
|
const raw = item;
|
|
31496
31584
|
const name = raw.name ?? raw.path ?? "unknown";
|
|
31497
|
-
lines.push({ key: `tok-new-${name}`, color:
|
|
31585
|
+
lines.push({ key: `tok-new-${name}`, color: PALETTE.success, text: ` + ${name}` });
|
|
31498
31586
|
}
|
|
31499
31587
|
for (const item of tokens.removed) {
|
|
31500
|
-
lines.push({ key: `tok-rm-${item.name}`, color:
|
|
31588
|
+
lines.push({ key: `tok-rm-${item.name}`, color: PALETTE.error, text: ` - ${item.name}` });
|
|
31501
31589
|
}
|
|
31502
31590
|
for (const item of tokens.changed) {
|
|
31503
31591
|
const tokenName = item.current.name;
|
|
@@ -31588,13 +31676,13 @@ function WizardPreviewStep({
|
|
|
31588
31676
|
title: diffExpanded ? `Diff (${diffLines.length} lines)` : "",
|
|
31589
31677
|
focused: false,
|
|
31590
31678
|
children: [
|
|
31591
|
-
activeLines.slice(boundedScrollOffset, boundedScrollOffset + viewportHeight).map((line) => /* @__PURE__ */ jsx51(Text43, { color: line.color === "gray" ?
|
|
31592
|
-
/* @__PURE__ */ jsx51(Text43, { color:
|
|
31679
|
+
activeLines.slice(boundedScrollOffset, boundedScrollOffset + viewportHeight).map((line) => /* @__PURE__ */ jsx51(Text43, { color: line.color === "gray" ? PALETTE.muted : line.color, wrap: "truncate-end", children: line.text }, line.key)),
|
|
31680
|
+
/* @__PURE__ */ jsx51(Text43, { color: PALETTE.muted, wrap: "truncate-end", children: formatPreviewScrollIndicator(activeLines.length, boundedScrollOffset, viewportHeight) })
|
|
31593
31681
|
]
|
|
31594
31682
|
}
|
|
31595
31683
|
)
|
|
31596
|
-
] }) : /* @__PURE__ */ jsx51(Text43, { color:
|
|
31597
|
-
breakingWithImpact && /* @__PURE__ */ jsx51(Box40, { marginTop: 1, children: /* @__PURE__ */ jsx51(Text43, { color:
|
|
31684
|
+
] }) : /* @__PURE__ */ jsx51(Text43, { color: PALETTE.muted, children: "Nothing to push \u2014 everything is already up to date." }),
|
|
31685
|
+
breakingWithImpact && /* @__PURE__ */ jsx51(Box40, { marginTop: 1, children: /* @__PURE__ */ jsx51(Text43, { color: PALETTE.error, bold: true, children: "\u26A0 Breaking changes will affect downstream entities. Press Enter to acknowledge and apply." }) }),
|
|
31598
31686
|
/* @__PURE__ */ jsx51(SpaceEnvironment, { spaceId, environmentId }),
|
|
31599
31687
|
/* @__PURE__ */ jsxs41(Box40, { gap: 3, marginTop: 1, children: [
|
|
31600
31688
|
/* @__PURE__ */ jsx51(Text43, { children: "[Enter] Push to Contentful" }),
|
|
@@ -31612,7 +31700,7 @@ function WizardPreviewStep({
|
|
|
31612
31700
|
var init_WizardPreviewStep = __esm({
|
|
31613
31701
|
"packages/experience-design-system-cli/src/tui/import/steps/10-flow/screens/WizardPreviewStep.tsx"() {
|
|
31614
31702
|
"use strict";
|
|
31615
|
-
|
|
31703
|
+
init_theme();
|
|
31616
31704
|
init_useImmediateInput();
|
|
31617
31705
|
init_use_terminal_size();
|
|
31618
31706
|
init_src4();
|
|
@@ -32911,7 +32999,7 @@ function HelpScreen({ onDone }) {
|
|
|
32911
32999
|
var init_PageContainer2 = __esm({
|
|
32912
33000
|
"packages/experience-design-system-cli/src/tui/help/PageContainer.tsx"() {
|
|
32913
33001
|
"use strict";
|
|
32914
|
-
|
|
33002
|
+
init_theme();
|
|
32915
33003
|
init_debug_store();
|
|
32916
33004
|
init_control_hints();
|
|
32917
33005
|
init_help_info();
|
|
@@ -32954,8 +33042,8 @@ function SettingsScreen({
|
|
|
32954
33042
|
});
|
|
32955
33043
|
return /* @__PURE__ */ jsxs44(Box43, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [
|
|
32956
33044
|
/* @__PURE__ */ jsx54(Text45, { bold: true, children: "Settings" }),
|
|
32957
|
-
/* @__PURE__ */ jsx54(Text45, { children: " " }),
|
|
32958
|
-
items.map((item, i) => /* @__PURE__ */ jsxs44(Text45, { color: i === focusIdx ?
|
|
33045
|
+
/* @__PURE__ */ jsx54(Text45, { color: PALETTE.muted, children: " " }),
|
|
33046
|
+
items.map((item, i) => /* @__PURE__ */ jsxs44(Text45, { color: i === focusIdx ? PALETTE.accent : void 0, children: [
|
|
32959
33047
|
i === focusIdx ? "> " : " ",
|
|
32960
33048
|
item.label
|
|
32961
33049
|
] }, item.label)),
|
|
@@ -32976,6 +33064,7 @@ var init_PageContainer3 = __esm({
|
|
|
32976
33064
|
"packages/experience-design-system-cli/src/tui/settings/PageContainer.tsx"() {
|
|
32977
33065
|
"use strict";
|
|
32978
33066
|
init_control_hints();
|
|
33067
|
+
init_theme();
|
|
32979
33068
|
}
|
|
32980
33069
|
});
|
|
32981
33070
|
|
|
@@ -33172,7 +33261,7 @@ var FIELD_ORDER, FIELD_LABELS, FIELD_HINTS, LABEL_WIDTH;
|
|
|
33172
33261
|
var init_ContentfulConfigScreen = __esm({
|
|
33173
33262
|
"packages/experience-design-system-cli/src/tui/settings/contentful-configuration/ContentfulConfigScreen.tsx"() {
|
|
33174
33263
|
"use strict";
|
|
33175
|
-
|
|
33264
|
+
init_theme();
|
|
33176
33265
|
init_config_store();
|
|
33177
33266
|
init_debug_store();
|
|
33178
33267
|
init_control_hints();
|
|
@@ -33263,7 +33352,7 @@ function OptInAnalyticsScreen({ onDone }) {
|
|
|
33263
33352
|
var init_screen11 = __esm({
|
|
33264
33353
|
"packages/experience-design-system-cli/src/tui/settings/opt-in-analytics/screen.tsx"() {
|
|
33265
33354
|
"use strict";
|
|
33266
|
-
|
|
33355
|
+
init_theme();
|
|
33267
33356
|
init_analytics_store();
|
|
33268
33357
|
init_debug_store();
|
|
33269
33358
|
init_control_hints();
|
|
@@ -33343,6 +33432,7 @@ var UPGRADE_COMMANDS;
|
|
|
33343
33432
|
var init_PageContainer4 = __esm({
|
|
33344
33433
|
"packages/experience-design-system-cli/src/tui/upgrade/PageContainer.tsx"() {
|
|
33345
33434
|
"use strict";
|
|
33435
|
+
init_theme();
|
|
33346
33436
|
init_home_theme();
|
|
33347
33437
|
init_version();
|
|
33348
33438
|
init_debug_store();
|
|
@@ -33407,7 +33497,7 @@ function DebugModeScreen({ onDone }) {
|
|
|
33407
33497
|
var init_screen12 = __esm({
|
|
33408
33498
|
"packages/experience-design-system-cli/src/tui/settings/debug-mode/screen.tsx"() {
|
|
33409
33499
|
"use strict";
|
|
33410
|
-
|
|
33500
|
+
init_theme();
|
|
33411
33501
|
init_debug_mode_store();
|
|
33412
33502
|
init_debug_store();
|
|
33413
33503
|
init_control_hints();
|