@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 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: "Only breaking" });
19497
+ if (includeBreaking) entries.push({ keys: "w", label: "Show only components with breaking changes" });
19493
19498
  entries.push(
19494
- { keys: "o", label: "Only cycles" },
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 dependencies in main list" },
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: "Breaking changes" },
25459
- { keys: "w", label: "Only breaking" },
25460
- { keys: "o", label: "Only cycles" },
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: "Only breaking" });
22919
+ if (includeBreaking) entries.push({ keys: "w", label: "Show only components with breaking changes" });
22915
22920
  entries.push(
22916
- { keys: "o", label: "Only cycles" },
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 dependencies in main list" },
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: "Breaking changes" },
30648
- { keys: "w", label: "Only breaking" },
30649
- { keys: "o", label: "Only cycles" },
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentful/experience-design-system-cli",
3
- "version": "2.37.1-dev-build-c5e75ab7.0",
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",
@@ -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">;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentful/experience-design-system-cli",
3
- "version": "2.37.1-dev-build-c5e75ab7.0",
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",
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-c5e75ab7.0",
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-c5e75ab7.0",
49
- "@contentful/experience-design-system-types": "2.37.1-dev-build-c5e75ab7.0"
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",