diff --git a/src/index.d.ts b/src/index.d.ts index 688b476..75074dd 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -713,6 +713,213 @@ declare namespace Vide { InstanceEventCallbacks; } +type SupportedInstances = + | "accessory" + | "accessorydescription" + | "accoutrement" + | "actor" + | "adgui" + | "adportal" + | "aircontroller" + | "alignorientation" + | "alignposition" + | "angularvelocity" + | "animation" + | "animationconstraint" + | "animationcontroller" + | "animationrigdata" + | "animator" + | "archandles" + | "atmosphere" + | "attachment" + | "audioanalyzer" + | "audiochorus" + | "audiocompressor" + | "audiodeviceinput" + | "audiodeviceoutput" + | "audiodistortion" + | "audioecho" + | "audioemitter" + | "audioequalizer" + | "audiofader" + | "audioflanger" + | "audiolistener" + | "audiopitchshifter" + | "audioplayer" + | "audioreverb" + | "ballsocketconstraint" + | "beam" + | "billboardgui" + | "blockmesh" + | "bloomeffect" + | "blureffect" + | "bodyangularvelocity" + | "bodycolors" + | "bodyforce" + | "bodygyro" + | "bodyposition" + | "bodythrust" + | "bodyvelocity" + | "bone" + | "boolvalue" + | "boxhandleadornment" + | "brickcolorvalue" + | "buoyancysensor" + | "camera" + | "canvasgroup" + | "cframevalue" + | "charactermesh" + | "chorussoundeffect" + | "clickdetector" + | "climbcontroller" + | "clouds" + | "color3value" + | "colorcorrectioneffect" + | "compressorsoundeffect" + | "conehandleadornment" + | "configuration" + | "controllermanager" + | "controllerpartsensor" + | "cornerwedgepart" + | "curveanimation" + | "cylinderhandleadornment" + | "cylindermesh" + | "cylindricalconstraint" + | "decal" + | "depthoffieldeffect" + | "distortionsoundeffect" + | "doubleconstrainedvalue" + | "dragdetector" + | "dragger" + | "echosoundeffect" + | "editableimage" + | "editablemesh" + | "equalizersoundeffect" + | "eulerrotationcurve" + | "facecontrols" + | "fire" + | "flangesoundeffect" + | "floatcurve" + | "floorwire" + | "folder" + | "forcefield" + | "frame" + | "groundcontroller" + | "handles" + | "highlight" + | "hingeconstraint" + | "hole" + | "humanoid" + | "humanoidcontroller" + | "humanoiddescription" + | "ikcontrol" + | "imagebutton" + | "imagehandleadornment" + | "imagelabel" + | "intconstrainedvalue" + | "intvalue" + | "keyframe" + | "keyframemarker" + | "keyframesequence" + | "linearvelocity" + | "lineforce" + | "linehandleadornment" + | "localizationtable" + | "markercurve" + | "materialvariant" + | "model" + | "motor" + | "motor6d" + | "nocollisionconstraint" + | "numberpose" + | "numbervalue" + | "objectvalue" + | "pants" + | "part" + | "particleemitter" + | "pitchshiftsoundeffect" + | "planeconstraint" + | "pointlight" + | "pose" + | "prismaticconstraint" + | "proximityprompt" + | "rayvalue" + | "reverbsoundeffect" + | "rigidconstraint" + | "rocketpropulsion" + | "rodconstraint" + | "ropeconstraint" + | "rotationcurve" + | "screengui" + | "scrollingframe" + | "seat" + | "selectionbox" + | "selectionsphere" + | "shirt" + | "shirtgraphic" + | "sky" + | "smoke" + | "sound" + | "soundgroup" + | "sparkles" + | "spawnlocation" + | "specialmesh" + | "spherehandleadornment" + | "spotlight" + | "springconstraint" + | "stringvalue" + | "stylederive" + | "stylelink" + | "stylerule" + | "stylesheet" + | "sunrayseffect" + | "surfaceappearance" + | "surfacegui" + | "surfacelight" + | "surfaceselection" + | "swimcontroller" + | "textbox" + | "textbutton" + | "textlabel" + | "texture" + | "tool" + | "torque" + | "torsionspringconstraint" + | "trail" + | "tremolosoundeffect" + | "trusspart" + | "uiaspectratioconstraint" + | "uicorner" + | "uidragdetector" + | "uiflexitem" + | "uigradient" + | "uigridlayout" + | "uilistlayout" + | "uipadding" + | "uipagelayout" + | "uiscale" + | "uisizeconstraint" + | "uistroke" + | "uitablelayout" + | "uitextsizeconstraint" + | "universalconstraint" + | "vector3curve" + | "vector3value" + | "vectorforce" + | "vehiclecontroller" + | "vehicleseat" + | "velocitymotor" + | "videoframe" + | "viewportframe" + | "wedgepart" + | "weld" + | "weldconstraint" + | "wire" + | "wireframehandleadornment" + | "worldmodel" + | "wraplayer" + | "wraptarget" + declare global { namespace JSX { type Element = Vide.Node; @@ -724,212 +931,8 @@ declare global { children: {}; } - interface IntrinsicElements { - accessory: Vide.InstanceAttributes; - accessorydescription: Vide.InstanceAttributes; - accoutrement: Vide.InstanceAttributes; - actor: Vide.InstanceAttributes; - adgui: Vide.InstanceAttributes; - adportal: Vide.InstanceAttributes; - aircontroller: Vide.InstanceAttributes; - alignorientation: Vide.InstanceAttributes; - alignposition: Vide.InstanceAttributes; - angularvelocity: Vide.InstanceAttributes; - animation: Vide.InstanceAttributes; - animationconstraint: Vide.InstanceAttributes; - animationcontroller: Vide.InstanceAttributes; - animationrigdata: Vide.InstanceAttributes; - animator: Vide.InstanceAttributes; - archandles: Vide.InstanceAttributes; - atmosphere: Vide.InstanceAttributes; - attachment: Vide.InstanceAttributes; - audioanalyzer: Vide.InstanceAttributes; - audiochorus: Vide.InstanceAttributes; - audiocompressor: Vide.InstanceAttributes; - audiodeviceinput: Vide.InstanceAttributes; - audiodeviceoutput: Vide.InstanceAttributes; - audiodistortion: Vide.InstanceAttributes; - audioecho: Vide.InstanceAttributes; - audioemitter: Vide.InstanceAttributes; - audioequalizer: Vide.InstanceAttributes; - audiofader: Vide.InstanceAttributes; - audioflanger: Vide.InstanceAttributes; - audiolistener: Vide.InstanceAttributes; - audiopitchshifter: Vide.InstanceAttributes; - audioplayer: Vide.InstanceAttributes; - audioreverb: Vide.InstanceAttributes; - ballsocketconstraint: Vide.InstanceAttributes; - beam: Vide.InstanceAttributes; - billboardgui: Vide.InstanceAttributes; - blockmesh: Vide.InstanceAttributes; - bloomeffect: Vide.InstanceAttributes; - blureffect: Vide.InstanceAttributes; - bodyangularvelocity: Vide.InstanceAttributes; - bodycolors: Vide.InstanceAttributes; - bodyforce: Vide.InstanceAttributes; - bodygyro: Vide.InstanceAttributes; - bodyposition: Vide.InstanceAttributes; - bodythrust: Vide.InstanceAttributes; - bodyvelocity: Vide.InstanceAttributes; - bone: Vide.InstanceAttributes; - boolvalue: Vide.InstanceAttributes; - boxhandleadornment: Vide.InstanceAttributes; - brickcolorvalue: Vide.InstanceAttributes; - buoyancysensor: Vide.InstanceAttributes; - camera: Vide.InstanceAttributes; - canvasgroup: Vide.InstanceAttributes; - cframevalue: Vide.InstanceAttributes; - charactermesh: Vide.InstanceAttributes; - chorussoundeffect: Vide.InstanceAttributes; - clickdetector: Vide.InstanceAttributes; - climbcontroller: Vide.InstanceAttributes; - clouds: Vide.InstanceAttributes; - color3value: Vide.InstanceAttributes; - colorcorrectioneffect: Vide.InstanceAttributes; - compressorsoundeffect: Vide.InstanceAttributes; - conehandleadornment: Vide.InstanceAttributes; - configuration: Vide.InstanceAttributes; - controllermanager: Vide.InstanceAttributes; - controllerpartsensor: Vide.InstanceAttributes; - cornerwedgepart: Vide.InstanceAttributes; - curveanimation: Vide.InstanceAttributes; - cylinderhandleadornment: Vide.InstanceAttributes; - cylindermesh: Vide.InstanceAttributes; - cylindricalconstraint: Vide.InstanceAttributes; - decal: Vide.InstanceAttributes; - depthoffieldeffect: Vide.InstanceAttributes; - distortionsoundeffect: Vide.InstanceAttributes; - doubleconstrainedvalue: Vide.InstanceAttributes; - dragdetector: Vide.InstanceAttributes; - dragger: Vide.InstanceAttributes; - echosoundeffect: Vide.InstanceAttributes; - editableimage: Vide.InstanceAttributes; - editablemesh: Vide.InstanceAttributes; - equalizersoundeffect: Vide.InstanceAttributes; - eulerrotationcurve: Vide.InstanceAttributes; - facecontrols: Vide.InstanceAttributes; - fire: Vide.InstanceAttributes; - flangesoundeffect: Vide.InstanceAttributes; - floatcurve: Vide.InstanceAttributes; - floorwire: Vide.InstanceAttributes; - folder: Vide.InstanceAttributes; - forcefield: Vide.InstanceAttributes; - frame: Vide.InstanceAttributes; - groundcontroller: Vide.InstanceAttributes; - handles: Vide.InstanceAttributes; - highlight: Vide.InstanceAttributes; - hingeconstraint: Vide.InstanceAttributes; - hole: Vide.InstanceAttributes; - humanoid: Vide.InstanceAttributes; - humanoidcontroller: Vide.InstanceAttributes; - humanoiddescription: Vide.InstanceAttributes; - ikcontrol: Vide.InstanceAttributes; - imagebutton: Vide.InstanceAttributes; - imagehandleadornment: Vide.InstanceAttributes; - imagelabel: Vide.InstanceAttributes; - intconstrainedvalue: Vide.InstanceAttributes; - intvalue: Vide.InstanceAttributes; - keyframe: Vide.InstanceAttributes; - keyframemarker: Vide.InstanceAttributes; - keyframesequence: Vide.InstanceAttributes; - linearvelocity: Vide.InstanceAttributes; - lineforce: Vide.InstanceAttributes; - linehandleadornment: Vide.InstanceAttributes; - localizationtable: Vide.InstanceAttributes; - markercurve: Vide.InstanceAttributes; - materialvariant: Vide.InstanceAttributes; - model: Vide.InstanceAttributes; - motor: Vide.InstanceAttributes; - motor6d: Vide.InstanceAttributes; - nocollisionconstraint: Vide.InstanceAttributes; - numberpose: Vide.InstanceAttributes; - numbervalue: Vide.InstanceAttributes; - objectvalue: Vide.InstanceAttributes; - pants: Vide.InstanceAttributes; - part: Vide.InstanceAttributes; - particleemitter: Vide.InstanceAttributes; - pitchshiftsoundeffect: Vide.InstanceAttributes; - planeconstraint: Vide.InstanceAttributes; - pointlight: Vide.InstanceAttributes; - pose: Vide.InstanceAttributes; - prismaticconstraint: Vide.InstanceAttributes; - proximityprompt: Vide.InstanceAttributes; - rayvalue: Vide.InstanceAttributes; - reverbsoundeffect: Vide.InstanceAttributes; - rigidconstraint: Vide.InstanceAttributes; - rocketpropulsion: Vide.InstanceAttributes; - rodconstraint: Vide.InstanceAttributes; - ropeconstraint: Vide.InstanceAttributes; - rotationcurve: Vide.InstanceAttributes; - screengui: Vide.InstanceAttributes; - scrollingframe: Vide.InstanceAttributes; - seat: Vide.InstanceAttributes; - selectionbox: Vide.InstanceAttributes; - selectionsphere: Vide.InstanceAttributes; - shirt: Vide.InstanceAttributes; - shirtgraphic: Vide.InstanceAttributes; - sky: Vide.InstanceAttributes; - smoke: Vide.InstanceAttributes; - sound: Vide.InstanceAttributes; - soundgroup: Vide.InstanceAttributes; - sparkles: Vide.InstanceAttributes; - spawnlocation: Vide.InstanceAttributes; - specialmesh: Vide.InstanceAttributes; - spherehandleadornment: Vide.InstanceAttributes; - spotlight: Vide.InstanceAttributes; - springconstraint: Vide.InstanceAttributes; - stringvalue: Vide.InstanceAttributes; - stylederive: Vide.InstanceAttributes; - stylelink: Vide.InstanceAttributes; - stylerule: Vide.InstanceAttributes; - stylesheet: Vide.InstanceAttributes; - sunrayseffect: Vide.InstanceAttributes; - surfaceappearance: Vide.InstanceAttributes; - surfacegui: Vide.InstanceAttributes; - surfacelight: Vide.InstanceAttributes; - surfaceselection: Vide.InstanceAttributes; - swimcontroller: Vide.InstanceAttributes; - textbox: Vide.InstanceAttributes; - textbutton: Vide.InstanceAttributes; - textlabel: Vide.InstanceAttributes; - texture: Vide.InstanceAttributes; - tool: Vide.InstanceAttributes; - torque: Vide.InstanceAttributes; - torsionspringconstraint: Vide.InstanceAttributes; - trail: Vide.InstanceAttributes; - tremolosoundeffect: Vide.InstanceAttributes; - trusspart: Vide.InstanceAttributes; - uiaspectratioconstraint: Vide.InstanceAttributes; - uicorner: Vide.InstanceAttributes; - uidragdetector: Vide.InstanceAttributes; - uiflexitem: Vide.InstanceAttributes; - uigradient: Vide.InstanceAttributes; - uigridlayout: Vide.InstanceAttributes; - uilistlayout: Vide.InstanceAttributes; - uipadding: Vide.InstanceAttributes; - uipagelayout: Vide.InstanceAttributes; - uiscale: Vide.InstanceAttributes; - uisizeconstraint: Vide.InstanceAttributes; - uistroke: Vide.InstanceAttributes; - uitablelayout: Vide.InstanceAttributes; - uitextsizeconstraint: Vide.InstanceAttributes; - universalconstraint: Vide.InstanceAttributes; - vector3curve: Vide.InstanceAttributes; - vector3value: Vide.InstanceAttributes; - vectorforce: Vide.InstanceAttributes; - vehiclecontroller: Vide.InstanceAttributes; - vehicleseat: Vide.InstanceAttributes; - velocitymotor: Vide.InstanceAttributes; - videoframe: Vide.InstanceAttributes; - viewportframe: Vide.InstanceAttributes; - wedgepart: Vide.InstanceAttributes; - weld: Vide.InstanceAttributes; - weldconstraint: Vide.InstanceAttributes; - wire: Vide.InstanceAttributes; - wireframehandleadornment: Vide.InstanceAttributes; - worldmodel: Vide.InstanceAttributes; - wraplayer: Vide.InstanceAttributes; - wraptarget: Vide.InstanceAttributes; + type IntrinsicElements = { + [K in keyof Instances as Lowercase extends SupportedInstances ? Lowercase : K]: Instances[K] extends Instance ? Vide.InstanceAttributes : never } } }