sweetalert2
Version:
A beautiful, responsive, customizable and accessible (WAI-ARIA) replacement for JavaScript's popup boxes, supported fork of sweetalert
168 lines (161 loc) • 3.08 kB
JavaScript
export const swalPrefix = 'swal2-'
/**
* @typedef
* { | 'container'
* | 'shown'
* | 'height-auto'
* | 'iosfix'
* | 'popup'
* | 'modal'
* | 'no-backdrop'
* | 'no-transition'
* | 'toast'
* | 'toast-shown'
* | 'show'
* | 'hide'
* | 'close'
* | 'title'
* | 'html-container'
* | 'actions'
* | 'confirm'
* | 'deny'
* | 'cancel'
* | 'default-outline'
* | 'footer'
* | 'icon'
* | 'icon-content'
* | 'image'
* | 'input'
* | 'file'
* | 'range'
* | 'select'
* | 'radio'
* | 'checkbox'
* | 'label'
* | 'textarea'
* | 'inputerror'
* | 'input-label'
* | 'validation-message'
* | 'progress-steps'
* | 'active-progress-step'
* | 'progress-step'
* | 'progress-step-line'
* | 'loader'
* | 'loading'
* | 'styled'
* | 'top'
* | 'top-start'
* | 'top-end'
* | 'top-left'
* | 'top-right'
* | 'center'
* | 'center-start'
* | 'center-end'
* | 'center-left'
* | 'center-right'
* | 'bottom'
* | 'bottom-start'
* | 'bottom-end'
* | 'bottom-left'
* | 'bottom-right'
* | 'grow-row'
* | 'grow-column'
* | 'grow-fullscreen'
* | 'rtl'
* | 'timer-progress-bar'
* | 'timer-progress-bar-container'
* | 'scrollbar-measure'
* | 'icon-success'
* | 'icon-warning'
* | 'icon-info'
* | 'icon-question'
* | 'icon-error'
* } SwalClass
* @typedef {Record<SwalClass, string>} SwalClasses
*/
/**
* @typedef {'success' | 'warning' | 'info' | 'question' | 'error'} SwalIcon
* @typedef {Record<SwalIcon, string>} SwalIcons
*/
/** @type {SwalClass[]} */
const classNames = [
'container',
'shown',
'height-auto',
'iosfix',
'popup',
'modal',
'no-backdrop',
'no-transition',
'toast',
'toast-shown',
'show',
'hide',
'close',
'title',
'html-container',
'actions',
'confirm',
'deny',
'cancel',
'default-outline',
'footer',
'icon',
'icon-content',
'image',
'input',
'file',
'range',
'select',
'radio',
'checkbox',
'label',
'textarea',
'inputerror',
'input-label',
'validation-message',
'progress-steps',
'active-progress-step',
'progress-step',
'progress-step-line',
'loader',
'loading',
'styled',
'top',
'top-start',
'top-end',
'top-left',
'top-right',
'center',
'center-start',
'center-end',
'center-left',
'center-right',
'bottom',
'bottom-start',
'bottom-end',
'bottom-left',
'bottom-right',
'grow-row',
'grow-column',
'grow-fullscreen',
'rtl',
'timer-progress-bar',
'timer-progress-bar-container',
'scrollbar-measure',
'icon-success',
'icon-warning',
'icon-info',
'icon-question',
'icon-error',
]
export const swalClasses = classNames.reduce((acc, className) => {
acc[className] = swalPrefix + className
return acc
}, /** @type {SwalClasses} */ ({}))
/** @type {SwalIcon[]} */
const icons = ['success', 'warning', 'info', 'question', 'error']
export const iconTypes = icons.reduce((acc, icon) => {
acc[icon] = swalPrefix + icon
return acc
}, /** @type {SwalIcons} */ ({}))