import { Application } from "@hotwired/stimulus" const application = Application.start() // Configure Stimulus development experience application.debug = false window.Stimulus = application export { application } // URL: https://edforshaw.co.uk/hotwire-turbo-stream-animations // FIXME: data-stream-exit-class not working.. document.addEventListener("turbo:before-stream-render", function(event) { // Add a class to an element we are about to add to the page // as defined by its "data-stream-enter-class" if (event.target.firstElementChild instanceof HTMLTemplateElement) { var enterAnimationClass = event.target.templateContent.firstElementChild.dataset.streamEnterClass if (enterAnimationClass) { event.target.templateElement.content.firstElementChild.classList.add(enterAnimationClass) } } // Add a class to an element we are about to remove from the page // as defined by its "data-stream-exit-class" // var elementToRemove = document.getElementById(event.target.target) // if (elementToRemove) { // var streamExitClass = elementToRemove.dataset.streamExitClass // if (streamExitClass) { // // Intercept the removal of the element // event.preventDefault() // elementToRemove.classList.add(streamExitClass) // // Wait for its animation to end before removing the element // elementToRemove.addEventListener("animationend", function() { // event.target.performAction() // }) // } // } })