@7h3laughingman/foundry-types 13.351.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.
- package/LICENSE.md +21 -0
- package/README.md +3 -0
- package/package.json +76 -0
- package/src/client/_module.d.mts +103 -0
- package/src/client/_types.d.mts +900 -0
- package/src/client/applications/_module.d.mts +27 -0
- package/src/client/applications/_types.d.mts +192 -0
- package/src/client/applications/api/_module.d.mts +8 -0
- package/src/client/applications/api/application.d.mts +456 -0
- package/src/client/applications/api/category-browser.d.mts +78 -0
- package/src/client/applications/api/dialog.d.mts +213 -0
- package/src/client/applications/api/document-sheet.d.mts +148 -0
- package/src/client/applications/api/handlebars-application.d.mts +120 -0
- package/src/client/applications/apps/_module.d.mts +10 -0
- package/src/client/applications/apps/av/_module.d.mts +2 -0
- package/src/client/applications/apps/av/camera-popout.d.mts +53 -0
- package/src/client/applications/apps/av/cameras.d.mts +235 -0
- package/src/client/applications/apps/combat-tracker-config.d.mts +27 -0
- package/src/client/applications/apps/compendium-art-config.d.mts +17 -0
- package/src/client/applications/apps/document-ownership.d.mts +17 -0
- package/src/client/applications/apps/document-sheet-config.d.mts +144 -0
- package/src/client/applications/apps/file-picker.d.mts +321 -0
- package/src/client/applications/apps/grid-config.d.mts +33 -0
- package/src/client/applications/apps/image-popout.d.mts +92 -0
- package/src/client/applications/apps/permission-config.d.mts +24 -0
- package/src/client/applications/dice/_module.d.mts +1 -0
- package/src/client/applications/dice/roll-resolver.d.mts +92 -0
- package/src/client/applications/elements/_module.d.mts +19 -0
- package/src/client/applications/elements/codemirror/element.d.mts +73 -0
- package/src/client/applications/elements/color-picker.d.mts +14 -0
- package/src/client/applications/elements/document-embed.d.mts +14 -0
- package/src/client/applications/elements/document-tags.d.mts +50 -0
- package/src/client/applications/elements/enriched-content.d.mts +31 -0
- package/src/client/applications/elements/file-picker.d.mts +59 -0
- package/src/client/applications/elements/form-element.d.mts +105 -0
- package/src/client/applications/elements/hue-slider.d.mts +35 -0
- package/src/client/applications/elements/multi-select.d.mts +89 -0
- package/src/client/applications/elements/prosemirror-editor.d.mts +32 -0
- package/src/client/applications/elements/range-picker.d.mts +23 -0
- package/src/client/applications/elements/secret-block.d.mts +28 -0
- package/src/client/applications/elements/string-tags.d.mts +50 -0
- package/src/client/applications/forms/fields.d.mts +132 -0
- package/src/client/applications/handlebars.d.mts +303 -0
- package/src/client/applications/hud/_module.d.mts +5 -0
- package/src/client/applications/hud/container.d.mts +38 -0
- package/src/client/applications/hud/drawing-hud.d.mts +14 -0
- package/src/client/applications/hud/placeable-hud.d.mts +72 -0
- package/src/client/applications/hud/tile-hud.d.mts +21 -0
- package/src/client/applications/hud/token-hud.d.mts +69 -0
- package/src/client/applications/settings/_module.d.mts +2 -0
- package/src/client/applications/settings/config.d.mts +38 -0
- package/src/client/applications/settings/menus/_module.d.mts +6 -0
- package/src/client/applications/settings/menus/av-config.d.mts +37 -0
- package/src/client/applications/settings/menus/default-sheets-config.d.mts +23 -0
- package/src/client/applications/settings/menus/dice-config.d.mts +23 -0
- package/src/client/applications/settings/menus/font-config.d.mts +145 -0
- package/src/client/applications/settings/menus/prototype-overrides.d.mts +20 -0
- package/src/client/applications/settings/menus/ui-config.d.mts +40 -0
- package/src/client/applications/sheets/_module.d.mts +9 -0
- package/src/client/applications/sheets/combatant-config.d.mts +21 -0
- package/src/client/applications/sheets/item-sheet.d.mts +13 -0
- package/src/client/applications/sheets/scene-config.d.mts +50 -0
- package/src/client/applications/sheets/template-config.d.mts +19 -0
- package/src/client/applications/sheets/token/mixin.mts +182 -0
- package/src/client/applications/sheets/token/prototype-config.d.mts +75 -0
- package/src/client/applications/sheets/token/token-config.d.mts +62 -0
- package/src/client/applications/sheets/user-config.d.mts +27 -0
- package/src/client/applications/sidebar/_module.d.mts +5 -0
- package/src/client/applications/sidebar/apps/_module.d.mts +9 -0
- package/src/client/applications/sidebar/apps/chat-popout.d.mts +45 -0
- package/src/client/applications/sidebar/apps/compendium.d.mts +65 -0
- package/src/client/applications/sidebar/apps/controls-config.d.mts +29 -0
- package/src/client/applications/sidebar/apps/folder-export.d.mts +11 -0
- package/src/client/applications/sidebar/apps/invitation-links.d.mts +10 -0
- package/src/client/applications/sidebar/apps/module-management.d.mts +65 -0
- package/src/client/applications/sidebar/apps/support-details.d.mts +72 -0
- package/src/client/applications/sidebar/apps/tours-management.d.mts +16 -0
- package/src/client/applications/sidebar/apps/world-config.d.mts +38 -0
- package/src/client/applications/sidebar/document-directory.d.mts +327 -0
- package/src/client/applications/sidebar/sidebar-tab.d.mts +89 -0
- package/src/client/applications/sidebar/sidebar.d.mts +93 -0
- package/src/client/applications/sidebar/tabs/_module.d.mts +14 -0
- package/src/client/applications/sidebar/tabs/actor-directory.d.mts +26 -0
- package/src/client/applications/sidebar/tabs/cards-directory.d.mts +19 -0
- package/src/client/applications/sidebar/tabs/chat.d.mts +271 -0
- package/src/client/applications/sidebar/tabs/combat-tracker.d.mts +198 -0
- package/src/client/applications/sidebar/tabs/compendium-directory.d.mts +289 -0
- package/src/client/applications/sidebar/tabs/item-directory.d.mts +24 -0
- package/src/client/applications/sidebar/tabs/journal-directory.d.mts +19 -0
- package/src/client/applications/sidebar/tabs/macro-directory.d.mts +12 -0
- package/src/client/applications/sidebar/tabs/playlist-directory.d.mts +267 -0
- package/src/client/applications/sidebar/tabs/roll-table-directory.d.mts +19 -0
- package/src/client/applications/sidebar/tabs/scene-directory.d.mts +26 -0
- package/src/client/applications/sidebar/tabs/settings.d.mts +16 -0
- package/src/client/applications/ui/_module.d.mts +9 -0
- package/src/client/applications/ui/game-pause.d.mts +15 -0
- package/src/client/applications/ui/hotbar.d.mts +86 -0
- package/src/client/applications/ui/main-menu.d.mts +48 -0
- package/src/client/applications/ui/notifications.d.mts +168 -0
- package/src/client/applications/ui/players.d.mts +92 -0
- package/src/client/applications/ui/region-legend.d.mts +47 -0
- package/src/client/applications/ui/scene-controls.d.mts +138 -0
- package/src/client/applications/ui/scene-navigation.d.mts +61 -0
- package/src/client/applications/ux/_module.d.mts +11 -0
- package/src/client/applications/ux/context-menu.d.mts +202 -0
- package/src/client/applications/ux/drag-drop.d.mts +131 -0
- package/src/client/applications/ux/draggable.d.mts +108 -0
- package/src/client/applications/ux/form-data-extended.d.mts +76 -0
- package/src/client/applications/ux/html-secret.d.mts +61 -0
- package/src/client/applications/ux/prosemirror-editor.d.mts +173 -0
- package/src/client/applications/ux/search-filter.d.mts +119 -0
- package/src/client/applications/ux/tabs.d.mts +94 -0
- package/src/client/applications/ux/text-editor.d.mts +329 -0
- package/src/client/appv1/_module.d.mts +2 -0
- package/src/client/appv1/api/_module.d.mts +8 -0
- package/src/client/appv1/api/application-v1.d.mts +388 -0
- package/src/client/appv1/api/dialog-v1.d.mts +191 -0
- package/src/client/appv1/api/document-sheet-v1.d.mts +96 -0
- package/src/client/appv1/api/form-application-v1.d.mts +203 -0
- package/src/client/appv1/sheets/_module.d.mts +9 -0
- package/src/client/appv1/sheets/actor-sheet.d.mts +129 -0
- package/src/client/appv1/sheets/adventure-importer.d.mts +43 -0
- package/src/client/appv1/sheets/item-sheet.d.mts +42 -0
- package/src/client/appv1/sheets/journal-page-sheet.d.mts +100 -0
- package/src/client/appv1/sheets/journal-sheet.d.mts +262 -0
- package/src/client/audio/_module.d.mts +9 -0
- package/src/client/audio/_types.d.mts +121 -0
- package/src/client/audio/biquad.d.mts +29 -0
- package/src/client/audio/cache.d.mts +58 -0
- package/src/client/audio/convolver.d.mts +50 -0
- package/src/client/audio/helper.d.mts +306 -0
- package/src/client/audio/sound.d.mts +289 -0
- package/src/client/audio/timeout.d.mts +71 -0
- package/src/client/av/_module.d.mts +7 -0
- package/src/client/av/client.d.mts +167 -0
- package/src/client/av/clients/_module.d.mts +1 -0
- package/src/client/av/clients/simplepeer.d.mts +123 -0
- package/src/client/av/master.d.mts +128 -0
- package/src/client/av/settings.d.mts +100 -0
- package/src/client/canvas/_module.d.mts +20 -0
- package/src/client/canvas/animation/_module.d.mts +5 -0
- package/src/client/canvas/animation/_types.d.mts +73 -0
- package/src/client/canvas/animation/canvas-animation.d.mts +114 -0
- package/src/client/canvas/animation/chat-bubbles.d.mts +58 -0
- package/src/client/canvas/animation/smooth-noise.d.mts +34 -0
- package/src/client/canvas/board.d.mts +413 -0
- package/src/client/canvas/containers/_module.d.mts +20 -0
- package/src/client/canvas/containers/_types.d.mts +21 -0
- package/src/client/canvas/containers/advanced/cached-container.d.mts +108 -0
- package/src/client/canvas/containers/advanced/full-canvas-mixin.d.mts +12 -0
- package/src/client/canvas/containers/advanced/full-container-mixin.d.mts +12 -0
- package/src/client/canvas/containers/advanced/unbound-container.d.mts +12 -0
- package/src/client/canvas/containers/elements/control-icon.d.mts +40 -0
- package/src/client/canvas/containers/elements/cursor.d.mts +37 -0
- package/src/client/canvas/containers/elements/door-control.d.mts +66 -0
- package/src/client/canvas/containers/elements/door-mesh.d.mts +127 -0
- package/src/client/canvas/containers/elements/grid-highlight.d.mts +25 -0
- package/src/client/canvas/containers/elements/grid-mesh.d.mts +34 -0
- package/src/client/canvas/containers/elements/particles/leaves.d.mts +15 -0
- package/src/client/canvas/containers/elements/particles/particle-effect.d.mts +45 -0
- package/src/client/canvas/containers/elements/point-source-mesh.d.mts +29 -0
- package/src/client/canvas/containers/elements/precise-text.d.mts +18 -0
- package/src/client/canvas/containers/elements/quad-mesh.d.mts +41 -0
- package/src/client/canvas/containers/elements/resize-handle.d.mts +61 -0
- package/src/client/canvas/containers/elements/sprite-mesh.d.mts +319 -0
- package/src/client/canvas/extensions/_module.d.mts +4 -0
- package/src/client/canvas/extensions/circle-extension.d.mts +4 -0
- package/src/client/canvas/extensions/graphics-extension.d.mts +5 -0
- package/src/client/canvas/extensions/polygon-extension.d.mts +4 -0
- package/src/client/canvas/extensions/rectangle-extension.d.mts +4 -0
- package/src/client/canvas/framebuffer-snapshot.d.mts +20 -0
- package/src/client/canvas/geometry/_module.d.mts +12 -0
- package/src/client/canvas/geometry/_types.d.mts +90 -0
- package/src/client/canvas/geometry/clockwise-sweep.d.mts +129 -0
- package/src/client/canvas/geometry/edges/_module.d.mts +5 -0
- package/src/client/canvas/geometry/edges/collision.d.mts +58 -0
- package/src/client/canvas/geometry/edges/edge.d.mts +144 -0
- package/src/client/canvas/geometry/edges/edges.d.mts +14 -0
- package/src/client/canvas/geometry/edges/vertex.d.mts +85 -0
- package/src/client/canvas/geometry/observable-transform.d.mts +28 -0
- package/src/client/canvas/geometry/quad-tree.d.mts +150 -0
- package/src/client/canvas/geometry/shapes/limited-angle-polygon.d.mts +69 -0
- package/src/client/canvas/geometry/shapes/polygon-mesher.d.mts +50 -0
- package/src/client/canvas/geometry/shapes/ray.d.mts +126 -0
- package/src/client/canvas/geometry/shapes/source-polygon.d.mts +161 -0
- package/src/client/canvas/geometry/unbound-transform.d.mts +9 -0
- package/src/client/canvas/geometry/weiler-atherton-clipping.d.mts +120 -0
- package/src/client/canvas/groups/_module.d.mts +10 -0
- package/src/client/canvas/groups/canvas-group-mixin.mts +95 -0
- package/src/client/canvas/groups/effects.d.mts +118 -0
- package/src/client/canvas/groups/environment.d.mts +79 -0
- package/src/client/canvas/groups/hidden.d.mts +42 -0
- package/src/client/canvas/groups/interface.d.mts +31 -0
- package/src/client/canvas/groups/overlay.d.mts +11 -0
- package/src/client/canvas/groups/primary.d.mts +223 -0
- package/src/client/canvas/groups/rendered.d.mts +7 -0
- package/src/client/canvas/groups/visibility.d.mts +154 -0
- package/src/client/canvas/interaction/_module.d.mts +15 -0
- package/src/client/canvas/interaction/_types.d.mts +67 -0
- package/src/client/canvas/interaction/mouse-handler.d.mts +231 -0
- package/src/client/canvas/interaction/ping/alert.d.mts +16 -0
- package/src/client/canvas/interaction/ping/arrow.d.mts +16 -0
- package/src/client/canvas/interaction/ping/chevron.d.mts +25 -0
- package/src/client/canvas/interaction/ping/ping.d.mts +35 -0
- package/src/client/canvas/interaction/ping/pulse.d.mts +28 -0
- package/src/client/canvas/interaction/render-flags.d.mts +69 -0
- package/src/client/canvas/interaction/ruler/base-ruler.d.mts +179 -0
- package/src/client/canvas/interaction/ruler/ruler.d.mts +56 -0
- package/src/client/canvas/layers/_module.d.mts +31 -0
- package/src/client/canvas/layers/_types.d.mts +89 -0
- package/src/client/canvas/layers/base/canvas-layer.d.mts +71 -0
- package/src/client/canvas/layers/base/interaction-layer.d.mts +176 -0
- package/src/client/canvas/layers/base/placeables-layer.d.mts +410 -0
- package/src/client/canvas/layers/controls.d.mts +181 -0
- package/src/client/canvas/layers/drawings.d.mts +75 -0
- package/src/client/canvas/layers/effects/background-effects.d.mts +32 -0
- package/src/client/canvas/layers/effects/coloration-effects.d.mts +23 -0
- package/src/client/canvas/layers/effects/darkness-effects.d.mts +14 -0
- package/src/client/canvas/layers/effects/illumination-effects.d.mts +72 -0
- package/src/client/canvas/layers/effects/weather-effects.d.mts +137 -0
- package/src/client/canvas/layers/grid.d.mts +112 -0
- package/src/client/canvas/layers/lighting.d.mts +59 -0
- package/src/client/canvas/layers/masks/depth.d.mts +53 -0
- package/src/client/canvas/layers/masks/occlusion.d.mts +84 -0
- package/src/client/canvas/layers/masks/vision.d.mts +44 -0
- package/src/client/canvas/layers/notes.d.mts +59 -0
- package/src/client/canvas/layers/regions.d.mts +70 -0
- package/src/client/canvas/layers/sounds.d.mts +190 -0
- package/src/client/canvas/layers/templates.d.mts +41 -0
- package/src/client/canvas/layers/tiles.d.mts +66 -0
- package/src/client/canvas/layers/tokens.d.mts +171 -0
- package/src/client/canvas/layers/walls.d.mts +99 -0
- package/src/client/canvas/loader.d.mts +135 -0
- package/src/client/canvas/perception/_module.d.mts +13 -0
- package/src/client/canvas/perception/_types.d.mts +61 -0
- package/src/client/canvas/perception/detection-mode.d.mts +122 -0
- package/src/client/canvas/perception/detection-modes/darkvision.d.mts +11 -0
- package/src/client/canvas/perception/detection-modes/invisibility-perception.d.mts +15 -0
- package/src/client/canvas/perception/detection-modes/light-perception.d.mts +18 -0
- package/src/client/canvas/perception/detection-modes/super-perception.d.mts +13 -0
- package/src/client/canvas/perception/detection-modes/tremor-perception.d.mts +13 -0
- package/src/client/canvas/perception/fog.d.mts +65 -0
- package/src/client/canvas/perception/perception-manager.d.mts +72 -0
- package/src/client/canvas/perception/vision-mode.d.mts +133 -0
- package/src/client/canvas/placeables/_module.d.mts +15 -0
- package/src/client/canvas/placeables/_types.d.mts +29 -0
- package/src/client/canvas/placeables/drawing.d.mts +106 -0
- package/src/client/canvas/placeables/light.d.mts +155 -0
- package/src/client/canvas/placeables/note.d.mts +61 -0
- package/src/client/canvas/placeables/placeable-object.d.mts +415 -0
- package/src/client/canvas/placeables/region.d.mts +129 -0
- package/src/client/canvas/placeables/regions/_module.d.mts +2 -0
- package/src/client/canvas/placeables/regions/geometry.d.mts +19 -0
- package/src/client/canvas/placeables/regions/mesh.d.mts +72 -0
- package/src/client/canvas/placeables/sound.d.mts +93 -0
- package/src/client/canvas/placeables/template.d.mts +164 -0
- package/src/client/canvas/placeables/tile.d.mts +189 -0
- package/src/client/canvas/placeables/token.d.mts +675 -0
- package/src/client/canvas/placeables/tokens/_module.d.mts +8 -0
- package/src/client/canvas/placeables/tokens/base-ruler.d.mts +68 -0
- package/src/client/canvas/placeables/tokens/ring-config.d.mts +201 -0
- package/src/client/canvas/placeables/tokens/ring-data.d.mts +56 -0
- package/src/client/canvas/placeables/tokens/ring.d.mts +194 -0
- package/src/client/canvas/placeables/tokens/ruler.d.mts +96 -0
- package/src/client/canvas/placeables/tokens/targets.d.mts +22 -0
- package/src/client/canvas/placeables/tokens/turn-marker-data.d.mts +52 -0
- package/src/client/canvas/placeables/tokens/turn-marker.d.mts +45 -0
- package/src/client/canvas/placeables/wall.d.mts +155 -0
- package/src/client/canvas/primary/_module.d.mts +7 -0
- package/src/client/canvas/primary/primary-canvas-container.d.mts +40 -0
- package/src/client/canvas/primary/primary-canvas-object.mts +215 -0
- package/src/client/canvas/primary/primary-graphics.d.mts +22 -0
- package/src/client/canvas/primary/primary-occludable-object.mts +139 -0
- package/src/client/canvas/primary/primary-particle-effect.d.mts +50 -0
- package/src/client/canvas/primary/primary-sprite-mesh.d.mts +127 -0
- package/src/client/canvas/rendering/_module.d.mts +5 -0
- package/src/client/canvas/rendering/batching/_module.d.mts +2 -0
- package/src/client/canvas/rendering/batching/batch-renderer.d.mts +71 -0
- package/src/client/canvas/rendering/batching/batch-shader-generator.d.mts +13 -0
- package/src/client/canvas/rendering/blend-modes.d.mts +37 -0
- package/src/client/canvas/rendering/filters/_module.d.mts +13 -0
- package/src/client/canvas/rendering/filters/base-filter.d.mts +28 -0
- package/src/client/canvas/rendering/filters/base-mask-filter.d.mts +14 -0
- package/src/client/canvas/rendering/filters/blur.d.mts +152 -0
- package/src/client/canvas/rendering/filters/effects-masking.d.mts +84 -0
- package/src/client/canvas/rendering/filters/environment.d.mts +22 -0
- package/src/client/canvas/rendering/filters/glow-overlay.d.mts +41 -0
- package/src/client/canvas/rendering/filters/invisibility.d.mts +11 -0
- package/src/client/canvas/rendering/filters/outline-overlay.d.mts +43 -0
- package/src/client/canvas/rendering/filters/smaa/_module.d.mts +4 -0
- package/src/client/canvas/rendering/filters/smaa/blend.d.mts +6 -0
- package/src/client/canvas/rendering/filters/smaa/edges.d.mts +11 -0
- package/src/client/canvas/rendering/filters/smaa/smaa.d.mts +102 -0
- package/src/client/canvas/rendering/filters/smaa/weights.d.mts +11 -0
- package/src/client/canvas/rendering/filters/transition.d.mts +97 -0
- package/src/client/canvas/rendering/filters/visibility.d.mts +46 -0
- package/src/client/canvas/rendering/filters/vision-mask-filter.d.mts +15 -0
- package/src/client/canvas/rendering/filters/void.d.mts +6 -0
- package/src/client/canvas/rendering/filters/weather-occlusion-mask.d.mts +30 -0
- package/src/client/canvas/rendering/mixins/_module.d.mts +2 -0
- package/src/client/canvas/rendering/mixins/base-shader-mixin.d.mts +118 -0
- package/src/client/canvas/rendering/mixins/fragment-channel-mixin.d.mts +21 -0
- package/src/client/canvas/rendering/shaders/_module.d.mts +80 -0
- package/src/client/canvas/rendering/shaders/_types.d.mts +98 -0
- package/src/client/canvas/rendering/shaders/base-shader.d.mts +58 -0
- package/src/client/canvas/rendering/shaders/graphics/dash-line.d.mts +13 -0
- package/src/client/canvas/rendering/shaders/grid/grid.d.mts +99 -0
- package/src/client/canvas/rendering/shaders/lighting/background-lighting.d.mts +50 -0
- package/src/client/canvas/rendering/shaders/lighting/base-lighting.d.mts +164 -0
- package/src/client/canvas/rendering/shaders/lighting/coloration-lighting.d.mts +48 -0
- package/src/client/canvas/rendering/shaders/lighting/darkness-lighting.d.mts +45 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/bewitching-wave.d.mts +10 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/black-hole.d.mts +5 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/chroma.d.mts +5 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/emanation.d.mts +5 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/energy-field.d.mts +5 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/fairy-light.d.mts +10 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/flame.d.mts +75 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/fog.d.mts +5 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/force-grid.d.mts +5 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/ghost-light.d.mts +10 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/hexa-dome.d.mts +5 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/light-dome.d.mts +5 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/magical-gloom.d.mts +5 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/pulse.d.mts +41 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/radial-rainbow.d.mts +5 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/revolving-light.d.mts +38 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/roiling-mass.d.mts +5 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/siren-light.d.mts +80 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/smoke-patch.d.mts +10 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/star-light.d.mts +5 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/sunburst.d.mts +10 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/swirling-rainbow.d.mts +5 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/torch.d.mts +41 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/vortex.d.mts +10 -0
- package/src/client/canvas/rendering/shaders/lighting/effects/wave.d.mts +10 -0
- package/src/client/canvas/rendering/shaders/lighting/illumination-lighting.d.mts +51 -0
- package/src/client/canvas/rendering/shaders/region/adjust-darkness-level.d.mts +58 -0
- package/src/client/canvas/rendering/shaders/region/base.d.mts +20 -0
- package/src/client/canvas/rendering/shaders/region/highlight.d.mts +18 -0
- package/src/client/canvas/rendering/shaders/samplers/amplification.d.mts +30 -0
- package/src/client/canvas/rendering/shaders/samplers/base-sampler.d.mts +141 -0
- package/src/client/canvas/rendering/shaders/samplers/baseline-illumination.d.mts +15 -0
- package/src/client/canvas/rendering/shaders/samplers/color-adjustments.d.mts +36 -0
- package/src/client/canvas/rendering/shaders/samplers/colorize-brightness.d.mts +17 -0
- package/src/client/canvas/rendering/shaders/samplers/fog-of-war.d.mts +9 -0
- package/src/client/canvas/rendering/shaders/samplers/primary/depth.d.mts +66 -0
- package/src/client/canvas/rendering/shaders/samplers/primary/occlusion.d.mts +77 -0
- package/src/client/canvas/rendering/shaders/samplers/primary/primary.d.mts +28 -0
- package/src/client/canvas/rendering/shaders/samplers/primary/token-ring.d.mts +33 -0
- package/src/client/canvas/rendering/shaders/vision/background-vision.d.mts +47 -0
- package/src/client/canvas/rendering/shaders/vision/base-vision.d.mts +11 -0
- package/src/client/canvas/rendering/shaders/vision/coloration-vision.d.mts +43 -0
- package/src/client/canvas/rendering/shaders/vision/effects/amplification.d.mts +35 -0
- package/src/client/canvas/rendering/shaders/vision/effects/wave.d.mts +10 -0
- package/src/client/canvas/rendering/shaders/vision/illumination-vision.d.mts +45 -0
- package/src/client/canvas/rendering/shaders/weather/base-weather.d.mts +87 -0
- package/src/client/canvas/rendering/shaders/weather/effect.d.mts +27 -0
- package/src/client/canvas/rendering/shaders/weather/fog.d.mts +26 -0
- package/src/client/canvas/rendering/shaders/weather/rain.d.mts +16 -0
- package/src/client/canvas/rendering/shaders/weather/snow.d.mts +12 -0
- package/src/client/canvas/scene-manager.d.mts +101 -0
- package/src/client/canvas/sources/_module.d.mts +10 -0
- package/src/client/canvas/sources/base-effect-source.d.mts +179 -0
- package/src/client/canvas/sources/base-light-source.d.mts +141 -0
- package/src/client/canvas/sources/global-light-source.d.mts +36 -0
- package/src/client/canvas/sources/point-darkness-source.d.mts +87 -0
- package/src/client/canvas/sources/point-effect-source.d.mts +105 -0
- package/src/client/canvas/sources/point-light-source.d.mts +54 -0
- package/src/client/canvas/sources/point-movement-source.d.mts +10 -0
- package/src/client/canvas/sources/point-sound-source.d.mts +29 -0
- package/src/client/canvas/sources/point-vision-source.d.mts +151 -0
- package/src/client/canvas/sources/rendered-effect-source.d.mts +214 -0
- package/src/client/canvas/texture-extractor.d.mts +98 -0
- package/src/client/canvas/workers/_module.d.mts +1 -0
- package/src/client/canvas/workers/texture-worker.d.mts +73 -0
- package/src/client/client.d.mts +15 -0
- package/src/client/config.d.mts +868 -0
- package/src/client/data/_module.d.mts +11 -0
- package/src/client/data/_types.d.mts +97 -0
- package/src/client/data/calendar.d.mts +175 -0
- package/src/client/data/client-backend.d.mts +82 -0
- package/src/client/data/combat-config.d.mts +84 -0
- package/src/client/data/region-behaviors/_module.d.mts +9 -0
- package/src/client/data/region-behaviors/adjust-darkness-level.d.mts +29 -0
- package/src/client/data/region-behaviors/base.d.mts +70 -0
- package/src/client/data/region-behaviors/execute-macro.d.mts +17 -0
- package/src/client/data/region-behaviors/execute-script.d.mts +15 -0
- package/src/client/data/region-behaviors/increase-movement-cost.d.mts +36 -0
- package/src/client/data/region-behaviors/pause-game.d.mts +15 -0
- package/src/client/data/region-behaviors/suppress-weather.d.mts +13 -0
- package/src/client/data/region-behaviors/teleport-token.d.mts +27 -0
- package/src/client/data/region-behaviors/toggle-behavior.d.mts +19 -0
- package/src/client/data/region-shapes/_module.d.mts +2 -0
- package/src/client/data/region-shapes/polygon-tree.d.mts +101 -0
- package/src/client/data/region-shapes/shape.d.mts +97 -0
- package/src/client/data/terrain-data.d.mts +70 -0
- package/src/client/dice/_module.d.mts +14 -0
- package/src/client/dice/_types.d.mts +89 -0
- package/src/client/dice/parser.d.mts +83 -0
- package/src/client/dice/roll.d.mts +542 -0
- package/src/client/dice/terms/_module.d.mts +16 -0
- package/src/client/dice/terms/_types.d.mts +10 -0
- package/src/client/dice/terms/coin.d.mts +35 -0
- package/src/client/dice/terms/dice.d.mts +263 -0
- package/src/client/dice/terms/die.d.mts +199 -0
- package/src/client/dice/terms/fate.d.mts +22 -0
- package/src/client/dice/terms/function.d.mts +60 -0
- package/src/client/dice/terms/numeric.d.mts +39 -0
- package/src/client/dice/terms/operator.d.mts +28 -0
- package/src/client/dice/terms/parenthetical.d.mts +70 -0
- package/src/client/dice/terms/pool.d.mts +170 -0
- package/src/client/dice/terms/string.d.mts +23 -0
- package/src/client/dice/terms/term.d.mts +135 -0
- package/src/client/dice/twister.d.mts +87 -0
- package/src/client/documents/_module.d.mts +70 -0
- package/src/client/documents/_types.d.mts +736 -0
- package/src/client/documents/abstract/_module.d.mts +6 -0
- package/src/client/documents/abstract/canvas-document.d.mts +65 -0
- package/src/client/documents/abstract/client-document.d.mts +545 -0
- package/src/client/documents/abstract/directory-collection-mixin.d.mts +79 -0
- package/src/client/documents/abstract/document-collection.d.mts +124 -0
- package/src/client/documents/abstract/world-collection.d.mts +157 -0
- package/src/client/documents/active-effect.d.mts +203 -0
- package/src/client/documents/actor-delta.d.mts +76 -0
- package/src/client/documents/actor.d.mts +269 -0
- package/src/client/documents/adventure.d.mts +38 -0
- package/src/client/documents/ambient-light.d.mts +34 -0
- package/src/client/documents/ambient-sound.d.mts +16 -0
- package/src/client/documents/card.d.mts +102 -0
- package/src/client/documents/cards.d.mts +38 -0
- package/src/client/documents/chat-message.d.mts +190 -0
- package/src/client/documents/collections/_module.d.mts +19 -0
- package/src/client/documents/collections/actors.d.mts +28 -0
- package/src/client/documents/collections/card-stacks.d.mts +14 -0
- package/src/client/documents/collections/chat-messages.d.mts +29 -0
- package/src/client/documents/collections/combat-encounters.d.mts +32 -0
- package/src/client/documents/collections/compendium-collection.d.mts +170 -0
- package/src/client/documents/collections/compendium-folders.d.mts +30 -0
- package/src/client/documents/collections/compendium-packs.d.mts +23 -0
- package/src/client/documents/collections/fog-explorations.d.mts +19 -0
- package/src/client/documents/collections/folders.d.mts +20 -0
- package/src/client/documents/collections/items.d.mts +13 -0
- package/src/client/documents/collections/journal.d.mts +24 -0
- package/src/client/documents/collections/macros.d.mts +15 -0
- package/src/client/documents/collections/playlists.d.mts +28 -0
- package/src/client/documents/collections/roll-tables.d.mts +20 -0
- package/src/client/documents/collections/scenes.d.mts +60 -0
- package/src/client/documents/collections/users.d.mts +57 -0
- package/src/client/documents/collections/world-settings.d.mts +34 -0
- package/src/client/documents/combat.d.mts +371 -0
- package/src/client/documents/combatant-group.d.mts +42 -0
- package/src/client/documents/combatant.d.mts +125 -0
- package/src/client/documents/drawing.d.mts +27 -0
- package/src/client/documents/fog-exploration.d.mts +30 -0
- package/src/client/documents/folder.d.mts +124 -0
- package/src/client/documents/item.d.mts +73 -0
- package/src/client/documents/journal-entry-category.d.mts +15 -0
- package/src/client/documents/journal-entry-page.d.mts +77 -0
- package/src/client/documents/journal-entry.d.mts +78 -0
- package/src/client/documents/macro.d.mts +56 -0
- package/src/client/documents/measured-template.d.mts +41 -0
- package/src/client/documents/note.d.mts +28 -0
- package/src/client/documents/playlist-sound.d.mts +107 -0
- package/src/client/documents/playlist.d.mts +163 -0
- package/src/client/documents/region-behavior.d.mts +55 -0
- package/src/client/documents/region.d.mts +98 -0
- package/src/client/documents/roll-table.d.mts +172 -0
- package/src/client/documents/scene.d.mts +282 -0
- package/src/client/documents/setting.d.mts +35 -0
- package/src/client/documents/table-result.d.mts +35 -0
- package/src/client/documents/tile.d.mts +22 -0
- package/src/client/documents/token.d.mts +621 -0
- package/src/client/documents/user.d.mts +148 -0
- package/src/client/documents/wall.d.mts +20 -0
- package/src/client/game.d.mts +231 -0
- package/src/client/global.d.mts +28 -0
- package/src/client/helpers/_module.d.mts +13 -0
- package/src/client/helpers/_types.d.mts +26 -0
- package/src/client/helpers/client-issues.d.mts +90 -0
- package/src/client/helpers/client-settings.d.mts +191 -0
- package/src/client/helpers/document-index.d.mts +81 -0
- package/src/client/helpers/hooks.d.mts +210 -0
- package/src/client/helpers/interaction/_module.d.mts +6 -0
- package/src/client/helpers/interaction/client-keybindings.d.mts +143 -0
- package/src/client/helpers/interaction/clipboard-helper.d.mts +14 -0
- package/src/client/helpers/interaction/gamepad-manager.d.mts +15 -0
- package/src/client/helpers/interaction/keyboard-manager.d.mts +189 -0
- package/src/client/helpers/interaction/mouse-manager.d.mts +20 -0
- package/src/client/helpers/interaction/tooltip-manager.d.mts +227 -0
- package/src/client/helpers/localization.d.mts +143 -0
- package/src/client/helpers/media/_module.d.mts +3 -0
- package/src/client/helpers/media/compendium-art.d.mts +29 -0
- package/src/client/helpers/media/image-helper.d.mts +116 -0
- package/src/client/helpers/media/video-helper.d.mts +113 -0
- package/src/client/helpers/socket-interface.d.mts +14 -0
- package/src/client/helpers/time.d.mts +92 -0
- package/src/client/helpers/workers.d.mts +92 -0
- package/src/client/nue/_module.d.mts +13 -0
- package/src/client/nue/nue-manager.d.mts +13 -0
- package/src/client/nue/tour.d.mts +283 -0
- package/src/client/nue/tours/_module.d.mts +1 -0
- package/src/client/nue/tours-collection.d.mts +23 -0
- package/src/client/packages/_module.d.mts +19 -0
- package/src/client/packages/_types.d.mts +12 -0
- package/src/client/packages/client-package.mts +145 -0
- package/src/client/packages/module.d.mts +12 -0
- package/src/client/packages/system.d.mts +9 -0
- package/src/client/packages/world.d.mts +28 -0
- package/src/client/ui.d.mts +86 -0
- package/src/client/utils/_module.d.mts +4 -0
- package/src/client/utils/helpers.d.mts +148 -0
- package/src/common/_types.d.mts +151 -0
- package/src/common/abstract/_module.d.mts +8 -0
- package/src/common/abstract/_types.d.mts +187 -0
- package/src/common/abstract/backend.d.mts +159 -0
- package/src/common/abstract/data.d.mts +213 -0
- package/src/common/abstract/document.d.mts +700 -0
- package/src/common/abstract/embedded-collection.d.mts +141 -0
- package/src/common/abstract/socket.d.mts +35 -0
- package/src/common/abstract/type-data.d.mts +163 -0
- package/src/common/config.d.mts +147 -0
- package/src/common/constants.d.mts +2184 -0
- package/src/common/data/_module.d.mts +6 -0
- package/src/common/data/_types.d.mts +329 -0
- package/src/common/data/data.d.mts +390 -0
- package/src/common/data/fields.d.mts +1377 -0
- package/src/common/data/validation-failure.d.mts +127 -0
- package/src/common/data/validators.d.mts +35 -0
- package/src/common/documents/_module.d.mts +64 -0
- package/src/common/documents/_types.d.mts +1 -0
- package/src/common/documents/active-effect.d.mts +87 -0
- package/src/common/documents/actor-delta.d.mts +81 -0
- package/src/common/documents/actor.d.mts +105 -0
- package/src/common/documents/adventure.d.mts +105 -0
- package/src/common/documents/ambient-light.d.mts +49 -0
- package/src/common/documents/ambient-sound.d.mts +72 -0
- package/src/common/documents/card.d.mts +98 -0
- package/src/common/documents/cards.d.mts +89 -0
- package/src/common/documents/chat-message.d.mts +107 -0
- package/src/common/documents/combat.d.mts +55 -0
- package/src/common/documents/combatant-group.d.mts +45 -0
- package/src/common/documents/combatant.d.mts +48 -0
- package/src/common/documents/drawing.d.mts +101 -0
- package/src/common/documents/fog-exploration.d.mts +50 -0
- package/src/common/documents/folder.d.mts +65 -0
- package/src/common/documents/item.d.mts +86 -0
- package/src/common/documents/journal-entry-category.d.mts +32 -0
- package/src/common/documents/journal-entry-page.d.mts +76 -0
- package/src/common/documents/journal-entry.d.mts +50 -0
- package/src/common/documents/macro.d.mts +87 -0
- package/src/common/documents/measured-template.d.mts +72 -0
- package/src/common/documents/note.d.mts +82 -0
- package/src/common/documents/playlist-sound.d.mts +53 -0
- package/src/common/documents/playlist.d.mts +48 -0
- package/src/common/documents/region-behavior.d.mts +49 -0
- package/src/common/documents/region.d.mts +61 -0
- package/src/common/documents/roll-table.d.mts +70 -0
- package/src/common/documents/scene.d.mts +237 -0
- package/src/common/documents/setting.d.mts +49 -0
- package/src/common/documents/table-result.d.mts +61 -0
- package/src/common/documents/tile.d.mts +88 -0
- package/src/common/documents/token.d.mts +213 -0
- package/src/common/documents/user.d.mts +82 -0
- package/src/common/documents/wall.d.mts +72 -0
- package/src/common/grid/_module.d.mts +6 -0
- package/src/common/grid/_types.d.mts +250 -0
- package/src/common/grid/base.d.mts +266 -0
- package/src/common/grid/grid-hex.d.mts +53 -0
- package/src/common/grid/gridless.d.mts +85 -0
- package/src/common/grid/hexagonal.d.mts +191 -0
- package/src/common/grid/square.d.mts +90 -0
- package/src/common/packages/_module.d.mts +6 -0
- package/src/common/packages/_types.d.mts +7 -0
- package/src/common/packages/base-module.d.mts +32 -0
- package/src/common/packages/base-package.d.mts +297 -0
- package/src/common/packages/base-system.d.mts +42 -0
- package/src/common/packages/base-world.d.mts +51 -0
- package/src/common/packages/sub-types.d.mts +12 -0
- package/src/common/primitives/_module.d.mts +10 -0
- package/src/common/primitives/array.d.mts +58 -0
- package/src/common/primitives/date.d.mts +24 -0
- package/src/common/primitives/math.d.mts +70 -0
- package/src/common/primitives/number.d.mts +79 -0
- package/src/common/primitives/regexp.d.mts +12 -0
- package/src/common/primitives/set.d.mts +129 -0
- package/src/common/primitives/string.d.mts +24 -0
- package/src/common/primitives/url.d.mts +12 -0
- package/src/common/prosemirror/_module.d.mts +77 -0
- package/src/common/prosemirror/_types.d.mts +75 -0
- package/src/common/prosemirror/click-handler.d.mts +24 -0
- package/src/common/prosemirror/content-link-plugin.d.mts +34 -0
- package/src/common/prosemirror/dirty-plugin.d.mts +10 -0
- package/src/common/prosemirror/dom-parser.d.mts +7 -0
- package/src/common/prosemirror/dropdown.d.mts +50 -0
- package/src/common/prosemirror/highlight-matches-plugin.d.mts +38 -0
- package/src/common/prosemirror/image-plugin.d.mts +70 -0
- package/src/common/prosemirror/input-rules.d.mts +24 -0
- package/src/common/prosemirror/keymaps.d.mts +27 -0
- package/src/common/prosemirror/menu.d.mts +206 -0
- package/src/common/prosemirror/paste-transformer.d.mts +10 -0
- package/src/common/prosemirror/plugin.d.mts +21 -0
- package/src/common/prosemirror/schema/_types.d.mts +15 -0
- package/src/common/prosemirror/schema/attribute-capture.d.mts +13 -0
- package/src/common/prosemirror/schema/core.d.mts +58 -0
- package/src/common/prosemirror/schema/image-link-node.d.mts +27 -0
- package/src/common/prosemirror/schema/image-node.d.mts +17 -0
- package/src/common/prosemirror/schema/link-mark.d.mts +29 -0
- package/src/common/prosemirror/schema/lists.d.mts +71 -0
- package/src/common/prosemirror/schema/marks.d.mts +49 -0
- package/src/common/prosemirror/schema/other.d.mts +161 -0
- package/src/common/prosemirror/schema/schema-definition.d.mts +43 -0
- package/src/common/prosemirror/schema/secret-node.d.mts +25 -0
- package/src/common/prosemirror/schema/tables.d.mts +161 -0
- package/src/common/prosemirror/schema/utils.d.mts +37 -0
- package/src/common/prosemirror/schema.d.mts +7 -0
- package/src/common/prosemirror/string-serializer.d.mts +84 -0
- package/src/common/prosemirror/util.d.mts +32 -0
- package/src/common/utils/_module.d.mts +19 -0
- package/src/common/utils/_types.d.mts +83 -0
- package/src/common/utils/bitmask.d.mts +122 -0
- package/src/common/utils/collection.d.mts +148 -0
- package/src/common/utils/color.d.mts +308 -0
- package/src/common/utils/event-emitter.d.mts +36 -0
- package/src/common/utils/geometry.d.mts +94 -0
- package/src/common/utils/helpers.d.mts +396 -0
- package/src/common/utils/http.d.mts +40 -0
- package/src/common/utils/iterable-weak-map.d.mts +26 -0
- package/src/common/utils/iterable-weak-set.d.mts +1 -0
- package/src/common/utils/logging.d.mts +25 -0
- package/src/common/utils/semaphore.d.mts +59 -0
- package/src/common/utils/string-tree.d.mts +60 -0
- package/src/common/utils/word-tree.d.mts +34 -0
- package/src/global-external.d.mts +48 -0
- package/src/index.d.ts +87 -0
- package/src/public/scripts/clipper.d.mts +920 -0
- package/src/tinymce-stub.d.mts +123 -0
- package/src/util.d.mts +67 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A custom HTMLElement that is used to wrap enriched content that requires additional interactivity.
|
|
3
|
+
*/
|
|
4
|
+
export default class HTMLDocumentEmbedElement extends HTMLElement {
|
|
5
|
+
/**
|
|
6
|
+
* The HTML tag named used by this element.
|
|
7
|
+
*/
|
|
8
|
+
static tagName: "document-embed";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Invoke the Document#onEmbed callback when it is added to the DOM.
|
|
12
|
+
*/
|
|
13
|
+
connectedCallback(): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { FormInputConfig } from "./../../../common/data/_types.mjs";
|
|
2
|
+
import { DocumentUUID } from "./../../utils/_module.mjs";
|
|
3
|
+
import AbstractFormInputElement from "./form-element.mjs";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A custom HTMLElement used to render a set of associated Documents referenced by UUID.
|
|
7
|
+
*/
|
|
8
|
+
export default class HTMLDocumentTagsElement extends AbstractFormInputElement<Record<string, string>, string | string[] | null> {
|
|
9
|
+
static override tagName: "document-tags";
|
|
10
|
+
|
|
11
|
+
/** Restrict this element to documents of a particular type. */
|
|
12
|
+
get type(): string | null;
|
|
13
|
+
set type(value: string | null);
|
|
14
|
+
|
|
15
|
+
/** Restrict to only allow referencing a single Document instead of an array of documents. */
|
|
16
|
+
get single(): boolean;
|
|
17
|
+
set single(value: boolean);
|
|
18
|
+
|
|
19
|
+
/** Allow a maximum number of documents to be tagged to the element. */
|
|
20
|
+
get max(): number;
|
|
21
|
+
set max(value: number | null);
|
|
22
|
+
|
|
23
|
+
/** Initialize innerText or an initial value attribute of the element as a serialized JSON array. */
|
|
24
|
+
protected _initializeTags(): void;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Create an HTML string fragment for a single document tag.
|
|
28
|
+
* @param uuid The document UUID
|
|
29
|
+
* @param name The document name
|
|
30
|
+
* @param [editable=true] Is the tag editable?
|
|
31
|
+
*/
|
|
32
|
+
static renderTag(uuid: DocumentUUID, name: string, editable?: boolean): string;
|
|
33
|
+
|
|
34
|
+
/** Create a HTMLDocumentTagsElement using provided configuration data. */
|
|
35
|
+
static create(config: DocumentTagsInputConfig): HTMLDocumentTagsElement;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
declare global {
|
|
39
|
+
interface DocumentTagsInputConfig extends FormInputConfig<string[]> {
|
|
40
|
+
/** A specific document type in CONST.ALL_DOCUMENT_TYPES */
|
|
41
|
+
type?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Only allow referencing a single document. In this case the submitted form value will be a single UUID string
|
|
44
|
+
* rather than an array
|
|
45
|
+
*/
|
|
46
|
+
single?: boolean;
|
|
47
|
+
/** Only allow attaching a maximum number of documents */
|
|
48
|
+
max?: number;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A custom HTMLElement that is used to wrap enriched content that requires additional interactivity.
|
|
3
|
+
*/
|
|
4
|
+
export default class HTMLEnrichedContentElement extends HTMLElement {
|
|
5
|
+
/**
|
|
6
|
+
* The HTML tag named used by this element.
|
|
7
|
+
*/
|
|
8
|
+
static tagName: string;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Attributes requiring change notifications
|
|
12
|
+
*/
|
|
13
|
+
static observedAttributes: string[];
|
|
14
|
+
|
|
15
|
+
/* -------------------------------------------- */
|
|
16
|
+
/* Element Lifecycle */
|
|
17
|
+
/* -------------------------------------------- */
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Invoke the enricher onRender callback when it is added to the DOM.
|
|
21
|
+
*/
|
|
22
|
+
connectedCallback(): void;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Fire a callback on change to an observed attribute.
|
|
26
|
+
* @param attrName The name of the attribute
|
|
27
|
+
* @param oldValue The old value: null indicates the attribute was not present.
|
|
28
|
+
* @param newValue The new value: null indicates the attribute is removed.
|
|
29
|
+
*/
|
|
30
|
+
attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null): void;
|
|
31
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import FilePicker, { FilePickerFileType } from "../apps/file-picker.mjs";
|
|
2
|
+
import { FormInputConfig } from "./../../../common/data/_module.mjs";
|
|
3
|
+
import AbstractFormInputElement from "./form-element.mjs";
|
|
4
|
+
|
|
5
|
+
export interface FilePickerInputConfig extends FormInputConfig<string> {
|
|
6
|
+
type?: FilePickerFileType;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
noupload?: boolean;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A custom HTML element responsible for rendering a file input field and associated FilePicker button.
|
|
13
|
+
*/
|
|
14
|
+
export default class HTMLFilePickerElement extends AbstractFormInputElement<string> {
|
|
15
|
+
static override tagName: "file-picker";
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The file path selected.
|
|
19
|
+
*/
|
|
20
|
+
input: HTMLInputElement;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* A button to open the file picker interface.
|
|
24
|
+
*/
|
|
25
|
+
button: HTMLButtonElement;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* A reference to the FilePicker application instance originated by this element.
|
|
29
|
+
*/
|
|
30
|
+
picker: FilePicker;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* A type of file which can be selected in this field.
|
|
34
|
+
* @see {@link foundry.applications.apps.FilePicker.FILE_TYPES}
|
|
35
|
+
*/
|
|
36
|
+
get type(): FilePickerFileType;
|
|
37
|
+
|
|
38
|
+
set type(value);
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Prevent uploading new files as part of this element's FilePicker dialog.
|
|
42
|
+
*/
|
|
43
|
+
get noupload(): boolean;
|
|
44
|
+
|
|
45
|
+
set noupload(value);
|
|
46
|
+
|
|
47
|
+
protected override _buildElements(): HTMLElement[];
|
|
48
|
+
|
|
49
|
+
protected override _refresh(): void;
|
|
50
|
+
|
|
51
|
+
protected override _toggleDisabled(disabled: boolean): void;
|
|
52
|
+
|
|
53
|
+
protected override _activateListeners(): void;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Create a HTMLFilePickerElement using provided configuration data.
|
|
57
|
+
*/
|
|
58
|
+
static create(config: FilePickerInputConfig): HTMLFilePickerElement;
|
|
59
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An abstract custom HTMLElement designed for use with form inputs.
|
|
3
|
+
*
|
|
4
|
+
* @fires {Event} input An "input" event when the value of the input changes
|
|
5
|
+
* @fires {Event} change A "change" event when the value of the element changes
|
|
6
|
+
*/
|
|
7
|
+
export default abstract class AbstractFormInputElement<TInternalValue, TInputValue = TInternalValue> extends HTMLElement {
|
|
8
|
+
/** The HTML tag name used by this element. */
|
|
9
|
+
static tagName: string;
|
|
10
|
+
|
|
11
|
+
/** Declare that this custom element provides form element functionality. */
|
|
12
|
+
static formAssociated: boolean;
|
|
13
|
+
|
|
14
|
+
/** Attributes requiring change notifications */
|
|
15
|
+
static observedAttributes: string[];
|
|
16
|
+
|
|
17
|
+
/** Attached ElementInternals which provides form handling functionality. */
|
|
18
|
+
protected _internals: ElementInternals;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The primary input (if any). Used to determine what element should receive focus when an associated label is clicked
|
|
22
|
+
* on.
|
|
23
|
+
*/
|
|
24
|
+
protected _primaryInput: HTMLElement;
|
|
25
|
+
|
|
26
|
+
/** The form this element belongs to. */
|
|
27
|
+
get form(): HTMLFormElement;
|
|
28
|
+
|
|
29
|
+
/* -------------------------------------------- */
|
|
30
|
+
/* Element Properties */
|
|
31
|
+
/* -------------------------------------------- */
|
|
32
|
+
|
|
33
|
+
/** The input element name. */
|
|
34
|
+
get name(): string;
|
|
35
|
+
set name(value);
|
|
36
|
+
|
|
37
|
+
/** The value of the input element. */
|
|
38
|
+
get value(): TInputValue;
|
|
39
|
+
set value(value: string | TInputValue);
|
|
40
|
+
|
|
41
|
+
/** The underlying value of the element. */
|
|
42
|
+
protected _value: TInternalValue;
|
|
43
|
+
|
|
44
|
+
/** Return the value of the input element which should be submitted to the form. */
|
|
45
|
+
protected _getValue(): TInternalValue;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Translate user-provided input value into the format that should be stored.
|
|
49
|
+
* @param value A new value to assign to the element
|
|
50
|
+
* @throws An error if the provided value is invalid
|
|
51
|
+
*/
|
|
52
|
+
protected _setValue(value: TInputValue): void;
|
|
53
|
+
|
|
54
|
+
/** Is this element disabled? */
|
|
55
|
+
get disabled(): boolean;
|
|
56
|
+
set disabled(value: boolean);
|
|
57
|
+
|
|
58
|
+
/** Is this field editable? The field can be neither disabled nor readonly. */
|
|
59
|
+
get editable(): boolean;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Special behaviors that the subclass should implement when toggling the disabled state of the input.
|
|
63
|
+
* @param disabled The new disabled state
|
|
64
|
+
*/
|
|
65
|
+
protected _toggleDisabled(disabled: boolean): void;
|
|
66
|
+
|
|
67
|
+
/* -------------------------------------------- */
|
|
68
|
+
/* Element Lifecycle */
|
|
69
|
+
/* -------------------------------------------- */
|
|
70
|
+
|
|
71
|
+
/** Initialize the custom element, constructing its HTML. */
|
|
72
|
+
connectedCallback(): void;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Create the HTML elements that should be included in this custom element.
|
|
76
|
+
* Elements are returned as an array of ordered children.
|
|
77
|
+
*/
|
|
78
|
+
protected _buildElements(): HTMLElement[];
|
|
79
|
+
|
|
80
|
+
/** Refresh the active state of the custom element. */
|
|
81
|
+
protected _refresh(): void;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Apply key attributes on the containing custom HTML element to input elements contained within it.
|
|
85
|
+
* @internal
|
|
86
|
+
*/
|
|
87
|
+
_applyInputAttributes(input: HTMLInputElement): void;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Fire a callback on change to an observed attribute.
|
|
91
|
+
* @param attrName The name of the attribute
|
|
92
|
+
* @param oldValue The old value: null indicates the attribute was not present.
|
|
93
|
+
* @param newValue The new value: null indicates the attribute is removed.
|
|
94
|
+
*/
|
|
95
|
+
attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null): void;
|
|
96
|
+
|
|
97
|
+
/** Activate event listeners which add dynamic behavior to the custom element. */
|
|
98
|
+
protected _activateListeners(): void;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Special handling when the custom element is clicked. This should be implemented to transfer focus to an
|
|
102
|
+
* appropriate internal element.
|
|
103
|
+
*/
|
|
104
|
+
protected _onClick(event: PointerEvent): void;
|
|
105
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { HexColorString } from "./../../../common/constants.mjs";
|
|
2
|
+
import { FormInputConfig } from "./../../../common/data/_types.mjs";
|
|
3
|
+
import AbstractFormInputElement from "./form-element.mjs";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A class designed to standardize the behavior for a hue selector UI component.
|
|
7
|
+
*/
|
|
8
|
+
export default class HTMLHueSelectorSlider extends AbstractFormInputElement<number> {
|
|
9
|
+
static override tagName: "hue-slider";
|
|
10
|
+
|
|
11
|
+
protected override _buildElements(): [HTMLInputElement];
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Refresh the active state of the custom element.
|
|
15
|
+
*/
|
|
16
|
+
protected _refresh(): void;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Activate event listeners which add dynamic behavior to the custom element.
|
|
20
|
+
*/
|
|
21
|
+
protected _activateListeners(): void;
|
|
22
|
+
|
|
23
|
+
/* -------------------------------------------- */
|
|
24
|
+
/* Form Handling */
|
|
25
|
+
/* -------------------------------------------- */
|
|
26
|
+
|
|
27
|
+
protected override _setValue(value: string | number): void;
|
|
28
|
+
|
|
29
|
+
protected override _toggleDisabled(disabled: boolean): void;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Create a HTMLHueSelectorSlider using provided configuration data.
|
|
33
|
+
*/
|
|
34
|
+
static create(config: FormInputConfig<HexColorString>): HTMLHueSelectorSlider;
|
|
35
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { MultiSelectInputConfig } from "../forms/fields.mjs";
|
|
2
|
+
import AbstractFormInputElement from "./form-element.mjs";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* An abstract base class designed to standardize the behavior for a multi-select UI component.
|
|
6
|
+
* Multi-select components return an array of values as part of form submission.
|
|
7
|
+
* Different implementations may provide different experiences around how inputs are presented to the user.
|
|
8
|
+
*/
|
|
9
|
+
export abstract class AbstractMultiSelectElement extends AbstractFormInputElement<string[], string[]> {
|
|
10
|
+
/** Predefined <option> and <optgroup> elements which were defined in the original HTML. */
|
|
11
|
+
protected _options: (HTMLOptionElement | HTMLOptGroupElement)[];
|
|
12
|
+
|
|
13
|
+
/** An object which maps option values to displayed labels. */
|
|
14
|
+
protected _choices: Record<string, string>;
|
|
15
|
+
|
|
16
|
+
/** Preserve existing <option> and <optgroup> elements which are defined in the original HTML. */
|
|
17
|
+
protected _initialize(): void;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Mark a choice as selected.
|
|
21
|
+
* @param value The value to add to the chosen set
|
|
22
|
+
*/
|
|
23
|
+
select(value: string): void;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Mark a choice as un-selected.
|
|
27
|
+
* @param value The value to delete from the chosen set
|
|
28
|
+
*/
|
|
29
|
+
unselect(value: string): void;
|
|
30
|
+
|
|
31
|
+
/* -------------------------------------------- */
|
|
32
|
+
/* Form Handling */
|
|
33
|
+
/* -------------------------------------------- */
|
|
34
|
+
|
|
35
|
+
override _getValue(): string[];
|
|
36
|
+
|
|
37
|
+
override _setValue(value: string[]): void;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Provide a multi-select workflow using a select element as the input mechanism.
|
|
42
|
+
*
|
|
43
|
+
* @example Multi-Select HTML Markup
|
|
44
|
+
* ```html
|
|
45
|
+
* <multi-select name="select-many-things">
|
|
46
|
+
* <optgroup label="Basic Options">
|
|
47
|
+
* <option value="foo">Foo</option>
|
|
48
|
+
* <option value="bar">Bar</option>
|
|
49
|
+
* <option value="baz">Baz</option>
|
|
50
|
+
* </optgroup>
|
|
51
|
+
* <optgroup label="Advanced Options">
|
|
52
|
+
* <option value="fizz">Fizz</option>
|
|
53
|
+
* <option value="buzz">Buzz</option>
|
|
54
|
+
* </optgroup>
|
|
55
|
+
* </multi-select>
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export class HTMLMultiSelectElement extends AbstractMultiSelectElement {
|
|
59
|
+
static override tagName: "multi-select";
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Create a HTMLMultiSelectElement using provided configuration data.
|
|
63
|
+
* @param {FormInputConfig<string[]> & Omit<SelectInputConfig, "blank">} config
|
|
64
|
+
* @returns {HTMLMultiSelectElement}
|
|
65
|
+
*/
|
|
66
|
+
static create(config: MultiSelectInputConfig): HTMLMultiSelectElement;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Provide a multi-select workflow as a grid of input checkbox elements.
|
|
71
|
+
*
|
|
72
|
+
* @example Multi-Checkbox HTML Markup
|
|
73
|
+
* ```html
|
|
74
|
+
* <multi-checkbox name="check-many-boxes">
|
|
75
|
+
* <optgroup label="Basic Options">
|
|
76
|
+
* <option value="foo">Foo</option>
|
|
77
|
+
* <option value="bar">Bar</option>
|
|
78
|
+
* <option value="baz">Baz</option>
|
|
79
|
+
* </optgroup>
|
|
80
|
+
* <optgroup label="Advanced Options">
|
|
81
|
+
* <option value="fizz">Fizz</option>
|
|
82
|
+
* <option value="buzz">Buzz</option>
|
|
83
|
+
* </optgroup>
|
|
84
|
+
* </multi-checkbox>
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export class HTMLMultiCheckboxElement extends AbstractMultiSelectElement {
|
|
88
|
+
static override tagName: "multi-checkbox";
|
|
89
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as ProseMirror from "prosemirror-state";
|
|
2
|
+
import { FormInputConfig } from "./../../../common/data/_types.mjs";
|
|
3
|
+
import { DocumentUUID } from "./../../utils/_module.mjs";
|
|
4
|
+
import AbstractFormInputElement from "./form-element.mjs";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* A custom HTML element responsible displaying a ProseMirror rich text editor.
|
|
8
|
+
*/
|
|
9
|
+
export default class HTMLProseMirrorElement extends AbstractFormInputElement<string> {
|
|
10
|
+
static override tagName: "prose-mirror";
|
|
11
|
+
|
|
12
|
+
disconnectedCallback(): void;
|
|
13
|
+
|
|
14
|
+
/** Configure ProseMirror editor plugins. */
|
|
15
|
+
protected _configurePlugins(): Record<string, ProseMirror.Plugin>;
|
|
16
|
+
|
|
17
|
+
/** Create a HTMLProseMirrorElement using provided configuration data. */
|
|
18
|
+
static create(config: ProseMirrorInputConfig): HTMLProseMirrorElement;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
declare global {
|
|
22
|
+
interface ProseMirrorInputConfig extends FormInputConfig<string> {
|
|
23
|
+
/** Is this editor toggled (true) or always active (false) */
|
|
24
|
+
toggled: boolean;
|
|
25
|
+
/** If the editor is toggled, provide the enrichedHTML which is displayed while the editor is not active */
|
|
26
|
+
enriched?: string;
|
|
27
|
+
/** Does this editor instance support collaborative editing? */
|
|
28
|
+
collaborate: boolean;
|
|
29
|
+
/** A Document UUID. Required for collaborative editing */
|
|
30
|
+
documentUUID?: DocumentUUID;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { FormInputConfig } from "./../../../common/data/_module.mjs";
|
|
2
|
+
import AbstractFormInputElement from "./form-element.mjs";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A custom HTML element responsible selecting a value on a range slider with a linked number input field.
|
|
6
|
+
*/
|
|
7
|
+
export default class HTMLRangePickerElement extends AbstractFormInputElement<number> {
|
|
8
|
+
static override tagName: "range-picker";
|
|
9
|
+
|
|
10
|
+
/** The value of the input element. */
|
|
11
|
+
get valueAsNumber(): number;
|
|
12
|
+
|
|
13
|
+
protected override _buildElements(): HTMLInputElement[];
|
|
14
|
+
|
|
15
|
+
/** Create a HTMLRangePickerElement using provided configuration data. */
|
|
16
|
+
static create(config: RangePickerInputConfig): HTMLRangePickerElement;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface RangePickerInputConfig extends FormInputConfig<number> {
|
|
20
|
+
min: number;
|
|
21
|
+
max: number;
|
|
22
|
+
step?: number;
|
|
23
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A custom HTML element used to wrap secret blocks in HTML content in order to provide additional interactivity.
|
|
3
|
+
*/
|
|
4
|
+
export default class HTMLSecretBlockElement extends HTMLElement {
|
|
5
|
+
/**
|
|
6
|
+
* The HTML tag named used by this element.
|
|
7
|
+
*/
|
|
8
|
+
static tagName: "secret-block";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The wrapped secret block.
|
|
12
|
+
*/
|
|
13
|
+
get secret(): HTMLElement;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The revealed state of the secret block.
|
|
17
|
+
*/
|
|
18
|
+
get revealed(): boolean;
|
|
19
|
+
|
|
20
|
+
connectedCallback(): void;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Toggle the secret revealed or hidden state in content that this secret block represents.
|
|
24
|
+
* @param content The raw string content for this secret.
|
|
25
|
+
* @returns The modified raw content.
|
|
26
|
+
*/
|
|
27
|
+
toggleRevealed(content: string): string;
|
|
28
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { FormInputConfig } from "./../../../common/data/_module.mjs";
|
|
2
|
+
import AbstractFormInputElement from "./form-element.mjs";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A custom HTML element which allows for arbitrary assignment of a set of string tags.
|
|
6
|
+
* This element may be used directly or subclassed to impose additional validation or functionality.
|
|
7
|
+
*/
|
|
8
|
+
export default class HTMLStringTagsElement extends AbstractFormInputElement<Set<string>, string[]> {
|
|
9
|
+
static override tagName: "string-tags";
|
|
10
|
+
|
|
11
|
+
static icons: {
|
|
12
|
+
add: string;
|
|
13
|
+
remove: string;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
static labels: {
|
|
17
|
+
add: string;
|
|
18
|
+
remove: string;
|
|
19
|
+
placeholder: string;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Initialize innerText or an initial value attribute of the element as a comma-separated list of currently assigned
|
|
24
|
+
* string tags.
|
|
25
|
+
*/
|
|
26
|
+
protected _initializeTags(): void;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Subclasses may impose more strict validation on what tags are allowed.
|
|
30
|
+
* @param tag A candidate tag
|
|
31
|
+
* @throws An error if the candidate tag is not allowed
|
|
32
|
+
*/
|
|
33
|
+
protected _validateTag(tag: string): void;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Render the HTML fragment used to represent a tag.
|
|
37
|
+
* @param tag The raw tag value
|
|
38
|
+
* @param label An optional tag element
|
|
39
|
+
* @param [editable=true] Is the tag editable?
|
|
40
|
+
* @returns An HTML string for the tag
|
|
41
|
+
*/
|
|
42
|
+
static renderTag(tag: string, label?: string, editable?: boolean): string;
|
|
43
|
+
|
|
44
|
+
/* -------------------------------------------- */
|
|
45
|
+
/* Form Handling */
|
|
46
|
+
/* -------------------------------------------- */
|
|
47
|
+
|
|
48
|
+
/** Create a HTMLStringTagsElement using provided configuration data. */
|
|
49
|
+
static create(config: FormInputConfig<string>): HTMLStringTagsElement;
|
|
50
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { HTMLMultiSelectElement } from "../elements/multi-select.mjs";
|
|
2
|
+
import { FormGroupConfig, FormInputConfig } from "./../../../common/data/_types.mjs";
|
|
3
|
+
|
|
4
|
+
/** Create a standardized form field group. */
|
|
5
|
+
export function createFormGroup(config: FormGroupConfig): HTMLDivElement;
|
|
6
|
+
|
|
7
|
+
/** Create an `<input type="checkbox">` element for a BooleanField. */
|
|
8
|
+
export function createCheckboxInput(config: FormInputConfig<boolean>): HTMLInputElement;
|
|
9
|
+
|
|
10
|
+
/** Create a `<div class="editor">` element for a StringField. */
|
|
11
|
+
export function createEditorInput(config: EditorInputConfig): HTMLDivElement;
|
|
12
|
+
|
|
13
|
+
/** Create a `<multi-select>` element for a StringField. */
|
|
14
|
+
export function createMultiSelectInput(config: MultiSelectInputConfig): HTMLMultiSelectElement;
|
|
15
|
+
|
|
16
|
+
/** Create an `<input type="number">` element foFormInputConfig<number> & NumberInputConfigr a NumberField. */
|
|
17
|
+
export function createNumberInput(config: NumberInputConfig): HTMLInputElement;
|
|
18
|
+
|
|
19
|
+
/** Create a `<select>` element for a StringField. */
|
|
20
|
+
export function createSelectInput(config: SelectInputConfig): HTMLSelectElement;
|
|
21
|
+
|
|
22
|
+
/** Create a `<textarea>` element for a StringField. */
|
|
23
|
+
export function createTextareaInput(config: TextAreaInputConfig): HTMLTextAreaElement;
|
|
24
|
+
|
|
25
|
+
/** Create an `<input type="text">` element for a StringField. */
|
|
26
|
+
export function createTextInput(config: FormInputConfig<string>): HTMLInputElement;
|
|
27
|
+
|
|
28
|
+
/* ---------------------------------------- */
|
|
29
|
+
/* Helper Methods */
|
|
30
|
+
/* ---------------------------------------- */
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Structure a provided array of select options into a standardized format for rendering optgroup and option elements.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* const options = [
|
|
37
|
+
* {value: "bar", label: "Bar", selected: true, group: "Good Options"},
|
|
38
|
+
* {value: "foo", label: "Foo", disabled: true, group: "Bad Options"},
|
|
39
|
+
* {value: "baz", label: "Baz", group: "Good Options"}
|
|
40
|
+
* ];
|
|
41
|
+
* const groups = ["Good Options", "Bad Options", "Unused Options"];
|
|
42
|
+
* const optgroups = foundry.applications.fields.prepareSelectOptionGroups({options, groups, blank: true, sort: true});
|
|
43
|
+
*/
|
|
44
|
+
export function prepareSelectOptionGroups(config: FormInputConfig<string> & SelectInputConfig): { group: string; options: FormSelectOption[] }[];
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Apply standard attributes to all input elements.
|
|
48
|
+
* @param input The element being configured
|
|
49
|
+
* @param config Configuration for the element
|
|
50
|
+
*/
|
|
51
|
+
export function setInputAttributes<TValue extends string | boolean = string | boolean>(input: HTMLElement, config: FormInputConfig<TValue>): void;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Create an HTML element for a FontAwesome icon
|
|
55
|
+
* @param glyph A FontAwesome glyph name, such as "file" or "user"
|
|
56
|
+
* @param options Additional options to configure the icon
|
|
57
|
+
* @param options.style The style name for the icon
|
|
58
|
+
* @param options.fixedWidth Should icon be fixed-width?
|
|
59
|
+
* @param options.classes Additional classes to append to the class list
|
|
60
|
+
* @returns The configured FontAwesome icon element
|
|
61
|
+
* @see {@link https://fontawesome.com/search}
|
|
62
|
+
*/
|
|
63
|
+
export function createFontAwesomeIcon(
|
|
64
|
+
glyph: string,
|
|
65
|
+
options?: { style?: "solid" | "regular" | "duotone"; fixedWidth?: boolean; classes?: string[] },
|
|
66
|
+
): HTMLElement;
|
|
67
|
+
|
|
68
|
+
export type CustomFormGroup = (field: foundry.data.fields.DataField, groupConfig: FormGroupConfig) => HTMLDivElement;
|
|
69
|
+
|
|
70
|
+
export type CustomFormInput = (field: foundry.data.fields.DataField, config: FormInputConfig) => HTMLElement | HTMLCollection;
|
|
71
|
+
|
|
72
|
+
export interface EditorInputConfig extends FormInputConfig<string> {
|
|
73
|
+
/** Default: `prosemirror` */
|
|
74
|
+
engine?: string;
|
|
75
|
+
height?: number;
|
|
76
|
+
/** Default: `true` */
|
|
77
|
+
editable?: boolean;
|
|
78
|
+
/** Default: `false` */
|
|
79
|
+
button?: boolean;
|
|
80
|
+
/** Default: `false` */
|
|
81
|
+
collaborate?: boolean;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export interface FormSelectOption {
|
|
85
|
+
value: string;
|
|
86
|
+
label: string;
|
|
87
|
+
/** An optional `optgoup` for this option */
|
|
88
|
+
group?: string;
|
|
89
|
+
disabled?: boolean;
|
|
90
|
+
selected?: boolean;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export interface SelectInputConfig extends FormInputConfig<string> {
|
|
94
|
+
/** The name of the form element */
|
|
95
|
+
name: string;
|
|
96
|
+
/** The select options */
|
|
97
|
+
options: FormSelectOption[];
|
|
98
|
+
/**
|
|
99
|
+
* An option to control the order and display of optgroup elements. The order of
|
|
100
|
+
* strings defines the displayed order of optgroup elements.
|
|
101
|
+
* A blank string may be used to define the position of ungrouped options.
|
|
102
|
+
* If not defined, the order of groups corresponds to the order of options.
|
|
103
|
+
*/
|
|
104
|
+
groups?: string[];
|
|
105
|
+
/** Adds a blank option with the `blank` value as the label */
|
|
106
|
+
blank?: string;
|
|
107
|
+
/** An alternative value key of the object passed to the options array */
|
|
108
|
+
valueAttr?: string;
|
|
109
|
+
/** An alternative label key of the object passed to the options array */
|
|
110
|
+
labelAttr?: string;
|
|
111
|
+
/** Localize value labels. Default: `false` */
|
|
112
|
+
localize?: boolean;
|
|
113
|
+
/** Sort options alphabetically by label within groups. Default: `false` */
|
|
114
|
+
sort?: boolean;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export type MultiSelectInputConfig = Omit<SelectInputConfig, "blank"> & {
|
|
118
|
+
/** Creates a multi-checkbox element instead */
|
|
119
|
+
type?: "checkboxes";
|
|
120
|
+
/** The currently selected values */
|
|
121
|
+
value?: string[];
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
export interface NumberInputConfig extends FormInputConfig<number> {
|
|
125
|
+
min: number;
|
|
126
|
+
max: number;
|
|
127
|
+
step: number | "any";
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export interface TextAreaInputConfig extends FormInputConfig<string> {
|
|
131
|
+
rows: number;
|
|
132
|
+
}
|