@almadar/ui 5.68.0 → 5.70.0

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.
@@ -7177,6 +7177,14 @@ var init_ControlButton = __esm({
7177
7177
  }
7178
7178
  });
7179
7179
 
7180
+ // components/game/organisms/utils/spriteSheetConstants.ts
7181
+ var SHEET_COLUMNS;
7182
+ var init_spriteSheetConstants = __esm({
7183
+ "components/game/organisms/utils/spriteSheetConstants.ts"() {
7184
+ SHEET_COLUMNS = 8;
7185
+ }
7186
+ });
7187
+
7180
7188
  // components/game/organisms/utils/spriteAnimation.ts
7181
7189
  function inferDirection(dx, dy) {
7182
7190
  if (dx === 0 && dy === 0) return "se";
@@ -11500,7 +11508,13 @@ function IsometricCanvas({
11500
11508
  const img = unitSpriteUrl ? getImage(unitSpriteUrl) : null;
11501
11509
  const unitDrawH = scaledFloorHeight * spriteHeightRatio * unitScale;
11502
11510
  const maxUnitW = scaledTileWidth * spriteMaxWidthRatio * unitScale;
11503
- const ar = img ? img.naturalWidth / img.naturalHeight : 0.5;
11511
+ const SHEET_ROWS = 5;
11512
+ const sheetFrameW = img ? img.naturalWidth / SHEET_COLUMNS : 0;
11513
+ const sheetFrameH = img ? img.naturalHeight / SHEET_ROWS : 0;
11514
+ const imgIsSheet = img ? img.naturalWidth % SHEET_COLUMNS === 0 && img.naturalHeight % SHEET_ROWS === 0 && Math.abs(sheetFrameW - sheetFrameH) < 2 : false;
11515
+ const frameW = imgIsSheet ? sheetFrameW : img?.naturalWidth ?? 1;
11516
+ const frameH = imgIsSheet ? sheetFrameH : img?.naturalHeight ?? 1;
11517
+ const ar = frameW / (frameH || 1);
11504
11518
  let drawH = unitDrawH;
11505
11519
  let drawW = unitDrawH * ar;
11506
11520
  if (drawW > maxUnitW) {
@@ -11514,7 +11528,11 @@ function IsometricCanvas({
11514
11528
  ctx.save();
11515
11529
  ctx.globalAlpha = 0.25;
11516
11530
  if (img) {
11517
- ctx.drawImage(img, ghostCenterX - drawW / 2, ghostGroundY - drawH, drawW, drawH);
11531
+ if (imgIsSheet) {
11532
+ ctx.drawImage(img, 0, 0, sheetFrameW, sheetFrameH, ghostCenterX - drawW / 2, ghostGroundY - drawH, drawW, drawH);
11533
+ } else {
11534
+ ctx.drawImage(img, ghostCenterX - drawW / 2, ghostGroundY - drawH, drawW, drawH);
11535
+ }
11518
11536
  } else {
11519
11537
  const color = unit.team === "player" ? "#3b82f6" : unit.team === "enemy" ? "#ef4444" : "#6b7280";
11520
11538
  ctx.beginPath();
@@ -11558,14 +11576,21 @@ function IsometricCanvas({
11558
11576
  ctx.restore();
11559
11577
  } else if (img) {
11560
11578
  const spriteY = groundY - drawH - breatheOffset;
11579
+ const drawUnit = (x) => {
11580
+ if (imgIsSheet) {
11581
+ ctx.drawImage(img, 0, 0, sheetFrameW, sheetFrameH, x, spriteY, drawW, drawH);
11582
+ } else {
11583
+ ctx.drawImage(img, x, spriteY, drawW, drawH);
11584
+ }
11585
+ };
11561
11586
  if (unit.team) {
11562
11587
  ctx.save();
11563
11588
  ctx.shadowColor = unit.team === "player" ? "rgba(0, 150, 255, 0.6)" : "rgba(255, 50, 50, 0.6)";
11564
11589
  ctx.shadowBlur = 12 * scale;
11565
- ctx.drawImage(img, centerX - drawW / 2, spriteY, drawW, drawH);
11590
+ drawUnit(centerX - drawW / 2);
11566
11591
  ctx.restore();
11567
11592
  } else {
11568
- ctx.drawImage(img, centerX - drawW / 2, spriteY, drawW, drawH);
11593
+ drawUnit(centerX - drawW / 2);
11569
11594
  }
11570
11595
  } else {
11571
11596
  const color = unit.team === "player" ? "#3b82f6" : unit.team === "enemy" ? "#ef4444" : "#6b7280";
@@ -11858,6 +11883,7 @@ var init_IsometricCanvas = __esm({
11858
11883
  init_useUnitSpriteAtlas();
11859
11884
  init_verificationRegistry();
11860
11885
  init_isometric();
11886
+ init_spriteSheetConstants();
11861
11887
  IsometricCanvas.displayName = "IsometricCanvas";
11862
11888
  IsometricCanvas_default = IsometricCanvas;
11863
11889
  }
@@ -44717,35 +44743,44 @@ var init_HexStrategyBoard = __esm({
44717
44743
  }
44718
44744
  });
44719
44745
  function HolidayRunnerBoard({
44720
- backgroundImage,
44746
+ tiles,
44747
+ units,
44748
+ features,
44749
+ assetManifest,
44721
44750
  assetBaseUrl,
44722
- width = 800,
44723
- height = 400,
44724
- fps = 60,
44751
+ scale = 0.45,
44752
+ showMinimap = false,
44753
+ enableCamera = true,
44754
+ tileClickEvent,
44755
+ unitClickEvent,
44725
44756
  isLoading,
44726
44757
  error,
44727
44758
  className
44728
44759
  }) {
44729
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("holiday-runner-board relative w-full h-full", className), children: [
44730
- isLoading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/40 z-10", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-white text-sm", children: "Loading\u2026" }) }),
44731
- error && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/60 z-10", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-400 text-sm", children: error.message }) }),
44732
- /* @__PURE__ */ jsxRuntime.jsx(
44733
- GameCanvas2D,
44734
- {
44735
- width,
44736
- height,
44737
- fps,
44738
- backgroundImage: backgroundImage ?? "",
44739
- assetBaseUrl
44740
- }
44741
- )
44742
- ] });
44760
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("holiday-runner-board relative w-full h-full", className), children: /* @__PURE__ */ jsxRuntime.jsx(
44761
+ IsometricCanvas_default,
44762
+ {
44763
+ tileLayout: "flat",
44764
+ tiles,
44765
+ units,
44766
+ features,
44767
+ assetManifest,
44768
+ assetBaseUrl,
44769
+ scale,
44770
+ showMinimap,
44771
+ enableCamera,
44772
+ tileClickEvent,
44773
+ unitClickEvent,
44774
+ isLoading,
44775
+ error
44776
+ }
44777
+ ) });
44743
44778
  }
44744
44779
  var init_HolidayRunnerBoard = __esm({
44745
44780
  "components/game/organisms/HolidayRunnerBoard.tsx"() {
44746
44781
  "use client";
44747
44782
  init_cn();
44748
- init_GameCanvas2D();
44783
+ init_IsometricCanvas();
44749
44784
  HolidayRunnerBoard.displayName = "HolidayRunnerBoard";
44750
44785
  }
44751
44786
  });
@@ -46463,25 +46498,36 @@ var init_PricingPageTemplate = __esm({
46463
46498
  }
46464
46499
  });
46465
46500
  function RacingBoard({
46466
- backgroundImage,
46501
+ tiles,
46502
+ units,
46503
+ features,
46504
+ assetManifest,
46467
46505
  assetBaseUrl,
46468
- width = 800,
46469
- height = 600,
46470
- fps = 60,
46471
- tickEvent,
46472
- drawEvent,
46506
+ scale = 0.45,
46507
+ showMinimap = true,
46508
+ enableCamera = true,
46509
+ tileClickEvent,
46510
+ unitClickEvent,
46511
+ isLoading,
46512
+ error,
46473
46513
  className
46474
46514
  }) {
46475
46515
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("racing-board relative w-full h-full", className), children: /* @__PURE__ */ jsxRuntime.jsx(
46476
- GameCanvas2D,
46516
+ IsometricCanvas_default,
46477
46517
  {
46478
- backgroundImage,
46518
+ tileLayout: "flat",
46519
+ tiles,
46520
+ units,
46521
+ features,
46522
+ assetManifest,
46479
46523
  assetBaseUrl,
46480
- width,
46481
- height,
46482
- fps,
46483
- tickEvent: typeof tickEvent === "string" ? tickEvent : void 0,
46484
- drawEvent: typeof drawEvent === "string" ? drawEvent : void 0
46524
+ scale,
46525
+ showMinimap,
46526
+ enableCamera,
46527
+ tileClickEvent,
46528
+ unitClickEvent,
46529
+ isLoading,
46530
+ error
46485
46531
  }
46486
46532
  ) });
46487
46533
  }
@@ -46489,7 +46535,7 @@ var init_RacingBoard = __esm({
46489
46535
  "components/game/organisms/RacingBoard.tsx"() {
46490
46536
  "use client";
46491
46537
  init_cn();
46492
- init_GameCanvas2D();
46538
+ init_IsometricCanvas();
46493
46539
  RacingBoard.displayName = "RacingBoard";
46494
46540
  }
46495
46541
  });
@@ -49741,35 +49787,44 @@ var init_SokobanBoard = __esm({
49741
49787
  }
49742
49788
  });
49743
49789
  function SpaceShmupBoard({
49744
- backgroundImage,
49790
+ tiles,
49791
+ units,
49792
+ features,
49793
+ assetManifest,
49745
49794
  assetBaseUrl,
49746
- width = 800,
49747
- height = 600,
49748
- fps = 60,
49795
+ scale = 0.45,
49796
+ showMinimap = false,
49797
+ enableCamera = true,
49798
+ tileClickEvent,
49799
+ unitClickEvent,
49749
49800
  isLoading,
49750
49801
  error,
49751
49802
  className
49752
49803
  }) {
49753
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-shmup-board relative w-full h-full", className), children: [
49754
- isLoading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/60 z-10", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-white text-sm", children: "Loading\u2026" }) }),
49755
- error && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-red-900/60 z-10", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-white text-sm", children: error.message }) }),
49756
- /* @__PURE__ */ jsxRuntime.jsx(
49757
- GameCanvas2D,
49758
- {
49759
- backgroundImage,
49760
- assetBaseUrl,
49761
- width,
49762
- height,
49763
- fps
49764
- }
49765
- )
49766
- ] });
49804
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("space-shmup-board relative w-full h-full", className), children: /* @__PURE__ */ jsxRuntime.jsx(
49805
+ IsometricCanvas_default,
49806
+ {
49807
+ tileLayout: "flat",
49808
+ tiles,
49809
+ units,
49810
+ features,
49811
+ assetManifest,
49812
+ assetBaseUrl,
49813
+ scale,
49814
+ showMinimap,
49815
+ enableCamera,
49816
+ tileClickEvent,
49817
+ unitClickEvent,
49818
+ isLoading,
49819
+ error
49820
+ }
49821
+ ) });
49767
49822
  }
49768
49823
  var init_SpaceShmupBoard = __esm({
49769
49824
  "components/game/organisms/SpaceShmupBoard.tsx"() {
49770
49825
  "use client";
49771
49826
  init_cn();
49772
- init_GameCanvas2D();
49827
+ init_IsometricCanvas();
49773
49828
  SpaceShmupBoard.displayName = "SpaceShmupBoard";
49774
49829
  }
49775
49830
  });
@@ -7130,6 +7130,14 @@ var init_ControlButton = __esm({
7130
7130
  }
7131
7131
  });
7132
7132
 
7133
+ // components/game/organisms/utils/spriteSheetConstants.ts
7134
+ var SHEET_COLUMNS;
7135
+ var init_spriteSheetConstants = __esm({
7136
+ "components/game/organisms/utils/spriteSheetConstants.ts"() {
7137
+ SHEET_COLUMNS = 8;
7138
+ }
7139
+ });
7140
+
7133
7141
  // components/game/organisms/utils/spriteAnimation.ts
7134
7142
  function inferDirection(dx, dy) {
7135
7143
  if (dx === 0 && dy === 0) return "se";
@@ -11453,7 +11461,13 @@ function IsometricCanvas({
11453
11461
  const img = unitSpriteUrl ? getImage(unitSpriteUrl) : null;
11454
11462
  const unitDrawH = scaledFloorHeight * spriteHeightRatio * unitScale;
11455
11463
  const maxUnitW = scaledTileWidth * spriteMaxWidthRatio * unitScale;
11456
- const ar = img ? img.naturalWidth / img.naturalHeight : 0.5;
11464
+ const SHEET_ROWS = 5;
11465
+ const sheetFrameW = img ? img.naturalWidth / SHEET_COLUMNS : 0;
11466
+ const sheetFrameH = img ? img.naturalHeight / SHEET_ROWS : 0;
11467
+ const imgIsSheet = img ? img.naturalWidth % SHEET_COLUMNS === 0 && img.naturalHeight % SHEET_ROWS === 0 && Math.abs(sheetFrameW - sheetFrameH) < 2 : false;
11468
+ const frameW = imgIsSheet ? sheetFrameW : img?.naturalWidth ?? 1;
11469
+ const frameH = imgIsSheet ? sheetFrameH : img?.naturalHeight ?? 1;
11470
+ const ar = frameW / (frameH || 1);
11457
11471
  let drawH = unitDrawH;
11458
11472
  let drawW = unitDrawH * ar;
11459
11473
  if (drawW > maxUnitW) {
@@ -11467,7 +11481,11 @@ function IsometricCanvas({
11467
11481
  ctx.save();
11468
11482
  ctx.globalAlpha = 0.25;
11469
11483
  if (img) {
11470
- ctx.drawImage(img, ghostCenterX - drawW / 2, ghostGroundY - drawH, drawW, drawH);
11484
+ if (imgIsSheet) {
11485
+ ctx.drawImage(img, 0, 0, sheetFrameW, sheetFrameH, ghostCenterX - drawW / 2, ghostGroundY - drawH, drawW, drawH);
11486
+ } else {
11487
+ ctx.drawImage(img, ghostCenterX - drawW / 2, ghostGroundY - drawH, drawW, drawH);
11488
+ }
11471
11489
  } else {
11472
11490
  const color = unit.team === "player" ? "#3b82f6" : unit.team === "enemy" ? "#ef4444" : "#6b7280";
11473
11491
  ctx.beginPath();
@@ -11511,14 +11529,21 @@ function IsometricCanvas({
11511
11529
  ctx.restore();
11512
11530
  } else if (img) {
11513
11531
  const spriteY = groundY - drawH - breatheOffset;
11532
+ const drawUnit = (x) => {
11533
+ if (imgIsSheet) {
11534
+ ctx.drawImage(img, 0, 0, sheetFrameW, sheetFrameH, x, spriteY, drawW, drawH);
11535
+ } else {
11536
+ ctx.drawImage(img, x, spriteY, drawW, drawH);
11537
+ }
11538
+ };
11514
11539
  if (unit.team) {
11515
11540
  ctx.save();
11516
11541
  ctx.shadowColor = unit.team === "player" ? "rgba(0, 150, 255, 0.6)" : "rgba(255, 50, 50, 0.6)";
11517
11542
  ctx.shadowBlur = 12 * scale;
11518
- ctx.drawImage(img, centerX - drawW / 2, spriteY, drawW, drawH);
11543
+ drawUnit(centerX - drawW / 2);
11519
11544
  ctx.restore();
11520
11545
  } else {
11521
- ctx.drawImage(img, centerX - drawW / 2, spriteY, drawW, drawH);
11546
+ drawUnit(centerX - drawW / 2);
11522
11547
  }
11523
11548
  } else {
11524
11549
  const color = unit.team === "player" ? "#3b82f6" : unit.team === "enemy" ? "#ef4444" : "#6b7280";
@@ -11811,6 +11836,7 @@ var init_IsometricCanvas = __esm({
11811
11836
  init_useUnitSpriteAtlas();
11812
11837
  init_verificationRegistry();
11813
11838
  init_isometric();
11839
+ init_spriteSheetConstants();
11814
11840
  IsometricCanvas.displayName = "IsometricCanvas";
11815
11841
  IsometricCanvas_default = IsometricCanvas;
11816
11842
  }
@@ -44670,35 +44696,44 @@ var init_HexStrategyBoard = __esm({
44670
44696
  }
44671
44697
  });
44672
44698
  function HolidayRunnerBoard({
44673
- backgroundImage,
44699
+ tiles,
44700
+ units,
44701
+ features,
44702
+ assetManifest,
44674
44703
  assetBaseUrl,
44675
- width = 800,
44676
- height = 400,
44677
- fps = 60,
44704
+ scale = 0.45,
44705
+ showMinimap = false,
44706
+ enableCamera = true,
44707
+ tileClickEvent,
44708
+ unitClickEvent,
44678
44709
  isLoading,
44679
44710
  error,
44680
44711
  className
44681
44712
  }) {
44682
- return /* @__PURE__ */ jsxs("div", { className: cn("holiday-runner-board relative w-full h-full", className), children: [
44683
- isLoading && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/40 z-10", children: /* @__PURE__ */ jsx("span", { className: "text-white text-sm", children: "Loading\u2026" }) }),
44684
- error && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/60 z-10", children: /* @__PURE__ */ jsx("span", { className: "text-red-400 text-sm", children: error.message }) }),
44685
- /* @__PURE__ */ jsx(
44686
- GameCanvas2D,
44687
- {
44688
- width,
44689
- height,
44690
- fps,
44691
- backgroundImage: backgroundImage ?? "",
44692
- assetBaseUrl
44693
- }
44694
- )
44695
- ] });
44713
+ return /* @__PURE__ */ jsx("div", { className: cn("holiday-runner-board relative w-full h-full", className), children: /* @__PURE__ */ jsx(
44714
+ IsometricCanvas_default,
44715
+ {
44716
+ tileLayout: "flat",
44717
+ tiles,
44718
+ units,
44719
+ features,
44720
+ assetManifest,
44721
+ assetBaseUrl,
44722
+ scale,
44723
+ showMinimap,
44724
+ enableCamera,
44725
+ tileClickEvent,
44726
+ unitClickEvent,
44727
+ isLoading,
44728
+ error
44729
+ }
44730
+ ) });
44696
44731
  }
44697
44732
  var init_HolidayRunnerBoard = __esm({
44698
44733
  "components/game/organisms/HolidayRunnerBoard.tsx"() {
44699
44734
  "use client";
44700
44735
  init_cn();
44701
- init_GameCanvas2D();
44736
+ init_IsometricCanvas();
44702
44737
  HolidayRunnerBoard.displayName = "HolidayRunnerBoard";
44703
44738
  }
44704
44739
  });
@@ -46416,25 +46451,36 @@ var init_PricingPageTemplate = __esm({
46416
46451
  }
46417
46452
  });
46418
46453
  function RacingBoard({
46419
- backgroundImage,
46454
+ tiles,
46455
+ units,
46456
+ features,
46457
+ assetManifest,
46420
46458
  assetBaseUrl,
46421
- width = 800,
46422
- height = 600,
46423
- fps = 60,
46424
- tickEvent,
46425
- drawEvent,
46459
+ scale = 0.45,
46460
+ showMinimap = true,
46461
+ enableCamera = true,
46462
+ tileClickEvent,
46463
+ unitClickEvent,
46464
+ isLoading,
46465
+ error,
46426
46466
  className
46427
46467
  }) {
46428
46468
  return /* @__PURE__ */ jsx("div", { className: cn("racing-board relative w-full h-full", className), children: /* @__PURE__ */ jsx(
46429
- GameCanvas2D,
46469
+ IsometricCanvas_default,
46430
46470
  {
46431
- backgroundImage,
46471
+ tileLayout: "flat",
46472
+ tiles,
46473
+ units,
46474
+ features,
46475
+ assetManifest,
46432
46476
  assetBaseUrl,
46433
- width,
46434
- height,
46435
- fps,
46436
- tickEvent: typeof tickEvent === "string" ? tickEvent : void 0,
46437
- drawEvent: typeof drawEvent === "string" ? drawEvent : void 0
46477
+ scale,
46478
+ showMinimap,
46479
+ enableCamera,
46480
+ tileClickEvent,
46481
+ unitClickEvent,
46482
+ isLoading,
46483
+ error
46438
46484
  }
46439
46485
  ) });
46440
46486
  }
@@ -46442,7 +46488,7 @@ var init_RacingBoard = __esm({
46442
46488
  "components/game/organisms/RacingBoard.tsx"() {
46443
46489
  "use client";
46444
46490
  init_cn();
46445
- init_GameCanvas2D();
46491
+ init_IsometricCanvas();
46446
46492
  RacingBoard.displayName = "RacingBoard";
46447
46493
  }
46448
46494
  });
@@ -49694,35 +49740,44 @@ var init_SokobanBoard = __esm({
49694
49740
  }
49695
49741
  });
49696
49742
  function SpaceShmupBoard({
49697
- backgroundImage,
49743
+ tiles,
49744
+ units,
49745
+ features,
49746
+ assetManifest,
49698
49747
  assetBaseUrl,
49699
- width = 800,
49700
- height = 600,
49701
- fps = 60,
49748
+ scale = 0.45,
49749
+ showMinimap = false,
49750
+ enableCamera = true,
49751
+ tileClickEvent,
49752
+ unitClickEvent,
49702
49753
  isLoading,
49703
49754
  error,
49704
49755
  className
49705
49756
  }) {
49706
- return /* @__PURE__ */ jsxs("div", { className: cn("space-shmup-board relative w-full h-full", className), children: [
49707
- isLoading && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/60 z-10", children: /* @__PURE__ */ jsx("span", { className: "text-white text-sm", children: "Loading\u2026" }) }),
49708
- error && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-red-900/60 z-10", children: /* @__PURE__ */ jsx("span", { className: "text-white text-sm", children: error.message }) }),
49709
- /* @__PURE__ */ jsx(
49710
- GameCanvas2D,
49711
- {
49712
- backgroundImage,
49713
- assetBaseUrl,
49714
- width,
49715
- height,
49716
- fps
49717
- }
49718
- )
49719
- ] });
49757
+ return /* @__PURE__ */ jsx("div", { className: cn("space-shmup-board relative w-full h-full", className), children: /* @__PURE__ */ jsx(
49758
+ IsometricCanvas_default,
49759
+ {
49760
+ tileLayout: "flat",
49761
+ tiles,
49762
+ units,
49763
+ features,
49764
+ assetManifest,
49765
+ assetBaseUrl,
49766
+ scale,
49767
+ showMinimap,
49768
+ enableCamera,
49769
+ tileClickEvent,
49770
+ unitClickEvent,
49771
+ isLoading,
49772
+ error
49773
+ }
49774
+ ) });
49720
49775
  }
49721
49776
  var init_SpaceShmupBoard = __esm({
49722
49777
  "components/game/organisms/SpaceShmupBoard.tsx"() {
49723
49778
  "use client";
49724
49779
  init_cn();
49725
- init_GameCanvas2D();
49780
+ init_IsometricCanvas();
49726
49781
  SpaceShmupBoard.displayName = "SpaceShmupBoard";
49727
49782
  }
49728
49783
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/ui",
3
- "version": "5.68.0",
3
+ "version": "5.70.0",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -33,8 +33,8 @@
33
33
  --border-width-thick: 2px;
34
34
 
35
35
  /* Colors - Teal on parchment */
36
- --color-primary: #14b8a6;
37
- --color-primary-hover: #0d9488;
36
+ --color-primary: #0f766e;
37
+ --color-primary-hover: #115e59;
38
38
  --color-primary-foreground: #ffffff;
39
39
 
40
40
  --color-secondary: #f1f5f9;
@@ -35,8 +35,8 @@
35
35
  --border-width-thick: 2px;
36
36
 
37
37
  /* Colors - Teal on light background */
38
- --color-primary: #14b8a6;
39
- --color-primary-hover: #0d9488;
38
+ --color-primary: #0f766e;
39
+ --color-primary-hover: #115e59;
40
40
  --color-primary-foreground: #ffffff;
41
41
 
42
42
  --color-secondary: #f1f5f9;
package/themes/arctic.css CHANGED
@@ -36,8 +36,8 @@
36
36
  --border-width-thick: 2px;
37
37
 
38
38
  /* Colors - Ice blue, cool and clean */
39
- --color-primary: #0284c7;
40
- --color-primary-hover: #0369a1;
39
+ --color-primary: #0369a1;
40
+ --color-primary-hover: #075985;
41
41
  --color-primary-foreground: #ffffff;
42
42
 
43
43
  --color-secondary: #e0f2fe;
package/themes/kiosk.css CHANGED
@@ -35,8 +35,8 @@
35
35
  --border-width-thick: 3px;
36
36
 
37
37
  /* Colors - Warm white background, saturated coral primary */
38
- --color-primary: #ff5a4f;
39
- --color-primary-hover: #e8483e;
38
+ --color-primary: #dc2626;
39
+ --color-primary-hover: #b91c1c;
40
40
  --color-primary-foreground: #ffffff;
41
41
 
42
42
  --color-secondary: #fff1ef;
@@ -147,9 +147,9 @@
147
147
  --border-width-thick: 2px;
148
148
 
149
149
  /* Colors - Deep purple dark mode */
150
- --color-primary: #a78bfa;
151
- --color-primary-hover: #c4b5fd;
152
- --color-primary-foreground: #2e1065;
150
+ --color-primary: #7c3aed;
151
+ --color-primary-hover: #6d28d9;
152
+ --color-primary-foreground: #ffffff;
153
153
 
154
154
  --color-secondary: #1a0d30;
155
155
  --color-secondary-hover: #251445;
@@ -35,8 +35,8 @@
35
35
  --border-width-thick: 2px;
36
36
 
37
37
  /* Colors - Indigo palette, sophisticated */
38
- --color-primary: #6366f1;
39
- --color-primary-hover: #4f46e5;
38
+ --color-primary: #4f46e5;
39
+ --color-primary-hover: #4338ca;
40
40
  --color-primary-foreground: #ffffff;
41
41
 
42
42
  --color-secondary: #eef2ff;
package/themes/neon.css CHANGED
@@ -37,8 +37,8 @@
37
37
  --border-width-thick: 3px;
38
38
 
39
39
  /* Colors - Teal-tinted light mode */
40
- --color-primary: #0891b2;
41
- --color-primary-hover: #0e7490;
40
+ --color-primary: #0e7490;
41
+ --color-primary-hover: #155e75;
42
42
  --color-primary-foreground: #ffffff;
43
43
 
44
44
  --color-secondary: #ccfbf1;
@@ -39,8 +39,8 @@
39
39
  --border-width-thin: 1px;
40
40
  --border-width-thick: 1px;
41
41
 
42
- --color-primary: #ff6b35;
43
- --color-primary-hover: #e55a26;
42
+ --color-primary: #c2410c;
43
+ --color-primary-hover: #9a3412;
44
44
  --color-primary-foreground: #fefdf9;
45
45
 
46
46
  --color-secondary: #f4f1ea;
package/themes/sunset.css CHANGED
@@ -37,8 +37,8 @@
37
37
  --border-width-thick: 2px;
38
38
 
39
39
  /* Colors - Coral on warm light background */
40
- --color-primary: #e76f51;
41
- --color-primary-hover: #d4533a;
40
+ --color-primary: #c2410c;
41
+ --color-primary-hover: #9a3412;
42
42
  --color-primary-foreground: #ffffff;
43
43
 
44
44
  --color-secondary: #fef3ee;
@@ -307,8 +307,8 @@
307
307
  * ====================================================================== */
308
308
 
309
309
  /* Primary — Deep gold (darker for contrast on light surfaces) */
310
- --color-primary: #9e7e1e;
311
- --color-primary-hover: #b8940f;
310
+ --color-primary: #785c12;
311
+ --color-primary-hover: #5c4a0d;
312
312
  --color-primary-foreground: #faf6ee;
313
313
 
314
314
  /* Secondary — Light parchment */