@league-of-foundry-developers/foundry-vtt-types 12.331.4-beta → 13.340.1

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 (466) hide show
  1. package/package.json +40 -16
  2. package/src/configuration/configuration.d.mts +4 -4
  3. package/src/configuration/globals.d.mts +0 -2
  4. package/src/foundry/client/apps/av/av-config.d.mts +2 -2
  5. package/src/foundry/client/apps/av/cameras.d.mts +1 -1
  6. package/src/foundry/client/apps/dice/dice-config.d.mts +2 -2
  7. package/src/foundry/client/apps/form.d.mts +10 -11
  8. package/src/foundry/client/apps/forms/actor.d.mts +3 -3
  9. package/src/foundry/client/apps/forms/adventure-exporter.d.mts +2 -2
  10. package/src/foundry/client/apps/forms/adventure-importer.d.mts +2 -2
  11. package/src/foundry/client/apps/forms/base-sheet.d.mts +1 -1
  12. package/src/foundry/client/apps/forms/card-config.d.mts +2 -2
  13. package/src/foundry/client/apps/forms/cards-config.d.mts +3 -4
  14. package/src/foundry/client/apps/forms/combat-config.d.mts +2 -2
  15. package/src/foundry/client/apps/forms/combatant-config.d.mts +2 -2
  16. package/src/foundry/client/apps/forms/effect-config.d.mts +1 -1
  17. package/src/foundry/client/apps/forms/folder-config.d.mts +2 -2
  18. package/src/foundry/client/apps/forms/fonts.d.mts +2 -2
  19. package/src/foundry/client/apps/forms/grid-config.d.mts +2 -2
  20. package/src/foundry/client/apps/forms/image-popout.d.mts +2 -2
  21. package/src/foundry/client/apps/forms/item.d.mts +1 -1
  22. package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +2 -2
  23. package/src/foundry/client/apps/forms/journal-sheet.d.mts +3 -3
  24. package/src/foundry/client/apps/forms/macro-config.d.mts +1 -1
  25. package/src/foundry/client/apps/forms/measure-template.d.mts +1 -1
  26. package/src/foundry/client/apps/forms/ownership.d.mts +1 -1
  27. package/src/foundry/client/apps/forms/playlist-config.d.mts +1 -1
  28. package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +1 -1
  29. package/src/foundry/client/apps/forms/roll-table-config.d.mts +1 -1
  30. package/src/foundry/client/apps/forms/scene-config.d.mts +2 -2
  31. package/src/foundry/client/apps/forms/sheet-config.d.mts +6 -6
  32. package/src/foundry/client/apps/forms/user-config.d.mts +2 -2
  33. package/src/foundry/client/apps/hud/chatbubble.d.mts +5 -5
  34. package/src/foundry/client/apps/hud/hotbar.d.mts +1 -1
  35. package/src/foundry/client/apps/hud/navigation.d.mts +1 -1
  36. package/src/foundry/client/apps/hud/players.d.mts +1 -1
  37. package/src/foundry/client/apps/i18n.d.mts +1 -1
  38. package/src/foundry/client/apps/placeables/drawing-config.d.mts +2 -2
  39. package/src/foundry/client/apps/placeables/drawing-hud.d.mts +1 -1
  40. package/src/foundry/client/apps/placeables/note-config.d.mts +1 -1
  41. package/src/foundry/client/apps/placeables/tile-config.d.mts +2 -2
  42. package/src/foundry/client/apps/placeables/tile-hud.d.mts +1 -1
  43. package/src/foundry/client/apps/placeables/token-config.d.mts +1 -1
  44. package/src/foundry/client/apps/placeables/token-hud.d.mts +2 -2
  45. package/src/foundry/client/apps/placeables/wall-config.d.mts +2 -2
  46. package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +3 -3
  47. package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +2 -2
  48. package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +2 -2
  49. package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +1 -1
  50. package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +2 -2
  51. package/src/foundry/client/apps/sidebar/document-directory.d.mts +3 -3
  52. package/src/foundry/client/apps/sidebar/package-configuration.d.mts +1 -1
  53. package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +1 -1
  54. package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +1 -1
  55. package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +1 -1
  56. package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +2 -2
  57. package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +1 -1
  58. package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +1 -1
  59. package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +1 -1
  60. package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +3 -3
  61. package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +1 -1
  62. package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +2 -2
  63. package/src/foundry/client/apps/templates.d.mts +1 -1
  64. package/src/foundry/client/config.d.mts +1895 -1863
  65. package/src/foundry/client/core/document-index.d.mts +2 -2
  66. package/src/foundry/client/core/issues.d.mts +2 -2
  67. package/src/foundry/client/core/packages.d.mts +5 -4
  68. package/src/foundry/client/core/settings.d.mts +5 -4
  69. package/src/foundry/client/core/socket.d.mts +1 -1
  70. package/src/foundry/client/core/utils.d.mts +1 -1
  71. package/src/foundry/client/data/abstract/canvas-document.d.mts +1 -1
  72. package/src/foundry/client/data/abstract/client-document.d.mts +1 -1
  73. package/src/foundry/client/data/abstract/document-collection.d.mts +2 -6
  74. package/src/foundry/client/data/abstract/world-collection.d.mts +2 -2
  75. package/src/foundry/client/data/collections/actors.d.mts +1 -1
  76. package/src/foundry/client/data/collections/cards.d.mts +1 -1
  77. package/src/foundry/client/data/collections/combats.d.mts +1 -1
  78. package/src/foundry/client/data/collections/compendium-collection.d.mts +2 -2
  79. package/src/foundry/client/data/collections/fog.d.mts +1 -1
  80. package/src/foundry/client/data/collections/folder.d.mts +2 -2
  81. package/src/foundry/client/data/collections/items.d.mts +1 -1
  82. package/src/foundry/client/data/collections/journal.d.mts +1 -1
  83. package/src/foundry/client/data/collections/macros.d.mts +1 -1
  84. package/src/foundry/client/data/collections/messages.d.mts +1 -1
  85. package/src/foundry/client/data/collections/playlists.d.mts +1 -1
  86. package/src/foundry/client/data/collections/scenes.d.mts +1 -1
  87. package/src/foundry/client/data/collections/settings.d.mts +1 -1
  88. package/src/foundry/client/data/collections/tables.d.mts +1 -1
  89. package/src/foundry/client/data/collections/users.d.mts +1 -1
  90. package/src/foundry/client/data/documents/active-effect.d.mts +7 -6
  91. package/src/foundry/client/data/documents/actor-delta.d.mts +8 -7
  92. package/src/foundry/client/data/documents/actor.d.mts +10 -8
  93. package/src/foundry/client/data/documents/adventure.d.mts +4 -4
  94. package/src/foundry/client/data/documents/ambient-light.d.mts +6 -4
  95. package/src/foundry/client/data/documents/ambient-sound.d.mts +5 -4
  96. package/src/foundry/client/data/documents/card.d.mts +7 -6
  97. package/src/foundry/client/data/documents/cards.d.mts +6 -6
  98. package/src/foundry/client/data/documents/chat-message.d.mts +9 -7
  99. package/src/foundry/client/data/documents/combat.d.mts +9 -8
  100. package/src/foundry/client/data/documents/combatant.d.mts +11 -8
  101. package/src/foundry/client/data/documents/drawing.d.mts +7 -5
  102. package/src/foundry/client/data/documents/fog-exploration.d.mts +6 -5
  103. package/src/foundry/client/data/documents/folder.d.mts +6 -5
  104. package/src/foundry/client/data/documents/item.d.mts +6 -5
  105. package/src/foundry/client/data/documents/journal-entry-page.d.mts +7 -6
  106. package/src/foundry/client/data/documents/journal-entry.d.mts +7 -6
  107. package/src/foundry/client/data/documents/macro.d.mts +8 -7
  108. package/src/foundry/client/data/documents/measured-template.d.mts +6 -5
  109. package/src/foundry/client/data/documents/note.d.mts +8 -6
  110. package/src/foundry/client/data/documents/playlist-sound.d.mts +5 -4
  111. package/src/foundry/client/data/documents/playlist.d.mts +4 -4
  112. package/src/foundry/client/data/documents/region-behavior.d.mts +7 -6
  113. package/src/foundry/client/data/documents/region.d.mts +5 -3
  114. package/src/foundry/client/data/documents/scene.d.mts +6 -4
  115. package/src/foundry/client/data/documents/setting.d.mts +5 -4
  116. package/src/foundry/client/data/documents/table-result.d.mts +7 -6
  117. package/src/foundry/client/data/documents/table.d.mts +5 -4
  118. package/src/foundry/client/data/documents/tile.d.mts +6 -4
  119. package/src/foundry/client/data/documents/token.d.mts +8 -6
  120. package/src/foundry/client/data/documents/user.d.mts +5 -4
  121. package/src/foundry/client/data/documents/wall.d.mts +6 -4
  122. package/src/foundry/client/game.d.mts +2 -2
  123. package/src/foundry/client/head.d.mts +7 -3
  124. package/src/foundry/client/hooks.d.mts +37 -22
  125. package/src/foundry/client/pixi/board.d.mts +1 -1
  126. package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +14 -5
  127. package/src/foundry/client/pixi/core/interaction/targets.d.mts +3 -3
  128. package/src/foundry/client/pixi/core/shapes/ray.d.mts +1 -1
  129. package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +1 -1
  130. package/src/foundry/client/pixi/extensions/circle.d.mts +1 -1
  131. package/src/foundry/client/pixi/groups/environment.d.mts +1 -1
  132. package/src/foundry/client/pixi/groups/interface.d.mts +2 -2
  133. package/src/foundry/client/pixi/groups/primary.d.mts +6 -6
  134. package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +2 -2
  135. package/src/foundry/client/pixi/layers/controls/door.d.mts +2 -2
  136. package/src/foundry/client/pixi/layers/controls/layer.d.mts +1 -1
  137. package/src/foundry/client/pixi/layers/controls/ruler.d.mts +8 -8
  138. package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +1 -1
  139. package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +2 -2
  140. package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +2 -2
  141. package/src/foundry/client/pixi/layers/placeables/notes.d.mts +4 -4
  142. package/src/foundry/client/pixi/layers/placeables/regions.d.mts +3 -3
  143. package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +4 -4
  144. package/src/foundry/client/pixi/layers/placeables/templates.d.mts +2 -2
  145. package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +4 -4
  146. package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +14 -11
  147. package/src/foundry/client/pixi/layers/placeables/walls.d.mts +7 -7
  148. package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +1 -1
  149. package/src/foundry/client/pixi/perception/detection-mode.d.mts +3 -3
  150. package/src/foundry/client/pixi/perception/fog.d.mts +2 -1
  151. package/src/foundry/client/pixi/perception/perception-manager.d.mts +1 -1
  152. package/src/foundry/client/pixi/perception/vision-mode.d.mts +5 -4
  153. package/src/foundry/client/pixi/placeable.d.mts +5 -3
  154. package/src/foundry/client/pixi/placeables/drawing.d.mts +25 -20
  155. package/src/foundry/client/pixi/placeables/light.d.mts +25 -20
  156. package/src/foundry/client/pixi/placeables/note.d.mts +25 -20
  157. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +1 -1
  158. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +1 -1
  159. package/src/foundry/client/pixi/placeables/region.d.mts +29 -23
  160. package/src/foundry/client/pixi/placeables/sound.d.mts +26 -21
  161. package/src/foundry/client/pixi/placeables/template.d.mts +25 -20
  162. package/src/foundry/client/pixi/placeables/tile.d.mts +27 -22
  163. package/src/foundry/client/pixi/placeables/token.d.mts +28 -23
  164. package/src/foundry/client/pixi/placeables/wall.d.mts +26 -21
  165. package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +1 -1
  166. package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +1 -1
  167. package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +1 -1
  168. package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +1 -1
  169. package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +1 -1
  170. package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +1 -1
  171. package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +1 -1
  172. package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +1 -1
  173. package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +1 -1
  174. package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +1 -1
  175. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +1 -1
  176. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +1 -1
  177. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +1 -1
  178. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +1 -1
  179. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +1 -1
  180. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +1 -1
  181. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +1 -1
  182. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +1 -1
  183. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +1 -1
  184. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +1 -1
  185. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +1 -1
  186. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +1 -1
  187. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +1 -1
  188. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +1 -1
  189. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +1 -1
  190. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +1 -1
  191. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +1 -1
  192. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +1 -1
  193. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +1 -1
  194. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +1 -1
  195. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +1 -1
  196. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +1 -1
  197. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +1 -1
  198. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +1 -1
  199. package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +1 -1
  200. package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +1 -1
  201. package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +1 -1
  202. package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +1 -1
  203. package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +1 -1
  204. package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +1 -1
  205. package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +1 -1
  206. package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +1 -1
  207. package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +1 -1
  208. package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +1 -1
  209. package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +1 -1
  210. package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +1 -1
  211. package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +1 -1
  212. package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +1 -1
  213. package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +1 -1
  214. package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +1 -1
  215. package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +1 -1
  216. package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +1 -1
  217. package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +1 -1
  218. package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +1 -1
  219. package/src/foundry/client/ui/index.d.mts +0 -2
  220. package/src/foundry/client/ui/secrets.d.mts +1 -1
  221. package/src/foundry/client-esm/_module.d.mts +112 -0
  222. package/src/foundry/client-esm/_types.d.mts +9 -0
  223. package/src/foundry/client-esm/applications/_module.d.mts +7 -2
  224. package/src/foundry/client-esm/applications/_types.d.mts +2 -0
  225. package/src/foundry/client-esm/applications/api/_module.d.mts +4 -3
  226. package/src/foundry/client-esm/applications/api/application.d.mts +261 -45
  227. package/src/foundry/client-esm/applications/api/category-browser.d.mts +40 -0
  228. package/src/foundry/client-esm/applications/api/dialog.d.mts +162 -82
  229. package/src/foundry/client-esm/applications/api/document-sheet.d.mts +90 -38
  230. package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +20 -6
  231. package/src/foundry/client-esm/applications/apps/_module.d.mts +7 -0
  232. package/src/foundry/client-esm/applications/apps/av/_module.d.mts +7 -0
  233. package/src/foundry/client-esm/applications/apps/av/camera-popout.d.mts +23 -0
  234. package/src/foundry/client-esm/applications/apps/av/cameras.d.mts +95 -0
  235. package/src/foundry/client-esm/applications/apps/combat-tracker-config.d.mts +21 -0
  236. package/src/foundry/client-esm/applications/apps/document-ownership.d.mts +21 -0
  237. package/src/foundry/client-esm/applications/apps/document-sheet-config.d.mts +24 -0
  238. package/src/foundry/client-esm/applications/apps/file-picker.d.mts +410 -0
  239. package/src/foundry/client-esm/applications/apps/grid-config.d.mts +25 -0
  240. package/src/foundry/client-esm/applications/apps/image-popout.d.mts +56 -0
  241. package/src/foundry/client-esm/applications/apps/permission-config.d.mts +1 -1
  242. package/src/foundry/client-esm/applications/elements/_module.d.mts +3 -0
  243. package/src/foundry/client-esm/applications/elements/codemirror/element.d.mts +16 -0
  244. package/src/foundry/client-esm/applications/elements/codemirror/extensions.d.mts +20 -0
  245. package/src/foundry/client-esm/applications/elements/codemirror/view.d.mts +8 -0
  246. package/src/foundry/client-esm/applications/elements/document-embed.d.mts +14 -0
  247. package/src/foundry/client-esm/applications/elements/enriched-content.d.mts +29 -0
  248. package/src/foundry/client-esm/applications/elements/prosemirror-editor.d.mts +1 -1
  249. package/src/foundry/client-esm/applications/elements/secret-block.d.mts +7 -0
  250. package/src/foundry/client-esm/applications/handlebars.d.mts +3 -0
  251. package/src/foundry/client-esm/applications/hud/_module.d.mts +10 -0
  252. package/src/foundry/client-esm/applications/hud/container.d.mts +15 -0
  253. package/src/foundry/client-esm/applications/hud/drawing-hud.d.mts +19 -0
  254. package/src/foundry/client-esm/applications/hud/placeable-hud.d.mts +41 -0
  255. package/src/foundry/client-esm/applications/hud/tile-hud.d.mts +19 -0
  256. package/src/foundry/client-esm/applications/hud/token-hud.d.mts +20 -0
  257. package/src/foundry/client-esm/applications/quickstart.d.mts +20 -0
  258. package/src/foundry/client-esm/applications/settings/_module.d.mts +7 -0
  259. package/src/foundry/client-esm/applications/settings/config.d.mts +21 -0
  260. package/src/foundry/client-esm/applications/settings/dependency-resolution.d.mts +19 -0
  261. package/src/foundry/client-esm/applications/settings/menus/_module.d.mts +11 -0
  262. package/src/foundry/client-esm/applications/settings/menus/av-config.d.mts +27 -0
  263. package/src/foundry/client-esm/applications/settings/menus/default-sheets-config.d.mts +19 -0
  264. package/src/foundry/client-esm/applications/settings/menus/dice-config.d.mts +18 -0
  265. package/src/foundry/client-esm/applications/settings/menus/font-config.d.mts +43 -0
  266. package/src/foundry/client-esm/applications/settings/menus/prototype-overrides.d.mts +21 -0
  267. package/src/foundry/client-esm/applications/settings/menus/ui-config.d.mts +26 -0
  268. package/src/foundry/client-esm/applications/sheets/_module.d.mts +28 -3
  269. package/src/foundry/client-esm/applications/sheets/active-effect-config.d.mts +25 -0
  270. package/src/foundry/client-esm/applications/sheets/adventure-exporter.d.mts +25 -0
  271. package/src/foundry/client-esm/applications/sheets/adventure-importer.d.mts +25 -0
  272. package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +1 -3
  273. package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +1 -3
  274. package/src/foundry/client-esm/applications/sheets/base-sheet.d.mts +23 -0
  275. package/src/foundry/client-esm/applications/sheets/card-config.d.mts +25 -0
  276. package/src/foundry/client-esm/applications/sheets/cards-config.d.mts +49 -0
  277. package/src/foundry/client-esm/applications/sheets/combatant-config.d.mts +25 -0
  278. package/src/foundry/client-esm/applications/sheets/drawing-config.d.mts +25 -0
  279. package/src/foundry/client-esm/applications/sheets/folder-config.d.mts +25 -0
  280. package/src/foundry/client-esm/applications/sheets/journal/_module.d.mts +16 -0
  281. package/src/foundry/client-esm/applications/sheets/journal/dialog-show.d.mts +19 -0
  282. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-category-config.d.mts +25 -0
  283. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-hbs-sheet.d.mts +19 -0
  284. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-image-sheet.d.mts +18 -0
  285. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-markdown-sheet.d.mts +18 -0
  286. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-pdf-sheet.d.mts +18 -0
  287. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-prose-mirror-sheet.d.mts +18 -0
  288. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-sheet.d.mts +28 -0
  289. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-text-sheet.d.mts +18 -0
  290. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-video-sheet.d.mts +18 -0
  291. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-sheet.d.mts +35 -0
  292. package/src/foundry/client-esm/applications/sheets/macro-config.d.mts +25 -0
  293. package/src/foundry/client-esm/applications/sheets/note-config.d.mts +25 -0
  294. package/src/foundry/client-esm/applications/sheets/playlist-config.d.mts +25 -0
  295. package/src/foundry/client-esm/applications/sheets/playlist-sound-config.d.mts +25 -0
  296. package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +1 -2
  297. package/src/foundry/client-esm/applications/sheets/region-config.d.mts +2 -3
  298. package/src/foundry/client-esm/applications/sheets/roll-table-config.d.mts +25 -0
  299. package/src/foundry/client-esm/applications/sheets/roll-table-sheet.d.mts +25 -0
  300. package/src/foundry/client-esm/applications/sheets/scene-config.d.mts +25 -0
  301. package/src/foundry/client-esm/applications/sheets/table-result-config.d.mts +25 -0
  302. package/src/foundry/client-esm/applications/sheets/template-config.d.mts +25 -0
  303. package/src/foundry/client-esm/applications/sheets/tile-config.d.mts +25 -0
  304. package/src/foundry/client-esm/applications/sheets/token/_module.d.mts +7 -0
  305. package/src/foundry/client-esm/applications/sheets/token/mixin.d.mts +28 -0
  306. package/src/foundry/client-esm/applications/sheets/token/prototype-config.d.mts +18 -0
  307. package/src/foundry/client-esm/applications/sheets/token/token-config.d.mts +25 -0
  308. package/src/foundry/client-esm/applications/sheets/user-config.d.mts +1 -2
  309. package/src/foundry/client-esm/applications/sheets/wall-config.d.mts +25 -0
  310. package/src/foundry/client-esm/applications/sidebar/_module.d.mts +10 -0
  311. package/src/foundry/client-esm/applications/sidebar/apps/_module.d.mts +15 -0
  312. package/src/foundry/client-esm/applications/sidebar/apps/chat-popout.d.mts +22 -0
  313. package/src/foundry/client-esm/applications/sidebar/apps/compendium.d.mts +21 -0
  314. package/src/foundry/client-esm/applications/sidebar/apps/controls-config.d.mts +20 -0
  315. package/src/foundry/client-esm/applications/sidebar/apps/folder-export.d.mts +18 -0
  316. package/src/foundry/client-esm/applications/sidebar/apps/frame-viewer.d.mts +22 -0
  317. package/src/foundry/client-esm/applications/sidebar/apps/invitation-links.d.mts +17 -0
  318. package/src/foundry/client-esm/applications/sidebar/apps/module-management.d.mts +21 -0
  319. package/src/foundry/client-esm/applications/sidebar/apps/support-details.d.mts +17 -0
  320. package/src/foundry/client-esm/applications/sidebar/apps/tours-management.d.mts +20 -0
  321. package/src/foundry/client-esm/applications/sidebar/apps/world-config.d.mts +19 -0
  322. package/src/foundry/client-esm/applications/sidebar/document-directory.d.mts +30 -0
  323. package/src/foundry/client-esm/applications/sidebar/sidebar-tab.d.mts +86 -0
  324. package/src/foundry/client-esm/applications/sidebar/sidebar.d.mts +18 -0
  325. package/src/foundry/client-esm/applications/sidebar/tabs/_module.d.mts +17 -0
  326. package/src/foundry/client-esm/applications/sidebar/tabs/actor-directory.d.mts +20 -0
  327. package/src/foundry/client-esm/applications/sidebar/tabs/cards-directory.d.mts +20 -0
  328. package/src/foundry/client-esm/applications/sidebar/tabs/chat.d.mts +19 -0
  329. package/src/foundry/client-esm/applications/sidebar/tabs/combat-tracker.d.mts +260 -0
  330. package/src/foundry/client-esm/applications/sidebar/tabs/compendium-directory.d.mts +19 -0
  331. package/src/foundry/client-esm/applications/sidebar/tabs/item-directory.d.mts +20 -0
  332. package/src/foundry/client-esm/applications/sidebar/tabs/journal-directory.d.mts +20 -0
  333. package/src/foundry/client-esm/applications/sidebar/tabs/macro-directory.d.mts +20 -0
  334. package/src/foundry/client-esm/applications/sidebar/tabs/playlist-directory.d.mts +20 -0
  335. package/src/foundry/client-esm/applications/sidebar/tabs/roll-table-directory.d.mts +20 -0
  336. package/src/foundry/client-esm/applications/sidebar/tabs/scene-directory.d.mts +20 -0
  337. package/src/foundry/client-esm/applications/sidebar/tabs/settings.d.mts +18 -0
  338. package/src/foundry/client-esm/applications/ui/_module.d.mts +7 -0
  339. package/src/foundry/client-esm/applications/ui/game-pause.d.mts +22 -0
  340. package/src/foundry/client-esm/applications/ui/hotbar.d.mts +29 -0
  341. package/src/foundry/client-esm/applications/ui/main-menu.d.mts +27 -0
  342. package/src/foundry/client-esm/applications/ui/notifications.d.mts +208 -0
  343. package/src/foundry/client-esm/applications/ui/players.d.mts +26 -0
  344. package/src/foundry/client-esm/applications/ui/region-legend.d.mts +5 -2
  345. package/src/foundry/client-esm/applications/ui/scene-controls.d.mts +20 -0
  346. package/src/foundry/client-esm/applications/ui/scene-navigation.d.mts +28 -0
  347. package/src/foundry/client-esm/applications/ux/_module.d.mts +14 -0
  348. package/src/foundry/client-esm/applications/ux/context-menu.d.mts +379 -0
  349. package/src/foundry/client-esm/applications/ux/drag-drop.d.mts +21 -0
  350. package/src/foundry/client-esm/applications/ux/draggable.d.mts +9 -0
  351. package/src/foundry/client-esm/applications/ux/form-data-extended.d.mts +17 -0
  352. package/src/foundry/client-esm/applications/ux/html-secret.d.mts +21 -0
  353. package/src/foundry/client-esm/applications/ux/prosemirror-editor.d.mts +9 -0
  354. package/src/foundry/client-esm/applications/ux/search-filter.d.mts +9 -0
  355. package/src/foundry/client-esm/applications/ux/tabs.d.mts +29 -0
  356. package/src/foundry/client-esm/applications/ux/text-editor.d.mts +9 -0
  357. package/src/foundry/client-esm/appv1/_module.d.mts +7 -0
  358. package/src/foundry/client-esm/appv1/api/_module.d.mts +9 -0
  359. package/src/foundry/client-esm/appv1/api/application-v1.d.mts +5 -0
  360. package/src/foundry/client-esm/appv1/api/dialog-v1.d.mts +5 -0
  361. package/src/foundry/client-esm/appv1/api/document-sheet-v1.d.mts +5 -0
  362. package/src/foundry/client-esm/appv1/api/form-application-v1.d.mts +5 -0
  363. package/src/foundry/client-esm/appv1/sheets/_module.d.mts +10 -0
  364. package/src/foundry/client-esm/appv1/sheets/actor-sheet.d.mts +5 -0
  365. package/src/foundry/client-esm/appv1/sheets/adventure-importer.d.mts +5 -0
  366. package/src/foundry/client-esm/appv1/sheets/item-sheet.d.mts +5 -0
  367. package/src/foundry/client-esm/appv1/sheets/journal-page-sheet.d.mts +7 -0
  368. package/src/foundry/client-esm/appv1/sheets/journal-sheet.d.mts +5 -0
  369. package/src/foundry/client-esm/audio/cache.d.mts +1 -1
  370. package/src/foundry/client-esm/audio/sound.d.mts +167 -166
  371. package/src/foundry/client-esm/audio/timeout.d.mts +1 -1
  372. package/src/foundry/client-esm/av/_module.d.mts +10 -0
  373. package/src/foundry/client-esm/av/client.d.mts +18 -0
  374. package/src/foundry/client-esm/av/clients/_module.d.mts +6 -0
  375. package/src/foundry/client-esm/av/clients/simplepeer.d.mts +11 -0
  376. package/src/foundry/client-esm/av/master.d.mts +12 -0
  377. package/src/foundry/client-esm/av/settings.d.mts +30 -0
  378. package/src/foundry/client-esm/canvas/edges/edge.d.mts +2 -2
  379. package/src/foundry/client-esm/canvas/edges/edges.d.mts +1 -1
  380. package/src/foundry/client-esm/canvas/regions/geometry.d.mts +2 -2
  381. package/src/foundry/client-esm/canvas/regions/mesh.d.mts +2 -2
  382. package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +2 -0
  383. package/src/foundry/client-esm/canvas/smaa/edges.d.mts +1 -1
  384. package/src/foundry/client-esm/canvas/smaa/weights.d.mts +1 -1
  385. package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +1 -1
  386. package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +1 -1
  387. package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +1 -1
  388. package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +3 -2
  389. package/src/foundry/client-esm/canvas/tokens/ring.d.mts +2 -2
  390. package/src/foundry/client-esm/client.d.mts +19 -19
  391. package/src/foundry/client-esm/config.d.mts +1 -0
  392. package/src/foundry/client-esm/data/_module.d.mts +6 -1
  393. package/src/foundry/client-esm/data/_types.d.mts +10 -0
  394. package/src/foundry/client-esm/data/calendar.d.mts +200 -0
  395. package/src/foundry/client-esm/data/client-backend.d.mts +2 -2
  396. package/src/foundry/client-esm/data/combat-config.d.mts +53 -0
  397. package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +1 -1
  398. package/src/foundry/client-esm/data/region-behaviors/base.d.mts +1 -1
  399. package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +1 -1
  400. package/src/foundry/client-esm/data/terrain-data.d.mts +22 -0
  401. package/src/foundry/client-esm/dice/parser.d.mts +1 -1
  402. package/src/foundry/client-esm/dice/roll.d.mts +4 -13
  403. package/src/foundry/client-esm/documents/_module.d.mts +11 -0
  404. package/src/foundry/client-esm/documents/_types.d.mts +8 -0
  405. package/src/foundry/client-esm/documents/abstract/_module.d.mts +6 -0
  406. package/src/foundry/client-esm/documents/collections/_module.d.mts +6 -0
  407. package/src/foundry/client-esm/game.d.mts +7 -0
  408. package/src/foundry/client-esm/helpers/compendium-art.d.mts +2 -1
  409. package/src/foundry/client-esm/hooks.d.mts +1 -0
  410. package/src/foundry/client-esm/nue/_module.d.mts +9 -0
  411. package/src/foundry/client-esm/nue/nue-manager.d.mts +18 -0
  412. package/src/foundry/client-esm/nue/tour.d.mts +9 -0
  413. package/src/foundry/client-esm/nue/tours/_module.d.mts +8 -0
  414. package/src/foundry/client-esm/nue/tours/canvas-tour.d.mts +12 -0
  415. package/src/foundry/client-esm/nue/tours/setup-tour.d.mts +11 -0
  416. package/src/foundry/client-esm/nue/tours/sidebar-tour.d.mts +11 -0
  417. package/src/foundry/client-esm/nue/tours-collection.d.mts +25 -0
  418. package/src/foundry/client-esm/packages/_module.d.mts +22 -0
  419. package/src/foundry/client-esm/packages/_types.d.mts +13 -0
  420. package/src/foundry/client-esm/packages/client-package.d.mts +11 -0
  421. package/src/foundry/client-esm/packages/module.d.mts +8 -0
  422. package/src/foundry/client-esm/packages/system.d.mts +8 -0
  423. package/src/foundry/client-esm/packages/world.d.mts +8 -0
  424. package/src/foundry/client-esm/ui.d.mts +1 -0
  425. package/src/foundry/client-esm/utils/_module.d.mts +7 -0
  426. package/src/foundry/client-esm/utils/_types.d.mts +3 -0
  427. package/src/foundry/client-esm/utils/helpers.d.mts +6 -0
  428. package/src/foundry/common/{types.d.mts → _types.d.mts} +1 -1
  429. package/src/foundry/common/abstract/data.d.mts +5 -3
  430. package/src/foundry/common/abstract/document.d.mts +1 -1
  431. package/src/foundry/common/data/_types.d.mts +49 -0
  432. package/src/foundry/common/data/data.d.mts +2 -0
  433. package/src/foundry/common/data/fields.d.mts +213 -7
  434. package/src/foundry/common/documents/actor-delta.d.mts +2 -2
  435. package/src/foundry/common/documents/adventure.d.mts +2 -2
  436. package/src/foundry/common/documents/ambient-light.d.mts +1 -1
  437. package/src/foundry/common/documents/ambient-sound.d.mts +1 -1
  438. package/src/foundry/common/documents/combat.d.mts +1 -1
  439. package/src/foundry/common/documents/combatant.d.mts +1 -1
  440. package/src/foundry/common/documents/drawing.d.mts +1 -0
  441. package/src/foundry/common/documents/fog-exploration.d.mts +1 -1
  442. package/src/foundry/common/documents/folder.d.mts +1 -1
  443. package/src/foundry/common/documents/journal-entry-page.d.mts +1 -1
  444. package/src/foundry/common/documents/note.d.mts +1 -1
  445. package/src/foundry/common/documents/region-behavior.d.mts +2 -2
  446. package/src/foundry/common/documents/region.d.mts +2 -2
  447. package/src/foundry/common/documents/setting.d.mts +1 -1
  448. package/src/foundry/common/documents/token.d.mts +1 -1
  449. package/src/foundry/common/documents/wall.d.mts +1 -1
  450. package/src/foundry/common/grid/_types.d.mts +49 -0
  451. package/src/foundry/common/grid/base.d.mts +1 -1
  452. package/src/foundry/common/grid/hexagonal.d.mts +2 -2
  453. package/src/foundry/common/packages/{module.d.mts → _module.d.mts} +5 -5
  454. package/src/foundry/common/packages/_types.d.mts +27 -0
  455. package/src/foundry/common/prosemirror/_types.d.mts +31 -0
  456. package/src/foundry/common/utils/_types.d.mts +1 -0
  457. package/src/foundry/common/utils/event-emitter.d.mts +16 -4
  458. package/src/foundry/common/utils/string-tree.d.mts +1 -1
  459. package/src/types/documentConfiguration.d.mts +1 -1
  460. package/src/utils/index.d.mts +13 -6
  461. package/src/foundry/client/ui/context.d.mts +0 -221
  462. package/src/foundry/client/ui/notifications.d.mts +0 -143
  463. /package/src/foundry/common/abstract/{module.d.mts → _module.d.mts} +0 -0
  464. /package/src/foundry/common/data/{module.d.mts → _module.d.mts} +0 -0
  465. /package/src/foundry/common/primitives/{module.d.mts → _module.d.mts} +0 -0
  466. /package/src/foundry/common/utils/{module.d.mts → _module.d.mts} +0 -0
@@ -2,12 +2,14 @@ import type {
2
2
  MustConform,
3
3
  AnyObject,
4
4
  DeepPartial,
5
- EmptyObject,
6
5
  InexactPartial,
7
6
  MaybePromise,
7
+ ValueOf,
8
+ AnyArray,
8
9
  Identity,
9
10
  } from "fvtt-types/utils";
10
- import type EventEmitterMixin from "../../../common/utils/event-emitter.d.mts";
11
+ import type EventEmitterMixin from "#common/utils/event-emitter.d.mts";
12
+ import type ContextMenu from "../ux/context-menu.d.mts";
11
13
 
12
14
  // TODO: Investigate use of DeepPartial vs Partial vs InexactPartial
13
15
 
@@ -56,6 +58,53 @@ declare namespace ApplicationV2 {
56
58
  }
57
59
  }
58
60
 
61
+ type EmittedEvents = Readonly<["render", "close", "position"]>;
62
+
63
+ interface DoEventOptions<HandlerArgs extends AnyArray, Async extends boolean | undefined = false> {
64
+ /**
65
+ * Await the result of the handler function?
66
+ * @defaultValue `false`
67
+ */
68
+ async: Async;
69
+
70
+ /**
71
+ * Arguments passed to the handler function
72
+ * @defaultValue `[]`
73
+ */
74
+ handlerArgs: HandlerArgs;
75
+
76
+ /** Debugging text to log for the event */
77
+ debugText: string;
78
+
79
+ /** An event name to dispatch for registered listeners */
80
+ eventName: string;
81
+
82
+ /** A hook name to dispatch for this and all parent classes */
83
+ hookName: string;
84
+
85
+ /** Arguments passed to the requested hook function */
86
+ hookArgs: string;
87
+
88
+ /**
89
+ * Add the handler response to hookArgs
90
+ * @defaultValue `false`
91
+ */
92
+ hookResponse: boolean;
93
+
94
+ /**
95
+ * Call hooks for parent classes in the inheritance chain?
96
+ * @defaultValue `true`
97
+ */
98
+ parentClassHooks: boolean;
99
+ }
100
+
101
+ type RenderState = ValueOf<typeof ApplicationV2.RENDER_STATES>;
102
+
103
+ interface RenderContext {
104
+ /** Tab data prepared from an entry in {@link ApplicationV2.TABS} */
105
+ tabs?: Record<string, Tab>;
106
+ }
107
+
59
108
  interface Configuration {
60
109
  /**
61
110
  * An HTML element identifier used for this Application instance
@@ -110,10 +159,16 @@ declare namespace ApplicationV2 {
110
159
  /** Window offset pixels from left */
111
160
  left: number;
112
161
 
113
- /** Un-scaled pixels in width or "auto" */
162
+ /**
163
+ * Un-scaled pixels in width or "auto"
164
+ * @defaultValue "auto"
165
+ */
114
166
  width: number | "auto";
115
167
 
116
- /** Un-scaled pixels in height or "auto" */
168
+ /**
169
+ * Un-scaled pixels in height or "auto"
170
+ * @defaultValue "auto"
171
+ */
117
172
  height: number | "auto";
118
173
 
119
174
  /** A numeric scaling factor applied to application dimensions */
@@ -186,7 +241,7 @@ declare namespace ApplicationV2 {
186
241
  action: string;
187
242
 
188
243
  /** Is the control button visible for the current client? */
189
- visible?: boolean | undefined;
244
+ visible?: boolean | (() => boolean) | undefined;
190
245
 
191
246
  /**
192
247
  * A key or value in CONST.DOCUMENT_OWNERSHIP_LEVELS that restricts visibility of this option for the current user.
@@ -239,8 +294,13 @@ declare namespace ApplicationV2 {
239
294
 
240
295
  /** Whether the application was closed via keypress. */
241
296
  closeKey: boolean;
297
+
298
+ /** Is the application being closed because a form was submitted? */
299
+ submitted: boolean;
242
300
  }
243
301
 
302
+ type ActionTarget = HTMLElement & { dataset: { action: string } };
303
+
244
304
  /** An on-click action supported by the Application. Run in the context of a HandlebarsApplication. */
245
305
  type ClickAction = (
246
306
  /** The originating click event */
@@ -262,14 +322,41 @@ declare namespace ApplicationV2 {
262
322
  formData: FormDataExtended,
263
323
  ) => MaybePromise<void>;
264
324
 
325
+ interface TabsConfiguration {
326
+ /** An array of tab configuration data */
327
+ tabs: Omit<Tab, "group" | "active">[];
328
+
329
+ /** The tab in this group that will be active on first render */
330
+ initial?: string | null | undefined;
331
+ /**
332
+ * A localization path prefix for all tabs in the group: if set, a label is generated
333
+ * for each tab using a full path of `${labelPrefix}.${tabId}`.
334
+ */
335
+ labelPrefix?: string | null | undefined;
336
+ }
337
+
338
+ interface Window {
339
+ header?: HTMLElement | undefined;
340
+ resize?: HTMLElement | undefined;
341
+ title: HTMLHeadingElement | undefined;
342
+ icon: HTMLElement | undefined;
343
+ close: HTMLButtonElement | undefined;
344
+ controls: HTMLButtonElement | undefined;
345
+ controlsDropdown: HTMLDivElement | undefined;
346
+ onDrag: (event: PointerEvent) => void;
347
+ onResize: (event: PointerEvent) => void;
348
+ pointerStartPosition: ApplicationV2.Position | undefined;
349
+ pointerMoveThrottle: boolean;
350
+ }
351
+
265
352
  /** @remarks Used with `templates/generic/tab-navigation.hbs` */
266
353
  interface Tab {
267
354
  id: string;
268
355
  group: string;
269
- icon: string;
270
- label: string;
271
356
  active: boolean;
272
357
  cssClass: string;
358
+ icon?: string | null | undefined;
359
+ label?: string | null | undefined;
273
360
  }
274
361
 
275
362
  /** @remarks Used with `templates/generic/form-fields.hbs` */
@@ -303,6 +390,19 @@ declare namespace ApplicationV2 {
303
390
  disabled?: boolean | undefined;
304
391
  }
305
392
 
393
+ interface ToggleControlOptions {
394
+ /**
395
+ * Animate the controls toggling.
396
+ * @defaultValue `true`
397
+ * @remarks `null` equivalent to `false`
398
+ */
399
+ animate?: boolean | null | undefined;
400
+ }
401
+
402
+ /**
403
+ * @remarks InexactPartial is used over NullishProps because event/navElement are not called with null as a possible value,
404
+ * and null interferes with the defaults of force/updatePosition
405
+ */
306
406
  interface ChangeTabOptions
307
407
  extends InexactPartial<{
308
408
  /**
@@ -324,6 +424,20 @@ declare namespace ApplicationV2 {
324
424
  */
325
425
  updatePosition: boolean;
326
426
  }> {}
427
+
428
+ type CreateContextMenuHandler = () => ContextMenu.Entry<HTMLElement>[];
429
+
430
+ interface CreateContextMenuOptions extends ContextMenu.ConstructorOptions<false> {
431
+ container?: HTMLElement | undefined | null;
432
+
433
+ hookName?: string | undefined | null;
434
+
435
+ /**
436
+ * @defaultValue `true`
437
+ */
438
+ // non-null due to default value
439
+ parentClassHooks?: boolean | undefined;
440
+ }
327
441
  }
328
442
 
329
443
  /**
@@ -332,24 +446,48 @@ declare namespace ApplicationV2 {
332
446
  declare class ApplicationV2<
333
447
  // Foundry doesn't define this generic in its documentation but it's necessary
334
448
  // in fvtt-types to type `_prepareContext` etc.
335
- RenderContext extends AnyObject = EmptyObject,
449
+ // `extends object` is to avoid having to call `InterfaceToObject` everywhere
450
+ RenderContext extends object = ApplicationV2.RenderContext,
336
451
  Configuration extends ApplicationV2.Configuration = ApplicationV2.Configuration,
337
452
  RenderOptions extends ApplicationV2.RenderOptions = ApplicationV2.RenderOptions,
338
- > extends EventEmitterMixin(Object) {
453
+ > extends EventEmitterMixin() {
339
454
  static [__ApplicationV2Brand]: never;
340
455
 
341
456
  [__RenderContext]: RenderContext;
342
457
  [__Configuration]: Configuration;
343
458
  [__RenderOptions]: RenderOptions;
344
459
 
460
+ /**
461
+ * Applications are constructed by providing an object of configuration options.
462
+ * @param options - Options used to configure the Application instance
463
+ * (default: `{}`)
464
+ */
465
+ // not: null
345
466
  constructor(options?: DeepPartial<Configuration>);
346
467
 
468
+ /**
469
+ * Designates which upstream Application class in this class' inheritance chain is the base application.
470
+ * Any DEFAULT_OPTIONS of super-classes further upstream of the BASE_APPLICATION are ignored.
471
+ * Hook events for super-classes further upstream of the BASE_APPLICATION are not dispatched.
472
+ */
347
473
  static BASE_APPLICATION: typeof ApplicationV2;
348
474
 
349
- // Note(LukeAbby): This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
350
- // Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
475
+ /**
476
+ * The default configuration options which are assigned to every instance of this Application class.
477
+ * @privateRemarks This `& object` is so that the `DEFAULT_OPTIONS` can be overridden more easily
478
+ * Without it then `static override DEFAULT_OPTIONS = { unrelatedProp: 123 }` would error.
479
+ */
351
480
  static DEFAULT_OPTIONS: DeepPartial<ApplicationV2.Configuration> & object;
352
481
 
482
+ /**
483
+ * Configuration of application tabs, with an entry per tab group.
484
+ * @defaultValue `{}`
485
+ */
486
+ static TABS: Record<string, ApplicationV2.TabsConfiguration>;
487
+
488
+ /**
489
+ * The sequence of rendering states that describe the Application life-cycle.
490
+ */
353
491
  static readonly RENDER_STATES: {
354
492
  ERROR: -3;
355
493
  CLOSING: -2;
@@ -359,7 +497,17 @@ declare class ApplicationV2<
359
497
  RENDERED: 2;
360
498
  };
361
499
 
362
- static override readonly emittedEvents: ["render", "close", "position"];
500
+ /**
501
+ * An incrementing integer Application ID.
502
+ */
503
+ static _appId: number;
504
+
505
+ /**
506
+ * The current maximum z-index of any displayed Application.
507
+ */
508
+ static _maxZ: number;
509
+
510
+ static override readonly emittedEvents: string[];
363
511
 
364
512
  /**
365
513
  * Application instance configuration options.
@@ -369,26 +517,14 @@ declare class ApplicationV2<
369
517
  /**
370
518
  * Convenience references to window header elements.
371
519
  */
372
- get window(): {
373
- header?: HTMLElement | undefined;
374
- resize?: HTMLElement | undefined;
375
- title: HTMLHeadingElement | undefined;
376
- icon: HTMLElement | undefined;
377
- close: HTMLButtonElement | undefined;
378
- controls: HTMLButtonElement | undefined;
379
- controlsDropdown: HTMLDivElement | undefined;
380
- onDrag: (event: PointerEvent) => void;
381
- onResize: (event: PointerEvent) => void;
382
- pointerStartPosition: ApplicationV2.Position | undefined;
383
- pointerMoveThrottle: boolean;
384
- };
520
+ get window(): ApplicationV2.Window;
385
521
 
386
522
  /**
387
523
  * If this Application uses tabbed navigation groups, this mapping is updated whenever the changeTab method is called.
388
- * Reports the active tab for each group.
524
+ * Reports the active tab for each group, with a value of `null` indicating no tab is active.
389
525
  * Subclasses may override this property to define default tabs for each group.
390
526
  */
391
- tabGroups: Record<string, string>;
527
+ tabGroups: Record<string, string | null>;
392
528
 
393
529
  /**
394
530
  * The CSS class list of this Application instance
@@ -397,6 +533,9 @@ declare class ApplicationV2<
397
533
 
398
534
  /**
399
535
  * The HTML element ID of this Application instance.
536
+ * This provides a readonly view into the internal ID used by this application.
537
+ * This getter should not be overridden by subclasses, which should instead configure the ID in `DEFAULT_OPTIONS` or
538
+ * by defining a `uniqueId` during `_initializeApplicationOptions`.
400
539
  */
401
540
  get id(): string;
402
541
 
@@ -410,6 +549,11 @@ declare class ApplicationV2<
410
549
  */
411
550
  get element(): HTMLElement;
412
551
 
552
+ /**
553
+ * Does this Application have a top-level form element?
554
+ */
555
+ get form(): HTMLFormElement | null;
556
+
413
557
  /**
414
558
  * Is this Application instance currently minimized?
415
559
  */
@@ -428,7 +572,7 @@ declare class ApplicationV2<
428
572
  /**
429
573
  * The current render state of the Application.
430
574
  */
431
- get state(): typeof ApplicationV2.RENDER_STATES;
575
+ get state(): ApplicationV2.RenderState;
432
576
 
433
577
  /**
434
578
  * Does this Application instance render within an outer window frame?
@@ -455,17 +599,21 @@ declare class ApplicationV2<
455
599
  /**
456
600
  * Render the Application, creating its HTMLElement and replacing its innerHTML.
457
601
  * Add it to the DOM if it is not currently rendered and rendering is forced. Otherwise, re-render its contents.
458
- * @param options - Options which configure application rendering behavior.
459
- * A boolean is interpreted as the "force" option.
602
+ * @param options - Options which configure application rendering behavior.
603
+ * A boolean is interpreted as the "force" option.
604
+ * (default: `{}`)
460
605
  * @returns A Promise which resolves to the rendered Application instance
461
606
  */
607
+ // not: null
462
608
  render(options?: DeepPartial<RenderOptions>): Promise<this>;
463
609
 
464
610
  /**
465
- * @deprecated Exists for backwards compatability with the original `ApplicationV1#render` signature.
611
+ * @deprecated Exists for backwards compatibility with the original `ApplicationV1#render` signature.
466
612
  *
467
613
  * @param _options - Legacy options for backwards-compatibility with the original ApplicationV1#render signature.
614
+ * (default: `{}`)
468
615
  */
616
+ // not: null
469
617
  render(options: boolean, _options?: DeepPartial<RenderOptions>): Promise<this>;
470
618
 
471
619
  /**
@@ -481,6 +629,18 @@ declare class ApplicationV2<
481
629
  */
482
630
  protected _prepareContext(options: DeepPartial<RenderOptions> & { isFirstRender: boolean }): Promise<RenderContext>;
483
631
 
632
+ /**
633
+ * Prepare application tab data for a single tab group.
634
+ * @param group - The ID of the tab group to prepare
635
+ */
636
+ protected _prepareTabs(group: string): Record<string, ApplicationV2.Tab>;
637
+
638
+ /**
639
+ * Get the configuration for a tabs group.
640
+ * @param group - The ID of a tabs group
641
+ */
642
+ protected _getTabsConfig(group: string): ApplicationV2.TabsConfiguration | null;
643
+
484
644
  /**
485
645
  * Configure the array of header control menu options
486
646
  */
@@ -533,14 +693,14 @@ declare class ApplicationV2<
533
693
  * @param element - The element to insert
534
694
  * @returns The inserted element
535
695
  */
536
- // TODO: Actual function def appears to be void?
537
- protected _insertElement(element: HTMLElement): HTMLElement;
696
+ protected _insertElement(element: HTMLElement): void;
538
697
 
539
698
  /**
540
699
  * Close the Application, removing it from the DOM.
541
700
  * @param options - Options which modify how the application is closed.
542
701
  * @returns A Promise which resolves to the closed Application instance
543
702
  */
703
+ // not: null
544
704
  close(options?: DeepPartial<ApplicationV2.ClosingOptions>): Promise<this>;
545
705
 
546
706
  /**
@@ -550,11 +710,16 @@ declare class ApplicationV2<
550
710
  */
551
711
  protected _removeElement(element: HTMLElement): void;
552
712
 
713
+ /**
714
+ * Remove elements from the DOM and trigger garbage collection as part of application closure.
715
+ */
716
+ protected _tearDown(options: DeepPartial<ApplicationV2.ClosingOptions>): void;
717
+
553
718
  /**
554
719
  * Update the Application element position using provided data which is merged with the prior position.
555
720
  * @param position - New Application positioning data
556
721
  */
557
- setPosition(position: DeepPartial<ApplicationV2.Position>): ApplicationV2.Position;
722
+ setPosition(position: DeepPartial<ApplicationV2.Position>): ApplicationV2.Position | void;
558
723
 
559
724
  /**
560
725
  * Translate a requested application position updated into a resolved allowed position for the Application.
@@ -568,9 +733,13 @@ declare class ApplicationV2<
568
733
  * Toggle display of the Application controls menu.
569
734
  * Only applicable to window Applications.
570
735
  * @param expanded - Set the controls visibility to a specific state.
571
- * Otherwise, the visible state is toggled from its current value
736
+ * Otherwise, the visible state is toggled from its current value.
737
+ * `null` is same as undefined
738
+ * @param options - Options to configure the toggling behavior
739
+ * @returns A Promise which resolves once the control expansion animation is complete
572
740
  */
573
- toggleControls(expanded?: boolean): void;
741
+ // not: null
742
+ toggleControls(expanded?: boolean | null, options?: ApplicationV2.ToggleControlOptions): Promise<void>;
574
743
 
575
744
  /**
576
745
  * Minimize the Application, collapsing it to a minimal header.
@@ -594,11 +763,36 @@ declare class ApplicationV2<
594
763
  * @param tab - The name of the tab which should become active
595
764
  * @param group - The name of the tab group which defines the set of tabs
596
765
  * @param options - Additional options which affect tab navigation
597
- * @remarks InexactPartial is used over NullishProps because event/navElement are not called with null as a possible value,
598
- * and null interferes with the defaults of force/updatePosition
766
+ * (default: `{}`)
599
767
  */
768
+ // not: null
600
769
  changeTab(tab: string, group: string, options?: ApplicationV2.ChangeTabOptions): void;
601
770
 
771
+ /**
772
+ * Programmatically submit an ApplicationV2 instance which implements a single top-level form.
773
+ * @param submitOptions - Arbitrary options which are supported by and provided to the configured form submission handler.
774
+ * @returns A promise that resolves to the returned result of the form submission handler, if any.
775
+ * @remarks Return is accurate to 13.340, but https://github.com/foundryvtt/foundryvtt/issues/12661 classifies it as a bug.
776
+ * Correct return is based on the handler.
777
+ * @privateRemarks TODO: More precisely type the submitOptions, as they vary with the handler
778
+ * which means on DocumentSheet they can be the document's create or update operations
779
+ */
780
+ submit(submitOptions?: AnyObject): Promise<void>;
781
+
782
+ /**
783
+ * Perform an event in the application life-cycle.
784
+ * Await an internal life-cycle method defined by the class.
785
+ * Optionally dispatch an event for any registered listeners.
786
+ * @param handler - A handler function to call
787
+ * @param options - Options which configure event handling
788
+ * @returns A promise which resoles once the handler is complete if async is true
789
+ */
790
+ // not: null
791
+ protected _doEvent<HandlerArgs extends AnyArray, Async extends boolean | undefined = false>(
792
+ handler: (...args: HandlerArgs) => Async extends true ? Promise<void> : void,
793
+ options?: InexactPartial<ApplicationV2.DoEventOptions<HandlerArgs, Async>>,
794
+ ): Async extends true ? Promise<void> : void;
795
+
602
796
  /**
603
797
  * Test whether this Application is allowed to be rendered.
604
798
  * @param options - Provided render options
@@ -616,11 +810,10 @@ declare class ApplicationV2<
616
810
 
617
811
  /**
618
812
  * Actions performed after a first render of the Application.
619
- * Post-render steps are not awaited by the render process.
620
813
  * @param context - Prepared context data
621
814
  * @param options - Provided render options
622
815
  */
623
- protected _onFirstRender(context: DeepPartial<RenderContext>, options: DeepPartial<RenderOptions>): void;
816
+ protected _onFirstRender(context: DeepPartial<RenderContext>, options: DeepPartial<RenderOptions>): Promise<void>;
624
817
 
625
818
  /**
626
819
  * Actions performed before any render of the Application.
@@ -632,11 +825,10 @@ declare class ApplicationV2<
632
825
 
633
826
  /**
634
827
  * Actions performed after any render of the Application.
635
- * Post-render steps are not awaited by the render process.
636
828
  * @param context - Prepared context data
637
829
  * @param options - Provided render options
638
830
  */
639
- protected _onRender(context: DeepPartial<RenderContext>, options: DeepPartial<RenderOptions>): void;
831
+ protected _onRender(context: DeepPartial<RenderContext>, options: DeepPartial<RenderOptions>): Promise<void>;
640
832
 
641
833
  /**
642
834
  * Actions performed before closing the Application.
@@ -670,6 +862,11 @@ declare class ApplicationV2<
670
862
  */
671
863
  protected _attachFrameListeners(): void;
672
864
 
865
+ /**
866
+ * Handle click events on a tab within the Application.
867
+ */
868
+ protected _onClickTab(event: PointerEvent): void;
869
+
673
870
  /**
674
871
  * A generic event handler for action clicks which can be extended by subclasses.
675
872
  * Action handlers defined in DEFAULT_OPTIONS are called first. This method is only called for actions which have
@@ -677,7 +874,7 @@ declare class ApplicationV2<
677
874
  * @param event - The originating click event
678
875
  * @param target - The capturing HTML element which defined a [data-action]
679
876
  */
680
- protected _onClickAction(event: PointerEvent, target: HTMLElement & { dataset: { action: string } }): void;
877
+ protected _onClickAction(event: PointerEvent, target: ApplicationV2.ActionTarget): void;
681
878
 
682
879
  /**
683
880
  * Handle submission for an Application which uses the form element.
@@ -691,7 +888,7 @@ declare class ApplicationV2<
691
888
  * @param formConfig - The form configuration for which this handler is bound
692
889
  * @param event - The form submission event
693
890
  */
694
- _onChangeForm(formConfig: ApplicationV2.FormConfiguration, event: Event): void;
891
+ protected _onChangeForm(formConfig: ApplicationV2.FormConfiguration, event: Event): void;
695
892
 
696
893
  /**
697
894
  * Parse a CSS style rule into a number of pixels which apply to that dimension.
@@ -699,7 +896,7 @@ declare class ApplicationV2<
699
896
  * @param parentDimension - The relevant dimension of the parent element
700
897
  * @returns The parsed style dimension in pixels
701
898
  */
702
- static parseCSSDimensions(style: string, parentDimension: number): number;
899
+ static parseCSSDimensions(style: string, parentDimension: number): number | undefined;
703
900
 
704
901
  /**
705
902
  * Wait for a CSS transition to complete for an element.
@@ -709,6 +906,25 @@ declare class ApplicationV2<
709
906
  */
710
907
  protected _awaitTransition(element: HTMLElement, timeout: number): Promise<void>;
711
908
 
909
+ /**
910
+ * Create a ContextMenu instance used in this Application.
911
+ * @param handler - A handler function that provides initial context options
912
+ * @param selector - A CSS selector to which the ContextMenu will be bound
913
+ * @param options - Additional options which affect ContextMenu construction
914
+ * @returns A created ContextMenu or null if no menu items were defined
915
+ */
916
+ protected _createContextMenu(
917
+ handler: ApplicationV2.CreateContextMenuHandler,
918
+ selector: string,
919
+ options: ApplicationV2.CreateContextMenuOptions,
920
+ ): ContextMenu | null;
921
+
922
+ /**
923
+ * Wait for any images in the given element to load.
924
+ * @param element - The element.
925
+ */
926
+ static waitForImages(element: HTMLElement): Promise<void>;
927
+
712
928
  /**
713
929
  * @deprecated since v12, will be removed in v14
714
930
  * @remarks `"ApplicationV2#bringToTop is not a valid function and redirects to ApplicationV2#bringToFront. This shim will be removed in v14."`
@@ -0,0 +1,40 @@
1
+ import type ApplicationV2 from "./application.d.mts";
2
+ import type HandlebarsApplicationMixin from "./handlebars-application.d.mts";
3
+
4
+ /**
5
+ * An abstract class responsible for displaying a 2-pane Application that allows for entries to be grouped and filtered
6
+ * by category.
7
+ * @remarks TODO: Stub
8
+ * @remarks This is not actually *imported* anywhere it can be used, it appears to be for internal FVTT use only.
9
+ */
10
+ declare class CategoryBrowser<
11
+ RenderContext extends CategoryBrowser.RenderContext = CategoryBrowser.RenderContext,
12
+ Configuration extends CategoryBrowser.Configuration = CategoryBrowser.Configuration,
13
+ RenderOptions extends
14
+ HandlebarsApplicationMixin.ApplicationV2RenderOptions = HandlebarsApplicationMixin.ApplicationV2RenderOptions,
15
+ > extends HandlebarsApplicationMixin(ApplicationV2)<RenderContext, Configuration, RenderOptions> {}
16
+
17
+ declare namespace CategoryBrowser {
18
+ interface Configuration extends ApplicationV2.Configuration {
19
+ /** The initial category tab: omitting this will result in an initial active tab that corresponds with the first category by insertion order. */
20
+ initialCategory: string | null;
21
+
22
+ /** Additional Template partials for specific use with this class */
23
+ subtemplates: Subtemplates;
24
+ }
25
+
26
+ interface Subtemplates {
27
+ /** The markup used for each category: required to be set by any subclass */
28
+ category: string;
29
+
30
+ /** Optional template for secondary filtering (aside from text search) */
31
+ filter: string | null;
32
+
33
+ /** Optional sidebar footer content */
34
+ sidebarFooter: string | null;
35
+ }
36
+
37
+ interface RenderContext extends ApplicationV2.RenderContext {}
38
+ }
39
+
40
+ export default CategoryBrowser;