@league-of-foundry-developers/foundry-vtt-types 9.255.1 → 9.268.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/README.md +5 -4
  2. package/package.json +3 -2
  3. package/src/foundry/common/data/data.mjs/index.d.ts +0 -1
  4. package/src/foundry/common/types.mjs.d.ts +4 -4
  5. package/src/foundry/common/utils/helpers.mjs.d.ts +1 -0
  6. package/src/foundry/foundry.js/application.d.ts +0 -1
  7. package/src/foundry/foundry.js/applications/basePlaceableHUDs/tokenHUD.d.ts +7 -3
  8. package/src/foundry/foundry.js/applications/cameraViews.d.ts +3 -3
  9. package/src/foundry/foundry.js/applications/chatPopout.d.ts +1 -1
  10. package/src/foundry/foundry.js/applications/compendium.d.ts +20 -11
  11. package/src/foundry/foundry.js/applications/controlsReference.d.ts +17 -2
  12. package/src/foundry/foundry.js/applications/dialog.d.ts +14 -29
  13. package/src/foundry/foundry.js/applications/filePicker.d.ts +67 -75
  14. package/src/foundry/foundry.js/applications/formApplication.d.ts +7 -2
  15. package/src/foundry/foundry.js/applications/formApplications/avConfig.d.ts +19 -58
  16. package/src/foundry/foundry.js/applications/formApplications/combatTrackerConfig.d.ts +2 -4
  17. package/src/foundry/foundry.js/applications/formApplications/{entitySheetConfig.d.ts → documentSheetConfig.d.ts} +36 -19
  18. package/src/foundry/foundry.js/applications/formApplications/documentSheets/ambientLightConfig.d.ts +1 -4
  19. package/src/foundry/foundry.js/applications/formApplications/documentSheets/ambientSoundConfig.d.ts +2 -4
  20. package/src/foundry/foundry.js/applications/formApplications/documentSheets/cardConfig.d.ts +51 -0
  21. package/src/foundry/foundry.js/applications/formApplications/documentSheets/cardsConfig.d.ts +88 -0
  22. package/src/foundry/foundry.js/applications/formApplications/documentSheets/cardsConfigs/cardsHand.d.ts +20 -0
  23. package/src/foundry/foundry.js/applications/formApplications/documentSheets/cardsConfigs/cardsPile.d.ts +20 -0
  24. package/src/foundry/foundry.js/applications/formApplications/documentSheets/cardsConfigs/index.d.ts +2 -0
  25. package/src/foundry/foundry.js/applications/formApplications/documentSheets/combatantConfig.d.ts +2 -4
  26. package/src/foundry/foundry.js/applications/formApplications/documentSheets/folderConfig.d.ts +17 -11
  27. package/src/foundry/foundry.js/applications/formApplications/documentSheets/index.d.ts +3 -0
  28. package/src/foundry/foundry.js/applications/formApplications/documentSheets/itemSheet.d.ts +3 -9
  29. package/src/foundry/foundry.js/applications/formApplications/documentSheets/journalSheet.d.ts +10 -12
  30. package/src/foundry/foundry.js/applications/formApplications/documentSheets/macroConfig.d.ts +4 -5
  31. package/src/foundry/foundry.js/applications/formApplications/documentSheets/measuredTemplateConfig.d.ts +2 -6
  32. package/src/foundry/foundry.js/applications/formApplications/documentSheets/noteConfig.d.ts +1 -4
  33. package/src/foundry/foundry.js/applications/formApplications/documentSheets/permissionControl.d.ts +8 -12
  34. package/src/foundry/foundry.js/applications/formApplications/documentSheets/playlistConfig.d.ts +2 -1
  35. package/src/foundry/foundry.js/applications/formApplications/documentSheets/playlistSoundConfig.d.ts +1 -4
  36. package/src/foundry/foundry.js/applications/formApplications/documentSheets/rollTableConfig.d.ts +10 -11
  37. package/src/foundry/foundry.js/applications/formApplications/documentSheets/sceneConfig.d.ts +28 -15
  38. package/src/foundry/foundry.js/applications/formApplications/documentSheets/tileConfig.d.ts +3 -6
  39. package/src/foundry/foundry.js/applications/formApplications/documentSheets/userConfig.d.ts +1 -4
  40. package/src/foundry/foundry.js/applications/formApplications/drawingConfig.d.ts +17 -21
  41. package/src/foundry/foundry.js/applications/formApplications/gridConfig.d.ts +3 -3
  42. package/src/foundry/foundry.js/applications/formApplications/imagePopout.d.ts +40 -7
  43. package/src/foundry/foundry.js/applications/formApplications/index.d.ts +2 -2
  44. package/src/foundry/foundry.js/applications/formApplications/moduleManagement.d.ts +10 -24
  45. package/src/foundry/foundry.js/applications/formApplications/permissionConfig.d.ts +1 -1
  46. package/src/foundry/foundry.js/applications/formApplications/settingsConfig.d.ts +15 -3
  47. package/src/foundry/foundry.js/applications/formApplications/tokenConfig.d.ts +23 -16
  48. package/src/foundry/foundry.js/applications/formApplications/{defaultTokenConfig.d.ts → tokenConfigs/defaultTokenConfig.d.ts} +29 -16
  49. package/src/foundry/foundry.js/applications/formApplications/tokenConfigs/index.d.ts +1 -0
  50. package/src/foundry/foundry.js/applications/formApplications/wallConfig.d.ts +22 -15
  51. package/src/foundry/foundry.js/applications/formApplications/worldConfig.d.ts +23 -12
  52. package/src/foundry/foundry.js/applications/hotbar.d.ts +7 -3
  53. package/src/foundry/foundry.js/applications/index.d.ts +1 -0
  54. package/src/foundry/foundry.js/applications/invitationLinks.d.ts +25 -10
  55. package/src/foundry/foundry.js/applications/sceneNavigation.d.ts +16 -1
  56. package/src/foundry/foundry.js/applications/sidebar.d.ts +7 -0
  57. package/src/foundry/foundry.js/applications/sidebarTabs/chatLog.d.ts +65 -38
  58. package/src/foundry/foundry.js/applications/sidebarTabs/compendiumDirectory.d.ts +17 -3
  59. package/src/foundry/foundry.js/applications/sidebarTabs/settings.d.ts +19 -16
  60. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/actorDirectory.d.ts +0 -3
  61. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/journalDirectory.d.ts +4 -18
  62. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/macroDirectory.d.ts +2 -8
  63. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/playlistDirectory.d.ts +38 -5
  64. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectories/sceneDirectory.d.ts +6 -0
  65. package/src/foundry/foundry.js/applications/sidebarTabs/sidebarDirectory.d.ts +3 -1
  66. package/src/foundry/foundry.js/applications/supportDetails.d.ts +78 -0
  67. package/src/foundry/foundry.js/clientDocumentMixin.d.ts +2 -2
  68. package/src/foundry/foundry.js/clientDocuments/cards.d.ts +10 -2
  69. package/src/foundry/foundry.js/clientDocuments/chatMessage.d.ts +87 -49
  70. package/src/foundry/foundry.js/clientDocuments/folder.d.ts +3 -7
  71. package/src/foundry/foundry.js/clientDocuments/playlist.d.ts +6 -13
  72. package/src/foundry/foundry.js/clientDocuments/playlistSound.d.ts +6 -0
  73. package/src/foundry/foundry.js/collections/documentCollections/compendiumCollection.d.ts +1 -1
  74. package/src/foundry/foundry.js/collections/documentCollections/worldCollection.d.ts +2 -2
  75. package/src/foundry/foundry.js/config.d.ts +21 -21
  76. package/src/foundry/foundry.js/contextMenu.d.ts +37 -28
  77. package/src/foundry/foundry.js/game.d.ts +2 -2
  78. package/src/foundry/foundry.js/handlebarsHelpers.d.ts +26 -4
  79. package/src/foundry/foundry.js/mouseInteractionManager.d.ts +1 -1
  80. package/src/foundry/foundry.js/perceptionManager.d.ts +1 -1
  81. package/src/foundry/foundry.js/pixi/containers/canvasLayer.d.ts +2 -1
  82. package/src/foundry/foundry.js/pixi/containers/canvasLayers/controlsLayer.d.ts +49 -48
  83. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayer.d.ts +51 -40
  84. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/lightingLayer.d.ts +63 -20
  85. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/mapLayer.d.ts +0 -3
  86. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/mapLayers/backgroundLayer.d.ts +4 -4
  87. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/mapLayers/foregroundLayer.d.ts +21 -0
  88. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/notesLayer.d.ts +1 -1
  89. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/soundsLayer.d.ts +10 -2
  90. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/tokenLayer.d.ts +41 -20
  91. package/src/foundry/foundry.js/pixi/containers/canvasLayers/placeablesLayers/wallsLayer.d.ts +50 -121
  92. package/src/foundry/foundry.js/pixi/containers/canvasLayers/sightLayer.d.ts +125 -107
  93. package/src/foundry/foundry.js/pixi/containers/controlIcon.d.ts +3 -0
  94. package/src/foundry/foundry.js/pixi/containers/index.d.ts +1 -0
  95. package/src/foundry/foundry.js/pixi/containers/objectHUD.d.ts +82 -0
  96. package/src/foundry/foundry.js/pixi/containers/placeableObjects/ambientLight.d.ts +27 -6
  97. package/src/foundry/foundry.js/pixi/containers/placeableObjects/ambientSound.d.ts +26 -4
  98. package/src/foundry/foundry.js/pixi/containers/placeableObjects/drawing.d.ts +34 -20
  99. package/src/foundry/foundry.js/pixi/containers/placeableObjects/measuredTemplate.d.ts +52 -15
  100. package/src/foundry/foundry.js/pixi/containers/placeableObjects/note.d.ts +9 -2
  101. package/src/foundry/foundry.js/pixi/containers/placeableObjects/tile.d.ts +50 -12
  102. package/src/foundry/foundry.js/pixi/containers/placeableObjects/token.d.ts +248 -87
  103. package/src/foundry/foundry.js/pixi/containers/placeableObjects/wall.d.ts +107 -16
  104. package/src/foundry/foundry.js/pixi/filters/abstractFilter.d.ts +42 -0
  105. package/src/foundry/foundry.js/pixi/filters/abstractFilters/fogColorFilter.d.ts +16 -0
  106. package/src/foundry/foundry.js/pixi/filters/abstractFilters/forceColorFilter.d.ts +17 -0
  107. package/src/foundry/foundry.js/pixi/filters/abstractFilters/glowFilter.d.ts +31 -0
  108. package/src/foundry/foundry.js/pixi/filters/abstractFilters/index.d.ts +4 -0
  109. package/src/foundry/foundry.js/pixi/filters/abstractFilters/roofMaskFilter.d.ts +20 -0
  110. package/src/foundry/foundry.js/pixi/filters/index.d.ts +2 -0
  111. package/src/foundry/foundry.js/roll.d.ts +2 -2
  112. package/src/foundry/foundry.js/rollTerms/poolTerm.d.ts +5 -0
  113. package/src/foundry/foundry.js/textEditor.d.ts +266 -231
  114. package/src/types/augments/index.d.ts +2 -0
  115. package/src/types/augments/pixiGraphicsSmooth.d.ts +7 -0
  116. package/src/types/augments/pixiLegacyGraphics.d.ts +7 -0
  117. package/src/types/utils.d.ts +5 -0
@@ -1,13 +1,18 @@
1
1
  import type { ConfiguredDocumentClass } from '../../../../../types/helperTypes';
2
2
 
3
3
  declare global {
4
+ interface JournalSheetOptions extends DocumentSheetOptions {
5
+ /** The current display mode of the journal. Either 'text' or 'image'. */
6
+ sheetMode?: JournalSheet.SheetMode | null;
7
+ }
8
+
4
9
  /**
5
10
  * The Application responsible for displaying and editing a single JournalEntry document.
6
11
  * @typeParam Options - the type of the options object
7
12
  * @typeParam Data - The data structure used to render the handlebars template.
8
13
  */
9
14
  class JournalSheet<
10
- Options extends JournalSheet.Options = JournalSheet.Options,
15
+ Options extends JournalSheetOptions = JournalSheetOptions,
11
16
  Data extends object = JournalSheet.Data<Options>
12
17
  > extends DocumentSheet<Options, Data> {
13
18
  /**
@@ -41,11 +46,11 @@ declare global {
41
46
  * resizable: true,
42
47
  * closeOnSubmit: false,
43
48
  * submitOnClose: true,
44
- * viewPermission: CONST.ENTITY_PERMISSIONS.NONE
49
+ * viewPermission: CONST.DOCUMENT_PERMISSION_LEVELS.NONE
45
50
  * })
46
51
  * ```
47
52
  */
48
- static get defaultOptions(): JournalSheet.Options;
53
+ static get defaultOptions(): JournalSheetOptions;
49
54
 
50
55
  /** @override */
51
56
  get template(): string;
@@ -72,10 +77,7 @@ declare global {
72
77
  getData(options?: Partial<Options>): Promise<Data> | Data;
73
78
 
74
79
  /** @override */
75
- protected _updateObject(
76
- event: Event,
77
- formData: JournalSheet.FormData
78
- ): ReturnType<DocumentSheet<Options, Data>['_updateObject']>;
80
+ protected _updateObject(event: Event, formData: JournalSheet.FormData): Promise<unknown>;
79
81
 
80
82
  /**
81
83
  * Handle requests to switch the rendered mode of the Journal Entry sheet
@@ -96,11 +98,7 @@ declare global {
96
98
  }
97
99
 
98
100
  namespace JournalSheet {
99
- interface Options extends DocumentSheetOptions {
100
- sheetMode?: SheetMode | null;
101
- }
102
-
103
- interface Data<Options extends JournalSheet.Options = JournalSheet.Options>
101
+ interface Data<Options extends JournalSheetOptions = JournalSheetOptions>
104
102
  extends DocumentSheet.Data<ConcreteJournalEntry, Options> {
105
103
  image: string;
106
104
  folders: ReturnType<NonNullable<Game['folders']>['filter']>;
@@ -4,7 +4,6 @@ declare global {
4
4
  /**
5
5
  * A Macro configuration sheet
6
6
  *
7
- * @see {@link Macro} The Macro Entity which is being configured
8
7
  * @typeParam Options - the type of the options object
9
8
  * @typeParam Data - The data structure used to render the handlebars template.
10
9
  */
@@ -36,6 +35,9 @@ declare global {
36
35
  /** @override */
37
36
  activateListeners(html: JQuery): void;
38
37
 
38
+ /** @override */
39
+ protected _disableFields(form: HTMLElement): void;
40
+
39
41
  /**
40
42
  * Handle changing the actor profile image by opening a FilePicker
41
43
  * @internal
@@ -50,10 +52,7 @@ declare global {
50
52
  protected _onExecute(event: JQuery.ClickEvent): Promise<void>;
51
53
 
52
54
  /** @override */
53
- protected _updateObject(
54
- event: Event,
55
- formData: MacroConfig.FormData
56
- ): Promise<InstanceType<ConfiguredDocumentClass<typeof Macro>> | undefined>;
55
+ protected _updateObject(event: Event, formData: MacroConfig.FormData): Promise<unknown>;
57
56
  }
58
57
 
59
58
  namespace MacroConfig {
@@ -3,7 +3,6 @@ import type { ConfiguredDocumentClassForName } from '../../../../../types/helper
3
3
  declare global {
4
4
  /**
5
5
  * The Application responsible for configuring a single MeasuredTemplate document within a parent Scene.
6
- * @see {@link MeasuredTemplate}
7
6
  * @typeParam Options - the type of the options object
8
7
  * @typeParam Data - The data structure used to render the handlebars template.
9
8
  */
@@ -18,7 +17,7 @@ declare global {
18
17
  * foundry.utils.mergeObject(super.defaultOptions, {
19
18
  * id: "template-config",
20
19
  * classes: ["sheet", "template-sheet"],
21
- * title: "Measurement Template Configuration",
20
+ * title: "TEMPLATE.MeasuredConfig",
22
21
  * template: "templates/scene/template-config.html",
23
22
  * width: 400,
24
23
  * })
@@ -30,10 +29,7 @@ declare global {
30
29
  getData(): Data | Promise<Data>;
31
30
 
32
31
  /** @override */
33
- protected _updateObject(
34
- event: Event,
35
- formData: MeasuredTemplateConfig.FormData
36
- ): Promise<InstanceType<ConfiguredDocumentClassForName<'MeasuredTemplate'>> | undefined>;
32
+ protected _updateObject(event: Event, formData: MeasuredTemplateConfig.FormData): Promise<unknown>;
37
33
  }
38
34
 
39
35
  namespace MeasuredTemplateConfig {
@@ -33,10 +33,7 @@ declare global {
33
33
  * @param event - (unused)
34
34
  * @override
35
35
  */
36
- protected _updateObject(
37
- event: Event,
38
- formData: NoteConfig.FormData
39
- ): Promise<ConfiguredDocumentClassForName<'Note'> | undefined>;
36
+ protected _updateObject(event: Event, formData: NoteConfig.FormData): Promise<unknown>;
40
37
 
41
38
  /**
42
39
  * @override
@@ -2,27 +2,27 @@ import type { ConfiguredDocumentClassForName } from '../../../../../types/helper
2
2
 
3
3
  declare global {
4
4
  /**
5
- * A generic application for configuring permissions for various Entity types
5
+ * A generic application for configuring permissions for various Document types
6
6
  * @typeParam Options - the type of the options object
7
7
  * @typeParam Data - The data structure used to render the handlebars template.
8
8
  * @typeParam ConcreteDocument - the type of the Document which should be managed by this form sheet
9
9
  */
10
10
  class PermissionControl<
11
11
  Options extends DocumentSheetOptions = DocumentSheetOptions,
12
- Data extends object = DocumentSheet.Data,
12
+ Data extends object = PermissionControl.Data,
13
13
  ConcreteDocument extends foundry.abstract.Document<any, any> = Data extends DocumentSheet.Data<infer T>
14
14
  ? T
15
15
  : foundry.abstract.Document<any, any>
16
- > extends DocumentSheet<Options, PermissionControl.Data<ConcreteDocument>, ConcreteDocument> {
16
+ > extends DocumentSheet<Options, PermissionControl.Data, ConcreteDocument> {
17
17
  /**
18
18
  * @override
19
19
  * @defaultValue
20
20
  * ```typescript
21
- * mergeObject(super.defaultOptions, {
21
+ * foundry.utils.mergeObject(super.defaultOptions, {
22
22
  * id: "permission",
23
23
  * template: "templates/apps/permission.html",
24
24
  * width: 400
25
- * });
25
+ * })
26
26
  * ```
27
27
  */
28
28
  static get defaultOptions(): DocumentSheetOptions;
@@ -30,19 +30,15 @@ declare global {
30
30
  /** @override */
31
31
  get title(): string;
32
32
 
33
- /**
34
- * @override
35
- * @param options - (unused)
36
- */
37
- getData(options?: Partial<Options>): PermissionControl.Data<ConcreteDocument>;
33
+ /** @override */
34
+ getData(options?: Partial<Options> | undefined): PermissionControl.Data | Promise<PermissionControl.Data>;
38
35
 
39
36
  /** @override */
40
37
  protected _updateObject(event: Event, formData: PermissionControl.FormData): Promise<unknown>;
41
38
  }
42
39
 
43
40
  namespace PermissionControl {
44
- interface Data<ConcreteDocument extends foundry.abstract.Document<any, any>> extends DocumentSheet.Data {
45
- entity: ConcreteDocument;
41
+ interface Data {
46
42
  currentDefault: foundry.CONST.DOCUMENT_PERMISSION_LEVELS | '-1';
47
43
  instructions: string;
48
44
  defaultLevels: Record<foundry.CONST.DOCUMENT_PERMISSION_LEVELS, string> & { '-1'?: string };
@@ -31,7 +31,7 @@ declare global {
31
31
  getData(options?: Partial<Options>): Data | Promise<Data>;
32
32
 
33
33
  /** @override */
34
- protected _getFilePickerOptions(event: PointerEvent): FilePicker.Options;
34
+ protected _getFilePickerOptions(event: PointerEvent): FilePickerOptions;
35
35
 
36
36
  /**
37
37
  * @override
@@ -44,6 +44,7 @@ declare global {
44
44
  interface Data<Options extends DocumentSheetOptions = DocumentSheetOptions>
45
45
  extends DocumentSheet.Data<InstanceType<ConfiguredDocumentClass<typeof Playlist>>, Options> {
46
46
  modes: Record<foundry.CONST.PLAYLIST_MODES, string>;
47
+ sorting: Record<foundry.CONST.PLAYLIST_SORT_MODES, string>;
47
48
  }
48
49
  }
49
50
  }
@@ -48,10 +48,7 @@ declare global {
48
48
  * @override
49
49
  * @param event - (unused)
50
50
  */
51
- protected _updateObject(
52
- event: Event,
53
- formData: PlaylistSoundConfig.FormData
54
- ): Promise<InstanceType<ConfiguredDocumentClass<typeof PlaylistSound>> | undefined>;
51
+ protected _updateObject(event: Event, formData: PlaylistSoundConfig.FormData): Promise<unknown>;
55
52
  }
56
53
 
57
54
  namespace PlaylistSoundConfig {
@@ -9,9 +9,10 @@ declare global {
9
9
  */
10
10
  class RollTableConfig<
11
11
  Options extends DocumentSheetOptions = DocumentSheetOptions,
12
- Data extends object = RollTableConfig.Data
12
+ Data extends object = RollTableConfig.Data<Options>
13
13
  > extends DocumentSheet<Options, Data, InstanceType<ConfiguredDocumentClassForName<'RollTable'>>> {
14
14
  /**
15
+ * @override
15
16
  * @defaultValue
16
17
  * ```typescript
17
18
  * foundry.utils.mergeObject(super.defaultOptions, {
@@ -20,7 +21,7 @@ declare global {
20
21
  * width: 720,
21
22
  * height: "auto",
22
23
  * closeOnSubmit: false,
23
- * viewPermission: CONST.ENTITY_PERMISSIONS.OBSERVER,
24
+ * viewPermission: CONST.DOCUMENT_PERMISSION_LEVELS.OBSERVER,
24
25
  * scrollY: ["ol.table-results"],
25
26
  * dragDrop: [{ dragSelector: null, dropSelector: null }],
26
27
  * })
@@ -45,7 +46,7 @@ declare global {
45
46
  activateListeners(html: JQuery): void;
46
47
 
47
48
  /**
48
- * Handle creating a TableResult in the RollTable entity
49
+ * Handle creating a TableResult in the RollTable document
49
50
  * @param event - The originating mouse event
50
51
  * @param resultData - An optional object of result data to use
51
52
  * @internal
@@ -62,7 +63,7 @@ declare global {
62
63
  protected _onChangeResultType(event: JQuery.ChangeEvent): void;
63
64
 
64
65
  /**
65
- * Handle deleting a TableResult from the RollTable entity
66
+ * Handle deleting a TableResult from the RollTable document
66
67
  * @param event - The originating click event
67
68
  * @returns The deleted TableResult document
68
69
  * @internal
@@ -114,10 +115,7 @@ declare global {
114
115
  * @param formData - The validated FormData translated into an Object for submission
115
116
  * @internal
116
117
  */
117
- protected _updateObject(
118
- event: Event,
119
- formData: RollTableConfig.FormData
120
- ): Promise<InstanceType<ConfiguredDocumentClassForName<'RollTable'>> | undefined>;
118
+ protected _updateObject(event: Event, formData: RollTableConfig.FormData): Promise<unknown>;
121
119
 
122
120
  /**
123
121
  * Display a roulette style animation when a Roll Table result is drawn from the sheet
@@ -146,10 +144,11 @@ declare global {
146
144
  }
147
145
 
148
146
  namespace RollTableConfig {
149
- interface Data extends DocumentSheet.Data<RollTable> {
147
+ interface Data<Options extends DocumentSheetOptions = DocumentSheetOptions>
148
+ extends DocumentSheet.Data<RollTable, Options> {
150
149
  results: ToObjectFalseType<foundry.data.TableResultData> & {
151
150
  isText: boolean;
152
- isEntity: boolean;
151
+ isDocument: boolean;
153
152
  isCompendium: boolean;
154
153
  img: string;
155
154
  text: string;
@@ -157,7 +156,7 @@ declare global {
157
156
  resultTypes: {
158
157
  [Key in keyof typeof foundry.CONST.TABLE_RESULT_TYPES as typeof foundry.CONST.TABLE_RESULT_TYPES[Key]]: Titlecase<Key>;
159
158
  };
160
- entityTypes: typeof foundry.CONST.COMPENDIUM_ENTITY_TYPES;
159
+ documentTypes: typeof foundry.CONST.COMPENDIUM_DOCUMENT_TYPES;
161
160
  compendiumPacks: string[];
162
161
  }
163
162
 
@@ -2,9 +2,7 @@ import type { ConfiguredDocumentClassForName, DocumentConstructor } from '../../
2
2
 
3
3
  declare global {
4
4
  /**
5
- * The Application responsible for configuring a single Scene document.
6
- * @see {@link Scene} The Scene Document which is being configured
7
- *
5
+ * The Application responsible for configuring a single Scene document. *
8
6
  * @typeParam Options - the type of the options object
9
7
  * @typeParam Data - The data structure used to render the handlebars template.
10
8
  */
@@ -20,8 +18,9 @@ declare global {
20
18
  * id: "scene-config",
21
19
  * classes: ["sheet", "scene-sheet"],
22
20
  * template: "templates/scene/config.html",
23
- * width: 680,
21
+ * width: 560,
24
22
  * height: "auto",
23
+ * tabs: [{navSelector: ".tabs", contentSelector: "form", initial: "basic"}]
25
24
  * });
26
25
  * ```
27
26
  */
@@ -32,13 +31,11 @@ declare global {
32
31
  */
33
32
  get title(): string;
34
33
 
35
- /**
36
- * @override
37
- * @remarks This incorrectly overrides `Application#render` by potentially returning `void`, see https://gitlab.com/foundrynet/foundryvtt/-/issues/6026.
38
- */
39
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
40
- // @ts-expect-error
41
- render(force?: boolean, options?: Application.RenderOptions<Options>): this | void;
34
+ /** @override */
35
+ close(options?: Application.CloseOptions | undefined): Promise<void>;
36
+
37
+ /** @override */
38
+ render(force?: boolean, options?: Application.RenderOptions<Options>): this;
42
39
 
43
40
  /**
44
41
  * @param options - (unused)
@@ -74,9 +71,28 @@ declare global {
74
71
  */
75
72
  protected _onCapturePosition(event: JQuery.ClickEvent): void;
76
73
 
74
+ /** @override */
75
+ protected _onChangeInput(event: JQuery.ChangeEvent): void;
76
+
77
+ /** @override */
78
+ protected _onChangeColorPicker(event: JQuery.ChangeEvent): void;
79
+
77
80
  /** @override */
78
81
  protected _onChangeRange(event: JQuery.ChangeEvent): void;
79
82
 
83
+ /**
84
+ * Live update the scene as certain properties are changed.
85
+ * @param changed - The changed property.
86
+ * @internal
87
+ */
88
+ protected _previewScene(changed: string): void;
89
+
90
+ /**
91
+ * Reset the previewed darkness level, background color, grid alpha, and grid color back to their true values.
92
+ * @internal
93
+ */
94
+ protected _resetScenePreview(): void;
95
+
80
96
  /**
81
97
  * Handle updating the select menu of PlaylistSound options when the Playlist is changed
82
98
  * @param event - The initiating select change event
@@ -93,10 +109,7 @@ declare global {
93
109
  /**
94
110
  * @override
95
111
  */
96
- protected _updateObject(
97
- event: Event,
98
- formData: SceneConfig.FormData
99
- ): Promise<InstanceType<ConfiguredDocumentClassForName<'Scene'>> | undefined>;
112
+ protected _updateObject(event: Event, formData: SceneConfig.FormData): Promise<unknown>;
100
113
  }
101
114
 
102
115
  namespace SceneConfig {
@@ -29,10 +29,10 @@ declare global {
29
29
  static get defaultOptions(): TileConfig.Options;
30
30
 
31
31
  /** @override */
32
- close(options: Application.CloseOptions): Promise<void>;
32
+ close(options?: Application.CloseOptions | undefined): Promise<void>;
33
33
 
34
34
  /** @override */
35
- getData(options?: Partial<Options>): Data | Promise<Data>;
35
+ getData(options?: Partial<Options> | undefined): Data | Promise<Data>;
36
36
 
37
37
  /** @override */
38
38
  protected _onChangeInput(event: JQuery.ChangeEvent): void;
@@ -41,10 +41,7 @@ declare global {
41
41
  * @param event - (unused)
42
42
  * @override
43
43
  */
44
- protected _updateObject(
45
- event: Event,
46
- formData: TileConfig.FormData
47
- ): Promise<InstanceType<ConfiguredDocumentClassForName<'Tile'>> | undefined>;
44
+ protected _updateObject(event: Event, formData: TileConfig.FormData): Promise<unknown>;
48
45
  }
49
46
 
50
47
  namespace TileConfig {
@@ -41,10 +41,7 @@ declare global {
41
41
  /**
42
42
  * @remarks This method not overridden in foundry but added to provide types when overriding the UserConfig.
43
43
  */
44
- protected _updateObject(
45
- event: Event,
46
- formData: FormData
47
- ): Promise<InstanceType<ConfiguredDocumentClass<typeof User>> | undefined>;
44
+ protected _updateObject(event: Event, formData: FormData): Promise<unknown>;
48
45
  }
49
46
 
50
47
  namespace UserConfig {
@@ -1,16 +1,25 @@
1
1
  import type { ConfiguredDocumentClassForName } from '../../../../types/helperTypes';
2
2
 
3
3
  declare global {
4
+ interface DrawingConfigOptions extends FormApplicationOptions {
5
+ /**
6
+ * Configure the default drawing settings, instead of a specific Drawing
7
+ * @defaultValue `false`
8
+ */
9
+ configureDefault: boolean;
10
+ }
11
+
4
12
  /**
5
13
  * The Application responsible for configuring a single Drawing document within a parent Scene.
6
14
  * @typeParam Options - the type of the options object
7
15
  * @typeParam Data - The data structure used to render the handlebars template.
8
16
  */
9
17
  class DrawingConfig<
10
- Options extends DrawingConfig.Options = DrawingConfig.Options,
18
+ Options extends DrawingConfigOptions = DrawingConfigOptions,
11
19
  Data extends object = DrawingConfig.Data<Options>
12
20
  > extends FormApplication<Options, Data, InstanceType<ConfiguredDocumentClassForName<'Drawing'>>> {
13
21
  /**
22
+ * @override
14
23
  * @defaultValue
15
24
  * ```typescript
16
25
  * foundry.utils.mergeObject(super.defaultOptions, {
@@ -18,17 +27,20 @@ declare global {
18
27
  * classes: ["sheet"],
19
28
  * template: "templates/scene/drawing-config.html",
20
29
  * width: 480,
21
- * height: 360,
30
+ * height: "auto",
22
31
  * configureDefault: false,
23
32
  * tabs: [{ navSelector: ".tabs", contentSelector: "form", initial: "position" }],
24
33
  * });
25
34
  * ```
26
35
  */
27
- static get defaultOptions(): DrawingConfig.Options;
36
+ static get defaultOptions(): DrawingConfigOptions;
28
37
 
29
38
  /** @override */
30
39
  get title(): string;
31
40
 
41
+ /** @override */
42
+ get id(): string;
43
+
32
44
  /** @override */
33
45
  getData(options?: Partial<Options>): Data | Promise<Data>;
34
46
 
@@ -39,10 +51,7 @@ declare global {
39
51
  protected static _getFillTypes(): DrawingConfig.FillTypes;
40
52
 
41
53
  /** @override */
42
- protected _updateObject(
43
- event: Event,
44
- formData: DrawingConfig.FormData
45
- ): Promise<foundry.data.DrawingData['_source'] | ConfiguredDocumentClassForName<'Drawing'> | undefined>;
54
+ protected _updateObject(event: Event, formData: DrawingConfig.FormData): Promise<unknown>;
46
55
 
47
56
  /** @override */
48
57
  close(options?: FormApplication.CloseOptions): Promise<void>;
@@ -58,7 +67,7 @@ declare global {
58
67
  }
59
68
 
60
69
  namespace DrawingConfig {
61
- interface Data<Options extends DrawingConfig.Options = DrawingConfig.Options> {
70
+ interface Data<Options extends DrawingConfigOptions = DrawingConfigOptions> {
62
71
  author: string;
63
72
  isDefault: boolean;
64
73
  fillTypes: DrawingConfig.FillTypes;
@@ -93,18 +102,5 @@ declare global {
93
102
  y: number | null;
94
103
  z: number | null;
95
104
  }
96
-
97
- interface Options extends FormApplicationOptions {
98
- /**
99
- * Configure the default drawing settings, instead of a specific Drawing
100
- * @defaultValue `false`
101
- */
102
- configureDefault: boolean;
103
-
104
- /**
105
- * Configure a preview version of the Drawing which is not yet saved
106
- */
107
- preview?: boolean;
108
- }
109
105
  }
110
106
  }
@@ -75,14 +75,14 @@ declare global {
75
75
  close(options?: FormApplication.CloseOptions): ReturnType<FormApplication['close']>;
76
76
 
77
77
  /**
78
- * Handle resetting the form and re-drawing back to the original dimensions
78
+ * Handle keyboard events.
79
79
  * @param event - The original keydown event
80
80
  * @internal
81
81
  */
82
82
  protected _onKeyDown(event: KeyboardEvent): void;
83
83
 
84
84
  /**
85
- * Handle resetting the form and re-drawing back to the original dimensions
85
+ * Handle mousewheel events.
86
86
  * @param event - The original wheel event
87
87
  * @internal
88
88
  */
@@ -145,7 +145,7 @@ declare global {
145
145
  * @param event - (unused)
146
146
  * @override
147
147
  */
148
- protected _updateObject(event: Event, formData: GridConfig.FormData): ReturnType<Scene['update']>;
148
+ protected _updateObject(event: Event, formData: GridConfig.FormData): Promise<unknown>;
149
149
  }
150
150
 
151
151
  namespace GridConfig {
@@ -1,15 +1,32 @@
1
+ interface ImagePopoutOptions extends FormApplicationOptions {
2
+ /**
3
+ * Can this image be shared with connected users?
4
+ * @defaultValue `false`
5
+ */
6
+ shareable: boolean;
7
+
8
+ /**
9
+ * The UUID of some related {@link Document}.
10
+ * @defaultValue `null`
11
+ */
12
+ uuid: string | null;
13
+ }
14
+
1
15
  /**
2
16
  * An Image Popout Application which features a single image in a lightbox style frame.
3
17
  * This popout can also be used as a form, allowing the user to edit an image which is being used.
4
18
  * Furthermore, this application allows for sharing the display of an image with other connected players.
5
19
  *
20
+ * @typeParam Options - The type of the options object
21
+ * @typeParam Data - The data structure used to render the handlebars template.
22
+ *
6
23
  * @example
7
24
  * ```typescript
8
25
  * // Construct the Application instance
9
26
  * const ip = new ImagePopout("path/to/image.jpg", {
10
27
  * title: "My Featured Image",
11
28
  * shareable: true,
12
- * entity: game.actors.getName("My Hero")
29
+ * uuid: game.actors.getName("My Hero").uuid
13
30
  * });
14
31
  *
15
32
  * // Display the image popout
@@ -19,7 +36,10 @@
19
36
  * ip.share();
20
37
  * ```
21
38
  */
22
- declare class ImagePopout extends FormApplication<ImagePopout.Options, ImagePopout.Data, string> {
39
+ declare class ImagePopout<
40
+ Options extends ImagePopoutOptions = ImagePopoutOptions,
41
+ Data extends object = ImagePopout.Data
42
+ > extends FormApplication<Options, Data, string> {
23
43
  constructor(src: string, options?: Partial<ImagePopout.Options>);
24
44
 
25
45
  /**
@@ -27,14 +47,27 @@ declare class ImagePopout extends FormApplication<ImagePopout.Options, ImagePopo
27
47
  */
28
48
  protected _related: foundry.abstract.Document<any, any> | null;
29
49
 
30
- /** @override */
31
- static get defaultOptions(): ImagePopout.Options;
50
+ /**
51
+ * @override
52
+ * @defaultValue
53
+ * ```typescript
54
+ * foundry.utils.mergeObject(super.defaultOptions, {
55
+ * template: "templates/apps/image-popout.html",
56
+ * classes: ["image-popout", "dark"],
57
+ * editable: false,
58
+ * resizable: true,
59
+ * shareable: false,
60
+ * uuid: null
61
+ * })
62
+ * ```
63
+ */
64
+ static get defaultOptions(): ImagePopoutOptions;
32
65
 
33
66
  /** @override */
34
67
  get title(): string;
35
68
 
36
69
  /** @override */
37
- getData(options?: Partial<ImagePopout.Options>): Promise<ImagePopout.Data>;
70
+ getData(options?: Partial<Options> | undefined): Promise<Data>;
38
71
 
39
72
  /**
40
73
  * Test whether the title of the image popout should be visible to the user
@@ -42,12 +75,12 @@ declare class ImagePopout extends FormApplication<ImagePopout.Options, ImagePopo
42
75
  isTitleVisible(): boolean;
43
76
 
44
77
  /**
45
- * Provide a reference to the Entity referenced by this popout, if one exists
78
+ * Provide a reference to the Document referenced by this popout, if one exists
46
79
  */
47
80
  getRelatedObject(): Promise<foundry.abstract.Document<any, any> | null>;
48
81
 
49
82
  /** @override */
50
- protected _render(force?: boolean, options?: Application.RenderOptions<ImagePopout.Options>): Promise<void>;
83
+ protected _render(force?: boolean, options?: Application.RenderOptions<Options> | undefined): Promise<void>;
51
84
 
52
85
  /** @override */
53
86
  protected _getHeaderButtons(): Application.HeaderButton[];
@@ -1,10 +1,9 @@
1
1
  import './avConfig';
2
2
  import './combatTrackerConfig';
3
- import './defaultTokenConfig';
4
3
  import './documentSheet';
4
+ import './documentSheetConfig';
5
5
  import './documentSheets';
6
6
  import './drawingConfig';
7
- import './entitySheetConfig';
8
7
  import './gridConfig';
9
8
  import './imagePopout';
10
9
  import './keybindingsConfig';
@@ -12,5 +11,6 @@ import './moduleManagement';
12
11
  import './permissionConfig';
13
12
  import './settingsConfig';
14
13
  import './tokenConfig';
14
+ import './tokenConfigs';
15
15
  import './wallConfig';
16
16
  import './worldConfig';