@industry-theme/alexandria-panels 0.1.35 → 0.1.37

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,CAgR5D,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,CA6Q5D,CAAC"}
@@ -5,6 +5,8 @@ import type { PanelComponentProps } from '../../types';
5
5
  export interface LocalProjectsPanelProps extends PanelComponentProps {
6
6
  /** Whether to show the search bar by default */
7
7
  defaultShowSearch?: boolean;
8
+ /** Whether to disable the copy paths functionality in list items */
9
+ disableCopyPaths?: boolean;
8
10
  }
9
11
  /**
10
12
  * LocalProjectsPanel - Browse and manage local Alexandria repositories
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/panels/LocalProjectsPanel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAGzE,OAAO,0BAA0B,CAAC;AAClC,OAAO,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAoBvD,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAowBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAEhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EA6C7C,CAAC;AAGF,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/panels/LocalProjectsPanel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAGzE,OAAO,0BAA0B,CAAC;AAClC,OAAO,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAoBvD,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAg0BD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAEhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EA6C7C,CAAC;AAGF,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -123,6 +123,8 @@ export interface LocalProjectCardProps {
123
123
  workspacePath?: string;
124
124
  /** User home path to strip from displayed path (replaced with ~) */
125
125
  userHomePath?: string;
126
+ /** Whether to disable the copy paths functionality */
127
+ disableCopyPaths?: boolean;
126
128
  }
127
129
  /**
128
130
  * 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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"}
@@ -708,7 +708,8 @@ const LocalProjectCard = ({
708
708
  compact: _compact = false,
709
709
  isInWorkspaceDirectory,
710
710
  workspacePath,
711
- userHomePath
711
+ userHomePath,
712
+ disableCopyPaths = true
712
713
  }) => {
713
714
  var _a, _b, _c, _d;
714
715
  const { theme } = useTheme();
@@ -747,11 +748,11 @@ const LocalProjectCard = ({
747
748
  const cardStyle = {
748
749
  display: "flex",
749
750
  flexDirection: "row",
750
- gap: "12px",
751
- padding: "12px",
752
- borderRadius: "6px",
751
+ gap: "8px",
752
+ padding: "16px",
753
+ borderRadius: "0",
753
754
  backgroundColor: isSelected ? theme.colors.backgroundTertiary : isHovered ? theme.colors.backgroundTertiary : "transparent",
754
- border: `1px solid ${isSelected ? theme.colors.primary || theme.colors.border : isHovered ? theme.colors.border : "transparent"}`,
755
+ border: `1px solid ${isSelected ? theme.colors.primary || theme.colors.border : "transparent"}`,
755
756
  cursor: "pointer",
756
757
  transition: "all 0.15s ease",
757
758
  fontFamily: theme.fonts.body
@@ -855,16 +856,14 @@ const LocalProjectCard = ({
855
856
  /* @__PURE__ */ jsxs(
856
857
  "div",
857
858
  {
858
- onClick: handleCopyPath,
859
+ onClick: disableCopyPaths ? void 0 : handleCopyPath,
859
860
  style: {
860
861
  display: "flex",
861
862
  alignItems: "center",
862
863
  gap: "6px",
863
- minHeight: "24px",
864
- cursor: "pointer",
865
- padding: "2px 0"
864
+ cursor: disableCopyPaths ? "default" : "pointer"
866
865
  },
867
- title: copiedPath ? "Copied!" : `Click to copy: ${entry.path}`,
866
+ title: disableCopyPaths ? displayPath : copiedPath ? "Copied!" : `Click to copy: ${entry.path}`,
868
867
  children: [
869
868
  /* @__PURE__ */ jsx(
870
869
  "span",
@@ -883,7 +882,7 @@ const LocalProjectCard = ({
883
882
  children: copiedPath ? "✓ Copied!" : displayPath
884
883
  }
885
884
  ),
886
- !copiedPath && /* @__PURE__ */ jsx(
885
+ !disableCopyPaths && !copiedPath && /* @__PURE__ */ jsx(
887
886
  Copy,
888
887
  {
889
888
  size: 12,
@@ -895,7 +894,7 @@ const LocalProjectCard = ({
895
894
  }
896
895
  }
897
896
  ),
898
- copiedPath && /* @__PURE__ */ jsx(
897
+ !disableCopyPaths && copiedPath && /* @__PURE__ */ jsx(
899
898
  Check,
900
899
  {
901
900
  size: 12,
@@ -926,7 +925,8 @@ const LocalProjectsPanelContent = ({
926
925
  context,
927
926
  actions,
928
927
  events,
929
- defaultShowSearch = false
928
+ defaultShowSearch = false,
929
+ disableCopyPaths = true
930
930
  }) => {
931
931
  var _a, _b;
932
932
  const { theme } = useTheme();
@@ -934,6 +934,7 @@ const LocalProjectsPanelContent = ({
934
934
  const [showSearch, setShowSearch] = useState(defaultShowSearch);
935
935
  const [isAdding, setIsAdding] = useState(false);
936
936
  const [isScanning, setIsScanning] = useState(false);
937
+ const [scanStatus, setScanStatus] = useState("");
937
938
  const [selectedEntry, setSelectedEntry] = useState(null);
938
939
  const [windowStates, setWindowStates] = useState(/* @__PURE__ */ new Map());
939
940
  const [sortByOrg, setSortByOrg] = useState(false);
@@ -1086,13 +1087,24 @@ const LocalProjectsPanelContent = ({
1086
1087
  };
1087
1088
  const handleScanForRepos = async () => {
1088
1089
  setIsScanning(true);
1090
+ setScanStatus("Scanning for repositories...");
1091
+ const startTime = Date.now();
1092
+ const minDuration = 800;
1089
1093
  try {
1090
1094
  await context.refresh("repository", "alexandriaRepositories");
1095
+ const elapsed = Date.now() - startTime;
1096
+ const remaining = Math.max(0, minDuration - elapsed);
1097
+ const count = discoveredRepositories.length;
1098
+ setScanStatus(count > 0 ? `Found ${count} ${count === 1 ? "repository" : "repositories"}` : "Scan complete");
1091
1099
  events.emit(createPanelEvent$7(`${PANEL_ID$f}:scan-completed`, {
1092
- discoveredCount: discoveredRepositories.length
1100
+ discoveredCount: count
1093
1101
  }));
1102
+ await new Promise((resolve) => setTimeout(resolve, remaining));
1103
+ setTimeout(() => setScanStatus(""), 1500);
1094
1104
  } catch (error) {
1095
1105
  console.error("Failed to scan for repositories:", error);
1106
+ setScanStatus("Scan failed");
1107
+ setTimeout(() => setScanStatus(""), 2e3);
1096
1108
  } finally {
1097
1109
  setIsScanning(false);
1098
1110
  }
@@ -1195,11 +1207,12 @@ const LocalProjectsPanelContent = ({
1195
1207
  position: "relative",
1196
1208
  height: "40px",
1197
1209
  minHeight: "40px",
1198
- padding: defaultShowSearch && showSearch ? "0 16px 0 8px" : "0 16px",
1210
+ padding: "0",
1199
1211
  borderBottom: `1px solid ${theme.colors.border}`,
1200
1212
  display: "flex",
1201
1213
  alignItems: "center",
1202
- boxSizing: "border-box"
1214
+ boxSizing: "border-box",
1215
+ backgroundColor: theme.colors.background
1203
1216
  },
1204
1217
  children: defaultShowSearch && showSearch ? /* @__PURE__ */ jsxs(
1205
1218
  "div",
@@ -1207,7 +1220,7 @@ const LocalProjectsPanelContent = ({
1207
1220
  style: {
1208
1221
  display: "flex",
1209
1222
  alignItems: "center",
1210
- gap: "8px",
1223
+ gap: "0",
1211
1224
  width: "100%"
1212
1225
  },
1213
1226
  children: [
@@ -1235,12 +1248,13 @@ const LocalProjectsPanelContent = ({
1235
1248
  autoFocus: true,
1236
1249
  style: {
1237
1250
  width: "100%",
1238
- padding: "6px 32px 6px 32px",
1251
+ padding: "0 32px",
1252
+ height: "40px",
1239
1253
  fontSize: `${theme.fontSizes[1]}px`,
1240
1254
  color: theme.colors.text,
1241
1255
  backgroundColor: theme.colors.background,
1242
- border: `1px solid ${theme.colors.border}`,
1243
- borderRadius: "4px",
1256
+ border: "none",
1257
+ borderRadius: "0",
1244
1258
  outline: "none",
1245
1259
  fontFamily: theme.fonts.body,
1246
1260
  transition: "border-color 0.2s ease",
@@ -1270,17 +1284,31 @@ const LocalProjectsPanelContent = ({
1270
1284
  }
1271
1285
  )
1272
1286
  ] }),
1273
- /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
1287
+ scanStatus && /* @__PURE__ */ jsx(
1288
+ "div",
1289
+ {
1290
+ style: {
1291
+ padding: "0 12px",
1292
+ fontSize: `${theme.fontSizes[1]}px`,
1293
+ color: theme.colors.textSecondary,
1294
+ fontFamily: theme.fonts.body,
1295
+ whiteSpace: "nowrap",
1296
+ fontStyle: "italic"
1297
+ },
1298
+ children: scanStatus
1299
+ }
1300
+ ),
1301
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "0" }, children: [
1274
1302
  /* @__PURE__ */ jsx(
1275
1303
  "button",
1276
1304
  {
1277
1305
  onClick: () => setSortByOrg(!sortByOrg),
1278
1306
  title: sortByOrg ? "Sort by: Last opened, then organization" : "Sort by: Last opened, then name",
1279
1307
  style: {
1280
- padding: "4px 8px",
1281
- height: "30px",
1282
- borderRadius: "4px",
1283
- border: `1px solid ${theme.colors.border}`,
1308
+ padding: "0 12px",
1309
+ height: "40px",
1310
+ borderRadius: "0",
1311
+ border: "none",
1284
1312
  backgroundColor: theme.colors.backgroundSecondary,
1285
1313
  color: sortByOrg ? theme.colors.primary : theme.colors.textSecondary,
1286
1314
  cursor: "pointer",
@@ -1300,10 +1328,10 @@ const LocalProjectsPanelContent = ({
1300
1328
  disabled: isScanning,
1301
1329
  title: "Scan for repositories",
1302
1330
  style: {
1303
- padding: "4px 8px",
1304
- height: "30px",
1305
- borderRadius: "4px",
1306
- border: `1px solid ${theme.colors.border}`,
1331
+ padding: "0 12px",
1332
+ height: "40px",
1333
+ borderRadius: "0",
1334
+ border: "none",
1307
1335
  backgroundColor: theme.colors.backgroundSecondary,
1308
1336
  color: theme.colors.textSecondary,
1309
1337
  cursor: isScanning ? "default" : "pointer",
@@ -1332,9 +1360,9 @@ const LocalProjectsPanelContent = ({
1332
1360
  disabled: isAdding,
1333
1361
  title: "Add existing project",
1334
1362
  style: {
1335
- padding: "4px 8px",
1336
- height: "30px",
1337
- borderRadius: "4px",
1363
+ padding: "0 12px",
1364
+ height: "40px",
1365
+ borderRadius: "0",
1338
1366
  border: "none",
1339
1367
  backgroundColor: theme.colors.primary,
1340
1368
  color: theme.colors.background,
@@ -1364,7 +1392,7 @@ const LocalProjectsPanelContent = ({
1364
1392
  visibility: showSearch ? "hidden" : "visible"
1365
1393
  },
1366
1394
  children: [
1367
- /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
1395
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "0" }, children: [
1368
1396
  /* @__PURE__ */ jsx(FolderGit2, { size: 18, style: { color: theme.colors.success || "#10b981" } }),
1369
1397
  /* @__PURE__ */ jsx(
1370
1398
  "span",
@@ -1390,9 +1418,22 @@ const LocalProjectsPanelContent = ({
1390
1418
  },
1391
1419
  children: allRepositories.length
1392
1420
  }
1421
+ ),
1422
+ scanStatus && /* @__PURE__ */ jsx(
1423
+ "span",
1424
+ {
1425
+ style: {
1426
+ fontSize: `${theme.fontSizes[1]}px`,
1427
+ color: theme.colors.textSecondary,
1428
+ paddingLeft: "12px",
1429
+ fontFamily: theme.fonts.body,
1430
+ fontStyle: "italic"
1431
+ },
1432
+ children: scanStatus
1433
+ }
1393
1434
  )
1394
1435
  ] }),
1395
- /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
1436
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "0" }, children: [
1396
1437
  /* @__PURE__ */ jsx(
1397
1438
  "button",
1398
1439
  {
@@ -1400,10 +1441,11 @@ const LocalProjectsPanelContent = ({
1400
1441
  onClick: handleToggleSearch,
1401
1442
  style: {
1402
1443
  background: showSearch ? theme.colors.backgroundSecondary : "none",
1403
- border: `1px solid ${showSearch ? theme.colors.border : "transparent"}`,
1404
- borderRadius: "4px",
1444
+ border: "none",
1445
+ borderRadius: "0",
1405
1446
  cursor: "pointer",
1406
- padding: "4px",
1447
+ padding: "0 12px",
1448
+ height: "40px",
1407
1449
  display: "flex",
1408
1450
  alignItems: "center",
1409
1451
  justifyContent: "center",
@@ -1420,10 +1462,10 @@ const LocalProjectsPanelContent = ({
1420
1462
  onClick: () => setSortByOrg(!sortByOrg),
1421
1463
  title: sortByOrg ? "Sort by: Last opened, then organization" : "Sort by: Last opened, then name",
1422
1464
  style: {
1423
- padding: "4px 8px",
1424
- height: "30px",
1425
- borderRadius: "4px",
1426
- border: `1px solid ${theme.colors.border}`,
1465
+ padding: "0 12px",
1466
+ height: "40px",
1467
+ borderRadius: "0",
1468
+ border: "none",
1427
1469
  backgroundColor: theme.colors.backgroundSecondary,
1428
1470
  color: sortByOrg ? theme.colors.primary : theme.colors.textSecondary,
1429
1471
  cursor: "pointer",
@@ -1443,10 +1485,10 @@ const LocalProjectsPanelContent = ({
1443
1485
  disabled: isScanning,
1444
1486
  title: "Scan for repositories",
1445
1487
  style: {
1446
- padding: "4px 8px",
1447
- height: "30px",
1448
- borderRadius: "4px",
1449
- border: `1px solid ${theme.colors.border}`,
1488
+ padding: "0 12px",
1489
+ height: "40px",
1490
+ borderRadius: "0",
1491
+ border: "none",
1450
1492
  backgroundColor: theme.colors.backgroundSecondary,
1451
1493
  color: theme.colors.textSecondary,
1452
1494
  cursor: isScanning ? "default" : "pointer",
@@ -1475,9 +1517,9 @@ const LocalProjectsPanelContent = ({
1475
1517
  disabled: isAdding,
1476
1518
  title: "Add existing project",
1477
1519
  style: {
1478
- padding: "4px 8px",
1479
- height: "30px",
1480
- borderRadius: "4px",
1520
+ padding: "0 12px",
1521
+ height: "40px",
1522
+ borderRadius: "0",
1481
1523
  border: "none",
1482
1524
  backgroundColor: theme.colors.primary,
1483
1525
  color: theme.colors.background,
@@ -1508,7 +1550,7 @@ const LocalProjectsPanelContent = ({
1508
1550
  bottom: 0,
1509
1551
  display: "flex",
1510
1552
  alignItems: "center",
1511
- padding: "0 16px",
1553
+ padding: "0",
1512
1554
  backgroundColor: theme.colors.backgroundSecondary,
1513
1555
  zIndex: 10
1514
1556
  },
@@ -1537,12 +1579,13 @@ const LocalProjectsPanelContent = ({
1537
1579
  autoFocus: true,
1538
1580
  style: {
1539
1581
  width: "100%",
1540
- padding: "6px 32px 6px 32px",
1582
+ padding: "0 32px",
1583
+ height: "40px",
1541
1584
  fontSize: `${theme.fontSizes[1]}px`,
1542
1585
  color: theme.colors.text,
1543
1586
  backgroundColor: theme.colors.background,
1544
- border: `1px solid ${theme.colors.border}`,
1545
- borderRadius: "4px",
1587
+ border: "none",
1588
+ borderRadius: "0",
1546
1589
  outline: "none",
1547
1590
  fontFamily: theme.fonts.body,
1548
1591
  transition: "border-color 0.2s ease",
@@ -1580,8 +1623,9 @@ const LocalProjectsPanelContent = ({
1580
1623
  background: "none",
1581
1624
  border: "none",
1582
1625
  cursor: "pointer",
1583
- padding: "4px",
1584
- marginLeft: "8px",
1626
+ padding: "0 12px",
1627
+ height: "40px",
1628
+ marginLeft: "0",
1585
1629
  display: "flex",
1586
1630
  alignItems: "center",
1587
1631
  justifyContent: "center",
@@ -1606,8 +1650,8 @@ const LocalProjectsPanelContent = ({
1606
1650
  overflowY: "auto",
1607
1651
  display: "flex",
1608
1652
  flexDirection: "column",
1609
- gap: "4px",
1610
- padding: "8px"
1653
+ gap: "0",
1654
+ padding: "0"
1611
1655
  },
1612
1656
  children: [
1613
1657
  filteredAndSortedRepositories.map((entry) => /* @__PURE__ */ jsx(
@@ -1620,7 +1664,8 @@ const LocalProjectsPanelContent = ({
1620
1664
  onOpen: handleOpenRepository,
1621
1665
  onRemove: entry.isDiscovered ? void 0 : handleRemoveRepository,
1622
1666
  onTrack: entry.isDiscovered ? handleTrackRepository : void 0,
1623
- windowState: windowStates.get(entry.path) || "closed"
1667
+ windowState: windowStates.get(entry.path) || "closed",
1668
+ disableCopyPaths
1624
1669
  },
1625
1670
  entry.path
1626
1671
  )),