@league-of-foundry-developers/foundry-vtt-types 13.346.0-beta.20250901211521 → 13.346.0-beta.20250902042249
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/package.json +1 -1
- package/src/foundry/client/helpers/interaction/client-keybindings.d.mts +11 -11
- package/src/foundry/client/helpers/interaction/tooltip-manager.d.mts +7 -7
- package/src/foundry/client/nue/_module.d.mts +4 -0
- package/src/foundry/client/nue/nue-manager.d.mts +24 -1
- package/src/foundry/client/nue/tour.d.mts +95 -49
- package/src/foundry/client/nue/tours/canvas-tour.d.mts +42 -2
- package/src/foundry/client/nue/tours/setup-tour.d.mts +29 -6
- package/src/foundry/client/nue/tours/sidebar-tour.d.mts +34 -1
- package/src/foundry/client/nue/tours-collection.d.mts +9 -3
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
3
3
|
"name": "@league-of-foundry-developers/foundry-vtt-types",
|
4
|
-
"version": "13.346.0-beta.
|
4
|
+
"version": "13.346.0-beta.20250902042249",
|
5
5
|
"description": "TypeScript type definitions for Foundry VTT",
|
6
6
|
"type": "module",
|
7
7
|
"types": "./src/index.d.mts",
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type {
|
1
|
+
import type { Identity, InexactPartial, ValueOf } from "#utils";
|
2
2
|
import type KeyboardManager from "./keyboard-manager.d.mts";
|
3
3
|
|
4
4
|
/**
|
@@ -407,22 +407,22 @@ declare namespace ClientKeybindings {
|
|
407
407
|
*/
|
408
408
|
interface ActionComparison extends Pick<KeybindingAction, "precedence" | "order"> {}
|
409
409
|
|
410
|
-
type MOVEMENT_DIRECTIONS =
|
410
|
+
type MOVEMENT_DIRECTIONS = ValueOf<MovementDirections>;
|
411
411
|
|
412
412
|
interface MovementDirections {
|
413
|
-
UP: "up"
|
414
|
-
LEFT: "left"
|
415
|
-
DOWN: "down"
|
416
|
-
RIGHT: "right"
|
417
|
-
DESCEND: "descend"
|
418
|
-
ASCEND: "ascend"
|
413
|
+
UP: "up";
|
414
|
+
LEFT: "left";
|
415
|
+
DOWN: "down";
|
416
|
+
RIGHT: "right";
|
417
|
+
DESCEND: "descend";
|
418
|
+
ASCEND: "ascend";
|
419
419
|
}
|
420
420
|
|
421
|
-
type ZOOM_DIRECTIONS =
|
421
|
+
type ZOOM_DIRECTIONS = ValueOf<ZoomDirections>;
|
422
422
|
|
423
423
|
interface ZoomDirections {
|
424
|
-
IN: "in"
|
425
|
-
OUT: "out"
|
424
|
+
IN: "in";
|
425
|
+
OUT: "out";
|
426
426
|
}
|
427
427
|
}
|
428
428
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type {
|
1
|
+
import type { Identity, InexactPartial, IntentionalPartial, ValueOf } from "#utils";
|
2
2
|
|
3
3
|
/**
|
4
4
|
* A singleton Tooltip Manager class responsible for rendering and positioning a dynamic tooltip element which is
|
@@ -164,14 +164,14 @@ declare namespace TooltipManager {
|
|
164
164
|
/**
|
165
165
|
* The directions in which a tooltip can extend, relative to its tool-tipped element.
|
166
166
|
*/
|
167
|
-
type TOOLTIP_DIRECTIONS =
|
167
|
+
type TOOLTIP_DIRECTIONS = ValueOf<TooltipDirections>;
|
168
168
|
|
169
169
|
interface TooltipDirections {
|
170
|
-
UP: "UP"
|
171
|
-
DOWN: "DOWN"
|
172
|
-
LEFT: "LEFT"
|
173
|
-
RIGHT: "RIGHT"
|
174
|
-
CENTER: "CENTER"
|
170
|
+
UP: "UP";
|
171
|
+
DOWN: "DOWN";
|
172
|
+
LEFT: "LEFT";
|
173
|
+
RIGHT: "RIGHT";
|
174
|
+
CENTER: "CENTER";
|
175
175
|
}
|
176
176
|
|
177
177
|
/** @internal */
|
@@ -3,7 +3,11 @@
|
|
3
3
|
// While `.mts` could work, to avoid `import-x/no-unresolved` from erroring `.mjs` is used.
|
4
4
|
/* eslint-disable import-x/extensions */
|
5
5
|
|
6
|
+
/** @privateRemarks Foundry does an import then separate re-export for use in the body of {@linkcode registerTours}, not necessary on our side */
|
6
7
|
export * as tours from "./tours/_module.mjs";
|
7
8
|
export { default as Tour } from "./tour.mjs";
|
8
9
|
export { default as NewUserExperienceManager } from "./nue-manager.mjs";
|
9
10
|
export { default as ToursCollection } from "./tours-collection.mjs";
|
11
|
+
|
12
|
+
/** Register core Tours. */
|
13
|
+
export function registerTours(): Promise<void>;
|
@@ -10,7 +10,30 @@ declare class NewUserExperienceManager {
|
|
10
10
|
*/
|
11
11
|
initialize(): void;
|
12
12
|
|
13
|
-
|
13
|
+
/** @deprecated Made hard private in v13. This warning will be removed in v14. */
|
14
|
+
protected _createInitialChatMessages(): never;
|
15
|
+
|
16
|
+
/**
|
17
|
+
* Create a default scene for the new world.
|
18
|
+
* @param sceneData - Additional data to merge with the default scene
|
19
|
+
* @returns The created default scene
|
20
|
+
* @remarks Creates the default scene with `{keepId: true}`, will be `"NUEDEFAULTSCENE0"` unless overwritten in `sceneData`
|
21
|
+
*/
|
22
|
+
createDefaultScene(sceneData?: Scene.UpdateData): Promise<Scene.Implementation>;
|
23
|
+
|
24
|
+
/** @deprecated Made hard private in v13. This warning will be removed in v14. */
|
25
|
+
protected _showNewWorldTour(): never;
|
26
|
+
|
27
|
+
/** @deprecated Made hard private in v13. This warning will be removed in v14. */
|
28
|
+
protected _activateListeners(): never;
|
29
|
+
|
30
|
+
/** @deprecated Made hard private in v13. This warning will be removed in v14. */
|
31
|
+
protected _onActionLink(): never;
|
32
|
+
|
33
|
+
/** @deprecated Made hard private in v13. This warning will be removed in v14. */
|
34
|
+
protected _onTabLink(): never;
|
35
|
+
|
36
|
+
#NewUserExperienceManager: true;
|
14
37
|
}
|
15
38
|
|
16
39
|
declare namespace NewUserExperienceManager {}
|
@@ -1,4 +1,6 @@
|
|
1
|
-
import type { ValueOf } from "#utils";
|
1
|
+
import type { Identity, InexactPartial, ValueOf } from "#utils";
|
2
|
+
import type { ClientKeybindings, TooltipManager } from "#client/helpers/interaction/_module.d.mts";
|
3
|
+
import type { Localization } from "#client/helpers/_module.d.mts";
|
2
4
|
|
3
5
|
/**
|
4
6
|
* A Tour that shows a series of guided steps.
|
@@ -11,7 +13,8 @@ declare class Tour {
|
|
11
13
|
*/
|
12
14
|
constructor(config: Tour.Config, options?: Tour.ConstructorOptions);
|
13
15
|
|
14
|
-
|
16
|
+
/** @remarks Frozen */
|
17
|
+
static STATUS: Tour.Status;
|
15
18
|
|
16
19
|
/**
|
17
20
|
* Indicates if a Tour is currently in progress.
|
@@ -21,13 +24,14 @@ declare class Tour {
|
|
21
24
|
/**
|
22
25
|
* Returns the active Tour, if any
|
23
26
|
*/
|
24
|
-
static get activeTour(): Tour | null;
|
27
|
+
static get activeTour(): Tour.Any | null;
|
25
28
|
|
26
29
|
/**
|
27
30
|
* Handle a movement action to either progress or regress the Tour
|
28
31
|
* @param movementDirections - The Directions being moved in
|
32
|
+
* @remarks This method's one call in core is by full path name inside `ClientKeybindings##onPan`, so extending in subclasses has no effect
|
29
33
|
*/
|
30
|
-
static onMovementAction(movementDirections:
|
34
|
+
static onMovementAction(movementDirections: ClientKeybindings.MOVEMENT_DIRECTIONS[]): true | void;
|
31
35
|
|
32
36
|
/**
|
33
37
|
* Configuration of the tour. This object is cloned to avoid mutating the original configuration.
|
@@ -36,6 +40,7 @@ declare class Tour {
|
|
36
40
|
|
37
41
|
/**
|
38
42
|
* The HTMLElement which is the focus of the current tour step.
|
43
|
+
* @remarks Only `undefined` prior to Tour {@linkcode start}
|
39
44
|
*/
|
40
45
|
targetElement: HTMLElement | undefined | null;
|
41
46
|
|
@@ -111,7 +116,7 @@ declare class Tour {
|
|
111
116
|
|
112
117
|
/**
|
113
118
|
* Return whether this Tour is currently eligible to be started?
|
114
|
-
* This is useful for tours which can only be used in certain
|
119
|
+
* This is useful for tours which can only be used in certain circumstances, like if the canvas is active.
|
115
120
|
*/
|
116
121
|
get canStart(): boolean;
|
117
122
|
|
@@ -153,6 +158,8 @@ declare class Tour {
|
|
153
158
|
/**
|
154
159
|
* Progresses to a given Step
|
155
160
|
* @param stepIndex - The step to progress to
|
161
|
+
* @remarks
|
162
|
+
* @throws If `stepIndex` is outside the range `[0, this.steps.length]`
|
156
163
|
*/
|
157
164
|
progress(stepIndex: number): Promise<void>;
|
158
165
|
|
@@ -168,17 +175,22 @@ declare class Tour {
|
|
168
175
|
* @param filepath - The path to the JSON file
|
169
176
|
* @remarks Returns `new this()` so needs an override per subclass.
|
170
177
|
*/
|
171
|
-
static fromJSON(filepath: string): Promise<Tour>;
|
178
|
+
static fromJSON(filepath: string): Promise<Tour.Any>;
|
172
179
|
|
173
180
|
/**
|
174
181
|
* Set-up operations performed before a step is shown.
|
175
182
|
* @abstract
|
183
|
+
* @remarks Despite being marked `@abstract`, the base implementation is a no-op and doesn't throw.
|
184
|
+
* Implementation is therefor *not* required by subclasses, but most probably will do so anyway
|
176
185
|
*/
|
177
186
|
protected _preStep(): Promise<void>;
|
178
187
|
|
179
188
|
/**
|
180
189
|
* Clean-up operations performed after a step is completed.
|
181
190
|
* @abstract
|
191
|
+
* @remarks Despite being marked `@abstract`, the base implementation is a method with a real body
|
192
|
+
* and doesn't throw. Implementation is therefor *not* required by subclasses; none of core's do,
|
193
|
+
* and any that do must call `super._postStep()` in them
|
182
194
|
*/
|
183
195
|
protected _postStep(): Promise<void>;
|
184
196
|
|
@@ -187,90 +199,120 @@ declare class Tour {
|
|
187
199
|
*/
|
188
200
|
protected _renderStep(): Promise<void>;
|
189
201
|
|
202
|
+
/** @deprecated Made hard private in v13. This warning will be removed in v14. */
|
203
|
+
protected _onButtonClick(event: never, buttons: never): never;
|
204
|
+
|
205
|
+
/** @deprecated Made hard private in v13. This warning will be removed in v14. */
|
206
|
+
protected _saveProgress(): never;
|
207
|
+
|
208
|
+
/** @deprecated Made hard private in v13. This warning will be removed in v14. */
|
209
|
+
protected _loadProgress(): never;
|
210
|
+
|
190
211
|
/**
|
191
212
|
* Reloads the Tour's current step from the saved progress
|
192
213
|
* @internal
|
193
214
|
*/
|
194
215
|
_reloadProgress(): void;
|
195
216
|
|
196
|
-
#
|
217
|
+
#Tour: true;
|
197
218
|
}
|
198
219
|
|
199
220
|
declare namespace Tour {
|
200
|
-
|
201
|
-
interface
|
202
|
-
/** The namespace this Tour belongs to. Typically, the name of the package which implements the tour should be used */
|
203
|
-
namespace: string;
|
204
|
-
|
205
|
-
/** A machine-friendly id of the Tour, must be unique within the provided namespace */
|
206
|
-
id: string;
|
207
|
-
|
208
|
-
/** A human-readable name for this Tour. Localized. */
|
209
|
-
title: string;
|
210
|
-
|
211
|
-
/** The list of Tour Steps */
|
212
|
-
steps: Tour.Step[];
|
221
|
+
interface Any extends AnyTour {}
|
222
|
+
interface AnyConstructor extends Identity<typeof AnyTour> {}
|
213
223
|
|
224
|
+
/** @internal */
|
225
|
+
type _Config = InexactPartial<{
|
214
226
|
/** A human-readable description of this Tour. Localized. */
|
215
|
-
description
|
227
|
+
description: string;
|
216
228
|
|
217
229
|
/** A map of localizations for the Tour that should be merged into the default localizations */
|
218
|
-
localization
|
230
|
+
localization: Localization.Translations;
|
219
231
|
|
220
232
|
/** Whether the Tour is restricted to the GM only. Defaults to false. */
|
221
|
-
restricted
|
233
|
+
restricted: boolean;
|
222
234
|
|
223
235
|
/** Whether the Tour should be displayed in the Manage Tours UI. Defaults to false. */
|
224
|
-
display
|
236
|
+
display: boolean;
|
225
237
|
|
226
238
|
/** Whether the Tour can be resumed or if it always needs to start from the beginning. Defaults to false. */
|
227
|
-
canBeResumed
|
239
|
+
canBeResumed: boolean;
|
228
240
|
|
229
|
-
/**
|
230
|
-
|
231
|
-
|
241
|
+
/**
|
242
|
+
* A list of namespaced Tours that might be suggested to the user when this Tour is completed. The first non-completed Tour in the array will be recommended.
|
243
|
+
* @remarks e.g. `["core.welcome"]`
|
244
|
+
*/
|
245
|
+
suggestedNextTours: string[];
|
246
|
+
}>;
|
232
247
|
|
233
|
-
/**
|
234
|
-
interface
|
235
|
-
/**
|
248
|
+
/** Tour configuration data */
|
249
|
+
interface Config extends _Config {
|
250
|
+
/**
|
251
|
+
* The namespace this Tour belongs to. Typically, the name of the package which implements the tour should be used
|
252
|
+
* @remarks Technically not required as long as the Tour is only constructed to be immediately passed
|
253
|
+
* {@linkcode foundry.nue.ToursCollection.register | ToursCollection#register}, which will use its argument instead.
|
254
|
+
* Core relies on this for all their tour definitions in `public/tours/*.json`, but it's safer and simpler from the
|
255
|
+
* types perspective to leave it required, as per their typedef
|
256
|
+
*/
|
257
|
+
namespace: string;
|
258
|
+
|
259
|
+
/**
|
260
|
+
* A machine-friendly id of the Tour, must be unique within the provided namespace
|
261
|
+
* @remarks Technically not required as long as the Tour is only constructed to be immediately passed
|
262
|
+
* {@linkcode foundry.nue.ToursCollection.register | ToursCollection#register}, which will use its argument instead.
|
263
|
+
* Core relies on this for all their tour definitions in `public/tours/*.json`, but it's safer and simpler from the
|
264
|
+
* types perspective to leave it required, as per their typedef
|
265
|
+
*/
|
236
266
|
id: string;
|
237
267
|
|
238
|
-
/**
|
268
|
+
/**
|
269
|
+
* A human-readable name for this Tour. Localized.
|
270
|
+
* @remarks As in, "this gets localized", not "must be passed pre-localized"
|
271
|
+
*/
|
239
272
|
title: string;
|
240
273
|
|
241
|
-
/**
|
242
|
-
|
274
|
+
/** The list of Tour Steps */
|
275
|
+
steps: Tour.Step[];
|
276
|
+
}
|
243
277
|
|
278
|
+
/** @internal */
|
279
|
+
type _Step = InexactPartial<{
|
244
280
|
/** A DOM selector which denotes an element to highlight during this step. If omitted, the step is displayed in the center of the screen. */
|
245
|
-
selector
|
281
|
+
selector: string;
|
246
282
|
|
247
283
|
/** How the tooltip for the step should be displayed relative to the target element. If omitted, the best direction will be attempted to be auto-selected. */
|
248
|
-
tooltipDirection
|
284
|
+
tooltipDirection: TooltipManager.TOOLTIP_DIRECTIONS;
|
249
285
|
|
250
286
|
/** Whether the Step is restricted to the GM only. Defaults to false. */
|
251
|
-
restricted
|
287
|
+
restricted: boolean;
|
288
|
+
}>;
|
252
289
|
|
253
|
-
|
254
|
-
|
290
|
+
/** A step in a Tour */
|
291
|
+
interface Step extends _Step {
|
292
|
+
/** A machine-friendly id of the Tour Step */
|
293
|
+
id: string;
|
255
294
|
|
256
|
-
/**
|
257
|
-
|
295
|
+
/** The title of the step, displayed in the tooltip header */
|
296
|
+
title: string;
|
258
297
|
|
259
|
-
/**
|
260
|
-
|
298
|
+
/** Raw HTML content displayed during the step */
|
299
|
+
content: string;
|
261
300
|
}
|
262
301
|
|
263
|
-
type
|
302
|
+
type STATUS = ValueOf<Status>;
|
264
303
|
|
265
|
-
|
266
|
-
|
304
|
+
/** @internal */
|
305
|
+
type _ConstructorOptions = InexactPartial<{
|
306
|
+
/** A tour ID that supersedes `TourConfig#id` */
|
267
307
|
id: string;
|
268
308
|
|
269
|
-
/** A tour namespace that
|
309
|
+
/** A tour namespace that supersedes `TourConfig#namespace` */
|
270
310
|
namespace: string;
|
271
|
-
}
|
311
|
+
}>;
|
312
|
+
|
313
|
+
interface ConstructorOptions extends _ConstructorOptions {}
|
272
314
|
|
273
|
-
interface
|
315
|
+
interface Status {
|
274
316
|
readonly UNSTARTED: "unstarted";
|
275
317
|
readonly IN_PROGRESS: "in-progress";
|
276
318
|
readonly COMPLETED: "completed";
|
@@ -278,3 +320,7 @@ declare namespace Tour {
|
|
278
320
|
}
|
279
321
|
|
280
322
|
export default Tour;
|
323
|
+
|
324
|
+
declare abstract class AnyTour extends Tour {
|
325
|
+
constructor(...args: never);
|
326
|
+
}
|
@@ -1,15 +1,55 @@
|
|
1
|
-
import type
|
1
|
+
import type { Identity, InexactPartial } from "#utils";
|
2
|
+
import type { Tour } from "#client/nue/_module.d.mts";
|
3
|
+
import type { SceneControls } from "#client/applications/ui/_module.d.mts";
|
2
4
|
|
3
5
|
/**
|
4
6
|
* A tour for demonstrating an aspect of Canvas functionality.
|
5
7
|
* Automatically activates a certain canvas layer or tool depending on the needs of the step.
|
6
8
|
*/
|
7
9
|
declare class CanvasTour extends Tour {
|
10
|
+
/** @privateRemarks Fake type override */
|
11
|
+
constructor(config: CanvasTour.Config, options?: Tour.ConstructorOptions);
|
12
|
+
|
13
|
+
/** @privateRemarks Fake type override */
|
14
|
+
override config: CanvasTour.Config;
|
15
|
+
|
8
16
|
override start(): Promise<void>;
|
17
|
+
|
9
18
|
override get canStart(): boolean;
|
19
|
+
|
20
|
+
/** @privateRemarks Fake type override */
|
21
|
+
static override fromJSON(filepath: string): Promise<CanvasTour.Any>;
|
22
|
+
|
10
23
|
protected override _preStep(): Promise<void>;
|
24
|
+
|
25
|
+
#CanvasTour: true;
|
11
26
|
}
|
12
27
|
|
13
|
-
declare namespace CanvasTour {
|
28
|
+
declare namespace CanvasTour {
|
29
|
+
interface Any extends AnyCanvasTour {}
|
30
|
+
interface AnyConstructor extends Identity<typeof AnyCanvasTour> {}
|
31
|
+
|
32
|
+
interface Config extends Tour.Config {
|
33
|
+
steps: CanvasTour.Step[];
|
34
|
+
}
|
35
|
+
|
36
|
+
/** @internal */
|
37
|
+
type _Step = InexactPartial<{
|
38
|
+
/**
|
39
|
+
* Activates a particular canvas layer and its respective control group. Usable in `CanvasTour` instances
|
40
|
+
* @privateRemarks This is just `string` for now, but we may narrow the controls type to only configured values in future
|
41
|
+
*/
|
42
|
+
layer: keyof SceneControls["controls"];
|
43
|
+
|
44
|
+
/** Activates a particular tool. Usable in `CanvasTour` instances. */
|
45
|
+
tool: string;
|
46
|
+
}>;
|
47
|
+
|
48
|
+
interface Step extends Tour.Step, _Step {}
|
49
|
+
}
|
14
50
|
|
15
51
|
export default CanvasTour;
|
52
|
+
|
53
|
+
declare abstract class AnyCanvasTour extends CanvasTour {
|
54
|
+
constructor(...args: never);
|
55
|
+
}
|
@@ -1,31 +1,54 @@
|
|
1
|
-
import type
|
1
|
+
import type { Identity, InexactPartial } from "#utils";
|
2
|
+
import type { Tour } from "#client/nue/_module.d.mts";
|
3
|
+
import type { Application } from "#client/appv1/api/_module.d.mts";
|
4
|
+
import type { ApplicationV2 } from "#client/applications/api/_module.d.mts";
|
2
5
|
|
3
6
|
/**
|
4
7
|
* A Tour subclass that handles controlling the UI state of the Setup screen
|
5
8
|
*/
|
6
9
|
declare class SetupTour extends Tour {
|
10
|
+
/** @privateRemarks Fake type override */
|
7
11
|
constructor(config: SetupTour.Config, options?: Tour.ConstructorOptions);
|
8
12
|
|
13
|
+
/** @privateRemarks Fake type override */
|
14
|
+
config: SetupTour.Config;
|
15
|
+
|
9
16
|
/**
|
10
17
|
* Stores a currently open Application for future steps
|
11
18
|
*/
|
12
|
-
focusedApp:
|
19
|
+
focusedApp: Application.Any | ApplicationV2.Any;
|
13
20
|
|
14
21
|
override get canStart(): boolean;
|
22
|
+
|
23
|
+
/** @remarks Removes the GM check, as 'A user is always "GM" for Setup Tours' */
|
15
24
|
override get steps(): Tour.Step[];
|
25
|
+
|
26
|
+
/** @privateRemarks Fake type override */
|
27
|
+
static override fromJSON(filepath: string): Promise<SetupTour.Any>;
|
28
|
+
|
16
29
|
protected override _preStep(): Promise<void>;
|
17
30
|
|
18
|
-
#
|
31
|
+
#SetupTour: true;
|
19
32
|
}
|
20
33
|
|
21
34
|
declare namespace SetupTour {
|
22
|
-
interface
|
35
|
+
interface Any extends AnySetupTour {}
|
36
|
+
interface AnyConstructor extends Identity<typeof AnySetupTour> {}
|
37
|
+
|
38
|
+
/** @internal */
|
39
|
+
type _Config = InexactPartial<{
|
23
40
|
/**
|
24
41
|
* Whether to close all open windows before beginning the tour.
|
25
|
-
* @
|
42
|
+
* @remarks Checked for `!== false`, so effectively defaults `true`
|
26
43
|
*/
|
27
44
|
closeWindows: boolean;
|
28
|
-
}
|
45
|
+
}>;
|
46
|
+
|
47
|
+
interface Config extends Tour.Config, _Config {}
|
29
48
|
}
|
30
49
|
|
31
50
|
export default SetupTour;
|
51
|
+
|
52
|
+
declare abstract class AnySetupTour extends SetupTour {
|
53
|
+
constructor(...args: never);
|
54
|
+
}
|
@@ -1,13 +1,46 @@
|
|
1
|
+
import type { Identity, InexactPartial } from "#utils";
|
1
2
|
import type Tour from "../tour.mjs";
|
2
3
|
|
3
4
|
/**
|
4
5
|
* A Tour subclass for the Sidebar Tour
|
5
6
|
*/
|
6
7
|
declare class SidebarTour extends Tour {
|
8
|
+
/** @privateRemarks Fake type override */
|
9
|
+
constructor(config: SidebarTour.Config, options?: Tour.ConstructorOptions);
|
10
|
+
|
11
|
+
/** @privateRemarks Fake type override */
|
12
|
+
override config: SidebarTour.Config;
|
13
|
+
|
7
14
|
override start(): Promise<void>;
|
15
|
+
|
16
|
+
/** @privateRemarks Fake type override */
|
17
|
+
static override fromJSON(filepath: string): Promise<SidebarTour.Any>;
|
18
|
+
|
8
19
|
protected override _preStep(): Promise<void>;
|
9
20
|
}
|
10
21
|
|
11
|
-
declare namespace SidebarTour {
|
22
|
+
declare namespace SidebarTour {
|
23
|
+
interface Any extends AnySidebarTour {}
|
24
|
+
interface AnyConstructor extends Identity<typeof AnySidebarTour> {}
|
25
|
+
|
26
|
+
/** @internal */
|
27
|
+
type _Step = InexactPartial<{
|
28
|
+
/**
|
29
|
+
* Activates a particular sidebar tab. Usable in {@linkcode SidebarTour} instances.
|
30
|
+
* @remarks {@linkcode SidebarTour._preStep | SidebarTour#_preStep} does `await ui[this.currentStep.sidebarTab]?.activate();`
|
31
|
+
*/
|
32
|
+
sidebarTab: keyof typeof ui;
|
33
|
+
}>;
|
34
|
+
|
35
|
+
interface Step extends Tour.Step, _Step {}
|
36
|
+
|
37
|
+
interface Config extends Tour.Config {
|
38
|
+
steps: SidebarTour.Step[];
|
39
|
+
}
|
40
|
+
}
|
12
41
|
|
13
42
|
export default SidebarTour;
|
43
|
+
|
44
|
+
declare abstract class AnySidebarTour extends SidebarTour {
|
45
|
+
constructor(...args: never);
|
46
|
+
}
|
@@ -2,8 +2,10 @@ import type Tour from "./tour.d.mts";
|
|
2
2
|
|
3
3
|
/**
|
4
4
|
* A singleton Tour Collection class responsible for registering and activating Tours, accessible as game.tours.
|
5
|
+
* @remarks
|
6
|
+
* @throws If {@linkcode game.tours} is already constructed
|
5
7
|
*/
|
6
|
-
declare class ToursCollection extends Collection<Tour> {
|
8
|
+
declare class ToursCollection extends Collection<Tour.Any> {
|
7
9
|
constructor();
|
8
10
|
|
9
11
|
/**
|
@@ -11,13 +13,17 @@ declare class ToursCollection extends Collection<Tour> {
|
|
11
13
|
* @param namespace - The namespace of the Tour
|
12
14
|
* @param id - The machine-readable id of the Tour
|
13
15
|
* @param tour - The constructed Tour
|
16
|
+
* @remarks
|
17
|
+
* @throws If a Tour with this `namespace`/`id` combination has already been registered
|
14
18
|
*/
|
15
|
-
register(namespace: string, id: string, tour: Tour): void;
|
19
|
+
register(namespace: string, id: string, tour: Tour.Any): void;
|
16
20
|
|
17
21
|
/**
|
18
22
|
* Set a Tour to the collection.
|
23
|
+
* @remarks Only checks to throw or not then calls super
|
24
|
+
* @throws If `key` doesn't match the Tour's `namespace` and `id`
|
19
25
|
*/
|
20
|
-
set(key: string, tour: Tour): this;
|
26
|
+
set(key: string, tour: Tour.Any): this;
|
21
27
|
}
|
22
28
|
|
23
29
|
declare namespace ToursCollection {}
|