@eveshipfit/ui-ingame 1.2.0 → 1.3.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.
package/dist/style.css CHANGED
@@ -418,6 +418,29 @@
418
418
  position: absolute;
419
419
  transform: translate(-50%, -50%);
420
420
  }
421
+ .ld11eq_button {
422
+ cursor: pointer;
423
+ background: none;
424
+ border: none;
425
+ width: 100%;
426
+ height: 100%;
427
+ padding: 0;
428
+ display: block;
429
+ }
430
+
431
+ .ld11eq_button[aria-disabled="true"] {
432
+ cursor: default;
433
+ }
434
+
435
+ .ld11eq_button:focus-visible {
436
+ outline: 1px solid var(--esf-text);
437
+ }
438
+
439
+ .ld11eq_button > img {
440
+ width: 100%;
441
+ height: 100%;
442
+ display: block;
443
+ }
421
444
  .T6VD6G_slot {
422
445
  --colour: var(--esf-state-online);
423
446
  --reach: calc((var(--slot-centre) + var(--slot-size) / 2) * var(--wheel-unit));
@@ -584,28 +607,7 @@
584
607
  position: absolute;
585
608
  }
586
609
 
587
- .T6VD6G_button, .T6VD6G_module {
588
- width: 100%;
589
- height: 100%;
590
- display: block;
591
- }
592
-
593
- .T6VD6G_button {
594
- cursor: pointer;
595
- background: none;
596
- border: none;
597
- padding: 0;
598
- }
599
-
600
- .T6VD6G_button[aria-disabled="true"] {
601
- cursor: default;
602
- }
603
-
604
- .T6VD6G_button:focus-visible {
605
- outline: 1px solid var(--esf-text);
606
- }
607
-
608
- .T6VD6G_button > img, .T6VD6G_module > span {
610
+ .T6VD6G_module, .T6VD6G_module > span {
609
611
  width: 100%;
610
612
  height: 100%;
611
613
  display: block;
@@ -828,6 +830,102 @@
828
830
  border-radius: 50%;
829
831
  position: absolute;
830
832
  }
833
+ .R9jwpW_slot {
834
+ --service-unit: calc(1px * var(--esf-scale, 1));
835
+ height: calc(44 * var(--service-unit));
836
+ width: calc(44 * var(--service-unit));
837
+ position: relative;
838
+ }
839
+
840
+ .R9jwpW_slot:hover, .R9jwpW_slot:has(:focus-visible) {
841
+ z-index: 1;
842
+ }
843
+
844
+ .R9jwpW_body {
845
+ user-select: none;
846
+ position: absolute;
847
+ inset: 0;
848
+ }
849
+
850
+ .R9jwpW_body:before {
851
+ background: var(--texture) center / 100% 100%;
852
+ content: "";
853
+ position: absolute;
854
+ inset: 0;
855
+ }
856
+
857
+ .R9jwpW_icon, .R9jwpW_empty {
858
+ position: absolute;
859
+ top: 50%;
860
+ left: 50%;
861
+ translate: -50% -50%;
862
+ }
863
+
864
+ .R9jwpW_icon {
865
+ height: calc(36 * var(--service-unit));
866
+ width: calc(36 * var(--service-unit));
867
+ }
868
+
869
+ .R9jwpW_icon > span, .R9jwpW_empty > img {
870
+ width: 100%;
871
+ height: 100%;
872
+ display: block;
873
+ }
874
+
875
+ .R9jwpW_empty {
876
+ height: calc(32 * var(--service-unit));
877
+ width: calc(32 * var(--service-unit));
878
+ }
879
+
880
+ .R9jwpW_press {
881
+ cursor: pointer;
882
+ position: absolute;
883
+ inset: 0;
884
+ }
885
+
886
+ .R9jwpW_press:focus-visible {
887
+ outline: var(--service-unit) solid var(--esf-text);
888
+ }
889
+
890
+ .R9jwpW_slot[data-state="empty"] > .R9jwpW_body:before {
891
+ opacity: .4;
892
+ }
893
+
894
+ .R9jwpW_slot[data-state="offline"] > .R9jwpW_body {
895
+ opacity: .3;
896
+ }
897
+
898
+ .R9jwpW_slot[data-state="unavailable"] > .R9jwpW_body {
899
+ opacity: .1;
900
+ }
901
+
902
+ .R9jwpW_slot[data-preview] .R9jwpW_icon {
903
+ filter: sepia() hue-rotate(190deg) saturate(200%);
904
+ }
905
+
906
+ .R9jwpW_actions {
907
+ opacity: 0;
908
+ padding: 0 0 var(--service-unit);
909
+ pointer-events: none;
910
+ border: none;
911
+ flex-direction: column-reverse;
912
+ margin: 0;
913
+ display: flex;
914
+ position: absolute;
915
+ bottom: 100%;
916
+ left: 50%;
917
+ translate: -50%;
918
+ }
919
+
920
+ .R9jwpW_slot:hover > .R9jwpW_actions, .R9jwpW_slot:has(:focus-visible) > .R9jwpW_actions {
921
+ opacity: 1;
922
+ pointer-events: auto;
923
+ }
924
+
925
+ .R9jwpW_action {
926
+ height: calc(15.5 * var(--service-unit));
927
+ width: calc(15.5 * var(--service-unit));
928
+ }
831
929
  .gVdevq_panel {
832
930
  background: var(--esf-menu-bg);
833
931
  border: var(--window-unit) solid var(--esf-input-border);
@@ -1083,7 +1181,7 @@
1083
1181
  color: var(--esf-text);
1084
1182
  font-family: var(--esf-font);
1085
1183
  font-size: calc(var(--esf-font-size) * var(--esf-scale, 1));
1086
- height: calc(672 * var(--window-unit));
1184
+ height: calc(694 * var(--window-unit));
1087
1185
  user-select: none;
1088
1186
  width: calc(708 * var(--window-unit) + var(--browser-width) + var(--statistics-width));
1089
1187
  transition: width .2s;
@@ -1116,7 +1214,7 @@
1116
1214
  top: 0;
1117
1215
  }
1118
1216
 
1119
- .L9t91q_name, .L9t91q_violations, .L9t91q_tools, .L9t91q_panels, .L9t91q_bays, .L9t91q_history, .L9t91q_resources {
1217
+ .L9t91q_name, .L9t91q_violations, .L9t91q_tools, .L9t91q_panels, .L9t91q_bays, .L9t91q_history, .L9t91q_services, .L9t91q_resources {
1120
1218
  position: absolute;
1121
1219
  }
1122
1220
 
@@ -1166,12 +1264,15 @@
1166
1264
  }
1167
1265
 
1168
1266
  .L9t91q_violation {
1169
- --colour: var(--esf-violation-notice);
1170
1267
  height: calc(28 * var(--window-unit));
1171
1268
  width: calc(28 * var(--window-unit));
1172
1269
  position: relative;
1173
1270
  }
1174
1271
 
1272
+ .L9t91q_violation, .L9t91q_alert {
1273
+ --colour: var(--esf-violation-notice);
1274
+ }
1275
+
1175
1276
  .L9t91q_violation:before {
1176
1277
  background: var(--colour);
1177
1278
  content: "";
@@ -1180,14 +1281,38 @@
1180
1281
  inset: 0;
1181
1282
  }
1182
1283
 
1183
- .L9t91q_violation[data-kind="error"] {
1284
+ .L9t91q_violation[data-kind="error"], .L9t91q_alert[data-kind="error"] {
1184
1285
  --colour: var(--esf-violation-error);
1185
1286
  }
1186
1287
 
1187
- .L9t91q_violation[data-kind="skill"] {
1288
+ .L9t91q_violation[data-kind="skill"], .L9t91q_alert[data-kind="skill"] {
1188
1289
  --colour: var(--esf-violation-skill);
1189
1290
  }
1190
1291
 
1292
+ .L9t91q_alert {
1293
+ display: contents;
1294
+ }
1295
+
1296
+ .L9t91q_alertTitle {
1297
+ color: var(--colour);
1298
+ text-transform: uppercase;
1299
+ }
1300
+
1301
+ .L9t91q_alertLine {
1302
+ align-items: center;
1303
+ gap: 8px;
1304
+ display: flex;
1305
+ }
1306
+
1307
+ .L9t91q_alertLine:before {
1308
+ background: var(--colour);
1309
+ content: "";
1310
+ height: 1.4em;
1311
+ mask: var(--texture) center / 100% 100%;
1312
+ flex: none;
1313
+ width: 1.4em;
1314
+ }
1315
+
1191
1316
  .L9t91q_count {
1192
1317
  left: calc(100% - 2 * var(--window-unit));
1193
1318
  top: calc(-2 * var(--window-unit));
@@ -1248,8 +1373,8 @@
1248
1373
 
1249
1374
  .L9t91q_bays {
1250
1375
  gap: calc(4 * var(--window-unit));
1376
+ bottom: calc(17 * var(--window-unit));
1251
1377
  left: calc(19 * var(--window-unit));
1252
- top: calc(560 * var(--window-unit));
1253
1378
  display: grid;
1254
1379
  }
1255
1380
 
@@ -1304,16 +1429,23 @@
1304
1429
  }
1305
1430
 
1306
1431
  .L9t91q_history {
1432
+ bottom: calc(17 * var(--window-unit));
1307
1433
  left: calc(199 * var(--window-unit));
1308
- top: calc(590 * var(--window-unit));
1434
+ }
1435
+
1436
+ .L9t91q_services {
1437
+ gap: calc(4 * var(--window-unit));
1438
+ bottom: calc(38 * var(--window-unit));
1439
+ left: calc(164 * var(--window-unit));
1440
+ display: flex;
1309
1441
  }
1310
1442
 
1311
1443
  .L9t91q_resources {
1312
1444
  gap: calc(10 * var(--window-unit));
1313
1445
  line-height: calc(16 * var(--window-unit));
1314
1446
  right: calc(13 * var(--window-unit));
1447
+ bottom: calc(17 * var(--window-unit));
1315
1448
  text-align: right;
1316
- top: calc(546 * var(--window-unit));
1317
1449
  display: grid;
1318
1450
  }
1319
1451
 
@@ -1679,6 +1811,29 @@
1679
1811
  width: calc(16 * var(--statistics-unit));
1680
1812
  }
1681
1813
 
1814
+ .lebA7G_fighters {
1815
+ --fighters-unit: calc(1px * var(--esf-scale, 1));
1816
+ padding: calc(4 * var(--fighters-unit)) calc(10 * var(--fighters-unit)) calc(4 * var(--fighters-unit))
1817
+ calc(4 * var(--fighters-unit));
1818
+ justify-content: space-between;
1819
+ align-items: center;
1820
+ display: flex;
1821
+ }
1822
+
1823
+ .lebA7G_manage {
1824
+ background: var(--esf-button);
1825
+ border: var(--fighters-unit) solid var(--esf-button-edge);
1826
+ color: inherit;
1827
+ cursor: default;
1828
+ font: inherit;
1829
+ height: calc(30 * var(--fighters-unit));
1830
+ padding: 0 calc(16 * var(--fighters-unit));
1831
+ }
1832
+
1833
+ .lebA7G_manage:focus-visible {
1834
+ outline: var(--fighters-unit) solid var(--esf-text);
1835
+ }
1836
+
1682
1837
  .lebA7G_defense {
1683
1838
  --defense-unit: calc(1px * var(--esf-scale, 1));
1684
1839
  align-items: center;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eveshipfit/ui-ingame",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "EVE Online ship fitting UI that looks like the in-game one",
5
5
  "license": "MIT",
6
6
  "author": "EVEShipFit Team <info@eveship.fit>",
@@ -27,7 +27,7 @@
27
27
  "access": "public"
28
28
  },
29
29
  "dependencies": {
30
- "@eveshipfit/react-hooks": "1.3.0"
30
+ "@eveshipfit/react-hooks": "1.4.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@babel/core": "^7.29.0",
@@ -43,8 +43,8 @@
43
43
  "storybook": "^10.6.0",
44
44
  "tsdown": "^0.23.0",
45
45
  "vite": "^8.3.0",
46
- "@eveshipfit/fitting": "1.2.0",
47
- "@eveshipfit/sde-loader": "1.2.0"
46
+ "@eveshipfit/fitting": "1.3.0",
47
+ "@eveshipfit/sde-loader": "1.3.0"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "@eveshipfit/images": "^1.3552227.1",