@industry-theme/principal-view-panels 0.12.52 → 0.12.53

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.
@@ -1 +1 @@
1
- {"version":3,"file":"StoryboardListPanel.d.ts","sourceRoot":"","sources":["../../src/panels/StoryboardListPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAsE9D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAsoCvE,CAAC"}
1
+ {"version":3,"file":"StoryboardListPanel.d.ts","sourceRoot":"","sources":["../../src/panels/StoryboardListPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAsE9D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAwoCvE,CAAC"}
@@ -86460,7 +86460,7 @@ function hexToLightColor(hexColor, lightness = 0.88) {
86460
86460
  const CustomNode = ({ data, selected: selected2, dragging }) => {
86461
86461
  var _a, _b, _c, _d, _e2, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
86462
86462
  const { theme: theme2 } = useTheme();
86463
- const { onNodeResizeEnd } = useGraphEdit();
86463
+ const { onNodeResizeEnd, onToggleNodeHidden, onHideUnconnectedNodes } = useGraphEdit();
86464
86464
  const nodeId = useNodeId();
86465
86465
  const [isHovered, setIsHovered] = useState(false);
86466
86466
  const nodeRef = useRef(null);
@@ -86490,6 +86490,17 @@ const CustomNode = ({ data, selected: selected2, dragging }) => {
86490
86490
  });
86491
86491
  }
86492
86492
  }, [nodeId, onNodeResizeEnd]);
86493
+ const handleMouseDown = useCallback((event) => {
86494
+ if ((event.metaKey || event.ctrlKey) && nodeId) {
86495
+ event.preventDefault();
86496
+ event.stopPropagation();
86497
+ if (event.shiftKey && onHideUnconnectedNodes) {
86498
+ onHideUnconnectedNodes(nodeId);
86499
+ } else if (onToggleNodeHidden) {
86500
+ onToggleNodeHidden(nodeId);
86501
+ }
86502
+ }
86503
+ }, [nodeId, onToggleNodeHidden, onHideUnconnectedNodes]);
86493
86504
  const showTooltip = isHovered && !dragging && shiftKeyPressed || !editable && !!selected2;
86494
86505
  const otelInfo = nodeData == null ? void 0 : nodeData.otel;
86495
86506
  const description = nodeData == null ? void 0 : nodeData.description;
@@ -86910,7 +86921,7 @@ const CustomNode = ({ data, selected: selected2, dragging }) => {
86910
86921
  height: "100%",
86911
86922
  boxShadow: isHighlighted ? `0 0 0 3px #3b82f6, 0 0 20px rgba(59, 130, 246, 0.5)` : selected2 ? `0 0 0 2px ${strokeColor}` : "none",
86912
86923
  transition: "box-shadow 0.2s ease"
86913
- }, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [renderStatusBadge(), isBoundaryNode ? renderBoundaryBadge() : jsxs(Fragment, { children: [renderSourcesBadge(), renderReferencesBadge()] }), jsx("div", { style: hexagonBorderStyle, className: animationClass, children: jsxs("div", { style: hexagonInnerStyle, children: [icon && jsx("div", { style: { display: "flex", justifyContent: "center", alignItems: "center" }, children: resolveIcon(icon, 20) }), renderNameWithEvent(), state && jsx("div", { style: {
86924
+ }, onMouseDown: handleMouseDown, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [renderStatusBadge(), isBoundaryNode ? renderBoundaryBadge() : jsxs(Fragment, { children: [renderSourcesBadge(), renderReferencesBadge()] }), jsx("div", { style: hexagonBorderStyle, className: animationClass, children: jsxs("div", { style: hexagonInnerStyle, children: [icon && jsx("div", { style: { display: "flex", justifyContent: "center", alignItems: "center" }, children: resolveIcon(icon, 20) }), renderNameWithEvent(), state && jsx("div", { style: {
86914
86925
  fontSize: theme2.fontSizes[0],
86915
86926
  fontFamily: theme2.fonts.body,
86916
86927
  backgroundColor: color2,
@@ -86929,7 +86940,7 @@ const CustomNode = ({ data, selected: selected2, dragging }) => {
86929
86940
  height: "100%",
86930
86941
  boxShadow: isHighlighted ? `0 0 0 3px #3b82f6, 0 0 20px rgba(59, 130, 246, 0.5)` : selected2 ? `0 0 0 2px ${strokeColor}` : "none",
86931
86942
  transition: "box-shadow 0.2s ease"
86932
- }, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [renderStatusBadge(), isBoundaryNode ? renderBoundaryBadge() : jsxs(Fragment, { children: [renderSourcesBadge(), renderReferencesBadge()] }), jsx("div", { style: diamondBorderStyle, className: animationClass, children: jsxs("div", { style: diamondInnerStyle, children: [icon && jsx("div", { style: { display: "flex", justifyContent: "center", alignItems: "center" }, children: resolveIcon(icon, 20) }), renderNameWithEvent(), state && jsx("div", { style: {
86943
+ }, onMouseDown: handleMouseDown, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [renderStatusBadge(), isBoundaryNode ? renderBoundaryBadge() : jsxs(Fragment, { children: [renderSourcesBadge(), renderReferencesBadge()] }), jsx("div", { style: diamondBorderStyle, className: animationClass, children: jsxs("div", { style: diamondInnerStyle, children: [icon && jsx("div", { style: { display: "flex", justifyContent: "center", alignItems: "center" }, children: resolveIcon(icon, 20) }), renderNameWithEvent(), state && jsx("div", { style: {
86933
86944
  fontSize: theme2.fontSizes[0],
86934
86945
  fontFamily: theme2.fonts.body,
86935
86946
  backgroundColor: color2,
@@ -86942,7 +86953,7 @@ const CustomNode = ({ data, selected: selected2, dragging }) => {
86942
86953
  fontFamily: theme2.fonts.body,
86943
86954
  color: "#D0021B",
86944
86955
  fontWeight: theme2.fontWeights.bold
86945
- }, children: "⚠️" })] }) }), tooltipsEnabled && jsx(NodeTooltip, { description, otel: otelInfo, sources, references, visible: showTooltip, nodeRef })] }) : jsxs("div", { ref: nodeRef, style: { position: "relative", width: "100%", height: "100%" }, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [renderStatusBadge(), isBoundaryNode ? renderBoundaryBadge() : jsxs(Fragment, { children: [renderSourcesBadge(), renderReferencesBadge()] }), jsx("div", { style: getShapeStyles(), className: animationClass, children: jsxs("div", { style: {
86956
+ }, children: "⚠️" })] }) }), tooltipsEnabled && jsx(NodeTooltip, { description, otel: otelInfo, sources, references, visible: showTooltip, nodeRef })] }) : jsxs("div", { ref: nodeRef, style: { position: "relative", width: "100%", height: "100%" }, onMouseDown: handleMouseDown, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [renderStatusBadge(), isBoundaryNode ? renderBoundaryBadge() : jsxs(Fragment, { children: [renderSourcesBadge(), renderReferencesBadge()] }), jsx("div", { style: getShapeStyles(), className: animationClass, children: jsxs("div", { style: {
86946
86957
  ...isGroup ? { width: "100%" } : {}
86947
86958
  }, children: [isGroup ? jsxs("div", { style: {
86948
86959
  display: "flex",
@@ -87527,9 +87538,57 @@ const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges,
87527
87538
  return { ...prev, dimensionChanges: newDimensions };
87528
87539
  });
87529
87540
  }, [editable, updateEditState, pushHistory]);
87541
+ const handleToggleNodeHidden = useCallback((nodeId) => {
87542
+ hidingNodeRef.current = true;
87543
+ setHiddenNodeIds((prev) => {
87544
+ const next2 = new Set(prev);
87545
+ if (next2.has(nodeId)) {
87546
+ next2.delete(nodeId);
87547
+ } else {
87548
+ next2.add(nodeId);
87549
+ }
87550
+ return next2;
87551
+ });
87552
+ setTimeout(() => {
87553
+ hidingNodeRef.current = false;
87554
+ }, 0);
87555
+ }, []);
87556
+ const handleHideUnconnectedNodes = useCallback((nodeId) => {
87557
+ hidingNodeRef.current = true;
87558
+ const connectedNodeIds = /* @__PURE__ */ new Set([nodeId]);
87559
+ for (const edge of localEdges) {
87560
+ if (edge.from === nodeId) {
87561
+ connectedNodeIds.add(edge.to);
87562
+ } else if (edge.to === nodeId) {
87563
+ connectedNodeIds.add(edge.from);
87564
+ }
87565
+ }
87566
+ const unconnectedNodeIds = localNodes.map((n) => n.id).filter((id2) => !connectedNodeIds.has(id2));
87567
+ setHiddenNodeIds((prev) => {
87568
+ const allUnconnectedHidden = unconnectedNodeIds.every((id2) => prev.has(id2));
87569
+ if (allUnconnectedHidden) {
87570
+ const next2 = new Set(prev);
87571
+ for (const id2 of unconnectedNodeIds) {
87572
+ next2.delete(id2);
87573
+ }
87574
+ return next2;
87575
+ } else {
87576
+ const next2 = new Set(prev);
87577
+ for (const id2 of unconnectedNodeIds) {
87578
+ next2.add(id2);
87579
+ }
87580
+ return next2;
87581
+ }
87582
+ });
87583
+ setTimeout(() => {
87584
+ hidingNodeRef.current = false;
87585
+ }, 0);
87586
+ }, [localEdges, localNodes]);
87530
87587
  const graphEditContextValue = useMemo(() => ({
87531
- onNodeResizeEnd: handleNodeResizeEnd
87532
- }), [handleNodeResizeEnd]);
87588
+ onNodeResizeEnd: handleNodeResizeEnd,
87589
+ onToggleNodeHidden: handleToggleNodeHidden,
87590
+ onHideUnconnectedNodes: handleHideUnconnectedNodes
87591
+ }), [handleNodeResizeEnd, handleToggleNodeHidden, handleHideUnconnectedNodes]);
87533
87592
  const detectAlignmentGuides = useCallback((draggingNodeId, nodes2) => {
87534
87593
  const threshold = 5;
87535
87594
  const guides = [];
@@ -87594,19 +87653,11 @@ const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges,
87594
87653
  if (event.metaKey || event.ctrlKey) {
87595
87654
  event.preventDefault();
87596
87655
  event.stopPropagation();
87597
- hidingNodeRef.current = true;
87598
- setHiddenNodeIds((prev) => {
87599
- const next2 = new Set(prev);
87600
- if (next2.has(node2.id)) {
87601
- next2.delete(node2.id);
87602
- } else {
87603
- next2.add(node2.id);
87604
- }
87605
- return next2;
87606
- });
87607
- setTimeout(() => {
87608
- hidingNodeRef.current = false;
87609
- }, 0);
87656
+ if (event.shiftKey) {
87657
+ handleHideUnconnectedNodes(node2.id);
87658
+ } else {
87659
+ handleToggleNodeHidden(node2.id);
87660
+ }
87610
87661
  return;
87611
87662
  }
87612
87663
  if (event.shiftKey) {
@@ -87653,7 +87704,7 @@ const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges,
87653
87704
  if (onNodeClickProp) {
87654
87705
  onNodeClickProp(node2.id, event);
87655
87706
  }
87656
- }, [selectedNodeIds, onNodeClickProp, editable]);
87707
+ }, [selectedNodeIds, onNodeClickProp, editable, handleToggleNodeHidden, handleHideUnconnectedNodes]);
87657
87708
  const lastFittedNodeRef = useRef(null);
87658
87709
  const onNodeDoubleClick = useCallback((event, node2) => {
87659
87710
  var _a, _b, _c, _d;
@@ -88036,6 +88087,18 @@ const GraphRendererInner = ({ configuration, nodes: propNodes, edges: propEdges,
88036
88087
  selected: selectedNodeIds.has(localNode.id)
88037
88088
  })));
88038
88089
  }, [editable, selectedNodeIds]);
88090
+ const prevHiddenNodeIdsRef = useRef(hiddenNodeIds);
88091
+ useEffect(() => {
88092
+ if (!editable)
88093
+ return;
88094
+ if (prevHiddenNodeIdsRef.current === hiddenNodeIds)
88095
+ return;
88096
+ prevHiddenNodeIdsRef.current = hiddenNodeIds;
88097
+ setXyflowLocalNodes((nodes2) => nodes2.map((n) => ({
88098
+ ...n,
88099
+ data: { ...n.data, isHidden: hiddenNodeIds.has(n.id) }
88100
+ })));
88101
+ }, [editable, hiddenNodeIds]);
88039
88102
  const prevEditableRef = useRef(editable);
88040
88103
  useEffect(() => {
88041
88104
  if (editable && !prevEditableRef.current) {
@@ -99691,7 +99754,8 @@ const StoryboardListPanel = ({
99691
99754
  }, [events, storyboards]);
99692
99755
  const { otelCount, staticCount } = useMemo(() => {
99693
99756
  const otel = storyboards.filter((sb) => sb.canvas.type === "otel").length;
99694
- const regular = storyboards.filter((sb) => sb.canvas.type === "regular" || sb.canvas.type === "scopes").length;
99757
+ const architectureTypes = ["regular", "scopes", "resources", "spans"];
99758
+ const regular = storyboards.filter((sb) => architectureTypes.includes(sb.canvas.type)).length;
99695
99759
  return { otelCount: otel, staticCount: regular };
99696
99760
  }, [storyboards]);
99697
99761
  const effectiveCanvasTypeFilter = useMemo(() => {
@@ -99812,7 +99876,8 @@ const StoryboardListPanel = ({
99812
99876
  let filtered = storyboards;
99813
99877
  filtered = filtered.filter((storyboard) => {
99814
99878
  if (effectiveCanvasTypeFilter === "regular") {
99815
- return storyboard.canvas.type === "regular" || storyboard.canvas.type === "scopes";
99879
+ const architectureTypes = ["regular", "scopes", "resources", "spans"];
99880
+ return architectureTypes.includes(storyboard.canvas.type);
99816
99881
  }
99817
99882
  return storyboard.canvas.type === effectiveCanvasTypeFilter;
99818
99883
  });