@industry-theme/repository-composition-panels 0.6.33 → 0.6.35

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 (30) hide show
  1. package/dist/{BufferResource-Dski1EZQ.js → BufferResource-BpzvrAqo.js} +2 -2
  2. package/dist/{BufferResource-Dski1EZQ.js.map → BufferResource-BpzvrAqo.js.map} +1 -1
  3. package/dist/{CanvasRenderer--e2h72qI.js → CanvasRenderer-Bv-_MbWh.js} +3 -3
  4. package/dist/{CanvasRenderer--e2h72qI.js.map → CanvasRenderer-Bv-_MbWh.js.map} +1 -1
  5. package/dist/{Filter-BZX7p5SC.js → Filter-Cmwd6knz.js} +2 -2
  6. package/dist/{Filter-BZX7p5SC.js.map → Filter-Cmwd6knz.js.map} +1 -1
  7. package/dist/{RenderTargetSystem-CTgCs7jw.js → RenderTargetSystem-OLnj_wg3.js} +3 -3
  8. package/dist/{RenderTargetSystem-CTgCs7jw.js.map → RenderTargetSystem-OLnj_wg3.js.map} +1 -1
  9. package/dist/{WebGLRenderer-BSys64oZ.js → WebGLRenderer-jxFy0ZLj.js} +4 -4
  10. package/dist/{WebGLRenderer-BSys64oZ.js.map → WebGLRenderer-jxFy0ZLj.js.map} +1 -1
  11. package/dist/{WebGPURenderer-BcDZvCNz.js → WebGPURenderer-Da8LFxby.js} +4 -4
  12. package/dist/{WebGPURenderer-BcDZvCNz.js.map → WebGPURenderer-Da8LFxby.js.map} +1 -1
  13. package/dist/{browserAll-DI7lMMAJ.js → browserAll-BXC5KBKl.js} +3 -3
  14. package/dist/{browserAll-DI7lMMAJ.js.map → browserAll-BXC5KBKl.js.map} +1 -1
  15. package/dist/{index-CBrdpzxz.js → index-DsAEvZa5.js} +190 -463
  16. package/dist/{index-CBrdpzxz.js.map → index-DsAEvZa5.js.map} +1 -1
  17. package/dist/{init-DzaJL8I_.js → init-Cz8WhVwW.js} +3 -3
  18. package/dist/{init-DzaJL8I_.js.map → init-Cz8WhVwW.js.map} +1 -1
  19. package/dist/panels/PackageCompositionPanel.d.ts.map +1 -1
  20. package/dist/panels/components/PackageDetailCard.d.ts +2 -0
  21. package/dist/panels/components/PackageDetailCard.d.ts.map +1 -1
  22. package/dist/panels/components/PackageSummaryCard.d.ts.map +1 -1
  23. package/dist/panels.bundle.js +1 -1
  24. package/dist/utils/licenseColors.d.ts +13 -0
  25. package/dist/utils/licenseColors.d.ts.map +1 -0
  26. package/dist/webworkerAll-DqntRjKn.js +3 -0
  27. package/dist/webworkerAll-DqntRjKn.js.map +1 -0
  28. package/package.json +1 -1
  29. package/dist/webworkerAll-BDQrDn0n.js +0 -3
  30. package/dist/webworkerAll-BDQrDn0n.js.map +0 -1
@@ -1555,7 +1555,7 @@ const DependencyRow = ({ dependency }) => {
1555
1555
  const [copied, setCopied] = useState(false);
1556
1556
  const getDependencyTypeBadgeStyle = (type2) => {
1557
1557
  const baseStyle = {
1558
- fontSize: "9px",
1558
+ fontSize: `${theme2.fontSizes[0]}px`,
1559
1559
  fontWeight: theme2.fontWeights.medium,
1560
1560
  fontFamily: theme2.fonts.body,
1561
1561
  lineHeight: 1.2
@@ -1618,7 +1618,7 @@ const DependencyRow = ({ dependency }) => {
1618
1618
  padding: `${theme2.space[2]}px ${theme2.space[3]}px`,
1619
1619
  backgroundColor: theme2.colors.background,
1620
1620
  borderRadius: 0,
1621
- fontSize: `${theme2.fontSizes[1]}px`,
1621
+ fontSize: `${theme2.fontSizes[0]}px`,
1622
1622
  fontFamily: theme2.fonts.body,
1623
1623
  borderBottom: `1px solid ${theme2.colors.border}`,
1624
1624
  transition: "all 0.2s",
@@ -1638,28 +1638,15 @@ const DependencyRow = ({ dependency }) => {
1638
1638
  minWidth: 0
1639
1639
  },
1640
1640
  children: [
1641
- /* @__PURE__ */ jsxs(
1642
- "div",
1641
+ dependency.namespace && /* @__PURE__ */ jsx(
1642
+ "span",
1643
1643
  {
1644
1644
  style: {
1645
- display: "flex",
1646
- alignItems: "center",
1647
- gap: "4px"
1645
+ fontSize: `${theme2.fontSizes[0]}px`,
1646
+ color: theme2.colors.textSecondary,
1647
+ fontFamily: theme2.fonts.body
1648
1648
  },
1649
- children: [
1650
- dependency.namespace && /* @__PURE__ */ jsx(
1651
- "span",
1652
- {
1653
- style: {
1654
- fontSize: "10px",
1655
- color: theme2.colors.textSecondary,
1656
- fontFamily: theme2.fonts.body
1657
- },
1658
- children: dependency.namespace
1659
- }
1660
- ),
1661
- dependency.dependencyTypes.map((type2) => /* @__PURE__ */ jsx("span", { style: getDependencyTypeBadgeStyle(type2), children: typeLabels[type2] }, type2))
1662
- ]
1649
+ children: dependency.namespace
1663
1650
  }
1664
1651
  ),
1665
1652
  /* @__PURE__ */ jsxs(
@@ -1675,6 +1662,7 @@ const DependencyRow = ({ dependency }) => {
1675
1662
  "span",
1676
1663
  {
1677
1664
  style: {
1665
+ fontSize: `${theme2.fontSizes[2]}px`,
1678
1666
  fontWeight: theme2.fontWeights.medium,
1679
1667
  color: theme2.colors.text,
1680
1668
  overflow: "hidden",
@@ -1711,33 +1699,38 @@ const DependencyRow = ({ dependency }) => {
1711
1699
  {
1712
1700
  style: {
1713
1701
  display: "flex",
1714
- alignItems: "center",
1715
- gap: "4px"
1702
+ flexDirection: "column",
1703
+ alignItems: "flex-end",
1704
+ gap: "2px"
1716
1705
  },
1717
1706
  children: [
1718
- /* @__PURE__ */ jsx(
1719
- "button",
1720
- {
1721
- type: "button",
1722
- onClick: handleCopy,
1723
- style: {
1724
- ...actionButtonStyle,
1725
- color: copied ? theme2.colors.success || "#10b981" : theme2.colors.textSecondary
1726
- },
1727
- title: copied ? "Copied!" : `Copy ${dependency.name}@${dependency.version}`,
1728
- children: copied ? /* @__PURE__ */ jsx(Check$1, { size: 12 }) : /* @__PURE__ */ jsx(Copy$1, { size: 12 })
1729
- }
1730
- ),
1731
- /* @__PURE__ */ jsx(
1732
- "span",
1733
- {
1734
- style: {
1735
- color: theme2.colors.textSecondary,
1736
- fontFamily: theme2.fonts.body
1737
- },
1738
- children: dependency.version
1739
- }
1740
- )
1707
+ /* @__PURE__ */ jsx("div", { style: { display: "flex", gap: "4px" }, children: dependency.dependencyTypes.map((type2) => /* @__PURE__ */ jsx("span", { style: getDependencyTypeBadgeStyle(type2), children: typeLabels[type2] }, type2)) }),
1708
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
1709
+ /* @__PURE__ */ jsx(
1710
+ "button",
1711
+ {
1712
+ type: "button",
1713
+ onClick: handleCopy,
1714
+ style: {
1715
+ ...actionButtonStyle,
1716
+ color: copied ? theme2.colors.success || "#10b981" : theme2.colors.textSecondary
1717
+ },
1718
+ title: copied ? "Copied!" : `Copy ${dependency.name}@${dependency.version}`,
1719
+ children: copied ? /* @__PURE__ */ jsx(Check$1, { size: 12 }) : /* @__PURE__ */ jsx(Copy$1, { size: 12 })
1720
+ }
1721
+ ),
1722
+ /* @__PURE__ */ jsx(
1723
+ "span",
1724
+ {
1725
+ style: {
1726
+ fontSize: `${theme2.fontSizes[2]}px`,
1727
+ color: theme2.colors.textSecondary,
1728
+ fontFamily: theme2.fonts.body
1729
+ },
1730
+ children: dependency.version
1731
+ }
1732
+ )
1733
+ ] })
1741
1734
  ]
1742
1735
  }
1743
1736
  )
@@ -1843,7 +1836,7 @@ const FilterBar = ({
1843
1836
  style: {
1844
1837
  flex: 1,
1845
1838
  padding: `${theme2.space[2]}px ${theme2.space[2]}px`,
1846
- fontSize: `${theme2.fontSizes[0]}px`,
1839
+ fontSize: `${theme2.fontSizes[1]}px`,
1847
1840
  fontWeight: theme2.fontWeights.medium,
1848
1841
  fontFamily: theme2.fonts.body,
1849
1842
  borderRadius: 0,
@@ -1876,191 +1869,6 @@ const FilterBar = ({
1876
1869
  }
1877
1870
  );
1878
1871
  };
1879
- const InheritedConfigIndicator = ({
1880
- config,
1881
- onClick
1882
- }) => {
1883
- const { theme: theme2 } = useTheme();
1884
- const isInherited = config.isInherited;
1885
- const isInline = config.isInline;
1886
- return /* @__PURE__ */ jsxs(
1887
- "button",
1888
- {
1889
- onClick: () => onClick == null ? void 0 : onClick(config),
1890
- style: {
1891
- display: "flex",
1892
- alignItems: "center",
1893
- gap: "8px",
1894
- padding: "6px 10px",
1895
- backgroundColor: isInherited ? theme2.colors.primary + "08" : theme2.colors.backgroundTertiary,
1896
- border: `1px solid ${isInherited ? theme2.colors.primary + "30" : theme2.colors.border}`,
1897
- borderRadius: "4px",
1898
- cursor: onClick ? "pointer" : "default",
1899
- width: "100%",
1900
- textAlign: "left",
1901
- transition: "all 0.15s ease"
1902
- },
1903
- onMouseEnter: (e2) => {
1904
- if (onClick) {
1905
- e2.currentTarget.style.borderColor = theme2.colors.primary;
1906
- }
1907
- },
1908
- onMouseLeave: (e2) => {
1909
- e2.currentTarget.style.borderColor = isInherited ? theme2.colors.primary + "30" : theme2.colors.border;
1910
- },
1911
- children: [
1912
- isInherited ? /* @__PURE__ */ jsx(ArrowUp$1, { size: 14, color: theme2.colors.primary }) : /* @__PURE__ */ jsx(FileCode$1, { size: 14, color: theme2.colors.textSecondary }),
1913
- /* @__PURE__ */ jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
1914
- /* @__PURE__ */ jsxs(
1915
- "div",
1916
- {
1917
- style: {
1918
- fontSize: theme2.fontSizes[1],
1919
- fontWeight: 500,
1920
- color: theme2.colors.text,
1921
- overflow: "hidden",
1922
- textOverflow: "ellipsis",
1923
- whiteSpace: "nowrap"
1924
- },
1925
- children: [
1926
- config.name,
1927
- isInline && /* @__PURE__ */ jsx(
1928
- "span",
1929
- {
1930
- style: {
1931
- marginLeft: "6px",
1932
- padding: "1px 5px",
1933
- backgroundColor: theme2.colors.textSecondary + "20",
1934
- color: theme2.colors.textSecondary,
1935
- borderRadius: "3px",
1936
- fontSize: theme2.fontSizes[0],
1937
- fontWeight: 400
1938
- },
1939
- children: config.inlineField
1940
- }
1941
- )
1942
- ]
1943
- }
1944
- ),
1945
- /* @__PURE__ */ jsx(
1946
- "div",
1947
- {
1948
- style: {
1949
- fontSize: theme2.fontSizes[0],
1950
- color: theme2.colors.textSecondary,
1951
- overflow: "hidden",
1952
- textOverflow: "ellipsis",
1953
- whiteSpace: "nowrap"
1954
- },
1955
- children: isInherited ? /* @__PURE__ */ jsxs(Fragment, { children: [
1956
- /* @__PURE__ */ jsx("span", { style: { color: theme2.colors.primary }, children: "inherited" }),
1957
- config.inheritedFrom && /* @__PURE__ */ jsxs("span", { children: [
1958
- " from ",
1959
- config.inheritedFrom
1960
- ] })
1961
- ] }) : config.path
1962
- }
1963
- )
1964
- ] }),
1965
- /* @__PURE__ */ jsx(
1966
- "span",
1967
- {
1968
- style: {
1969
- padding: "2px 6px",
1970
- backgroundColor: theme2.colors.backgroundSecondary,
1971
- color: theme2.colors.textSecondary,
1972
- borderRadius: "3px",
1973
- fontSize: theme2.fontSizes[0],
1974
- fontWeight: 500,
1975
- textTransform: "uppercase"
1976
- },
1977
- children: config.type
1978
- }
1979
- )
1980
- ]
1981
- }
1982
- );
1983
- };
1984
- const ConfigList = ({
1985
- configs,
1986
- onConfigClick
1987
- }) => {
1988
- const { theme: theme2 } = useTheme();
1989
- const localConfigs = configs.filter((c2) => !c2.isInherited);
1990
- const inheritedConfigs = configs.filter((c2) => c2.isInherited);
1991
- if (configs.length === 0) {
1992
- return /* @__PURE__ */ jsx(
1993
- "div",
1994
- {
1995
- style: {
1996
- padding: "12px",
1997
- color: theme2.colors.textSecondary,
1998
- fontSize: theme2.fontSizes[1],
1999
- textAlign: "center"
2000
- },
2001
- children: "No config files detected"
2002
- }
2003
- );
2004
- }
2005
- return /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "12px" }, children: [
2006
- localConfigs.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
2007
- /* @__PURE__ */ jsxs(
2008
- "div",
2009
- {
2010
- style: {
2011
- fontSize: theme2.fontSizes[0],
2012
- color: theme2.colors.textSecondary,
2013
- marginBottom: "6px",
2014
- fontWeight: 500
2015
- },
2016
- children: [
2017
- "Local (",
2018
- localConfigs.length,
2019
- ")"
2020
- ]
2021
- }
2022
- ),
2023
- /* @__PURE__ */ jsx("div", { style: { display: "flex", flexDirection: "column", gap: "4px" }, children: localConfigs.map((config) => /* @__PURE__ */ jsx(
2024
- InheritedConfigIndicator,
2025
- {
2026
- config,
2027
- onClick: onConfigClick
2028
- },
2029
- config.path + config.name
2030
- )) })
2031
- ] }),
2032
- inheritedConfigs.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
2033
- /* @__PURE__ */ jsxs(
2034
- "div",
2035
- {
2036
- style: {
2037
- fontSize: theme2.fontSizes[0],
2038
- color: theme2.colors.primary,
2039
- marginBottom: "6px",
2040
- fontWeight: 500,
2041
- display: "flex",
2042
- alignItems: "center",
2043
- gap: "4px"
2044
- },
2045
- children: [
2046
- /* @__PURE__ */ jsx(ArrowUp$1, { size: 12 }),
2047
- "Inherited (",
2048
- inheritedConfigs.length,
2049
- ")"
2050
- ]
2051
- }
2052
- ),
2053
- /* @__PURE__ */ jsx("div", { style: { display: "flex", flexDirection: "column", gap: "4px" }, children: inheritedConfigs.map((config) => /* @__PURE__ */ jsx(
2054
- InheritedConfigIndicator,
2055
- {
2056
- config,
2057
- onClick: onConfigClick
2058
- },
2059
- config.path + config.name
2060
- )) })
2061
- ] })
2062
- ] });
2063
- };
2064
1872
  const LensRow = ({ lens }) => {
2065
1873
  const { theme: theme2 } = useTheme();
2066
1874
  const [isExpanded, setIsExpanded] = useState(false);
@@ -2916,6 +2724,64 @@ function parseEnvFile(content2, fileType) {
2916
2724
  format: "dotenv"
2917
2725
  };
2918
2726
  }
2727
+ const permissiveLicenses = /* @__PURE__ */ new Set([
2728
+ "MIT",
2729
+ "Apache-2.0",
2730
+ "BSD-2-Clause",
2731
+ "BSD-3-Clause",
2732
+ "ISC",
2733
+ "Unlicense",
2734
+ "CC0-1.0",
2735
+ "0BSD",
2736
+ "WTFPL"
2737
+ ]);
2738
+ const weakCopyleftLicenses = /* @__PURE__ */ new Set([
2739
+ "LGPL-2.0",
2740
+ "LGPL-2.1",
2741
+ "LGPL-3.0",
2742
+ "MPL-2.0",
2743
+ "EPL-1.0",
2744
+ "EPL-2.0",
2745
+ "OSL-3.0"
2746
+ ]);
2747
+ const strongCopyleftLicenses = /* @__PURE__ */ new Set([
2748
+ "GPL-2.0",
2749
+ "GPL-3.0",
2750
+ "AGPL-3.0",
2751
+ "GPL-2.0-only",
2752
+ "GPL-3.0-only",
2753
+ "AGPL-3.0-only"
2754
+ ]);
2755
+ function getLicensePermissiveness(license) {
2756
+ if (!license) return "unknown";
2757
+ const normalized = license.trim();
2758
+ if (permissiveLicenses.has(normalized)) return "permissive";
2759
+ if (weakCopyleftLicenses.has(normalized)) return "weakCopyleft";
2760
+ if (strongCopyleftLicenses.has(normalized)) return "strongCopyleft";
2761
+ const upper = normalized.toUpperCase();
2762
+ if (upper.includes("MIT") || upper.includes("APACHE") || upper.includes("BSD"))
2763
+ return "permissive";
2764
+ if (upper.includes("LGPL") || upper.includes("MPL")) return "weakCopyleft";
2765
+ if (upper.includes("GPL") || upper.includes("AGPL")) return "strongCopyleft";
2766
+ return "unknown";
2767
+ }
2768
+ function getLicenseColor(license) {
2769
+ const permissiveness = getLicensePermissiveness(license);
2770
+ switch (permissiveness) {
2771
+ case "permissive":
2772
+ return "#10b981";
2773
+ // green
2774
+ case "weakCopyleft":
2775
+ return "#f59e0b";
2776
+ // amber/orange
2777
+ case "strongCopyleft":
2778
+ return "#ef4444";
2779
+ // red
2780
+ case "unknown":
2781
+ default:
2782
+ return "#6b7280";
2783
+ }
2784
+ }
2919
2785
  const dependencyTypeOrder = {
2920
2786
  peer: 0,
2921
2787
  production: 1,
@@ -2997,11 +2863,14 @@ const PackageDetailCard = ({
2997
2863
  onConfigClick,
2998
2864
  onPackageClick,
2999
2865
  standalone = false,
3000
- readFile
2866
+ readFile,
2867
+ onClose
3001
2868
  }) => {
3002
2869
  var _a, _b, _c, _d, _e2, _f, _g, _h, _i;
3003
2870
  const { theme: theme2 } = useTheme();
3004
- const [activeTab, setActiveTab] = useState("dependencies");
2871
+ const [activeTab, setActiveTab] = useState(
2872
+ "dependencies"
2873
+ );
3005
2874
  const [activeFilters, setActiveFilters] = useState(/* @__PURE__ */ new Set());
3006
2875
  const [searchQuery, setSearchQuery] = useState("");
3007
2876
  const [showInfoModal, setShowInfoModal] = useState(false);
@@ -3029,7 +2898,7 @@ const PackageDetailCard = ({
3029
2898
  if (!pkg.configFiles) return [];
3030
2899
  return Object.entries(pkg.configFiles).filter(([, config]) => config == null ? void 0 : config.exists).map(([name2, config]) => ({ name: name2, ...config }));
3031
2900
  }, [pkg.configFiles]);
3032
- const configCounts = useMemo(() => {
2901
+ useMemo(() => {
3033
2902
  const local = configFiles.filter((c2) => !c2.isInherited).length;
3034
2903
  const inherited = configFiles.filter((c2) => c2.isInherited).length;
3035
2904
  return { local, inherited, total: configFiles.length };
@@ -3127,7 +2996,7 @@ const PackageDetailCard = ({
3127
2996
  PackageManagerIcon,
3128
2997
  {
3129
2998
  packageManager: pkg.packageData.packageManager,
3130
- size: 18
2999
+ size: 32
3131
3000
  }
3132
3001
  ),
3133
3002
  /* @__PURE__ */ jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -3146,7 +3015,7 @@ const PackageDetailCard = ({
3146
3015
  children: pkg.packageData.name
3147
3016
  }
3148
3017
  ),
3149
- pkg.packageData.version && /* @__PURE__ */ jsxs(
3018
+ /* @__PURE__ */ jsxs(
3150
3019
  "div",
3151
3020
  {
3152
3021
  style: {
@@ -3155,40 +3024,46 @@ const PackageDetailCard = ({
3155
3024
  color: theme2.colors.textSecondary
3156
3025
  },
3157
3026
  children: [
3158
- "v",
3159
- pkg.packageData.version
3027
+ pkg.packageData.path || "root",
3028
+ pkg.packageData.version && ` - v${pkg.packageData.version}`,
3029
+ pkg.packageData.license && /* @__PURE__ */ jsxs(Fragment, { children: [
3030
+ " - ",
3031
+ /* @__PURE__ */ jsx("span", { style: { color: getLicenseColor(pkg.packageData.license) }, children: pkg.packageData.license })
3032
+ ] })
3160
3033
  ]
3161
3034
  }
3162
3035
  )
3163
3036
  ] }),
3164
- pkg.packageData.path && /* @__PURE__ */ jsxs(
3037
+ onClose && /* @__PURE__ */ jsx(
3165
3038
  "button",
3166
3039
  {
3167
- onClick: () => onPackageClick == null ? void 0 : onPackageClick(pkg.packageData.path),
3040
+ onClick: onClose,
3168
3041
  style: {
3169
3042
  display: "flex",
3170
3043
  alignItems: "center",
3171
- gap: "4px",
3172
- padding: "4px 8px",
3173
- backgroundColor: theme2.colors.backgroundTertiary,
3174
- border: `1px solid ${theme2.colors.border}`,
3044
+ justifyContent: "center",
3045
+ padding: "4px",
3046
+ backgroundColor: "transparent",
3047
+ border: "none",
3175
3048
  borderRadius: "4px",
3176
3049
  color: theme2.colors.textSecondary,
3177
- fontSize: theme2.fontSizes[0],
3178
- fontFamily: theme2.fonts.body,
3179
- cursor: "pointer"
3050
+ cursor: "pointer",
3051
+ transition: "color 0.15s ease"
3180
3052
  },
3181
- title: "Open package folder",
3182
- children: [
3183
- /* @__PURE__ */ jsx(Folder$1, { size: 12 }),
3184
- pkg.packageData.path || "root"
3185
- ]
3053
+ onMouseEnter: (e2) => {
3054
+ e2.currentTarget.style.color = theme2.colors.text;
3055
+ },
3056
+ onMouseLeave: (e2) => {
3057
+ e2.currentTarget.style.color = theme2.colors.textSecondary;
3058
+ },
3059
+ title: "Close",
3060
+ children: /* @__PURE__ */ jsx(X$3, { size: 18 })
3186
3061
  }
3187
3062
  )
3188
3063
  ]
3189
3064
  }
3190
3065
  ),
3191
- (pkg.packageData.description || pkg.packageData.license || pkg.packageData.author) && /* @__PURE__ */ jsxs(
3066
+ (pkg.packageData.description || pkg.packageData.author) && /* @__PURE__ */ jsxs(
3192
3067
  "div",
3193
3068
  {
3194
3069
  style: {
@@ -3211,45 +3086,17 @@ const PackageDetailCard = ({
3211
3086
  children: pkg.packageData.description
3212
3087
  }
3213
3088
  ),
3214
- /* @__PURE__ */ jsxs(
3215
- "div",
3089
+ (pkg.packageData.author || ((_b = pkg.packageData.authors) == null ? void 0 : _b[0])) && /* @__PURE__ */ jsxs(
3090
+ "span",
3216
3091
  {
3217
3092
  style: {
3218
- display: "flex",
3219
- gap: "8px",
3220
- flexWrap: "wrap",
3221
- alignItems: "center"
3093
+ fontSize: theme2.fontSizes[0],
3094
+ fontFamily: theme2.fonts.body,
3095
+ color: theme2.colors.textSecondary
3222
3096
  },
3223
3097
  children: [
3224
- pkg.packageData.license && /* @__PURE__ */ jsx(
3225
- "span",
3226
- {
3227
- style: {
3228
- padding: "2px 8px",
3229
- backgroundColor: theme2.colors.textSecondary + "15",
3230
- color: theme2.colors.textSecondary,
3231
- borderRadius: "4px",
3232
- fontSize: theme2.fontSizes[0],
3233
- fontWeight: theme2.fontWeights.medium,
3234
- fontFamily: theme2.fonts.body
3235
- },
3236
- children: pkg.packageData.license
3237
- }
3238
- ),
3239
- (pkg.packageData.author || ((_b = pkg.packageData.authors) == null ? void 0 : _b[0])) && /* @__PURE__ */ jsxs(
3240
- "span",
3241
- {
3242
- style: {
3243
- fontSize: theme2.fontSizes[0],
3244
- fontFamily: theme2.fonts.body,
3245
- color: theme2.colors.textSecondary
3246
- },
3247
- children: [
3248
- "by ",
3249
- pkg.packageData.author || ((_c = pkg.packageData.authors) == null ? void 0 : _c[0])
3250
- ]
3251
- }
3252
- )
3098
+ "by ",
3099
+ pkg.packageData.author || ((_c = pkg.packageData.authors) == null ? void 0 : _c[0])
3253
3100
  ]
3254
3101
  }
3255
3102
  )
@@ -3277,12 +3124,6 @@ const PackageDetailCard = ({
3277
3124
  count: 1
3278
3125
  }
3279
3126
  ] : [],
3280
- {
3281
- id: "configs",
3282
- label: "Configs",
3283
- count: configCounts.total,
3284
- inherited: configCounts.inherited
3285
- },
3286
3127
  {
3287
3128
  id: "lenses",
3288
3129
  label: "Lenses",
@@ -3322,7 +3163,7 @@ const PackageDetailCard = ({
3322
3163
  fontSize: theme2.fontSizes[0],
3323
3164
  fontFamily: theme2.fonts.body
3324
3165
  },
3325
- children: "total" in tab2 ? `${tab2.count}/${tab2.total}` : "inherited" in tab2 && (tab2.inherited ?? 0) > 0 ? `${tab2.count} (${tab2.inherited}↑)` : tab2.count
3166
+ children: "total" in tab2 ? `${tab2.count}/${tab2.total}` : tab2.count
3326
3167
  }
3327
3168
  )
3328
3169
  ]
@@ -3593,7 +3434,6 @@ const PackageDetailCard = ({
3593
3434
  }
3594
3435
  )
3595
3436
  ] }),
3596
- activeTab === "configs" && /* @__PURE__ */ jsx("div", { style: { padding: "12px" }, children: /* @__PURE__ */ jsx(ConfigList, { configs: configFiles, onConfigClick }) }),
3597
3437
  activeTab === "lenses" && /* @__PURE__ */ jsxs(
3598
3438
  "div",
3599
3439
  {
@@ -3754,7 +3594,7 @@ const PackageDetailCard = ({
3754
3594
  children: pkg.packageData.name
3755
3595
  }
3756
3596
  ),
3757
- pkg.packageData.version && /* @__PURE__ */ jsxs(
3597
+ /* @__PURE__ */ jsxs(
3758
3598
  "div",
3759
3599
  {
3760
3600
  style: {
@@ -3763,8 +3603,12 @@ const PackageDetailCard = ({
3763
3603
  color: theme2.colors.textSecondary
3764
3604
  },
3765
3605
  children: [
3766
- "v",
3767
- pkg.packageData.version
3606
+ pkg.packageData.path || "root",
3607
+ pkg.packageData.version && ` - v${pkg.packageData.version}`,
3608
+ pkg.packageData.license && /* @__PURE__ */ jsxs(Fragment, { children: [
3609
+ " - ",
3610
+ /* @__PURE__ */ jsx("span", { style: { color: getLicenseColor(pkg.packageData.license) }, children: pkg.packageData.license })
3611
+ ] })
3768
3612
  ]
3769
3613
  }
3770
3614
  )
@@ -3821,12 +3665,6 @@ const PackageDetailCard = ({
3821
3665
  count: 1
3822
3666
  }
3823
3667
  ] : [],
3824
- {
3825
- id: "configs",
3826
- label: "Configs",
3827
- count: configCounts.total,
3828
- inherited: configCounts.inherited
3829
- },
3830
3668
  {
3831
3669
  id: "lenses",
3832
3670
  label: "Lenses",
@@ -3866,7 +3704,7 @@ const PackageDetailCard = ({
3866
3704
  fontSize: theme2.fontSizes[0],
3867
3705
  fontFamily: theme2.fonts.body
3868
3706
  },
3869
- children: "total" in tab2 ? `${tab2.count}/${tab2.total}` : "inherited" in tab2 && (tab2.inherited ?? 0) > 0 ? `${tab2.count} (${tab2.inherited}↑)` : tab2.count
3707
+ children: "total" in tab2 ? `${tab2.count}/${tab2.total}` : tab2.count
3870
3708
  }
3871
3709
  )
3872
3710
  ]
@@ -4137,13 +3975,6 @@ const PackageDetailCard = ({
4137
3975
  }
4138
3976
  )
4139
3977
  ] }),
4140
- activeTab === "configs" && /* @__PURE__ */ jsx("div", { style: { padding: "12px" }, children: /* @__PURE__ */ jsx(
4141
- ConfigList,
4142
- {
4143
- configs: configFiles,
4144
- onConfigClick
4145
- }
4146
- ) }),
4147
3978
  activeTab === "lenses" && /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column" }, children: [
4148
3979
  /* @__PURE__ */ jsx(
4149
3980
  LensReadinessSection,
@@ -4274,17 +4105,12 @@ const PackageSummaryCard = ({
4274
4105
  onClick,
4275
4106
  onHover
4276
4107
  }) => {
4277
- var _a, _b;
4108
+ var _a;
4278
4109
  const { theme: theme2 } = useTheme();
4279
4110
  const deps = pkg.packageData.dependencies || {};
4280
4111
  const devDeps = pkg.packageData.devDependencies || {};
4281
4112
  const peerDeps = pkg.packageData.peerDependencies || {};
4282
4113
  const totalDeps = Object.keys(deps).length + Object.keys(devDeps).length + Object.keys(peerDeps).length;
4283
- const configFilesArray = pkg.configFiles ? Object.values(pkg.configFiles).filter((c2) => c2 == null ? void 0 : c2.exists) : [];
4284
- const inheritedConfigs = configFilesArray.filter(
4285
- (c2) => c2 == null ? void 0 : c2.isInherited
4286
- ).length;
4287
- const commands = ((_a = pkg.packageData.availableCommands) == null ? void 0 : _a.length) || 0;
4288
4114
  const { dependsOn, usedBy } = useMemo(
4289
4115
  () => findInternalDependencies(pkg, allPackages),
4290
4116
  [pkg, allPackages]
@@ -4334,7 +4160,7 @@ const PackageSummaryCard = ({
4334
4160
  PackageManagerIcon,
4335
4161
  {
4336
4162
  packageManager: pkg.packageData.packageManager,
4337
- size: 20
4163
+ size: 32
4338
4164
  }
4339
4165
  ),
4340
4166
  /* @__PURE__ */ jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -4353,22 +4179,19 @@ const PackageSummaryCard = ({
4353
4179
  children: pkg.packageData.name
4354
4180
  }
4355
4181
  ),
4356
- /* @__PURE__ */ jsxs(
4182
+ /* @__PURE__ */ jsx(
4357
4183
  "div",
4358
4184
  {
4359
4185
  style: {
4360
- fontSize: theme2.fontSizes[1],
4186
+ fontSize: theme2.fontSizes[0],
4361
4187
  fontFamily: theme2.fonts.body,
4362
4188
  color: theme2.colors.textSecondary
4363
4189
  },
4364
- children: [
4365
- pkg.packageData.path || "root",
4366
- pkg.packageData.version && ` • v${pkg.packageData.version}`
4367
- ]
4190
+ children: pkg.packageData.path || "root"
4368
4191
  }
4369
4192
  )
4370
4193
  ] }),
4371
- pkg.packageData.isMonorepoRoot && ((_b = pkg.packageData.monorepoMetadata) == null ? void 0 : _b.orchestrator) && /* @__PURE__ */ jsx(
4194
+ pkg.packageData.isMonorepoRoot && ((_a = pkg.packageData.monorepoMetadata) == null ? void 0 : _a.orchestrator) && /* @__PURE__ */ jsx(
4372
4195
  OrchestratorBadge,
4373
4196
  {
4374
4197
  orchestrator: pkg.packageData.monorepoMetadata.orchestrator,
@@ -4400,57 +4223,20 @@ const PackageSummaryCard = ({
4400
4223
  ),
4401
4224
  /* @__PURE__ */ jsx(ChevronRight$1, { size: 16, color: theme2.colors.textSecondary })
4402
4225
  ] }),
4403
- (pkg.packageData.description || pkg.packageData.license) && /* @__PURE__ */ jsxs(
4226
+ pkg.packageData.description && /* @__PURE__ */ jsx(
4404
4227
  "div",
4405
4228
  {
4406
4229
  style: {
4407
- display: "flex",
4408
- flexDirection: "column",
4409
- gap: "4px"
4230
+ fontSize: theme2.fontSizes[1],
4231
+ fontFamily: theme2.fonts.body,
4232
+ color: theme2.colors.textSecondary,
4233
+ lineHeight: 1.4,
4234
+ overflow: "hidden",
4235
+ display: "-webkit-box",
4236
+ WebkitLineClamp: 2,
4237
+ WebkitBoxOrient: "vertical"
4410
4238
  },
4411
- children: [
4412
- pkg.packageData.description && /* @__PURE__ */ jsx(
4413
- "div",
4414
- {
4415
- style: {
4416
- fontSize: theme2.fontSizes[1],
4417
- fontFamily: theme2.fonts.body,
4418
- color: theme2.colors.textSecondary,
4419
- lineHeight: 1.4,
4420
- overflow: "hidden",
4421
- display: "-webkit-box",
4422
- WebkitLineClamp: 2,
4423
- WebkitBoxOrient: "vertical"
4424
- },
4425
- children: pkg.packageData.description
4426
- }
4427
- ),
4428
- pkg.packageData.license && /* @__PURE__ */ jsx(
4429
- "div",
4430
- {
4431
- style: {
4432
- display: "flex",
4433
- alignItems: "center",
4434
- gap: "4px",
4435
- fontSize: theme2.fontSizes[1]
4436
- },
4437
- children: /* @__PURE__ */ jsx(
4438
- "span",
4439
- {
4440
- style: {
4441
- padding: "1px 6px",
4442
- backgroundColor: theme2.colors.textSecondary + "15",
4443
- color: theme2.colors.textSecondary,
4444
- borderRadius: "3px",
4445
- fontWeight: theme2.fontWeights.medium,
4446
- fontFamily: theme2.fonts.body
4447
- },
4448
- children: pkg.packageData.license
4449
- }
4450
- )
4451
- }
4452
- )
4453
- ]
4239
+ children: pkg.packageData.description
4454
4240
  }
4455
4241
  ),
4456
4242
  /* @__PURE__ */ jsxs(
@@ -4464,32 +4250,17 @@ const PackageSummaryCard = ({
4464
4250
  color: theme2.colors.textSecondary
4465
4251
  },
4466
4252
  children: [
4253
+ pkg.packageData.version && /* @__PURE__ */ jsxs("span", { children: [
4254
+ "v",
4255
+ pkg.packageData.version
4256
+ ] }),
4257
+ pkg.packageData.license && /* @__PURE__ */ jsx("span", { style: { color: getLicenseColor(pkg.packageData.license) }, children: pkg.packageData.license }),
4467
4258
  /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
4468
4259
  /* @__PURE__ */ jsx(Package$1, { size: 12 }),
4469
4260
  /* @__PURE__ */ jsxs("span", { children: [
4470
4261
  totalDeps,
4471
4262
  " deps"
4472
4263
  ] })
4473
- ] }),
4474
- /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
4475
- /* @__PURE__ */ jsx(Settings$1, { size: 12 }),
4476
- /* @__PURE__ */ jsxs("span", { children: [
4477
- configFilesArray.length,
4478
- " configs",
4479
- inheritedConfigs > 0 && /* @__PURE__ */ jsxs("span", { style: { color: theme2.colors.primary }, children: [
4480
- " ",
4481
- "(",
4482
- inheritedConfigs,
4483
- "↑)"
4484
- ] })
4485
- ] })
4486
- ] }),
4487
- /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
4488
- /* @__PURE__ */ jsx(Terminal$1, { size: 12 }),
4489
- /* @__PURE__ */ jsxs("span", { children: [
4490
- commands,
4491
- " commands"
4492
- ] })
4493
4264
  ] })
4494
4265
  ]
4495
4266
  }
@@ -4690,7 +4461,7 @@ const PackageCompositionPanelContent = ({
4690
4461
  ]
4691
4462
  }
4692
4463
  ),
4693
- /* @__PURE__ */ jsxs(
4464
+ /* @__PURE__ */ jsx(
4694
4465
  "div",
4695
4466
  {
4696
4467
  style: {
@@ -4700,68 +4471,24 @@ const PackageCompositionPanelContent = ({
4700
4471
  flexDirection: "column",
4701
4472
  overflow: "hidden"
4702
4473
  },
4703
- children: [
4704
- /* @__PURE__ */ jsx(
4705
- "div",
4706
- {
4707
- style: {
4708
- padding: "8px 12px",
4709
- borderBottom: `1px solid ${theme2.colors.border}`,
4710
- display: "flex",
4711
- alignItems: "center",
4712
- gap: "8px",
4713
- flexShrink: 0
4714
- },
4715
- children: /* @__PURE__ */ jsxs(
4716
- "button",
4717
- {
4718
- onClick: () => {
4719
- setSelectedPackageId(null);
4720
- onPackageSelect == null ? void 0 : onPackageSelect(null);
4721
- },
4722
- style: {
4723
- display: "flex",
4724
- alignItems: "center",
4725
- gap: "4px",
4726
- padding: "4px 8px",
4727
- backgroundColor: "transparent",
4728
- border: "none",
4729
- borderRadius: "4px",
4730
- color: theme2.colors.accent,
4731
- fontSize: theme2.fontSizes[1],
4732
- fontFamily: theme2.fonts.body,
4733
- cursor: "pointer",
4734
- transition: "background-color 0.15s ease"
4735
- },
4736
- onMouseEnter: (e2) => {
4737
- e2.currentTarget.style.backgroundColor = theme2.colors.backgroundTertiary;
4738
- },
4739
- onMouseLeave: (e2) => {
4740
- e2.currentTarget.style.backgroundColor = "transparent";
4741
- },
4742
- children: [
4743
- /* @__PURE__ */ jsx(ChevronLeft$1, { size: 16 }),
4744
- "All Packages"
4745
- ]
4746
- }
4747
- )
4748
- }
4749
- ),
4750
- /* @__PURE__ */ jsx("div", { style: { flex: 1, overflow: "hidden" }, children: selectedPackage && /* @__PURE__ */ jsx(
4751
- PackageDetailCard,
4752
- {
4753
- pkg: selectedPackage,
4754
- isExpanded: true,
4755
- onToggle: () => {
4756
- },
4757
- onCommandClick,
4758
- onConfigClick,
4759
- onPackageClick,
4760
- standalone: true,
4761
- readFile
4474
+ children: /* @__PURE__ */ jsx("div", { style: { flex: 1, overflow: "hidden" }, children: selectedPackage && /* @__PURE__ */ jsx(
4475
+ PackageDetailCard,
4476
+ {
4477
+ pkg: selectedPackage,
4478
+ isExpanded: true,
4479
+ onToggle: () => {
4480
+ },
4481
+ onCommandClick,
4482
+ onConfigClick,
4483
+ onPackageClick,
4484
+ standalone: true,
4485
+ readFile,
4486
+ onClose: () => {
4487
+ setSelectedPackageId(null);
4488
+ onPackageSelect == null ? void 0 : onPackageSelect(null);
4762
4489
  }
4763
- ) })
4764
- ]
4490
+ }
4491
+ ) })
4765
4492
  }
4766
4493
  )
4767
4494
  ]
@@ -106176,7 +105903,7 @@ const browserExt = {
106176
105903
  },
106177
105904
  test: () => true,
106178
105905
  load: async () => {
106179
- await import("./browserAll-DI7lMMAJ.js");
105906
+ await import("./browserAll-BXC5KBKl.js");
106180
105907
  }
106181
105908
  };
106182
105909
  const webworkerExt = {
@@ -106187,7 +105914,7 @@ const webworkerExt = {
106187
105914
  },
106188
105915
  test: () => typeof self !== "undefined" && self.WorkerGlobalScope !== void 0,
106189
105916
  load: async () => {
106190
- await import("./webworkerAll-BDQrDn0n.js");
105917
+ await import("./webworkerAll-DqntRjKn.js");
106191
105918
  }
106192
105919
  };
106193
105920
  class ObservablePoint {
@@ -118430,19 +118157,19 @@ async function autoDetectRenderer(options) {
118430
118157
  for (let i2 = 0; i2 < preferredOrder.length; i2++) {
118431
118158
  const rendererType = preferredOrder[i2];
118432
118159
  if (rendererType === "webgpu" && await isWebGPUSupported()) {
118433
- const { WebGPURenderer } = await import("./WebGPURenderer-BcDZvCNz.js");
118160
+ const { WebGPURenderer } = await import("./WebGPURenderer-Da8LFxby.js");
118434
118161
  RendererClass = WebGPURenderer;
118435
118162
  finalOptions = { ...options, ...options.webgpu };
118436
118163
  break;
118437
118164
  } else if (rendererType === "webgl" && isWebGLSupported(
118438
118165
  options.failIfMajorPerformanceCaveat ?? AbstractRenderer.defaultOptions.failIfMajorPerformanceCaveat
118439
118166
  )) {
118440
- const { WebGLRenderer } = await import("./WebGLRenderer-BSys64oZ.js");
118167
+ const { WebGLRenderer } = await import("./WebGLRenderer-jxFy0ZLj.js");
118441
118168
  RendererClass = WebGLRenderer;
118442
118169
  finalOptions = { ...options, ...options.webgl };
118443
118170
  break;
118444
118171
  } else if (rendererType === "canvas") {
118445
- const { CanvasRenderer } = await import("./CanvasRenderer--e2h72qI.js");
118172
+ const { CanvasRenderer } = await import("./CanvasRenderer-Bv-_MbWh.js");
118446
118173
  RendererClass = CanvasRenderer;
118447
118174
  finalOptions = { ...options, ...options.canvasOptions };
118448
118175
  break;
@@ -138497,4 +138224,4 @@ export {
138497
138224
  UPDATE_PRIORITY as y,
138498
138225
  removeItems as z
138499
138226
  };
138500
- //# sourceMappingURL=index-CBrdpzxz.js.map
138227
+ //# sourceMappingURL=index-DsAEvZa5.js.map