@league-of-foundry-developers/foundry-vtt-types 9.255.1 → 9.268.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.
Files changed (117) hide show
  1. package/README.md +5 -4
  2. package/package.json +3 -2
  3. package/src/foundry/common/data/data.mjs/index.d.ts +0 -1
  4. package/src/foundry/common/types.mjs.d.ts +4 -4
  5. package/src/foundry/common/utils/helpers.mjs.d.ts +1 -0
  6. package/src/foundry/foundry.js/application.d.ts +0 -1
  7. package/src/foundry/foundry.js/applications/basePlaceableHUDs/tokenHUD.d.ts +7 -3
  8. package/src/foundry/foundry.js/applications/cameraViews.d.ts +3 -3
  9. package/src/foundry/foundry.js/applications/chatPopout.d.ts +1 -1
  10. package/src/foundry/foundry.js/applications/compendium.d.ts +20 -11
  11. package/src/foundry/foundry.js/applications/controlsReference.d.ts +17 -2
  12. package/src/foundry/foundry.js/applications/dialog.d.ts +14 -29
  13. package/src/foundry/foundry.js/applications/filePicker.d.ts +67 -75
  14. package/src/foundry/foundry.js/applications/formApplication.d.ts +7 -2
  15. package/src/foundry/foundry.js/applications/formApplications/avConfig.d.ts +19 -58
  16. package/src/foundry/foundry.js/applications/formApplications/combatTrackerConfig.d.ts +2 -4
  17. package/src/foundry/foundry.js/applications/formApplications/{entitySheetConfig.d.ts → documentSheetConfig.d.ts} +36 -19
  18. package/src/foundry/foundry.js/applications/formApplications/documentSheets/ambientLightConfig.d.ts +1 -4
  19. package/src/foundry/foundry.js/applications/formApplications/documentSheets/ambientSoundConfig.d.ts +2 -4
  20. package/src/foundry/foundry.js/applications/formApplications/documentSheets/cardConfig.d.ts +51 -0
  21. package/src/foundry/foundry.js/applications/formApplications/documentSheets/cardsConfig.d.ts +88 -0
  22. package/src/foundry/foundry.js/applications/formApplications/documentSheets/cardsConfigs/cardsHand.d.ts +20 -0
  23. package/src/foundry/foundry.js/applications/formApplications/documentSheets/cardsConfigs/cardsPile.d.ts +20 -0
  24. package/src/foundry/foundry.js/applications/formApplications/documentSheets/cardsConfigs/index.d.ts +2 -0
  25. package/src/foundry/foundry.js/applications/formApplications/documentSheets/combatantConfig.d.ts +2 -4
  26. package/src/foundry/foundry.js/applications/formApplications/documentSheets/folderConfig.d.ts +17 -11
  27. package/src/foundry/foundry.js/applications/formApplications/documentSheets/index.d.ts +3 -0
  28. package/src/foundry/foundry.js/applications/formApplications/documentSheets/itemSheet.d.ts +3 -9
  29. package/src/foundry/foundry.js/applications/formApplications/documentSheets/journalSheet.d.ts +10 -12
  30. package/src/foundry/foundry.js/applications/formApplications/documentSheets/macroConfig.d.ts +4 -5
  31. package/src/foundry/foundry.js/applications/formApplications/documentSheets/measuredTemplateConfig.d.ts +2 -6
  32. package/src/foundry/foundry.js/applications/formApplications/documentSheets/noteConfig.d.ts +1 -4
  33. package/src/foundry/foundry.js/applications/formApplications/documentSheets/permissionControl.d.ts +8 -12
  34. package/src/foundry/foundry.js/applications/formApplications/documentSheets/playlistConfig.d.ts +2 -1
  35. package/src/foundry/foundry.js/applications/formApplications/documentSheets/playlistSoundConfig.d.ts +1 -4
  36. package/src/foundry/foundry.js/applications/formApplications/documentSheets/rollTableConfig.d.ts +10 -11
  37. package/src/foundry/foundry.js/applications/formApplications/documentSheets/sceneConfig.d.ts +28 -15
  38. package/src/foundry/foundry.js/applications/formApplications/documentSheets/tileConfig.d.ts +3 -6
  39. package/src/foundry/foundry.js/applications/formApplications/documentSheets/userConfig.d.ts +1 -4
  40. package/src/foundry/foundry.js/applications/formApplications/drawingConfig.d.ts +17 -21
  41. package/src/foundry/foundry.js/applications/formApplications/gridConfig.d.ts +3 -3
  42. package/src/foundry/foundry.js/applications/formApplications/imagePopout.d.ts +40 -7
  43. package/src/foundry/foundry.js/applications/formApplications/index.d.ts +2 -2
  44. package/src/foundry/foundry.js/applications/formApplications/moduleManagement.d.ts +10 -24
  45. package/src/foundry/foundry.js/applications/formApplications/permissionConfig.d.ts +1 -1
  46. package/src/foundry/foundry.js/applications/formApplications/settingsConfig.d.ts +15 -3
  47. package/src/foundry/foundry.js/applications/formApplications/tokenConfig.d.ts +23 -16
  48. package/src/foundry/foundry.js/applications/formApplications/{defaultTokenConfig.d.ts → tokenConfigs/defaultTokenConfig.d.ts} +29 -16
  49. package/src/foundry/foundry.js/applications/formApplications/tokenConfigs/index.d.ts +1 -0
  50. package/src/foundry/foundry.js/applications/formApplications/wallConfig.d.ts +22 -15
  51. package/src/foundry/foundry.js/applications/formApplications/worldConfig.d.ts +23 -12
  52. package/src/foundry/foundry.js/applications/hotbar.d.ts +7 -3
  53. package/src/foundry/foundry.js/applications/index.d.ts +1 -0
  54. package/src/foundry/foundry.js/applications/invitationLinks.d.ts +25 -10
  55. package/src/foundry/foundry.js/applications/sceneNavigation.d.ts +16 -1
  56. package/src/foundry/foundry.js/applications/sidebar.d.ts +7 -0
  57. package/src/foundry/foundry.js/applications/sidebarTabs/chatLog.d.ts +65 -38
  58. package/src/foundry/foundry.js/applications/sidebarTabs/compendiumDirectory.d.ts +17 -3
  59. package/src/foundry/foundry.js/applications/sidebarTabs/settings.d.ts +19 -16
  60. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/actorDirectory.d.ts +0 -3
  61. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/journalDirectory.d.ts +4 -18
  62. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/macroDirectory.d.ts +2 -8
  63. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/playlistDirectory.d.ts +38 -5
  64. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/sceneDirectory.d.ts +6 -0
  65. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectory.d.ts +3 -1
  66. package/src/foundry/foundry.js/applications/supportDetails.d.ts +78 -0
  67. package/src/foundry/foundry.js/clientDocumentMixin.d.ts +2 -2
  68. package/src/foundry/foundry.js/clientDocuments/cards.d.ts +10 -2
  69. package/src/foundry/foundry.js/clientDocuments/chatMessage.d.ts +87 -49
  70. package/src/foundry/foundry.js/clientDocuments/folder.d.ts +3 -7
  71. package/src/foundry/foundry.js/clientDocuments/playlist.d.ts +6 -13
  72. package/src/foundry/foundry.js/clientDocuments/playlistSound.d.ts +6 -0
  73. package/src/foundry/foundry.js/collections/documentCollections/compendiumCollection.d.ts +1 -1
  74. package/src/foundry/foundry.js/collections/documentCollections/worldCollection.d.ts +2 -2
  75. package/src/foundry/foundry.js/config.d.ts +21 -21
  76. package/src/foundry/foundry.js/contextMenu.d.ts +37 -28
  77. package/src/foundry/foundry.js/game.d.ts +2 -2
  78. package/src/foundry/foundry.js/handlebarsHelpers.d.ts +26 -4
  79. package/src/foundry/foundry.js/mouseInteractionManager.d.ts +1 -1
  80. package/src/foundry/foundry.js/perceptionManager.d.ts +1 -1
  81. package/src/foundry/foundry.js/pixi/containers/canvasLayer.d.ts +2 -1
  82. package/src/foundry/foundry.js/pixi/containers/canvasLayers/controlsLayer.d.ts +49 -48
  83. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayer.d.ts +51 -40
  84. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/lightingLayer.d.ts +63 -20
  85. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/mapLayer.d.ts +0 -3
  86. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/mapLayers/backgroundLayer.d.ts +4 -4
  87. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/mapLayers/foregroundLayer.d.ts +21 -0
  88. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/notesLayer.d.ts +1 -1
  89. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/soundsLayer.d.ts +10 -2
  90. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/tokenLayer.d.ts +41 -20
  91. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/wallsLayer.d.ts +50 -121
  92. package/src/foundry/foundry.js/pixi/containers/canvasLayers/sightLayer.d.ts +125 -107
  93. package/src/foundry/foundry.js/pixi/containers/controlIcon.d.ts +3 -0
  94. package/src/foundry/foundry.js/pixi/containers/index.d.ts +1 -0
  95. package/src/foundry/foundry.js/pixi/containers/objectHUD.d.ts +82 -0
  96. package/src/foundry/foundry.js/pixi/containers/placeableObjects/ambientLight.d.ts +27 -6
  97. package/src/foundry/foundry.js/pixi/containers/placeableObjects/ambientSound.d.ts +26 -4
  98. package/src/foundry/foundry.js/pixi/containers/placeableObjects/drawing.d.ts +34 -20
  99. package/src/foundry/foundry.js/pixi/containers/placeableObjects/measuredTemplate.d.ts +52 -15
  100. package/src/foundry/foundry.js/pixi/containers/placeableObjects/note.d.ts +9 -2
  101. package/src/foundry/foundry.js/pixi/containers/placeableObjects/tile.d.ts +50 -12
  102. package/src/foundry/foundry.js/pixi/containers/placeableObjects/token.d.ts +248 -87
  103. package/src/foundry/foundry.js/pixi/containers/placeableObjects/wall.d.ts +107 -16
  104. package/src/foundry/foundry.js/pixi/filters/abstractFilter.d.ts +42 -0
  105. package/src/foundry/foundry.js/pixi/filters/abstractFilters/fogColorFilter.d.ts +16 -0
  106. package/src/foundry/foundry.js/pixi/filters/abstractFilters/forceColorFilter.d.ts +17 -0
  107. package/src/foundry/foundry.js/pixi/filters/abstractFilters/glowFilter.d.ts +31 -0
  108. package/src/foundry/foundry.js/pixi/filters/abstractFilters/index.d.ts +4 -0
  109. package/src/foundry/foundry.js/pixi/filters/abstractFilters/roofMaskFilter.d.ts +20 -0
  110. package/src/foundry/foundry.js/pixi/filters/index.d.ts +2 -0
  111. package/src/foundry/foundry.js/roll.d.ts +2 -2
  112. package/src/foundry/foundry.js/rollTerms/poolTerm.d.ts +5 -0
  113. package/src/foundry/foundry.js/textEditor.d.ts +266 -231
  114. package/src/types/augments/index.d.ts +2 -0
  115. package/src/types/augments/pixiGraphicsSmooth.d.ts +7 -0
  116. package/src/types/augments/pixiLegacyGraphics.d.ts +7 -0
  117. package/src/types/utils.d.ts +5 -0
@@ -2,12 +2,20 @@ import { ConfiguredDocumentClass } from '../../../../types/helperTypes';
2
2
  import type { ChatMessageDataConstructorData } from '../../../common/data/data.mjs/chatMessageData';
3
3
 
4
4
  declare global {
5
+ interface ChatLogOptions extends ApplicationOptions {
6
+ /**
7
+ * Is this chat log being rendered as part of the stream view?
8
+ * @defaultValue `false`
9
+ */
10
+ stream: boolean;
11
+ }
12
+
5
13
  /**
6
14
  * The sidebar directory which organizes and displays world-level ChatMessage documents.
7
15
  * @see {@link Sidebar}
8
16
  */
9
- class ChatLog extends SidebarTab<ChatLog.Options> {
10
- constructor(options?: Partial<ChatLog.Options>);
17
+ class ChatLog extends SidebarTab<ChatLogOptions> {
18
+ constructor(options?: Partial<ChatLogOptions>);
11
19
 
12
20
  /**
13
21
  * Track any pending text which the user has submitted in the chat log textarea
@@ -57,8 +65,19 @@ declare global {
57
65
  */
58
66
  _onChatKeyDownBinding: ((event: JQuery.KeyDownEvent) => void) | null;
59
67
 
60
- /** @override */
61
- static get defaultOptions(): ChatLog.Options;
68
+ /**
69
+ * @override
70
+ * @defaultValue
71
+ * ```typescript
72
+ * foundry.utils.mergeObject(super.defaultOptions, {
73
+ * id: "chat",
74
+ * template: "templates/sidebar/chat-log.html",
75
+ * title: game.i18n.localize("CHAT.Title"),
76
+ * stream: false
77
+ * })
78
+ * ```
79
+ */
80
+ static get defaultOptions(): ChatLogOptions;
62
81
 
63
82
  /**
64
83
  * A reference to the Messages collection that the chat log displays
@@ -66,10 +85,10 @@ declare global {
66
85
  get collection(): Messages;
67
86
 
68
87
  /** @override */
69
- getData(options?: Partial<ChatLog.Options>): ChatLog.Data;
88
+ getData(options?: Partial<ChatLogOptions>): ChatLog.Data;
70
89
 
71
90
  /** @override */
72
- protected _render(force?: boolean, options?: Application.RenderOptions<ChatLog.Options>): Promise<void>;
91
+ protected _render(force?: boolean, options?: Application.RenderOptions<ChatLogOptions>): Promise<void>;
73
92
 
74
93
  /**
75
94
  * @override
@@ -112,12 +131,18 @@ declare global {
112
131
 
113
132
  /**
114
133
  * Post a single chat message to the log
115
- * @param message - A ChatMessage entity instance to post to the log
134
+ * @param message - A ChatMessage document instance to post to the log
116
135
  * @param notify - Trigger a notification which shows the log as having a new unread message
117
136
  * (default: `false`)
137
+ * @param options - Additional options for how the message is posted to the log
138
+ * (default: `{}`)
118
139
  * @returns A Promise which resolves once the message is posted
119
140
  */
120
- postOne(message: InstanceType<ConfiguredDocumentClass<typeof ChatMessage>>, notify?: boolean): Promise<void>;
141
+ postOne(
142
+ message: InstanceType<ConfiguredDocumentClass<typeof ChatMessage>>,
143
+ notify?: boolean | undefined,
144
+ options?: ChatLog.PostOneOptions | undefined
145
+ ): Promise<void>;
121
146
 
122
147
  /**
123
148
  * Scroll the chat log to the bottom
@@ -142,10 +167,18 @@ declare global {
142
167
  /** @override */
143
168
  activateListeners(html: JQuery): void;
144
169
 
170
+ /**
171
+ * Handle dropping of transferred data onto the chat editor
172
+ * @param event - The originating drop event which triggered the data transfer
173
+ * @internal
174
+ */
175
+ protected static _onDropTextAreaData(event: DragEvent): void;
176
+
145
177
  /**
146
178
  * Prepare the data object of chat message data depending on the type of message being posted
147
179
  * @param message - The original string of the message content
148
- * @returns A Promise resolving to the prepared chat data object
180
+ * @returns A Promise resolving to the prepared chat data object, or void if we were executing
181
+ * a macro instead.
149
182
  */
150
183
  protected processMessage(
151
184
  message: string
@@ -198,6 +231,14 @@ declare global {
198
231
  createOptions: DocumentModificationContext
199
232
  ): void;
200
233
 
234
+ /**
235
+ * Process messages which execute a macro.
236
+ * @param command - The chat command typed.
237
+ * @param match - The RegExp matches.
238
+ * @internal
239
+ */
240
+ protected _processMacroCommand(command: string, match: RegExpMatchArray): void;
241
+
201
242
  /**
202
243
  * Add a sent message to an array of remembered messages to be re-sent if the user pages up with the up arrow key
203
244
  * @param message - The message text being remembered
@@ -213,15 +254,12 @@ declare global {
213
254
  */
214
255
  protected _recall(direction: number): string;
215
256
 
216
- /**
217
- * Attach context menu options to messages in the chat log.
218
- * @param html - The HTML element to which context options are attached
219
- */
257
+ /** @override */
220
258
  protected _contextMenu(html: JQuery): void;
221
259
 
222
260
  /**
223
261
  * Get the ChatLog entry context options
224
- * @returns The sidebar entry context options
262
+ * @returns The ChatLog entry context options
225
263
  * @internal
226
264
  */
227
265
  protected _getEntryContextOptions(): ContextMenuEntry[];
@@ -285,13 +323,15 @@ declare global {
285
323
  | 'gmroll'
286
324
  | 'blindroll'
287
325
  | 'selfroll'
326
+ | 'publicroll'
327
+ | 'ic'
328
+ | 'ooc'
329
+ | 'emote'
288
330
  | 'whisper'
289
331
  | 'reply'
290
332
  | 'gm'
291
333
  | 'players'
292
- | 'ic'
293
- | 'emote'
294
- | 'ooc'
334
+ | 'macro'
295
335
  | 'invalid'
296
336
  | 'none';
297
337
 
@@ -302,27 +342,6 @@ declare global {
302
342
  isStream: boolean;
303
343
  }
304
344
 
305
- interface Options extends ApplicationOptions {
306
- /**
307
- * @defaultValue `'chat'`
308
- */
309
- id: string;
310
-
311
- /**
312
- * @defaultValue `'templates/sidebar/chat-log.html'`
313
- */
314
- template: string;
315
-
316
- title: string;
317
-
318
- scrollContainer: null;
319
-
320
- /**
321
- * @defaultValue `false`
322
- */
323
- stream: boolean;
324
- }
325
-
326
345
  interface ScrollBottomOptions {
327
346
  /**
328
347
  * If a popout exists, scroll it too
@@ -330,5 +349,13 @@ declare global {
330
349
  */
331
350
  popout?: boolean;
332
351
  }
352
+
353
+ interface PostOneOptions {
354
+ /**
355
+ * An existing message ID to append the message before, by default the new message is
356
+ * appended to the end of the log.
357
+ */
358
+ before?: string | undefined;
359
+ }
333
360
  }
334
361
  }
@@ -4,8 +4,12 @@ declare global {
4
4
  /**
5
5
  * A compendium of knowledge arcane and mystical!
6
6
  * @typeParam Options - The type of the options object
7
+ * @typeParam Data - The data structure used to render the handlebars template.
7
8
  */
8
- class CompendiumDirectory<Options extends ApplicationOptions = ApplicationOptions> extends SidebarTab<Options> {
9
+ class CompendiumDirectory<
10
+ Options extends ApplicationOptions = ApplicationOptions,
11
+ Data extends object = CompendiumDirectory.Data
12
+ > extends SidebarTab<Options> {
9
13
  /**
10
14
  * @override
11
15
  * @defaultValue
@@ -13,7 +17,7 @@ declare global {
13
17
  * foundry.utils.mergeObject(super.defaultOptions, {
14
18
  * id: "compendium",
15
19
  * template: "templates/sidebar/compendium-directory.html",
16
- * title: "Compendium Packs"
20
+ * title: "COMPENDIUM.SidebarTitle"
17
21
  * });
18
22
  * ```
19
23
  */
@@ -23,7 +27,7 @@ declare global {
23
27
  * @param options - (unused)
24
28
  * @override
25
29
  */
26
- getData(options?: Partial<Options>): CompendiumDirectory.Data;
30
+ getData(options?: Partial<Options>): Data | Promise<Data>;
27
31
 
28
32
  /**
29
33
  * @override
@@ -39,22 +43,32 @@ declare global {
39
43
  /**
40
44
  * Get the sidebar directory entry context options
41
45
  * @returns The sidebar entry context options
46
+ * @internal
42
47
  */
43
48
  protected _getEntryContextOptions(): ContextMenuEntry[];
44
49
 
45
50
  /**
46
51
  * Handle a Compendium Pack creation request
47
52
  * @param event - The originating click event
53
+ * @internal
48
54
  */
49
55
  protected _onCreateCompendium(event: JQuery.ClickEvent): Promise<void>;
50
56
 
51
57
  /**
52
58
  * Handle a Compendium Pack deletion request
53
59
  * @param pack - The pack object requested for deletion
60
+ * @internal
54
61
  */
55
62
  protected _onDeleteCompendium(
56
63
  pack: CompendiumCollection<CompendiumCollection.Metadata>
57
64
  ): Promise<CompendiumCollection<CompendiumCollection.Metadata> | void>;
65
+
66
+ /**
67
+ * Toggle the compendium entry open/closed state in the sidebar.
68
+ * @param pack - The name of the compendium pack.
69
+ * @internal
70
+ */
71
+ protected _toggleOpenState(pack: string): void;
58
72
  }
59
73
 
60
74
  namespace CompendiumDirectory {
@@ -5,40 +5,40 @@ declare global {
5
5
  * The sidebar tab which displays various game settings, help messages, and configuration options.
6
6
  * The Settings sidebar is the furthest-to-right using a triple-cogs icon.
7
7
  * @typeParam Options - The type of the options object
8
+ * @typeParam Data - The data structure used to render the handlebars template.
8
9
  */
9
- class Settings<Options extends ApplicationOptions = ApplicationOptions> extends SidebarTab<Options> {
10
+ class Settings<
11
+ Options extends ApplicationOptions = ApplicationOptions,
12
+ Data extends object = Settings.Data
13
+ > extends SidebarTab<Options> {
10
14
  /**
11
15
  * @override
12
16
  * @defaultValue
13
17
  * ```typescript
14
- * foundry.utils.mergeObject(super.defaultOptions, {
15
- * id: "setting",
16
- * template: "templates/sidebar/settings.html".
17
- * title: "Settings"
18
- * })
18
+ * const options = super.defaultOptions;
19
+ * options.id = "settings";
20
+ * options.template = "templates/sidebar/settings.html";
21
+ * options.title = "Settings";
19
22
  * ```
20
23
  */
21
24
  static get defaultOptions(): ApplicationOptions;
22
25
 
23
- /**
24
- * @param options - (unused)
25
- * @override
26
- */
27
- getData(options?: Partial<Options>): Settings.Data;
26
+ /** @override */
27
+ getData(options?: Partial<Options>): Data | Promise<Data>;
28
28
 
29
- /**
30
- * @override
31
- */
29
+ /** @override */
32
30
  activateListeners(html: JQuery): void;
33
31
 
34
32
  /**
35
33
  * Delegate different actions for different settings buttons
34
+ * @internal
36
35
  */
37
36
  protected _onSettingsButton(event: JQuery.ClickEvent): void;
38
37
 
39
38
  /**
40
39
  * Executes with the update notification pip is clicked
41
40
  * @param event - The originating click event
41
+ * @internal
42
42
  */
43
43
  protected _onUpdateNotificationClick(event: JQuery.ClickEvent): void;
44
44
  }
@@ -47,10 +47,13 @@ declare global {
47
47
  interface Data {
48
48
  user: InstanceType<ConfiguredDocumentClass<typeof User>>;
49
49
  system: Game['system'];
50
- coreVersion: Game['data']['version'];
50
+ release: Game['data']['release'];
51
+ versionDisplay: Game['release']['display'];
51
52
  isDemo: boolean;
52
53
  canConfigure: boolean;
53
- canSetup: boolean;
54
+ canEditWorld: boolean;
55
+ canManagePlayers: boolean;
56
+ canReturnSetup: boolean;
54
57
  coreUpdate: string | false;
55
58
  systemUpdate: string | false;
56
59
  modules: number;
@@ -16,9 +16,6 @@ declare class ActorDirectory extends SidebarDirectory<'Actor'> {
16
16
  /** @override */
17
17
  protected _canDragDrop(selector: string): boolean;
18
18
 
19
- /** @override */
20
- protected _onClickEntityName(event: JQuery.ClickEvent): Promise<void>;
21
-
22
19
  /** @override */
23
20
  protected _getEntryContextOptions(): ContextMenuEntry[];
24
21
  }
@@ -1,27 +1,13 @@
1
1
  /**
2
2
  * The sidebar directory which organizes and displays world-level JournalEntry documents.
3
+ * @typeParam Options - The type of the options object
3
4
  */
4
- declare class JournalDirectory extends SidebarDirectory<'JournalEntry'> {
5
+ declare class JournalDirectory<
6
+ Options extends SidebarDirectory.Options = SidebarDirectory.Options
7
+ > extends SidebarDirectory<'JournalEntry', Options> {
5
8
  /** @override */
6
9
  static documentName: 'JournalEntry';
7
10
 
8
- /**
9
- * @override
10
- * @defaultValue
11
- * ```typescript
12
- * const options = super.defaultOptions;
13
- * options.id = "journal";
14
- * options.template = "templates/sidebar/journal-directory.html";
15
- * return options;
16
- * ```
17
- */
18
- static get defaultOptions(): SidebarDirectory.Options;
19
-
20
- /**
21
- * @override
22
- */
23
- get title(): string;
24
-
25
11
  /** @override */
26
12
  protected _getEntryContextOptions(): ContextMenuEntry[];
27
13
  }
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * The directory, not displayed in the sidebar, which organizes and displays world-level Macro documents.
3
3
  *
4
- * @see {@link Macros} The WorldCollection of Macro Entities
5
- * @see {@link Macro} The Macro Entity
4
+ * @see {@link Macros} The WorldCollection of Macro Documents
5
+ * @see {@link Macro} The Macro Document
6
6
  * @see {@link MacroConfig} The Macro Configuration Sheet
7
7
  */
8
8
  declare class MacroDirectory extends SidebarDirectory<'Macro'> {
@@ -10,10 +10,4 @@ declare class MacroDirectory extends SidebarDirectory<'Macro'> {
10
10
 
11
11
  /** @override */
12
12
  static documentName: 'Macro';
13
-
14
- /**
15
- * @override
16
- * @remarks This is never called.
17
- */
18
- protected _onCreate(event: Event): Promise<void>;
19
13
  }
@@ -48,14 +48,21 @@ declare global {
48
48
  /** @override */
49
49
  static documentName: 'Playlist';
50
50
 
51
+ /**
52
+ * @override
53
+ * @defaultValue `'templates/sidebar/playlist-partial.html'`
54
+ */
55
+ static documentPartial: string;
56
+
51
57
  /**
52
58
  * @override
53
59
  * @defaultValue
54
60
  * ```typescript
55
61
  * const options = super.defaultOptions;
56
- * options.dragDrop[0].dragSelector = ".playlist-name";
62
+ * options.template = "templates/sidebar/playlists-directory.html";
63
+ * options.dragDrop[0].dragSelector = ".playlist-name, .sound-name";
57
64
  * options.renderUpdateKeys = ["name", "playing", "mode", "sounds", "sort", "sorting", "folder"];
58
- * options.contextMenuSelector = ".entity .playlist-header";
65
+ * options.contextMenuSelector = ".document .playlist-header";
59
66
  * return options;
60
67
  * ```
61
68
  */
@@ -68,12 +75,18 @@ declare global {
68
75
  protected _createExpandedSet(): Set<string>;
69
76
 
70
77
  /**
71
- * Return an Array of the Playlist entities which are currently playing
78
+ * Return an Array of the Playlist documents which are currently playing
72
79
  */
73
80
  get playing(): InstanceType<ConfiguredDocumentClass<typeof Playlist>>[];
74
81
 
82
+ /**
83
+ * Whether the 'currently playing' element is pinned to the top or bottom of the display.
84
+ * @internal
85
+ */
86
+ protected get _playingLocation(): 'top' | 'bottom';
87
+
75
88
  /** @override */
76
- getData(options?: Partial<Options>): PlaylistDirectory.Data;
89
+ getData(options?: Partial<Options>): PlaylistDirectory.Data | Promise<PlaylistDirectory.Data>;
77
90
 
78
91
  /**
79
92
  * Augment the tree directory structure with playlist-level data objects for rendering
@@ -206,7 +219,10 @@ declare global {
206
219
  * @param event - The initial click event
207
220
  * @internal
208
221
  */
209
- protected _onSoundToggleMode(event: JQuery.ClickEvent): unknown;
222
+ protected _onSoundToggleMode(event: JQuery.ClickEvent): void;
223
+
224
+ /** @internal */
225
+ protected _onPlayingPin(): void;
210
226
 
211
227
  /** @override */
212
228
  protected _onSearchFilter(event: KeyboardEvent, query: string, rgx: RegExp, html: HTMLElement): void;
@@ -241,6 +257,12 @@ declare global {
241
257
  * @internal
242
258
  */
243
259
  protected _getSoundContextOptions(): ContextMenuEntry[];
260
+
261
+ /** @override */
262
+ protected _onDragStart(event: DragEvent): void;
263
+
264
+ /** @override */
265
+ protected _onDrop(event: DragEvent): void;
244
266
  }
245
267
 
246
268
  namespace PlaylistDirectory {
@@ -251,6 +273,17 @@ declare global {
251
273
  ambientModifier: number;
252
274
  interfaceModifier: number;
253
275
  volumeExpanded: boolean;
276
+ currentlyPlaying: {
277
+ class: `location-${'top' | 'bottom'}`;
278
+ location: {
279
+ top: boolean;
280
+ bottom: boolean;
281
+ };
282
+ pin: {
283
+ label: string;
284
+ caret: 'down' | 'up';
285
+ };
286
+ };
254
287
  }
255
288
 
256
289
  namespace Data {
@@ -5,6 +5,12 @@ declare class SceneDirectory extends SidebarDirectory<'Scene'> {
5
5
  /** @override */
6
6
  static documentName: 'Scene';
7
7
 
8
+ /**
9
+ * @override
10
+ * @defaultValue `"templates/sidebar/scene-partial.html"`
11
+ */
12
+ static documentPartial: string;
13
+
8
14
  /** @override */
9
15
  protected _render(force?: boolean, options?: Application.RenderOptions<SidebarDirectory.Options>): Promise<void>;
10
16
 
@@ -106,7 +106,9 @@ declare global {
106
106
  * This implementation doesn't actually return `PlaylistDirectory.Data`, it's only to allow {@link PlaylistDirectory}
107
107
  * to override accordingly.
108
108
  */
109
- getData(options?: Partial<Options>): SidebarDirectory.Data<this['tree']>;
109
+ getData(
110
+ options?: Partial<Options>
111
+ ): SidebarDirectory.Data<this['tree']> | Promise<SidebarDirectory.Data<this['tree']>>;
110
112
 
111
113
  /**
112
114
  * @param event - (unused)
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Support Info and Report
3
+ * @typeParam Options - the type of the options object
4
+ * @typeParam Data - The data structure used to render the handlebars template.
5
+ */
6
+ declare class SupportDetails<
7
+ Options extends ApplicationOptions = ApplicationOptions,
8
+ Data extends object = SupportDetails.Data
9
+ > extends Application<Options> {
10
+ /**
11
+ * @override
12
+ * @defaultValue
13
+ * ```typescript
14
+ * const options = super.defaultOptions;
15
+ * options.title = "SUPPORT.Title";
16
+ * options.id = "support-details";
17
+ * options.template = "templates/sidebar/apps/support-details.html";
18
+ * options.width = 620;
19
+ * options.height = "auto";
20
+ * return options;
21
+ * ```
22
+ */
23
+ static get defaultOptions(): ApplicationOptions;
24
+
25
+ /**
26
+ * Returns the support report data
27
+ */
28
+ getData(options?: Partial<Options> | undefined): Data | Promise<Data>;
29
+
30
+ /**
31
+ * @override
32
+ * Binds the Support Report copy button
33
+ */
34
+ activateListeners(html: JQuery): void;
35
+
36
+ /**
37
+ * Collects a number of metrics that is useful for Support
38
+ */
39
+ static generateSupportReport(): SupportReportData;
40
+
41
+ /**
42
+ * Get a WebGL renderer information string
43
+ * @param gl - The rendering context
44
+ * @returns The unmasked renderer string
45
+ */
46
+ static getWebGLRendererInfo(gl: WebGLRenderingContext): string;
47
+ }
48
+
49
+ interface SupportReportData {
50
+ coreVersion: number;
51
+ systemVersion: string;
52
+ activeModuleCount: number;
53
+ os: string;
54
+ client: string;
55
+ gpu: string;
56
+ maxTextureSize: number | string;
57
+ sceneDimensions: string;
58
+ grid: number;
59
+ padding: number;
60
+ walls: number;
61
+ lights: number;
62
+ sounds: number;
63
+ tiles: number;
64
+ tokens: number;
65
+ actors: number;
66
+ items: number;
67
+ journals: number;
68
+ tables: number;
69
+ playlists: number;
70
+ packs: number;
71
+ messages: number;
72
+ }
73
+
74
+ declare namespace SupportDetails {
75
+ interface Data {
76
+ report: SupportReportData;
77
+ }
78
+ }
@@ -320,7 +320,7 @@ export declare class ClientDocumentMixin<T extends foundry.abstract.Document<any
320
320
  | (ConstructorDataType<InstanceType<T>['data']> & Record<string, unknown>)
321
321
  >
322
322
  | undefined,
323
- context?: (Pick<DocumentModificationContext, 'parent' | 'pack'> & Partial<Dialog.Options>) | undefined
323
+ context?: (Pick<DocumentModificationContext, 'parent' | 'pack'> & Partial<DialogOptions>) | undefined
324
324
  ): Promise<InstanceType<ConfiguredDocumentClass<T>> | null | undefined>;
325
325
 
326
326
  /**
@@ -329,7 +329,7 @@ export declare class ClientDocumentMixin<T extends foundry.abstract.Document<any
329
329
  * (default: `{}`)
330
330
  * @returns A Promise which resolves to the deleted Document
331
331
  */
332
- deleteDialog(options?: Partial<Dialog.Options> | undefined): Promise<this | false | null | undefined>;
332
+ deleteDialog(options?: Partial<DialogOptions> | undefined): Promise<this | false | null | undefined>;
333
333
 
334
334
  /**
335
335
  * Export document data to a JSON file which can be saved by the client and later imported into a different session.
@@ -30,6 +30,11 @@ declare global {
30
30
  */
31
31
  get drawnCards(): InstanceType<ConfiguredDocumentClassForName<'Card'>>[];
32
32
 
33
+ /**
34
+ * Returns the localized Label for the type of Card Stack this is
35
+ */
36
+ get typeLabel(): string;
37
+
33
38
  /** @override */
34
39
  static createDocuments(
35
40
  data: Array<
@@ -182,6 +187,9 @@ declare global {
182
187
  userId: string
183
188
  ): void;
184
189
 
190
+ /** @override */
191
+ protected _preDelete(options: DocumentModificationOptions, user: foundry.documents.BaseUser): Promise<void>;
192
+
185
193
  // TODO: It's a bit weird that we have to do it in this generic way but otherwise there is an error overriding this. Investigate later.
186
194
  /** @override */
187
195
  static deleteDocuments<T extends DocumentConstructor>(
@@ -224,7 +232,7 @@ declare global {
224
232
  resetDialog(): Promise<InstanceType<ConfiguredDocumentClassForName<'Cards'>> | false | null>;
225
233
 
226
234
  /** @override */
227
- deleteDialog(options?: Partial<Dialog.Options> | undefined): Promise<this | false | null | undefined>;
235
+ deleteDialog(options?: Partial<DialogOptions> | undefined): Promise<this | false | null | undefined>;
228
236
 
229
237
  // TODO: It's a bit weird that we have to do it in this generic way but otherwise there is an error overriding this. Investigate later.
230
238
  /** @override */
@@ -236,7 +244,7 @@ declare global {
236
244
  | (ConstructorDataType<foundry.data.CardsData> & Record<string, unknown>)
237
245
  >
238
246
  | undefined,
239
- context?: (Pick<DocumentModificationContext, 'parent' | 'pack'> & Partial<Dialog.Options>) | undefined
247
+ context?: (Pick<DocumentModificationContext, 'parent' | 'pack'> & Partial<DialogOptions>) | undefined
240
248
  ): Promise<InstanceType<ConfiguredDocumentClass<T>> | null | undefined>;
241
249
  }
242
250