Api

Accessing the API

You can control Chocolat using its API. Once you instanciated Chocolat you can access the api using :

const instance = Chocolat(document.querySelectorAll('.chocolat-image'), {})
const api = instance.api

// or 

const { api } = Chocolat(document.querySelectorAll('.chocolat-image'), {})

// or 

const api = Chocolat(document.querySelectorAll('.chocolat-image'), {}).api

Api methods

open([index])

Opens the lightbox on the image whose index is i. Opens on the first image if index undefined. Returns a Promise.

// Opens the first image
api.open() 

// Opens the 3rd image
api.open(2).then(() => {
    console.log('Third image is loaded and animations have finished.')
})

close()

Closes the lightbox. Returns a Promise.

api.close() 

// or

api.close().then(() => {
    console.log('Animations have finished and lightbox is closed.')
})

prev()

Changes image backward. Returns a Promise.

api.prev() 

// or

api.prev().then(() => {
    console.log('Previous image is loaded and animations have finished.')
})

next()

Changes image forward. Returns a Promise.

api.next() 

// or

api.next().then(() => {
    console.log('Next image is loaded and animations have finished.')
})

current()

Returns the index of the current image.

api.current() // returns 1, for example

position()

Centers the image in its parent. Returns a Promise.

// Centers the current image
api.position().then(() => {
    console.log('Image is centered and animations have finished.')
})

destroy()

Destroys the current instance. Removes elements, unbinds events, clears data.

api.destroy()

getElem(elementName)

Returns a HTMLElement composing the lightbox.

// Get the `next` arrow element
api.getElem('right')

get(optionName)

Classic getter

api.get('imageSize') // 'default'

set(optionName, optionValue)

Classic setter

// Changes imageSize to 'contain'
api.set('imageSize', 'contain')
// Reposition the image according to the new value `contain`
api.position()

Last updated