@eveshipfit/ui-ingame 1.3.0 → 1.5.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/README.md CHANGED
@@ -32,7 +32,7 @@ Give the `FittingWindow` its browser and statistics to get the buttons that slid
32
32
 
33
33
  Icons are drawn from `@eveshipfit/images`: put the components inside an `ImagesProvider` of
34
34
  `@eveshipfit/react-hooks`. The tooltips of `ShipStatistics` come from `texts.dat` of `@eveshipfit/sde`: put it inside a
35
- `TextsProvider` too.
35
+ `TextsProvider` too. `ShipStatistics` shows the fit's price when the engine has an `esi`.
36
36
 
37
37
  ## License
38
38
 
package/dist/index.d.mts CHANGED
@@ -6,7 +6,7 @@ interface DialogProps {
6
6
  onClose: () => void;
7
7
  children: ReactNode;
8
8
  }
9
- /** A modal; `onClose` is called when the user closes it, by Escape or the close button. */
9
+ /** A modal that opens on its first field; `onClose` is called when the user closes it, by Escape or the close button. */
10
10
  export declare function Dialog({ open, title, onClose, children }: DialogProps): import("react").JSX.Element;
11
11
  //#endregion
12
12
  //#region src/primitives/TreeList/TreeList.d.ts
@@ -26,24 +26,28 @@ interface TreeGroupProps {
26
26
  defaultOpen?: boolean;
27
27
  /** Shown at the end of the row, like a count or an action. */
28
28
  after?: ReactNode;
29
+ onDragStart?: (event: DragEvent) => void;
30
+ onDragEnd?: () => void;
29
31
  /** Only called while the group is open, so large trees stay cheap. */
30
32
  children: () => ReactNode;
31
33
  }
32
- export declare function TreeGroup({ label, typeId, icon, description, defaultOpen, after, children }: TreeGroupProps): import("react").JSX.Element;
34
+ export declare function TreeGroup({ label, typeId, icon, description, defaultOpen, after, onDragStart, onDragEnd, children }: TreeGroupProps): import("react").JSX.Element;
33
35
  interface TreeLeafProps {
34
36
  label: ReactNode;
35
37
  /** Shows the type's icon in front of the label. */
36
38
  typeId?: number;
37
39
  title?: string;
38
40
  onActivate?: () => void;
41
+ /** Activates on a single click. */
42
+ activateOnClick?: boolean;
39
43
  onHover?: (hovering: boolean) => void;
40
44
  onDragStart?: (event: DragEvent) => void;
41
45
  onDragEnd?: () => void;
42
46
  /** Shown at the end of the row, like a count or an action. */
43
47
  after?: ReactNode;
44
48
  }
45
- /** Activates on double click, as EVE's own lists do; single clicks are for selecting text and dragging. */
46
- export declare function TreeLeaf({ label, typeId, title, onActivate, onHover, onDragStart, onDragEnd, after }: TreeLeafProps): import("react").JSX.Element;
49
+ /** Activates on double click, as EVE's own lists do, unless `activateOnClick` is set. */
50
+ export declare function TreeLeaf({ label, typeId, title, onActivate, activateOnClick, onHover, onDragStart, onDragEnd, after }: TreeLeafProps): import("react").JSX.Element;
47
51
  //#endregion
48
52
  //#region src/primitives/Icon/Icon.d.ts
49
53
  declare const textures: {
@@ -58,12 +62,16 @@ declare const textures: {
58
62
  "module-unfit": string;
59
63
  "module-power": string;
60
64
  "module-info": string;
65
+ "mode-defense": string;
66
+ "mode-sharpshooter": string;
67
+ "mode-propulsion": string;
61
68
  link: string;
62
69
  search: string;
63
70
  collapse: string;
64
71
  checkmark: string;
65
72
  close: string;
66
73
  folder: string;
74
+ export: string;
67
75
  "fits-browser": string;
68
76
  "fits-personal": string;
69
77
  "fits-corporation": string;
@@ -85,6 +93,15 @@ declare const textures: {
85
93
  statistics: string;
86
94
  cargo: string;
87
95
  "drone-bay": string;
96
+ "fighter-bay": string;
97
+ "fighter-light": string;
98
+ "fighter-support": string;
99
+ "fighter-heavy": string;
100
+ "fighter-role-interceptor": string;
101
+ "fighter-role-attack": string;
102
+ "fighter-role-support": string;
103
+ "fighter-role-heavy-attack": string;
104
+ "fighter-role-bomber": string;
88
105
  "ammo-hold": string;
89
106
  "arrow-left": string;
90
107
  "arrow-right": string;
@@ -155,8 +172,9 @@ export declare function FilterToggle({ icon, typeId, label, pressed, onPressedCh
155
172
  //#endregion
156
173
  //#region src/primitives/Tooltip/Tooltip.d.ts
157
174
  interface TooltipProps {
158
- label: ReactNode;
159
- /** One element, which the tooltip points at. */
175
+ /** Without one, there is no tooltip. */
176
+ label?: ReactNode;
177
+ /** The tooltip points at the first element. */
160
178
  children: ReactNode;
161
179
  }
162
180
  /**
@@ -193,10 +211,12 @@ export declare function slotAngle(rack: WheelRack, index: number): number;
193
211
  //#region src/primitives/Wheel/Wheel.d.ts
194
212
  interface WheelProps {
195
213
  label: string;
214
+ /** Leaves out the scales of the gauges. */
215
+ hideScales?: boolean;
196
216
  children?: ReactNode;
197
217
  }
198
218
  /** Square, and as big as EVE's at `--esf-scale`, or as wide as `--esf-wheel-size`. */
199
- export declare function Wheel({ label, children }: WheelProps): import("react").JSX.Element;
219
+ export declare function Wheel({ label, hideScales, children }: WheelProps): import("react").JSX.Element;
200
220
  //#endregion
201
221
  //#region src/primitives/Wheel/WheelRackMarker.d.ts
202
222
  type MarkedRack = Extract<WheelRack, "high" | "medium" | "low">;
@@ -221,17 +241,21 @@ interface WheelSlotProps extends HTMLAttributes<HTMLDivElement> {
221
241
  available?: boolean;
222
242
  /** Shown, but not fitted yet. */
223
243
  preview?: boolean;
244
+ /** Shown when hovering the slot. */
245
+ tooltip?: ReactNode;
224
246
  /** Makes the slot a button, named `label`. */
225
247
  onPress?: MouseEventHandler<HTMLElement>;
226
248
  /** Makes the slot draggable. */
227
249
  onDragStart?: DragEventHandler<HTMLDivElement>;
228
250
  onDragEnd?: DragEventHandler<HTMLDivElement>;
229
251
  label?: string;
252
+ /** False leaves out the actions shown on hover. */
253
+ actions?: boolean;
230
254
  onUnfit?: () => void;
231
255
  onRemoveCharge?: () => void;
232
256
  onTogglePower?: () => void;
233
257
  }
234
- export declare function WheelSlot({ rack, angle, typeId, typeName, chargeTypeId, chargeable, state, activatable, available, preview, onPress, onDragStart, onDragEnd, label, onUnfit, onRemoveCharge, onTogglePower, className, style, ...props }: WheelSlotProps): import("react").JSX.Element;
258
+ export declare function WheelSlot({ rack, angle, typeId, typeName, chargeTypeId, chargeable, state, activatable, available, preview, tooltip, onPress, onDragStart, onDragEnd, label, actions: showActions, onUnfit, onRemoveCharge, onTogglePower, className, style, ...props }: WheelSlotProps): import("react").JSX.Element;
235
259
  //#endregion
236
260
  //#region src/primitives/Wheel/WheelHardpoints.d.ts
237
261
  interface Hardpoints {
@@ -307,9 +331,13 @@ export declare function CapacitorRing({ capacity, level, label }: CapacitorRingP
307
331
  //#region src/components/FittingWheel/FittingWheel.d.ts
308
332
  interface FittingWheelProps {
309
333
  label?: string;
334
+ /** Shows the fit without letting it be changed. */
335
+ readOnly?: boolean;
336
+ /** Leaves out the hardpoints, and the CPU, powergrid and calibration gauges and their scales. */
337
+ hideStats?: boolean;
310
338
  }
311
339
  /** The fitting wheel of the fit in the surrounding `EveShipFitProvider`. */
312
- export declare function FittingWheel({ label }: FittingWheelProps): import("react").JSX.Element;
340
+ export declare function FittingWheel({ label, readOnly, hideStats }: FittingWheelProps): import("react").JSX.Element;
313
341
  //#endregion
314
342
  //#region src/components/FittingWindow/FittingWindow.d.ts
315
343
  interface FittingWindowProps {
@@ -367,9 +395,10 @@ export declare function DroneStats(): import("react").JSX.Element;
367
395
  //#endregion
368
396
  //#region src/components/ShipStatistics/FitPrice.d.ts
369
397
  interface FitPriceProps {
370
- /** In ISK. */
371
- price: number;
398
+ /** In ISK; undefined while unknown. */
399
+ price: number | undefined;
400
+ change?: "better" | "worse";
372
401
  }
373
- export declare function FitPrice({ price }: FitPriceProps): import("react").JSX.Element;
402
+ export declare function FitPrice({ price, change }: FitPriceProps): import("react").JSX.Element;
374
403
  //#endregion
375
404
  export type { CapacitorRingProps, DamageType, DialogProps, FilterToggleProps, FitPriceProps, FittingWheelProps, FittingWindowProps, Hardpoints, HistoryBarProps, IconName, IconProps, ItemBrowserProps, Layer, MarkedRack, ResistanceBarProps, ShipStatisticsProps, SlotState, StatProps, StatsSectionProps, TooltipProps, TooltipTextProps, TreeGroupProps, TreeLeafProps, TreeListProps, TypeIconProps, WheelGaugeProps, WheelHardpointsProps, WheelHullProps, WheelProps, WheelRack, WheelRackMarkerProps, WheelResource, WheelSlotProps };