@industry-theme/alexandria-panels 0.1.7 → 0.1.8

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":"LocalProjectCard.d.ts","sourceRoot":"","sources":["../../../src/panels/LocalProjectsPanel/LocalProjectCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,0BAA0B,CAAC;AA+BlC;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAwX5D,CAAC"}
1
+ {"version":3,"file":"LocalProjectCard.d.ts","sourceRoot":"","sources":["../../../src/panels/LocalProjectsPanel/LocalProjectCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,0BAA0B,CAAC;AA+BlC;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAyZ5D,CAAC"}
@@ -98,8 +98,10 @@ export interface LocalProjectCardProps {
98
98
  compact?: boolean;
99
99
  /** Whether repository is in workspace directory (workspace mode) */
100
100
  isInWorkspaceDirectory?: boolean | null;
101
- /** Workspace path for relative path display (workspace mode) */
101
+ /** Workspace path to strip from displayed path */
102
102
  workspacePath?: string;
103
+ /** User home path to strip from displayed path (replaced with ~) */
104
+ userHomePath?: string;
103
105
  }
104
106
  /**
105
107
  * Props for RepositoryAvatar component
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/panels/LocalProjectsPanel/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/panels/LocalProjectsPanel/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceRepositoriesPanel.stories.d.ts","sourceRoot":"","sources":["../../../src/panels/WorkspaceRepositoriesPanel/WorkspaceRepositoriesPanel.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AA0GrD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,0BAA0B,CAcjD,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEzD,eAAO,MAAM,OAAO,EAAE,KAerB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAcjC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAe5B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAiBrB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAgE5B,CAAC"}
1
+ {"version":3,"file":"WorkspaceRepositoriesPanel.stories.d.ts","sourceRoot":"","sources":["../../../src/panels/WorkspaceRepositoriesPanel/WorkspaceRepositoriesPanel.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AA0GrD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,0BAA0B,CAcjD,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEzD,eAAO,MAAM,OAAO,EAAE,KAgBrB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAejC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAgB5B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAkBrB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAiE5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/panels/WorkspaceRepositoriesPanel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAIzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,8CAA8C,CAAC;AA8dtD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAEpE,CAAC;AAGF,YAAY,EACV,SAAS,EACT,iCAAiC,EACjC,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/panels/WorkspaceRepositoriesPanel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAIzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,8CAA8C,CAAC;AAketD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAEpE,CAAC;AAGF,YAAY,EACV,SAAS,EACT,iCAAiC,EACjC,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceCard.d.ts","sourceRoot":"","sources":["../../../src/panels/WorkspacesListPanel/WorkspaceCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAqXtD,CAAC"}
1
+ {"version":3,"file":"WorkspaceCard.d.ts","sourceRoot":"","sources":["../../../src/panels/WorkspacesListPanel/WorkspaceCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA+XtD,CAAC"}
@@ -562,7 +562,9 @@ const LocalProjectCard = ({
562
562
  isLoading = false,
563
563
  windowState = "closed",
564
564
  compact: _compact = false,
565
- isInWorkspaceDirectory
565
+ isInWorkspaceDirectory,
566
+ workspacePath,
567
+ userHomePath
566
568
  }) => {
567
569
  var _a, _b, _c, _d, _e;
568
570
  const { theme } = useTheme();
@@ -571,6 +573,17 @@ const LocalProjectCard = ({
571
573
  const [isMoving, setIsMoving] = useState(false);
572
574
  const [isRemoving, setIsRemoving] = useState(false);
573
575
  const avatarUrl = ((_a = entry.github) == null ? void 0 : _a.owner) ? `https://github.com/${entry.github.owner}.png` : null;
576
+ const getDisplayPath = (path) => {
577
+ if (workspacePath && path.startsWith(workspacePath)) {
578
+ const relativePath = path.slice(workspacePath.length);
579
+ return relativePath.startsWith("/") ? relativePath.slice(1) : relativePath;
580
+ }
581
+ if (userHomePath && path.startsWith(userHomePath)) {
582
+ return "~" + path.slice(userHomePath.length);
583
+ }
584
+ return path;
585
+ };
586
+ const displayPath = getDisplayPath(entry.path);
574
587
  const handleCardClick = () => {
575
588
  onSelect == null ? void 0 : onSelect(entry);
576
589
  };
@@ -621,14 +634,17 @@ const LocalProjectCard = ({
621
634
  display: "flex",
622
635
  alignItems: "center",
623
636
  justifyContent: "center",
624
- width: "24px",
637
+ gap: "4px",
638
+ flex: 1,
625
639
  height: "24px",
626
- padding: 0,
640
+ padding: "0 8px",
627
641
  border: "none",
628
642
  borderRadius: "4px",
629
643
  backgroundColor: "transparent",
630
644
  color: theme.colors.textSecondary,
631
645
  cursor: "pointer",
646
+ fontSize: `${theme.fontSizes[1]}px`,
647
+ fontFamily: theme.fonts.body,
632
648
  transition: "all 0.15s ease"
633
649
  };
634
650
  const handleButtonHover = (e, isDestructive = false) => {
@@ -646,7 +662,7 @@ const LocalProjectCard = ({
646
662
  };
647
663
  const renderActionButtons = () => {
648
664
  if (actionMode === "add-to-workspace") {
649
- return /* @__PURE__ */ jsx(
665
+ return /* @__PURE__ */ jsxs(
650
666
  "button",
651
667
  {
652
668
  type: "button",
@@ -656,13 +672,16 @@ const LocalProjectCard = ({
656
672
  style: actionButtonStyle,
657
673
  onMouseEnter: (e) => handleButtonHover(e),
658
674
  onMouseLeave: (e) => handleButtonLeave(e),
659
- children: isLoading ? /* @__PURE__ */ jsx(LoaderCircle, { size: 16, className: "animate-spin" }) : /* @__PURE__ */ jsx(Plus, { size: 16 })
675
+ children: [
676
+ isLoading ? /* @__PURE__ */ jsx(LoaderCircle, { size: 14, className: "animate-spin" }) : /* @__PURE__ */ jsx(Plus, { size: 14 }),
677
+ /* @__PURE__ */ jsx("span", { children: "Add" })
678
+ ]
660
679
  }
661
680
  );
662
681
  }
663
682
  if (actionMode === "workspace") {
664
683
  return /* @__PURE__ */ jsxs(Fragment, { children: [
665
- isInWorkspaceDirectory === false && onMoveToWorkspace && /* @__PURE__ */ jsx(
684
+ isInWorkspaceDirectory === false && onMoveToWorkspace && /* @__PURE__ */ jsxs(
666
685
  "button",
667
686
  {
668
687
  type: "button",
@@ -672,10 +691,13 @@ const LocalProjectCard = ({
672
691
  style: actionButtonStyle,
673
692
  onMouseEnter: (e) => handleButtonHover(e),
674
693
  onMouseLeave: (e) => handleButtonLeave(e),
675
- children: isMoving ? /* @__PURE__ */ jsx(LoaderCircle, { size: 16, className: "animate-spin" }) : /* @__PURE__ */ jsx(MoveUp, { size: 16 })
694
+ children: [
695
+ isMoving ? /* @__PURE__ */ jsx(LoaderCircle, { size: 14, className: "animate-spin" }) : /* @__PURE__ */ jsx(MoveUp, { size: 14 }),
696
+ /* @__PURE__ */ jsx("span", { children: "Move" })
697
+ ]
676
698
  }
677
699
  ),
678
- /* @__PURE__ */ jsx(
700
+ /* @__PURE__ */ jsxs(
679
701
  "button",
680
702
  {
681
703
  type: "button",
@@ -687,10 +709,13 @@ const LocalProjectCard = ({
687
709
  },
688
710
  onMouseEnter: (e) => handleButtonHover(e),
689
711
  onMouseLeave: (e) => handleButtonLeave(e, copiedPath ? theme.colors.success || "#10b981" : void 0),
690
- children: copiedPath ? /* @__PURE__ */ jsx(Check, { size: 16 }) : /* @__PURE__ */ jsx(Copy, { size: 16 })
712
+ children: [
713
+ copiedPath ? /* @__PURE__ */ jsx(Check, { size: 14 }) : /* @__PURE__ */ jsx(Copy, { size: 14 }),
714
+ /* @__PURE__ */ jsx("span", { children: copiedPath ? "Copied" : "Copy" })
715
+ ]
691
716
  }
692
717
  ),
693
- /* @__PURE__ */ jsx(
718
+ /* @__PURE__ */ jsxs(
694
719
  "button",
695
720
  {
696
721
  type: "button",
@@ -699,10 +724,13 @@ const LocalProjectCard = ({
699
724
  style: actionButtonStyle,
700
725
  onMouseEnter: (e) => handleButtonHover(e),
701
726
  onMouseLeave: (e) => handleButtonLeave(e),
702
- children: /* @__PURE__ */ jsx(FolderOpen, { size: 16 })
727
+ children: [
728
+ /* @__PURE__ */ jsx(FolderOpen, { size: 14 }),
729
+ /* @__PURE__ */ jsx("span", { children: "Open" })
730
+ ]
703
731
  }
704
732
  ),
705
- onRemoveFromWorkspace && /* @__PURE__ */ jsx(
733
+ onRemoveFromWorkspace && /* @__PURE__ */ jsxs(
706
734
  "button",
707
735
  {
708
736
  type: "button",
@@ -712,13 +740,16 @@ const LocalProjectCard = ({
712
740
  style: actionButtonStyle,
713
741
  onMouseEnter: (e) => handleButtonHover(e, true),
714
742
  onMouseLeave: (e) => handleButtonLeave(e),
715
- children: isRemoving ? /* @__PURE__ */ jsx(LoaderCircle, { size: 16, className: "animate-spin" }) : /* @__PURE__ */ jsx(X, { size: 16 })
743
+ children: [
744
+ isRemoving ? /* @__PURE__ */ jsx(LoaderCircle, { size: 14, className: "animate-spin" }) : /* @__PURE__ */ jsx(X, { size: 14 }),
745
+ /* @__PURE__ */ jsx("span", { children: "Remove" })
746
+ ]
716
747
  }
717
748
  )
718
749
  ] });
719
750
  }
720
751
  return /* @__PURE__ */ jsxs(Fragment, { children: [
721
- /* @__PURE__ */ jsx(
752
+ /* @__PURE__ */ jsxs(
722
753
  "button",
723
754
  {
724
755
  type: "button",
@@ -730,10 +761,13 @@ const LocalProjectCard = ({
730
761
  },
731
762
  onMouseEnter: (e) => handleButtonHover(e),
732
763
  onMouseLeave: (e) => handleButtonLeave(e, copiedPath ? theme.colors.success || "#10b981" : void 0),
733
- children: copiedPath ? /* @__PURE__ */ jsx(Check, { size: 16 }) : /* @__PURE__ */ jsx(Copy, { size: 16 })
764
+ children: [
765
+ copiedPath ? /* @__PURE__ */ jsx(Check, { size: 14 }) : /* @__PURE__ */ jsx(Copy, { size: 14 }),
766
+ /* @__PURE__ */ jsx("span", { children: copiedPath ? "Copied" : "Copy" })
767
+ ]
734
768
  }
735
769
  ),
736
- /* @__PURE__ */ jsx(
770
+ /* @__PURE__ */ jsxs(
737
771
  "button",
738
772
  {
739
773
  type: "button",
@@ -743,10 +777,13 @@ const LocalProjectCard = ({
743
777
  style: actionButtonStyle,
744
778
  onMouseEnter: (e) => handleButtonHover(e),
745
779
  onMouseLeave: (e) => handleButtonLeave(e),
746
- children: windowState === "ready" ? /* @__PURE__ */ jsx(Focus, { size: 16 }) : windowState === "opening" ? /* @__PURE__ */ jsx(LoaderCircle, { size: 16, className: "animate-spin" }) : /* @__PURE__ */ jsx(FolderOpen, { size: 16 })
780
+ children: [
781
+ windowState === "ready" ? /* @__PURE__ */ jsx(Focus, { size: 14 }) : windowState === "opening" ? /* @__PURE__ */ jsx(LoaderCircle, { size: 14, className: "animate-spin" }) : /* @__PURE__ */ jsx(FolderOpen, { size: 14 }),
782
+ /* @__PURE__ */ jsx("span", { children: windowState === "ready" ? "Focus" : "Open" })
783
+ ]
747
784
  }
748
785
  ),
749
- actionMode === "default" && onRemove && /* @__PURE__ */ jsx(
786
+ actionMode === "default" && onRemove && /* @__PURE__ */ jsxs(
750
787
  "button",
751
788
  {
752
789
  type: "button",
@@ -756,7 +793,10 @@ const LocalProjectCard = ({
756
793
  style: actionButtonStyle,
757
794
  onMouseEnter: (e) => handleButtonHover(e, true),
758
795
  onMouseLeave: (e) => handleButtonLeave(e),
759
- children: isLoading ? /* @__PURE__ */ jsx(LoaderCircle, { size: 16, className: "animate-spin" }) : /* @__PURE__ */ jsx(X, { size: 16 })
796
+ children: [
797
+ isLoading ? /* @__PURE__ */ jsx(LoaderCircle, { size: 14, className: "animate-spin" }) : /* @__PURE__ */ jsx(X, { size: 14 }),
798
+ /* @__PURE__ */ jsx("span", { children: "Remove" })
799
+ ]
760
800
  }
761
801
  )
762
802
  ] });
@@ -787,13 +827,13 @@ const LocalProjectCard = ({
787
827
  RepositoryAvatar,
788
828
  {
789
829
  customAvatarUrl: avatarUrl,
790
- size: 40,
830
+ size: 48,
791
831
  fallbackIcon: /* @__PURE__ */ jsx(
792
832
  "div",
793
833
  {
794
834
  style: {
795
835
  color: theme.colors.textSecondary,
796
- fontSize: `${theme.fontSizes[1]}px`,
836
+ fontSize: `${theme.fontSizes[2]}px`,
797
837
  fontWeight: theme.fontWeights.semibold
798
838
  },
799
839
  children: ((_b = entry.name[0]) == null ? void 0 : _b.toUpperCase()) || "?"
@@ -846,7 +886,8 @@ const LocalProjectCard = ({
846
886
  style: {
847
887
  display: "flex",
848
888
  alignItems: "center",
849
- minHeight: "20px"
889
+ minHeight: "24px",
890
+ position: "relative"
850
891
  },
851
892
  children: [
852
893
  /* @__PURE__ */ jsx(
@@ -860,25 +901,29 @@ const LocalProjectCard = ({
860
901
  whiteSpace: "nowrap",
861
902
  overflow: "hidden",
862
903
  textOverflow: "ellipsis",
863
- minWidth: 0
904
+ minWidth: 0,
905
+ opacity: isHovered ? 0 : 1,
906
+ transition: "opacity 0.15s ease"
864
907
  },
865
- title: ((_d = entry.github) == null ? void 0 : _d.description) || entry.path,
866
- children: ((_e = entry.github) == null ? void 0 : _e.description) || entry.path
908
+ title: ((_d = entry.github) == null ? void 0 : _d.description) || displayPath,
909
+ children: ((_e = entry.github) == null ? void 0 : _e.description) || displayPath
867
910
  }
868
911
  ),
869
912
  /* @__PURE__ */ jsx(
870
913
  "div",
871
914
  {
872
915
  style: {
916
+ position: "absolute",
917
+ left: 0,
918
+ right: 0,
919
+ top: 0,
920
+ bottom: 0,
873
921
  display: "flex",
874
922
  alignItems: "center",
875
923
  gap: "4px",
876
- maxWidth: isHovered ? "200px" : 0,
877
- marginLeft: isHovered ? "8px" : 0,
878
- overflow: "hidden",
879
924
  opacity: isHovered ? 1 : 0,
880
- flexShrink: 0,
881
- transition: "max-width 0.2s ease, opacity 0.15s ease, margin-left 0.2s ease"
925
+ pointerEvents: isHovered ? "auto" : "none",
926
+ transition: "opacity 0.15s ease"
882
927
  },
883
928
  children: renderActionButtons()
884
929
  }
@@ -1294,7 +1339,9 @@ const WorkspaceRepositoriesPanelContent = ({
1294
1339
  const panelActions = actions;
1295
1340
  const workspaceSlice = context.getSlice("workspace");
1296
1341
  const repositoriesSlice = context.getSlice("workspaceRepositories");
1342
+ const userHomePathSlice = context.getSlice("userHomePath");
1297
1343
  const workspace = (workspaceSlice == null ? void 0 : workspaceSlice.data) ?? null;
1344
+ const userHomePath = (userHomePathSlice == null ? void 0 : userHomePathSlice.data) ?? void 0;
1298
1345
  const isLoading = (workspaceSlice == null ? void 0 : workspaceSlice.loading) || (repositoriesSlice == null ? void 0 : repositoriesSlice.loading) || false;
1299
1346
  const sortedRepositories = useMemo(() => {
1300
1347
  const repos = (repositoriesSlice == null ? void 0 : repositoriesSlice.data) ?? [];
@@ -1673,6 +1720,7 @@ const WorkspaceRepositoriesPanelContent = ({
1673
1720
  actionMode: "workspace",
1674
1721
  isInWorkspaceDirectory: true,
1675
1722
  workspacePath: workspace.suggestedClonePath,
1723
+ userHomePath,
1676
1724
  onSelect: handleSelectRepository,
1677
1725
  onOpen: handleOpenRepository,
1678
1726
  onRemoveFromWorkspace: handleRemoveFromWorkspace,
@@ -1705,6 +1753,7 @@ const WorkspaceRepositoriesPanelContent = ({
1705
1753
  actionMode: "workspace",
1706
1754
  isInWorkspaceDirectory: false,
1707
1755
  workspacePath: workspace.suggestedClonePath,
1756
+ userHomePath,
1708
1757
  onSelect: handleSelectRepository,
1709
1758
  onOpen: handleOpenRepository,
1710
1759
  onRemoveFromWorkspace: handleRemoveFromWorkspace,
@@ -1821,14 +1870,17 @@ const WorkspaceCard = ({
1821
1870
  display: "flex",
1822
1871
  alignItems: "center",
1823
1872
  justifyContent: "center",
1824
- width: "24px",
1873
+ gap: "4px",
1874
+ flex: 1,
1825
1875
  height: "24px",
1826
- padding: 0,
1876
+ padding: "0 8px",
1827
1877
  border: "none",
1828
1878
  borderRadius: "4px",
1829
1879
  backgroundColor: "transparent",
1830
1880
  color: theme.colors.textSecondary,
1831
1881
  cursor: "pointer",
1882
+ fontSize: `${theme.fontSizes[1]}px`,
1883
+ fontFamily: theme.fonts.body,
1832
1884
  transition: "all 0.15s ease"
1833
1885
  };
1834
1886
  return /* @__PURE__ */ jsxs(
@@ -1847,15 +1899,14 @@ const WorkspaceCard = ({
1847
1899
  display: "flex",
1848
1900
  alignItems: "center",
1849
1901
  justifyContent: "center",
1850
- width: "40px",
1851
- height: "40px",
1902
+ width: "48px",
1903
+ height: "48px",
1852
1904
  borderRadius: "6px",
1853
1905
  backgroundColor: `color-mix(in srgb, ${iconColor} 12%, transparent)`,
1854
1906
  color: iconColor,
1855
- flexShrink: 0,
1856
- marginTop: "2px"
1907
+ flexShrink: 0
1857
1908
  },
1858
- children: workspace.icon ? /* @__PURE__ */ jsx("span", { style: { fontSize: `${theme.fontSizes[3]}px` }, children: workspace.icon }) : /* @__PURE__ */ jsx(DoorClosed, { size: 24 })
1909
+ children: workspace.icon ? /* @__PURE__ */ jsx("span", { style: { fontSize: `${theme.fontSizes[4]}px` }, children: workspace.icon }) : /* @__PURE__ */ jsx(DoorClosed, { size: 28 })
1859
1910
  }
1860
1911
  ),
1861
1912
  /* @__PURE__ */ jsxs(
@@ -1974,7 +2025,8 @@ const WorkspaceCard = ({
1974
2025
  style: {
1975
2026
  display: "flex",
1976
2027
  alignItems: "center",
1977
- minHeight: "20px"
2028
+ minHeight: "24px",
2029
+ position: "relative"
1978
2030
  },
1979
2031
  children: [
1980
2032
  /* @__PURE__ */ jsx(
@@ -1989,7 +2041,9 @@ const WorkspaceCard = ({
1989
2041
  whiteSpace: "nowrap",
1990
2042
  overflow: "hidden",
1991
2043
  textOverflow: "ellipsis",
1992
- minWidth: 0
2044
+ minWidth: 0,
2045
+ opacity: isHovered ? 0 : 1,
2046
+ transition: "opacity 0.15s ease"
1993
2047
  },
1994
2048
  title: workspace.description,
1995
2049
  children: workspace.description || " "
@@ -1999,18 +2053,20 @@ const WorkspaceCard = ({
1999
2053
  "div",
2000
2054
  {
2001
2055
  style: {
2056
+ position: "absolute",
2057
+ left: 0,
2058
+ right: 0,
2059
+ top: 0,
2060
+ bottom: 0,
2002
2061
  display: "flex",
2003
2062
  alignItems: "center",
2004
2063
  gap: "4px",
2005
- maxWidth: isHovered ? "200px" : 0,
2006
- marginLeft: isHovered ? "8px" : 0,
2007
- overflow: "hidden",
2008
2064
  opacity: isHovered ? 1 : 0,
2009
- flexShrink: 0,
2010
- transition: "max-width 0.2s ease, opacity 0.15s ease, margin-left 0.2s ease"
2065
+ pointerEvents: isHovered ? "auto" : "none",
2066
+ transition: "opacity 0.15s ease"
2011
2067
  },
2012
2068
  children: [
2013
- onOpen && /* @__PURE__ */ jsx(
2069
+ onOpen && /* @__PURE__ */ jsxs(
2014
2070
  "button",
2015
2071
  {
2016
2072
  onClick: handleOpenClick,
@@ -2024,10 +2080,13 @@ const WorkspaceCard = ({
2024
2080
  e.currentTarget.style.backgroundColor = "transparent";
2025
2081
  e.currentTarget.style.color = theme.colors.textSecondary;
2026
2082
  },
2027
- children: /* @__PURE__ */ jsx(ExternalLink, { size: 16 })
2083
+ children: [
2084
+ /* @__PURE__ */ jsx(ExternalLink, { size: 14 }),
2085
+ /* @__PURE__ */ jsx("span", { children: "Open" })
2086
+ ]
2028
2087
  }
2029
2088
  ),
2030
- onUpdateName && /* @__PURE__ */ jsx(
2089
+ onUpdateName && /* @__PURE__ */ jsxs(
2031
2090
  "button",
2032
2091
  {
2033
2092
  onClick: handleStartEdit,
@@ -2041,10 +2100,13 @@ const WorkspaceCard = ({
2041
2100
  e.currentTarget.style.backgroundColor = "transparent";
2042
2101
  e.currentTarget.style.color = theme.colors.textSecondary;
2043
2102
  },
2044
- children: /* @__PURE__ */ jsx(Pen, { size: 16 })
2103
+ children: [
2104
+ /* @__PURE__ */ jsx(Pen, { size: 14 }),
2105
+ /* @__PURE__ */ jsx("span", { children: "Edit" })
2106
+ ]
2045
2107
  }
2046
2108
  ),
2047
- onDelete && /* @__PURE__ */ jsx(
2109
+ onDelete && /* @__PURE__ */ jsxs(
2048
2110
  "button",
2049
2111
  {
2050
2112
  onClick: handleDeleteClick,
@@ -2058,7 +2120,10 @@ const WorkspaceCard = ({
2058
2120
  e.currentTarget.style.backgroundColor = "transparent";
2059
2121
  e.currentTarget.style.color = theme.colors.textSecondary;
2060
2122
  },
2061
- children: /* @__PURE__ */ jsx(Trash2, { size: 16 })
2123
+ children: [
2124
+ /* @__PURE__ */ jsx(Trash2, { size: 14 }),
2125
+ /* @__PURE__ */ jsx("span", { children: "Delete" })
2126
+ ]
2062
2127
  }
2063
2128
  )
2064
2129
  ]