@industry-theme/repository-composition-panels 0.7.2 → 0.7.4

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.
Files changed (31) hide show
  1. package/dist/{BufferResource-B9csq5DK.js → BufferResource-BySfSNUb.js} +2 -2
  2. package/dist/{BufferResource-B9csq5DK.js.map → BufferResource-BySfSNUb.js.map} +1 -1
  3. package/dist/{CanvasRenderer-C5QyB3e0.js → CanvasRenderer-DHF2Dl6A.js} +3 -3
  4. package/dist/{CanvasRenderer-C5QyB3e0.js.map → CanvasRenderer-DHF2Dl6A.js.map} +1 -1
  5. package/dist/{Filter-Lk3ql6ZX.js → Filter-BcZawFFP.js} +2 -2
  6. package/dist/{Filter-Lk3ql6ZX.js.map → Filter-BcZawFFP.js.map} +1 -1
  7. package/dist/{RenderTargetSystem-Cb8ZG8ly.js → RenderTargetSystem-CcUjlcEn.js} +3 -3
  8. package/dist/{RenderTargetSystem-Cb8ZG8ly.js.map → RenderTargetSystem-CcUjlcEn.js.map} +1 -1
  9. package/dist/{WebGLRenderer-CgS0GbWi.js → WebGLRenderer-B9IXLBU3.js} +4 -4
  10. package/dist/{WebGLRenderer-CgS0GbWi.js.map → WebGLRenderer-B9IXLBU3.js.map} +1 -1
  11. package/dist/{WebGPURenderer-C6CWv4Em.js → WebGPURenderer-CKeryiWg.js} +4 -4
  12. package/dist/{WebGPURenderer-C6CWv4Em.js.map → WebGPURenderer-CKeryiWg.js.map} +1 -1
  13. package/dist/{browserAll-B0phuaL8.js → browserAll-Dvjnb3Ss.js} +3 -3
  14. package/dist/{browserAll-B0phuaL8.js.map → browserAll-Dvjnb3Ss.js.map} +1 -1
  15. package/dist/{index-C2t7iewg.js → index-BL0L_jZJ.js} +220 -23
  16. package/dist/{index-C2t7iewg.js.map → index-BL0L_jZJ.js.map} +1 -1
  17. package/dist/{init-BxWoDtVc.js → init-NfYaoDuU.js} +3 -3
  18. package/dist/{init-BxWoDtVc.js.map → init-NfYaoDuU.js.map} +1 -1
  19. package/dist/panels/CollectionMapPanel.d.ts +4 -0
  20. package/dist/panels/CollectionMapPanel.d.ts.map +1 -1
  21. package/dist/panels/PackageCompositionPanel.d.ts.map +1 -1
  22. package/dist/panels/components/PackageLoadingGraph.d.ts +3 -0
  23. package/dist/panels/components/PackageLoadingGraph.d.ts.map +1 -0
  24. package/dist/panels/components/index.d.ts +1 -0
  25. package/dist/panels/components/index.d.ts.map +1 -1
  26. package/dist/panels.bundle.js +1 -1
  27. package/dist/webworkerAll-q1iOXUTF.js +3 -0
  28. package/dist/webworkerAll-q1iOXUTF.js.map +1 -0
  29. package/package.json +1 -1
  30. package/dist/webworkerAll-Bv5OfnQp.js +0 -3
  31. package/dist/webworkerAll-Bv5OfnQp.js.map +0 -1
@@ -1272,7 +1272,7 @@ const RustIcon = ({ size }) => /* @__PURE__ */ jsxs(
1272
1272
  width: size,
1273
1273
  height: size,
1274
1274
  viewBox: "0 0 24 24",
1275
- fill: "#000000",
1275
+ fill: "#DEA584",
1276
1276
  role: "img",
1277
1277
  xmlns: "http://www.w3.org/2000/svg",
1278
1278
  children: [
@@ -1567,6 +1567,211 @@ const InfoItem = ({ badge, title, description, theme: theme2 }) => /* @__PURE__
1567
1567
  ]
1568
1568
  }
1569
1569
  );
1570
+ const PM_COLORS = {
1571
+ npm: "#CB3837",
1572
+ yarn: "#2C8EBB",
1573
+ pnpm: "#F69220",
1574
+ bun: "#FBF0DF",
1575
+ pip: "#3776AB",
1576
+ poetry: "#60A5FA",
1577
+ cargo: "#DEA584"
1578
+ };
1579
+ const PackageLoadingGraph = () => {
1580
+ const { theme: theme2 } = useTheme();
1581
+ const dropDuration = 1;
1582
+ const staggerDelay = 0.7;
1583
+ const pauseDuration = 4;
1584
+ const fadeDuration = 0.4;
1585
+ const boxes = [
1586
+ // Bottom row - drops first, left to right (no bounce)
1587
+ { id: "pkg-1", x: 20, finalY: 78, delay: 0, size: "md", bounce: [0, 0, 0], pm: "npm" },
1588
+ { id: "pkg-2", x: 40, finalY: 78, delay: staggerDelay * 1, size: "md", bounce: [0, 0, 0], pm: "yarn" },
1589
+ { id: "pkg-3", x: 60, finalY: 78, delay: staggerDelay * 2, size: "md", bounce: [0, 0, 0], pm: "pnpm" },
1590
+ { id: "pkg-4", x: 80, finalY: 78, delay: staggerDelay * 3, size: "md", bounce: [0, 0, 0], pm: "cargo" },
1591
+ // Middle row - stacks on top (bounces)
1592
+ { id: "pkg-5", x: 35, finalY: 50, delay: staggerDelay * 4, size: "md", bounce: [9, 4, 0], pm: "pip" },
1593
+ { id: "pkg-6", x: 65, finalY: 50, delay: staggerDelay * 5, size: "md", bounce: [11, 5, 0], pm: "poetry" },
1594
+ // Top - crown of the pyramid (bounces + wobbles!)
1595
+ { id: "pkg-7", x: 50, finalY: 22, delay: staggerDelay * 6, size: "lg", bounce: [15, 7, 6], pm: "bun" }
1596
+ ];
1597
+ const bounceDuration = 0.6;
1598
+ const lastDropEnd = boxes[boxes.length - 1].delay + dropDuration + bounceDuration;
1599
+ const totalCycleDuration = lastDropEnd + pauseDuration + fadeDuration;
1600
+ const sizeMap = {
1601
+ sm: { width: 42, height: 38, iconSize: 18 },
1602
+ md: { width: 54, height: 48, iconSize: 24 },
1603
+ lg: { width: 68, height: 60, iconSize: 30 }
1604
+ };
1605
+ return /* @__PURE__ */ jsxs(
1606
+ "div",
1607
+ {
1608
+ style: {
1609
+ height: "100%",
1610
+ display: "flex",
1611
+ flexDirection: "column",
1612
+ alignItems: "center",
1613
+ justifyContent: "center",
1614
+ color: theme2.colors.textSecondary,
1615
+ padding: theme2.space[5]
1616
+ },
1617
+ children: [
1618
+ /* @__PURE__ */ jsx("style", { children: `
1619
+ ${boxes.map((box, index2) => {
1620
+ const [bounce1, bounce2, wobble] = box.bounce;
1621
+ const dropStart = box.delay / totalCycleDuration * 100;
1622
+ const landPoint = (box.delay + dropDuration * 0.6) / totalCycleDuration * 100;
1623
+ const bounce1Up = (box.delay + dropDuration * 0.7) / totalCycleDuration * 100;
1624
+ const bounce1Down = (box.delay + dropDuration * 0.8) / totalCycleDuration * 100;
1625
+ const bounce2Up = (box.delay + dropDuration * 0.9) / totalCycleDuration * 100;
1626
+ const settlePoint = (box.delay + dropDuration + bounceDuration) / totalCycleDuration * 100;
1627
+ const fadeStart = (lastDropEnd + pauseDuration) / totalCycleDuration * 100;
1628
+ return `
1629
+ @keyframes boxDrop-${index2} {
1630
+ 0% {
1631
+ opacity: 0;
1632
+ transform: translate(-50%, -50%) translateY(-120px) rotate(-5deg);
1633
+ }
1634
+ ${dropStart}% {
1635
+ opacity: 0;
1636
+ transform: translate(-50%, -50%) translateY(-120px) rotate(-5deg);
1637
+ }
1638
+ ${landPoint}% {
1639
+ opacity: 1;
1640
+ transform: translate(-50%, -50%) translateY(4px) rotate(${wobble}deg);
1641
+ }
1642
+ ${bounce1Up}% {
1643
+ opacity: 1;
1644
+ transform: translate(-50%, -50%) translateY(-${bounce1}px) rotate(${-wobble * 0.5}deg);
1645
+ }
1646
+ ${bounce1Down}% {
1647
+ opacity: 1;
1648
+ transform: translate(-50%, -50%) translateY(2px) rotate(${wobble * 0.3}deg);
1649
+ }
1650
+ ${bounce2Up}% {
1651
+ opacity: 1;
1652
+ transform: translate(-50%, -50%) translateY(-${bounce2}px) rotate(${-wobble * 0.2}deg);
1653
+ }
1654
+ ${settlePoint}% {
1655
+ opacity: 1;
1656
+ transform: translate(-50%, -50%) translateY(0) rotate(0deg);
1657
+ }
1658
+ ${fadeStart}% {
1659
+ opacity: 1;
1660
+ transform: translate(-50%, -50%) translateY(0) rotate(0deg);
1661
+ }
1662
+ 100% {
1663
+ opacity: 0;
1664
+ transform: translate(-50%, -50%) translateY(20px) rotate(0deg);
1665
+ }
1666
+ }
1667
+ `;
1668
+ }).join("")}
1669
+
1670
+ @keyframes shadowPulse {
1671
+ 0%, 100% {
1672
+ opacity: 0.1;
1673
+ transform: translateX(-50%) scaleX(0.5);
1674
+ }
1675
+ 50% {
1676
+ opacity: 0.2;
1677
+ transform: translateX(-50%) scaleX(1);
1678
+ }
1679
+ }
1680
+ ` }),
1681
+ /* @__PURE__ */ jsxs(
1682
+ "div",
1683
+ {
1684
+ style: {
1685
+ position: "relative",
1686
+ width: "100%",
1687
+ maxWidth: "400px",
1688
+ height: "220px",
1689
+ marginBottom: theme2.space[4]
1690
+ },
1691
+ children: [
1692
+ boxes.map((box) => {
1693
+ const { width } = sizeMap[box.size];
1694
+ const color2 = PM_COLORS[box.pm];
1695
+ return /* @__PURE__ */ jsx(
1696
+ "div",
1697
+ {
1698
+ style: {
1699
+ position: "absolute",
1700
+ left: `${box.x}%`,
1701
+ top: `${box.finalY + 12}%`,
1702
+ width: width * 0.8,
1703
+ height: 6,
1704
+ borderRadius: "50%",
1705
+ backgroundColor: color2,
1706
+ opacity: 0.2,
1707
+ transform: "translateX(-50%)",
1708
+ animation: `shadowPulse ${totalCycleDuration}s ease-in-out infinite`,
1709
+ animationDelay: `${box.delay}s`
1710
+ }
1711
+ },
1712
+ `shadow-${box.id}`
1713
+ );
1714
+ }),
1715
+ boxes.map((box, index2) => {
1716
+ const { width, height, iconSize } = sizeMap[box.size];
1717
+ const color2 = PM_COLORS[box.pm];
1718
+ return /* @__PURE__ */ jsx(
1719
+ "div",
1720
+ {
1721
+ style: {
1722
+ position: "absolute",
1723
+ left: `${box.x}%`,
1724
+ top: `${box.finalY}%`,
1725
+ width,
1726
+ height,
1727
+ borderRadius: theme2.radii[2],
1728
+ backgroundColor: theme2.colors.backgroundSecondary,
1729
+ border: `2px solid ${color2}`,
1730
+ display: "flex",
1731
+ alignItems: "center",
1732
+ justifyContent: "center",
1733
+ opacity: 0,
1734
+ boxShadow: `0 4px 12px ${color2}40`,
1735
+ animation: `boxDrop-${index2} ${totalCycleDuration}s ease-out infinite`
1736
+ },
1737
+ children: /* @__PURE__ */ jsx(PackageManagerIcon, { packageManager: box.pm, size: iconSize })
1738
+ },
1739
+ box.id
1740
+ );
1741
+ })
1742
+ ]
1743
+ }
1744
+ ),
1745
+ /* @__PURE__ */ jsx(
1746
+ "div",
1747
+ {
1748
+ style: {
1749
+ fontSize: theme2.fontSizes[2],
1750
+ fontFamily: theme2.fonts.body,
1751
+ fontWeight: theme2.fontWeights.medium,
1752
+ color: theme2.colors.text,
1753
+ textAlign: "center",
1754
+ marginBottom: theme2.space[2]
1755
+ },
1756
+ children: "Loading packages..."
1757
+ }
1758
+ ),
1759
+ /* @__PURE__ */ jsx(
1760
+ "div",
1761
+ {
1762
+ style: {
1763
+ fontSize: theme2.fontSizes[1],
1764
+ fontFamily: theme2.fonts.body,
1765
+ color: theme2.colors.textSecondary,
1766
+ textAlign: "center"
1767
+ },
1768
+ children: "Discovering dependencies and configurations"
1769
+ }
1770
+ )
1771
+ ]
1772
+ }
1773
+ );
1774
+ };
1570
1775
  const typeLabels = {
1571
1776
  production: "prod",
1572
1777
  development: "dev",
@@ -4412,18 +4617,7 @@ const PackageCompositionPanelContent = ({
4412
4617
  return packages.find((p2) => p2.id === selectedPackageId) || null;
4413
4618
  }, [selectedPackageId, packages]);
4414
4619
  if (isLoading) {
4415
- return /* @__PURE__ */ jsx(
4416
- "div",
4417
- {
4418
- style: {
4419
- padding: "20px",
4420
- textAlign: "center",
4421
- color: theme2.colors.textSecondary,
4422
- fontFamily: theme2.fonts.body
4423
- },
4424
- children: "Loading packages..."
4425
- }
4426
- );
4620
+ return /* @__PURE__ */ jsx(PackageLoadingGraph, {});
4427
4621
  }
4428
4622
  if (packages.length === 0) {
4429
4623
  return /* @__PURE__ */ jsx(EmptyDependencies, {});
@@ -105994,7 +106188,7 @@ const browserExt = {
105994
106188
  },
105995
106189
  test: () => true,
105996
106190
  load: async () => {
105997
- await import("./browserAll-B0phuaL8.js");
106191
+ await import("./browserAll-Dvjnb3Ss.js");
105998
106192
  }
105999
106193
  };
106000
106194
  const webworkerExt = {
@@ -106005,7 +106199,7 @@ const webworkerExt = {
106005
106199
  },
106006
106200
  test: () => typeof self !== "undefined" && self.WorkerGlobalScope !== void 0,
106007
106201
  load: async () => {
106008
- await import("./webworkerAll-Bv5OfnQp.js");
106202
+ await import("./webworkerAll-q1iOXUTF.js");
106009
106203
  }
106010
106204
  };
106011
106205
  class ObservablePoint {
@@ -118248,19 +118442,19 @@ async function autoDetectRenderer(options) {
118248
118442
  for (let i2 = 0; i2 < preferredOrder.length; i2++) {
118249
118443
  const rendererType = preferredOrder[i2];
118250
118444
  if (rendererType === "webgpu" && await isWebGPUSupported()) {
118251
- const { WebGPURenderer } = await import("./WebGPURenderer-C6CWv4Em.js");
118445
+ const { WebGPURenderer } = await import("./WebGPURenderer-CKeryiWg.js");
118252
118446
  RendererClass = WebGPURenderer;
118253
118447
  finalOptions = { ...options, ...options.webgpu };
118254
118448
  break;
118255
118449
  } else if (rendererType === "webgl" && isWebGLSupported(
118256
118450
  options.failIfMajorPerformanceCaveat ?? AbstractRenderer.defaultOptions.failIfMajorPerformanceCaveat
118257
118451
  )) {
118258
- const { WebGLRenderer } = await import("./WebGLRenderer-CgS0GbWi.js");
118452
+ const { WebGLRenderer } = await import("./WebGLRenderer-B9IXLBU3.js");
118259
118453
  RendererClass = WebGLRenderer;
118260
118454
  finalOptions = { ...options, ...options.webgl };
118261
118455
  break;
118262
118456
  } else if (rendererType === "canvas") {
118263
- const { CanvasRenderer } = await import("./CanvasRenderer-C5QyB3e0.js");
118457
+ const { CanvasRenderer } = await import("./CanvasRenderer-DHF2Dl6A.js");
118264
118458
  RendererClass = CanvasRenderer;
118265
118459
  finalOptions = { ...options, ...options.canvasOptions };
118266
118460
  break;
@@ -136870,7 +137064,7 @@ This indicates a sprite was rendered without valid backing data.`
136870
137064
  });
136871
137065
  const nodes = useMemo(() => {
136872
137066
  const memberNodes = collection.members.map((membership) => {
136873
- var _a2, _b, _c, _d, _e2, _f, _g, _h;
137067
+ var _a2, _b, _c, _d, _e2, _f, _g, _h, _i;
136874
137068
  const repo = repositories.find((r2) => {
136875
137069
  var _a3;
136876
137070
  const repoId = ((_a3 = r2.github) == null ? void 0 : _a3.id) || r2.name;
@@ -136908,6 +137102,7 @@ This indicates a sprite was rendered without valid backing data.`
136908
137102
  size = size + decorationBonus;
136909
137103
  }
136910
137104
  const license = (_e2 = repo.github) == null ? void 0 : _e2.license;
137105
+ const ownerAvatar = (_f = repo.github) == null ? void 0 : _f.ownerAvatar;
136911
137106
  const node2 = {
136912
137107
  id: membership.repositoryId,
136913
137108
  name: repo.name,
@@ -136926,11 +137121,13 @@ This indicates a sprite was rendered without valid backing data.`
136926
137121
  // Contributor count for community space decorations
136927
137122
  license,
136928
137123
  // License identifier for sign/ground treatment
137124
+ ownerAvatar,
137125
+ // Owner avatar URL for bottom corner display
136929
137126
  dependencies: dependencies[membership.repositoryId] || [],
136930
- isRoot: ((_f = membership.metadata) == null ? void 0 : _f.pinned) || false,
136931
- regionId: (_g = membership.metadata) == null ? void 0 : _g.regionId,
137127
+ isRoot: ((_g = membership.metadata) == null ? void 0 : _g.pinned) || false,
137128
+ regionId: (_h = membership.metadata) == null ? void 0 : _h.regionId,
136932
137129
  // Preserve region assignment
136933
- layout: (_h = membership.metadata) == null ? void 0 : _h.layout
137130
+ layout: (_i = membership.metadata) == null ? void 0 : _i.layout
136934
137131
  // Pass saved position data
136935
137132
  };
136936
137133
  return node2;
@@ -138418,4 +138615,4 @@ export {
138418
138615
  UPDATE_PRIORITY as y,
138419
138616
  removeItems as z
138420
138617
  };
138421
- //# sourceMappingURL=index-C2t7iewg.js.map
138618
+ //# sourceMappingURL=index-BL0L_jZJ.js.map