{
  "version": 3,
  "sources": ["../../client/controllers/fade-out-link_controller.ts"],
  "sourcesContent": ["import { Controller } from '@hotwired/stimulus';\n// @ts-expect-error TS7026\nimport { visit } from '@hotwired/turbo';\n\nconst FADE_DURATION_MS = 500;\n\n/** stimulusFetch: lazy */\nexport default class extends Controller {\n    connect() {\n        this.follow = this.follow.bind(this);\n        this.element.addEventListener('click', this.follow);\n    }\n\n    disconnect() {\n        this.element.removeEventListener('click', this.follow);\n    }\n\n    follow(event: Event) {\n        event.preventDefault();\n\n        const anchor = this.element as HTMLAnchorElement;\n        const href = anchor.href;\n        if (!href || href === '#' || href.startsWith('javascript:')) {\n            return;\n        }\n\n        const overlay = document.createElement('div');\n        overlay.setAttribute('aria-hidden', 'true');\n\n        Object.assign(overlay.style, {\n            position: 'fixed',\n            top: '0',\n            left: '0',\n            width: '100vw',\n            height: '100vh',\n            backgroundColor: 'black',\n            opacity: '0',\n            zIndex: '9999',\n            pointerEvents: 'none',\n            transition: `opacity ${FADE_DURATION_MS}ms ease-out`,\n        });\n\n        document.body.appendChild(overlay);\n\n        // Force reflow so the browser paints opacity 0 before we transition to 1\n        void overlay.offsetHeight;\n\n        requestAnimationFrame(() => {\n            overlay.style.opacity = '1';\n        });\n\n        setTimeout(() => {\n            visit(href);\n        }, FADE_DURATION_MS);\n    }\n}\n"],
  "mappings": ";AAAA,SAAS,kBAAkB;AAE3B,SAAS,aAAa;AAEtB,MAAM,mBAAmB;AAGzB,6BAA6B,WAAW;AAAA,EACpC,UAAU;AACN,SAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AACnC,SAAK,QAAQ,iBAAiB,SAAS,KAAK,MAAM;AAAA,EACtD;AAAA,EAEA,aAAa;AACT,SAAK,QAAQ,oBAAoB,SAAS,KAAK,MAAM;AAAA,EACzD;AAAA,EAEA,OAAO,OAAc;AACjB,UAAM,eAAe;AAErB,UAAM,SAAS,KAAK;AACpB,UAAM,OAAO,OAAO;AACpB,QAAI,CAAC,QAAQ,SAAS,OAAO,KAAK,WAAW,aAAa,GAAG;AACzD;AAAA,IACJ;AAEA,UAAM,UAAU,SAAS,cAAc,KAAK;AAC5C,YAAQ,aAAa,eAAe,MAAM;AAE1C,WAAO,OAAO,QAAQ,OAAO;AAAA,MACzB,UAAU;AAAA,MACV,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,iBAAiB;AAAA,MACjB,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,YAAY,WAAW,gBAAgB;AAAA,IAC3C,CAAC;AAED,aAAS,KAAK,YAAY,OAAO;AAGjC,SAAK,QAAQ;AAEb,0BAAsB,MAAM;AACxB,cAAQ,MAAM,UAAU;AAAA,IAC5B,CAAC;AAED,eAAW,MAAM;AACb,YAAM,IAAI;AAAA,IACd,GAAG,gBAAgB;AAAA,EACvB;AACJ;",
  "names": []
}
