---
title: "Light | JavaScript maps SDK"
description: "Documentation for MapTiler SDK"
---

> For AI agents: a documentation index is available at [/llms.txt](https://docs.maptiler.com/llms.txt). Markdown versions of all pages are available by appending .md to any URL.

# Class Light

Methods mixed in to other classes for event capabilities.

#### Hierarchy ([View Summary](https://docs.maptiler.com/sdk-js/api-reference/hierarchy/#Externals.Light))

-   [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/)
    -   Light

##### Index

### Constructors[](#constructors)

[constructor](#constructor)

### Properties[](#properties-1)

[properties](#properties)

### Methods[](#methods)

[fire](#fire) [getLight](#getlight) [hasTransition](#hastransition) [listens](#listens) [off](#off) [on](#on) [once](#once) [recalculate](#recalculate) [setEventedParent](#seteventedparent) [setLight](#setlight) [updateTransitions](#updatetransitions)

## Constructors[](#constructors-1)

### constructor[](#constructor)

-   new Light(lightOptions?: [LightSpecification](https://docs.maptiler.com/sdk-js/api-reference/types/LightSpecification/)): Light[](#constructorlight)
    
    #### Parameters
    
    -   `Optional`lightOptions: [LightSpecification](https://docs.maptiler.com/sdk-js/api-reference/types/LightSpecification/)
    
    #### Returns Light
    
    Overrides [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/).[constructor](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/#constructor)
    

## Properties[](#properties-2)

### properties[](#properties)

properties: [PossiblyEvaluated](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.PossiblyEvaluated/)<[LightProps](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.LightProps/), [LightPropsPossiblyEvaluated](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.LightPropsPossiblyEvaluated/)\>

## Methods[](#methods-1)

### fire[](#fire)

-   fire(event: string | [Event](https://docs.maptiler.com/sdk-js/api-reference/classes/Event/), properties?: any): this[](#fire-1)
    
    #### Parameters
    
    -   event: string | [Event](https://docs.maptiler.com/sdk-js/api-reference/classes/Event/)
    -   `Optional`properties: any
    
    #### Returns this
    
    Inherited from [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/).[fire](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/#fire)
    

### getLight[](#getlight)

-   getLight(): [LightSpecification](https://docs.maptiler.com/sdk-js/api-reference/types/LightSpecification/)[](#getlight-1)
    
    #### Returns [LightSpecification](https://docs.maptiler.com/sdk-js/api-reference/types/LightSpecification/)
    

### hasTransition[](#hastransition)

-   hasTransition(): boolean[](#hastransition-1)
    
    #### Returns boolean
    

### listens[](#listens)

-   listens(type: string): boolean[](#listens-1)
    
    Returns a true if this instance of Evented or any forwardeed instances of Evented have a listener for the specified type.
    
    #### Parameters
    
    -   type: string
        
        The event type
        
    
    #### Returns boolean
    
    `true` if there is at least one registered listener for specified event type, `false` otherwise
    
    Inherited from [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/).[listens](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/#listens)
    

### off[](#off)

-   off(type: string, listener: [Listener](https://docs.maptiler.com/sdk-js/api-reference/types/Listener/)): this[](#off-1)
    
    Removes a previously registered event listener.
    
    #### Parameters
    
    -   type: string
        
        The event type to remove listeners for.
        
    -   listener: [Listener](https://docs.maptiler.com/sdk-js/api-reference/types/Listener/)
        
        The listener function to remove.
        
    
    #### Returns this
    
    Inherited from [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/).[off](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/#off)
    

### on[](#on)

-   on(type: string, listener: [Listener](https://docs.maptiler.com/sdk-js/api-reference/types/Listener/)): [Subscription](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Subscription/)[](#on-1)
    
    Adds a listener to a specified event type.
    
    #### Parameters
    
    -   type: string
        
        The event type to add a listen for.
        
    -   listener: [Listener](https://docs.maptiler.com/sdk-js/api-reference/types/Listener/)
        
        The function to be called when the event is fired. The listener function is called with the data object passed to `fire`, extended with `target` and `type` properties.
        
    
    #### Returns [Subscription](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Subscription/)
    
    Inherited from [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/).[on](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/#on)
    

### once[](#once)

-   once(type: string, listener?: [Listener](https://docs.maptiler.com/sdk-js/api-reference/types/Listener/)): Promise<any\> | Light[](#once-1)
    
    Adds a listener that will be called only once to a specified event type.
    
    The listener will be called first time the event fires after the listener is registered.
    
    #### Parameters
    
    -   type: string
        
        The event type to listen for.
        
    -   `Optional`listener: [Listener](https://docs.maptiler.com/sdk-js/api-reference/types/Listener/)
        
        The function to be called when the event is fired the first time.
        
    
    #### Returns Promise<any\> | Light
    
    `this` or a promise if a listener is not provided
    
    Inherited from [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/).[once](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/#once)
    

### recalculate[](#recalculate)

-   recalculate(parameters: [EvaluationParameters](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.EvaluationParameters/)): void[](#recalculate-1)
    
    #### Parameters
    
    -   parameters: [EvaluationParameters](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.EvaluationParameters/)
    
    #### Returns void
    

### setEventedParent[](#seteventedparent)

-   setEventedParent(parent?: [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/) | null, data?: any): this[](#seteventedparent-1)
    
    Bubble all events fired by this instance of Evented to this parent instance of Evented.
    
    #### Parameters
    
    -   `Optional`parent: [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/) | null
    -   `Optional`data: any
    
    #### Returns this
    
    Inherited from [Evented](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/).[setEventedParent](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.Evented/#seteventedparent)
    

### setLight[](#setlight)

-   setLight(light?: [LightSpecification](https://docs.maptiler.com/sdk-js/api-reference/types/LightSpecification/), options?: [StyleSetterOptions](https://docs.maptiler.com/sdk-js/api-reference/types/StyleSetterOptions/)): void[](#setlight-1)
    
    #### Parameters
    
    -   `Optional`light: [LightSpecification](https://docs.maptiler.com/sdk-js/api-reference/types/LightSpecification/)
    -   `Optional`options: [StyleSetterOptions](https://docs.maptiler.com/sdk-js/api-reference/types/StyleSetterOptions/)
    
    #### Returns void
    

### updateTransitions[](#updatetransitions)

-   updateTransitions(parameters: [TransitionParameters](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.TransitionParameters/)): void[](#updatetransitions-1)
    
    #### Parameters
    
    -   parameters: [TransitionParameters](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.TransitionParameters/)
    
    #### Returns void
