Skip to main content

Summary Methods and Props

const MyModal = modal()

// Define content (required)
MyModal.content((props) => <div>Content</div>)

// Configure wrapper properties
MyModal.props({ title: 'Title', style: ['modal'] })

// Open modal
MyModal.open()
MyModal.open({ param1: 'value' }) // with parameters

// Close modal
MyModal.close()

// Toggle open/closed
MyModal.toggle()

// Open and await result
const result = await MyModal.request({ param: 'value' })

// Set parameters without opening
MyModal.setParams({ param: 'new value' })

// Reset to initial parameters
MyModal.resetParams()

// Clone modal
const NewModal = MyModal.clone()

// Read-only properties
console.log(MyModal.isVisible) // true/false
console.log(MyModal.currentParams) // current parameters
console.log(MyModal.stackIndex) // position in stack

Content Props

When you define content with .content(), you receive these properties:

MyModal.content((props) => {
const {
// Basic control
visible, // boolean - if it's visible
toggle, // function - toggle open/closed

// Request system
request, // object - { resolve, reject } or null

// Modal flows (advanced)
flow, // object - flow information
nextOrToggle, // function - next or toggle
previousOrToggle, // function - previous or toggle

// Your custom parameters
...yourParameters // everything you passed in .open() or .request()

} = props

return <div>Your content</div>
})