@eveshipfit/ui-ingame 1.4.0 → 1.6.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
@@ -562,11 +562,11 @@
562
562
  --colour: var(--esf-state-overload);
563
563
  }
564
564
 
565
- .T6VD6G_slot[data-state="offline"] > .T6VD6G_body {
565
+ .T6VD6G_slot[data-state="offline"] .T6VD6G_body {
566
566
  opacity: .3;
567
567
  }
568
568
 
569
- .T6VD6G_slot[data-state="unavailable"] > .T6VD6G_body {
569
+ .T6VD6G_slot[data-state="unavailable"] .T6VD6G_body {
570
570
  opacity: .1;
571
571
  }
572
572
 
@@ -600,6 +600,13 @@
600
600
  position: absolute;
601
601
  }
602
602
 
603
+ .T6VD6G_anchor {
604
+ height: calc(var(--slot-size) * var(--wheel-unit));
605
+ margin: calc(var(--slot-size) / -2 * var(--wheel-unit));
606
+ width: calc(var(--slot-size) * var(--wheel-unit));
607
+ position: absolute;
608
+ }
609
+
603
610
  .T6VD6G_action {
604
611
  height: calc(var(--action-size) * var(--wheel-unit));
605
612
  margin: calc(var(--action-size) / -2 * var(--wheel-unit));
@@ -657,6 +664,10 @@
657
664
  .pLDZ2W_gauge[data-over] {
658
665
  --colour: var(--esf-state-overload);
659
666
  }
667
+
668
+ .pLDZ2W_gauge[data-loading] {
669
+ opacity: 0;
670
+ }
660
671
  .zDAPCG_hull {
661
672
  opacity: .8;
662
673
  pointer-events: none;
@@ -668,6 +679,26 @@
668
679
  top: 3%;
669
680
  left: 3%;
670
681
  }
682
+ ._4DcEdq_link {
683
+ height: var(--wheel-texture-size);
684
+ left: calc(50% - var(--wheel-texture-size) / 2);
685
+ pointer-events: none;
686
+ top: calc(50% - var(--wheel-texture-size) / 2);
687
+ width: var(--wheel-texture-size);
688
+ position: absolute;
689
+ overflow: visible;
690
+ }
691
+
692
+ ._4DcEdq_text {
693
+ fill: #cdcdcd;
694
+ letter-spacing: .05em;
695
+ pointer-events: auto;
696
+ font-size: 11px;
697
+ }
698
+
699
+ ._4DcEdq_text:hover {
700
+ fill: #fff;
701
+ }
671
702
  .dnJ0cW_stat {
672
703
  --stat-unit: calc(1px * var(--esf-scale, 1));
673
704
  align-items: center;
@@ -825,6 +856,146 @@
825
856
  ._6LFjiq_cell[data-lit] {
826
857
  background: var(--lit);
827
858
  }
859
+ ._9_b9FW_modes {
860
+ pointer-events: none;
861
+ position: absolute;
862
+ inset: 0;
863
+ }
864
+
865
+ ._9_b9FW_place {
866
+ height: calc(32 * var(--wheel-unit));
867
+ margin: calc(-16 * var(--wheel-unit));
868
+ pointer-events: auto;
869
+ width: calc(32 * var(--wheel-unit));
870
+ position: absolute;
871
+ }
872
+
873
+ ._9_b9FW_mode {
874
+ cursor: pointer;
875
+ background: radial-gradient(circle closest-side, #1c1e20d9 90%, #0000);
876
+ border-radius: 50%;
877
+ width: 100%;
878
+ height: 100%;
879
+ display: block;
880
+ position: relative;
881
+ }
882
+
883
+ ._9_b9FW_mode > input {
884
+ appearance: none;
885
+ cursor: inherit;
886
+ border-radius: 50%;
887
+ outline: none;
888
+ margin: 0;
889
+ position: absolute;
890
+ inset: 0;
891
+ }
892
+
893
+ ._9_b9FW_mode:has(:disabled) {
894
+ cursor: default;
895
+ }
896
+
897
+ ._9_b9FW_mode:hover:not(:has(:disabled)) {
898
+ background: radial-gradient(circle closest-side, #ffffff1a 90%, #0000);
899
+ }
900
+
901
+ ._9_b9FW_mode:has(:checked) {
902
+ background: radial-gradient(circle closest-side,
903
+ color-mix(in srgb, var(--esf-button-active-edge) 55%, transparent) 70%,
904
+ transparent);
905
+ }
906
+
907
+ ._9_b9FW_mode:has(:checked) > img {
908
+ filter: drop-shadow(0 0 calc(2 * var(--wheel-unit)) var(--esf-button-active-edge));
909
+ }
910
+
911
+ ._9_b9FW_mode:has(:focus-visible) {
912
+ outline: calc(1 * var(--wheel-unit)) solid var(--esf-text);
913
+ }
914
+
915
+ ._9_b9FW_mode > img {
916
+ pointer-events: none;
917
+ width: 100%;
918
+ height: 100%;
919
+ display: block;
920
+ position: relative;
921
+ }
922
+ ._f5iUa_tooltip {
923
+ gap: 8px;
924
+ display: grid;
925
+ }
926
+
927
+ ._f5iUa_type, ._f5iUa_line, ._f5iUa_bonuses, ._f5iUa_bonus {
928
+ align-items: center;
929
+ gap: 8px;
930
+ display: flex;
931
+ }
932
+
933
+ ._f5iUa_type {
934
+ font-weight: 600;
935
+ }
936
+
937
+ ._f5iUa_block {
938
+ gap: 4px;
939
+ display: grid;
940
+ }
941
+
942
+ ._f5iUa_bonuses {
943
+ gap: 12px;
944
+ }
945
+
946
+ ._f5iUa_bonus {
947
+ gap: 4px;
948
+ }
949
+
950
+ ._f5iUa_noIcon {
951
+ flex: none;
952
+ width: 24px;
953
+ height: 24px;
954
+ }
955
+
956
+ ._f5iUa_iconless {
957
+ align-items: center;
958
+ min-height: 24px;
959
+ padding-left: 32px;
960
+ display: flex;
961
+ }
962
+
963
+ ._f5iUa_values {
964
+ grid-auto-columns: 1fr;
965
+ grid-auto-flow: column;
966
+ padding-left: 27px;
967
+ display: grid;
968
+ }
969
+
970
+ ._f5iUa_line > ._f5iUa_values {
971
+ flex: 1;
972
+ padding-left: 0;
973
+ }
974
+
975
+ ._f5iUa_values ._f5iUa_bonus {
976
+ gap: 0;
977
+ }
978
+
979
+ ._f5iUa_status[data-tone="muted"] {
980
+ color: var(--esf-text-muted);
981
+ }
982
+
983
+ ._f5iUa_status[data-tone="active"] {
984
+ color: var(--esf-state-active);
985
+ }
986
+
987
+ ._f5iUa_status[data-tone="overload"] {
988
+ color: var(--esf-state-overload);
989
+ }
990
+
991
+ ._f5iUa_info {
992
+ background: var(--esf-button-active-edge);
993
+ height: 16px;
994
+ mask: var(--texture) center / 100% 100%;
995
+ flex: none;
996
+ width: 16px;
997
+ margin: 4px;
998
+ }
828
999
  .GK_wGG_centre {
829
1000
  inset: calc(86 * var(--wheel-unit));
830
1001
  border-radius: 50%;
@@ -1437,17 +1608,32 @@
1437
1608
  align-items: center;
1438
1609
  gap: calc(2 * var(--window-unit));
1439
1610
  left: calc(20 * var(--window-unit));
1440
- max-width: calc(200 * var(--window-unit));
1611
+ max-width: calc(150 * var(--window-unit));
1441
1612
  top: calc(40 * var(--window-unit));
1442
1613
  white-space: nowrap;
1443
1614
  display: flex;
1444
1615
  }
1445
1616
 
1446
1617
  .L9t91q_fitName {
1618
+ color: inherit;
1619
+ cursor: text;
1620
+ font: inherit;
1447
1621
  text-overflow: ellipsis;
1622
+ background: none;
1623
+ border: none;
1624
+ padding: 0;
1448
1625
  overflow: hidden;
1449
1626
  }
1450
1627
 
1628
+ .L9t91q_fitNameInput {
1629
+ background: var(--esf-input-bg);
1630
+ border: var(--window-unit) solid var(--esf-input-border);
1631
+ color: var(--esf-text);
1632
+ font: inherit;
1633
+ min-width: 0;
1634
+ padding: 0 calc(2 * var(--window-unit));
1635
+ }
1636
+
1451
1637
  .L9t91q_icon {
1452
1638
  cursor: default;
1453
1639
  background: none;
@@ -1966,6 +2152,124 @@
1966
2152
  top: 0;
1967
2153
  left: -1000px;
1968
2154
  }
2155
+
2156
+ .xFSZwa_actions {
2157
+ gap: calc(8 * var(--browser-unit));
2158
+ margin-top: calc(8 * var(--browser-unit));
2159
+ display: flex;
2160
+ }
2161
+
2162
+ .xFSZwa_action {
2163
+ background: var(--esf-button);
2164
+ border: var(--browser-unit) solid var(--esf-button-edge);
2165
+ color: var(--esf-text);
2166
+ cursor: pointer;
2167
+ font: inherit;
2168
+ height: calc(32 * var(--browser-unit));
2169
+ min-width: calc(80 * var(--browser-unit));
2170
+ padding: 0 calc(16 * var(--browser-unit));
2171
+ }
2172
+
2173
+ .xFSZwa_action:hover:not(:disabled), .xFSZwa_action:focus-visible {
2174
+ background: var(--esf-button-active);
2175
+ border-color: var(--esf-button-active-edge);
2176
+ }
2177
+
2178
+ .xFSZwa_action:disabled {
2179
+ color: var(--esf-text-muted);
2180
+ cursor: default;
2181
+ }
2182
+
2183
+ .xFSZwa_copyAnchor {
2184
+ anchor-name: --fit-copy;
2185
+ display: flex;
2186
+ }
2187
+
2188
+ .xFSZwa_copy {
2189
+ min-width: 0;
2190
+ width: calc(32 * var(--browser-unit));
2191
+ justify-content: center;
2192
+ align-items: center;
2193
+ padding: 0;
2194
+ display: flex;
2195
+ }
2196
+
2197
+ .xFSZwa_copy > img {
2198
+ height: calc(16 * var(--browser-unit));
2199
+ width: calc(16 * var(--browser-unit));
2200
+ }
2201
+
2202
+ .xFSZwa_menu {
2203
+ background: var(--esf-menu-bg);
2204
+ border: var(--browser-unit) solid var(--esf-input-border);
2205
+ color: var(--esf-text);
2206
+ font-family: var(--esf-font);
2207
+ font-size: calc(var(--esf-font-size) * var(--esf-scale, 1));
2208
+ margin: calc(4 * var(--browser-unit)) 0;
2209
+ padding: calc(6 * var(--browser-unit)) 0;
2210
+ position-anchor: --fit-copy;
2211
+ position-area: top span-right;
2212
+ position-try-fallbacks: flip-block;
2213
+ inset: auto;
2214
+ }
2215
+
2216
+ .xFSZwa_menu > button {
2217
+ color: inherit;
2218
+ cursor: pointer;
2219
+ font: inherit;
2220
+ padding: calc(5 * var(--browser-unit)) calc(16 * var(--browser-unit));
2221
+ text-align: left;
2222
+ background: none;
2223
+ border: none;
2224
+ width: 100%;
2225
+ display: block;
2226
+ }
2227
+
2228
+ .xFSZwa_menu > button:hover, .xFSZwa_menu > button:focus-visible {
2229
+ background: var(--esf-menu-hover);
2230
+ outline: none;
2231
+ }
2232
+
2233
+ .xFSZwa_form {
2234
+ flex-direction: column;
2235
+ gap: 8px;
2236
+ width: min(420px, 80vw);
2237
+ display: flex;
2238
+ }
2239
+
2240
+ .xFSZwa_form > label {
2241
+ color: var(--esf-text-muted);
2242
+ }
2243
+
2244
+ .xFSZwa_form > input, .xFSZwa_form > textarea {
2245
+ background: var(--esf-input-bg);
2246
+ border: 1px solid var(--esf-input-border);
2247
+ color: var(--esf-text);
2248
+ }
2249
+
2250
+ .xFSZwa_form > textarea {
2251
+ resize: vertical;
2252
+ font-family: ui-monospace, monospace;
2253
+ }
2254
+
2255
+ .xFSZwa_importError {
2256
+ color: var(--esf-bad);
2257
+ margin: 0;
2258
+ }
2259
+
2260
+ .xFSZwa_confirm {
2261
+ max-width: min(360px, 80vw);
2262
+ }
2263
+
2264
+ .xFSZwa_confirm > p {
2265
+ margin: 0 0 12px;
2266
+ }
2267
+
2268
+ .xFSZwa_dialogButtons {
2269
+ justify-content: flex-end;
2270
+ gap: 8px;
2271
+ display: flex;
2272
+ }
1969
2273
  .lebA7G_statistics {
1970
2274
  --statistics-unit: calc(1px * var(--esf-scale, 1));
1971
2275
  color: var(--esf-text);
@@ -2000,6 +2304,10 @@
2000
2304
  color: var(--esf-bad);
2001
2305
  }
2002
2306
 
2307
+ .lebA7G_limit[data-over] {
2308
+ color: var(--esf-violation-error);
2309
+ }
2310
+
2003
2311
  .lebA7G_lines {
2004
2312
  display: grid;
2005
2313
  }
package/dist/theme.css CHANGED
@@ -1,6 +1,6 @@
1
1
  /* Every colour and size the components use; override any of these to restyle. */
2
2
  :root {
3
- --esf-font: system-ui, -apple-system, "Segoe UI", sans-serif;
3
+ --esf-font: "Noto Sans Variable", "Noto Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
4
4
  --esf-font-size: 13px;
5
5
 
6
6
  --esf-bg: #0b0d0f;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eveshipfit/ui-ingame",
3
- "version": "1.4.0",
3
+ "version": "1.6.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,11 +27,11 @@
27
27
  "access": "public"
28
28
  },
29
29
  "dependencies": {
30
- "@eveshipfit/react-hooks": "2.0.0"
30
+ "@eveshipfit/react-hooks": "2.1.1"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@babel/core": "^7.29.0",
34
- "@eveshipfit/images": "^1.3552227.2",
34
+ "@eveshipfit/images": "^3.3561556.0",
35
35
  "@rolldown/plugin-babel": "^0.2.4",
36
36
  "@storybook/react-vite": "^10.6.0",
37
37
  "@tsdown/css": "^0.23.0",
@@ -43,11 +43,11 @@
43
43
  "storybook": "^10.6.0",
44
44
  "tsdown": "^0.23.0",
45
45
  "vite": "^8.3.0",
46
- "@eveshipfit/fitting": "2.0.0",
47
- "@eveshipfit/sde-loader": "1.3.0"
46
+ "@eveshipfit/fitting": "2.2.0",
47
+ "@eveshipfit/sde-loader": "2.0.0"
48
48
  },
49
49
  "peerDependencies": {
50
- "@eveshipfit/images": "^1.3552227.2",
50
+ "@eveshipfit/images": "^3.3561556.0",
51
51
  "react": "^19.0.0",
52
52
  "react-dom": "^19.0.0"
53
53
  },