@contentful/experience-design-system-cli 2.37.1-dev-build-c5e75ab7.0 → 2.37.1-dev-build-2ed60464.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 +31 -11
- package/dist/index.js +32 -11
- package/dist/package.json +1 -1
- package/dist/src/tui/import/steps/07-scope-gate/sidebar/components/GroupedSidebar.d.ts +1 -0
- package/dist/src/tui/import/steps/07-scope-gate/sidebar/step-filters.d.ts +4 -0
- package/dist/src/tui/import/steps/07-scope-gate/use-scope-gate.d.ts +1 -0
- package/legacy/package.json +1 -1
- package/package.json +3 -3
package/dist/app.js
CHANGED
|
@@ -19157,7 +19157,8 @@ function GroupedSidebar(props) {
|
|
|
19157
19157
|
dimPredicate,
|
|
19158
19158
|
visibleRows: providedRows,
|
|
19159
19159
|
graph,
|
|
19160
|
-
filterVisibleKeys
|
|
19160
|
+
filterVisibleKeys,
|
|
19161
|
+
emptyMessage
|
|
19161
19162
|
} = props;
|
|
19162
19163
|
const allRows = providedRows ?? buildVisibleRows({
|
|
19163
19164
|
items,
|
|
@@ -19174,6 +19175,10 @@ function GroupedSidebar(props) {
|
|
|
19174
19175
|
const end = windowed ? start + (visibleCount ?? allRows.length) : allRows.length;
|
|
19175
19176
|
const rows = windowed ? allRows.slice(start, end) : allRows;
|
|
19176
19177
|
return /* @__PURE__ */ jsxs18(WindowedPanel, { width, height: props.height, title, focused, children: [
|
|
19178
|
+
allRows.length === 0 && emptyMessage !== void 0 && /* @__PURE__ */ jsxs18(Text19, { color: PALETTE2.warning, children: [
|
|
19179
|
+
" ",
|
|
19180
|
+
emptyMessage
|
|
19181
|
+
] }),
|
|
19177
19182
|
windowed && /* @__PURE__ */ jsx21(WindowIndicator, { direction: "up", count: start }),
|
|
19178
19183
|
rows.map((row, i) => {
|
|
19179
19184
|
const absoluteRowIdx = start + i;
|
|
@@ -19489,9 +19494,9 @@ function createSidebarViewsHelpSection(includeBreaking) {
|
|
|
19489
19494
|
{ keys: "L", label: "Flat view" },
|
|
19490
19495
|
{ keys: "i", label: "Focus lineage" }
|
|
19491
19496
|
];
|
|
19492
|
-
if (includeBreaking) entries.push({ keys: "w", label: "
|
|
19497
|
+
if (includeBreaking) entries.push({ keys: "w", label: "Show only components with breaking changes" });
|
|
19493
19498
|
entries.push(
|
|
19494
|
-
{ keys: "o", label: "
|
|
19499
|
+
{ keys: "o", label: "Show only components in slot cycles" },
|
|
19495
19500
|
{ keys: "space", label: "Expand/collapse group" },
|
|
19496
19501
|
{ keys: "E / C", label: "Expand/collapse all" }
|
|
19497
19502
|
);
|
|
@@ -20058,6 +20063,17 @@ function computeFilterKeys(input) {
|
|
|
20058
20063
|
if (active.has("deleted")) for (const k of input.data.deleted ?? []) out.add(k);
|
|
20059
20064
|
return out;
|
|
20060
20065
|
}
|
|
20066
|
+
var FILTER_LABELS = {
|
|
20067
|
+
broken: "components with breaking changes",
|
|
20068
|
+
cycles: "slot cycles",
|
|
20069
|
+
deleted: "removed components"
|
|
20070
|
+
};
|
|
20071
|
+
function describeEmptyFilter(input) {
|
|
20072
|
+
const names = [...input.filters].map((f) => FILTER_LABELS[f]);
|
|
20073
|
+
if (input.slotDependencies) names.push("slot dependencies");
|
|
20074
|
+
if (names.length === 0) return void 0;
|
|
20075
|
+
return `Nothing to show: no ${names.join(" or ")} in this import.`;
|
|
20076
|
+
}
|
|
20061
20077
|
function intersectFilterKeys(a, b) {
|
|
20062
20078
|
if (a === void 0) return b;
|
|
20063
20079
|
if (b === void 0) return a;
|
|
@@ -20253,6 +20269,7 @@ function useScopeGate({ components, onConfirm, onQuit }) {
|
|
|
20253
20269
|
}),
|
|
20254
20270
|
[groupedItems, cycleParticipants, expandedGroups, columnOneView, graph, filterVisibleKeys]
|
|
20255
20271
|
);
|
|
20272
|
+
const emptyMessage = visibleRows.length === 0 && filterVisibleKeys !== void 0 && !jumpFilterTarget ? describeEmptyFilter({ filters: activeFilters, slotDependencies: showDependencies }) : void 0;
|
|
20256
20273
|
const total = visibleRows.length;
|
|
20257
20274
|
const safeCursor = Math.min(nav.cursor, Math.max(0, total - 1));
|
|
20258
20275
|
const currentRow = visibleRows[safeCursor];
|
|
@@ -20574,6 +20591,7 @@ function useScopeGate({ components, onConfirm, onQuit }) {
|
|
|
20574
20591
|
expandedGroups,
|
|
20575
20592
|
toggleExpanded,
|
|
20576
20593
|
visibleRows,
|
|
20594
|
+
emptyMessage,
|
|
20577
20595
|
safeCursor,
|
|
20578
20596
|
scrollOffset: nav.scrollOffset,
|
|
20579
20597
|
selectionStateByKey,
|
|
@@ -20627,7 +20645,7 @@ var HELP_SECTIONS = [
|
|
|
20627
20645
|
title: "Panels",
|
|
20628
20646
|
entries: [
|
|
20629
20647
|
{ keys: "c", label: "Cycle list" },
|
|
20630
|
-
{ keys: "d", label: "Show slot
|
|
20648
|
+
{ keys: "d", label: "Show slot dependenciess" },
|
|
20631
20649
|
{ keys: "x", label: "Review flags" }
|
|
20632
20650
|
]
|
|
20633
20651
|
},
|
|
@@ -20696,6 +20714,7 @@ function ScopeGateView({ components, onConfirm, onQuit }) {
|
|
|
20696
20714
|
aiFlaggedByKey: gate.aiFlaggedByKey,
|
|
20697
20715
|
dimPredicate: gate.dimPredicate,
|
|
20698
20716
|
visibleRows: gate.visibleRows,
|
|
20717
|
+
emptyMessage: gate.emptyMessage,
|
|
20699
20718
|
viewMode: gate.columnOneView,
|
|
20700
20719
|
graph: graph.nodes
|
|
20701
20720
|
}
|
|
@@ -25455,12 +25474,12 @@ var HELP_SECTIONS2 = [
|
|
|
25455
25474
|
title: "Panels",
|
|
25456
25475
|
entries: [
|
|
25457
25476
|
{ keys: "c", label: "Cycle list" },
|
|
25458
|
-
{ keys: "b", label: "
|
|
25459
|
-
{ keys: "w", label: "
|
|
25460
|
-
{ keys: "o", label: "
|
|
25477
|
+
{ keys: "b", label: "Show breaking changes" },
|
|
25478
|
+
{ keys: "w", label: "Filter components with breaking changes" },
|
|
25479
|
+
{ keys: "o", label: "Filter components in slot cycles" },
|
|
25461
25480
|
{ keys: "p", label: "Prop rationale" },
|
|
25462
25481
|
{ keys: "P", label: "Component rationale" },
|
|
25463
|
-
{ keys: "s", label: "Source" },
|
|
25482
|
+
{ keys: "s", label: "Source code snippet" },
|
|
25464
25483
|
{ keys: "J", label: "Toggle JSON" },
|
|
25465
25484
|
{ keys: "t", label: "Token review" }
|
|
25466
25485
|
]
|
|
@@ -26179,18 +26198,18 @@ function GenerateReviewStepView({
|
|
|
26179
26198
|
}
|
|
26180
26199
|
return;
|
|
26181
26200
|
}
|
|
26182
|
-
if (input === "c" && !key.ctrl && !key.meta && cycleRows.length > 0) {
|
|
26201
|
+
if (input === "c" && !reviewEditor.textEntryActive && !key.ctrl && !key.meta && cycleRows.length > 0) {
|
|
26183
26202
|
cyclePanel.open();
|
|
26184
26203
|
setCyclePanelScroll(0);
|
|
26185
26204
|
setCyclesCursor(0);
|
|
26186
26205
|
return;
|
|
26187
26206
|
}
|
|
26188
|
-
if (input === "b" && sidebarFocused && breakingChanges.length > 0) {
|
|
26207
|
+
if (input === "b" && !reviewEditor.textEntryActive && sidebarFocused && breakingChanges.length > 0) {
|
|
26189
26208
|
breakingPanel.open();
|
|
26190
26209
|
setBreakingCursor(0);
|
|
26191
26210
|
return;
|
|
26192
26211
|
}
|
|
26193
|
-
if (input === "o" || input === "w") {
|
|
26212
|
+
if (!reviewEditor.textEntryActive && (input === "o" || input === "w")) {
|
|
26194
26213
|
const category = input === "o" ? "cycles" : "broken";
|
|
26195
26214
|
setActiveFilters((prev) => {
|
|
26196
26215
|
const next = new Set(prev);
|
|
@@ -26576,6 +26595,7 @@ function GenerateReviewStepView({
|
|
|
26576
26595
|
visibleCount,
|
|
26577
26596
|
dimPredicate,
|
|
26578
26597
|
visibleRows: visibleRowsMemo,
|
|
26598
|
+
emptyMessage: visibleRowsMemo.length === 0 && filterVisibleKeys !== void 0 && !jumpFilterTarget ? describeEmptyFilter({ filters: activeFilters }) : void 0,
|
|
26579
26599
|
viewMode: columnOneView,
|
|
26580
26600
|
graph: sidebarGraph
|
|
26581
26601
|
}
|
package/dist/index.js
CHANGED
|
@@ -22530,7 +22530,8 @@ function GroupedSidebar(props) {
|
|
|
22530
22530
|
dimPredicate,
|
|
22531
22531
|
visibleRows: providedRows,
|
|
22532
22532
|
graph,
|
|
22533
|
-
filterVisibleKeys
|
|
22533
|
+
filterVisibleKeys,
|
|
22534
|
+
emptyMessage
|
|
22534
22535
|
} = props;
|
|
22535
22536
|
const allRows = providedRows ?? buildVisibleRows({
|
|
22536
22537
|
items,
|
|
@@ -22547,6 +22548,10 @@ function GroupedSidebar(props) {
|
|
|
22547
22548
|
const end = windowed ? start + (visibleCount ?? allRows.length) : allRows.length;
|
|
22548
22549
|
const rows = windowed ? allRows.slice(start, end) : allRows;
|
|
22549
22550
|
return /* @__PURE__ */ jsxs18(WindowedPanel, { width, height: props.height, title, focused, children: [
|
|
22551
|
+
allRows.length === 0 && emptyMessage !== void 0 && /* @__PURE__ */ jsxs18(Text19, { color: PALETTE2.warning, children: [
|
|
22552
|
+
" ",
|
|
22553
|
+
emptyMessage
|
|
22554
|
+
] }),
|
|
22550
22555
|
windowed && /* @__PURE__ */ jsx21(WindowIndicator, { direction: "up", count: start }),
|
|
22551
22556
|
rows.map((row, i) => {
|
|
22552
22557
|
const absoluteRowIdx = start + i;
|
|
@@ -22911,9 +22916,9 @@ function createSidebarViewsHelpSection(includeBreaking) {
|
|
|
22911
22916
|
{ keys: "L", label: "Flat view" },
|
|
22912
22917
|
{ keys: "i", label: "Focus lineage" }
|
|
22913
22918
|
];
|
|
22914
|
-
if (includeBreaking) entries.push({ keys: "w", label: "
|
|
22919
|
+
if (includeBreaking) entries.push({ keys: "w", label: "Show only components with breaking changes" });
|
|
22915
22920
|
entries.push(
|
|
22916
|
-
{ keys: "o", label: "
|
|
22921
|
+
{ keys: "o", label: "Show only components in slot cycles" },
|
|
22917
22922
|
{ keys: "space", label: "Expand/collapse group" },
|
|
22918
22923
|
{ keys: "E / C", label: "Expand/collapse all" }
|
|
22919
22924
|
);
|
|
@@ -23557,6 +23562,12 @@ function computeFilterKeys(input) {
|
|
|
23557
23562
|
if (active.has("deleted")) for (const k of input.data.deleted ?? []) out.add(k);
|
|
23558
23563
|
return out;
|
|
23559
23564
|
}
|
|
23565
|
+
function describeEmptyFilter(input) {
|
|
23566
|
+
const names = [...input.filters].map((f) => FILTER_LABELS[f]);
|
|
23567
|
+
if (input.slotDependencies) names.push("slot dependencies");
|
|
23568
|
+
if (names.length === 0) return void 0;
|
|
23569
|
+
return `Nothing to show: no ${names.join(" or ")} in this import.`;
|
|
23570
|
+
}
|
|
23560
23571
|
function intersectFilterKeys(a, b) {
|
|
23561
23572
|
if (a === void 0) return b;
|
|
23562
23573
|
if (b === void 0) return a;
|
|
@@ -23575,10 +23586,16 @@ function buildFlatDimPredicate(input) {
|
|
|
23575
23586
|
return false;
|
|
23576
23587
|
};
|
|
23577
23588
|
}
|
|
23589
|
+
var FILTER_LABELS;
|
|
23578
23590
|
var init_step_filters = __esm({
|
|
23579
23591
|
"packages/experience-design-system-cli/src/tui/import/steps/07-scope-gate/sidebar/step-filters.ts"() {
|
|
23580
23592
|
"use strict";
|
|
23581
23593
|
init_fuzzy_search();
|
|
23594
|
+
FILTER_LABELS = {
|
|
23595
|
+
broken: "components with breaking changes",
|
|
23596
|
+
cycles: "slot cycles",
|
|
23597
|
+
deleted: "removed components"
|
|
23598
|
+
};
|
|
23582
23599
|
}
|
|
23583
23600
|
});
|
|
23584
23601
|
|
|
@@ -23766,6 +23783,7 @@ function useScopeGate({ components, onConfirm, onQuit }) {
|
|
|
23766
23783
|
}),
|
|
23767
23784
|
[groupedItems, cycleParticipants, expandedGroups, columnOneView, graph, filterVisibleKeys]
|
|
23768
23785
|
);
|
|
23786
|
+
const emptyMessage = visibleRows.length === 0 && filterVisibleKeys !== void 0 && !jumpFilterTarget ? describeEmptyFilter({ filters: activeFilters, slotDependencies: showDependencies }) : void 0;
|
|
23769
23787
|
const total = visibleRows.length;
|
|
23770
23788
|
const safeCursor = Math.min(nav.cursor, Math.max(0, total - 1));
|
|
23771
23789
|
const currentRow = visibleRows[safeCursor];
|
|
@@ -24087,6 +24105,7 @@ function useScopeGate({ components, onConfirm, onQuit }) {
|
|
|
24087
24105
|
expandedGroups,
|
|
24088
24106
|
toggleExpanded,
|
|
24089
24107
|
visibleRows,
|
|
24108
|
+
emptyMessage,
|
|
24090
24109
|
safeCursor,
|
|
24091
24110
|
scrollOffset: nav.scrollOffset,
|
|
24092
24111
|
selectionStateByKey,
|
|
@@ -24196,6 +24215,7 @@ function ScopeGateView({ components, onConfirm, onQuit }) {
|
|
|
24196
24215
|
aiFlaggedByKey: gate.aiFlaggedByKey,
|
|
24197
24216
|
dimPredicate: gate.dimPredicate,
|
|
24198
24217
|
visibleRows: gate.visibleRows,
|
|
24218
|
+
emptyMessage: gate.emptyMessage,
|
|
24199
24219
|
viewMode: gate.columnOneView,
|
|
24200
24220
|
graph: graph.nodes
|
|
24201
24221
|
}
|
|
@@ -24278,7 +24298,7 @@ var init_screen7 = __esm({
|
|
|
24278
24298
|
title: "Panels",
|
|
24279
24299
|
entries: [
|
|
24280
24300
|
{ keys: "c", label: "Cycle list" },
|
|
24281
|
-
{ keys: "d", label: "Show slot
|
|
24301
|
+
{ keys: "d", label: "Show slot dependenciess" },
|
|
24282
24302
|
{ keys: "x", label: "Review flags" }
|
|
24283
24303
|
]
|
|
24284
24304
|
},
|
|
@@ -30107,18 +30127,18 @@ function GenerateReviewStepView({
|
|
|
30107
30127
|
}
|
|
30108
30128
|
return;
|
|
30109
30129
|
}
|
|
30110
|
-
if (input === "c" && !key.ctrl && !key.meta && cycleRows.length > 0) {
|
|
30130
|
+
if (input === "c" && !reviewEditor.textEntryActive && !key.ctrl && !key.meta && cycleRows.length > 0) {
|
|
30111
30131
|
cyclePanel.open();
|
|
30112
30132
|
setCyclePanelScroll(0);
|
|
30113
30133
|
setCyclesCursor(0);
|
|
30114
30134
|
return;
|
|
30115
30135
|
}
|
|
30116
|
-
if (input === "b" && sidebarFocused && breakingChanges.length > 0) {
|
|
30136
|
+
if (input === "b" && !reviewEditor.textEntryActive && sidebarFocused && breakingChanges.length > 0) {
|
|
30117
30137
|
breakingPanel.open();
|
|
30118
30138
|
setBreakingCursor(0);
|
|
30119
30139
|
return;
|
|
30120
30140
|
}
|
|
30121
|
-
if (input === "o" || input === "w") {
|
|
30141
|
+
if (!reviewEditor.textEntryActive && (input === "o" || input === "w")) {
|
|
30122
30142
|
const category = input === "o" ? "cycles" : "broken";
|
|
30123
30143
|
setActiveFilters((prev) => {
|
|
30124
30144
|
const next = new Set(prev);
|
|
@@ -30504,6 +30524,7 @@ function GenerateReviewStepView({
|
|
|
30504
30524
|
visibleCount,
|
|
30505
30525
|
dimPredicate,
|
|
30506
30526
|
visibleRows: visibleRowsMemo,
|
|
30527
|
+
emptyMessage: visibleRowsMemo.length === 0 && filterVisibleKeys !== void 0 && !jumpFilterTarget ? describeEmptyFilter({ filters: activeFilters }) : void 0,
|
|
30507
30528
|
viewMode: columnOneView,
|
|
30508
30529
|
graph: sidebarGraph
|
|
30509
30530
|
}
|
|
@@ -30644,12 +30665,12 @@ var init_generate_review_step = __esm({
|
|
|
30644
30665
|
title: "Panels",
|
|
30645
30666
|
entries: [
|
|
30646
30667
|
{ keys: "c", label: "Cycle list" },
|
|
30647
|
-
{ keys: "b", label: "
|
|
30648
|
-
{ keys: "w", label: "
|
|
30649
|
-
{ keys: "o", label: "
|
|
30668
|
+
{ keys: "b", label: "Show breaking changes" },
|
|
30669
|
+
{ keys: "w", label: "Filter components with breaking changes" },
|
|
30670
|
+
{ keys: "o", label: "Filter components in slot cycles" },
|
|
30650
30671
|
{ keys: "p", label: "Prop rationale" },
|
|
30651
30672
|
{ keys: "P", label: "Component rationale" },
|
|
30652
|
-
{ keys: "s", label: "Source" },
|
|
30673
|
+
{ keys: "s", label: "Source code snippet" },
|
|
30653
30674
|
{ keys: "J", label: "Toggle JSON" },
|
|
30654
30675
|
{ keys: "t", label: "Token review" }
|
|
30655
30676
|
]
|
package/dist/package.json
CHANGED
|
@@ -33,6 +33,7 @@ export interface GroupedSidebarProps {
|
|
|
33
33
|
visibleRows?: VisibleRow[];
|
|
34
34
|
graph: ComponentGraphNode[];
|
|
35
35
|
filterVisibleKeys?: Set<string>;
|
|
36
|
+
emptyMessage?: string;
|
|
36
37
|
}
|
|
37
38
|
type RowKind = 'cycle' | 'empty' | 'group-root' | 'group-child' | 'standalone' | 'flat' | 'flat-header';
|
|
38
39
|
export interface VisibleRow {
|
|
@@ -11,6 +11,10 @@ export declare function computeFilterKeys(input: {
|
|
|
11
11
|
filters: Iterable<FilterCategory>;
|
|
12
12
|
data: FilterDataSources;
|
|
13
13
|
}): Set<string> | undefined;
|
|
14
|
+
export declare function describeEmptyFilter(input: {
|
|
15
|
+
filters: Iterable<FilterCategory>;
|
|
16
|
+
slotDependencies?: boolean;
|
|
17
|
+
}): string | undefined;
|
|
14
18
|
export declare function intersectFilterKeys(a: Set<string> | undefined, b: Set<string> | undefined): Set<string> | undefined;
|
|
15
19
|
export declare function buildFlatDimPredicate(input: {
|
|
16
20
|
viewMode: 'grouped' | 'flat';
|
|
@@ -26,6 +26,7 @@ export declare function useScopeGate({ components, onConfirm, onQuit }: UseScope
|
|
|
26
26
|
expandedGroups: Set<string>;
|
|
27
27
|
toggleExpanded: (rootName: string) => void;
|
|
28
28
|
visibleRows: import("./sidebar/components/GroupedSidebar.js").VisibleRow[];
|
|
29
|
+
emptyMessage: string | undefined;
|
|
29
30
|
safeCursor: number;
|
|
30
31
|
scrollOffset: number;
|
|
31
32
|
selectionStateByKey: Map<string, "accepted" | "rejected" | "undecided">;
|
package/legacy/package.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contentful/experience-design-system-cli",
|
|
3
|
-
"version": "2.37.1-dev-build-
|
|
3
|
+
"version": "2.37.1-dev-build-2ed60464.0",
|
|
4
4
|
"description": "Contentful Experiences design system import CLI",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"ts-morph": "^27.0.2",
|
|
46
46
|
"typescript": "^5.9.3",
|
|
47
47
|
"zod": "^4.6.5",
|
|
48
|
-
"@contentful/experience-design-system-backend-pipeline": "2.37.1-dev-build-
|
|
49
|
-
"@contentful/experience-design-system-types": "2.37.1-dev-build-
|
|
48
|
+
"@contentful/experience-design-system-backend-pipeline": "2.37.1-dev-build-2ed60464.0",
|
|
49
|
+
"@contentful/experience-design-system-types": "2.37.1-dev-build-2ed60464.0"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@tsconfig/node24": "^24.0.4",
|