@league-of-foundry-developers/foundry-vtt-types 0.8.9-6 → 9.238.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 (211) hide show
  1. package/README.md +44 -27
  2. package/index-lenient.d.ts +10 -0
  3. package/index.d.ts +2 -2
  4. package/package.json +43 -15
  5. package/src/foundry/common/abstract/backend.mjs.d.ts +14 -15
  6. package/src/foundry/common/abstract/document.mjs.d.ts +30 -12
  7. package/src/foundry/common/config.mjs/index.d.ts +1 -0
  8. package/src/foundry/common/config.mjs/releaseData.d.ts +98 -0
  9. package/src/foundry/common/constants.mjs.d.ts +402 -213
  10. package/src/foundry/common/data/data.mjs/activeEffectData.d.ts +36 -29
  11. package/src/foundry/common/data/data.mjs/actorData.d.ts +32 -21
  12. package/src/foundry/common/data/data.mjs/adventureData.d.ts +165 -0
  13. package/src/foundry/common/data/data.mjs/ambientLightData.d.ts +45 -124
  14. package/src/foundry/common/data/data.mjs/ambientSoundData.d.ts +49 -77
  15. package/src/foundry/common/data/data.mjs/animationData.d.ts +17 -9
  16. package/src/foundry/common/data/data.mjs/cardData.d.ts +265 -0
  17. package/src/foundry/common/data/data.mjs/cardFaceData.d.ts +66 -0
  18. package/src/foundry/common/data/data.mjs/cardsData.d.ts +238 -0
  19. package/src/foundry/common/data/data.mjs/chatMessageData.d.ts +51 -39
  20. package/src/foundry/common/data/data.mjs/chatSpeakerData.d.ts +18 -11
  21. package/src/foundry/common/data/data.mjs/combatData.d.ts +51 -25
  22. package/src/foundry/common/data/data.mjs/combatantData.d.ts +48 -30
  23. package/src/foundry/common/data/data.mjs/darknessActivation.d.ts +8 -7
  24. package/src/foundry/common/data/data.mjs/drawingData.d.ts +72 -66
  25. package/src/foundry/common/data/data.mjs/effectChangeData.d.ts +21 -25
  26. package/src/foundry/common/data/data.mjs/effectDurationData.d.ts +24 -23
  27. package/src/foundry/common/data/data.mjs/fogExplorationData.d.ts +23 -16
  28. package/src/foundry/common/data/data.mjs/folderData.d.ts +28 -25
  29. package/src/foundry/common/data/data.mjs/index.d.ts +5 -0
  30. package/src/foundry/common/data/data.mjs/itemData.d.ts +26 -18
  31. package/src/foundry/common/data/data.mjs/journalEntryData.d.ts +21 -20
  32. package/src/foundry/common/data/data.mjs/lightData.d.ts +228 -0
  33. package/src/foundry/common/data/data.mjs/macroData.d.ts +52 -35
  34. package/src/foundry/common/data/data.mjs/measuredTemplateData.d.ts +41 -38
  35. package/src/foundry/common/data/data.mjs/noteData.d.ts +47 -37
  36. package/src/foundry/common/data/data.mjs/playlistData.d.ts +55 -26
  37. package/src/foundry/common/data/data.mjs/playlistSoundData.d.ts +32 -16
  38. package/src/foundry/common/data/data.mjs/prototypeTokenData.d.ts +7 -11
  39. package/src/foundry/common/data/data.mjs/rollTableData.d.ts +30 -24
  40. package/src/foundry/common/data/data.mjs/sceneData.d.ts +132 -111
  41. package/src/foundry/common/data/data.mjs/settingData.d.ts +11 -8
  42. package/src/foundry/common/data/data.mjs/tableResultData.d.ts +30 -26
  43. package/src/foundry/common/data/data.mjs/tileData.d.ts +43 -36
  44. package/src/foundry/common/data/data.mjs/tileOcclusion.d.ts +10 -9
  45. package/src/foundry/common/data/data.mjs/tokenBarData.d.ts +6 -3
  46. package/src/foundry/common/data/data.mjs/tokenData.d.ts +105 -157
  47. package/src/foundry/common/data/data.mjs/userData.d.ts +111 -33
  48. package/src/foundry/common/data/data.mjs/videoData.d.ts +9 -8
  49. package/src/foundry/common/data/data.mjs/wallData.d.ts +67 -39
  50. package/src/foundry/common/data/fields.mjs.d.ts +180 -83
  51. package/src/foundry/common/documents.mjs/baseActiveEffect.d.ts +9 -3
  52. package/src/foundry/common/documents.mjs/baseActor.d.ts +17 -45
  53. package/src/foundry/common/documents.mjs/baseAdventure.d.ts +38 -0
  54. package/src/foundry/common/documents.mjs/baseAmbientLight.d.ts +3 -0
  55. package/src/foundry/common/documents.mjs/baseAmbientSound.d.ts +3 -1
  56. package/src/foundry/common/documents.mjs/baseCard.d.ts +62 -0
  57. package/src/foundry/common/documents.mjs/baseCards.d.ts +39 -0
  58. package/src/foundry/common/documents.mjs/baseChatMessage.d.ts +3 -0
  59. package/src/foundry/common/documents.mjs/baseCombat.d.ts +5 -2
  60. package/src/foundry/common/documents.mjs/baseCombatant.d.ts +10 -1
  61. package/src/foundry/common/documents.mjs/baseDrawing.d.ts +11 -1
  62. package/src/foundry/common/documents.mjs/baseFogExploration.d.ts +4 -3
  63. package/src/foundry/common/documents.mjs/baseFolder.d.ts +10 -1
  64. package/src/foundry/common/documents.mjs/baseItem.d.ts +11 -29
  65. package/src/foundry/common/documents.mjs/baseJournalEntry.d.ts +3 -0
  66. package/src/foundry/common/documents.mjs/baseMacro.d.ts +16 -14
  67. package/src/foundry/common/documents.mjs/baseMeasuredTemplate.d.ts +4 -1
  68. package/src/foundry/common/documents.mjs/baseNote.d.ts +2 -2
  69. package/src/foundry/common/documents.mjs/basePlaylist.d.ts +1 -0
  70. package/src/foundry/common/documents.mjs/basePlaylistSound.d.ts +2 -1
  71. package/src/foundry/common/documents.mjs/baseRollTable.d.ts +3 -0
  72. package/src/foundry/common/documents.mjs/baseScene.d.ts +1 -0
  73. package/src/foundry/common/documents.mjs/baseSetting.d.ts +1 -0
  74. package/src/foundry/common/documents.mjs/baseTableResult.d.ts +10 -3
  75. package/src/foundry/common/documents.mjs/baseTile.d.ts +1 -0
  76. package/src/foundry/common/documents.mjs/baseToken.d.ts +3 -0
  77. package/src/foundry/common/documents.mjs/baseUser.d.ts +7 -1
  78. package/src/foundry/common/documents.mjs/baseWall.d.ts +7 -10
  79. package/src/foundry/common/documents.mjs/index.d.ts +3 -0
  80. package/src/foundry/common/module.mjs.d.ts +3 -0
  81. package/src/foundry/common/packages.mjs/moduleData.d.ts +12 -9
  82. package/src/foundry/common/packages.mjs/packageAuthorData.d.ts +24 -24
  83. package/src/foundry/common/packages.mjs/packageCompendiumData.d.ts +27 -21
  84. package/src/foundry/common/packages.mjs/packageData.d.ts +108 -82
  85. package/src/foundry/common/packages.mjs/packageDependencyData.d.ts +18 -11
  86. package/src/foundry/common/packages.mjs/packageLanguageData.d.ts +16 -15
  87. package/src/foundry/common/packages.mjs/systemData.d.ts +21 -20
  88. package/src/foundry/common/packages.mjs/tagPackageAvailability.d.ts +3 -3
  89. package/src/foundry/common/packages.mjs/worldData.d.ts +29 -18
  90. package/src/foundry/common/types.mjs.d.ts +100 -0
  91. package/src/foundry/common/utils/helpers.mjs.d.ts +27 -2
  92. package/src/foundry/common/utils/primitives.mjs.d.ts +99 -16
  93. package/src/foundry/foundry.js/application.d.ts +4 -7
  94. package/src/foundry/foundry.js/applications/cameraViews.d.ts +36 -31
  95. package/src/foundry/foundry.js/applications/compendium.d.ts +5 -2
  96. package/src/foundry/foundry.js/applications/filePicker.d.ts +116 -116
  97. package/src/foundry/foundry.js/applications/formApplication.d.ts +2 -2
  98. package/src/foundry/foundry.js/applications/formApplications/combatTrackerConfig.d.ts +20 -27
  99. package/src/foundry/foundry.js/applications/formApplications/defaultTokenConfig.d.ts +66 -0
  100. package/src/foundry/foundry.js/applications/formApplications/documentSheet.d.ts +1 -1
  101. package/src/foundry/foundry.js/applications/formApplications/documentSheets/activeEffectConfig.d.ts +2 -2
  102. package/src/foundry/foundry.js/applications/formApplications/documentSheets/actorSheet.d.ts +6 -3
  103. package/src/foundry/foundry.js/applications/formApplications/documentSheets/ambientLightConfig.d.ts +104 -0
  104. package/src/foundry/foundry.js/applications/formApplications/documentSheets/ambientSoundConfig.d.ts +1 -1
  105. package/src/foundry/foundry.js/applications/formApplications/{folderConfig.d.ts → documentSheets/folderConfig.d.ts} +3 -3
  106. package/src/foundry/foundry.js/applications/formApplications/documentSheets/index.d.ts +4 -0
  107. package/src/foundry/foundry.js/applications/formApplications/documentSheets/lightConfig.d.ts +5 -79
  108. package/src/foundry/foundry.js/applications/formApplications/documentSheets/measuredTemplateConfig.d.ts +60 -0
  109. package/src/foundry/foundry.js/applications/formApplications/documentSheets/noteConfig.d.ts +72 -0
  110. package/src/foundry/foundry.js/applications/formApplications/documentSheets/permissionControl.d.ts +5 -5
  111. package/src/foundry/foundry.js/applications/formApplications/documentSheets/playlistConfig.d.ts +1 -1
  112. package/src/foundry/foundry.js/applications/formApplications/documentSheets/rollTableConfig.d.ts +187 -148
  113. package/src/foundry/foundry.js/applications/formApplications/documentSheets/sceneConfig.d.ts +133 -110
  114. package/src/foundry/foundry.js/applications/formApplications/documentSheets/tileConfig.d.ts +1 -1
  115. package/src/foundry/foundry.js/applications/formApplications/drawingConfig.d.ts +93 -95
  116. package/src/foundry/foundry.js/applications/formApplications/entitySheetConfig.d.ts +163 -147
  117. package/src/foundry/foundry.js/applications/formApplications/gridConfig.d.ts +1 -1
  118. package/src/foundry/foundry.js/applications/formApplications/imagePopout.d.ts +1 -1
  119. package/src/foundry/foundry.js/applications/formApplications/index.d.ts +2 -3
  120. package/src/foundry/foundry.js/applications/formApplications/keybindingsConfig.d.ts +257 -0
  121. package/src/foundry/foundry.js/applications/formApplications/moduleManagement.d.ts +41 -23
  122. package/src/foundry/foundry.js/applications/formApplications/settingsConfig.d.ts +95 -86
  123. package/src/foundry/foundry.js/applications/formApplications/tokenConfig.d.ts +142 -155
  124. package/src/foundry/foundry.js/applications/formApplications/wallConfig.d.ts +60 -70
  125. package/src/foundry/foundry.js/applications/formApplications/worldConfig.d.ts +25 -17
  126. package/src/foundry/foundry.js/applications/hotbar.d.ts +5 -4
  127. package/src/foundry/foundry.js/applications/sceneControls.d.ts +13 -3
  128. package/src/foundry/foundry.js/applications/sceneNavigation.d.ts +90 -71
  129. package/src/foundry/foundry.js/applications/sidebarTab.d.ts +1 -1
  130. package/src/foundry/foundry.js/applications/sidebarTabs/chatLog.d.ts +7 -6
  131. package/src/foundry/foundry.js/applications/sidebarTabs/compendiumDirectory.d.ts +2 -2
  132. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/actorDirectory.d.ts +13 -56
  133. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/cardsDirectory.d.ts +7 -0
  134. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/index.d.ts +1 -0
  135. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/itemDirectory.d.ts +7 -30
  136. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/journalDirectory.d.ts +14 -34
  137. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/macroDirectory.d.ts +6 -52
  138. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/playlistDirectory.d.ts +2 -2
  139. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/sceneDirectory.d.ts +6 -23
  140. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectory.d.ts +4 -6
  141. package/src/foundry/foundry.js/avSettings.d.ts +7 -7
  142. package/src/foundry/foundry.js/cameraPopoutAppWrapper.d.ts +12 -7
  143. package/src/foundry/foundry.js/canvas.d.ts +150 -47
  144. package/src/foundry/foundry.js/canvasAnimation.d.ts +1 -1
  145. package/src/foundry/foundry.js/canvasDocumentMixin.d.ts +7 -0
  146. package/src/foundry/foundry.js/clientDatabaseBackend.d.ts +210 -0
  147. package/src/foundry/foundry.js/clientDocumentMixin.d.ts +45 -91
  148. package/src/foundry/foundry.js/clientDocuments/activeEffect.d.ts +3 -2
  149. package/src/foundry/foundry.js/clientDocuments/actor.d.ts +3 -7
  150. package/src/foundry/foundry.js/clientDocuments/canvasDocuments/ambientSoundDocument.d.ts +1 -6
  151. package/src/foundry/foundry.js/clientDocuments/canvasDocuments/tokenDocument.d.ts +1 -1
  152. package/src/foundry/foundry.js/clientDocuments/card.d.ts +133 -0
  153. package/src/foundry/foundry.js/clientDocuments/cards.d.ts +384 -0
  154. package/src/foundry/foundry.js/clientDocuments/chatMessage.d.ts +11 -10
  155. package/src/foundry/foundry.js/clientDocuments/combat.d.ts +4 -8
  156. package/src/foundry/foundry.js/clientDocuments/combatant.d.ts +1 -1
  157. package/src/foundry/foundry.js/clientDocuments/folder.d.ts +4 -6
  158. package/src/foundry/foundry.js/clientDocuments/index.d.ts +3 -0
  159. package/src/foundry/foundry.js/clientDocuments/item.d.ts +3 -4
  160. package/src/foundry/foundry.js/clientDocuments/playlist.d.ts +4 -3
  161. package/src/foundry/foundry.js/clientDocuments/prototypeToken.d.ts +15 -0
  162. package/src/foundry/foundry.js/clientDocuments/rollTable.d.ts +1 -1
  163. package/src/foundry/foundry.js/clientDocuments/scene.d.ts +30 -23
  164. package/src/foundry/foundry.js/clientKeybindings.d.ts +299 -0
  165. package/src/foundry/foundry.js/clientSettings.d.ts +21 -6
  166. package/src/foundry/foundry.js/collections/documentCollections/compendiumCollection.d.ts +45 -12
  167. package/src/foundry/foundry.js/collections/documentCollections/worldCollections/cardStacks.d.ts +9 -0
  168. package/src/foundry/foundry.js/collections/documentCollections/worldCollections/index.d.ts +1 -0
  169. package/src/foundry/foundry.js/collections/documentCollections/worldCollections/playlists.d.ts +3 -2
  170. package/src/foundry/foundry.js/config.d.ts +494 -902
  171. package/src/foundry/foundry.js/dragDrop.d.ts +17 -14
  172. package/src/foundry/foundry.js/game.d.ts +86 -11
  173. package/src/foundry/foundry.js/gamepadManager.d.ts +41 -0
  174. package/src/foundry/foundry.js/globalVariables.d.ts +7 -4
  175. package/src/foundry/foundry.js/handlebarsHelpers.d.ts +4 -4
  176. package/src/foundry/foundry.js/hooks.d.ts +57 -0
  177. package/src/foundry/foundry.js/keyboardManager.d.ts +165 -213
  178. package/src/foundry/foundry.js/mouseInteractionManager.d.ts +78 -34
  179. package/src/foundry/foundry.js/mouseManager.d.ts +18 -0
  180. package/src/foundry/foundry.js/newUserExperience.d.ts +34 -0
  181. package/src/foundry/foundry.js/pixi/containers/cachedContainer.d.ts +8 -0
  182. package/src/foundry/foundry.js/pixi/containers/cachedContainers/index.d.ts +1 -0
  183. package/src/foundry/foundry.js/pixi/containers/cachedContainers/primaryCanvasGroup.d.ts +42 -0
  184. package/src/foundry/foundry.js/pixi/containers/canvasLayer.d.ts +2 -1
  185. package/src/foundry/foundry.js/pixi/containers/canvasLayers/gridLayer.d.ts +2 -2
  186. package/src/foundry/foundry.js/pixi/containers/canvasLayers/index.d.ts +1 -1
  187. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayer.d.ts +10 -19
  188. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/mapLayers/backgroundLayer.d.ts +6 -2
  189. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/mapLayers/foregroundLayer.d.ts +2 -2
  190. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/wallsLayer.d.ts +4 -4
  191. package/src/foundry/foundry.js/pixi/containers/canvasLayers/{effectsLayer.d.ts → weatherLayer.d.ts} +7 -7
  192. package/src/foundry/foundry.js/pixi/containers/effectsCanvasGroup.d.ts +29 -0
  193. package/src/foundry/foundry.js/pixi/containers/index.d.ts +3 -0
  194. package/src/foundry/foundry.js/pixi/containers/interfaceCanvasGroup.d.ts +27 -0
  195. package/src/foundry/foundry.js/pixi/containers/placeableObject.d.ts +4 -1
  196. package/src/foundry/foundry.js/pixi/containers/placeableObjects/token.d.ts +1 -1
  197. package/src/foundry/foundry.js/pixi/containers/placeableObjects/wall.d.ts +1 -1
  198. package/src/foundry/foundry.js/pointSource.d.ts +174 -86
  199. package/src/foundry/foundry.js/roll.d.ts +25 -36
  200. package/src/foundry/foundry.js/rollTerm.d.ts +7 -4
  201. package/src/foundry/foundry.js/rollTerms/diceTerm.d.ts +4 -22
  202. package/src/foundry/foundry.js/rollTerms/mathTerm.d.ts +3 -0
  203. package/src/foundry/foundry.js/rollTerms/parentheticalTerm.d.ts +3 -0
  204. package/src/foundry/foundry.js/rollTerms/poolTerm.d.ts +3 -5
  205. package/src/foundry/foundry.js/rollTerms/stringTerm.d.ts +4 -1
  206. package/src/foundry/foundry.js/searchFilter.d.ts +1 -1
  207. package/src/foundry/foundry.js/textEditor.d.ts +40 -9
  208. package/src/foundry/index.d.ts +5 -0
  209. package/src/types/utils.d.ts +11 -3
  210. package/src/foundry/foundry.js/applications/formApplications/measuredTemplateConfig.d.ts +0 -61
  211. package/src/foundry/foundry.js/applications/formApplications/noteConfig.d.ts +0 -77
@@ -1,175 +1,162 @@
1
- // TODO: Remove when updating this class!!!
2
- // eslint-disable-next-line
3
- // @ts-nocheck
4
-
5
- /**
6
- * A Token Configuration Application
7
- * @typeParam P - the type of the options object
8
- */
9
- declare class TokenConfig<P extends TokenConfig.Options = TokenConfig.Options> extends FormApplication<
10
- P,
11
- TokenConfig.Data,
12
- Token
13
- > {
14
- /**
15
- * @param token - The Token object for which settings are being configured
16
- * @param options - TokenConfig ui options (see Application)
17
- */
18
- constructor(token: Token, options?: Partial<P>);
19
-
20
- /**
21
- * @override
22
- * @defaultValue
23
- * ```typescript
24
- * mergeObject(super.defaultOptions, {
25
- * classes: ["sheet", "token-sheet"],
26
- * template: "templates/scene/token-config.html",
27
- * width: 480,
28
- * height: "auto",
29
- * tabs: [{navSelector: ".tabs", contentSelector: "form", initial: "character"}]
30
- * });
31
- * ```
32
- */
33
- static get defaultOptions(): TokenConfig.Options;
34
-
35
- /** @override */
36
- get id(): string;
1
+ import type { ConfiguredDocumentClassForName } from '../../../../types/helperTypes';
2
+ import type { TokenDataConstructorData } from '../../../common/data/data.mjs/tokenData.js';
37
3
 
4
+ declare global {
38
5
  /**
39
- * Convenience access for the Token object
6
+ * The Application responsible for configuring a single Token document within a parent Scene.
7
+ * @typeParam Options - The type of the options object
8
+ * @typeParam Data - The data structure used to render the handlebars template.
40
9
  */
41
- get token(): this['object'];
10
+ class TokenConfig<
11
+ Options extends FormApplication.Options = FormApplication.Options,
12
+ Data extends object = TokenConfig.Data<Options>
13
+ > extends FormApplication<
14
+ Options,
15
+ Data,
16
+ InstanceType<ConfiguredDocumentClassForName<'Token'>> | InstanceType<ConfiguredDocumentClassForName<'Actor'>>
17
+ > {
18
+ constructor(
19
+ object:
20
+ | InstanceType<ConfiguredDocumentClassForName<'Token'>>
21
+ | InstanceType<ConfiguredDocumentClassForName<'Actor'>>,
22
+ options?: Partial<Options>
23
+ );
24
+
25
+ token: InstanceType<ConfiguredDocumentClassForName<'Token'>> | PrototypeTokenDocument;
42
26
 
43
- /**
44
- * Convenience access for the Token's linked Actor, if any
45
- */
46
- get actor(): this['token']['actor'];
47
-
48
- /** @override */
49
- get title(): string;
50
-
51
- /**
52
- * @param options - (unused)
53
- * @override
54
- */
55
- getData(options?: Partial<P>): Promise<TokenConfig.Data>;
56
-
57
- /** @override */
58
- render(force?: boolean, options?: Application.RenderOptions<P>): Promise<void>;
59
-
60
- /**
61
- * Inspect the Actor data model and identify the set of attributes which could be used for a Token Bar
62
- */
63
- static getTrackedAttributeChoices(attributes: TokenConfig.Attributes): Partial<Record<string, string[]>>;
27
+ /**
28
+ * @override
29
+ * @defaultValue
30
+ * ```typescript
31
+ * foundry.utils.mergeObject(super.defaultOptions, {
32
+ * classes: ["sheet", "token-sheet"],
33
+ * template: "templates/scene/token-config.html",
34
+ * width: 480,
35
+ * height: "auto",
36
+ * tabs: [{ navSelector: ".tabs", contentSelector: "form", initial: "character" }],
37
+ * })
38
+ * ```
39
+ */
40
+ static get defaultOptions(): FormApplication.Options;
64
41
 
65
- /**
66
- * Test whether an individual data object is a valid attribute - containing both a "value" and "max" field
67
- * @param data - The data object to search
68
- * @param _path - The attribute path being recursed
69
- * (default: `[]`)
70
- * @returns An object containing both bar and value attribute paths
71
- */
72
- protected static getTrackedAttributes(data: object, _path: string[]): TokenConfig.Attributes;
42
+ /** @override */
43
+ get id(): string;
73
44
 
74
- /**
75
- * Get an Object of image paths and filenames to display in the Token sheet
76
- */
77
- protected _getAlternateTokenImages(): Promise<Partial<Record<string, string>>>;
45
+ /**
46
+ * A convenience accessor to test whether we are configuring the prototype Token for an Actor.
47
+ */
48
+ get isPrototype(): boolean;
78
49
 
79
- /** @override */
80
- activateListeners(html: JQuery): void;
50
+ /**
51
+ * Convenience access to the Actor document that this Token represents
52
+ */
53
+ get actor(): InstanceType<ConfiguredDocumentClassForName<'Actor'>>;
81
54
 
82
- /** @override */
83
- protected _getSubmitData(
84
- updateData?: TokenConfig.FormData
85
- ): ReturnType<FormApplication['_getSubmitData']> & { lightAlpha: number };
55
+ /** @override */
56
+ get title(): string;
86
57
 
87
- /** @override */
88
- protected _updateObject(event: Event, formData: TokenConfig.FormData): Promise<void>;
58
+ /** @override */
59
+ getData(options?: Partial<Options>): Data | Promise<Data>;
89
60
 
90
- /**
91
- * Update certain fields of a linked actor token when token configuration is changed
92
- * @param tokenData - The new token data
93
- */
94
- protected _updateActorData(tokenData: TokenConfig.FormData): ReturnType<Actor['update']> | void;
61
+ /** @override */
62
+ render(force?: boolean, options?: Application.RenderOptions<Options>): Promise<this>;
95
63
 
96
- /**
97
- * Handle Token assignment requests to update the default prototype Token
98
- * @param event - The left-click event on the assign token button
99
- */
100
- protected _onAssignToken(event: JQuery.ClickEvent): Promise<void>;
64
+ /**
65
+ * Get an Object of image paths and filenames to display in the Token sheet
66
+ * @internal
67
+ */
68
+ protected _getAlternateTokenImages(): Promise<Record<string, string>>;
101
69
 
102
- /**
103
- * Handle changing the attribute bar in the drop-down selector to update the default current and max value
104
- */
105
- protected _onBarChange(ev: JQuery.ChangeEvent): Promise<void>;
106
- }
70
+ /** @override */
71
+ activateListeners(html: JQuery): void;
107
72
 
108
- declare namespace TokenConfig {
109
- interface Attributes {
110
- bar: string[][];
111
- value: string[][];
112
- }
73
+ /** @override */
74
+ protected _getSubmitData(updateData?: TokenDataConstructorData): Record<string, unknown> & { lightAlpha: number };
113
75
 
114
- interface Data {
115
- cssClasses: 'prototype' | '';
116
- isPrototype: Options['configureDefault'];
117
- hasAlternates: boolean;
118
- alternateImages: TokenConfig['_getAlternateTokenImages'] | [];
119
- object: foundry.utils.Duplicated<TokenConfig['token']['data']>;
120
- options: TokenConfig['options'];
121
- gridUnits: Scene['data']['gridUnits'] | Game['system']['gridUnits'];
122
- barAttributes: ReturnType<typeof TokenConfig['getTrackedAttributeChoices']>;
123
- bar1: ReturnType<TokenConfig['object']['getBarAttribute']>;
124
- bar2: ReturnType<TokenConfig['object']['getBarAttribute']>;
125
- displayModes: Record<foundry.CONST.TokenDisplayMode, string>;
126
- actors: Array<Pick<Actor, '_id' | 'name'>>;
127
- dispositions: Record<foundry.CONST.TokenDisposition, string>;
128
- lightAnimations: { [Key in keyof typeof CONFIG['Canvas']['lightAnimations']]: string } & { '': 'None' };
129
- lightAlpha: number;
130
- isGM: User['isGM'];
131
- }
76
+ /** @override */
77
+ protected _updateObject(
78
+ event: Event,
79
+ formData: TokenConfig.FormData
80
+ ): Promise<
81
+ | InstanceType<ConfiguredDocumentClassForName<'Token'>>
82
+ | InstanceType<ConfiguredDocumentClassForName<'Actor'>>
83
+ | undefined
84
+ >;
132
85
 
133
- interface FormData {
134
- actorId: Token.Data['actorId'];
135
- actorLink: Token.Data['actorLink'];
136
- alternateImages?: string;
137
- 'bar1.attribute': Token.Data['bar1']['attribute'];
138
- 'bar2.attribute': Token.Data['bar2']['attribute'];
139
- brightLight: Token.Data['brightLight'] | null;
140
- brightSight: Token.Data['brightSight'] | null;
141
- dimLight: Token.Data['dimLight'] | null;
142
- dimSight: Token.Data['dimSight'] | null;
143
- displayBars: Token.Data['displayBars'];
144
- displayName: Token.Data['displayName'];
145
- disposition: Token.Data['disposition'];
146
- elevation: Token.Data['elevation'] | null;
147
- height: Token.Data['height'] | null;
148
- img: Token.Data['img'];
149
- lightAlpha: Token.Data['lightAlpha'];
150
- lightAngle: Token.Data['lightAngle'] | null;
151
- 'lightAnimation.intensity': Token.Data['lightAnimation']['intensity'];
152
- 'lightAnimation.speed': Token.Data['lightAnimation']['speed'];
153
- 'lightAnimation.type': Token.Data['lightAnimation']['type'];
154
- lightColor: Token.Data['lightColor'];
155
- lockRotation: Token.Data['lockRotation'];
156
- mirrorX: Token.Data['mirrorX'];
157
- mirrorY: Token.Data['mirrorY'];
158
- name: Token.Data['name'];
159
- rotation: Token.Data['rotation'] | null;
160
- scale: Token.Data['scale'];
161
- sightAngle: Token.Data['sightAngle'] | null;
162
- tint: Token.Data['tint'];
163
- vision: Token.Data['vision'];
164
- width: Token.Data['width'] | null;
165
- x: Token.Data['x'] | null;
166
- y: Token.Data['y'] | null;
167
- }
86
+ /**
87
+ * Handle Token assignment requests to update the default prototype Token
88
+ * @param event - The left-click event on the assign token button
89
+ * @internal
90
+ */
91
+ protected _onAssignToken(event: JQuery.ClickEvent): void;
168
92
 
169
- interface Options extends FormApplication.Options {
170
93
  /**
171
- * Configure the default actor token on submit
94
+ * Handle changing the attribute bar in the drop-down selector to update the default current and max value
95
+ * @internal
172
96
  */
173
- configureDefault?: boolean;
97
+ protected _onBarChange(ev: JQuery.ChangeEvent): void;
98
+ }
99
+
100
+ namespace TokenConfig {
101
+ interface Attributes {
102
+ bar: string[][];
103
+ value: string[][];
104
+ }
105
+
106
+ interface Data<Options extends FormApplication.Options = FormApplication.Options> {
107
+ cssClasses: string;
108
+ isPrototype: boolean;
109
+ hasAlternates: boolean;
110
+ alternateImages: Record<string, string> | [];
111
+ object: foundry.data.PrototypeTokenData | foundry.data.TokenData;
112
+ options: Options;
113
+ gridUnits: string | undefined;
114
+ barAttributes: Record<string, string[]>;
115
+ bar1: ReturnType<TokenDocument['getBarAttribute']>;
116
+ bar2: ReturnType<TokenDocument['getBarAttribute']>;
117
+ displayModes: Record<foundry.CONST.TOKEN_DISPLAY_MODES, string>;
118
+ actors: { _id: string; name: string }[];
119
+ dispositions: Record<foundry.CONST.TOKEN_DISPOSITIONS, string>;
120
+ lightAnimations: { [Key in keyof typeof CONFIG.Canvas.lightAnimations]: string } & { '': string };
121
+ lightAlpha: number;
122
+ isGM: boolean;
123
+ }
124
+
125
+ interface FormData {
126
+ actorId: string;
127
+ actorLink: boolean;
128
+ alternateImages?: string;
129
+ alpha: number;
130
+ 'bar1.attribute': string;
131
+ 'bar2.attribute': string;
132
+ brightLight: number | null;
133
+ brightSight: number | null;
134
+ dimLight: number | null;
135
+ dimSight: number | null;
136
+ displayBars: foundry.CONST.TOKEN_DISPLAY_MODES;
137
+ displayName: foundry.CONST.TOKEN_DISPLAY_MODES;
138
+ disposition: foundry.CONST.TOKEN_DISPOSITIONS;
139
+ elevation: number | null;
140
+ height: number | null;
141
+ img: string;
142
+ lightAlpha: number;
143
+ lightAngle: number | null;
144
+ 'lightAnimation.intensity': number;
145
+ 'lightAnimation.speed': number;
146
+ 'lightAnimation.type': string;
147
+ lightColor: string;
148
+ lockRotation: boolean;
149
+ mirrorX: boolean;
150
+ mirrorY: boolean;
151
+ name: StringTerm;
152
+ rotation: number | null;
153
+ scale: number;
154
+ sightAngle: number | null;
155
+ tint: string;
156
+ vision: boolean;
157
+ width: number | null;
158
+ x: number | null;
159
+ y: number | null;
160
+ }
174
161
  }
175
162
  }
@@ -1,82 +1,72 @@
1
- /**
2
- * Wall Configuration Sheet
3
- */
4
- declare class WallConfig<P extends WallConfig.Options = WallConfig.Options> extends FormApplication<
5
- P,
6
- WallConfig.Data,
7
- Wall
8
- > {
9
- /**
10
- * @param object - The Wall object for which settings are being configured
11
- * @param options - Additional options which configure the rendering of the configuration sheet.
12
- */
13
- constructor(object: Wall, options?: Partial<P>);
1
+ import type { ConfiguredDocumentClassForName } from '../../../../types/helperTypes';
14
2
 
3
+ declare global {
15
4
  /**
16
- * @defaultValue
17
- * ```typescript
18
- * const options = super.defaultOptions;
19
- * options.id = "wall-config";
20
- * options.title = "Wall Configuration";
21
- * options.template = "templates/scene/wall-config.html";
22
- * options.width = 400;
23
- * options.editTargets = [];
24
- * ```
5
+ * The Application responsible for configuring a single Wall document within a parent Scene.
6
+ * @typeParam Options - The type of the options object
7
+ * @typeParam Data - The data structure used to render the handlebars template.
25
8
  */
26
- static get defaultOptions(): WallConfig.Options;
9
+ class WallConfig<
10
+ Options extends FormApplication.Options = FormApplication.Options,
11
+ Data extends object = WallConfig.Data<Options>
12
+ > extends FormApplication<Options, Data, InstanceType<ConfiguredDocumentClassForName<'Wall'>>> {
13
+ /**
14
+ * @defaultValue
15
+ * ```typescript
16
+ * const options = super.defaultOptions;
17
+ * options.id = "wall-config";
18
+ * options.title = "Wall Configuration";
19
+ * options.template = "templates/scene/wall-config.html";
20
+ * options.width = 400;
21
+ * ```
22
+ */
23
+ static get defaultOptions(): FormApplication.Options;
27
24
 
28
- /**
29
- * Provide a dynamically rendered title for the Wall Configuration sheet
30
- */
31
- get title(): string;
25
+ /** @override */
26
+ get title(): string;
32
27
 
33
- /**
34
- * Construct and return the data object used to render the HTML template for this form application.
35
- */
36
- getData(): WallConfig.Data;
28
+ /** @override */
29
+ render(force?: boolean, options?: Application.RenderOptions<Options>): this;
37
30
 
38
- /**
39
- * This method is called upon form submission after form data is validated
40
- * @param event - The initial triggering submission event
41
- * @param formData - The object of validated form data with which to update the object
42
- */
43
- protected _updateObject(event: Event, formData: WallConfig.FormData): Promise<Wall>;
44
- }
31
+ /** @override */
32
+ getData(): Data | Promise<Data>;
45
33
 
46
- declare namespace WallConfig {
47
- interface Data {
48
- object: foundry.utils.Duplicated<WallConfig['object']['data']>;
49
- options: WallConfig['options'];
50
- moveTypes: {
51
- [Key in keyof typeof foundry.CONST['WALL_MOVEMENT_TYPES'] as typeof foundry.CONST['WALL_MOVEMENT_TYPES'][Key]]: Titlecase<Key>;
52
- };
53
- senseTypes: {
54
- [Key in keyof typeof foundry.CONST['WALL_SENSE_TYPES'] as typeof foundry.CONST['WALL_SENSE_TYPES'][Key]]: Titlecase<Key>;
55
- };
56
- dirTypes: {
57
- [Key in keyof typeof foundry.CONST['WALL_DIRECTIONS'] as typeof foundry.CONST['WALL_DIRECTIONS'][Key]]: Titlecase<Key>;
58
- };
59
- doorTypes: {
60
- [Key in keyof typeof foundry.CONST['WALL_DOOR_TYPES'] as typeof foundry.CONST['WALL_DOOR_TYPES'][Key]]: Titlecase<Key>;
61
- };
62
- doorStates: {
63
- [Key in keyof typeof foundry.CONST['WALL_DOOR_STATES'] as typeof foundry.CONST['WALL_DOOR_STATES'][Key]]: Titlecase<Key>;
64
- };
65
- isDoor: boolean;
34
+ /** @override */
35
+ protected _updateObject(
36
+ event: Event,
37
+ formData: WallConfig.FormData
38
+ ): Promise<InstanceType<ConfiguredDocumentClassForName<'Wall'>> | undefined>;
66
39
  }
67
40
 
68
- interface FormData {
69
- dir: foundry.CONST.WallDirection;
70
- door: Wall['data']['door'];
71
- ds?: Wall['data']['ds'];
72
- move: Wall['data']['move'];
73
- sense: Wall['data']['sense'];
74
- }
41
+ namespace WallConfig {
42
+ interface Data<Options extends FormApplication.Options = FormApplication.Options> {
43
+ object: foundry.data.WallData['_source'];
44
+ options: Options;
45
+ moveTypes: {
46
+ [Key in keyof typeof foundry.CONST.WALL_MOVEMENT_TYPES as typeof foundry.CONST.WALL_MOVEMENT_TYPES[Key]]: Titlecase<Key>;
47
+ };
48
+ senseTypes: {
49
+ [Key in keyof typeof foundry.CONST.WALL_SENSE_TYPES as typeof foundry.CONST.WALL_SENSE_TYPES[Key]]: Titlecase<Key>;
50
+ };
51
+ dirTypes: {
52
+ [Key in keyof typeof foundry.CONST.WALL_DIRECTIONS as typeof foundry.CONST.WALL_DIRECTIONS[Key]]: Titlecase<Key>;
53
+ };
54
+ doorTypes: {
55
+ [Key in keyof typeof foundry.CONST.WALL_DOOR_TYPES as typeof foundry.CONST.WALL_DOOR_TYPES[Key]]: Titlecase<Key>;
56
+ };
57
+ doorStates: {
58
+ [Key in keyof typeof foundry.CONST.WALL_DOOR_STATES as typeof foundry.CONST.WALL_DOOR_STATES[Key]]: Titlecase<Key>;
59
+ };
60
+ isDoor: boolean;
61
+ }
75
62
 
76
- interface Options extends FormApplication.Options {
77
- /**
78
- * @defaultValue `[]`
79
- */
80
- editTargets: string[];
63
+ interface FormData {
64
+ dir: foundry.CONST.WALL_DIRECTIONS;
65
+ door: foundry.CONST.WALL_DOOR_TYPES;
66
+ ds?: foundry.CONST.WALL_DOOR_STATES;
67
+ move: foundry.CONST.WALL_MOVEMENT_TYPES;
68
+ sense: foundry.CONST.WALL_SENSE_TYPES;
69
+ sound: foundry.CONST.WALL_SENSE_TYPES;
70
+ }
81
71
  }
82
72
  }
@@ -1,33 +1,33 @@
1
- // TODO: Remove when updating this class!!!
2
- // eslint-disable-next-line
3
- // @ts-nocheck
4
-
5
1
  /**
6
2
  * The World Management setup application
3
+ * @typeParam Options - The type of the options object
4
+ * @typeParam Data - The data structure used to render the handlebars template.
7
5
  */
8
- declare class WorldConfig extends FormApplication<WorldConfig.Options, WorldConfig.Data, Game.World> {
6
+ declare class WorldConfig<
7
+ Options extends WorldConfig.Options = WorldConfig.Options,
8
+ Data extends object = WorldConfig.Data
9
+ > extends FormApplication<Options, Data, Game.WorldData<foundry.packages.WorldData>> {
9
10
  /**
10
11
  * @defaultValue
11
12
  * ```typescript
12
- * mergeObject(super.defaultOptions, {
13
+ * foundry.utils.mergeObject(super.defaultOptions, {
13
14
  * id: "world-config",
14
- * template: "templates/setup/world-config.html",
15
+ * template: "templates/sidebar/apps/world-config.html",
15
16
  * width: 600,
16
17
  * height: "auto",
17
- * create: false
18
- * });
18
+ * create: false,
19
+ * })
19
20
  * ```
20
21
  */
21
22
  static get defaultOptions(): WorldConfig.Options;
22
23
 
24
+ static WORLD_KB_URL: 'https://foundryvtt.com/article/game-worlds/';
25
+
23
26
  /** @override */
24
27
  get title(): string;
25
28
 
26
- /**
27
- * @param options - (unused)
28
- * @override
29
- */
30
- getData(options?: Partial<WorldConfig.Options>): WorldConfig.Data;
29
+ /** @override */
30
+ getData(options?: Partial<Options>): Data | Promise<Data>;
31
31
 
32
32
  /**
33
33
  * @remarks This method returns `Promise<void>`.
@@ -39,16 +39,22 @@ declare class WorldConfig extends FormApplication<WorldConfig.Options, WorldConf
39
39
  * @remarks This method does not exist on WorldConfig and only exists to make the typescript compile!
40
40
  */
41
41
  protected _updateObject(...args: unknown[]): Promise<unknown>;
42
+
43
+ /** @override **/
44
+ activateEditor(name: string, options?: TextEditor.Options, initialContent?: string): void;
42
45
  }
43
46
 
44
47
  declare namespace WorldConfig {
45
48
  interface Data {
46
- world: WorldConfig['object'];
47
- systems: Game.System[];
48
- isCreate: WorldConfig['options']['create'];
49
+ world: Game.WorldData<foundry.packages.WorldData>;
50
+ isCreate: boolean;
49
51
  submitText: string;
50
52
  nextDate: string;
51
53
  nextTime: string;
54
+ worldKbUrl: typeof WorldConfig['WORLD_KB_URL'];
55
+ inWorld: boolean;
56
+ showEditFields: boolean;
57
+ systems?: Game.SystemData<foundry.packages.SystemData>[];
52
58
  }
53
59
 
54
60
  interface Options extends FormApplication.Options {
@@ -56,5 +62,7 @@ declare namespace WorldConfig {
56
62
  * @defaultValue `false`
57
63
  */
58
64
  create: boolean;
65
+
66
+ inWorld?: boolean;
59
67
  }
60
68
  }
@@ -133,10 +133,11 @@ declare global {
133
133
  */
134
134
  protected _canDragDrop(selector: string): boolean;
135
135
 
136
- /** @override */
137
- protected _onDrop(
138
- event: DragEvent
139
- ): void | ReturnType<InstanceType<ConfiguredDocumentClass<typeof User>>['assignHotbarMacro']>;
136
+ /**
137
+ * @override
138
+ * @internal
139
+ */
140
+ protected _onDrop(event: DragEvent): void;
140
141
 
141
142
  /**
142
143
  * Handle click events to toggle display of the macro bar
@@ -1,15 +1,25 @@
1
- declare interface SceneControlTool {
1
+ interface SceneControlToolBase {
2
2
  name: string;
3
3
  title: string;
4
4
  icon: string;
5
5
  visible?: boolean;
6
- toggle?: boolean;
7
6
  active?: boolean;
7
+ }
8
+
9
+ interface SceneControlToolToggle extends SceneControlToolBase {
10
+ toggle: true;
11
+ onClick?: (toggled: boolean) => void;
12
+ }
13
+
14
+ interface SceneControlToolNoToggle extends SceneControlToolBase {
15
+ toggle?: false;
8
16
  button?: boolean;
9
17
  onClick?: () => void;
10
18
  }
11
19
 
12
- declare interface SceneControl {
20
+ type SceneControlTool = SceneControlToolToggle | SceneControlToolNoToggle;
21
+
22
+ interface SceneControl {
13
23
  name: string;
14
24
  title: string;
15
25
  layer: string;