@league-of-foundry-developers/foundry-vtt-types 13.340.0 → 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 (543) hide show
  1. package/README.md +6 -3
  2. package/package.json +40 -18
  3. package/src/configuration/configuration.d.mts +24 -23
  4. package/src/configuration/documents.d.mts +295 -0
  5. package/src/configuration/globals.d.mts +8 -2
  6. package/src/configuration/index.d.mts +1 -0
  7. package/src/foundry/client/apps/app.d.mts +121 -119
  8. package/src/foundry/client/apps/av/av-config.d.mts +13 -8
  9. package/src/foundry/client/apps/av/cameras.d.mts +11 -11
  10. package/src/foundry/client/apps/dice/dice-config.d.mts +22 -8
  11. package/src/foundry/client/apps/form.d.mts +112 -94
  12. package/src/foundry/client/apps/forms/actor.d.mts +22 -12
  13. package/src/foundry/client/apps/forms/adventure-exporter.d.mts +13 -8
  14. package/src/foundry/client/apps/forms/adventure-importer.d.mts +15 -7
  15. package/src/foundry/client/apps/forms/base-sheet.d.mts +14 -7
  16. package/src/foundry/client/apps/forms/card-config.d.mts +17 -9
  17. package/src/foundry/client/apps/forms/cards-config.d.mts +13 -14
  18. package/src/foundry/client/apps/forms/combat-config.d.mts +7 -7
  19. package/src/foundry/client/apps/forms/combatant-config.d.mts +4 -4
  20. package/src/foundry/client/apps/forms/default-sheets-config.d.mts +1 -1
  21. package/src/foundry/client/apps/forms/effect-config.d.mts +6 -6
  22. package/src/foundry/client/apps/forms/folder-config.d.mts +5 -5
  23. package/src/foundry/client/apps/forms/fonts.d.mts +42 -35
  24. package/src/foundry/client/apps/forms/grid-config.d.mts +11 -11
  25. package/src/foundry/client/apps/forms/image-popout.d.mts +28 -22
  26. package/src/foundry/client/apps/forms/item.d.mts +6 -6
  27. package/src/foundry/client/apps/forms/journal-page-sheet.d.mts +17 -15
  28. package/src/foundry/client/apps/forms/journal-sheet.d.mts +46 -37
  29. package/src/foundry/client/apps/forms/macro-config.d.mts +6 -6
  30. package/src/foundry/client/apps/forms/measure-template.d.mts +8 -8
  31. package/src/foundry/client/apps/forms/ownership.d.mts +5 -5
  32. package/src/foundry/client/apps/forms/playlist-config.d.mts +7 -9
  33. package/src/foundry/client/apps/forms/playlist-sound-config.d.mts +6 -6
  34. package/src/foundry/client/apps/forms/roll-table-config.d.mts +9 -10
  35. package/src/foundry/client/apps/forms/scene-config.d.mts +39 -39
  36. package/src/foundry/client/apps/forms/sheet-config.d.mts +8 -8
  37. package/src/foundry/client/apps/forms/user-config.d.mts +11 -11
  38. package/src/foundry/client/apps/hud/chatbubble.d.mts +14 -9
  39. package/src/foundry/client/apps/hud/container.d.mts +3 -3
  40. package/src/foundry/client/apps/hud/controls.d.mts +124 -84
  41. package/src/foundry/client/apps/hud/hotbar.d.mts +12 -12
  42. package/src/foundry/client/apps/hud/hud.d.mts +4 -4
  43. package/src/foundry/client/apps/hud/menu.d.mts +6 -6
  44. package/src/foundry/client/apps/hud/navigation.d.mts +11 -11
  45. package/src/foundry/client/apps/hud/pause.d.mts +7 -7
  46. package/src/foundry/client/apps/hud/players.d.mts +11 -11
  47. package/src/foundry/client/apps/i18n.d.mts +31 -27
  48. package/src/foundry/client/apps/placeables/drawing-config.d.mts +41 -33
  49. package/src/foundry/client/apps/placeables/drawing-hud.d.mts +4 -4
  50. package/src/foundry/client/apps/placeables/index.d.mts +0 -2
  51. package/src/foundry/client/apps/placeables/note-config.d.mts +27 -17
  52. package/src/foundry/client/apps/placeables/tile-config.d.mts +23 -10
  53. package/src/foundry/client/apps/placeables/tile-hud.d.mts +8 -8
  54. package/src/foundry/client/apps/placeables/token-config.d.mts +84 -63
  55. package/src/foundry/client/apps/placeables/token-hud.d.mts +10 -10
  56. package/src/foundry/client/apps/placeables/wall-config.d.mts +19 -16
  57. package/src/foundry/client/apps/sidebar/apps/chat-popout.d.mts +5 -5
  58. package/src/foundry/client/apps/sidebar/apps/client-settings.d.mts +2 -2
  59. package/src/foundry/client/apps/sidebar/apps/compendium.d.mts +13 -10
  60. package/src/foundry/client/apps/sidebar/apps/invitation-links.d.mts +3 -3
  61. package/src/foundry/client/apps/sidebar/apps/keybindings-config.d.mts +1 -1
  62. package/src/foundry/client/apps/sidebar/apps/module-management.d.mts +6 -6
  63. package/src/foundry/client/apps/sidebar/apps/permission-config.d.mts +6 -6
  64. package/src/foundry/client/apps/sidebar/apps/support-details.d.mts +33 -28
  65. package/src/foundry/client/apps/sidebar/apps/tours-management.d.mts +1 -1
  66. package/src/foundry/client/apps/sidebar/apps/world-config.d.mts +12 -9
  67. package/src/foundry/client/apps/sidebar/directory-tab-mixin.d.mts +40 -32
  68. package/src/foundry/client/apps/sidebar/document-directory.d.mts +44 -37
  69. package/src/foundry/client/apps/sidebar/package-configuration.d.mts +3 -3
  70. package/src/foundry/client/apps/sidebar/sidebar-tab.d.mts +3 -3
  71. package/src/foundry/client/apps/sidebar/sidebar.d.mts +7 -7
  72. package/src/foundry/client/apps/sidebar/tabs/actors-directory.d.mts +4 -4
  73. package/src/foundry/client/apps/sidebar/tabs/cards-directory.d.mts +4 -4
  74. package/src/foundry/client/apps/sidebar/tabs/chat-log.d.mts +34 -29
  75. package/src/foundry/client/apps/sidebar/tabs/combat-tracker.d.mts +15 -15
  76. package/src/foundry/client/apps/sidebar/tabs/compendium-directory.d.mts +21 -12
  77. package/src/foundry/client/apps/sidebar/tabs/items-directory.d.mts +4 -4
  78. package/src/foundry/client/apps/sidebar/tabs/journal-directory.d.mts +4 -4
  79. package/src/foundry/client/apps/sidebar/tabs/macros-directory.d.mts +8 -8
  80. package/src/foundry/client/apps/sidebar/tabs/playlists-directory.d.mts +21 -21
  81. package/src/foundry/client/apps/sidebar/tabs/roll-table-directory.d.mts +4 -4
  82. package/src/foundry/client/apps/sidebar/tabs/scenes-directory.d.mts +6 -6
  83. package/src/foundry/client/apps/sidebar/tabs/settings.d.mts +12 -12
  84. package/src/foundry/client/apps/templates.d.mts +2 -2
  85. package/src/foundry/client/av/clients/simplepeer.d.mts +4 -4
  86. package/src/foundry/client/av/settings.d.mts +16 -13
  87. package/src/foundry/client/config.d.mts +1982 -1823
  88. package/src/foundry/client/core/document-index.d.mts +12 -4
  89. package/src/foundry/client/core/hooks.d.mts +0 -2
  90. package/src/foundry/client/core/image.d.mts +13 -11
  91. package/src/foundry/client/core/issues.d.mts +11 -6
  92. package/src/foundry/client/core/keybindings.d.mts +3 -3
  93. package/src/foundry/client/core/nue.d.mts +1 -1
  94. package/src/foundry/client/core/packages.d.mts +393 -63
  95. package/src/foundry/client/core/settings.d.mts +34 -12
  96. package/src/foundry/client/core/socket.d.mts +2 -2
  97. package/src/foundry/client/core/sorting.d.mts +6 -6
  98. package/src/foundry/client/core/time.d.mts +6 -3
  99. package/src/foundry/client/core/tooltip.d.mts +1 -1
  100. package/src/foundry/client/core/tour.d.mts +58 -49
  101. package/src/foundry/client/core/tours.d.mts +1 -1
  102. package/src/foundry/client/core/utils.d.mts +3 -3
  103. package/src/foundry/client/core/workers.d.mts +24 -17
  104. package/src/foundry/client/data/abstract/canvas-document.d.mts +9 -15
  105. package/src/foundry/client/data/abstract/client-document.d.mts +133 -172
  106. package/src/foundry/client/data/abstract/directory-collection-mixin.d.mts +14 -36
  107. package/src/foundry/client/data/abstract/document-collection.d.mts +89 -65
  108. package/src/foundry/client/data/abstract/world-collection.d.mts +47 -53
  109. package/src/foundry/client/data/collections/actors.d.mts +24 -31
  110. package/src/foundry/client/data/collections/cards.d.mts +10 -6
  111. package/src/foundry/client/data/collections/combats.d.mts +12 -8
  112. package/src/foundry/client/data/collections/compendium-collection.d.mts +79 -66
  113. package/src/foundry/client/data/collections/compendium-folders.d.mts +6 -6
  114. package/src/foundry/client/data/collections/compendium-packs.d.mts +4 -4
  115. package/src/foundry/client/data/collections/fog.d.mts +10 -6
  116. package/src/foundry/client/data/collections/folder.d.mts +15 -10
  117. package/src/foundry/client/data/collections/items.d.mts +11 -7
  118. package/src/foundry/client/data/collections/journal.d.mts +16 -10
  119. package/src/foundry/client/data/collections/macros.d.mts +15 -22
  120. package/src/foundry/client/data/collections/messages.d.mts +14 -10
  121. package/src/foundry/client/data/collections/playlists.d.mts +12 -9
  122. package/src/foundry/client/data/collections/scenes.d.mts +19 -31
  123. package/src/foundry/client/data/collections/settings.d.mts +10 -6
  124. package/src/foundry/client/data/collections/tables.d.mts +11 -7
  125. package/src/foundry/client/data/collections/users.d.mts +14 -11
  126. package/src/foundry/client/data/documents/active-effect.d.mts +652 -88
  127. package/src/foundry/client/data/documents/actor-delta.d.mts +672 -28
  128. package/src/foundry/client/data/documents/actor.d.mts +722 -60
  129. package/src/foundry/client/data/documents/adventure.d.mts +482 -49
  130. package/src/foundry/client/data/documents/ambient-light.d.mts +426 -21
  131. package/src/foundry/client/data/documents/ambient-sound.d.mts +474 -15
  132. package/src/foundry/client/data/documents/card.d.mts +570 -39
  133. package/src/foundry/client/data/documents/cards.d.mts +742 -78
  134. package/src/foundry/client/data/documents/chat-message.d.mts +578 -45
  135. package/src/foundry/client/data/documents/combat.d.mts +701 -71
  136. package/src/foundry/client/data/documents/combatant.d.mts +510 -28
  137. package/src/foundry/client/data/documents/drawing.d.mts +543 -16
  138. package/src/foundry/client/data/documents/fog-exploration.d.mts +413 -27
  139. package/src/foundry/client/data/documents/folder.d.mts +461 -40
  140. package/src/foundry/client/data/documents/item.d.mts +679 -25
  141. package/src/foundry/client/data/documents/journal-entry-page.d.mts +587 -21
  142. package/src/foundry/client/data/documents/journal-entry.d.mts +621 -20
  143. package/src/foundry/client/data/documents/macro.d.mts +530 -25
  144. package/src/foundry/client/data/documents/measured-template.d.mts +480 -16
  145. package/src/foundry/client/data/documents/note.d.mts +495 -18
  146. package/src/foundry/client/data/documents/playlist-sound.d.mts +429 -27
  147. package/src/foundry/client/data/documents/playlist.d.mts +666 -75
  148. package/src/foundry/client/data/documents/region-behavior.d.mts +468 -38
  149. package/src/foundry/client/data/documents/region.d.mts +661 -35
  150. package/src/foundry/client/data/documents/scene.d.mts +986 -149
  151. package/src/foundry/client/data/documents/setting.d.mts +397 -15
  152. package/src/foundry/client/data/documents/table-result.d.mts +479 -17
  153. package/src/foundry/client/data/documents/table.d.mts +663 -80
  154. package/src/foundry/client/data/documents/tile.d.mts +502 -16
  155. package/src/foundry/client/data/documents/token.d.mts +1114 -90
  156. package/src/foundry/client/data/documents/user.d.mts +495 -27
  157. package/src/foundry/client/data/documents/wall.d.mts +550 -15
  158. package/src/foundry/client/game.d.mts +58 -92
  159. package/src/foundry/client/head.d.mts +5 -6
  160. package/src/foundry/client/hooks.d.mts +237 -221
  161. package/src/foundry/client/pixi/board.d.mts +95 -89
  162. package/src/foundry/client/pixi/core/containers/base-canvas-group.d.mts +6 -5
  163. package/src/foundry/client/pixi/core/containers/cached-container.d.mts +5 -5
  164. package/src/foundry/client/pixi/core/containers/full-canvas-container.d.mts +2 -2
  165. package/src/foundry/client/pixi/core/containers/point-source-mesh.d.mts +3 -3
  166. package/src/foundry/client/pixi/core/containers/quad-mesh.d.mts +3 -3
  167. package/src/foundry/client/pixi/core/containers/quadtree.d.mts +23 -21
  168. package/src/foundry/client/pixi/core/containers/sprite-mesh.d.mts +5 -5
  169. package/src/foundry/client/pixi/core/containers/unbound-container.d.mts +5 -5
  170. package/src/foundry/client/pixi/core/interaction/canvas-animation.d.mts +57 -51
  171. package/src/foundry/client/pixi/core/interaction/control-icon.d.mts +3 -3
  172. package/src/foundry/client/pixi/core/interaction/mouse-handler.d.mts +7 -7
  173. package/src/foundry/client/pixi/core/interaction/ping.d.mts +19 -11
  174. package/src/foundry/client/pixi/core/interaction/pings/chevron.d.mts +7 -2
  175. package/src/foundry/client/pixi/core/interaction/pings/pulse.d.mts +29 -23
  176. package/src/foundry/client/pixi/core/interaction/render-flags.d.mts +83 -38
  177. package/src/foundry/client/pixi/core/interaction/resize-handle.d.mts +3 -3
  178. package/src/foundry/client/pixi/core/interaction/targets.d.mts +9 -9
  179. package/src/foundry/client/pixi/core/loader.d.mts +8 -8
  180. package/src/foundry/client/pixi/core/shapes/limited-angle-polygon.d.mts +9 -4
  181. package/src/foundry/client/pixi/core/shapes/polygon-mesher.d.mts +3 -3
  182. package/src/foundry/client/pixi/core/shapes/precise-text.d.mts +3 -3
  183. package/src/foundry/client/pixi/core/shapes/ray.d.mts +23 -17
  184. package/src/foundry/client/pixi/core/shapes/source-polygon.d.mts +19 -14
  185. package/src/foundry/client/pixi/extensions/circle.d.mts +1 -1
  186. package/src/foundry/client/pixi/extensions/observable-transform.d.mts +3 -3
  187. package/src/foundry/client/pixi/groups/effects.d.mts +4 -4
  188. package/src/foundry/client/pixi/groups/environment.d.mts +5 -5
  189. package/src/foundry/client/pixi/groups/hidden.d.mts +3 -3
  190. package/src/foundry/client/pixi/groups/interface.d.mts +6 -6
  191. package/src/foundry/client/pixi/groups/overlay.d.mts +3 -3
  192. package/src/foundry/client/pixi/groups/primary.d.mts +11 -11
  193. package/src/foundry/client/pixi/groups/rendered.d.mts +3 -3
  194. package/src/foundry/client/pixi/layers/base/canvas-layer.d.mts +3 -3
  195. package/src/foundry/client/pixi/layers/base/interaction-layer.d.mts +13 -13
  196. package/src/foundry/client/pixi/layers/base/placeables-layer.d.mts +279 -233
  197. package/src/foundry/client/pixi/layers/controls/cursor.d.mts +17 -8
  198. package/src/foundry/client/pixi/layers/controls/door.d.mts +26 -14
  199. package/src/foundry/client/pixi/layers/controls/layer.d.mts +89 -79
  200. package/src/foundry/client/pixi/layers/controls/ruler.d.mts +121 -96
  201. package/src/foundry/client/pixi/layers/effects/background-effects.d.mts +4 -5
  202. package/src/foundry/client/pixi/layers/effects/coloration-effects.d.mts +6 -4
  203. package/src/foundry/client/pixi/layers/effects/darkness-effects.d.mts +7 -4
  204. package/src/foundry/client/pixi/layers/effects/illumination-effects.d.mts +19 -16
  205. package/src/foundry/client/pixi/layers/effects/visibility.d.mts +101 -84
  206. package/src/foundry/client/pixi/layers/effects/weather/particles/effect.d.mts +13 -4
  207. package/src/foundry/client/pixi/layers/effects/weather/particles/leaves.d.mts +31 -2
  208. package/src/foundry/client/pixi/layers/effects/weather-effects.d.mts +134 -59
  209. package/src/foundry/client/pixi/layers/grid/highlight.d.mts +13 -3
  210. package/src/foundry/client/pixi/layers/grid/layer.d.mts +89 -87
  211. package/src/foundry/client/pixi/layers/grid/mesh.d.mts +36 -15
  212. package/src/foundry/client/pixi/layers/masks/depth.d.mts +3 -3
  213. package/src/foundry/client/pixi/layers/masks/occlusion.d.mts +4 -4
  214. package/src/foundry/client/pixi/layers/masks/vision.d.mts +6 -6
  215. package/src/foundry/client/pixi/layers/placeables/drawings.d.mts +15 -11
  216. package/src/foundry/client/pixi/layers/placeables/lighting.d.mts +11 -10
  217. package/src/foundry/client/pixi/layers/placeables/notes.d.mts +47 -28
  218. package/src/foundry/client/pixi/layers/placeables/regions.d.mts +25 -12
  219. package/src/foundry/client/pixi/layers/placeables/sounds.d.mts +81 -63
  220. package/src/foundry/client/pixi/layers/placeables/templates.d.mts +10 -11
  221. package/src/foundry/client/pixi/layers/placeables/tiles.d.mts +28 -17
  222. package/src/foundry/client/pixi/layers/placeables/tokens.d.mts +67 -46
  223. package/src/foundry/client/pixi/layers/placeables/walls.d.mts +50 -51
  224. package/src/foundry/client/pixi/perception/clockwise-sweep.d.mts +22 -16
  225. package/src/foundry/client/pixi/perception/detection-mode.d.mts +123 -51
  226. package/src/foundry/client/pixi/perception/fog.d.mts +34 -19
  227. package/src/foundry/client/pixi/perception/perception-manager.d.mts +137 -137
  228. package/src/foundry/client/pixi/perception/vision-mode.d.mts +92 -67
  229. package/src/foundry/client/pixi/perception/weiler-atherton-clipping.d.mts +3 -3
  230. package/src/foundry/client/pixi/placeable.d.mts +241 -146
  231. package/src/foundry/client/pixi/placeables/drawing.d.mts +260 -134
  232. package/src/foundry/client/pixi/placeables/light.d.mts +204 -66
  233. package/src/foundry/client/pixi/placeables/note.d.mts +150 -55
  234. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-canvas-object.d.mts +7 -6
  235. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-graphics.d.mts +3 -3
  236. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-occludable-object.d.mts +2 -2
  237. package/src/foundry/client/pixi/placeables/primary-canvas-objects/primary-sprite-mesh.d.mts +4 -4
  238. package/src/foundry/client/pixi/placeables/region.d.mts +219 -110
  239. package/src/foundry/client/pixi/placeables/sound.d.mts +211 -68
  240. package/src/foundry/client/pixi/placeables/template.d.mts +186 -100
  241. package/src/foundry/client/pixi/placeables/tile.d.mts +211 -142
  242. package/src/foundry/client/pixi/placeables/token.d.mts +911 -568
  243. package/src/foundry/client/pixi/placeables/wall.d.mts +253 -130
  244. package/src/foundry/client/pixi/webgl/extensions/batch-renderer.d.mts +27 -5
  245. package/src/foundry/client/pixi/webgl/extensions/batch-shader-generator.d.mts +3 -3
  246. package/src/foundry/client/pixi/webgl/helpers/framebuffer-snapshot.d.mts +3 -3
  247. package/src/foundry/client/pixi/webgl/helpers/smooth-noise.d.mts +13 -5
  248. package/src/foundry/client/pixi/webgl/helpers/texture-extractor.d.mts +6 -6
  249. package/src/foundry/client/pixi/webgl/shaders/base-shader-mixin.d.mts +2 -2
  250. package/src/foundry/client/pixi/webgl/shaders/base-shader.d.mts +5 -5
  251. package/src/foundry/client/pixi/webgl/shaders/filters/base-filter.d.mts +4 -4
  252. package/src/foundry/client/pixi/webgl/shaders/filters/base-mask-filter.d.mts +3 -3
  253. package/src/foundry/client/pixi/webgl/shaders/filters/blur.d.mts +5 -5
  254. package/src/foundry/client/pixi/webgl/shaders/filters/effects-masking.d.mts +6 -3
  255. package/src/foundry/client/pixi/webgl/shaders/filters/environment.d.mts +3 -3
  256. package/src/foundry/client/pixi/webgl/shaders/filters/glow-overlay.d.mts +4 -4
  257. package/src/foundry/client/pixi/webgl/shaders/filters/invisibility.d.mts +3 -3
  258. package/src/foundry/client/pixi/webgl/shaders/filters/outline-overlay.d.mts +4 -4
  259. package/src/foundry/client/pixi/webgl/shaders/filters/transition.d.mts +6 -6
  260. package/src/foundry/client/pixi/webgl/shaders/filters/visibility.d.mts +8 -5
  261. package/src/foundry/client/pixi/webgl/shaders/filters/vision-mask-filter.d.mts +3 -3
  262. package/src/foundry/client/pixi/webgl/shaders/filters/void.d.mts +3 -3
  263. package/src/foundry/client/pixi/webgl/shaders/filters/weather-occlusion-masks.d.mts +4 -4
  264. package/src/foundry/client/pixi/webgl/shaders/fragment-channel-mixin.d.mts +1 -1
  265. package/src/foundry/client/pixi/webgl/shaders/grid/grid.d.mts +4 -4
  266. package/src/foundry/client/pixi/webgl/shaders/lighting/background-lighting.d.mts +3 -3
  267. package/src/foundry/client/pixi/webgl/shaders/lighting/base-lighting.d.mts +3 -3
  268. package/src/foundry/client/pixi/webgl/shaders/lighting/coloration-lighting.d.mts +3 -3
  269. package/src/foundry/client/pixi/webgl/shaders/lighting/darkness-lighting.d.mts +3 -3
  270. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/bewitching-wave.d.mts +5 -5
  271. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/black-hole.d.mts +3 -3
  272. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/chroma.d.mts +3 -3
  273. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/emanation.d.mts +3 -3
  274. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/energy-field.d.mts +3 -3
  275. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fairy-light.d.mts +6 -6
  276. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/flame.d.mts +5 -5
  277. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/fog.d.mts +3 -3
  278. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/force-grid.d.mts +3 -3
  279. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/ghost-light.d.mts +5 -5
  280. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/hexa-dome.d.mts +3 -3
  281. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/light-dome.d.mts +3 -3
  282. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/magical-gloom.d.mts +3 -3
  283. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/pulse.d.mts +5 -5
  284. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/radial-rainbow.d.mts +3 -3
  285. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/revolving-light.d.mts +3 -3
  286. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/roiling-mass.d.mts +3 -3
  287. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/siren-light.d.mts +5 -5
  288. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/smoke-patch.d.mts +6 -5
  289. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/star-light.d.mts +3 -3
  290. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/sunburst.d.mts +5 -5
  291. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/swirling-rainbow.d.mts +4 -3
  292. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/torch.d.mts +5 -5
  293. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/vortex.d.mts +5 -5
  294. package/src/foundry/client/pixi/webgl/shaders/lighting/effects/wave.d.mts +5 -5
  295. package/src/foundry/client/pixi/webgl/shaders/lighting/illumination-lighting.d.mts +3 -3
  296. package/src/foundry/client/pixi/webgl/shaders/region/adjust-darkness-level.d.mts +7 -7
  297. package/src/foundry/client/pixi/webgl/shaders/region/base.d.mts +4 -4
  298. package/src/foundry/client/pixi/webgl/shaders/region/highlight.d.mts +3 -3
  299. package/src/foundry/client/pixi/webgl/shaders/samplers/base-sampler.d.mts +4 -4
  300. package/src/foundry/client/pixi/webgl/shaders/samplers/baseline-illumination.d.mts +3 -3
  301. package/src/foundry/client/pixi/webgl/shaders/samplers/color-adjustment.d.mts +5 -5
  302. package/src/foundry/client/pixi/webgl/shaders/samplers/depth.d.mts +3 -3
  303. package/src/foundry/client/pixi/webgl/shaders/samplers/fog-of-war.d.mts +3 -3
  304. package/src/foundry/client/pixi/webgl/shaders/samplers/occlusion.d.mts +3 -3
  305. package/src/foundry/client/pixi/webgl/shaders/samplers/primary.d.mts +4 -4
  306. package/src/foundry/client/pixi/webgl/shaders/samplers/token-ring.d.mts +4 -6
  307. package/src/foundry/client/pixi/webgl/shaders/vision/background-vision.d.mts +3 -3
  308. package/src/foundry/client/pixi/webgl/shaders/vision/base-vision.d.mts +3 -3
  309. package/src/foundry/client/pixi/webgl/shaders/vision/coloration-vision.d.mts +3 -3
  310. package/src/foundry/client/pixi/webgl/shaders/vision/effects/amplification.d.mts +3 -3
  311. package/src/foundry/client/pixi/webgl/shaders/vision/effects/wave.d.mts +5 -5
  312. package/src/foundry/client/pixi/webgl/shaders/vision/illumination-vision.d.mts +3 -3
  313. package/src/foundry/client/pixi/webgl/shaders/weather/base-weather.d.mts +14 -15
  314. package/src/foundry/client/pixi/webgl/shaders/weather/effect.d.mts +20 -27
  315. package/src/foundry/client/pixi/webgl/shaders/weather/fog.d.mts +5 -5
  316. package/src/foundry/client/pixi/webgl/shaders/weather/rain.d.mts +5 -5
  317. package/src/foundry/client/pixi/webgl/shaders/weather/snow.d.mts +5 -5
  318. package/src/foundry/client/pixi/workers/texture-worker.d.mts +5 -5
  319. package/src/foundry/client/tours/setup-tour.d.mts +15 -10
  320. package/src/foundry/client/ui/dialog.d.mts +3 -3
  321. package/src/foundry/client/ui/dragdrop.d.mts +33 -27
  322. package/src/foundry/client/ui/editor.d.mts +29 -21
  323. package/src/foundry/client/ui/filepicker.d.mts +42 -37
  324. package/src/foundry/client/ui/filter.d.mts +60 -48
  325. package/src/foundry/client/ui/forms.d.mts +22 -22
  326. package/src/foundry/client/ui/prosemirror.d.mts +15 -7
  327. package/src/foundry/client/ui/secrets.d.mts +43 -28
  328. package/src/foundry/client/ui/tabs.d.mts +40 -33
  329. package/src/foundry/client-esm/_module.d.mts +5 -5
  330. package/src/foundry/client-esm/_types.d.mts +2 -1
  331. package/src/foundry/client-esm/applications/api/application.d.mts +93 -31
  332. package/src/foundry/client-esm/applications/api/dialog.d.mts +23 -23
  333. package/src/foundry/client-esm/applications/api/document-sheet.d.mts +85 -32
  334. package/src/foundry/client-esm/applications/api/handlebars-application.d.mts +1 -1
  335. package/src/foundry/client-esm/applications/apps/av/camera-popout.d.mts +1 -1
  336. package/src/foundry/client-esm/applications/apps/av/cameras.d.mts +2 -2
  337. package/src/foundry/client-esm/applications/apps/compendium-art-config.d.mts +4 -5
  338. package/src/foundry/client-esm/applications/apps/file-picker.d.mts +2 -2
  339. package/src/foundry/client-esm/applications/apps/grid-config.d.mts +3 -3
  340. package/src/foundry/client-esm/applications/apps/image-popout.d.mts +1 -1
  341. package/src/foundry/client-esm/applications/apps/permission-config.d.mts +1 -1
  342. package/src/foundry/client-esm/applications/dice/roll-resolver.d.mts +4 -4
  343. package/src/foundry/client-esm/applications/elements/file-picker.d.mts +1 -1
  344. package/src/foundry/client-esm/applications/elements/prosemirror-editor.d.mts +1 -1
  345. package/src/foundry/client-esm/applications/hud/drawing-hud.d.mts +1 -1
  346. package/src/foundry/client-esm/applications/hud/tile-hud.d.mts +1 -1
  347. package/src/foundry/client-esm/applications/hud/token-hud.d.mts +1 -1
  348. package/src/foundry/client-esm/applications/sheets/active-effect-config.d.mts +3 -3
  349. package/src/foundry/client-esm/applications/sheets/actor-sheet.d.mts +2 -2
  350. package/src/foundry/client-esm/applications/sheets/adventure-exporter.d.mts +3 -3
  351. package/src/foundry/client-esm/applications/sheets/adventure-importer.d.mts +3 -3
  352. package/src/foundry/client-esm/applications/sheets/ambient-light-config.d.mts +5 -5
  353. package/src/foundry/client-esm/applications/sheets/ambient-sound-config.d.mts +4 -4
  354. package/src/foundry/client-esm/applications/sheets/card-config.d.mts +3 -3
  355. package/src/foundry/client-esm/applications/sheets/cards-config.d.mts +2 -2
  356. package/src/foundry/client-esm/applications/sheets/combatant-config.d.mts +3 -3
  357. package/src/foundry/client-esm/applications/sheets/drawing-config.d.mts +3 -3
  358. package/src/foundry/client-esm/applications/sheets/folder-config.d.mts +3 -3
  359. package/src/foundry/client-esm/applications/sheets/item-sheet.d.mts +2 -2
  360. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-category-config.d.mts +3 -3
  361. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-page-sheet.d.mts +3 -3
  362. package/src/foundry/client-esm/applications/sheets/journal/journal-entry-sheet.d.mts +3 -3
  363. package/src/foundry/client-esm/applications/sheets/macro-config.d.mts +3 -3
  364. package/src/foundry/client-esm/applications/sheets/note-config.d.mts +3 -3
  365. package/src/foundry/client-esm/applications/sheets/playlist-config.d.mts +3 -3
  366. package/src/foundry/client-esm/applications/sheets/playlist-sound-config.d.mts +3 -3
  367. package/src/foundry/client-esm/applications/sheets/region-behavior-config.d.mts +3 -3
  368. package/src/foundry/client-esm/applications/sheets/region-config.d.mts +3 -3
  369. package/src/foundry/client-esm/applications/sheets/roll-table-config.d.mts +3 -3
  370. package/src/foundry/client-esm/applications/sheets/roll-table-sheet.d.mts +3 -3
  371. package/src/foundry/client-esm/applications/sheets/scene-config.d.mts +3 -3
  372. package/src/foundry/client-esm/applications/sheets/table-result-config.d.mts +3 -3
  373. package/src/foundry/client-esm/applications/sheets/template-config.d.mts +3 -3
  374. package/src/foundry/client-esm/applications/sheets/tile-config.d.mts +3 -3
  375. package/src/foundry/client-esm/applications/sheets/token/mixin.d.mts +1 -0
  376. package/src/foundry/client-esm/applications/sheets/token/token-config.d.mts +3 -3
  377. package/src/foundry/client-esm/applications/sheets/user-config.d.mts +4 -4
  378. package/src/foundry/client-esm/applications/sheets/wall-config.d.mts +3 -3
  379. package/src/foundry/client-esm/applications/sidebar/apps/chat-popout.d.mts +1 -1
  380. package/src/foundry/client-esm/applications/sidebar/sidebar-tab.d.mts +2 -2
  381. package/src/foundry/client-esm/applications/sidebar/tabs/actor-directory.d.mts +1 -1
  382. package/src/foundry/client-esm/applications/sidebar/tabs/cards-directory.d.mts +1 -1
  383. package/src/foundry/client-esm/applications/sidebar/tabs/combat-tracker.d.mts +242 -1
  384. package/src/foundry/client-esm/applications/sidebar/tabs/item-directory.d.mts +1 -1
  385. package/src/foundry/client-esm/applications/sidebar/tabs/journal-directory.d.mts +1 -1
  386. package/src/foundry/client-esm/applications/sidebar/tabs/macro-directory.d.mts +1 -1
  387. package/src/foundry/client-esm/applications/sidebar/tabs/playlist-directory.d.mts +1 -1
  388. package/src/foundry/client-esm/applications/sidebar/tabs/roll-table-directory.d.mts +1 -1
  389. package/src/foundry/client-esm/applications/sidebar/tabs/scene-directory.d.mts +1 -1
  390. package/src/foundry/client-esm/applications/ui/region-legend.d.mts +2 -2
  391. package/src/foundry/client-esm/applications/ux/context-menu.d.mts +56 -36
  392. package/src/foundry/client-esm/audio/_types.d.mts +2 -0
  393. package/src/foundry/client-esm/audio/biquad.d.mts +76 -26
  394. package/src/foundry/client-esm/audio/cache.d.mts +31 -20
  395. package/src/foundry/client-esm/audio/convolver.d.mts +47 -25
  396. package/src/foundry/client-esm/audio/helper.d.mts +124 -80
  397. package/src/foundry/client-esm/audio/sound.d.mts +202 -97
  398. package/src/foundry/client-esm/audio/timeout.d.mts +28 -12
  399. package/src/foundry/client-esm/canvas/edges/collision.d.mts +12 -4
  400. package/src/foundry/client-esm/canvas/edges/edge.d.mts +13 -8
  401. package/src/foundry/client-esm/canvas/edges/edges.d.mts +3 -2
  402. package/src/foundry/client-esm/canvas/edges/vertex.d.mts +12 -10
  403. package/src/foundry/client-esm/canvas/regions/geometry.d.mts +14 -7
  404. package/src/foundry/client-esm/canvas/regions/mesh.d.mts +25 -14
  405. package/src/foundry/client-esm/canvas/regions/polygon-tree.d.mts +50 -19
  406. package/src/foundry/client-esm/canvas/regions/shape.d.mts +45 -34
  407. package/src/foundry/client-esm/canvas/scene-manager.d.mts +7 -6
  408. package/src/foundry/client-esm/canvas/smaa/blend.d.mts +14 -3
  409. package/src/foundry/client-esm/canvas/smaa/edges.d.mts +25 -3
  410. package/src/foundry/client-esm/canvas/smaa/smaa.d.mts +119 -20
  411. package/src/foundry/client-esm/canvas/smaa/weights.d.mts +26 -3
  412. package/src/foundry/client-esm/canvas/sources/base-effect-source.d.mts +69 -39
  413. package/src/foundry/client-esm/canvas/sources/base-light-source.d.mts +66 -40
  414. package/src/foundry/client-esm/canvas/sources/global-light-source.d.mts +78 -19
  415. package/src/foundry/client-esm/canvas/sources/point-darkness-source.d.mts +37 -20
  416. package/src/foundry/client-esm/canvas/sources/point-effect-source.d.mts +39 -20
  417. package/src/foundry/client-esm/canvas/sources/point-light-source.d.mts +41 -12
  418. package/src/foundry/client-esm/canvas/sources/point-movement-source.d.mts +15 -4
  419. package/src/foundry/client-esm/canvas/sources/point-sound-source.d.mts +29 -14
  420. package/src/foundry/client-esm/canvas/sources/point-vision-source.d.mts +84 -39
  421. package/src/foundry/client-esm/canvas/sources/rendered-effect-source.d.mts +115 -41
  422. package/src/foundry/client-esm/canvas/tokens/ring-config.d.mts +83 -21
  423. package/src/foundry/client-esm/canvas/tokens/ring-data.d.mts +66 -93
  424. package/src/foundry/client-esm/canvas/tokens/ring.d.mts +146 -51
  425. package/src/foundry/client-esm/client.d.mts +16 -16
  426. package/src/foundry/client-esm/data/_module.d.mts +1 -1
  427. package/src/foundry/client-esm/data/calendar.d.mts +26 -39
  428. package/src/foundry/client-esm/data/client-backend.d.mts +6 -6
  429. package/src/foundry/client-esm/data/region-behaviors/adjust-darkness-level.d.mts +1 -1
  430. package/src/foundry/client-esm/data/region-behaviors/base.d.mts +5 -5
  431. package/src/foundry/client-esm/data/region-behaviors/display-scrolling-text.d.mts +2 -2
  432. package/src/foundry/client-esm/data/terrain-data.d.mts +1 -1
  433. package/src/foundry/client-esm/dice/parser.d.mts +5 -27
  434. package/src/foundry/client-esm/dice/roll.d.mts +63 -80
  435. package/src/foundry/client-esm/dice/terms/coin.d.mts +4 -8
  436. package/src/foundry/client-esm/dice/terms/dice.d.mts +85 -64
  437. package/src/foundry/client-esm/dice/terms/die.d.mts +7 -7
  438. package/src/foundry/client-esm/dice/terms/fate.d.mts +5 -5
  439. package/src/foundry/client-esm/dice/terms/function.d.mts +13 -16
  440. package/src/foundry/client-esm/dice/terms/numeric.d.mts +2 -4
  441. package/src/foundry/client-esm/dice/terms/operator.d.mts +1 -1
  442. package/src/foundry/client-esm/dice/terms/parenthetical.d.mts +8 -9
  443. package/src/foundry/client-esm/dice/terms/pool.d.mts +13 -28
  444. package/src/foundry/client-esm/dice/terms/string.d.mts +3 -3
  445. package/src/foundry/client-esm/dice/terms/term.d.mts +10 -5
  446. package/src/foundry/client-esm/dice/twister.d.mts +3 -3
  447. package/src/foundry/client-esm/documents/_module.d.mts +1 -1
  448. package/src/foundry/client-esm/helpers/_types.d.mts +12 -46
  449. package/src/foundry/client-esm/helpers/compendium-art.d.mts +57 -4
  450. package/src/foundry/client-esm/packages/_module.d.mts +1 -1
  451. package/src/foundry/client-esm/packages/_types.d.mts +2 -0
  452. package/src/foundry/client-esm/utils/_module.d.mts +1 -1
  453. package/src/foundry/client-esm/utils/_types.d.mts +2 -1
  454. package/src/foundry/common/_types.d.mts +1 -1
  455. package/src/foundry/common/abstract/_module.d.mts +1 -0
  456. package/src/foundry/common/abstract/_types.d.mts +60 -54
  457. package/src/foundry/common/abstract/backend.d.mts +28 -16
  458. package/src/foundry/common/abstract/data.d.mts +133 -116
  459. package/src/foundry/common/abstract/document.d.mts +1233 -440
  460. package/src/foundry/common/abstract/embedded-collection.d.mts +2 -2
  461. package/src/foundry/common/abstract/singleton-collection.d.mts +1 -1
  462. package/src/foundry/common/abstract/type-data.d.mts +35 -43
  463. package/src/foundry/common/config.d.mts +3 -3
  464. package/src/foundry/common/constants.d.mts +27 -26
  465. package/src/foundry/common/data/_types.d.mts +2 -0
  466. package/src/foundry/common/data/data.d.mts +189 -87
  467. package/src/foundry/common/data/fields.d.mts +579 -258
  468. package/src/foundry/common/data/validation-failure.d.mts +9 -4
  469. package/src/foundry/common/documents/_types.d.mts +16 -9
  470. package/src/foundry/common/documents/active-effect.d.mts +280 -180
  471. package/src/foundry/common/documents/actor-delta.d.mts +317 -70
  472. package/src/foundry/common/documents/actor.d.mts +304 -103
  473. package/src/foundry/common/documents/adventure.d.mts +254 -140
  474. package/src/foundry/common/documents/ambient-light.d.mts +267 -76
  475. package/src/foundry/common/documents/ambient-sound.d.mts +267 -110
  476. package/src/foundry/common/documents/card.d.mts +267 -176
  477. package/src/foundry/common/documents/cards.d.mts +299 -128
  478. package/src/foundry/common/documents/chat-message.d.mts +276 -160
  479. package/src/foundry/common/documents/combat.d.mts +300 -91
  480. package/src/foundry/common/documents/combatant.d.mts +283 -88
  481. package/src/foundry/common/documents/drawing.d.mts +286 -207
  482. package/src/foundry/common/documents/fog-exploration.d.mts +258 -72
  483. package/src/foundry/common/documents/folder.d.mts +248 -85
  484. package/src/foundry/common/documents/item.d.mts +305 -101
  485. package/src/foundry/common/documents/journal-entry-page.d.mts +279 -190
  486. package/src/foundry/common/documents/journal-entry.d.mts +294 -70
  487. package/src/foundry/common/documents/macro.d.mts +254 -134
  488. package/src/foundry/common/documents/measured-template.d.mts +293 -137
  489. package/src/foundry/common/documents/note.d.mts +274 -151
  490. package/src/foundry/common/documents/playlist-sound.d.mts +260 -96
  491. package/src/foundry/common/documents/playlist.d.mts +279 -122
  492. package/src/foundry/common/documents/region-behavior.d.mts +305 -64
  493. package/src/foundry/common/documents/region.d.mts +309 -90
  494. package/src/foundry/common/documents/roll-table.d.mts +286 -104
  495. package/src/foundry/common/documents/scene.d.mts +276 -344
  496. package/src/foundry/common/documents/setting.d.mts +229 -55
  497. package/src/foundry/common/documents/table-result.d.mts +267 -96
  498. package/src/foundry/common/documents/tile.d.mts +301 -172
  499. package/src/foundry/common/documents/token.d.mts +350 -452
  500. package/src/foundry/common/documents/user.d.mts +256 -146
  501. package/src/foundry/common/documents/wall.d.mts +272 -157
  502. package/src/foundry/common/grid/_types.d.mts +2 -0
  503. package/src/foundry/common/grid/base.d.mts +58 -37
  504. package/src/foundry/common/grid/hexagonal.d.mts +19 -19
  505. package/src/foundry/common/grid/square.d.mts +1 -1
  506. package/src/foundry/common/packages/_module.d.mts +5 -5
  507. package/src/foundry/common/packages/_types.d.mts +2 -0
  508. package/src/foundry/common/packages/base-module.d.mts +6 -24
  509. package/src/foundry/common/packages/base-package.d.mts +18 -16
  510. package/src/foundry/common/packages/base-system.d.mts +6 -78
  511. package/src/foundry/common/packages/base-world.d.mts +7 -60
  512. package/src/foundry/common/packages/sub-types.d.mts +1 -1
  513. package/src/foundry/common/primitives/array.d.mts +3 -3
  514. package/src/foundry/common/primitives/math.d.mts +7 -1
  515. package/src/foundry/common/primitives/number.d.mts +1 -1
  516. package/src/foundry/common/primitives/set.d.mts +17 -14
  517. package/src/foundry/common/prosemirror/_types.d.mts +2 -0
  518. package/src/foundry/common/prosemirror/dropdown.d.mts +1 -1
  519. package/src/foundry/common/prosemirror/highlight-matches-plugin.d.mts +1 -1
  520. package/src/foundry/common/prosemirror/menu.d.mts +3 -3
  521. package/src/foundry/common/prosemirror/plugin.d.mts +1 -1
  522. package/src/foundry/common/prosemirror/schema/index.d.mts +0 -1
  523. package/src/foundry/common/prosemirror/util.d.mts +1 -1
  524. package/src/foundry/common/utils/bitmask.d.mts +4 -1
  525. package/src/foundry/common/utils/collection.d.mts +59 -24
  526. package/src/foundry/common/utils/event-emitter.d.mts +46 -19
  527. package/src/foundry/common/utils/helpers.d.mts +13 -13
  528. package/src/foundry/common/utils/http.d.mts +2 -2
  529. package/src/foundry/common/utils/string-tree.d.mts +45 -39
  530. package/src/foundry/common/utils/word-tree.d.mts +10 -23
  531. package/src/tsconfig.json +1 -5
  532. package/src/types/augments/pixi.d.mts +28 -28
  533. package/src/types/config.d.mts +12 -12
  534. package/src/types/documentConfiguration.d.mts +282 -597
  535. package/src/types/lib.d.mts +4 -4
  536. package/src/types/workers/image-compressor.d.mts +1 -1
  537. package/src/utils/index.d.mts +255 -60
  538. package/tsconfig.json +29 -0
  539. package/tsconfig.main.json +8 -0
  540. package/tsconfig.miscellaneous.json +16 -0
  541. package/src/foundry/client/apps/placeables/light-config.d.mts +0 -100
  542. package/src/foundry/client/apps/placeables/sound-config.d.mts +0 -44
  543. package/src/foundry/common/documents/module.d.mts +0 -35
@@ -1,42 +1,446 @@
1
- import type { InexactPartial } from "fvtt-types/utils";
2
- import type Document from "../../../common/abstract/document.d.mts";
3
- import type BaseUser from "../../../common/documents/user.d.mts";
1
+ import type { ConfiguredDocumentClass } from "../../../../types/documentConfiguration.d.mts";
2
+ import type { AnyObject, FixedInstanceType, InexactPartial, Merge, NullishProps } from "fvtt-types/utils";
3
+ import type Document from "#common/abstract/document.d.mts";
4
+ import type { DataSchema } from "#common/data/fields.d.mts";
5
+ import type { BaseActor } from "#common/documents/_module.d.mts";
6
+
7
+ import fields = foundry.data.fields;
4
8
 
5
9
  declare global {
6
10
  namespace User {
7
- type Metadata = Document.MetadataFor<User>;
11
+ /**
12
+ * The document's name.
13
+ */
14
+ type Name = "User";
8
15
 
9
- type ConfiguredClass = Document.ConfiguredClassForName<"User">;
10
- type ConfiguredInstance = Document.ConfiguredInstanceForName<"User">;
16
+ /**
17
+ * The arguments to construct the document.
18
+ */
19
+ type ConstructorArgs = Document.ConstructorParameters<CreateData, Parent>;
11
20
 
12
- interface DatabaseOperations extends Document.Database.Operations<User> {}
21
+ /**
22
+ * The documents embedded within `User`.
23
+ */
24
+ type Hierarchy = Readonly<Document.HierarchyOf<Schema>>;
13
25
 
14
- // Helpful aliases
15
- type ConstructorData = BaseUser.ConstructorData;
16
- type UpdateData = BaseUser.UpdateData;
17
- type Schema = BaseUser.Schema;
18
- type Source = BaseUser.Source;
26
+ /**
27
+ * The implementation of the `User` document instance configured through `CONFIG.User.documentClass` in Foundry and
28
+ * {@link DocumentClassConfig | `DocumentClassConfig`} or {@link ConfiguredUser | `fvtt-types/configuration/ConfiguredUser`} in fvtt-types.
29
+ */
30
+ type Implementation = Document.ImplementationFor<Name>;
31
+
32
+ /**
33
+ * The implementation of the `User` document configured through `CONFIG.User.documentClass` in Foundry and
34
+ * {@link DocumentClassConfig | `DocumentClassConfig`} in fvtt-types.
35
+ */
36
+ type ImplementationClass = Document.ImplementationClassFor<Name>;
19
37
 
20
- interface PingData {
38
+ /**
39
+ * A document's metadata is special information about the document ranging anywhere from its name,
40
+ * whether it's indexed, or to the permissions a user has over it.
41
+ */
42
+ interface Metadata
43
+ extends Merge<
44
+ Document.Metadata.Default,
45
+ Readonly<{
46
+ name: "User";
47
+ collection: "users";
48
+ label: string;
49
+ labelPlural: string;
50
+ permissions: Metadata.Permissions;
51
+ schemaVersion: string;
52
+ }>
53
+ > {}
54
+
55
+ namespace Metadata {
21
56
  /**
22
- * Pulls all connected clients' views to the pinged co-ordinates.
57
+ * The permissions for whether a certain user can create, update, or delete this document.
23
58
  */
24
- pull?: false | undefined;
59
+ interface Permissions {
60
+ create(user: Internal.Implementation, doc: Internal.Implementation, data: UpdateData): boolean;
61
+ update(user: Internal.Implementation, doc: Internal.Implementation, changes: UpdateData): boolean;
62
+ delete(user: Internal.Implementation, doc: Internal.Implementation): boolean;
63
+ }
64
+ }
65
+
66
+ /**
67
+ * A document's parent is something that can contain it.
68
+ * For example an `Item` can be contained by an `Actor` which makes `Actor` one of its possible parents.
69
+ */
70
+ type Parent = null;
71
+
72
+ /**
73
+ * A document's descendants are any child documents, grandchild documents, etc.
74
+ * This is a union of all instances, or never if the document doesn't have any descendants.
75
+ */
76
+ type Descendant = never;
77
+
78
+ /**
79
+ * A document's descendants are any child documents, grandchild documents, etc.
80
+ * This is a union of all classes, or never if the document doesn't have any descendants.
81
+ */
82
+ type DescendantClass = never;
25
83
 
84
+ /**
85
+ * Types of `CompendiumCollection` this document might be contained in.
86
+ * Note that `this.pack` will always return a string; this is the type for `game.packs.get(this.pack)`
87
+ */
88
+ // Note: Takes any document in the heritage chain (i.e. itself or any parent, transitive or not) that can be contained in a compendium.
89
+ type Pack = never;
90
+
91
+ /**
92
+ * An embedded document is a document contained in another.
93
+ * For example an `Item` can be contained by an `Actor` which means `Item` can be embedded in `Actor`.
94
+ *
95
+ * If this is `never` it is because there are no embeddable documents (or there's a bug!).
96
+ */
97
+ type Embedded = never;
98
+
99
+ /**
100
+ * The name of the world or embedded collection this document can find itself in.
101
+ * For example an `Item` is always going to be inside a collection with a key of `items`.
102
+ * This is a fixed string per document type and is primarily useful for {@link ClientDocumentMixin | `Descendant Document Events`}.
103
+ */
104
+ type ParentCollectionName = Metadata["collection"];
105
+
106
+ /**
107
+ * The world collection that contains `User`s. Will be `never` if none exists.
108
+ */
109
+ type CollectionClass = Users.ConfiguredClass;
110
+
111
+ /**
112
+ * The world collection that contains `User`s. Will be `never` if none exists.
113
+ */
114
+ type Collection = Users.Configured;
115
+
116
+ /**
117
+ * An instance of `User` that comes from the database but failed validation meaining that
118
+ * its `system` and `_source` could theoretically be anything.
119
+ */
120
+ interface Invalid extends Document.Invalid<User.Implementation> {}
121
+
122
+ /**
123
+ * An instance of `User` that comes from the database.
124
+ */
125
+ interface Stored extends Document.Stored<User.Implementation> {}
126
+
127
+ /**
128
+ * The data put in {@link User._source | `User#_source`}. This data is what was
129
+ * persisted to the database and therefore it must be valid JSON.
130
+ *
131
+ * For example a {@link fields.SetField | `SetField`} is persisted to the database as an array
132
+ * but initialized as a {@link Set | `Set`}.
133
+ */
134
+ interface Source extends fields.SchemaField.SourceData<Schema> {}
135
+
136
+ /**
137
+ * @deprecated {@link User.Source | `User.Source`}
138
+ */
139
+ type PersistedData = Source;
140
+
141
+ /**
142
+ * The data necessary to create a document. Used in places like {@link User.create | `User.create`}
143
+ * and {@link User | `new User(...)`}.
144
+ *
145
+ * For example a {@link fields.SetField | `SetField`} can accept any {@link Iterable | `Iterable`}
146
+ * with the right values. This means you can pass a `Set` instance, an array of values,
147
+ * a generator, or any other iterable.
148
+ */
149
+ interface CreateData extends fields.SchemaField.CreateData<Schema> {}
150
+
151
+ /**
152
+ * The data after a {@link Document | `Document`} has been initialized, for example
153
+ * {@link User.name | `User#name`}.
154
+ *
155
+ * This is data transformed from {@link User.Source | `User.Source`} and turned into more
156
+ * convenient runtime data structures. For example a {@link fields.SetField | `SetField`} is
157
+ * persisted to the database as an array of values but at runtime it is a `Set` instance.
158
+ */
159
+ interface InitializedData extends fields.SchemaField.InitializedData<Schema> {}
160
+
161
+ /**
162
+ * The data used to update a document, for example {@link User.update | `User#update`}.
163
+ * It is a distinct type from {@link User.CreateData | `DeepPartial<User.CreateData>`} because
164
+ * it has different rules for `null` and `undefined`.
165
+ */
166
+ interface UpdateData extends fields.SchemaField.UpdateData<Schema> {}
167
+
168
+ /**
169
+ * The schema for {@link User | `User`}. This is the source of truth for how an User document
170
+ * must be structured.
171
+ *
172
+ * Foundry uses this schema to validate the structure of the {@link User | `User`}. For example
173
+ * a {@link fields.StringField | `StringField`} will enforce that the value is a string. More
174
+ * complex fields like {@link fields.SetField | `SetField`} goes through various conversions
175
+ * starting as an array in the database, initialized as a set, and allows updates with any
176
+ * iterable.
177
+ */
178
+ interface Schema extends DataSchema {
26
179
  /**
27
- * The ping style, see CONFIG.Canvas.pings.
180
+ * The _id which uniquely identifies this User document.
181
+ * @defaultValue `null`
28
182
  */
29
- style: string;
183
+ _id: fields.DocumentIdField;
30
184
 
31
185
  /**
32
- * The ID of the scene that was pinged.
186
+ * The user's name.
33
187
  */
34
- scene: string;
188
+ name: fields.StringField<{ required: true; blank: false; textSearch: true }, string>;
189
+
190
+ /**
191
+ * The user's role, see CONST.USER_ROLES.
192
+ * @defaultValue `CONST.USER_ROLES.PLAYER`
193
+ */
194
+ role: fields.NumberField<
195
+ {
196
+ required: true;
197
+ choices: CONST.USER_ROLES[];
198
+ initial: typeof CONST.USER_ROLES.PLAYER;
199
+ readonly: true;
200
+ },
201
+ CONST.USER_ROLES | null | undefined,
202
+ CONST.USER_ROLES,
203
+ CONST.USER_ROLES
204
+ >;
205
+
206
+ /**
207
+ * The user's password. Available only on the Server side for security.
208
+ * @defaultValue `""`
209
+ */
210
+ password: fields.StringField<{ required: true; blank: true }>;
211
+
212
+ /**
213
+ * The user's password salt. Available only on the Server side for security.
214
+ * @defaultValue `""`
215
+ */
216
+ passwordSalt: fields.StringField;
217
+
218
+ /**
219
+ * The user's avatar image.
220
+ * @defaultValue `null`
221
+ */
222
+ avatar: fields.FilePathField<{ categories: "IMAGE"[] }>;
223
+
224
+ /**
225
+ * A linked Actor document that is this user's impersonated character.
226
+ * @defaultValue `null`
227
+ */
228
+ character: fields.ForeignDocumentField<typeof BaseActor>;
229
+
230
+ /**
231
+ * A color to represent this user.
232
+ * @defaultValue a randomly chosen color string
233
+ */
234
+ color: fields.ColorField<{ required: true; nullable: false; initial: () => string }>;
235
+
236
+ /**
237
+ *
238
+ */
239
+ pronouns: fields.StringField<{ required: true }>;
240
+
241
+ /**
242
+ * A mapping of hotbar slot number to Macro id for the user.
243
+ * @defaultValue `{}`
244
+ */
245
+ hotbar: fields.ObjectField<
246
+ {
247
+ required: true;
248
+ validate: (bar: AnyObject) => boolean;
249
+ validationError: "must be a mapping of slots to macro identifiers";
250
+ },
251
+ Record<number, string>,
252
+ Record<number, string>,
253
+ Record<number, string>
254
+ >;
255
+
256
+ /**
257
+ * The user's individual permission configuration, see CONST.USER_PERMISSIONS.
258
+ * @defaultValue `{}`
259
+ */
260
+ permissions: fields.ObjectField<
261
+ {
262
+ required: true;
263
+ validate: (perms: AnyObject) => boolean;
264
+ validationError: "must be a mapping of permission names to booleans";
265
+ },
266
+ InexactPartial<Permissions> | null | undefined,
267
+ InexactPartial<Permissions>,
268
+ InexactPartial<Permissions>
269
+ >;
35
270
 
271
+ /**
272
+ * An object of optional key/value flags.
273
+ * @defaultValue `{}`
274
+ */
275
+ flags: fields.ObjectField.FlagsField<Name>;
276
+
277
+ /**
278
+ * An object of creation and access information
279
+ * @defaultValue see {@link fields.DocumentStatsField | `fields.DocumentStatsField`}
280
+ */
281
+ _stats: fields.DocumentStatsField;
282
+ }
283
+
284
+ namespace Database {
285
+ /** Options passed along in Get operations for Users */
286
+ interface Get extends foundry.abstract.types.DatabaseGetOperation<User.Parent> {}
287
+
288
+ /** Options passed along in Create operations for Users */
289
+ interface Create<Temporary extends boolean | undefined = boolean | undefined>
290
+ extends foundry.abstract.types.DatabaseCreateOperation<User.CreateData, User.Parent, Temporary> {}
291
+
292
+ /** Options passed along in Delete operations for Users */
293
+ interface Delete extends foundry.abstract.types.DatabaseDeleteOperation<User.Parent> {}
294
+
295
+ /** Options passed along in Update operations for Users */
296
+ interface Update extends foundry.abstract.types.DatabaseUpdateOperation<User.UpdateData, User.Parent> {}
297
+
298
+ /** Operation for {@link User.createDocuments | `User.createDocuments`} */
299
+ interface CreateDocumentsOperation<Temporary extends boolean | undefined>
300
+ extends Document.Database.CreateOperation<User.Database.Create<Temporary>> {}
301
+
302
+ /** Operation for {@link User.updateDocuments | `User.updateDocuments`} */
303
+ interface UpdateDocumentsOperation extends Document.Database.UpdateDocumentsOperation<User.Database.Update> {}
304
+
305
+ /** Operation for {@link User.deleteDocuments | `User.deleteDocuments`} */
306
+ interface DeleteDocumentsOperation extends Document.Database.DeleteDocumentsOperation<User.Database.Delete> {}
307
+
308
+ /** Operation for {@link User.create | `User.create`} */
309
+ interface CreateOperation<Temporary extends boolean | undefined>
310
+ extends Document.Database.CreateOperation<User.Database.Create<Temporary>> {}
311
+
312
+ /** Operation for {@link User.update | `User#update`} */
313
+ interface UpdateOperation extends Document.Database.UpdateOperation<Update> {}
314
+
315
+ interface DeleteOperation extends Document.Database.DeleteOperation<Delete> {}
316
+
317
+ /** Options for {@link User.get | `User.get`} */
318
+ interface GetOptions extends Document.Database.GetOptions {}
319
+
320
+ /** Options for {@link User._preCreate | `User#_preCreate`} */
321
+ interface PreCreateOptions extends Document.Database.PreCreateOptions<Create> {}
322
+
323
+ /** Options for {@link User._onCreate | `User#_onCreate`} */
324
+ interface OnCreateOptions extends Document.Database.CreateOptions<Create> {}
325
+
326
+ /** Operation for {@link User._preCreateOperation | `User._preCreateOperation`} */
327
+ interface PreCreateOperation extends Document.Database.PreCreateOperationStatic<User.Database.Create> {}
328
+
329
+ /** Operation for {@link User._onCreateOperation | `User#_onCreateOperation`} */
330
+ interface OnCreateOperation extends User.Database.Create {}
331
+
332
+ /** Options for {@link User._preUpdate | `User#_preUpdate`} */
333
+ interface PreUpdateOptions extends Document.Database.PreUpdateOptions<Update> {}
334
+
335
+ /** Options for {@link User._onUpdate | `User#_onUpdate`} */
336
+ interface OnUpdateOptions extends Document.Database.UpdateOptions<Update> {}
337
+
338
+ /** Operation for {@link User._preUpdateOperation | `User._preUpdateOperation`} */
339
+ interface PreUpdateOperation extends User.Database.Update {}
340
+
341
+ /** Operation for {@link User._onUpdateOperation | `User._preUpdateOperation`} */
342
+ interface OnUpdateOperation extends User.Database.Update {}
343
+
344
+ /** Options for {@link User._preDelete | `User#_preDelete`} */
345
+ interface PreDeleteOptions extends Document.Database.PreDeleteOperationInstance<Delete> {}
346
+
347
+ /** Options for {@link User._onDelete | `User#_onDelete`} */
348
+ interface OnDeleteOptions extends Document.Database.DeleteOptions<Delete> {}
349
+
350
+ /** Options for {@link User._preDeleteOperation | `User#_preDeleteOperation`} */
351
+ interface PreDeleteOperation extends User.Database.Delete {}
352
+
353
+ /** Options for {@link User._onDeleteOperation | `User#_onDeleteOperation`} */
354
+ interface OnDeleteOperation extends User.Database.Delete {}
355
+
356
+ /** Context for {@link User._onDeleteOperation | `User._onDeleteOperation`} */
357
+ interface OnDeleteDocumentsContext extends Document.ModificationContext<User.Parent> {}
358
+
359
+ /** Context for {@link User._onCreateDocuments | `User._onCreateDocuments`} */
360
+ interface OnCreateDocumentsContext extends Document.ModificationContext<User.Parent> {}
361
+
362
+ /** Context for {@link User._onUpdateDocuments | `User._onUpdateDocuments`} */
363
+ interface OnUpdateDocumentsContext extends Document.ModificationContext<User.Parent> {}
364
+
365
+ /**
366
+ * Options for {@link User._preCreateDescendantDocuments | `User#_preCreateDescendantDocuments`}
367
+ * and {@link User._onCreateDescendantDocuments | `User#_onCreateDescendantDocuments`}
368
+ */
369
+ interface CreateOptions extends Document.Database.CreateOptions<User.Database.Create> {}
370
+
371
+ /**
372
+ * Options for {@link User._preUpdateDescendantDocuments | `User#_preUpdateDescendantDocuments`}
373
+ * and {@link User._onUpdateDescendantDocuments | `User#_onUpdateDescendantDocuments`}
374
+ */
375
+ interface UpdateOptions extends Document.Database.UpdateOptions<User.Database.Update> {}
376
+
377
+ /**
378
+ * Options for {@link User._preDeleteDescendantDocuments | `User#_preDeleteDescendantDocuments`}
379
+ * and {@link User._onDeleteDescendantDocuments | `User#_onDeleteDescendantDocuments`}
380
+ */
381
+ interface DeleteOptions extends Document.Database.DeleteOptions<User.Database.Delete> {}
382
+ }
383
+
384
+ /**
385
+ * The flags that are available for this document in the form `{ [scope: string]: { [key: string]: unknown } }`.
386
+ */
387
+ interface Flags extends Document.ConfiguredFlagsForName<Name> {}
388
+
389
+ namespace Flags {
390
+ /**
391
+ * The valid scopes for the flags on this document e.g. `"core"` or `"dnd5e"`.
392
+ */
393
+ type Scope = Document.FlagKeyOf<Flags>;
394
+
395
+ /**
396
+ * The valid keys for a certain scope for example if the scope is "core" then a valid key may be `"sheetLock"` or `"viewMode"`.
397
+ */
398
+ type Key<Scope extends Flags.Scope> = Document.FlagKeyOf<Document.FlagGetKey<Flags, Scope>>;
399
+
400
+ /**
401
+ * Gets the type of a particular flag given a `Scope` and a `Key`.
402
+ */
403
+ type Get<Scope extends Flags.Scope, Key extends Flags.Key<Scope>> = Document.GetFlag<Name, Scope, Key>;
404
+ }
405
+
406
+ // Note(LukeAbby): This namespace exists to break cycles because of extensive usage of `User` in
407
+ // the `Document` class itself.
408
+ namespace Internal {
409
+ type ImplementationClass = ConfiguredDocumentClass["User"];
410
+ type Implementation = FixedInstanceType<ConfiguredDocumentClass["User"]>;
411
+ }
412
+
413
+ /** @internal */
414
+ type _PingData = InexactPartial<{
36
415
  /**
37
416
  * The zoom level at which the ping was made.
417
+ * @defaultValue `1`
418
+ * @remarks Can't be `null` because it only has a parameter default and is eventually used as a divisor in `Canvas#_constrainView`
38
419
  */
39
420
  zoom: number;
421
+ }> &
422
+ NullishProps<{
423
+ /**
424
+ * Pulls all connected clients' views to the pinged co-ordinates.
425
+ */
426
+ pull: boolean;
427
+
428
+ /**
429
+ * The ping style, see CONFIG.Canvas.pings.
430
+ * @defaultValue `"pulse"`
431
+ * @remarks Overriden with `"arrow"` if the position of the ping is outside the viewport
432
+ *
433
+ * Overridden with `CONFIG.Canvas.pings.types.PULL` (`"chevron"` by default) if photosensitive mode is enabled and the ping is within the viewport
434
+ */
435
+ style: Ping.ConfiguredStyles;
436
+ }>;
437
+
438
+ /** @privateRemarks Only consumed by {@link ControlsLayer#handlePing} */
439
+ interface PingData extends _PingData {
440
+ /**
441
+ * The ID of the scene that was pinged.
442
+ */
443
+ scene: string;
40
444
  }
41
445
 
42
446
  interface ActivityData {
@@ -59,21 +463,52 @@ declare global {
59
463
  ping: PingData;
60
464
 
61
465
  /** The state of the user's AV settings. */
62
- av: AVSettingsData;
466
+ av: AVSettings.Data;
467
+ }
468
+
469
+ interface HasRoleOptions {
470
+ /**
471
+ * Require the role match to be exact
472
+ * @defaultValue `false`
473
+ */
474
+ exact?: boolean | undefined;
63
475
  }
476
+
477
+ /**
478
+ * @deprecated {@link User.Database | `User.DatabaseOperation`}
479
+ */
480
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
481
+ interface DatabaseOperations extends Document.Database.Operations<User.Implementation> {}
482
+
483
+ /**
484
+ * @deprecated {@link User.CreateData | `User.CreateData`}
485
+ */
486
+ interface ConstructorData extends User.CreateData {}
487
+
488
+ /**
489
+ * @deprecated {@link User.implementation | `User.ImplementationClass`}
490
+ */
491
+ type ConfiguredClass = ImplementationClass;
492
+
493
+ /**
494
+ * @deprecated {@link User.Implementation | `User.Implementation`}
495
+ */
496
+ type ConfiguredInstance = Implementation;
64
497
  }
65
498
 
66
499
  /**
67
500
  * The client-side User document which extends the common BaseUser model.
68
501
  * Each User document contains UserData which defines its data schema.
69
502
  *
70
- * @see {@link Users} The world-level collection of User documents
71
- * @see {@link UserConfig} The User configuration application
503
+ * @see {@link Users | `Users`} The world-level collection of User documents
504
+ * @see {@link UserConfig | `UserConfig`} The User configuration application
72
505
  */
73
506
  class User extends ClientDocumentMixin(foundry.documents.BaseUser) {
74
- static override metadata: User.Metadata;
75
-
76
- static get implementation(): User.ConfiguredClass;
507
+ /**
508
+ * @param data - Initial data from which to construct the `User`
509
+ * @param context - Construction context options
510
+ */
511
+ constructor(...args: User.ConstructorArgs);
77
512
 
78
513
  /**
79
514
  * Track whether the user is currently active in the game
@@ -112,7 +547,7 @@ declare global {
112
547
  * @returns A Promise which resolves once the User update is complete
113
548
  */
114
549
  assignHotbarMacro(
115
- macro: Macro.ConfiguredInstance | null,
550
+ macro: Macro.Implementation | null,
116
551
  slot: string | number,
117
552
  { fromSlot }?: InexactPartial<{ fromSlot: number }>,
118
553
  ): Promise<this>;
@@ -148,7 +583,7 @@ declare global {
148
583
  * @param page - The hotbar page number
149
584
  * (default: `1`)
150
585
  */
151
- getHotbarMacros(page?: number): Array<{ slot: number; macro: Macro.ConfiguredInstance | null }>;
586
+ getHotbarMacros(page?: number): Array<{ slot: number; macro: Macro.Implementation | null }>;
152
587
 
153
588
  /**
154
589
  * Update the set of Token targets for the user given an array of provided Token ids.
@@ -161,5 +596,38 @@ declare global {
161
596
  * @privateRemarks _onUpdate and _onDelete are overridden but with no signature changes.
162
597
  * For type simplicity they are left off. These methods historically have been the source of a large amount of computation from tsc.
163
598
  */
599
+
600
+ /*
601
+ * After this point these are not really overridden methods.
602
+ * They are here because Foundry's documents are complex and have lots of edge cases.
603
+ * There are DRY ways of representing this but this ends up being harder to understand
604
+ * for end users extending these functions, especially for static methods. There are also a
605
+ * number of methods that don't make sense to call directly on `Document` like `createDocuments`,
606
+ * as there is no data that can safely construct every possible document. Finally keeping definitions
607
+ * separate like this helps against circularities.
608
+ */
609
+
610
+ // ClientDocument overrides
611
+
612
+ // Descendant Document operations have been left out because User does not have any descendant documents.
613
+
614
+ static override defaultName(context?: Document.DefaultNameContext<string, User.Parent>): string;
615
+
616
+ static override createDialog(
617
+ data?: Document.CreateDialogData<User.CreateData>,
618
+ context?: Document.CreateDialogContext<string, User.Parent>,
619
+ ): Promise<User.Stored | null | undefined>;
620
+
621
+ static override fromDropData(
622
+ data: Document.DropData<User.Implementation>,
623
+ options?: Document.FromDropDataOptions,
624
+ ): Promise<User.Implementation | undefined>;
625
+
626
+ static override fromImport(
627
+ source: User.Source,
628
+ context?: Document.FromImportContext<User.Parent>,
629
+ ): Promise<User.Implementation>;
630
+
631
+ // Embedded document operations have been left out because User does not have any embedded documents.
164
632
  }
165
633
  }