/** * Focus input field automatically upon openning modal, collapse, offcanvas, dropdown or window */ export default (() => { const autofocus = document.querySelectorAll('[data-autofocus]') if (autofocus.length === 0) return autofocus.forEach((input) => { const containerType = input.dataset.autofocus // modal / collapse / offcanvas / dropdown / window if ( containerType === 'modal' || containerType === 'collapse' || containerType === 'offcanvas' || containerType === 'dropdown' ) { const container = input.closest('.' + containerType) container.addEventListener(`shown.bs.${containerType}`, () => { input.focus() }) } else { input.focus() } }) })()