@industry-theme/repository-composition-panels 0.7.24 → 0.7.26

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,7 +1,7 @@
1
- import { e as extensions, A as AccessibilitySystem, C as Container, b as accessibilityTarget, E as EventSystem, c as FederatedContainer } from "./index-Du-HFyPY.js";
2
- import "./init-BU3NCsD0.js";
1
+ import { e as extensions, A as AccessibilitySystem, C as Container, b as accessibilityTarget, E as EventSystem, c as FederatedContainer } from "./index-BinFidNv.js";
2
+ import "./init-DKPYQNFU.js";
3
3
  extensions.add(AccessibilitySystem);
4
4
  extensions.mixin(Container, accessibilityTarget);
5
5
  extensions.add(EventSystem);
6
6
  extensions.mixin(Container, FederatedContainer);
7
- //# sourceMappingURL=browserAll-B8SGpKNH.js.map
7
+ //# sourceMappingURL=browserAll-CIuBn_fB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browserAll-B8SGpKNH.js","sources":["../node_modules/pixi.js/lib/accessibility/init.mjs","../node_modules/pixi.js/lib/events/init.mjs"],"sourcesContent":["import { extensions } from '../extensions/Extensions.mjs';\nimport { Container } from '../scene/container/Container.mjs';\nimport { AccessibilitySystem } from './AccessibilitySystem.mjs';\nimport { accessibilityTarget } from './accessibilityTarget.mjs';\n\n\"use strict\";\nextensions.add(AccessibilitySystem);\nextensions.mixin(Container, accessibilityTarget);\n//# sourceMappingURL=init.mjs.map\n","import { extensions } from '../extensions/Extensions.mjs';\nimport { Container } from '../scene/container/Container.mjs';\nimport { EventSystem } from './EventSystem.mjs';\nimport { FederatedContainer } from './FederatedEventTarget.mjs';\n\n\"use strict\";\nextensions.add(EventSystem);\nextensions.mixin(Container, FederatedContainer);\n//# sourceMappingURL=init.mjs.map\n"],"names":[],"mappings":";;AAMA,WAAW,IAAI,mBAAmB;AAClC,WAAW,MAAM,WAAW,mBAAmB;ACD/C,WAAW,IAAI,WAAW;AAC1B,WAAW,MAAM,WAAW,kBAAkB;","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"browserAll-CIuBn_fB.js","sources":["../node_modules/pixi.js/lib/accessibility/init.mjs","../node_modules/pixi.js/lib/events/init.mjs"],"sourcesContent":["import { extensions } from '../extensions/Extensions.mjs';\nimport { Container } from '../scene/container/Container.mjs';\nimport { AccessibilitySystem } from './AccessibilitySystem.mjs';\nimport { accessibilityTarget } from './accessibilityTarget.mjs';\n\n\"use strict\";\nextensions.add(AccessibilitySystem);\nextensions.mixin(Container, accessibilityTarget);\n//# sourceMappingURL=init.mjs.map\n","import { extensions } from '../extensions/Extensions.mjs';\nimport { Container } from '../scene/container/Container.mjs';\nimport { EventSystem } from './EventSystem.mjs';\nimport { FederatedContainer } from './FederatedEventTarget.mjs';\n\n\"use strict\";\nextensions.add(EventSystem);\nextensions.mixin(Container, FederatedContainer);\n//# sourceMappingURL=init.mjs.map\n"],"names":[],"mappings":";;AAMA,WAAW,IAAI,mBAAmB;AAClC,WAAW,MAAM,WAAW,mBAAmB;ACD/C,WAAW,IAAI,WAAW;AAC1B,WAAW,MAAM,WAAW,kBAAkB;","x_google_ignoreList":[0,1]}
@@ -106207,7 +106207,7 @@ const browserExt = {
106207
106207
  },
106208
106208
  test: () => true,
106209
106209
  load: async () => {
106210
- await import("./browserAll-B8SGpKNH.js");
106210
+ await import("./browserAll-CIuBn_fB.js");
106211
106211
  }
106212
106212
  };
106213
106213
  const webworkerExt = {
@@ -106218,7 +106218,7 @@ const webworkerExt = {
106218
106218
  },
106219
106219
  test: () => typeof self !== "undefined" && self.WorkerGlobalScope !== void 0,
106220
106220
  load: async () => {
106221
- await import("./webworkerAll-C72I_Byi.js");
106221
+ await import("./webworkerAll-CLYFrCAq.js");
106222
106222
  }
106223
106223
  };
106224
106224
  class ObservablePoint {
@@ -148732,6 +148732,43 @@ function generateCobblestoneGround(sizeMultiplier) {
148732
148732
  }
148733
148733
  return ground;
148734
148734
  }
148735
+ function generateNeutralGround(sizeMultiplier) {
148736
+ const footprint = calculateFootprint(sizeMultiplier);
148737
+ const ground = new Graphics();
148738
+ const halfW = footprint.width;
148739
+ const halfH = footprint.height;
148740
+ const stoneBase = 9143160;
148741
+ const stoneDark = 7037784;
148742
+ const stoneLight = 10195848;
148743
+ ground.moveTo(0, -halfH);
148744
+ ground.lineTo(halfW, 0);
148745
+ ground.lineTo(0, halfH);
148746
+ ground.lineTo(-halfW, 0);
148747
+ ground.closePath();
148748
+ ground.fill(stoneBase);
148749
+ const textureCount = Math.max(5, Math.floor(7 * sizeMultiplier));
148750
+ for (let i2 = 0; i2 < textureCount; i2++) {
148751
+ const angle = i2 / textureCount * Math.PI * 2;
148752
+ const radius = 0.25 + i2 % 3 * 0.15;
148753
+ const x2 = Math.cos(angle) * halfW * radius;
148754
+ const y2 = Math.sin(angle) * halfH * radius;
148755
+ const dotSize = Math.max(2, 3 * sizeMultiplier);
148756
+ ground.circle(x2, y2, dotSize);
148757
+ ground.fill(i2 % 2 === 0 ? stoneLight : stoneDark);
148758
+ }
148759
+ const pebbleSize = Math.max(1.5, 2 * sizeMultiplier);
148760
+ const pebbleSpots = [
148761
+ { x: -halfW * 0.3, y: -halfH * 0.15 },
148762
+ { x: halfW * 0.25, y: halfH * 0.2 },
148763
+ { x: -halfW * 0.15, y: halfH * 0.35 },
148764
+ { x: halfW * 0.35, y: -halfH * 0.25 }
148765
+ ];
148766
+ for (const spot of pebbleSpots) {
148767
+ ground.circle(spot.x, spot.y, pebbleSize);
148768
+ ground.fill(stoneDark);
148769
+ }
148770
+ return ground;
148771
+ }
148735
148772
  function generateLicenseSign(license, config) {
148736
148773
  switch (license) {
148737
148774
  case "MIT":
@@ -149309,13 +149346,10 @@ class IsometricRenderer {
149309
149346
  }
149310
149347
  let licenseGround;
149311
149348
  let licenseSign;
149349
+ const footprint = calculateFootprint(sizeMultiplier);
149312
149350
  if (node2.license) {
149313
149351
  const licenseType = node2.license;
149314
- const footprint = calculateFootprint(sizeMultiplier);
149315
149352
  licenseGround = generateLicenseGround(licenseType, sizeMultiplier);
149316
- licenseGround.x = screenX;
149317
- licenseGround.y = screenY;
149318
- licenseGround.zIndex = screenY;
149319
149353
  licenseSign = generateLicenseSign(licenseType, {
149320
149354
  name: node2.label,
149321
149355
  sizeMultiplier
@@ -149324,7 +149358,12 @@ class IsometricRenderer {
149324
149358
  licenseSign.y = screenY + footprint.height * 0.75;
149325
149359
  licenseSign.zIndex = container.zIndex + 0.15;
149326
149360
  label.visible = false;
149361
+ } else {
149362
+ licenseGround = generateNeutralGround(sizeMultiplier);
149327
149363
  }
149364
+ licenseGround.x = screenX;
149365
+ licenseGround.y = screenY;
149366
+ licenseGround.zIndex = screenY;
149328
149367
  const instance = {
149329
149368
  sprite: container,
149330
149369
  // Container acts as the sprite
@@ -149370,9 +149409,9 @@ class IsometricRenderer {
149370
149409
  licenseGround.zIndex = pos.screenY;
149371
149410
  }
149372
149411
  if (licenseSign) {
149373
- const footprint = calculateFootprint(sizeMultiplier);
149412
+ const footprint2 = calculateFootprint(sizeMultiplier);
149374
149413
  licenseSign.x = pos.screenX;
149375
- licenseSign.y = pos.screenY + footprint.height * 0.75;
149414
+ licenseSign.y = pos.screenY + footprint2.height * 0.75;
149376
149415
  licenseSign.zIndex = getIsometricZIndex(gridX, gridY) + 0.15;
149377
149416
  }
149378
149417
  instance.gridPosition = { gridX, gridY };
@@ -149460,13 +149499,10 @@ class IsometricRenderer {
149460
149499
  label.zIndex = sprite.zIndex + 0.2;
149461
149500
  let licenseGround;
149462
149501
  let licenseSign;
149502
+ const footprint = calculateFootprint(sizeMultiplier);
149463
149503
  if (node2.license) {
149464
149504
  const licenseType = node2.license;
149465
- const footprint = calculateFootprint(sizeMultiplier);
149466
149505
  licenseGround = generateLicenseGround(licenseType, sizeMultiplier);
149467
- licenseGround.x = screenX;
149468
- licenseGround.y = screenY;
149469
- licenseGround.zIndex = screenY;
149470
149506
  licenseSign = generateLicenseSign(licenseType, {
149471
149507
  name: node2.label,
149472
149508
  sizeMultiplier
@@ -149475,11 +149511,16 @@ class IsometricRenderer {
149475
149511
  licenseSign.y = screenY + footprint.height * 0.75;
149476
149512
  licenseSign.zIndex = sprite.zIndex + 0.15;
149477
149513
  label.visible = false;
149514
+ } else {
149515
+ licenseGround = generateNeutralGround(sizeMultiplier);
149478
149516
  }
149517
+ licenseGround.x = screenX;
149518
+ licenseGround.y = screenY;
149519
+ licenseGround.zIndex = screenY;
149479
149520
  let ownerAvatar;
149480
149521
  if (node2.ownerAvatar) {
149481
149522
  try {
149482
- const footprint = calculateFootprint(sizeMultiplier);
149523
+ const footprint2 = calculateFootprint(sizeMultiplier);
149483
149524
  const avatarSize = 24;
149484
149525
  ownerAvatar = new Container();
149485
149526
  const background = new Graphics();
@@ -149509,7 +149550,7 @@ class IsometricRenderer {
149509
149550
  ownerAvatar.addChild(avatar);
149510
149551
  }
149511
149552
  ownerAvatar.x = screenX;
149512
- ownerAvatar.y = screenY + footprint.height - avatarSize / 2;
149553
+ ownerAvatar.y = screenY + footprint2.height - avatarSize / 2;
149513
149554
  ownerAvatar.zIndex = sprite.zIndex + 0.12;
149514
149555
  } catch {
149515
149556
  ownerAvatar = void 0;
@@ -149519,7 +149560,7 @@ class IsometricRenderer {
149519
149560
  if (node2.stars && node2.stars > 0) {
149520
149561
  const tier = getStarTier(node2.stars);
149521
149562
  if (tier) {
149522
- const footprint = calculateFootprint(sizeMultiplier);
149563
+ const footprint2 = calculateFootprint(sizeMultiplier);
149523
149564
  starDecoration = new Container();
149524
149565
  let decoration;
149525
149566
  switch (tier.decorationType) {
@@ -149570,7 +149611,7 @@ class IsometricRenderer {
149570
149611
  countText.visible = false;
149571
149612
  });
149572
149613
  starDecoration.addChild(countText);
149573
- starDecoration.x = screenX - footprint.width / 2;
149614
+ starDecoration.x = screenX - footprint2.width / 2;
149574
149615
  starDecoration.y = screenY;
149575
149616
  starDecoration.zIndex = sprite.zIndex + 0.11;
149576
149617
  }
@@ -149579,7 +149620,7 @@ class IsometricRenderer {
149579
149620
  if (node2.collaborators && node2.collaborators > 0) {
149580
149621
  const tier = getCollaboratorTier(node2.collaborators);
149581
149622
  if (tier) {
149582
- const footprint = calculateFootprint(sizeMultiplier);
149623
+ const footprint2 = calculateFootprint(sizeMultiplier);
149583
149624
  collaboratorDecoration = new Container();
149584
149625
  let decoration;
149585
149626
  switch (tier.decorationType) {
@@ -149634,7 +149675,7 @@ class IsometricRenderer {
149634
149675
  countText.visible = false;
149635
149676
  });
149636
149677
  collaboratorDecoration.addChild(countText);
149637
- collaboratorDecoration.x = screenX + footprint.width / 2;
149678
+ collaboratorDecoration.x = screenX + footprint2.width / 2;
149638
149679
  collaboratorDecoration.y = screenY;
149639
149680
  collaboratorDecoration.zIndex = sprite.zIndex + 0.11;
149640
149681
  }
@@ -149683,26 +149724,26 @@ class IsometricRenderer {
149683
149724
  licenseGround.zIndex = pos.screenY;
149684
149725
  }
149685
149726
  if (licenseSign) {
149686
- const footprint = calculateFootprint(sizeMultiplier);
149727
+ const footprint2 = calculateFootprint(sizeMultiplier);
149687
149728
  licenseSign.x = pos.screenX;
149688
- licenseSign.y = pos.screenY + footprint.height * 0.75;
149729
+ licenseSign.y = pos.screenY + footprint2.height * 0.75;
149689
149730
  licenseSign.zIndex = getIsometricZIndex(gridX, gridY) + 0.15;
149690
149731
  }
149691
149732
  if (ownerAvatar) {
149692
- const footprint = calculateFootprint(sizeMultiplier);
149733
+ const footprint2 = calculateFootprint(sizeMultiplier);
149693
149734
  ownerAvatar.x = pos.screenX;
149694
- ownerAvatar.y = pos.screenY + footprint.height - 12;
149735
+ ownerAvatar.y = pos.screenY + footprint2.height - 12;
149695
149736
  ownerAvatar.zIndex = getIsometricZIndex(gridX, gridY) + 0.12;
149696
149737
  }
149697
149738
  if (starDecoration) {
149698
- const footprint = calculateFootprint(sizeMultiplier);
149699
- starDecoration.x = pos.screenX - footprint.width / 2;
149739
+ const footprint2 = calculateFootprint(sizeMultiplier);
149740
+ starDecoration.x = pos.screenX - footprint2.width / 2;
149700
149741
  starDecoration.y = pos.screenY;
149701
149742
  starDecoration.zIndex = getIsometricZIndex(gridX, gridY) + 0.11;
149702
149743
  }
149703
149744
  if (collaboratorDecoration) {
149704
- const footprint = calculateFootprint(sizeMultiplier);
149705
- collaboratorDecoration.x = pos.screenX + footprint.width / 2;
149745
+ const footprint2 = calculateFootprint(sizeMultiplier);
149746
+ collaboratorDecoration.x = pos.screenX + footprint2.width / 2;
149706
149747
  collaboratorDecoration.y = pos.screenY;
149707
149748
  collaboratorDecoration.zIndex = getIsometricZIndex(gridX, gridY) + 0.11;
149708
149749
  }
@@ -153888,56 +153929,6 @@ const TelemetryCoveragePanel = ({ context: context2, events }) => {
153888
153929
  }
153889
153930
  );
153890
153931
  };
153891
- const cardThemes = {
153892
- blue: {
153893
- cardBg: "#3b4a6b",
153894
- cardBorder: "#2a3654",
153895
- cardHighlight: "#4a5d8a",
153896
- windowGradient: ["#1a1a2e", "#16213e"],
153897
- panelGradient: ["#4a5d8a", "#3b4a6b"],
153898
- panelBorder: "#5a6d9a"
153899
- },
153900
- red: {
153901
- cardBg: "#6b3b3b",
153902
- cardBorder: "#542a2a",
153903
- cardHighlight: "#8a4a4a",
153904
- windowGradient: ["#2e1a1a", "#3e1616"],
153905
- panelGradient: ["#8a4a4a", "#6b3b3b"],
153906
- panelBorder: "#9a5a5a"
153907
- },
153908
- green: {
153909
- cardBg: "#3b6b4a",
153910
- cardBorder: "#2a5436",
153911
- cardHighlight: "#4a8a5d",
153912
- windowGradient: ["#1a2e1f", "#163e21"],
153913
- panelGradient: ["#4a8a5d", "#3b6b4a"],
153914
- panelBorder: "#5a9a6d"
153915
- },
153916
- purple: {
153917
- cardBg: "#5b3b6b",
153918
- cardBorder: "#442a54",
153919
- cardHighlight: "#7a4a8a",
153920
- windowGradient: ["#261a2e", "#30163e"],
153921
- panelGradient: ["#7a4a8a", "#5b3b6b"],
153922
- panelBorder: "#8a5a9a"
153923
- },
153924
- gold: {
153925
- cardBg: "#6b5a3b",
153926
- cardBorder: "#54462a",
153927
- cardHighlight: "#8a754a",
153928
- windowGradient: ["#2e271a", "#3e3216"],
153929
- panelGradient: ["#8a754a", "#6b5a3b"],
153930
- panelBorder: "#9a855a"
153931
- },
153932
- dark: {
153933
- cardBg: "#2a2a2a",
153934
- cardBorder: "#1a1a1a",
153935
- cardHighlight: "#3a3a3a",
153936
- windowGradient: ["#0a0a0a", "#151515"],
153937
- panelGradient: ["#3a3a3a", "#2a2a2a"],
153938
- panelBorder: "#4a4a4a"
153939
- }
153940
- };
153941
153932
  const licenseBorderColors = {
153942
153933
  MIT: "#228b22",
153943
153934
  // Forest green - open/welcoming
@@ -153964,6 +153955,28 @@ function formatCount(count2) {
153964
153955
  }
153965
153956
  const ISO_TILE_WIDTH$1 = 64;
153966
153957
  const ISO_TILE_HEIGHT$1 = 32;
153958
+ function darkenColor$1(color2, percent) {
153959
+ const r2 = Math.max(0, (color2 >> 16 & 255) * (1 - percent));
153960
+ const g2 = Math.max(0, (color2 >> 8 & 255) * (1 - percent));
153961
+ const b2 = Math.max(0, (color2 & 255) * (1 - percent));
153962
+ return `#${Math.round(r2).toString(16).padStart(2, "0")}${Math.round(g2).toString(16).padStart(2, "0")}${Math.round(b2).toString(16).padStart(2, "0")}`;
153963
+ }
153964
+ function generateCardColors$1(baseColor) {
153965
+ return {
153966
+ cardBg: darkenColor$1(baseColor, 0.6),
153967
+ cardBorder: darkenColor$1(baseColor, 0.7),
153968
+ cardHighlight: darkenColor$1(baseColor, 0.4),
153969
+ windowGradient: [
153970
+ darkenColor$1(baseColor, 0.85),
153971
+ darkenColor$1(baseColor, 0.8)
153972
+ ],
153973
+ panelGradient: [
153974
+ darkenColor$1(baseColor, 0.4),
153975
+ darkenColor$1(baseColor, 0.6)
153976
+ ],
153977
+ panelBorder: darkenColor$1(baseColor, 0.3)
153978
+ };
153979
+ }
153967
153980
  function parseColor$1(color2) {
153968
153981
  if (typeof color2 === "number") return color2;
153969
153982
  return parseInt(color2.replace("#", ""), 16);
@@ -154021,6 +154034,7 @@ const RepoSprite = ({
154021
154034
  license,
154022
154035
  label,
154023
154036
  owner,
154037
+ language: language2,
154024
154038
  variant = "default",
154025
154039
  cardTheme = "blue",
154026
154040
  width = 200,
@@ -154077,13 +154091,8 @@ const RepoSprite = ({
154077
154091
  boundary.stroke();
154078
154092
  mainContainer.addChild(boundary);
154079
154093
  }
154080
- if (license) {
154081
- const licenseGround = generateLicenseGround(
154082
- license,
154083
- size
154084
- );
154085
- mainContainer.addChild(licenseGround);
154086
- }
154094
+ const ground = license ? generateLicenseGround(license, size) : generateNeutralGround(size);
154095
+ mainContainer.addChild(ground);
154087
154096
  if (packages && packages.length > 1) {
154088
154097
  const positions = getPackagePositions$1(
154089
154098
  packages.length,
@@ -154215,7 +154224,8 @@ const RepoSprite = ({
154215
154224
  onPackageHoverEnd
154216
154225
  ]);
154217
154226
  if (variant === "card") {
154218
- const colors = cardThemes[cardTheme];
154227
+ const baseColor = parseColor$1(color2);
154228
+ const colors = generateCardColors$1(baseColor);
154219
154229
  const licenseBorder = license ? licenseBorderColors[license] : null;
154220
154230
  return /* @__PURE__ */ jsxs(
154221
154231
  "div",
@@ -154225,7 +154235,7 @@ const RepoSprite = ({
154225
154235
  display: "flex",
154226
154236
  flexDirection: "column",
154227
154237
  backgroundColor: colors.cardBg,
154228
- padding: "28px 12px 12px 12px",
154238
+ padding: "36px 12px 20px 12px",
154229
154239
  border: `${licenseBorder ? "5px" : "3px"} solid ${licenseBorder || colors.cardBorder}`,
154230
154240
  width: "100%",
154231
154241
  height: "100%",
@@ -154239,8 +154249,8 @@ const RepoSprite = ({
154239
154249
  {
154240
154250
  style: {
154241
154251
  position: "absolute",
154242
- top: "6px",
154243
- left: "8px",
154252
+ top: "10px",
154253
+ left: "10px",
154244
154254
  display: "flex",
154245
154255
  alignItems: "center",
154246
154256
  gap: "6px",
@@ -154285,8 +154295,8 @@ const RepoSprite = ({
154285
154295
  {
154286
154296
  style: {
154287
154297
  position: "absolute",
154288
- top: "6px",
154289
- right: "8px",
154298
+ top: "10px",
154299
+ right: "10px",
154290
154300
  display: "flex",
154291
154301
  alignItems: "center",
154292
154302
  gap: "4px",
@@ -154389,7 +154399,7 @@ const RepoSprite = ({
154389
154399
  "div",
154390
154400
  {
154391
154401
  style: {
154392
- marginTop: "8px",
154402
+ marginTop: "12px",
154393
154403
  padding: "8px",
154394
154404
  background: `linear-gradient(180deg, ${colors.panelGradient[0]} 0%, ${colors.panelGradient[1]} 100%)`,
154395
154405
  border: `1px solid ${colors.panelBorder}`,
@@ -154494,6 +154504,22 @@ const RepoSprite = ({
154494
154504
  ]
154495
154505
  }
154496
154506
  ),
154507
+ language2 && /* @__PURE__ */ jsx(
154508
+ "div",
154509
+ {
154510
+ style: {
154511
+ position: "absolute",
154512
+ bottom: "4px",
154513
+ left: "8px",
154514
+ fontSize: theme2.fontSizes[0],
154515
+ fontWeight: theme2.fontWeights.medium,
154516
+ color: "#e0e0e0",
154517
+ textShadow: "0 1px 1px rgba(0,0,0,0.3)",
154518
+ fontFamily: theme2.fonts.body
154519
+ },
154520
+ children: language2
154521
+ }
154522
+ ),
154497
154523
  license && /* @__PURE__ */ jsx(
154498
154524
  "div",
154499
154525
  {
@@ -154615,7 +154641,7 @@ const RepoCard = ({
154615
154641
  onPackageHover,
154616
154642
  onPackageHoverEnd
154617
154643
  }) => {
154618
- var _a, _b, _c, _d, _e2;
154644
+ var _a, _b, _c, _d, _e2, _f;
154619
154645
  const size = sizeOverride ?? calculateRepositorySize(repository.metrics);
154620
154646
  const color2 = colorOverride ?? getRepositoryColor$1(repository);
154621
154647
  const packages = transformPackages(repository.packages);
@@ -154629,6 +154655,7 @@ const RepoCard = ({
154629
154655
  license: (_d = repository.github) == null ? void 0 : _d.license,
154630
154656
  label: repository.name,
154631
154657
  owner: (_e2 = repository.github) == null ? void 0 : _e2.owner,
154658
+ language: (_f = repository.github) == null ? void 0 : _f.primaryLanguage,
154632
154659
  variant,
154633
154660
  cardTheme,
154634
154661
  width,
@@ -154769,10 +154796,8 @@ async function renderSpriteInternal(options) {
154769
154796
  boundary.stroke();
154770
154797
  mainContainer.addChild(boundary);
154771
154798
  }
154772
- if (license) {
154773
- const licenseGround = generateLicenseGround(license, size);
154774
- mainContainer.addChild(licenseGround);
154775
- }
154799
+ const ground = license ? generateLicenseGround(license, size) : generateNeutralGround(size);
154800
+ mainContainer.addChild(ground);
154776
154801
  if (packages && packages.length > 1) {
154777
154802
  const positions = getPackagePositions(
154778
154803
  packages.length,
@@ -154962,6 +154987,28 @@ function hashStringToColor(str2) {
154962
154987
  };
154963
154988
  return (f2(0) << 16) + (f2(8) << 8) + f2(4);
154964
154989
  }
154990
+ function darkenColor(color2, percent) {
154991
+ const r2 = Math.max(0, (color2 >> 16 & 255) * (1 - percent));
154992
+ const g2 = Math.max(0, (color2 >> 8 & 255) * (1 - percent));
154993
+ const b2 = Math.max(0, (color2 & 255) * (1 - percent));
154994
+ return `#${Math.round(r2).toString(16).padStart(2, "0")}${Math.round(g2).toString(16).padStart(2, "0")}${Math.round(b2).toString(16).padStart(2, "0")}`;
154995
+ }
154996
+ function generateCardColors(baseColor) {
154997
+ return {
154998
+ cardBg: darkenColor(baseColor, 0.6),
154999
+ cardBorder: darkenColor(baseColor, 0.7),
155000
+ cardHighlight: darkenColor(baseColor, 0.4),
155001
+ windowGradient: [
155002
+ darkenColor(baseColor, 0.85),
155003
+ darkenColor(baseColor, 0.8)
155004
+ ],
155005
+ panelGradient: [
155006
+ darkenColor(baseColor, 0.4),
155007
+ darkenColor(baseColor, 0.6)
155008
+ ],
155009
+ panelBorder: darkenColor(baseColor, 0.3)
155010
+ };
155011
+ }
154965
155012
  function getRepositoryColor(repository) {
154966
155013
  var _a;
154967
155014
  if (repository.bookColor) {
@@ -154984,17 +155031,17 @@ const RepoCardStatic = ({
154984
155031
  height = 280,
154985
155032
  spriteSize = 160
154986
155033
  }) => {
154987
- var _a, _b, _c, _d;
155034
+ var _a, _b, _c, _d, _e2;
154988
155035
  const { theme: theme2 } = useTheme();
154989
155036
  const [spriteDataUrl, setSpriteDataUrl] = useState(null);
154990
155037
  const [isLoading, setIsLoading] = useState(true);
154991
- const colors = cardThemes[cardTheme];
154992
155038
  const license = (_a = repository.github) == null ? void 0 : _a.license;
154993
155039
  const licenseBorder = license ? licenseBorderColors[license] : null;
154994
155040
  const stars = (_b = repository.github) == null ? void 0 : _b.stars;
154995
155041
  const files = (_c = repository.metrics) == null ? void 0 : _c.fileCount;
154996
155042
  const size = calculateRepositorySize(repository.metrics);
154997
155043
  const color2 = getRepositoryColor(repository);
155044
+ const colors = generateCardColors(color2);
154998
155045
  useEffect(() => {
154999
155046
  let mounted = true;
155000
155047
  async function renderSprite() {
@@ -155035,7 +155082,7 @@ const RepoCardStatic = ({
155035
155082
  display: "flex",
155036
155083
  flexDirection: "column",
155037
155084
  backgroundColor: colors.cardBg,
155038
- padding: "28px 12px 12px 12px",
155085
+ padding: "36px 12px 20px 12px",
155039
155086
  border: `${licenseBorder ? "5px" : "3px"} solid ${licenseBorder || colors.cardBorder}`,
155040
155087
  width,
155041
155088
  height,
@@ -155049,8 +155096,8 @@ const RepoCardStatic = ({
155049
155096
  {
155050
155097
  style: {
155051
155098
  position: "absolute",
155052
- top: "6px",
155053
- left: "8px",
155099
+ top: "10px",
155100
+ left: "10px",
155054
155101
  display: "flex",
155055
155102
  alignItems: "center",
155056
155103
  gap: "6px",
@@ -155095,8 +155142,8 @@ const RepoCardStatic = ({
155095
155142
  {
155096
155143
  style: {
155097
155144
  position: "absolute",
155098
- top: "6px",
155099
- right: "8px",
155145
+ top: "10px",
155146
+ right: "10px",
155100
155147
  display: "flex",
155101
155148
  alignItems: "center",
155102
155149
  gap: "4px",
@@ -155220,7 +155267,7 @@ const RepoCardStatic = ({
155220
155267
  "div",
155221
155268
  {
155222
155269
  style: {
155223
- marginTop: "8px",
155270
+ marginTop: "12px",
155224
155271
  padding: "8px",
155225
155272
  background: `linear-gradient(180deg, ${colors.panelGradient[0]} 0%, ${colors.panelGradient[1]} 100%)`,
155226
155273
  border: `1px solid ${colors.panelBorder}`,
@@ -155320,6 +155367,22 @@ const RepoCardStatic = ({
155320
155367
  ]
155321
155368
  }
155322
155369
  ),
155370
+ ((_e2 = repository.github) == null ? void 0 : _e2.primaryLanguage) && /* @__PURE__ */ jsx(
155371
+ "div",
155372
+ {
155373
+ style: {
155374
+ position: "absolute",
155375
+ bottom: "4px",
155376
+ left: "8px",
155377
+ fontSize: theme2.fontSizes[0],
155378
+ fontWeight: theme2.fontWeights.medium,
155379
+ color: "#e0e0e0",
155380
+ textShadow: "0 1px 1px rgba(0,0,0,0.3)",
155381
+ fontFamily: theme2.fonts.body
155382
+ },
155383
+ children: repository.github.primaryLanguage
155384
+ }
155385
+ ),
155323
155386
  license && /* @__PURE__ */ jsx(
155324
155387
  "div",
155325
155388
  {
@@ -155512,4 +155575,4 @@ export {
155512
155575
  RepoCardStatic as y,
155513
155576
  renderSpriteToDataUrl as z
155514
155577
  };
155515
- //# sourceMappingURL=index-Du-HFyPY.js.map
155578
+ //# sourceMappingURL=index-BinFidNv.js.map