{"version":3,"file":"static/chunks/802-cc55077409ba33b6.js","mappings":"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B,MAAM,GAChF,YAAa,SACbpgB,iBAAkB,GAClBZ,SAAU,SACV7E,WAAY,CACV3I,KAAM,SACNyuB,OAAQ,IACRrJ,SAAU,EACZ,EACA,GAAGsB,CAAW,EAEhB,GACA,KACY/zB,CAAAA,EAAAA,EAAAA,GAAAA,EACd,MACA,CACEP,UAAWE,EAAMo8B,UAAU,CAAC,CAC1B77B,MAAON,MAAAA,EAAqB,KAAK,EAAIA,EAAWm8B,UAAU,GAE5D,YAAa,aACbv8B,SAAUo0B,EAAKoI,QAAQ,GAG5B,EAGP,EACArI,CAAAA,GAAIvzB,WAAW,CAAG,gECpHlB67B,GAAW,GAAAC,GAAA7G,EAAA,EAAE,CACb11B,MAAA,CACAw8B,KAAA,cACAC,QAAA,CACA,OACA,MACA,QACA,QACA,eACA,cACA,oBACA,iBACA,iBACA,CACAjC,IAAA,CACA,MACA,SACA,OACA,OACA,OACA,QACA,WACA,iBACA,eACA,eACA,iBACA,qBACA,4BACA,0CACA,kCACA,mDAESkC,GAAAC,EAAuB,CAChC,CACAP,WAAA,CACA,WACA,OACA,eACA,oBACA,oBACA,mBACA,6CACA,CACAF,OAAA,8BACAh4B,MAAA,CACA,OACA,OACA,eACA,8BAESw4B,GAAAC,EAAuB,CAChC,CACAC,WAAA,IAEAC,SAAA,CACAC,QAAA,CACAC,MAAA,CACAb,OAAA,SACA,EACAc,MAAA,CACAP,QAAA,qCACAP,OAAA,SACA,EACAe,WAAA,CACAR,QAAA,qCACAP,OAAA,gEACA,EACAgB,SAAA,CACAT,QAAA,gFACAP,OAAA,SACA,CACA,EACAiB,MAAA,CACAC,QAAA,GACAC,QAAA,GACAC,UAAA,GACAC,QAAA,GACAC,QAAA,GACAC,OAAA,EACA,EACAC,KAAA,CACAC,GAAA,CACAlB,QAAA,iBACAjC,IAAA,8BACA0B,OAAA,eACA,EACA0B,GAAA,CACAnB,QAAA,iBACAjC,IAAA,+BACA0B,OAAA,eACA,EACA2B,GAAA,CACApB,QAAA,gBACAjC,IAAA,iCACA0B,OAAA,gBACA,CACA,EACA4B,OAAA,CACAC,KAAA,CACAtB,QAAA,eACAjC,IAAA,eACA0B,OAAA,cACA,EACAyB,GAAA,CACAlB,QAAA,iBACAjC,IAAA,gBACA0B,OAAA,eACA,EACA0B,GAAA,CACAnB,QAAA,iBACAjC,IAAA,gBACA0B,OAAA,eACA,EACA2B,GAAA,CACApB,QAAA,gBACAjC,IAAA,iBACA0B,OAAA,gBACA,EACA8B,KAAA,CACAvB,QAAA,eACAjC,IAAA,eACA0B,OAAA,cACA,CACA,EACA+B,UAAA,CACAC,KAAA,CACA1B,KAAA,SACAC,QAAA,QACA,CACA,EACA56B,WAAA,CACAq8B,KAAA,CACAzB,QAAA,sCACA,CACA,EACApI,iBAAA,CACA6J,KAAA,CACA1D,IAAA,kBACA4B,WAAA,iBACA,CACA,EACA+B,UAAA,CACAp2B,IAAA,GACA6J,MAAA,CACA6qB,QAAA,WACAv4B,MAAA,YACA04B,WAAA,MACA,EACAvvB,IAAA,CACAovB,QAAA,WACAv4B,MAAA,YACA04B,WAAA,uBACA,EACAz0B,OAAA,CACAy0B,WAAA,uBACA,CACA,CACA,EACAwB,gBAAA,CACAjB,MAAA,UACAL,QAAA,QACAY,KAAA,KACAO,UAAA,GACAp8B,WAAA,EACA,EACAw8B,iBAAA,CAKA,CACAvB,QAAA,6BACAK,MAAA,UACA58B,MAAA,CACA27B,OAAA,mDACAE,WAAA,oDACA,CACA,EACA,CACAU,QAAA,6BACAK,MAAA,UACA58B,MAAA,CACA27B,OAAgBoC,GAAAC,CAAa,CAAAxB,KAAA,CAAAM,OAAA,CAC7BjB,WAAA,oDACA,CACA,EACA,CACAU,QAAA,6BACAK,MAAA,YACA58B,MAAA,CACA27B,OAAgBoC,GAAAC,CAAa,CAAAxB,KAAA,CAAAO,SAAA,CAC7BlB,WAAA,sDACA,CACA,EACA,CACAU,QAAA,6BACAK,MAAA,UACA58B,MAAA,CACA27B,OAAgBoC,GAAAC,CAAa,CAAAxB,KAAA,CAAAQ,OAAA,CAC7BnB,WAAA,oDACA,CACA,EACA,CACAU,QAAA,6BACAK,MAAA,UACA58B,MAAA,CACA27B,OAAgBoC,GAAAC,CAAa,CAAAxB,KAAA,CAAAS,OAAA,CAC7BpB,WAAA,oDACA,CACA,EACA,CACAU,QAAA,6BACAK,MAAA,SACA58B,MAAA,CACA27B,OAAgBoC,GAAAC,CAAa,CAAAxB,KAAA,CAAAU,MAAA,CAC7BrB,WAAA,mDACA,CACA,EAEA,CACAU,QAAA,aACAK,MAAA,UACA58B,MAAA,CACA27B,OAAA,gBACAE,WAAA,4CACA,CACA,EACA,CACAU,QAAA,aACAK,MAAA,UACA58B,MAAA,CACA27B,OAAA,aACAE,WAAA,yCACA,CACA,EACA,CACAU,QAAA,aACAK,MAAA,YACA58B,MAAA,CACA27B,OAAA,eACAE,WAAA,2CACA,CACA,EACA,CACAU,QAAA,aACAK,MAAA,UACA58B,MAAA,CACA27B,OAAA,aACAE,WAAA,yCACA,CACA,EACA,CACAU,QAAA,aACAK,MAAA,UACA58B,MAAA,CACA27B,OAAA,aACAE,WAAA,yCACA,CACA,EACA,CACAU,QAAA,aACAK,MAAA,SACA58B,MAAA,CACA27B,OAAA,YACAE,WAAA,wCACA,CACA,EAKA,CACA/H,iBAAA,GACAyI,QAAA,aACAv8B,MAAA,CACAi6B,IAAA,CACA,qBACA,iBACA,iBACA,gBACA,gBACA,kBACA,8CACA,yCACA,CAEA,EAEA,CACAnG,iBAAA,GACA8I,MAAA,UACAL,QAAA,6BACAv8B,MAAA,CACAi6B,IAAA,8EACA,CACA,EACA,CACAnG,iBAAA,GACA8I,MAAA,UACAL,QAAA,6BACAv8B,MAAA,CACAi6B,IAAA,8EACA,CACA,EACA,CACAnG,iBAAA,GACA8I,MAAA,YACAL,QAAA,6BACAv8B,MAAA,CACAi6B,IAAA,kFACA,CACA,EACA,CACAnG,iBAAA,GACA8I,MAAA,UACAL,QAAA,6BACAv8B,MAAA,CACAi6B,IAAA,8EACA,CACA,EACA,CACAnG,iBAAA,GACA8I,MAAA,UACAL,QAAA,6BACAv8B,MAAA,CACAi6B,IAAA,8EACA,CACA,EACA,CACAnG,iBAAA,GACA8I,MAAA,SACAL,QAAA,6BACAv8B,MAAA,CACAi6B,IAAA,4EACA,CACA,EAEA,CACAnG,iBAAA,GACA8I,MAAA,UACAL,QAAA,aACAv8B,MAAA,CACAi6B,IAAA,0CACA,CACA,EACA,CACAnG,iBAAA,GACA8I,MAAA,UACAL,QAAA,aACAv8B,MAAA,CACAi6B,IAAA,uCACA,CACA,EACA,CACAnG,iBAAA,GACA8I,MAAA,YACAL,QAAA,aACAv8B,MAAA,CACAi6B,IAAA,yCACA,CACA,EACA,CACAnG,iBAAA,GACA8I,MAAA,UACAL,QAAA,aACAv8B,MAAA,CACAi6B,IAAA,uCACA,CACA,EACA,CACAnG,iBAAA,GACA8I,MAAA,UACAL,QAAA,aACAv8B,MAAA,CACAi6B,IAAA,uCACA,CACA,EACA,CACAnG,iBAAA,GACA8I,MAAA,SACAL,QAAA,aACAv8B,MAAA,CACAi6B,IAAA,sCACA,CACA,EACA,CACAgE,cAAA,CACA,CACA1B,QAAA,aACA98B,MAAA,2BACAO,MAAA,kBAEA,ECzYA,OAAAk+B,GACA,EAAAC,OAAAC,QAAA,IACA,WAAAC,QAAA,CAEA,IAAAlB,MAAA,CACA,YAAAmB,MAAA,CAAAnB,IAAA,CAEAoB,SAAA,CACA,YAAAD,MAAA,CAAAx0B,IAAA,EACA,CACA00B,aAAAh+B,CAAA,MAEAi+B,EADA,IAAAhmB,EAAA,KAAA6lB,MAAA,CAAA5/B,GAAA,CAAA8B,GAEA,OAAAiY,GAAA,OAAAgmB,CAAAA,EAAAhmB,EAAAimB,OAAA,GAAAD,KAAA,IAAAA,EAAAA,EAAA,IACA,CACAE,YAAAn+B,CAAA,MAEAo+B,EADA,IAAAnmB,EAAA,KAAA6lB,MAAA,CAAA5/B,GAAA,CAAA8B,GAEA,OAAAiY,GAAA,OAAAmmB,CAAAA,EAAAnmB,EAAAomB,OAAA,GAAAD,KAAA,IAAAA,EAAAA,EAAA,IACA,CACAE,aAAA,CACA,YAAAC,QAAA,CAEAC,YAAA,CACA,YAAAC,OAAA,CAEAx7B,QAAAjD,CAAA,EACA,IAAA0+B,EACA,cAAAA,CAAAA,EAAA,KAAAZ,MAAA,CAAA5/B,GAAA,CAAA8B,EAAA,GAAA0+B,KAAA,IAAAA,EAAAA,EAAA,IACA,CACAC,GAAAC,CAAA,EACA,IAAAt1B,EAAA,IACA,KAAAy0B,OAAA,GACA,CACA,YAAA96B,OAAA,CAAAqG,CAAA,CAAAs1B,EAAA,CACA,CACAC,YAAA7+B,CAAA,EACA,IAAAiY,EAAA,KAAA6lB,MAAA,CAAA5/B,GAAA,CAAA8B,GACA,OAAAiY,MAAAA,EAAA,OAAAA,EAAA6mB,UAAA,MAEAr0B,YAAAia,CAAA,MA0BAqa,CAzBA,MAAAjB,MAAA,KAAA5Z,IACA,KAAAqa,QAAA,MACA,KAAAE,OAAA,MACA,KAAAZ,QAAA,CAAAnZ,EACA,IAAAsa,EAAA,IAEA,GADA,KAAAlB,MAAA,CAAAjqB,GAAA,CAAAoE,EAAAjY,GAAA,CAAAiY,GACAA,EAAA6mB,UAAA,EAAA7mB,YAAAA,EAAAtL,IAAA,SAAAgR,KAAA1F,EAAA6mB,UAAA,CAAAE,EAAArhB,EACA,EACA,QAAA1F,KAAAyM,EAAAsa,EAAA/mB,GACA,IAAAgnB,EAAA,KACAC,EAAA,EACA,QAAAl/B,EAAAiY,EAAA,QAAA6lB,MAAA,CACAmB,GACAA,EAAAZ,OAAA,CAAAr+B,EACAiY,EAAAimB,OAAA,CAAAe,EAAAj/B,GAAA,GAEA,KAAAu+B,QAAA,CAAAv+B,EACAiY,EAAAimB,OAAA,CAAA97B,KAAAA,GAEA,SAAA6V,EAAAtL,IAAA,EAAAsL,CAAAA,EAAAinB,KAAA,CAAAA,GAAA,EAIAD,CAHAA,EAAAhnB,CAAA,EAGAomB,OAAA,CAAAj8B,KAAAA,CAGA,MAAAq8B,OAAA,QAAAM,CAAAA,EAAAE,MAAAA,EAAA,OAAAA,EAAAj/B,GAAA,GAAA++B,KAAA,IAAAA,EAAAA,EAAA,IACA,CACA,qDGpCA,SAAAI,GAAAn8B,CAAA,CAAAo8B,CAAA,EACA,IAAA/8B,EAAA,KACA,GAAAW,EAAA,CACA,IAAAq8B,EAAAC,EAAAC,EAAAC,EAGA,IAFAn9B,EAAAW,EAAAs7B,WAAA,GAEAj8B,MAAAA,GAAA+8B,CAAAA,EAAA7Z,GAAA,CAAAljB,IAAA,QAAAi9B,CAAAA,EAAAt8B,EAAAC,OAAA,CAAAZ,EAAA,GAAAi9B,KAAA,IAAAA,EAAA,cAAAD,CAAAA,EAAAC,EAAA3gC,KAAA,GAAA0gC,KAAA,IAAAA,EAAA,OAAAA,EAAAv+B,UAAA,IAAAuB,IAAAW,EAAAw7B,UAAA,IAAAn8B,EAAAW,EAAAm7B,WAAA,CAAA97B,EAEA,OAAAA,GAAA+8B,CAAAA,EAAA7Z,GAAA,CAAAljB,IAAA,QAAAm9B,CAAAA,EAAAx8B,EAAAC,OAAA,CAAAZ,EAAA,GAAAm9B,KAAA,IAAAA,EAAA,cAAAD,CAAAA,EAAAC,EAAA7gC,KAAA,GAAA4gC,KAAA,IAAAA,EAAA,OAAAA,EAAAz+B,UAAA,IAAAuB,IAAAW,EAAAw7B,UAAA,IAAAn8B,CAAAA,EAAAW,EAAAs7B,WAAA,GACA,CACA,OAAAj8B,CACA,CC5CA,MAAAo9B,GACAC,aAAA1/B,CAAA,SACA,KAAA2/B,aAAA,MAAAC,UAAA,CAAA5/B,GACA,KAAA6/B,cAAA,CAAA7/B,EACA,CACA8/B,cAAA9/B,CAAA,SACA,KAAA2/B,aAAA,MAAAE,cAAA,CAAA7/B,GACA,KAAA4/B,UAAA,CAAA5/B,EACA,CACAc,WAAAd,CAAA,EACA,IAAA+/B,EAAAC,EACA,YAAAZ,YAAA,CAAA7Z,GAAA,CAAAvlB,IAAA,UAAAggC,CAAAA,EAAA,KAAAh9B,UAAA,CAAAC,OAAA,CAAAjD,EAAA,GAAAggC,KAAA,IAAAA,EAAA,cAAAD,CAAAA,EAAAC,EAAArhC,KAAA,GAAAohC,KAAA,IAAAA,EAAA,OAAAA,EAAAj/B,UAAA,CACA,CACAw9B,aAAA,CACA,IAAAt+B,EAAA,KAAAgD,UAAA,CAAAs7B,WAAA,GAEA,OADA,MAAAt+B,GAAA,KAAAc,UAAA,CAAAd,IAAAA,CAAAA,EAAA,KAAA4/B,UAAA,CAAA5/B,EAAA,EACAA,CACA,CACAw+B,YAAA,CACA,IAAAx+B,EAAA,KAAAgD,UAAA,CAAAw7B,UAAA,GAEA,OADA,MAAAx+B,GAAA,KAAAc,UAAA,CAAAd,IAAAA,CAAAA,EAAA,KAAA6/B,cAAA,CAAA7/B,EAAA,EACAA,CACA,CACAigC,YAAAjgC,CAAA,SACA,KAAAkgC,YAAA,MACA,KAAAL,cAAA,CAAA7/B,EACA,CACAmgC,YAAAngC,CAAA,SACA,KAAAkgC,YAAA,MACA,KAAAN,UAAA,CAAA5/B,EACA,CACA4/B,WAAA5/B,CAAA,EACA,GAEA,MADAA,CAAAA,EAAA,KAAAgD,UAAA,CAAAm7B,WAAA,CAAAn+B,EAAA,GACAA,CAAAA,EAAA,KAAAgD,UAAA,CAAAs7B,WAAA,UACS,KAAAx9B,UAAA,CAAAd,GAAA,CACT,OAAAA,CACA,CACA6/B,eAAA7/B,CAAA,EACA,GAEA,MADAA,CAAAA,EAAA,KAAAgD,UAAA,CAAAg7B,YAAA,CAAAh+B,EAAA,GACAA,CAAAA,EAAA,KAAAgD,UAAA,CAAAw7B,UAAA,UACS,KAAA19B,UAAA,CAAAd,GAAA,CACT,OAAAA,CACA,CACAyK,YAAAzH,CAAA,CAAA6P,CAAA,CAAAutB,CAAA,CAAAhB,EAAA,IAAA9b,GAAA,EACA,KAAAtgB,UAAA,CAAAA,EACA,KAAA28B,aAAA,CAAA9sB,QAAAA,GAAAutB,eAAAA,EACA,KAAAhB,YAAA,CAAAA,EACA,KAAAc,YAAA,CAAAE,eAAAA,CACA,CACA,8GKGIC,GAhDO3hC,CAAAA,EAAAA,EAAAA,EAAAA,EAAW,SAAeC,CAAK,CAAEC,CAAG,EAC7C,GAAM,CACJmb,UAAAA,CAAS,CACTwE,OAAAA,CAAM,CACNxe,MAAAA,CAAK,CACLS,wBAAAA,CAAuB,CACvB8/B,aAAAA,CAAY,CACZC,gBAAAA,CAAe,CACfC,gBAAAA,CAAe,CAChB,CAAGC,SDbWC,CAAa,EAC5B,IAAIrgC,EAAIC,EAAIqgC,EACZ,IAAMC,EAAgBC,CAAAA,EAAAA,GAAAA,CAAAA,IAChB,CAACliC,EAAOmiC,EAAa,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,EAAiBL,EAAenF,GAAKyF,WAAW,EACxE,CACJpiC,IAAAA,CAAG,CACHC,GAAAA,CAAE,CACFE,UAAAA,CAAS,CACTG,WAAAA,CAAU,CACVJ,SAAAA,CAAQ,CACRy0B,uBAAAA,CAAsB,CACtBF,YAAAA,CAAW,CACX4N,WAAAA,EAAa,EAAK,CAClBzN,sBAAAA,EAAwB,EAAI,CAC5BhzB,wBAAAA,EAA0B,EAAI,CAC9B,GAAGxB,EACJ,CAAGL,EACEob,EAAYlb,GAAM,MAClBqiC,EAAuB,iBAAOnnB,EAC9B3a,EAASC,CAAAA,EAAAA,EAAAA,EAAAA,EAAUT,GACnB00B,EAAmB,MAAChzB,CAAAA,EAAK,MAACD,CAAAA,EAAKqgC,MAAAA,EAAwB,KAAK,EAAIA,EAAcpN,gBAAgB,EAAYjzB,EAAKugC,MAAAA,EAAwB,KAAK,EAAIA,EAActN,gBAAgB,GAAYhzB,EAC1LP,EAAQohC,SLlBhBxiC,CAAA,EACA,IAAAyiC,EAAAC,EACA,IAAAthC,EAAA,SDAApB,CAAA,EACA,IAAAyiC,EACA,IAAA/+B,EAAAi/B,EAAA,IAA4CC,GAAAp0B,CAAyB,EAAAxO,EAAA0D,WAAA,QAAA++B,CAAAA,EAAAziC,EAAA6iC,kBAAA,GAAAJ,KAAA,IAAAA,EAAAA,EAAA,KAAAziC,EAAA8iC,iBAAA,EACrElM,EAAA,GAA2Bt0B,EAAAygC,OAAc,MAAAr/B,MAAAA,EAAA,CACzCA,EACA,KACAA,EACA,EACA,CAAUW,WAAAA,CAAA,CAAAo8B,aAAAA,CAAA,CAAAnL,iBAAAA,CAAA,EAAyF,SDNnGt1B,CAAA,EACA,IAAUgjC,OAAAA,CAAA,CAAAC,eAAAA,CAAA,EAAiDjjC,EAC3DkjC,EAAA,GAA6BC,GAAAC,CAAgC,EAAApjC,GAC7DygC,EAAA,GAA2Bn+B,EAAAygC,OAAc,MAAA/iC,EAAAygC,YAAA,KAAA9b,IAAA3kB,EAAAygC,YAAA,MAAA9b,IAAA,CACzC3kB,EAAAygC,YAAA,CACA,EACA4C,EAAA,GAAsB/gC,EAAAi5B,WAAkB,SAA4BwD,GAA5BiE,EAAqEA,EAAAjd,GAAoEA,GAAA,CACjLid,EACA,EACAM,EAAA,GAAsBhhC,EAAAygC,OAAc,QACpCQ,yBAAAvjC,EAAAujC,wBAAA,CACA,EAAS,CACTvjC,EAAAujC,wBAAA,CACA,EACAl/B,EAAA,GAAyBm/B,GAAA9vB,CAAoB,EAAA1T,EAAAqjC,EAAAC,GAC7ChO,EAAA,GAA+BhzB,EAAAygC,OAAc,UAAcU,GAAAhqB,CAAuB,CAAApV,EAAA6+B,EAAA,CAClFD,eAAAA,CACA,GAAS,CACT5+B,EACA6+B,EACAD,EACA,EAEAS,EAAA,GAAiCphC,EAAAw2B,MAAa,QA6C9C,MA5CA,GAAQx2B,EAAA60B,SAAgB,OACxB,GAAA+L,MAAAA,EAAA9L,UAAA,GAAA/yB,EAAAC,OAAA,CAAA4+B,EAAA9L,UAAA,GAAAsM,EAAAhhC,OAAA,MAcAihC,EAAAC,EAEAC,EAAAC,EAAAC,EAaAC,EAAAC,EA5BA,IAAAC,EAAAR,EAAAhhC,OAAA,CAAA4B,OAAA,CAAA4+B,EAAA9L,UAAA,EACA+M,EAAA,IACAT,EAAAhhC,OAAA,CAAA08B,OAAA,GACA,CAAAgF,GAAA,KACA,IAAAC,EAAAX,EAAAhhC,OAAA,CAAA4B,OAAA,CAAAjD,GACA,OAAAgjC,MAAAA,EAAA,OAAAA,EAAAr2B,IAAA,WAAAq2B,EAAA,IACA,GAAarB,MAAA,IAAA1pB,OAAAA,GACbgrB,EAAA,IACAjgC,EAAA+6B,OAAA,GACA,CAAAgF,GAAA,KACA,IAAAC,EAAAhgC,EAAAC,OAAA,CAAAjD,GACA,OAAAgjC,MAAAA,EAAA,OAAAA,EAAAr2B,IAAA,WAAAq2B,EAAA,IACA,GAAarB,MAAA,IAAA1pB,OAAAA,GAEbirB,EAAA,QAAAZ,CAAAA,EAAAQ,MAAAA,EAAA,OAAAA,EAAAz6B,MAAA,GAAAi6B,KAAA,IAAAA,EAAAA,EAAA,WAAAC,CAAAA,EAAAU,MAAAA,EAAA,OAAAA,EAAA56B,MAAA,GAAAk6B,KAAA,IAAAA,EAAAA,EAAA,GAEArD,EAAAn2B,KAAAI,GAAA,CAAA+5B,EAAA,EAAAn6B,KAAAC,GAAA,SAAAw5B,CAAAA,EAAAK,MAAAA,EAAA,OAAAA,EAAA3D,KAAA,GAAAsD,KAAA,IAAAA,EAAAA,EAAA,GAAAU,EAAA,YAAAT,CAAAA,EAAAI,MAAAA,EAAA,OAAAA,EAAA3D,KAAA,GAAAuD,KAAA,IAAAA,EAAAA,EAAA,UAAAC,CAAAA,EAAAO,MAAAA,EAAA,OAAAA,EAAA56B,MAAA,GAAAq6B,KAAA,IAAAA,EAAAA,EAAA,MACAS,EAAA,KACAC,EAAA,GACA,KAAAlE,GAAA,IACA,IAAAjL,EAAAnzB,UAAA,CAAAmiC,CAAA,CAAA/D,EAAA,CAAAl/B,GAAA,GACAmjC,EAAAF,CAAA,CAAA/D,EAAA,CACA,KACA,CAEAA,EAAA+D,EAAA56B,MAAA,KAAA+6B,EAAAlE,KAEAkE,EAAA,GAEAlE,EAAA,QAAAyD,CAAAA,EAAAE,MAAAA,EAAA,OAAAA,EAAA3D,KAAA,GAAAyD,KAAA,IAAAA,EAAAA,EAAA,IAAAzD,CAAAA,EAAA,OAAA0D,CAAAA,EAAAC,MAAAA,EAAA,OAAAA,EAAA3D,KAAA,GAAA0D,KAAA,IAAAA,EAAAA,EAAA,GACA1D,IAEA,CACA2C,EAAA/K,aAAA,CAAAqM,EAAAA,EAAAnjC,GAAA,MACA,CACAqiC,EAAAhhC,OAAA,CAAA2B,CACA,EAAK,CACLA,EACAixB,EACA4N,EACAA,EAAA9L,UAAA,CACA,EACA,CACA/yB,WAAAA,EACAo8B,aAAAA,EACAnL,iBAAAA,CACA,CACA,ECnEkJ,CAClJ,GAAAt1B,CAAA,CACAs2B,cAAA,SACAO,uBAAA,GACA6N,8BAAA,GACA9N,aAAAA,EACAkM,kBAAA,QAGA6B,EADA,GAAAh6B,QAAAA,EAAA,OAEA,IAAAtJ,EAAA,OAAAsjC,CAAAA,EAAAh6B,EAAAiV,MAAA,GAAA5K,IAAA,GAAAyK,KAAA,GAAAklB,KAAA,IAAAA,EAAAA,EAAA,KAGAtjC,IAAAqC,GAAA1D,EAAA8iC,iBAAA,EAAA9iC,EAAA8iC,iBAAA,CAAAzhC,GACAshC,EAAAthC,EACA,CACA,GACA8C,EAAAT,MAAAA,EAAAW,EAAAC,OAAA,CAAAZ,GAAA,KACA,OACAW,WAAAA,EACAo8B,aAAAA,EACAnL,iBAAAA,EACA5xB,YAAAA,EACAi/B,eAAAA,EACAx+B,aAAAA,CACA,CACA,EClCmD,CACnD,GAAAnE,CAAA,CACAujC,yBAAA,GACAV,mBAAA,OAAAH,CAAAA,EAAA,OAAAD,CAAAA,EAAAziC,EAAA6iC,kBAAA,GAAAJ,KAAA,IAAAA,EAAAA,EAAAjC,GAAAxgC,EAAAqE,UAAA,CAAArE,EAAAygC,YAAA,KAAA9b,IAAA3kB,EAAAygC,YAAA,MAAA9b,IAAA,GAAA+d,KAAA,IAAAA,EAAAA,EAAAj/B,KAAAA,CACA,GACA,CAAU6xB,iBAAAA,CAAA,CAAAjxB,WAAAA,CAAA,CAAAX,YAAAkhC,CAAA,EAA8FxjC,EACxGyjC,EAAA,GAA8BviC,EAAAw2B,MAAa,EAAA8L,GAe3C,MAdA,GAAQtiC,EAAA60B,SAAgB,OAExB,IAAAzzB,EAAAkhC,EACAtP,CAAAA,EAAAoD,OAAA,EAAAh1B,MAAAA,GAAA,CAAAW,EAAAC,OAAA,CAAAZ,EAAA,GAEAA,MADAA,CAAAA,EAAA88B,GAAAn8B,EAAAjD,EAAAq/B,YAAA,IAEAnL,EAAAqB,eAAA,EACAjzB,EACA,EAGAA,CAAAA,MAAAA,GAAA4xB,MAAAA,EAAA8B,UAAA,MAAApzB,SAAA,EAAAN,IAAAmhC,EAAAniC,OAAA,GAAA4yB,EAAA6C,aAAA,CAAAz0B,GACAmhC,EAAAniC,OAAA,CAAAgB,CACA,GACA,CACA,GAAAtC,CAAA,CACAe,WAAAnC,EAAAmC,UAAA,IACA,CACA,EKTgC,CAC5BhC,SAAAA,EACA,GAAGE,CAAU,GAET,CAAEykC,aAAAA,CAAY,CAAE,CAAGC,SDd3B/kC,CAAA,CAAAoB,CAAA,CAAAnB,CAAA,EACA,IAAUwhC,YAAAA,EAAA,aAAAuD,mBAAAA,EAAA,aAAgGhlC,EAC1G,CAAUqE,WAAAA,CAAA,CAAAixB,iBAAAC,CAAA,CAAAkL,aAAAA,CAAA,EAAgFr/B,EAC1F,CAAU8S,UAAAA,CAAA,EAAuB,GAAMovB,GAAA2B,CAAgB,IAOvD,CAAUC,gBAAAA,CAAA,EAAmC,SDN7ChjC,CAAA,EACA,IAuVAD,EAvVA,CAAUqzB,iBAAAC,CAAA,CAAA4P,iBAAAC,CAAA,CAAAnlC,IAAAA,CAAA,CAAAolC,UAAAA,EAAA,GAAAC,gBAAAA,EAAA,GAAAzO,uBAAAA,EAAA,GAAA0O,kBAAAA,EAAA,GAAAC,cAAAA,EAAAjQ,YAAAA,EAAA0B,iBAAA,CAAAwO,kBAAAA,EAAA,GAAAhQ,sBAAAA,CAAA,CAAAiQ,oBAAAA,EAAA,GAAAC,cAAAA,CAAA,CAAAC,UACVA,EAAA3lC,CAAA,CAAA41B,aAAAA,EAAA,UAA6D3zB,EAC7D,CAAUgS,UAAAA,CAAA,EAAuB,GAAMovB,GAAA2B,CAAgB,IACvDnP,EAAA,GAAqBC,EAAAC,EAAgB,IA0JrC6P,EAAA,GAAwBvjC,EAAAw2B,MAAa,GACrCzwB,IAAA,EACAM,KAAA,CACA,GACA,GAAQm9B,GAAAt3B,CAAe,EAAAo3B,EAAA,SAAAD,EAAAliC,KAAAA,EAAA,SACvBsiC,EAAAC,EACAC,EAAAC,CACAL,CAAAA,EAAAnjC,OAAA,EACA2F,IAAA,OAAA49B,CAAAA,EAAA,OAAAF,CAAAA,EAAAH,EAAAljC,OAAA,GAAAqjC,KAAA,IAAAA,EAAA,OAAAA,EAAAx7B,SAAA,GAAA07B,KAAA,IAAAA,EAAAA,EAAA,EACAt9B,KAAA,OAAAu9B,CAAAA,EAAA,OAAAF,CAAAA,EAAAJ,EAAAljC,OAAA,GAAAsjC,KAAA,IAAAA,EAAA,OAAAA,EAAA17B,UAAA,GAAA47B,KAAA,IAAAA,EAAAA,EAAA,CACA,CACA,GAkDA,IAAAC,EAAA,GAAsC7jC,EAAAw2B,MAAa,MAInD,GAAQgN,GAAAt3B,CAAe,EAAAvO,EAAWu3B,EAAA4O,EAAkB,OACpD,IAAcC,OAAAA,CAAA,EAAiBthC,EAC/BA,EAAA40B,eAAA,GACApE,EAAA+Q,UAAA,KAEAD,CAAAA,MAAAA,EAAA,OAAAA,EAAAE,aAAA,aAAAJ,CAAAA,EAAAzjC,OAAA,IACA,EANoDe,KAAAA,GAOpD,IAAA6zB,EAAA,GAAqCkP,GAAA1gC,CAAqB,WAC1D2gC,EACAC,EAIArP,EAHA,IAAAsP,EAAA,OAAAD,CAAAA,EAAA,OAAAD,CAAAA,EAAArB,EAAAzF,WAAA,GAAA8G,KAAA,IAAAA,EAAA,OAAAA,EAAA7hC,IAAA,CAAAwgC,EAAA,GAAAsB,KAAA,IAAAA,EAAAA,EAAA,IAEAC,OAAAA,GAEA,OAAAtP,CAAAA,EAAAp3B,EAAAyC,OAAA,GAAA20B,KAAA,IAAAA,GAAAA,EAAAO,aAAA,KAAAL,YAAuIC,EAAAC,EAA8B,EACrKC,WAAA,GACAC,QAAA,EACA,IAGApC,EAAAlxB,UAAA,CAAA25B,IAAA,IAAAmI,CAAAA,EAAAzjC,OAAA,OAEA6yB,EAAA4C,aAAA,CAAAwO,GAIAR,EAAAzjC,OAAA,IAEA,GACA,GAAQkkC,GAAA9gC,CAA4B,OACpCqgC,EAAAzjC,OAAA,EAAA40B,GACA,EAAK,CACL/B,EAAAlxB,UAAA,CACAizB,EACA,EACA,IAAAuP,EAAA,GAAkCL,GAAA1gC,CAAqB,OAIvDyvB,EAAAlxB,UAAA,CAAA25B,IAAA,IAAAmI,CAAAA,EAAAzjC,OAAA,IACA,GACA,GAAQkkC,GAAA9gC,CAA4B,OACpC+gC,GACA,EAAK,CACLtR,EAAA6B,UAAA,CACAyP,EACA,EACA,GAAQf,GAAAt3B,CAAe,EAAAvO,EAAWu3B,EAAAsP,EAAwB,OAC1D/hC,EAAA40B,eAAA,GACApE,EAAA+Q,UAAA,KACA/Q,EAAA4C,aAAA,MACA,EAJ0D10B,KAAAA,GAK1D,IAAAsjC,EAAA,GAA6BzkC,EAAAw2B,MAAa,EAAAuM,GAC1C,GAAQ/iC,EAAA60B,SAAgB,OACxB,GAAA4P,EAAArkC,OAAA,MACA+jC,EAAAO,EAEAN,EAGAO,EAJA,IAAA7P,EAAA,IAGA,WAAAiO,GAAAjO,CAAAA,EAAA,OAAAsP,CAAAA,EAAA,OAAAD,CAAAA,EAAArB,EAAAzF,WAAA,GAAA8G,KAAA,IAAAA,EAAA,OAAAA,EAAA7hC,IAAA,CAAAwgC,EAAA,GAAAsB,KAAA,IAAAA,EAAAA,EAAA,MAEA,SAAArB,GAAAjO,CAAAA,EAAA,OAAA6P,CAAAA,EAAA,OAAAD,CAAAA,EAAA5B,EAAAvF,UAAA,GAAAmH,KAAA,IAAAA,EAAA,OAAAA,EAAApiC,IAAA,CAAAwgC,EAAA,GAAA6B,KAAA,IAAAA,EAAAA,EAAA,MAEA,IAAArQ,EAAArB,EAAAqB,YAAA,CACA,GAAAA,EAAAoH,IAAA,CACA,SAAA38B,KAAAu1B,EAAA,GAAArB,EAAAgD,aAAA,CAAAl3B,GAAA,CACA+1B,EAAA/1B,EACA,KACA,EAEAk0B,EAAA+Q,UAAA,KACA/Q,EAAA4C,aAAA,CAAAf,GAEA,MAAAA,GAAA,CAAA3B,GAAAx1B,EAAAyC,OAAA,KAAiFo1B,EAAA/yB,CAAkB,EAAA9E,EAAAyC,OAAA,CACnG,CAEA,EAAK,IAEL,IAAAwkC,EAAA,GAA6B5kC,EAAAw2B,MAAa,EAAAvD,EAAA6B,UAAA,EAC1C,GAAQ90B,EAAA60B,SAAgB,OACxB,GAAA5B,EAAAvxB,SAAA,EAAAuxB,MAAAA,EAAA6B,UAAA,EAAA7B,CAAAA,EAAA6B,UAAA,GAAA8P,EAAAxkC,OAAA,EAAAqkC,EAAArkC,OAAA,GAAAkjC,EAAAljC,OAAA,EAAAzC,EAAAyC,OAAA,EACA,IAAAm2B,EAAA,GAA+BsO,GAAAC,EAA6B,IAC5DjgB,EAAAlnB,EAAAyC,OAAA,CAAA2kC,aAAA,eAAkEC,IAAAC,MAAA,CAAAhS,EAAA6B,UAAA,CAAAoQ,QAAA,IAA0C,KAC5G,IAAArgB,EAEA,OACA0R,CAAAA,aAAAA,GAAAkO,EAAArkC,OAAA,IACA,GAAoBo5B,GAAAttB,CAAqB,EAAAo3B,EAAAljC,OAAA,CAAAykB,GAEzC,YAAA0R,GAAA,GAAgDiD,GAAA2L,CAAyB,EAAAtgB,EAAA,CACzEugB,kBAAAznC,EAAAyC,OAAA,GAGA,CAEA,CAAA+yB,GAAAF,EAAAvxB,SAAA,EAAAuxB,MAAAA,EAAA6B,UAAA,EAAA8P,MAAAA,EAAAxkC,OAAA,EAAAzC,EAAAyC,OAAA,KAA4Io1B,EAAA/yB,CAAkB,EAAA9E,EAAAyC,OAAA,EAC9JwkC,EAAAxkC,OAAA,CAAA6yB,EAAA6B,UAAA,CACA2P,EAAArkC,OAAA,GACA,GAEA,GAAQojC,GAAAt3B,CAAe,EAAAvO,EAAA,qCACvB8E,EAAAkzB,cAAA,GACA1C,EAAA+Q,UAAA,IACA,GACA,IAAAv6B,EAAA,CACA47B,UAnUA,QACAtQ,EA4BAuQ,EAAAnB,EAAAC,EAWAmB,EAAAb,EAAAC,EAWAa,EAAAC,EAAAC,EAWAC,EAAAC,EAAAC,EAxDA,GAHApjC,EAAAgG,MAAA,EAAAhG,QAAAA,EAAA1D,GAAA,EAAA0D,EAAAkzB,cAAA,GAGA,SAAAZ,CAAAA,EAAAp3B,EAAAyC,OAAA,GAAA20B,KAAA,IAAAA,EAAA,OAAAA,EAAA+Q,QAAA,CAAArjC,EAAAuG,MAAA,UACA,IAAA+8B,EAAA,CAAAhnC,EAAAinC,KACA,GAAAjnC,MAAAA,EAAA,CACA,GAAAk0B,EAAAgB,MAAA,CAAAl1B,IAAAw0B,cAAAA,GAAA2P,GAAA,GAA0IzgC,GAAA,CAC1I,IAAAghC,EAEA,GAAwBwC,GAAAC,SAAgB,OACxCjT,EAAA4C,aAAA,CAAA92B,EAAAinC,EACA,GACA,IAAA/T,EAAA,OAAAwR,CAAAA,EAAAH,EAAAljC,OAAA,GAAAqjC,KAAA,IAAAA,EAAA,OAAAA,EAAAsB,aAAA,eAA4KC,IAAAC,MAAA,CAAAlmC,EAAAmmC,QAAA,IAA2B,KACvMhS,EAAAD,EAAAiB,YAAA,CAAAn1B,GACAkzB,GAAAuB,EAAAW,IAAA,CAAAlC,EAAAxvB,EAAAywB,EAAAR,IAAA,CAAAQ,EAAAkB,aAAA,EACA,MACA,CACAnB,EAAA4C,aAAA,CAAA92B,EAAAinC,GACA/S,EAAAgB,MAAA,CAAAl1B,IAAAw0B,aAAAA,IACA9wB,EAAAgyB,QAAA,EAAAxB,aAAAA,EAAAe,aAAA,CAAAf,EAAAyB,eAAA,CAAA31B,GACAmkC,GAAA,GAAwFzgC,IAAAwwB,EAAAuB,gBAAA,CAAAz1B,GACxF,CACA,EACA,OAAA0D,EAAA1D,GAAA,EACA,gBACA,GAAA+jC,EAAA5D,WAAA,EAEA,IAAA9B,EAAAnK,MAAAA,EAAA6B,UAAA,QAAAwQ,CAAAA,EAAAxC,EAAA5D,WAAA,GAAAoG,KAAA,IAAAA,EAAA,OAAAA,EAAAhjC,IAAA,CAAAwgC,EAAA7P,EAAA6B,UAAA,SAAAqP,CAAAA,EAAArB,EAAAzF,WAAA,GAAA8G,KAAA,IAAAA,EAAA,OAAAA,EAAA7hC,IAAA,CAAAwgC,EACA,OAAA1F,GAAA4F,GAAA5F,CAAAA,EAAA,OAAAgH,CAAAA,EAAAtB,EAAAzF,WAAA,GAAA+G,KAAA,IAAAA,EAAA,OAAAA,EAAA9hC,IAAA,CAAAwgC,EAAA7P,EAAA6B,UAAA,GACA,MAAAsI,IACA36B,EAAAkzB,cAAA,GACAoQ,EAAA3I,GAEA,CACA,KACA,eACA,GAAA0F,EAAA9D,WAAA,EAEA,IAAA5B,EAAAnK,MAAAA,EAAA6B,UAAA,QAAAyQ,CAAAA,EAAAzC,EAAA9D,WAAA,GAAAuG,KAAA,IAAAA,EAAA,OAAAA,EAAAjjC,IAAA,CAAAwgC,EAAA7P,EAAA6B,UAAA,SAAA4P,CAAAA,EAAA5B,EAAAvF,UAAA,GAAAmH,KAAA,IAAAA,EAAA,OAAAA,EAAApiC,IAAA,CAAAwgC,EACA,OAAA1F,GAAA4F,GAAA5F,CAAAA,EAAA,OAAAuH,CAAAA,EAAA7B,EAAAvF,UAAA,GAAAoH,KAAA,IAAAA,EAAA,OAAAA,EAAAriC,IAAA,CAAAwgC,EAAA7P,EAAA6B,UAAA,GACA,MAAAsI,IACA36B,EAAAkzB,cAAA,GACAoQ,EAAA3I,GAEA,CACA,KACA,iBACA,GAAA0F,EAAArE,YAAA,EAEA,IAAArB,EAAAnK,MAAAA,EAAA6B,UAAA,QAAA0Q,CAAAA,EAAA1C,EAAArE,YAAA,GAAA+G,KAAA,IAAAA,EAAA,OAAAA,EAAAljC,IAAA,CAAAwgC,EAAA7P,EAAA6B,UAAA,MACA,OAAAsI,GAAA4F,GAAA5F,CAAAA,EAAAxrB,QAAAA,EAAA,OAAA6zB,CAAAA,EAAA3C,EAAAzF,WAAA,GAAAoI,KAAA,IAAAA,EAAA,OAAAA,EAAAnjC,IAAA,CAAAwgC,EAAA7P,EAAA6B,UAAA,SAAA4Q,CAAAA,EAAA5C,EAAAvF,UAAA,GAAAmI,KAAA,IAAAA,EAAA,OAAAA,EAAApjC,IAAA,CAAAwgC,EAAA7P,EAAA6B,UAAA,GACA,MAAAsI,IACA36B,EAAAkzB,cAAA,GACAoQ,EAAA3I,EAAAxrB,QAAAA,EAAA,gBAEA,CACA,KACA,kBACA,GAAAkxB,EAAAjE,aAAA,EAEA,IAAAzB,EAAAnK,MAAAA,EAAA6B,UAAA,QAAA6Q,CAAAA,EAAA7C,EAAAjE,aAAA,GAAA8G,KAAA,IAAAA,EAAA,OAAAA,EAAArjC,IAAA,CAAAwgC,EAAA7P,EAAA6B,UAAA,MACA,OAAAsI,GAAA4F,GAAA5F,CAAAA,EAAAxrB,QAAAA,EAAA,OAAAg0B,CAAAA,EAAA9C,EAAAvF,UAAA,GAAAqI,KAAA,IAAAA,EAAA,OAAAA,EAAAtjC,IAAA,CAAAwgC,EAAA7P,EAAA6B,UAAA,SAAA+Q,CAAAA,EAAA/C,EAAAzF,WAAA,GAAAwI,KAAA,IAAAA,EAAA,OAAAA,EAAAvjC,IAAA,CAAAwgC,EAAA7P,EAAA6B,UAAA,GACA,MAAAsI,IACA36B,EAAAkzB,cAAA,GACAoQ,EAAA3I,EAAAxrB,QAAAA,EAAA,gBAEA,CACA,KACA,YACA,GAAAkxB,EAAAzF,WAAA,EACA,GAAApK,OAAAA,EAAA6B,UAAA,EAAAryB,EAAAgyB,QAAA,QACAhyB,EAAAkzB,cAAA,GACA,IAAA2H,EAAAwF,EAAAzF,WAAA,CAAApK,EAAA6B,UAAA,IAAgFF,EAAAlvB,CAAuB,EAAAjD,IACvGwwB,EAAA4C,aAAA,CAAAyH,GACA,MAAAA,IACA,GAAgC1I,EAAAlvB,CAAuB,EAAAjD,IAAAA,EAAAgyB,QAAA,EAAAxB,aAAAA,EAAAe,aAAA,CAAAf,EAAAyB,eAAA,CAAA4I,GACvD4F,GAAAjQ,EAAAuB,gBAAA,CAAA8I,GAEA,CACA,KACA,WACA,GAAAwF,EAAAvF,UAAA,EACA,GAAAtK,OAAAA,EAAA6B,UAAA,EAAAryB,EAAAgyB,QAAA,QACAhyB,EAAAkzB,cAAA,GACA,IAAA6H,EAAAsF,EAAAvF,UAAA,CAAAtK,EAAA6B,UAAA,IAA8EF,EAAAlvB,CAAuB,EAAAjD,IACrGwwB,EAAA4C,aAAA,CAAA2H,GACA,MAAAA,IACA,GAAgC5I,EAAAlvB,CAAuB,EAAAjD,IAAAA,EAAAgyB,QAAA,EAAAxB,aAAAA,EAAAe,aAAA,CAAAf,EAAAyB,eAAA,CAAA8I,GACvD0F,GAAAjQ,EAAAuB,gBAAA,CAAAgJ,GAEA,CACA,KACA,gBACA,GAAAsF,EAAAqD,eAAA,EAAAlT,MAAAA,EAAA6B,UAAA,EACA,IAAAsI,EAAA0F,EAAAqD,eAAA,CAAAlT,EAAA6B,UAAA,CACA,OAAAsI,IACA36B,EAAAkzB,cAAA,GACAoQ,EAAA3I,GAEA,CACA,KACA,cACA,GAAA0F,EAAAsD,eAAA,EAAAnT,MAAAA,EAAA6B,UAAA,EACA,IAAAsI,EAAA0F,EAAAsD,eAAA,CAAAnT,EAAA6B,UAAA,CACA,OAAAsI,IACA36B,EAAAkzB,cAAA,GACAoQ,EAAA3I,GAEA,CACA,KACA,SACA,GAAwBxI,EAAAlvB,CAAuB,EAAAjD,IAAAwwB,aAAAA,EAAAe,aAAA,EAAAiP,CAAA,IAAAA,IAC/CxgC,EAAAkzB,cAAA,GACA1C,EAAAoT,SAAA,IAEA,KACA,cACA9R,GAAAtB,IAAAA,EAAAqB,YAAA,CAAAoH,IAAA,GACAj5B,EAAA40B,eAAA,GACA50B,EAAAkzB,cAAA,GACA1C,EAAAqT,cAAA,IAEA,KACA,WACA,IAAAlD,GAOA,GAAA3gC,EAAAgyB,QAAA,CAAA92B,EAAAyC,OAAA,CAAAgzB,KAAA,OACA,CACA,IAGA1gB,EACAsrB,EAJA19B,EAAA,GAAyCC,EAAAC,EAA6B,EAAA7C,EAAAyC,OAAA,EACtEK,SAAA,EACA,GAGA,EACAu9B,CAAAA,EAAA19B,EAAAimC,SAAA,KACA7zB,CAAAA,EAAAsrB,CAAA,QACyBA,EAAA,CACzBtrB,GAAA,CAAAA,EAAAozB,QAAA,CAAA/hC,SAAAwxB,aAAA,MAAgFiR,GAAAC,CAA4B,EAAA/zB,EAC5G,EAGA,CACA,EA8KAkjB,QA/JA,IACA,GAAA3C,EAAAvxB,SAAA,EAEAe,EAAAikC,aAAA,CAAAZ,QAAA,CAAArjC,EAAAuG,MAAA,GAAAiqB,EAAA+Q,UAAA,KACA,MACA,CAEA,GAAAvhC,EAAAikC,aAAA,CAAAZ,QAAA,CAAArjC,EAAAuG,MAAA,GAEA,GADAiqB,EAAA+Q,UAAA,KACA/Q,MAAAA,EAAA6B,UAAA,MACA4P,EAAAP,EAWAwC,EAAAC,EAVA,IAAAC,EAAA,IACA,MAAA9nC,IACAk0B,EAAA4C,aAAA,CAAA92B,GACAmkC,GAAAjQ,EAAAuB,gBAAA,CAAAz1B,GAEA,EAIA+nC,EAAArkC,EAAAqkC,aAAA,CAEAA,GAAArkC,EAAAikC,aAAA,CAAAK,uBAAA,CAAAD,GAAAE,KAAAC,2BAAA,CAAAJ,EAAA,OAAAF,CAAAA,EAAA1T,EAAAsP,eAAA,GAAAoE,KAAA,IAAAA,EAAAA,EAAA,OAAAjC,CAAAA,EAAA5B,EAAAvF,UAAA,GAAAmH,KAAA,IAAAA,EAAA,OAAAA,EAAApiC,IAAA,CAAAwgC,IACA+D,EAAA,OAAAD,CAAAA,EAAA3T,EAAAiU,gBAAA,GAAAN,KAAA,IAAAA,EAAAA,EAAA,OAAAzC,CAAAA,EAAArB,EAAAzF,WAAA,GAAA8G,KAAA,IAAAA,EAAA,OAAAA,EAAA7hC,IAAA,CAAAwgC,GACA,KAAU,CAAAO,GAAAC,EAAAljC,OAAA,GAEVkjC,EAAAljC,OAAA,CAAA6H,SAAA,CAAAs7B,EAAAnjC,OAAA,CAAA2F,GAAA,CACAu9B,EAAAljC,OAAA,CAAA4H,UAAA,CAAAu7B,EAAAnjC,OAAA,CAAAiG,IAAA,EAEA,GAAA4sB,MAAAA,EAAA6B,UAAA,EAAAwO,EAAAljC,OAAA,EAEA,IAAAykB,EAAAye,EAAAljC,OAAA,CAAA2kC,aAAA,eAAwEC,IAAAC,MAAA,CAAAhS,EAAA6B,UAAA,CAAAoQ,QAAA,IAA0C,KAClHrgB,IAEAA,EAAAihB,QAAA,CAAA/hC,SAAAwxB,aAAA,MAAmEiR,GAAAC,CAA4B,EAAA5hB,GAE/F,aADA,GAAmCggB,GAAAC,EAA6B,KAChE,GAAiDtL,GAAA2L,CAAyB,EAAAtgB,EAAA,CAC1EugB,kBAAAznC,EAAAyC,OAAA,GAGA,EACA,EAuHA+mC,OAtHA,IAEA1kC,EAAAikC,aAAA,CAAAZ,QAAA,CAAArjC,EAAAqkC,aAAA,GAAA7T,EAAA+Q,UAAA,IACA,EAoHAtO,YAAAjzB,CAAA,EAEA6gC,EAAAljC,OAAA,GAAAqC,EAAAuG,MAAA,EACAvG,EAAAkzB,cAAA,EACA,CACA,EACA,CAAUyR,gBAAAA,CAAA,EAAmC,SD5V7CxnC,CAAA,EACA,IAAUijC,iBAAAA,CAAA,CAAA7P,iBAAAA,CAAA,CAAAqU,aAAAA,CAAA,EAAqGznC,EAC/Gd,EAAA,GAAoBkB,EAAAw2B,MAAa,GACjC8Q,OAAA,GACAniB,QAAAhkB,KAAAA,CACA,GAAKf,OAAA,CA6BL,OACAgnC,gBAAA,CAGAG,iBAAA1E,EAAA2E,eAAA,CAhCA,QAoCAzoC,EAnCA,IAAA0oC,EAwCA,IAAA1oC,CALAA,EAnCA0D,EAAA1D,GAAA,EAwCAqI,MAAA,YAAA2J,IAAA,CAAAhS,GACA,GADAA,EAvCA,OAAA0D,EAAAiG,OAAA,GAAAjG,EAAAilC,OAAA,EAAAjlC,EAAAikC,aAAA,CAAAZ,QAAA,CAAArjC,EAAAuG,MAAA,GAUA,GALA,MAAAy+B,IAAA3oC,CAAAA,EAAAwoC,MAAA,CAAAK,IAAA,GAAAvgC,MAAA,MACA3E,EAAAkzB,cAAA,GACA,wBAAAlzB,GAAAA,EAAA40B,eAAA,IAEAv4B,EAAAwoC,MAAA,EAAAG,EACA5E,MAAAA,EAAA2E,eAAA,EAGA,IAAAzoC,EAAA8jC,EAAA2E,eAAA,CAAA1oC,EAAAwoC,MAAA,CAAAtU,EAAA8B,UAAA,CAEA,OAAA/1B,GAAAA,CAAAA,EAAA8jC,EAAA2E,eAAA,CAAA1oC,EAAAwoC,MAAA,GACA,MAAAvoC,IACAi0B,EAAA6C,aAAA,CAAA92B,GACAsoC,GAAAA,EAAAtoC,GAEA,CACAi6B,aAAAl6B,EAAAqmB,OAAA,EACArmB,EAAAqmB,OAAA,CAAA4T,WAAA,KACAj6B,EAAAwoC,MAAA,GACA,EAjCA,KAkCA,EAKAnmC,KAAAA,CACA,CACA,CACA,ECmT4F,CAC5F0hC,iBAAAC,EACA9P,iBAAAC,CACA,GAOA,OANAkQ,GAAA15B,CAAAA,EAAA,GAA2CnI,EAAAC,CAAiB,EAAA6lC,EAAA39B,EAAA,EAK5D9J,EADAwzB,EACA,GADAF,MAAAA,EAAA6B,UAAA,MAEA,CACA8N,gBAAA,CACA,GAAAn5B,CAAA,CACA9J,SAAAA,CACA,CACA,CACA,EC3ViF,CACjFhC,IAAAA,EACAq1B,iBAAAC,EACA4P,iBATA,GAAuB7iC,EAAAygC,OAAc,UAAcjC,GAAyCz8B,EAAA6P,EAAAutB,EAAAhB,GAAA,CAC5Fp8B,EACAo8B,EACAgB,EACAvtB,EACA,EAKAsxB,cAAAR,cAAAA,EACAnO,uBAAA,GACA+O,UAAA3lC,EACA41B,aAAA,WACA,GAEAqU,EAAA,GAAqBjU,EAAAC,EAAY,IACjC,EAAiDhhB,GAAA,CAAA9T,EAAA8oC,GACjD,IAAAC,EAAA,GAAgCxmC,EAAAlB,CAAgB,GAChD,GAAAzC,CAAA,CACAL,GAAAuqC,CACA,GACA,OACApF,aAAA,CACA,MAAmBlhC,EAAAC,CAAiB,EAAAqhC,EAAAiF,EAAA,CACpC7oC,KAAA,UACA,mBAAAmgC,EACAx/B,SAAAwB,KAAAA,CACA,CACA,CACA,ECpBsCpD,EAAYe,EAAOX,GACjDH,EAAQyiC,CAAAA,EAAAA,EAAAA,OAAAA,EACZ,IAAMnG,GAAK,CACT,GAAGuF,CAAY,CACfxN,iBAAAA,EACA,GAAG2N,EAAa,CAAE7D,UAAW,OAAQ,EAAI,CAAC,CAAC,GAE7C,CAAC2L,CAAAA,EAAAA,EAAAA,EAAAA,EAAajI,GAAexN,EAAkB2N,EAAW,EAEtD+H,EAAavpC,CAAAA,EAAAA,EAAAA,EAAAA,EAAKP,MAAAA,EAAqB,KAAK,EAAIA,EAAWu8B,IAAI,CAAE18B,GACjEwf,EAASmjB,CAAAA,EAAAA,EAAAA,OAAAA,EACb,IAAO,EACL3hC,MAAAA,EACAd,MAAAA,EACAC,WAAAA,EACAm0B,YAAAA,EACAC,iBAAAA,EACAF,QAASh0B,EACTo0B,sBAAAA,EACAD,uBAAAA,EACAzyB,WAAY4/B,MAAAA,EAAwB,KAAK,EAAIA,EAAc5/B,UAAU,CACvE,EACA,CACEf,EACAd,EACAG,EACAi0B,EACAC,EACAC,EACAC,EACAkN,MAAAA,EAAwB,KAAK,EAAIA,EAAc5/B,UAAU,CACzD5B,EACD,EAEGohC,EAAepG,CAAAA,EAAAA,EAAAA,WAAAA,EACnB,GAAa,EACX,YAAa,OACbn7B,UAAWE,EAAMw8B,IAAI,CAAC,CAAEj8B,MAAOC,CAAAA,EAAAA,EAAAA,EAAAA,EAAKupC,EAAYC,MAAAA,EAAiB,KAAK,EAAIA,EAAOlqC,SAAS,CAAE,GAC5F,GAAGwD,CAAAA,EAAAA,EAAAA,CAAAA,EACD02B,CAAAA,EAAAA,EAAAA,CAAAA,EAAej6B,EAAY,CACzBs7B,QAAS4G,CACX,GACA+H,EACD,CACH,EACA,CAACD,EAAYhqC,EAAYC,EAAM,EAE3Bm+B,EAAY,MAACuD,CAAAA,EAAKG,EAAa1D,SAAS,EAAYuD,EAAKM,EAAa,QAAU,MAChFT,EAAkBtG,CAAAA,EAAAA,EAAAA,WAAAA,EACtB,GAAa,EACX,YAAa,aACbn7B,UAAWE,EAAM48B,UAAU,CAAC,CAAEr8B,MAAOC,CAAAA,EAAAA,EAAAA,EAAAA,EAAKP,MAAAA,EAAqB,KAAK,EAAIA,EAAW28B,UAAU,CAAEoN,MAAAA,EAAiB,KAAK,EAAIA,EAAOlqC,SAAS,CAAE,GAC3I,iBAAkBq+B,EAClB,gBAAiB6D,GAAc7D,UAAAA,GAAyBA,QAAAA,EAAsB,WAAa,YAC7F,GACA,CAACl+B,EAAYD,EAAOm+B,EAAW6D,EAAW,EAEtCV,EAAkBrG,CAAAA,EAAAA,EAAAA,WAAAA,EACtB,GAAa,EACXt7B,IAAKQ,EACL,YAAa,UACbL,UAAWE,EAAMy8B,OAAO,CAAC,CAAEl8B,MAAOC,CAAAA,EAAAA,EAAAA,EAAAA,EAAKP,MAAAA,EAAqB,KAAK,EAAIA,EAAWw8B,OAAO,CAAEuN,MAAAA,EAAiB,KAAK,EAAIA,EAAOlqC,SAAS,CAAE,GACrI,GAAGwD,CAAAA,EAAAA,EAAAA,CAAAA,EAAWkhC,EAAcwF,EAAO,CACrC,EACA,CAAC7pC,EAAQqkC,EAAcvkC,EAAYD,EAAM,EAE3C,MAAO,CACL8a,UAAAA,EACA3a,OAAAA,EACAW,MAAAA,EACAwe,OAAAA,EACA/d,wBAAAA,EACA8/B,aAAAA,EACAC,gBAAAA,EACAC,gBAAAA,CACF,CACF,ECxFc,CACV,GAAG7hC,CAAK,CACRC,IAAAA,CACF,GACMub,EAAWya,CAAAA,EAAAA,EAAAA,KAAAA,IACXsU,EAAqB,CAACvqC,EAAM20B,gBAAgB,EAAI,CAAC30B,EAAM40B,sBAAsB,CAC7E4V,EAAY,CAChBppC,MAAAA,EACAqzB,QAAS7U,EAAO6U,OAAO,CACvBn0B,MAAOsf,EAAOtf,KAAK,CACnBC,WAAYqf,EAAOrf,UAAU,CAC7B4B,WAAYyd,EAAOzd,UAAU,CAC7BuyB,YAAa9U,EAAO8U,WAAW,CAC/BC,iBAAkB/U,EAAO+U,gBAAgB,CACzCE,sBAAuBjV,EAAOiV,qBAAqB,CACnDD,uBAAwBhV,EAAOgV,sBAAsB,EAEjDgI,EAAO,IAAIx7B,EAAMiD,UAAU,CAAC,CAAC+/B,GAAG,CAAC,GAA0BzjC,CAAAA,EAAAA,EAAAA,GAAAA,EXsFjD2zB,GWtFkE,CAAEC,KAAAA,EAAM,GAAGiW,CAAS,CAAE,GAAGjW,EAAKv0B,KAAK,EAAIu0B,EAAKlzB,GAAG,GAC3HopC,EAA6BjP,CAAAA,EAAAA,EAAAA,IAAAA,EAAKkP,EAAAA,QAAQA,CAAE,CAAEvqC,SAAU,CAC5CQ,CAAAA,EAAAA,EAAAA,GAAAA,EAAI,MAAO,CAAE,GAAGghC,GAAc,CAAExhC,SAA0BQ,CAAAA,EAAAA,EAAAA,GAAAA,EAAIya,EAAW,CAAE,GAAGwmB,GAAiB,CAAEzhC,SAAUoqC,EAAqC5pC,CAAAA,EAAAA,EAAAA,GAAAA,EAAIgqC,GAAAA,CAAWA,CAAE,CAAEhrC,GAAI6b,EAAUrb,SAAUy8B,CAAK,GAAKA,CAAK,EAAG,GAC7N,IAAIx7B,EAAMiD,UAAU,CAAC,CAAC+/B,GAAG,CAAC,GACDzjC,CAAAA,EAAAA,EAAAA,GAAAA,EjDNLc,EiDQhB,CACElB,WAAYqf,EAAOrf,UAAU,CAC7BsB,wBAAAA,EACAvB,MAAOsf,EAAOtf,KAAK,CACnBc,MAAOwe,EAAOxe,KAAK,CACnBQ,OAAQ2yB,EAAKlzB,GAAG,EAElBkzB,EAAKlzB,GAAG,GAGb,SACD,cAAmBrB,GAAS,eAAgBA,EACnBW,CAAAA,EAAAA,EAAAA,GAAAA,EAAI,MAAO,CAAE,GAAGkhC,GAAiB,CAAE1hC,SAAUsqC,CAAW,GAE1EA,CACT,0DC1DA,IAAIG,EADcC,SAAAA,CAAQA,uGCW1B,IAAAC,EAAA,EACAC,EAAA,IAAAxlB,iBCEA,SAAAylB,EAAAhrC,CAAA,EACA,IAAUmC,WAAAA,CAAA,CAAA8oC,iBAAAA,CAAA,CAAAC,eAAAA,CAAA,CAAApR,YAAAA,CAAA,CAAAqR,UAAAA,EAFV,GAEU,CAAAC,yBAAAA,CAAA,EAA2OprC,EACrPqrC,EAAA,GAAwB/oC,EAAAw2B,MAAa,EAAAr1B,KAAAA,GACrC,CAAU6nC,kBAAAA,CAAA,CAAAC,qBAAAA,CAAA,EAAmF,GAAMC,EAAAljC,CAAyB,IAC5H,CAAUkxB,WAAAA,CAAA,EAAyB,GAAMC,EAAA5zB,CAAyC,GAClF1D,WAAAA,EACAi3B,aAAAr0B,CAAA,EAEA,GADAA,EAAA0mC,mBAAA,GACA1mC,CAAAA,UAAAA,EAAAqxB,WAAA,EAAArxB,UAAAA,EAAAqxB,WAAA,IACA6U,GAAAA,EAAA,CACA,GAAAlmC,CAAA,CACAiJ,KAAA,gBACA,GACAq9B,EAAA3oC,OAAA,CAAA24B,WAAA,KAEAt2B,EAAAuG,MAAA,CAAAssB,aAAA,KAAA8T,aAAA,iBACA/T,QAAA,EACA,IACAmC,GAAAA,EAAA,CACA,GAAA/0B,CAAA,CACAiJ,KAAA,WACA,GACAq9B,EAAA3oC,OAAA,CAAAe,KAAAA,CACA,EAAiB0nC,GAEjBpmC,UAAAA,EAAAqxB,WAAA,GACA,IAAAuV,EAAA,IACA5mC,EAAAkzB,cAAA,EACA,EACAqT,EAAAvmC,EAAAuG,MAAA,eAAAqgC,EAAA,CACAC,KAAA,EACA,GACAN,EAAA9jC,OAAA,iBAGA6zB,WAAA,KACAkQ,EAAAxmC,EAAAuG,MAAA,eAAAqgC,EACA,EAAyB,GACzB,EAAqB,CACrBC,KAAA,EACA,EACA,CAEA,EACAC,WAAA9mC,CAAA,EACAsmC,EAAA3oC,OAAA,EAAA44B,aAAA+P,EAAA3oC,OAAA,EACAwoC,GAAAnmC,CAAAA,UAAAA,EAAAqxB,WAAA,EAAArxB,UAAAA,EAAAqxB,WAAA,GAAA8U,EAAA,CACA,GAAAnmC,CAAA,CACAiJ,KAAA,cACA,EACA,CACA,GACA89B,EAAA,SDrDAC,CAAA,EACA,IAAApsC,EAAAqsC,EAAA,IAA0B1pC,EAAAC,QAAe,IA4BzC,MA3BA,GAAQC,EAAAC,CAAyC,OACjD,IAAAspC,EAAA,OACA,IAAAE,EAAAlB,EAAAxrC,GAAA,CAAAwsC,GACA,GAAAE,EAaUD,EAAAC,EAAA9kB,OAAA,CAAAxnB,EAAA,MAbV,CACA,IAAAA,EAAA,0BAA+CmrC,IAAsC,EACrFkB,EAAArsC,GACA,IAAA2Z,EAAAjT,SAAA6lC,aAAA,OACA5yB,CAAAA,EAAA3Z,EAAA,CAAAA,EACA2Z,EAAAjB,KAAA,CAAA8zB,OAAA,QACA7yB,EAAA8yB,WAAA,CAAAL,EACA1lC,SAAAkB,IAAA,CAAA8kC,WAAA,CAAA/yB,GACA2yB,EAAA,CACAK,SAAA,EACAnlB,QAAA7N,CACA,EACAyxB,EAAA71B,GAAA,CAAA62B,EAAAE,EACA,CAEA,OADAA,EAAAK,QAAA,GACA,KACAL,GAAA,KAAAA,EAAAK,QAAA,GACAL,EAAA9kB,OAAA,CAAAhK,MAAA,GACA4tB,EAAA3hB,MAAA,CAAA2iB,GAEA,CACA,EAAK,CACLA,EACA,EACA,CACA,mBAAAA,EAAApsC,EAAA8D,KAAAA,CACA,CACA,ECqBoDq2B,GAAA,CAAA33B,EAAAipC,EAAA3nC,KAAAA,GACpD,OACAm2B,eAAA,GAA4Bh2B,EAAAC,CAAiB,EAAA21B,EAAAsS,EAC7C,CACA","sources":["webpack://_N_E/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/action-client-wrapper.js","webpack://_N_E/./node_modules/@heroui/image/dist/index.mjs","webpack://_N_E/./node_modules/@heroui/modal/dist/chunk-O5MCAK4F.mjs","webpack://_N_E/./node_modules/@heroui/tabs/node_modules/@react-aria/tabs/dist/utils.mjs","webpack://_N_E/./node_modules/@react-aria/focus/dist/useHasTabbableChild.mjs","webpack://_N_E/./node_modules/@heroui/tabs/node_modules/@react-aria/tabs/dist/useTabPanel.mjs","webpack://_N_E/./node_modules/@heroui/tabs/dist/chunk-7ARJTFQR.mjs","webpack://_N_E/./node_modules/compute-scroll-into-view/dist/index.js","webpack://_N_E/./node_modules/scroll-into-view-if-needed/dist/index.js","webpack://_N_E/./node_modules/@heroui/tabs/node_modules/@react-aria/selection/dist/utils.mjs","webpack://_N_E/./node_modules/@heroui/tabs/node_modules/@react-aria/selection/dist/useSelectableItem.mjs","webpack://_N_E/./node_modules/@heroui/tabs/node_modules/@react-aria/tabs/dist/useTab.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/events/add-pointer-event.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/utils/distance.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/projection/geometry/delta-calc.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/projection/utils/each-axis.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/utils/get-context-window.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/gestures/drag/index.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/gestures/pan/index.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/projection/node/state.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/projection/styles/scale-border-radius.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/projection/styles/scale-box-shadow.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/animation/animate/single-value.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/render/dom/utils/is-svg-element.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/render/utils/compare-by-depth.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/render/utils/flat-tree.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/utils/delay.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/projection/animation/mix-values.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/projection/geometry/copy.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/projection/geometry/delta-remove.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/projection/geometry/utils.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/projection/shared/stack.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/projection/styles/transform.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/projection/node/create-projection-node.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/projection/node/DocumentProjectionNode.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/projection/node/HTMLProjectionNode.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/motion/features/drag.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/motion/features/layout.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/render/dom/features-max.mjs","webpack://_N_E/./node_modules/@heroui/use-is-mounted/dist/index.mjs","webpack://_N_E/./node_modules/@heroui/tabs/dist/chunk-BM6MJNZ5.mjs","webpack://_N_E/./node_modules/@heroui/theme/dist/chunk-OSEPFZ32.mjs","webpack://_N_E/./node_modules/@heroui/tabs/node_modules/@react-stately/list/dist/ListCollection.mjs","webpack://_N_E/./node_modules/@heroui/tabs/node_modules/@react-stately/list/dist/useListState.mjs","webpack://_N_E/./node_modules/@heroui/tabs/node_modules/@react-stately/list/dist/useSingleSelectListState.mjs","webpack://_N_E/./node_modules/@heroui/tabs/node_modules/@react-stately/tabs/dist/useTabListState.mjs","webpack://_N_E/./node_modules/@heroui/tabs/node_modules/@react-aria/tabs/dist/TabsKeyboardDelegate.mjs","webpack://_N_E/./node_modules/@heroui/tabs/node_modules/@react-aria/selection/dist/useTypeSelect.mjs","webpack://_N_E/./node_modules/@heroui/tabs/node_modules/@react-aria/selection/dist/useSelectableCollection.mjs","webpack://_N_E/./node_modules/@heroui/tabs/node_modules/@react-aria/tabs/dist/useTabList.mjs","webpack://_N_E/./node_modules/@heroui/tabs/dist/chunk-BLIEYGZ2.mjs","webpack://_N_E/./node_modules/@heroui/tabs/dist/chunk-H2JNJKGN.mjs","webpack://_N_E/./node_modules/@heroui/tabs/dist/chunk-ML27DD5T.mjs","webpack://_N_E/./node_modules/@react-aria/utils/dist/useDescription.mjs","webpack://_N_E/./node_modules/@react-aria/interactions/dist/useLongPress.mjs"],"sourcesContent":["// This file must be bundled in the app's client layer, it shouldn't be directly\n// imported by the server.\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"createServerReference\", {\n enumerable: true,\n get: function() {\n return createServerReference;\n }\n});\nconst _appcallserver = require(\"next/dist/client/app-call-server\");\nfunction createServerReference(id) {\n // Since we're using the Edge build of Flight client for SSR [1], here we need to\n // also use the same Edge build to create the reference. For the client bundle,\n // we use the default and let Webpack to resolve it to the correct version.\n // 1: https://github.com/vercel/next.js/blob/16eb80b0b0be13f04a6407943664b5efd8f3d7d0/packages/next/src/server/app-render/use-flight-response.tsx#L24-L26\n const { createServerReference: createServerReferenceImpl } = !!process.env.NEXT_RUNTIME ? require(\"react-server-dom-webpack/client.edge\") : require(\"react-server-dom-webpack/client\");\n return createServerReferenceImpl(id, _appcallserver.callServer);\n}\n\n//# sourceMappingURL=action-client-wrapper.js.map","\"use client\";\nimport {\n image_default\n} from \"./chunk-3TCFMHK3.mjs\";\nimport {\n useImage\n} from \"./chunk-Q3TXVV4U.mjs\";\nexport {\n image_default as Image,\n useImage\n};\n","\"use client\";\nimport {\n useModalContext\n} from \"./chunk-UX6VCJJD.mjs\";\n\n// src/modal-footer.tsx\nimport { forwardRef } from \"@heroui/system\";\nimport { useDOMRef } from \"@heroui/react-utils\";\nimport { clsx } from \"@heroui/shared-utils\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ModalFooter = forwardRef((props, ref) => {\n const { as, children, className, ...otherProps } = props;\n const { slots, classNames } = useModalContext();\n const domRef = useDOMRef(ref);\n const Component = as || \"footer\";\n return /* @__PURE__ */ jsx(\n Component,\n {\n ref: domRef,\n className: slots.footer({ class: clsx(classNames == null ? void 0 : classNames.footer, className) }),\n ...otherProps,\n children\n }\n );\n});\nModalFooter.displayName = \"HeroUI.ModalFooter\";\nvar modal_footer_default = ModalFooter;\n\nexport {\n modal_footer_default\n};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ const $99b62ae3ff97ec45$export$c5f62239608282b6 = new WeakMap();\nfunction $99b62ae3ff97ec45$export$567fc7097e064344(state, key, role) {\n if (!state) // this case should only happen in the first render before the tabs are registered\n return '';\n if (typeof key === 'string') key = key.replace(/\\s+/g, '');\n let baseId = $99b62ae3ff97ec45$export$c5f62239608282b6.get(state);\n return `${baseId}-${role}-${key}`;\n}\n\n\nexport {$99b62ae3ff97ec45$export$c5f62239608282b6 as tabsIds, $99b62ae3ff97ec45$export$567fc7097e064344 as generateId};\n//# sourceMappingURL=utils.module.js.map\n","import {getFocusableTreeWalker as $9bf71ea28793e738$export$2d6ec8fc375ceafa} from \"./FocusScope.mjs\";\nimport {useLayoutEffect as $hGAaG$useLayoutEffect} from \"@react-aria/utils\";\nimport {useState as $hGAaG$useState} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $83013635b024ae3d$export$eac1895992b9f3d6(ref, options) {\n let isDisabled = options === null || options === void 0 ? void 0 : options.isDisabled;\n let [hasTabbableChild, setHasTabbableChild] = (0, $hGAaG$useState)(false);\n (0, $hGAaG$useLayoutEffect)(()=>{\n if ((ref === null || ref === void 0 ? void 0 : ref.current) && !isDisabled) {\n let update = ()=>{\n if (ref.current) {\n let walker = (0, $9bf71ea28793e738$export$2d6ec8fc375ceafa)(ref.current, {\n tabbable: true\n });\n setHasTabbableChild(!!walker.nextNode());\n }\n };\n update();\n // Update when new elements are inserted, or the tabIndex/disabled attribute updates.\n let observer = new MutationObserver(update);\n observer.observe(ref.current, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: [\n 'tabIndex',\n 'disabled'\n ]\n });\n return ()=>{\n // Disconnect mutation observer when a React update occurs on the top-level component\n // so we update synchronously after re-rendering. Otherwise React will emit act warnings\n // in tests since mutation observers fire asynchronously. The mutation observer is necessary\n // so we also update if a child component re-renders and adds/removes something tabbable.\n observer.disconnect();\n };\n }\n });\n return isDisabled ? false : hasTabbableChild;\n}\n\n\nexport {$83013635b024ae3d$export$eac1895992b9f3d6 as useHasTabbableChild};\n//# sourceMappingURL=useHasTabbableChild.module.js.map\n","import {generateId as $99b62ae3ff97ec45$export$567fc7097e064344} from \"./utils.mjs\";\nimport {useLabels as $jik2T$useLabels, mergeProps as $jik2T$mergeProps} from \"@react-aria/utils\";\nimport {useHasTabbableChild as $jik2T$useHasTabbableChild} from \"@react-aria/focus\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $34bce698202e07cb$export$fae0121b5afe572d(props, state, ref) {\n // The tabpanel should have tabIndex=0 when there are no tabbable elements within it.\n // Otherwise, tabbing from the focused tab should go directly to the first tabbable element\n // within the tabpanel.\n let tabIndex = (0, $jik2T$useHasTabbableChild)(ref) ? undefined : 0;\n var _props_id;\n const id = (0, $99b62ae3ff97ec45$export$567fc7097e064344)(state, (_props_id = props.id) !== null && _props_id !== void 0 ? _props_id : state === null || state === void 0 ? void 0 : state.selectedKey, 'tabpanel');\n const tabPanelProps = (0, $jik2T$useLabels)({\n ...props,\n id: id,\n 'aria-labelledby': (0, $99b62ae3ff97ec45$export$567fc7097e064344)(state, state === null || state === void 0 ? void 0 : state.selectedKey, 'tab')\n });\n return {\n tabPanelProps: (0, $jik2T$mergeProps)(tabPanelProps, {\n tabIndex: tabIndex,\n role: 'tabpanel',\n 'aria-describedby': props['aria-describedby'],\n 'aria-details': props['aria-details']\n })\n };\n}\n\n\nexport {$34bce698202e07cb$export$fae0121b5afe572d as useTabPanel};\n//# sourceMappingURL=useTabPanel.module.js.map\n","\"use client\";\n\n// src/tab-panel.tsx\nimport { forwardRef } from \"@heroui/system\";\nimport { useDOMRef } from \"@heroui/react-utils\";\nimport { clsx, getInertValue } from \"@heroui/shared-utils\";\nimport { mergeProps } from \"@react-aria/utils\";\nimport { useTabPanel } from \"@react-aria/tabs\";\nimport { useFocusRing } from \"@react-aria/focus\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TabPanel = forwardRef((props, ref) => {\n var _a, _b;\n const { as, tabKey, destroyInactiveTabPanel, state, className, slots, classNames, ...otherProps } = props;\n const Component = as || \"div\";\n const domRef = useDOMRef(ref);\n const { tabPanelProps } = useTabPanel({ ...props, id: String(tabKey) }, state, domRef);\n const { focusProps, isFocused, isFocusVisible } = useFocusRing();\n const selectedItem = state.selectedItem;\n const content = state.collection.getItem(tabKey).props.children;\n const tabPanelStyles = clsx(classNames == null ? void 0 : classNames.panel, className, (_a = selectedItem == null ? void 0 : selectedItem.props) == null ? void 0 : _a.className);\n const isSelected = tabKey === (selectedItem == null ? void 0 : selectedItem.key);\n if (!content || !isSelected && destroyInactiveTabPanel) {\n return null;\n }\n return /* @__PURE__ */ jsx(\n Component,\n {\n ref: domRef,\n \"data-focus\": isFocused,\n \"data-focus-visible\": isFocusVisible,\n \"data-inert\": !isSelected ? \"true\" : void 0,\n inert: getInertValue(!isSelected),\n ...isSelected && mergeProps(tabPanelProps, focusProps, otherProps),\n className: (_b = slots.panel) == null ? void 0 : _b.call(slots, { class: tabPanelStyles }),\n \"data-slot\": \"panel\",\n children: content\n }\n );\n});\nTabPanel.displayName = \"HeroUI.TabPanel\";\nvar tab_panel_default = TabPanel;\n\nexport {\n tab_panel_default\n};\n","const t=t=>\"object\"==typeof t&&null!=t&&1===t.nodeType,e=(t,e)=>(!e||\"hidden\"!==t)&&(\"visible\"!==t&&\"clip\"!==t),n=(t,n)=>{if(t.clientHeight{const e=(t=>{if(!t.ownerDocument||!t.ownerDocument.defaultView)return null;try{return t.ownerDocument.defaultView.frameElement}catch(t){return null}})(t);return!!e&&(e.clientHeightre||r>t&&i=e&&s>=n?r-t-o:i>e&&sn?i-e+l:0,l=t=>{const e=t.parentElement;return null==e?t.getRootNode().host||null:e},r=(e,r)=>{var i,s,d,h;if(\"undefined\"==typeof document)return[];const{scrollMode:c,block:f,inline:u,boundary:a,skipOverflowHiddenElements:g}=r,p=\"function\"==typeof a?a:t=>t!==a;if(!t(e))throw new TypeError(\"Invalid target\");const m=document.scrollingElement||document.documentElement,w=[];let W=e;for(;t(W)&&p(W);){if(W=l(W),W===m){w.push(W);break}null!=W&&W===document.body&&n(W)&&!n(document.documentElement)||null!=W&&n(W,g)&&w.push(W)}const b=null!=(s=null==(i=window.visualViewport)?void 0:i.width)?s:innerWidth,H=null!=(h=null==(d=window.visualViewport)?void 0:d.height)?h:innerHeight,{scrollX:y,scrollY:M}=window,{height:v,width:E,top:x,right:C,bottom:I,left:R}=e.getBoundingClientRect(),{top:T,right:B,bottom:F,left:V}=(t=>{const e=window.getComputedStyle(t);return{top:parseFloat(e.scrollMarginTop)||0,right:parseFloat(e.scrollMarginRight)||0,bottom:parseFloat(e.scrollMarginBottom)||0,left:parseFloat(e.scrollMarginLeft)||0}})(e);let k=\"start\"===f||\"nearest\"===f?x-T:\"end\"===f?I+F:x+v/2-T+F,D=\"center\"===u?R+E/2-V+B:\"end\"===u?C+B:R-V;const L=[];for(let t=0;t=0&&R>=0&&I<=H&&C<=b&&x>=r&&I<=s&&R>=d&&C<=i)return L;const h=getComputedStyle(e),a=parseInt(h.borderLeftWidth,10),g=parseInt(h.borderTopWidth,10),p=parseInt(h.borderRightWidth,10),W=parseInt(h.borderBottomWidth,10);let T=0,B=0;const F=\"offsetWidth\"in e?e.offsetWidth-e.clientWidth-a-p:0,V=\"offsetHeight\"in e?e.offsetHeight-e.clientHeight-g-W:0,S=\"offsetWidth\"in e?0===e.offsetWidth?0:l/e.offsetWidth:0,X=\"offsetHeight\"in e?0===e.offsetHeight?0:n/e.offsetHeight:0;if(m===e)T=\"start\"===f?k:\"end\"===f?k-H:\"nearest\"===f?o(M,M+H,H,g,W,M+k,M+k+v,v):k-H/2,B=\"start\"===u?D:\"center\"===u?D-b/2:\"end\"===u?D-b:o(y,y+b,b,a,p,y+D,y+D+E,E),T=Math.max(0,T+M),B=Math.max(0,B+y);else{T=\"start\"===f?k-r-g:\"end\"===f?k-s+W+V:\"nearest\"===f?o(r,s,n,g,W+V,k,k+v,v):k-(r+n/2)+V/2,B=\"start\"===u?D-d-a:\"center\"===u?D-(d+l/2)+F/2:\"end\"===u?D-i+p+F:o(d,i,l,a,p+F,D,D+E,E);const{scrollLeft:t,scrollTop:h}=e;T=0===X?0:Math.max(0,Math.min(h+T/X,e.scrollHeight-n/X+V)),B=0===S?0:Math.max(0,Math.min(t+B/S,e.scrollWidth-l/S+F)),k+=h-T,D+=t-B}L.push({el:e,top:T,left:B})}return L};export{r as compute};//# sourceMappingURL=index.js.map\n","import{compute as e}from\"compute-scroll-into-view\";const o=e=>!1===e?{block:\"end\",inline:\"nearest\"}:(e=>e===Object(e)&&0!==Object.keys(e).length)(e)?e:{block:\"start\",inline:\"nearest\"};function t(t,n){if(!t.isConnected||!(e=>{let o=e;for(;o&&o.parentNode;){if(o.parentNode===document)return!0;o=o.parentNode instanceof ShadowRoot?o.parentNode.host:o.parentNode}return!1})(t))return;if((e=>\"object\"==typeof e&&\"function\"==typeof e.behavior)(n))return n.behavior(e(t,n));const r=\"boolean\"==typeof n||null==n?void 0:n.behavior;for(const{el:i,top:a,left:l}of e(t,o(n)))i.scroll({top:a,left:l,behavior:r})}export{t as default};//# sourceMappingURL=index.js.map\n","import {isAppleDevice as $jUnAJ$isAppleDevice} from \"@react-aria/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $feb5ffebff200149$export$d3e3bd3e26688c04(e) {\n // Ctrl + Arrow Up/Arrow Down has a system wide meaning on macOS, so use Alt instead.\n // On Windows and Ubuntu, Alt + Space has a system wide meaning.\n return (0, $jUnAJ$isAppleDevice)() ? e.altKey : e.ctrlKey;\n}\n\n\nexport {$feb5ffebff200149$export$d3e3bd3e26688c04 as isNonContiguousSelectionModifier};\n//# sourceMappingURL=utils.module.js.map\n","import {isNonContiguousSelectionModifier as $feb5ffebff200149$export$d3e3bd3e26688c04} from \"./utils.mjs\";\nimport {focusSafely as $581M0$focusSafely} from \"@react-aria/focus\";\nimport {useRouter as $581M0$useRouter, useId as $581M0$useId, isCtrlKeyPressed as $581M0$isCtrlKeyPressed, UPDATE_ACTIVEDESCENDANT as $581M0$UPDATE_ACTIVEDESCENDANT, openLink as $581M0$openLink, mergeProps as $581M0$mergeProps} from \"@react-aria/utils\";\nimport {usePress as $581M0$usePress, useLongPress as $581M0$useLongPress} from \"@react-aria/interactions\";\nimport {useEffect as $581M0$useEffect, useRef as $581M0$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nfunction $880e95eb8b93ba9a$export$ecf600387e221c37(options) {\n let { id: id, selectionManager: manager, key: key, ref: ref, shouldSelectOnPressUp: shouldSelectOnPressUp, shouldUseVirtualFocus: shouldUseVirtualFocus, focus: focus, isDisabled: isDisabled, onAction: onAction, allowsDifferentPressOrigin: allowsDifferentPressOrigin, linkBehavior: linkBehavior = 'action' } = options;\n let router = (0, $581M0$useRouter)();\n id = (0, $581M0$useId)(id);\n let onSelect = (e)=>{\n if (e.pointerType === 'keyboard' && (0, $feb5ffebff200149$export$d3e3bd3e26688c04)(e)) manager.toggleSelection(key);\n else {\n if (manager.selectionMode === 'none') return;\n if (manager.isLink(key)) {\n if (linkBehavior === 'selection' && ref.current) {\n let itemProps = manager.getItemProps(key);\n router.open(ref.current, e, itemProps.href, itemProps.routerOptions);\n // Always set selected keys back to what they were so that select and combobox close.\n manager.setSelectedKeys(manager.selectedKeys);\n return;\n } else if (linkBehavior === 'override' || linkBehavior === 'none') return;\n }\n if (manager.selectionMode === 'single') {\n if (manager.isSelected(key) && !manager.disallowEmptySelection) manager.toggleSelection(key);\n else manager.replaceSelection(key);\n } else if (e && e.shiftKey) manager.extendSelection(key);\n else if (manager.selectionBehavior === 'toggle' || e && ((0, $581M0$isCtrlKeyPressed)(e) || e.pointerType === 'touch' || e.pointerType === 'virtual')) // if touch or virtual (VO) then we just want to toggle, otherwise it's impossible to multi select because they don't have modifier keys\n manager.toggleSelection(key);\n else manager.replaceSelection(key);\n }\n };\n // Focus the associated DOM node when this item becomes the focusedKey\n // TODO: can't make this useLayoutEffect bacause it breaks menus inside dialogs\n // However, if this is a useEffect, it runs twice and dispatches two UPDATE_ACTIVEDESCENDANT and immediately sets\n // aria-activeDescendant in useAutocomplete... I've worked around this for now\n (0, $581M0$useEffect)(()=>{\n let isFocused = key === manager.focusedKey;\n if (isFocused && manager.isFocused) {\n if (!shouldUseVirtualFocus) {\n if (focus) focus();\n else if (document.activeElement !== ref.current && ref.current) (0, $581M0$focusSafely)(ref.current);\n } else {\n var _ref_current;\n let updateActiveDescendant = new CustomEvent((0, $581M0$UPDATE_ACTIVEDESCENDANT), {\n cancelable: true,\n bubbles: true\n });\n (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.dispatchEvent(updateActiveDescendant);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n ref,\n key,\n manager.focusedKey,\n manager.childFocusStrategy,\n manager.isFocused,\n shouldUseVirtualFocus\n ]);\n isDisabled = isDisabled || manager.isDisabled(key);\n // Set tabIndex to 0 if the element is focused, or -1 otherwise so that only the last focused\n // item is tabbable. If using virtual focus, don't set a tabIndex at all so that VoiceOver\n // on iOS 14 doesn't try to move real DOM focus to the item anyway.\n let itemProps = {};\n if (!shouldUseVirtualFocus && !isDisabled) itemProps = {\n tabIndex: key === manager.focusedKey ? 0 : -1,\n onFocus (e) {\n if (e.target === ref.current) manager.setFocusedKey(key);\n }\n };\n else if (isDisabled) itemProps.onMouseDown = (e)=>{\n // Prevent focus going to the body when clicking on a disabled item.\n e.preventDefault();\n };\n // With checkbox selection, onAction (i.e. navigation) becomes primary, and occurs on a single click of the row.\n // Clicking the checkbox enters selection mode, after which clicking anywhere on any row toggles selection for that row.\n // With highlight selection, onAction is secondary, and occurs on double click. Single click selects the row.\n // With touch, onAction occurs on single tap, and long press enters selection mode.\n let isLinkOverride = manager.isLink(key) && linkBehavior === 'override';\n let hasLinkAction = manager.isLink(key) && linkBehavior !== 'selection' && linkBehavior !== 'none';\n let allowsSelection = !isDisabled && manager.canSelectItem(key) && !isLinkOverride;\n let allowsActions = (onAction || hasLinkAction) && !isDisabled;\n let hasPrimaryAction = allowsActions && (manager.selectionBehavior === 'replace' ? !allowsSelection : !allowsSelection || manager.isEmpty);\n let hasSecondaryAction = allowsActions && allowsSelection && manager.selectionBehavior === 'replace';\n let hasAction = hasPrimaryAction || hasSecondaryAction;\n let modality = (0, $581M0$useRef)(null);\n let longPressEnabled = hasAction && allowsSelection;\n let longPressEnabledOnPressStart = (0, $581M0$useRef)(false);\n let hadPrimaryActionOnPressStart = (0, $581M0$useRef)(false);\n let performAction = (e)=>{\n if (onAction) onAction();\n if (hasLinkAction && ref.current) {\n let itemProps = manager.getItemProps(key);\n router.open(ref.current, e, itemProps.href, itemProps.routerOptions);\n }\n };\n // By default, selection occurs on pointer down. This can be strange if selecting an\n // item causes the UI to disappear immediately (e.g. menus).\n // If shouldSelectOnPressUp is true, we use onPressUp instead of onPressStart.\n // onPress requires a pointer down event on the same element as pointer up. For menus,\n // we want to be able to have the pointer down on the trigger that opens the menu and\n // the pointer up on the menu item rather than requiring a separate press.\n // For keyboard events, selection still occurs on key down.\n let itemPressProps = {};\n if (shouldSelectOnPressUp) {\n itemPressProps.onPressStart = (e)=>{\n modality.current = e.pointerType;\n longPressEnabledOnPressStart.current = longPressEnabled;\n if (e.pointerType === 'keyboard' && (!hasAction || $880e95eb8b93ba9a$var$isSelectionKey())) onSelect(e);\n };\n // If allowsDifferentPressOrigin and interacting with mouse, make selection happen on pressUp (e.g. open menu on press down, selection on menu item happens on press up.)\n // Otherwise, have selection happen onPress (prevents listview row selection when clicking on interactable elements in the row)\n if (!allowsDifferentPressOrigin) itemPressProps.onPress = (e)=>{\n if (hasPrimaryAction || hasSecondaryAction && e.pointerType !== 'mouse') {\n if (e.pointerType === 'keyboard' && !$880e95eb8b93ba9a$var$isActionKey()) return;\n performAction(e);\n } else if (e.pointerType !== 'keyboard' && allowsSelection) onSelect(e);\n };\n else {\n itemPressProps.onPressUp = hasPrimaryAction ? undefined : (e)=>{\n if (e.pointerType === 'mouse' && allowsSelection) onSelect(e);\n };\n itemPressProps.onPress = hasPrimaryAction ? performAction : (e)=>{\n if (e.pointerType !== 'keyboard' && e.pointerType !== 'mouse' && allowsSelection) onSelect(e);\n };\n }\n } else {\n itemPressProps.onPressStart = (e)=>{\n modality.current = e.pointerType;\n longPressEnabledOnPressStart.current = longPressEnabled;\n hadPrimaryActionOnPressStart.current = hasPrimaryAction;\n // Select on mouse down unless there is a primary action which will occur on mouse up.\n // For keyboard, select on key down. If there is an action, the Space key selects on key down,\n // and the Enter key performs onAction on key up.\n if (allowsSelection && (e.pointerType === 'mouse' && !hasPrimaryAction || e.pointerType === 'keyboard' && (!allowsActions || $880e95eb8b93ba9a$var$isSelectionKey()))) onSelect(e);\n };\n itemPressProps.onPress = (e)=>{\n // Selection occurs on touch up. Primary actions always occur on pointer up.\n // Both primary and secondary actions occur on Enter key up. The only exception\n // is secondary actions, which occur on double click with a mouse.\n if (e.pointerType === 'touch' || e.pointerType === 'pen' || e.pointerType === 'virtual' || e.pointerType === 'keyboard' && hasAction && $880e95eb8b93ba9a$var$isActionKey() || e.pointerType === 'mouse' && hadPrimaryActionOnPressStart.current) {\n if (hasAction) performAction(e);\n else if (allowsSelection) onSelect(e);\n }\n };\n }\n itemProps['data-key'] = key;\n itemPressProps.preventFocusOnPress = shouldUseVirtualFocus;\n let { pressProps: pressProps, isPressed: isPressed } = (0, $581M0$usePress)(itemPressProps);\n // Double clicking with a mouse with selectionBehavior = 'replace' performs an action.\n let onDoubleClick = hasSecondaryAction ? (e)=>{\n if (modality.current === 'mouse') {\n e.stopPropagation();\n e.preventDefault();\n performAction(e);\n }\n } : undefined;\n // Long pressing an item with touch when selectionBehavior = 'replace' switches the selection behavior\n // to 'toggle'. This changes the single tap behavior from performing an action (i.e. navigating) to\n // selecting, and may toggle the appearance of a UI affordance like checkboxes on each item.\n let { longPressProps: longPressProps } = (0, $581M0$useLongPress)({\n isDisabled: !longPressEnabled,\n onLongPress (e) {\n if (e.pointerType === 'touch') {\n onSelect(e);\n manager.setSelectionBehavior('toggle');\n }\n }\n });\n // Prevent native drag and drop on long press if we also select on long press.\n // Once the user is in selection mode, they can long press again to drag.\n // Use a capturing listener to ensure this runs before useDrag, regardless of\n // the order the props get merged.\n let onDragStartCapture = (e)=>{\n if (modality.current === 'touch' && longPressEnabledOnPressStart.current) e.preventDefault();\n };\n // Prevent default on link clicks so that we control exactly\n // when they open (to match selection behavior).\n let onClick = manager.isLink(key) ? (e)=>{\n if (!(0, $581M0$openLink).isOpening) e.preventDefault();\n } : undefined;\n return {\n itemProps: (0, $581M0$mergeProps)(itemProps, allowsSelection || hasPrimaryAction ? pressProps : {}, longPressEnabled ? longPressProps : {}, {\n onDoubleClick: onDoubleClick,\n onDragStartCapture: onDragStartCapture,\n onClick: onClick,\n id: id\n }),\n isPressed: isPressed,\n isSelected: manager.isSelected(key),\n isFocused: manager.isFocused && manager.focusedKey === key,\n isDisabled: isDisabled,\n allowsSelection: allowsSelection,\n hasAction: hasAction\n };\n}\nfunction $880e95eb8b93ba9a$var$isActionKey() {\n let event = window.event;\n return (event === null || event === void 0 ? void 0 : event.key) === 'Enter';\n}\nfunction $880e95eb8b93ba9a$var$isSelectionKey() {\n let event = window.event;\n return (event === null || event === void 0 ? void 0 : event.key) === ' ' || (event === null || event === void 0 ? void 0 : event.code) === 'Space';\n}\n\n\nexport {$880e95eb8b93ba9a$export$ecf600387e221c37 as useSelectableItem};\n//# sourceMappingURL=useSelectableItem.module.js.map\n","import {generateId as $99b62ae3ff97ec45$export$567fc7097e064344} from \"./utils.mjs\";\nimport {filterDOMProps as $dObGJ$filterDOMProps, useLinkProps as $dObGJ$useLinkProps, mergeProps as $dObGJ$mergeProps} from \"@react-aria/utils\";\nimport {useSelectableItem as $dObGJ$useSelectableItem} from \"@react-aria/selection\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $0175d55c2a017ebc$export$fdf4756d5b8ef90a(props, state, ref) {\n let { key: key, isDisabled: propsDisabled, shouldSelectOnPressUp: shouldSelectOnPressUp } = props;\n let { selectionManager: manager, selectedKey: selectedKey } = state;\n let isSelected = key === selectedKey;\n let isDisabled = propsDisabled || state.isDisabled || state.selectionManager.isDisabled(key);\n let { itemProps: itemProps, isPressed: isPressed } = (0, $dObGJ$useSelectableItem)({\n selectionManager: manager,\n key: key,\n ref: ref,\n isDisabled: isDisabled,\n shouldSelectOnPressUp: shouldSelectOnPressUp,\n linkBehavior: 'selection'\n });\n let tabId = (0, $99b62ae3ff97ec45$export$567fc7097e064344)(state, key, 'tab');\n let tabPanelId = (0, $99b62ae3ff97ec45$export$567fc7097e064344)(state, key, 'tabpanel');\n let { tabIndex: tabIndex } = itemProps;\n let item = state.collection.getItem(key);\n let domProps = (0, $dObGJ$filterDOMProps)(item === null || item === void 0 ? void 0 : item.props, {\n labelable: true\n });\n delete domProps.id;\n let linkProps = (0, $dObGJ$useLinkProps)(item === null || item === void 0 ? void 0 : item.props);\n return {\n tabProps: (0, $dObGJ$mergeProps)(domProps, linkProps, itemProps, {\n id: tabId,\n 'aria-selected': isSelected,\n 'aria-disabled': isDisabled || undefined,\n 'aria-controls': isSelected ? tabPanelId : undefined,\n tabIndex: isDisabled ? undefined : tabIndex,\n role: 'tab'\n }),\n isSelected: isSelected,\n isDisabled: isDisabled,\n isPressed: isPressed\n };\n}\n\n\nexport {$0175d55c2a017ebc$export$fdf4756d5b8ef90a as useTab};\n//# sourceMappingURL=useTab.module.js.map\n","import { addDomEvent } from './add-dom-event.mjs';\nimport { addPointerInfo } from './event-info.mjs';\n\nfunction addPointerEvent(target, eventName, handler, options) {\n return addDomEvent(target, eventName, addPointerInfo(handler), options);\n}\n\nexport { addPointerEvent };\n","const distance = (a, b) => Math.abs(a - b);\nfunction distance2D(a, b) {\n // Multi-dimensional\n const xDelta = distance(a.x, b.x);\n const yDelta = distance(a.y, b.y);\n return Math.sqrt(xDelta ** 2 + yDelta ** 2);\n}\n\nexport { distance, distance2D };\n","import { isPrimaryPointer } from 'motion-dom';\nimport { secondsToMilliseconds, millisecondsToSeconds } from 'motion-utils';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { extractEventInfo } from '../../events/event-info.mjs';\nimport { distance2D } from '../../utils/distance.mjs';\nimport { pipe } from '../../utils/pipe.mjs';\nimport { frame, cancelFrame, frameData } from '../../frameloop/frame.mjs';\n\n/**\n * @internal\n */\nclass PanSession {\n constructor(event, handlers, { transformPagePoint, contextWindow, dragSnapToOrigin = false, } = {}) {\n /**\n * @internal\n */\n this.startEvent = null;\n /**\n * @internal\n */\n this.lastMoveEvent = null;\n /**\n * @internal\n */\n this.lastMoveEventInfo = null;\n /**\n * @internal\n */\n this.handlers = {};\n /**\n * @internal\n */\n this.contextWindow = window;\n this.updatePoint = () => {\n if (!(this.lastMoveEvent && this.lastMoveEventInfo))\n return;\n const info = getPanInfo(this.lastMoveEventInfo, this.history);\n const isPanStarted = this.startEvent !== null;\n // Only start panning if the offset is larger than 3 pixels. If we make it\n // any larger than this we'll want to reset the pointer history\n // on the first update to avoid visual snapping to the cursoe.\n const isDistancePastThreshold = distance2D(info.offset, { x: 0, y: 0 }) >= 3;\n if (!isPanStarted && !isDistancePastThreshold)\n return;\n const { point } = info;\n const { timestamp } = frameData;\n this.history.push({ ...point, timestamp });\n const { onStart, onMove } = this.handlers;\n if (!isPanStarted) {\n onStart && onStart(this.lastMoveEvent, info);\n this.startEvent = this.lastMoveEvent;\n }\n onMove && onMove(this.lastMoveEvent, info);\n };\n this.handlePointerMove = (event, info) => {\n this.lastMoveEvent = event;\n this.lastMoveEventInfo = transformPoint(info, this.transformPagePoint);\n // Throttle mouse move event to once per frame\n frame.update(this.updatePoint, true);\n };\n this.handlePointerUp = (event, info) => {\n this.end();\n const { onEnd, onSessionEnd, resumeAnimation } = this.handlers;\n if (this.dragSnapToOrigin)\n resumeAnimation && resumeAnimation();\n if (!(this.lastMoveEvent && this.lastMoveEventInfo))\n return;\n const panInfo = getPanInfo(event.type === \"pointercancel\"\n ? this.lastMoveEventInfo\n : transformPoint(info, this.transformPagePoint), this.history);\n if (this.startEvent && onEnd) {\n onEnd(event, panInfo);\n }\n onSessionEnd && onSessionEnd(event, panInfo);\n };\n // If we have more than one touch, don't start detecting this gesture\n if (!isPrimaryPointer(event))\n return;\n this.dragSnapToOrigin = dragSnapToOrigin;\n this.handlers = handlers;\n this.transformPagePoint = transformPagePoint;\n this.contextWindow = contextWindow || window;\n const info = extractEventInfo(event);\n const initialInfo = transformPoint(info, this.transformPagePoint);\n const { point } = initialInfo;\n const { timestamp } = frameData;\n this.history = [{ ...point, timestamp }];\n const { onSessionStart } = handlers;\n onSessionStart &&\n onSessionStart(event, getPanInfo(initialInfo, this.history));\n this.removeListeners = pipe(addPointerEvent(this.contextWindow, \"pointermove\", this.handlePointerMove), addPointerEvent(this.contextWindow, \"pointerup\", this.handlePointerUp), addPointerEvent(this.contextWindow, \"pointercancel\", this.handlePointerUp));\n }\n updateHandlers(handlers) {\n this.handlers = handlers;\n }\n end() {\n this.removeListeners && this.removeListeners();\n cancelFrame(this.updatePoint);\n }\n}\nfunction transformPoint(info, transformPagePoint) {\n return transformPagePoint ? { point: transformPagePoint(info.point) } : info;\n}\nfunction subtractPoint(a, b) {\n return { x: a.x - b.x, y: a.y - b.y };\n}\nfunction getPanInfo({ point }, history) {\n return {\n point,\n delta: subtractPoint(point, lastDevicePoint(history)),\n offset: subtractPoint(point, startDevicePoint(history)),\n velocity: getVelocity(history, 0.1),\n };\n}\nfunction startDevicePoint(history) {\n return history[0];\n}\nfunction lastDevicePoint(history) {\n return history[history.length - 1];\n}\nfunction getVelocity(history, timeDelta) {\n if (history.length < 2) {\n return { x: 0, y: 0 };\n }\n let i = history.length - 1;\n let timestampedPoint = null;\n const lastPoint = lastDevicePoint(history);\n while (i >= 0) {\n timestampedPoint = history[i];\n if (lastPoint.timestamp - timestampedPoint.timestamp >\n secondsToMilliseconds(timeDelta)) {\n break;\n }\n i--;\n }\n if (!timestampedPoint) {\n return { x: 0, y: 0 };\n }\n const time = millisecondsToSeconds(lastPoint.timestamp - timestampedPoint.timestamp);\n if (time === 0) {\n return { x: 0, y: 0 };\n }\n const currentVelocity = {\n x: (lastPoint.x - timestampedPoint.x) / time,\n y: (lastPoint.y - timestampedPoint.y) / time,\n };\n if (currentVelocity.x === Infinity) {\n currentVelocity.x = 0;\n }\n if (currentVelocity.y === Infinity) {\n currentVelocity.y = 0;\n }\n return currentVelocity;\n}\n\nexport { PanSession };\n","import { mixNumber } from '../../utils/mix/number.mjs';\n\nconst SCALE_PRECISION = 0.0001;\nconst SCALE_MIN = 1 - SCALE_PRECISION;\nconst SCALE_MAX = 1 + SCALE_PRECISION;\nconst TRANSLATE_PRECISION = 0.01;\nconst TRANSLATE_MIN = 0 - TRANSLATE_PRECISION;\nconst TRANSLATE_MAX = 0 + TRANSLATE_PRECISION;\nfunction calcLength(axis) {\n return axis.max - axis.min;\n}\nfunction isNear(value, target, maxDistance) {\n return Math.abs(value - target) <= maxDistance;\n}\nfunction calcAxisDelta(delta, source, target, origin = 0.5) {\n delta.origin = origin;\n delta.originPoint = mixNumber(source.min, source.max, delta.origin);\n delta.scale = calcLength(target) / calcLength(source);\n delta.translate =\n mixNumber(target.min, target.max, delta.origin) - delta.originPoint;\n if ((delta.scale >= SCALE_MIN && delta.scale <= SCALE_MAX) ||\n isNaN(delta.scale)) {\n delta.scale = 1.0;\n }\n if ((delta.translate >= TRANSLATE_MIN &&\n delta.translate <= TRANSLATE_MAX) ||\n isNaN(delta.translate)) {\n delta.translate = 0.0;\n }\n}\nfunction calcBoxDelta(delta, source, target, origin) {\n calcAxisDelta(delta.x, source.x, target.x, origin ? origin.originX : undefined);\n calcAxisDelta(delta.y, source.y, target.y, origin ? origin.originY : undefined);\n}\nfunction calcRelativeAxis(target, relative, parent) {\n target.min = parent.min + relative.min;\n target.max = target.min + calcLength(relative);\n}\nfunction calcRelativeBox(target, relative, parent) {\n calcRelativeAxis(target.x, relative.x, parent.x);\n calcRelativeAxis(target.y, relative.y, parent.y);\n}\nfunction calcRelativeAxisPosition(target, layout, parent) {\n target.min = layout.min - parent.min;\n target.max = target.min + calcLength(layout);\n}\nfunction calcRelativePosition(target, layout, parent) {\n calcRelativeAxisPosition(target.x, layout.x, parent.x);\n calcRelativeAxisPosition(target.y, layout.y, parent.y);\n}\n\nexport { calcAxisDelta, calcBoxDelta, calcLength, calcRelativeAxis, calcRelativeAxisPosition, calcRelativeBox, calcRelativePosition, isNear };\n","import { progress } from 'motion-utils';\nimport { calcLength } from '../../../projection/geometry/delta-calc.mjs';\nimport { clamp } from '../../../utils/clamp.mjs';\nimport { mixNumber } from '../../../utils/mix/number.mjs';\n\n/**\n * Apply constraints to a point. These constraints are both physical along an\n * axis, and an elastic factor that determines how much to constrain the point\n * by if it does lie outside the defined parameters.\n */\nfunction applyConstraints(point, { min, max }, elastic) {\n if (min !== undefined && point < min) {\n // If we have a min point defined, and this is outside of that, constrain\n point = elastic\n ? mixNumber(min, point, elastic.min)\n : Math.max(point, min);\n }\n else if (max !== undefined && point > max) {\n // If we have a max point defined, and this is outside of that, constrain\n point = elastic\n ? mixNumber(max, point, elastic.max)\n : Math.min(point, max);\n }\n return point;\n}\n/**\n * Calculate constraints in terms of the viewport when defined relatively to the\n * measured axis. This is measured from the nearest edge, so a max constraint of 200\n * on an axis with a max value of 300 would return a constraint of 500 - axis length\n */\nfunction calcRelativeAxisConstraints(axis, min, max) {\n return {\n min: min !== undefined ? axis.min + min : undefined,\n max: max !== undefined\n ? axis.max + max - (axis.max - axis.min)\n : undefined,\n };\n}\n/**\n * Calculate constraints in terms of the viewport when\n * defined relatively to the measured bounding box.\n */\nfunction calcRelativeConstraints(layoutBox, { top, left, bottom, right }) {\n return {\n x: calcRelativeAxisConstraints(layoutBox.x, left, right),\n y: calcRelativeAxisConstraints(layoutBox.y, top, bottom),\n };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative axis\n */\nfunction calcViewportAxisConstraints(layoutAxis, constraintsAxis) {\n let min = constraintsAxis.min - layoutAxis.min;\n let max = constraintsAxis.max - layoutAxis.max;\n // If the constraints axis is actually smaller than the layout axis then we can\n // flip the constraints\n if (constraintsAxis.max - constraintsAxis.min <\n layoutAxis.max - layoutAxis.min) {\n [min, max] = [max, min];\n }\n return { min, max };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative box\n */\nfunction calcViewportConstraints(layoutBox, constraintsBox) {\n return {\n x: calcViewportAxisConstraints(layoutBox.x, constraintsBox.x),\n y: calcViewportAxisConstraints(layoutBox.y, constraintsBox.y),\n };\n}\n/**\n * Calculate a transform origin relative to the source axis, between 0-1, that results\n * in an asthetically pleasing scale/transform needed to project from source to target.\n */\nfunction calcOrigin(source, target) {\n let origin = 0.5;\n const sourceLength = calcLength(source);\n const targetLength = calcLength(target);\n if (targetLength > sourceLength) {\n origin = progress(target.min, target.max - sourceLength, source.min);\n }\n else if (sourceLength > targetLength) {\n origin = progress(source.min, source.max - targetLength, target.min);\n }\n return clamp(0, 1, origin);\n}\n/**\n * Rebase the calculated viewport constraints relative to the layout.min point.\n */\nfunction rebaseAxisConstraints(layout, constraints) {\n const relativeConstraints = {};\n if (constraints.min !== undefined) {\n relativeConstraints.min = constraints.min - layout.min;\n }\n if (constraints.max !== undefined) {\n relativeConstraints.max = constraints.max - layout.min;\n }\n return relativeConstraints;\n}\nconst defaultElastic = 0.35;\n/**\n * Accepts a dragElastic prop and returns resolved elastic values for each axis.\n */\nfunction resolveDragElastic(dragElastic = defaultElastic) {\n if (dragElastic === false) {\n dragElastic = 0;\n }\n else if (dragElastic === true) {\n dragElastic = defaultElastic;\n }\n return {\n x: resolveAxisElastic(dragElastic, \"left\", \"right\"),\n y: resolveAxisElastic(dragElastic, \"top\", \"bottom\"),\n };\n}\nfunction resolveAxisElastic(dragElastic, minLabel, maxLabel) {\n return {\n min: resolvePointElastic(dragElastic, minLabel),\n max: resolvePointElastic(dragElastic, maxLabel),\n };\n}\nfunction resolvePointElastic(dragElastic, label) {\n return typeof dragElastic === \"number\"\n ? dragElastic\n : dragElastic[label] || 0;\n}\n\nexport { applyConstraints, calcOrigin, calcRelativeAxisConstraints, calcRelativeConstraints, calcViewportAxisConstraints, calcViewportConstraints, defaultElastic, rebaseAxisConstraints, resolveAxisElastic, resolveDragElastic, resolvePointElastic };\n","function eachAxis(callback) {\n return [callback(\"x\"), callback(\"y\")];\n}\n\nexport { eachAxis };\n","// Fixes https://github.com/motiondivision/motion/issues/2270\nconst getContextWindow = ({ current }) => {\n return current ? current.ownerDocument.defaultView : null;\n};\n\nexport { getContextWindow };\n","import { invariant } from 'motion-utils';\nimport { setDragLock } from 'motion-dom';\nimport { PanSession } from '../pan/PanSession.mjs';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { applyConstraints, calcRelativeConstraints, resolveDragElastic, rebaseAxisConstraints, calcViewportConstraints, calcOrigin, defaultElastic } from './utils/constraints.mjs';\nimport { createBox } from '../../projection/geometry/models.mjs';\nimport { eachAxis } from '../../projection/utils/each-axis.mjs';\nimport { measurePageBox } from '../../projection/utils/measure.mjs';\nimport { extractEventInfo } from '../../events/event-info.mjs';\nimport { convertBoxToBoundingBox, convertBoundingBoxToBox } from '../../projection/geometry/conversion.mjs';\nimport { addDomEvent } from '../../events/add-dom-event.mjs';\nimport { calcLength } from '../../projection/geometry/delta-calc.mjs';\nimport { mixNumber } from '../../utils/mix/number.mjs';\nimport { percent } from '../../value/types/numbers/units.mjs';\nimport { animateMotionValue } from '../../animation/interfaces/motion-value.mjs';\nimport { getContextWindow } from '../../utils/get-context-window.mjs';\nimport { addValueToWillChange } from '../../value/use-will-change/add-will-change.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst elementDragControls = new WeakMap();\n/**\n *\n */\n// let latestPointerEvent: PointerEvent\nclass VisualElementDragControls {\n constructor(visualElement) {\n this.openDragLock = null;\n this.isDragging = false;\n this.currentDirection = null;\n this.originPoint = { x: 0, y: 0 };\n /**\n * The permitted boundaries of travel, in pixels.\n */\n this.constraints = false;\n this.hasMutatedConstraints = false;\n /**\n * The per-axis resolved elastic values.\n */\n this.elastic = createBox();\n this.visualElement = visualElement;\n }\n start(originEvent, { snapToCursor = false } = {}) {\n /**\n * Don't start dragging if this component is exiting\n */\n const { presenceContext } = this.visualElement;\n if (presenceContext && presenceContext.isPresent === false)\n return;\n const onSessionStart = (event) => {\n const { dragSnapToOrigin } = this.getProps();\n // Stop or pause any animations on both axis values immediately. This allows the user to throw and catch\n // the component.\n dragSnapToOrigin ? this.pauseAnimation() : this.stopAnimation();\n if (snapToCursor) {\n this.snapToCursor(extractEventInfo(event).point);\n }\n };\n const onStart = (event, info) => {\n // Attempt to grab the global drag gesture lock - maybe make this part of PanSession\n const { drag, dragPropagation, onDragStart } = this.getProps();\n if (drag && !dragPropagation) {\n if (this.openDragLock)\n this.openDragLock();\n this.openDragLock = setDragLock(drag);\n // If we don 't have the lock, don't start dragging\n if (!this.openDragLock)\n return;\n }\n this.isDragging = true;\n this.currentDirection = null;\n this.resolveConstraints();\n if (this.visualElement.projection) {\n this.visualElement.projection.isAnimationBlocked = true;\n this.visualElement.projection.target = undefined;\n }\n /**\n * Record gesture origin\n */\n eachAxis((axis) => {\n let current = this.getAxisMotionValue(axis).get() || 0;\n /**\n * If the MotionValue is a percentage value convert to px\n */\n if (percent.test(current)) {\n const { projection } = this.visualElement;\n if (projection && projection.layout) {\n const measuredAxis = projection.layout.layoutBox[axis];\n if (measuredAxis) {\n const length = calcLength(measuredAxis);\n current = length * (parseFloat(current) / 100);\n }\n }\n }\n this.originPoint[axis] = current;\n });\n // Fire onDragStart event\n if (onDragStart) {\n frame.postRender(() => onDragStart(event, info));\n }\n addValueToWillChange(this.visualElement, \"transform\");\n const { animationState } = this.visualElement;\n animationState && animationState.setActive(\"whileDrag\", true);\n };\n const onMove = (event, info) => {\n // latestPointerEvent = event\n const { dragPropagation, dragDirectionLock, onDirectionLock, onDrag, } = this.getProps();\n // If we didn't successfully receive the gesture lock, early return.\n if (!dragPropagation && !this.openDragLock)\n return;\n const { offset } = info;\n // Attempt to detect drag direction if directionLock is true\n if (dragDirectionLock && this.currentDirection === null) {\n this.currentDirection = getCurrentDirection(offset);\n // If we've successfully set a direction, notify listener\n if (this.currentDirection !== null) {\n onDirectionLock && onDirectionLock(this.currentDirection);\n }\n return;\n }\n // Update each point with the latest position\n this.updateAxis(\"x\", info.point, offset);\n this.updateAxis(\"y\", info.point, offset);\n /**\n * Ideally we would leave the renderer to fire naturally at the end of\n * this frame but if the element is about to change layout as the result\n * of a re-render we want to ensure the browser can read the latest\n * bounding box to ensure the pointer and element don't fall out of sync.\n */\n this.visualElement.render();\n /**\n * This must fire after the render call as it might trigger a state\n * change which itself might trigger a layout update.\n */\n onDrag && onDrag(event, info);\n };\n const onSessionEnd = (event, info) => this.stop(event, info);\n const resumeAnimation = () => eachAxis((axis) => {\n var _a;\n return this.getAnimationState(axis) === \"paused\" &&\n ((_a = this.getAxisMotionValue(axis).animation) === null || _a === void 0 ? void 0 : _a.play());\n });\n const { dragSnapToOrigin } = this.getProps();\n this.panSession = new PanSession(originEvent, {\n onSessionStart,\n onStart,\n onMove,\n onSessionEnd,\n resumeAnimation,\n }, {\n transformPagePoint: this.visualElement.getTransformPagePoint(),\n dragSnapToOrigin,\n contextWindow: getContextWindow(this.visualElement),\n });\n }\n stop(event, info) {\n const isDragging = this.isDragging;\n this.cancel();\n if (!isDragging)\n return;\n const { velocity } = info;\n this.startAnimation(velocity);\n const { onDragEnd } = this.getProps();\n if (onDragEnd) {\n frame.postRender(() => onDragEnd(event, info));\n }\n }\n cancel() {\n this.isDragging = false;\n const { projection, animationState } = this.visualElement;\n if (projection) {\n projection.isAnimationBlocked = false;\n }\n this.panSession && this.panSession.end();\n this.panSession = undefined;\n const { dragPropagation } = this.getProps();\n if (!dragPropagation && this.openDragLock) {\n this.openDragLock();\n this.openDragLock = null;\n }\n animationState && animationState.setActive(\"whileDrag\", false);\n }\n updateAxis(axis, _point, offset) {\n const { drag } = this.getProps();\n // If we're not dragging this axis, do an early return.\n if (!offset || !shouldDrag(axis, drag, this.currentDirection))\n return;\n const axisValue = this.getAxisMotionValue(axis);\n let next = this.originPoint[axis] + offset[axis];\n // Apply constraints\n if (this.constraints && this.constraints[axis]) {\n next = applyConstraints(next, this.constraints[axis], this.elastic[axis]);\n }\n axisValue.set(next);\n }\n resolveConstraints() {\n var _a;\n const { dragConstraints, dragElastic } = this.getProps();\n const layout = this.visualElement.projection &&\n !this.visualElement.projection.layout\n ? this.visualElement.projection.measure(false)\n : (_a = this.visualElement.projection) === null || _a === void 0 ? void 0 : _a.layout;\n const prevConstraints = this.constraints;\n if (dragConstraints && isRefObject(dragConstraints)) {\n if (!this.constraints) {\n this.constraints = this.resolveRefConstraints();\n }\n }\n else {\n if (dragConstraints && layout) {\n this.constraints = calcRelativeConstraints(layout.layoutBox, dragConstraints);\n }\n else {\n this.constraints = false;\n }\n }\n this.elastic = resolveDragElastic(dragElastic);\n /**\n * If we're outputting to external MotionValues, we want to rebase the measured constraints\n * from viewport-relative to component-relative.\n */\n if (prevConstraints !== this.constraints &&\n layout &&\n this.constraints &&\n !this.hasMutatedConstraints) {\n eachAxis((axis) => {\n if (this.constraints !== false &&\n this.getAxisMotionValue(axis)) {\n this.constraints[axis] = rebaseAxisConstraints(layout.layoutBox[axis], this.constraints[axis]);\n }\n });\n }\n }\n resolveRefConstraints() {\n const { dragConstraints: constraints, onMeasureDragConstraints } = this.getProps();\n if (!constraints || !isRefObject(constraints))\n return false;\n const constraintsElement = constraints.current;\n invariant(constraintsElement !== null, \"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.\");\n const { projection } = this.visualElement;\n // TODO\n if (!projection || !projection.layout)\n return false;\n const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());\n let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);\n /**\n * If there's an onMeasureDragConstraints listener we call it and\n * if different constraints are returned, set constraints to that\n */\n if (onMeasureDragConstraints) {\n const userConstraints = onMeasureDragConstraints(convertBoxToBoundingBox(measuredConstraints));\n this.hasMutatedConstraints = !!userConstraints;\n if (userConstraints) {\n measuredConstraints = convertBoundingBoxToBox(userConstraints);\n }\n }\n return measuredConstraints;\n }\n startAnimation(velocity) {\n const { drag, dragMomentum, dragElastic, dragTransition, dragSnapToOrigin, onDragTransitionEnd, } = this.getProps();\n const constraints = this.constraints || {};\n const momentumAnimations = eachAxis((axis) => {\n if (!shouldDrag(axis, drag, this.currentDirection)) {\n return;\n }\n let transition = (constraints && constraints[axis]) || {};\n if (dragSnapToOrigin)\n transition = { min: 0, max: 0 };\n /**\n * Overdamp the boundary spring if `dragElastic` is disabled. There's still a frame\n * of spring animations so we should look into adding a disable spring option to `inertia`.\n * We could do something here where we affect the `bounceStiffness` and `bounceDamping`\n * using the value of `dragElastic`.\n */\n const bounceStiffness = dragElastic ? 200 : 1000000;\n const bounceDamping = dragElastic ? 40 : 10000000;\n const inertia = {\n type: \"inertia\",\n velocity: dragMomentum ? velocity[axis] : 0,\n bounceStiffness,\n bounceDamping,\n timeConstant: 750,\n restDelta: 1,\n restSpeed: 10,\n ...dragTransition,\n ...transition,\n };\n // If we're not animating on an externally-provided `MotionValue` we can use the\n // component's animation controls which will handle interactions with whileHover (etc),\n // otherwise we just have to animate the `MotionValue` itself.\n return this.startAxisValueAnimation(axis, inertia);\n });\n // Run all animations and then resolve the new drag constraints.\n return Promise.all(momentumAnimations).then(onDragTransitionEnd);\n }\n startAxisValueAnimation(axis, transition) {\n const axisValue = this.getAxisMotionValue(axis);\n addValueToWillChange(this.visualElement, axis);\n return axisValue.start(animateMotionValue(axis, axisValue, 0, transition, this.visualElement, false));\n }\n stopAnimation() {\n eachAxis((axis) => this.getAxisMotionValue(axis).stop());\n }\n pauseAnimation() {\n eachAxis((axis) => { var _a; return (_a = this.getAxisMotionValue(axis).animation) === null || _a === void 0 ? void 0 : _a.pause(); });\n }\n getAnimationState(axis) {\n var _a;\n return (_a = this.getAxisMotionValue(axis).animation) === null || _a === void 0 ? void 0 : _a.state;\n }\n /**\n * Drag works differently depending on which props are provided.\n *\n * - If _dragX and _dragY are provided, we output the gesture delta directly to those motion values.\n * - Otherwise, we apply the delta to the x/y motion values.\n */\n getAxisMotionValue(axis) {\n const dragKey = `_drag${axis.toUpperCase()}`;\n const props = this.visualElement.getProps();\n const externalMotionValue = props[dragKey];\n return externalMotionValue\n ? externalMotionValue\n : this.visualElement.getValue(axis, (props.initial\n ? props.initial[axis]\n : undefined) || 0);\n }\n snapToCursor(point) {\n eachAxis((axis) => {\n const { drag } = this.getProps();\n // If we're not dragging this axis, do an early return.\n if (!shouldDrag(axis, drag, this.currentDirection))\n return;\n const { projection } = this.visualElement;\n const axisValue = this.getAxisMotionValue(axis);\n if (projection && projection.layout) {\n const { min, max } = projection.layout.layoutBox[axis];\n axisValue.set(point[axis] - mixNumber(min, max, 0.5));\n }\n });\n }\n /**\n * When the viewport resizes we want to check if the measured constraints\n * have changed and, if so, reposition the element within those new constraints\n * relative to where it was before the resize.\n */\n scalePositionWithinConstraints() {\n if (!this.visualElement.current)\n return;\n const { drag, dragConstraints } = this.getProps();\n const { projection } = this.visualElement;\n if (!isRefObject(dragConstraints) || !projection || !this.constraints)\n return;\n /**\n * Stop current animations as there can be visual glitching if we try to do\n * this mid-animation\n */\n this.stopAnimation();\n /**\n * Record the relative position of the dragged element relative to the\n * constraints box and save as a progress value.\n */\n const boxProgress = { x: 0, y: 0 };\n eachAxis((axis) => {\n const axisValue = this.getAxisMotionValue(axis);\n if (axisValue && this.constraints !== false) {\n const latest = axisValue.get();\n boxProgress[axis] = calcOrigin({ min: latest, max: latest }, this.constraints[axis]);\n }\n });\n /**\n * Update the layout of this element and resolve the latest drag constraints\n */\n const { transformTemplate } = this.visualElement.getProps();\n this.visualElement.current.style.transform = transformTemplate\n ? transformTemplate({}, \"\")\n : \"none\";\n projection.root && projection.root.updateScroll();\n projection.updateLayout();\n this.resolveConstraints();\n /**\n * For each axis, calculate the current progress of the layout axis\n * within the new constraints.\n */\n eachAxis((axis) => {\n if (!shouldDrag(axis, drag, null))\n return;\n /**\n * Calculate a new transform based on the previous box progress\n */\n const axisValue = this.getAxisMotionValue(axis);\n const { min, max } = this.constraints[axis];\n axisValue.set(mixNumber(min, max, boxProgress[axis]));\n });\n }\n addListeners() {\n if (!this.visualElement.current)\n return;\n elementDragControls.set(this.visualElement, this);\n const element = this.visualElement.current;\n /**\n * Attach a pointerdown event listener on this DOM element to initiate drag tracking.\n */\n const stopPointerListener = addPointerEvent(element, \"pointerdown\", (event) => {\n const { drag, dragListener = true } = this.getProps();\n drag && dragListener && this.start(event);\n });\n const measureDragConstraints = () => {\n const { dragConstraints } = this.getProps();\n if (isRefObject(dragConstraints) && dragConstraints.current) {\n this.constraints = this.resolveRefConstraints();\n }\n };\n const { projection } = this.visualElement;\n const stopMeasureLayoutListener = projection.addEventListener(\"measure\", measureDragConstraints);\n if (projection && !projection.layout) {\n projection.root && projection.root.updateScroll();\n projection.updateLayout();\n }\n frame.read(measureDragConstraints);\n /**\n * Attach a window resize listener to scale the draggable target within its defined\n * constraints as the window resizes.\n */\n const stopResizeListener = addDomEvent(window, \"resize\", () => this.scalePositionWithinConstraints());\n /**\n * If the element's layout changes, calculate the delta and apply that to\n * the drag gesture's origin point.\n */\n const stopLayoutUpdateListener = projection.addEventListener(\"didUpdate\", (({ delta, hasLayoutChanged }) => {\n if (this.isDragging && hasLayoutChanged) {\n eachAxis((axis) => {\n const motionValue = this.getAxisMotionValue(axis);\n if (!motionValue)\n return;\n this.originPoint[axis] += delta[axis].translate;\n motionValue.set(motionValue.get() + delta[axis].translate);\n });\n this.visualElement.render();\n }\n }));\n return () => {\n stopResizeListener();\n stopPointerListener();\n stopMeasureLayoutListener();\n stopLayoutUpdateListener && stopLayoutUpdateListener();\n };\n }\n getProps() {\n const props = this.visualElement.getProps();\n const { drag = false, dragDirectionLock = false, dragPropagation = false, dragConstraints = false, dragElastic = defaultElastic, dragMomentum = true, } = props;\n return {\n ...props,\n drag,\n dragDirectionLock,\n dragPropagation,\n dragConstraints,\n dragElastic,\n dragMomentum,\n };\n }\n}\nfunction shouldDrag(direction, drag, currentDirection) {\n return ((drag === true || drag === direction) &&\n (currentDirection === null || currentDirection === direction));\n}\n/**\n * Based on an x/y offset determine the current drag direction. If both axis' offsets are lower\n * than the provided threshold, return `null`.\n *\n * @param offset - The x/y offset from origin.\n * @param lockThreshold - (Optional) - the minimum absolute offset before we can determine a drag direction.\n */\nfunction getCurrentDirection(offset, lockThreshold = 10) {\n let direction = null;\n if (Math.abs(offset.y) > lockThreshold) {\n direction = \"y\";\n }\n else if (Math.abs(offset.x) > lockThreshold) {\n direction = \"x\";\n }\n return direction;\n}\n\nexport { VisualElementDragControls, elementDragControls };\n","import { Feature } from '../../motion/features/Feature.mjs';\nimport { noop } from 'motion-utils';\nimport { VisualElementDragControls } from './VisualElementDragControls.mjs';\n\nclass DragGesture extends Feature {\n constructor(node) {\n super(node);\n this.removeGroupControls = noop;\n this.removeListeners = noop;\n this.controls = new VisualElementDragControls(node);\n }\n mount() {\n // If we've been provided a DragControls for manual control over the drag gesture,\n // subscribe this component to it on mount.\n const { dragControls } = this.node.getProps();\n if (dragControls) {\n this.removeGroupControls = dragControls.subscribe(this.controls);\n }\n this.removeListeners = this.controls.addListeners() || noop;\n }\n unmount() {\n this.removeGroupControls();\n this.removeListeners();\n }\n}\n\nexport { DragGesture };\n","import { PanSession } from './PanSession.mjs';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { Feature } from '../../motion/features/Feature.mjs';\nimport { noop } from 'motion-utils';\nimport { getContextWindow } from '../../utils/get-context-window.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst asyncHandler = (handler) => (event, info) => {\n if (handler) {\n frame.postRender(() => handler(event, info));\n }\n};\nclass PanGesture extends Feature {\n constructor() {\n super(...arguments);\n this.removePointerDownListener = noop;\n }\n onPointerDown(pointerDownEvent) {\n this.session = new PanSession(pointerDownEvent, this.createPanHandlers(), {\n transformPagePoint: this.node.getTransformPagePoint(),\n contextWindow: getContextWindow(this.node),\n });\n }\n createPanHandlers() {\n const { onPanSessionStart, onPanStart, onPan, onPanEnd } = this.node.getProps();\n return {\n onSessionStart: asyncHandler(onPanSessionStart),\n onStart: asyncHandler(onPanStart),\n onMove: onPan,\n onEnd: (event, info) => {\n delete this.session;\n if (onPanEnd) {\n frame.postRender(() => onPanEnd(event, info));\n }\n },\n };\n }\n mount() {\n this.removePointerDownListener = addPointerEvent(this.node.current, \"pointerdown\", (event) => this.onPointerDown(event));\n }\n update() {\n this.session && this.session.updateHandlers(this.createPanHandlers());\n }\n unmount() {\n this.removePointerDownListener();\n this.session && this.session.end();\n }\n}\n\nexport { PanGesture };\n","/**\n * This should only ever be modified on the client otherwise it'll\n * persist through server requests. If we need instanced states we\n * could lazy-init via root.\n */\nconst globalProjectionState = {\n /**\n * Global flag as to whether the tree has animated since the last time\n * we resized the window\n */\n hasAnimatedSinceResize: true,\n /**\n * We set this to true once, on the first update. Any nodes added to the tree beyond that\n * update will be given a `data-projection-id` attribute.\n */\n hasEverUpdated: false,\n};\n\nexport { globalProjectionState };\n","import { px } from '../../value/types/numbers/units.mjs';\n\nfunction pixelsToPercent(pixels, axis) {\n if (axis.max === axis.min)\n return 0;\n return (pixels / (axis.max - axis.min)) * 100;\n}\n/**\n * We always correct borderRadius as a percentage rather than pixels to reduce paints.\n * For example, if you are projecting a box that is 100px wide with a 10px borderRadius\n * into a box that is 200px wide with a 20px borderRadius, that is actually a 10%\n * borderRadius in both states. If we animate between the two in pixels that will trigger\n * a paint each time. If we animate between the two in percentage we'll avoid a paint.\n */\nconst correctBorderRadius = {\n correct: (latest, node) => {\n if (!node.target)\n return latest;\n /**\n * If latest is a string, if it's a percentage we can return immediately as it's\n * going to be stretched appropriately. Otherwise, if it's a pixel, convert it to a number.\n */\n if (typeof latest === \"string\") {\n if (px.test(latest)) {\n latest = parseFloat(latest);\n }\n else {\n return latest;\n }\n }\n /**\n * If latest is a number, it's a pixel value. We use the current viewportBox to calculate that\n * pixel value as a percentage of each axis\n */\n const x = pixelsToPercent(latest, node.target.x);\n const y = pixelsToPercent(latest, node.target.y);\n return `${x}% ${y}%`;\n },\n};\n\nexport { correctBorderRadius, pixelsToPercent };\n","import { mixNumber } from '../../utils/mix/number.mjs';\nimport { complex } from '../../value/types/complex/index.mjs';\n\nconst correctBoxShadow = {\n correct: (latest, { treeScale, projectionDelta }) => {\n const original = latest;\n const shadow = complex.parse(latest);\n // TODO: Doesn't support multiple shadows\n if (shadow.length > 5)\n return original;\n const template = complex.createTransformer(latest);\n const offset = typeof shadow[0] !== \"number\" ? 1 : 0;\n // Calculate the overall context scale\n const xScale = projectionDelta.x.scale * treeScale.x;\n const yScale = projectionDelta.y.scale * treeScale.y;\n shadow[0 + offset] /= xScale;\n shadow[1 + offset] /= yScale;\n /**\n * Ideally we'd correct x and y scales individually, but because blur and\n * spread apply to both we have to take a scale average and apply that instead.\n * We could potentially improve the outcome of this by incorporating the ratio between\n * the two scales.\n */\n const averageScale = mixNumber(xScale, yScale, 0.5);\n // Blur\n if (typeof shadow[2 + offset] === \"number\")\n shadow[2 + offset] /= averageScale;\n // Spread\n if (typeof shadow[3 + offset] === \"number\")\n shadow[3 + offset] /= averageScale;\n return template(shadow);\n },\n};\n\nexport { correctBoxShadow };\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { useContext, Component } from 'react';\nimport { usePresence } from '../../../components/AnimatePresence/use-presence.mjs';\nimport { LayoutGroupContext } from '../../../context/LayoutGroupContext.mjs';\nimport { SwitchLayoutGroupContext } from '../../../context/SwitchLayoutGroupContext.mjs';\nimport { globalProjectionState } from '../../../projection/node/state.mjs';\nimport { correctBorderRadius } from '../../../projection/styles/scale-border-radius.mjs';\nimport { correctBoxShadow } from '../../../projection/styles/scale-box-shadow.mjs';\nimport { addScaleCorrector } from '../../../projection/styles/scale-correction.mjs';\nimport { microtask } from '../../../frameloop/microtask.mjs';\nimport { frame } from '../../../frameloop/frame.mjs';\n\nclass MeasureLayoutWithContext extends Component {\n /**\n * This only mounts projection nodes for components that\n * need measuring, we might want to do it for all components\n * in order to incorporate transforms\n */\n componentDidMount() {\n const { visualElement, layoutGroup, switchLayoutGroup, layoutId } = this.props;\n const { projection } = visualElement;\n addScaleCorrector(defaultScaleCorrectors);\n if (projection) {\n if (layoutGroup.group)\n layoutGroup.group.add(projection);\n if (switchLayoutGroup && switchLayoutGroup.register && layoutId) {\n switchLayoutGroup.register(projection);\n }\n projection.root.didUpdate();\n projection.addEventListener(\"animationComplete\", () => {\n this.safeToRemove();\n });\n projection.setOptions({\n ...projection.options,\n onExitComplete: () => this.safeToRemove(),\n });\n }\n globalProjectionState.hasEverUpdated = true;\n }\n getSnapshotBeforeUpdate(prevProps) {\n const { layoutDependency, visualElement, drag, isPresent } = this.props;\n const projection = visualElement.projection;\n if (!projection)\n return null;\n /**\n * TODO: We use this data in relegate to determine whether to\n * promote a previous element. There's no guarantee its presence data\n * will have updated by this point - if a bug like this arises it will\n * have to be that we markForRelegation and then find a new lead some other way,\n * perhaps in didUpdate\n */\n projection.isPresent = isPresent;\n if (drag ||\n prevProps.layoutDependency !== layoutDependency ||\n layoutDependency === undefined) {\n projection.willUpdate();\n }\n else {\n this.safeToRemove();\n }\n if (prevProps.isPresent !== isPresent) {\n if (isPresent) {\n projection.promote();\n }\n else if (!projection.relegate()) {\n /**\n * If there's another stack member taking over from this one,\n * it's in charge of the exit animation and therefore should\n * be in charge of the safe to remove. Otherwise we call it here.\n */\n frame.postRender(() => {\n const stack = projection.getStack();\n if (!stack || !stack.members.length) {\n this.safeToRemove();\n }\n });\n }\n }\n return null;\n }\n componentDidUpdate() {\n const { projection } = this.props.visualElement;\n if (projection) {\n projection.root.didUpdate();\n microtask.postRender(() => {\n if (!projection.currentAnimation && projection.isLead()) {\n this.safeToRemove();\n }\n });\n }\n }\n componentWillUnmount() {\n const { visualElement, layoutGroup, switchLayoutGroup: promoteContext, } = this.props;\n const { projection } = visualElement;\n if (projection) {\n projection.scheduleCheckAfterUnmount();\n if (layoutGroup && layoutGroup.group)\n layoutGroup.group.remove(projection);\n if (promoteContext && promoteContext.deregister)\n promoteContext.deregister(projection);\n }\n }\n safeToRemove() {\n const { safeToRemove } = this.props;\n safeToRemove && safeToRemove();\n }\n render() {\n return null;\n }\n}\nfunction MeasureLayout(props) {\n const [isPresent, safeToRemove] = usePresence();\n const layoutGroup = useContext(LayoutGroupContext);\n return (jsx(MeasureLayoutWithContext, { ...props, layoutGroup: layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent: isPresent, safeToRemove: safeToRemove }));\n}\nconst defaultScaleCorrectors = {\n borderRadius: {\n ...correctBorderRadius,\n applyTo: [\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\",\n \"borderBottomLeftRadius\",\n \"borderBottomRightRadius\",\n ],\n },\n borderTopLeftRadius: correctBorderRadius,\n borderTopRightRadius: correctBorderRadius,\n borderBottomLeftRadius: correctBorderRadius,\n borderBottomRightRadius: correctBorderRadius,\n boxShadow: correctBoxShadow,\n};\n\nexport { MeasureLayout };\n","import { motionValue } from '../../value/index.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\nimport { animateMotionValue } from '../interfaces/motion-value.mjs';\n\nfunction animateSingleValue(value, keyframes, options) {\n const motionValue$1 = isMotionValue(value) ? value : motionValue(value);\n motionValue$1.start(animateMotionValue(\"\", motionValue$1, keyframes, options));\n return motionValue$1.animation;\n}\n\nexport { animateSingleValue };\n","function isSVGElement(element) {\n return element instanceof SVGElement && element.tagName !== \"svg\";\n}\n\nexport { isSVGElement };\n","const compareByDepth = (a, b) => a.depth - b.depth;\n\nexport { compareByDepth };\n","import { addUniqueItem, removeItem } from '../../utils/array.mjs';\nimport { compareByDepth } from './compare-by-depth.mjs';\n\nclass FlatTree {\n constructor() {\n this.children = [];\n this.isDirty = false;\n }\n add(child) {\n addUniqueItem(this.children, child);\n this.isDirty = true;\n }\n remove(child) {\n removeItem(this.children, child);\n this.isDirty = true;\n }\n forEach(callback) {\n this.isDirty && this.children.sort(compareByDepth);\n this.isDirty = false;\n this.children.forEach(callback);\n }\n}\n\nexport { FlatTree };\n","import { secondsToMilliseconds } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { frame, cancelFrame } from '../frameloop/frame.mjs';\n\n/**\n * Timeout defined in ms\n */\nfunction delay(callback, timeout) {\n const start = time.now();\n const checkElapsed = ({ timestamp }) => {\n const elapsed = timestamp - start;\n if (elapsed >= timeout) {\n cancelFrame(checkElapsed);\n callback(elapsed - timeout);\n }\n };\n frame.read(checkElapsed, true);\n return () => cancelFrame(checkElapsed);\n}\nfunction delayInSeconds(callback, timeout) {\n return delay(callback, secondsToMilliseconds(timeout));\n}\n\nexport { delay, delayInSeconds };\n","import { progress, noop } from 'motion-utils';\nimport { circOut } from '../../easing/circ.mjs';\nimport { mixNumber } from '../../utils/mix/number.mjs';\nimport { percent, px } from '../../value/types/numbers/units.mjs';\n\nconst borders = [\"TopLeft\", \"TopRight\", \"BottomLeft\", \"BottomRight\"];\nconst numBorders = borders.length;\nconst asNumber = (value) => typeof value === \"string\" ? parseFloat(value) : value;\nconst isPx = (value) => typeof value === \"number\" || px.test(value);\nfunction mixValues(target, follow, lead, progress, shouldCrossfadeOpacity, isOnlyMember) {\n if (shouldCrossfadeOpacity) {\n target.opacity = mixNumber(0, \n // TODO Reinstate this if only child\n lead.opacity !== undefined ? lead.opacity : 1, easeCrossfadeIn(progress));\n target.opacityExit = mixNumber(follow.opacity !== undefined ? follow.opacity : 1, 0, easeCrossfadeOut(progress));\n }\n else if (isOnlyMember) {\n target.opacity = mixNumber(follow.opacity !== undefined ? follow.opacity : 1, lead.opacity !== undefined ? lead.opacity : 1, progress);\n }\n /**\n * Mix border radius\n */\n for (let i = 0; i < numBorders; i++) {\n const borderLabel = `border${borders[i]}Radius`;\n let followRadius = getRadius(follow, borderLabel);\n let leadRadius = getRadius(lead, borderLabel);\n if (followRadius === undefined && leadRadius === undefined)\n continue;\n followRadius || (followRadius = 0);\n leadRadius || (leadRadius = 0);\n const canMix = followRadius === 0 ||\n leadRadius === 0 ||\n isPx(followRadius) === isPx(leadRadius);\n if (canMix) {\n target[borderLabel] = Math.max(mixNumber(asNumber(followRadius), asNumber(leadRadius), progress), 0);\n if (percent.test(leadRadius) || percent.test(followRadius)) {\n target[borderLabel] += \"%\";\n }\n }\n else {\n target[borderLabel] = leadRadius;\n }\n }\n /**\n * Mix rotation\n */\n if (follow.rotate || lead.rotate) {\n target.rotate = mixNumber(follow.rotate || 0, lead.rotate || 0, progress);\n }\n}\nfunction getRadius(values, radiusName) {\n return values[radiusName] !== undefined\n ? values[radiusName]\n : values.borderRadius;\n}\n// /**\n// * We only want to mix the background color if there's a follow element\n// * that we're not crossfading opacity between. For instance with switch\n// * AnimateSharedLayout animations, this helps the illusion of a continuous\n// * element being animated but also cuts down on the number of paints triggered\n// * for elements where opacity is doing that work for us.\n// */\n// if (\n// !hasFollowElement &&\n// latestLeadValues.backgroundColor &&\n// latestFollowValues.backgroundColor\n// ) {\n// /**\n// * This isn't ideal performance-wise as mixColor is creating a new function every frame.\n// * We could probably create a mixer that runs at the start of the animation but\n// * the idea behind the crossfader is that it runs dynamically between two potentially\n// * changing targets (ie opacity or borderRadius may be animating independently via variants)\n// */\n// leadState.backgroundColor = followState.backgroundColor = mixColor(\n// latestFollowValues.backgroundColor as string,\n// latestLeadValues.backgroundColor as string\n// )(p)\n// }\nconst easeCrossfadeIn = /*@__PURE__*/ compress(0, 0.5, circOut);\nconst easeCrossfadeOut = /*@__PURE__*/ compress(0.5, 0.95, noop);\nfunction compress(min, max, easing) {\n return (p) => {\n // Could replace ifs with clamp\n if (p < min)\n return 0;\n if (p > max)\n return 1;\n return easing(progress(min, max, p));\n };\n}\n\nexport { mixValues };\n","/**\n * Reset an axis to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyAxisInto(axis, originAxis) {\n axis.min = originAxis.min;\n axis.max = originAxis.max;\n}\n/**\n * Reset a box to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyBoxInto(box, originBox) {\n copyAxisInto(box.x, originBox.x);\n copyAxisInto(box.y, originBox.y);\n}\n/**\n * Reset a delta to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyAxisDeltaInto(delta, originDelta) {\n delta.translate = originDelta.translate;\n delta.scale = originDelta.scale;\n delta.originPoint = originDelta.originPoint;\n delta.origin = originDelta.origin;\n}\n\nexport { copyAxisDeltaInto, copyAxisInto, copyBoxInto };\n","import { mixNumber } from '../../utils/mix/number.mjs';\nimport { percent } from '../../value/types/numbers/units.mjs';\nimport { scalePoint } from './delta-apply.mjs';\n\n/**\n * Remove a delta from a point. This is essentially the steps of applyPointDelta in reverse\n */\nfunction removePointDelta(point, translate, scale, originPoint, boxScale) {\n point -= translate;\n point = scalePoint(point, 1 / scale, originPoint);\n if (boxScale !== undefined) {\n point = scalePoint(point, 1 / boxScale, originPoint);\n }\n return point;\n}\n/**\n * Remove a delta from an axis. This is essentially the steps of applyAxisDelta in reverse\n */\nfunction removeAxisDelta(axis, translate = 0, scale = 1, origin = 0.5, boxScale, originAxis = axis, sourceAxis = axis) {\n if (percent.test(translate)) {\n translate = parseFloat(translate);\n const relativeProgress = mixNumber(sourceAxis.min, sourceAxis.max, translate / 100);\n translate = relativeProgress - sourceAxis.min;\n }\n if (typeof translate !== \"number\")\n return;\n let originPoint = mixNumber(originAxis.min, originAxis.max, origin);\n if (axis === originAxis)\n originPoint -= translate;\n axis.min = removePointDelta(axis.min, translate, scale, originPoint, boxScale);\n axis.max = removePointDelta(axis.max, translate, scale, originPoint, boxScale);\n}\n/**\n * Remove a transforms from an axis. This is essentially the steps of applyAxisTransforms in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeAxisTransforms(axis, transforms, [key, scaleKey, originKey], origin, sourceAxis) {\n removeAxisDelta(axis, transforms[key], transforms[scaleKey], transforms[originKey], transforms.scale, origin, sourceAxis);\n}\n/**\n * The names of the motion values we want to apply as translation, scale and origin.\n */\nconst xKeys = [\"x\", \"scaleX\", \"originX\"];\nconst yKeys = [\"y\", \"scaleY\", \"originY\"];\n/**\n * Remove a transforms from an box. This is essentially the steps of applyAxisBox in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeBoxTransforms(box, transforms, originBox, sourceBox) {\n removeAxisTransforms(box.x, transforms, xKeys, originBox ? originBox.x : undefined, sourceBox ? sourceBox.x : undefined);\n removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : undefined, sourceBox ? sourceBox.y : undefined);\n}\n\nexport { removeAxisDelta, removeAxisTransforms, removeBoxTransforms, removePointDelta };\n","import { calcLength } from './delta-calc.mjs';\n\nfunction isAxisDeltaZero(delta) {\n return delta.translate === 0 && delta.scale === 1;\n}\nfunction isDeltaZero(delta) {\n return isAxisDeltaZero(delta.x) && isAxisDeltaZero(delta.y);\n}\nfunction axisEquals(a, b) {\n return a.min === b.min && a.max === b.max;\n}\nfunction boxEquals(a, b) {\n return axisEquals(a.x, b.x) && axisEquals(a.y, b.y);\n}\nfunction axisEqualsRounded(a, b) {\n return (Math.round(a.min) === Math.round(b.min) &&\n Math.round(a.max) === Math.round(b.max));\n}\nfunction boxEqualsRounded(a, b) {\n return axisEqualsRounded(a.x, b.x) && axisEqualsRounded(a.y, b.y);\n}\nfunction aspectRatio(box) {\n return calcLength(box.x) / calcLength(box.y);\n}\nfunction axisDeltaEquals(a, b) {\n return (a.translate === b.translate &&\n a.scale === b.scale &&\n a.originPoint === b.originPoint);\n}\n\nexport { aspectRatio, axisDeltaEquals, axisEquals, axisEqualsRounded, boxEquals, boxEqualsRounded, isDeltaZero };\n","import { addUniqueItem, removeItem } from '../../utils/array.mjs';\n\nclass NodeStack {\n constructor() {\n this.members = [];\n }\n add(node) {\n addUniqueItem(this.members, node);\n node.scheduleRender();\n }\n remove(node) {\n removeItem(this.members, node);\n if (node === this.prevLead) {\n this.prevLead = undefined;\n }\n if (node === this.lead) {\n const prevLead = this.members[this.members.length - 1];\n if (prevLead) {\n this.promote(prevLead);\n }\n }\n }\n relegate(node) {\n const indexOfNode = this.members.findIndex((member) => node === member);\n if (indexOfNode === 0)\n return false;\n /**\n * Find the next projection node that is present\n */\n let prevLead;\n for (let i = indexOfNode; i >= 0; i--) {\n const member = this.members[i];\n if (member.isPresent !== false) {\n prevLead = member;\n break;\n }\n }\n if (prevLead) {\n this.promote(prevLead);\n return true;\n }\n else {\n return false;\n }\n }\n promote(node, preserveFollowOpacity) {\n const prevLead = this.lead;\n if (node === prevLead)\n return;\n this.prevLead = prevLead;\n this.lead = node;\n node.show();\n if (prevLead) {\n prevLead.instance && prevLead.scheduleRender();\n node.scheduleRender();\n node.resumeFrom = prevLead;\n if (preserveFollowOpacity) {\n node.resumeFrom.preserveOpacity = true;\n }\n if (prevLead.snapshot) {\n node.snapshot = prevLead.snapshot;\n node.snapshot.latestValues =\n prevLead.animationValues || prevLead.latestValues;\n }\n if (node.root && node.root.isUpdating) {\n node.isLayoutDirty = true;\n }\n const { crossfade } = node.options;\n if (crossfade === false) {\n prevLead.hide();\n }\n /**\n * TODO:\n * - Test border radius when previous node was deleted\n * - boxShadow mixing\n * - Shared between element A in scrolled container and element B (scroll stays the same or changes)\n * - Shared between element A in transformed container and element B (transform stays the same or changes)\n * - Shared between element A in scrolled page and element B (scroll stays the same or changes)\n * ---\n * - Crossfade opacity of root nodes\n * - layoutId changes after animation\n * - layoutId changes mid animation\n */\n }\n }\n exitAnimationComplete() {\n this.members.forEach((node) => {\n const { options, resumingFrom } = node;\n options.onExitComplete && options.onExitComplete();\n if (resumingFrom) {\n resumingFrom.options.onExitComplete &&\n resumingFrom.options.onExitComplete();\n }\n });\n }\n scheduleRender() {\n this.members.forEach((node) => {\n node.instance && node.scheduleRender(false);\n });\n }\n /**\n * Clear any leads that have been removed this render to prevent them from being\n * used in future animations and to prevent memory leaks\n */\n removeLeadSnapshot() {\n if (this.lead && this.lead.snapshot) {\n this.lead.snapshot = undefined;\n }\n }\n}\n\nexport { NodeStack };\n","function buildProjectionTransform(delta, treeScale, latestTransform) {\n let transform = \"\";\n /**\n * The translations we use to calculate are always relative to the viewport coordinate space.\n * But when we apply scales, we also scale the coordinate space of an element and its children.\n * For instance if we have a treeScale (the culmination of all parent scales) of 0.5 and we need\n * to move an element 100 pixels, we actually need to move it 200 in within that scaled space.\n */\n const xTranslate = delta.x.translate / treeScale.x;\n const yTranslate = delta.y.translate / treeScale.y;\n const zTranslate = (latestTransform === null || latestTransform === void 0 ? void 0 : latestTransform.z) || 0;\n if (xTranslate || yTranslate || zTranslate) {\n transform = `translate3d(${xTranslate}px, ${yTranslate}px, ${zTranslate}px) `;\n }\n /**\n * Apply scale correction for the tree transform.\n * This will apply scale to the screen-orientated axes.\n */\n if (treeScale.x !== 1 || treeScale.y !== 1) {\n transform += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;\n }\n if (latestTransform) {\n const { transformPerspective, rotate, rotateX, rotateY, skewX, skewY } = latestTransform;\n if (transformPerspective)\n transform = `perspective(${transformPerspective}px) ${transform}`;\n if (rotate)\n transform += `rotate(${rotate}deg) `;\n if (rotateX)\n transform += `rotateX(${rotateX}deg) `;\n if (rotateY)\n transform += `rotateY(${rotateY}deg) `;\n if (skewX)\n transform += `skewX(${skewX}deg) `;\n if (skewY)\n transform += `skewY(${skewY}deg) `;\n }\n /**\n * Apply scale to match the size of the element to the size we want it.\n * This will apply scale to the element-orientated axes.\n */\n const elementScaleX = delta.x.scale * treeScale.x;\n const elementScaleY = delta.y.scale * treeScale.y;\n if (elementScaleX !== 1 || elementScaleY !== 1) {\n transform += `scale(${elementScaleX}, ${elementScaleY})`;\n }\n return transform || \"none\";\n}\n\nexport { buildProjectionTransform };\n","import { getValueTransition } from 'motion-dom';\nimport { noop } from 'motion-utils';\nimport { animateSingleValue } from '../../animation/animate/single-value.mjs';\nimport { getOptimisedAppearId } from '../../animation/optimized-appear/get-appear-id.mjs';\nimport { cancelFrame, frameData, frameSteps, frame } from '../../frameloop/frame.mjs';\nimport { microtask } from '../../frameloop/microtask.mjs';\nimport { time } from '../../frameloop/sync-time.mjs';\nimport { isSVGElement } from '../../render/dom/utils/is-svg-element.mjs';\nimport { FlatTree } from '../../render/utils/flat-tree.mjs';\nimport { clamp } from '../../utils/clamp.mjs';\nimport { delay } from '../../utils/delay.mjs';\nimport { mixNumber } from '../../utils/mix/number.mjs';\nimport { SubscriptionManager } from '../../utils/subscription-manager.mjs';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.mjs';\nimport { mixValues } from '../animation/mix-values.mjs';\nimport { copyBoxInto, copyAxisDeltaInto } from '../geometry/copy.mjs';\nimport { translateAxis, transformBox, applyBoxDelta, applyTreeDeltas } from '../geometry/delta-apply.mjs';\nimport { calcRelativePosition, calcRelativeBox, calcBoxDelta, calcLength, isNear } from '../geometry/delta-calc.mjs';\nimport { removeBoxTransforms } from '../geometry/delta-remove.mjs';\nimport { createBox, createDelta } from '../geometry/models.mjs';\nimport { boxEqualsRounded, isDeltaZero, axisDeltaEquals, aspectRatio, boxEquals } from '../geometry/utils.mjs';\nimport { NodeStack } from '../shared/stack.mjs';\nimport { scaleCorrectors } from '../styles/scale-correction.mjs';\nimport { buildProjectionTransform } from '../styles/transform.mjs';\nimport { eachAxis } from '../utils/each-axis.mjs';\nimport { hasTransform, hasScale, has2DTranslate } from '../utils/has-transform.mjs';\nimport { globalProjectionState } from './state.mjs';\n\nconst metrics = {\n type: \"projectionFrame\",\n totalNodes: 0,\n resolvedTargetDeltas: 0,\n recalculatedProjection: 0,\n};\nconst isDebug = typeof window !== \"undefined\" && window.MotionDebug !== undefined;\nconst transformAxes = [\"\", \"X\", \"Y\", \"Z\"];\nconst hiddenVisibility = { visibility: \"hidden\" };\n/**\n * We use 1000 as the animation target as 0-1000 maps better to pixels than 0-1\n * which has a noticeable difference in spring animations\n */\nconst animationTarget = 1000;\nlet id = 0;\nfunction resetDistortingTransform(key, visualElement, values, sharedAnimationValues) {\n const { latestValues } = visualElement;\n // Record the distorting transform and then temporarily set it to 0\n if (latestValues[key]) {\n values[key] = latestValues[key];\n visualElement.setStaticValue(key, 0);\n if (sharedAnimationValues) {\n sharedAnimationValues[key] = 0;\n }\n }\n}\nfunction cancelTreeOptimisedTransformAnimations(projectionNode) {\n projectionNode.hasCheckedOptimisedAppear = true;\n if (projectionNode.root === projectionNode)\n return;\n const { visualElement } = projectionNode.options;\n if (!visualElement)\n return;\n const appearId = getOptimisedAppearId(visualElement);\n if (window.MotionHasOptimisedAnimation(appearId, \"transform\")) {\n const { layout, layoutId } = projectionNode.options;\n window.MotionCancelOptimisedAnimation(appearId, \"transform\", frame, !(layout || layoutId));\n }\n const { parent } = projectionNode;\n if (parent && !parent.hasCheckedOptimisedAppear) {\n cancelTreeOptimisedTransformAnimations(parent);\n }\n}\nfunction createProjectionNode({ attachResizeListener, defaultParent, measureScroll, checkIsScrollRoot, resetTransform, }) {\n return class ProjectionNode {\n constructor(latestValues = {}, parent = defaultParent === null || defaultParent === void 0 ? void 0 : defaultParent()) {\n /**\n * A unique ID generated for every projection node.\n */\n this.id = id++;\n /**\n * An id that represents a unique session instigated by startUpdate.\n */\n this.animationId = 0;\n /**\n * A Set containing all this component's children. This is used to iterate\n * through the children.\n *\n * TODO: This could be faster to iterate as a flat array stored on the root node.\n */\n this.children = new Set();\n /**\n * Options for the node. We use this to configure what kind of layout animations\n * we should perform (if any).\n */\n this.options = {};\n /**\n * We use this to detect when its safe to shut down part of a projection tree.\n * We have to keep projecting children for scale correction and relative projection\n * until all their parents stop performing layout animations.\n */\n this.isTreeAnimating = false;\n this.isAnimationBlocked = false;\n /**\n * Flag to true if we think this layout has been changed. We can't always know this,\n * currently we set it to true every time a component renders, or if it has a layoutDependency\n * if that has changed between renders. Additionally, components can be grouped by LayoutGroup\n * and if one node is dirtied, they all are.\n */\n this.isLayoutDirty = false;\n /**\n * Flag to true if we think the projection calculations for this node needs\n * recalculating as a result of an updated transform or layout animation.\n */\n this.isProjectionDirty = false;\n /**\n * Flag to true if the layout *or* transform has changed. This then gets propagated\n * throughout the projection tree, forcing any element below to recalculate on the next frame.\n */\n this.isSharedProjectionDirty = false;\n /**\n * Flag transform dirty. This gets propagated throughout the whole tree but is only\n * respected by shared nodes.\n */\n this.isTransformDirty = false;\n /**\n * Block layout updates for instant layout transitions throughout the tree.\n */\n this.updateManuallyBlocked = false;\n this.updateBlockedByResize = false;\n /**\n * Set to true between the start of the first `willUpdate` call and the end of the `didUpdate`\n * call.\n */\n this.isUpdating = false;\n /**\n * If this is an SVG element we currently disable projection transforms\n */\n this.isSVG = false;\n /**\n * Flag to true (during promotion) if a node doing an instant layout transition needs to reset\n * its projection styles.\n */\n this.needsReset = false;\n /**\n * Flags whether this node should have its transform reset prior to measuring.\n */\n this.shouldResetTransform = false;\n /**\n * Store whether this node has been checked for optimised appear animations. As\n * effects fire bottom-up, and we want to look up the tree for appear animations,\n * this makes sure we only check each path once, stopping at nodes that\n * have already been checked.\n */\n this.hasCheckedOptimisedAppear = false;\n /**\n * An object representing the calculated contextual/accumulated/tree scale.\n * This will be used to scale calculcated projection transforms, as these are\n * calculated in screen-space but need to be scaled for elements to layoutly\n * make it to their calculated destinations.\n *\n * TODO: Lazy-init\n */\n this.treeScale = { x: 1, y: 1 };\n /**\n *\n */\n this.eventHandlers = new Map();\n this.hasTreeAnimated = false;\n // Note: Currently only running on root node\n this.updateScheduled = false;\n this.scheduleUpdate = () => this.update();\n this.projectionUpdateScheduled = false;\n this.checkUpdateFailed = () => {\n if (this.isUpdating) {\n this.isUpdating = false;\n this.clearAllSnapshots();\n }\n };\n /**\n * This is a multi-step process as shared nodes might be of different depths. Nodes\n * are sorted by depth order, so we need to resolve the entire tree before moving to\n * the next step.\n */\n this.updateProjection = () => {\n this.projectionUpdateScheduled = false;\n /**\n * Reset debug counts. Manually resetting rather than creating a new\n * object each frame.\n */\n if (isDebug) {\n metrics.totalNodes =\n metrics.resolvedTargetDeltas =\n metrics.recalculatedProjection =\n 0;\n }\n this.nodes.forEach(propagateDirtyNodes);\n this.nodes.forEach(resolveTargetDelta);\n this.nodes.forEach(calcProjection);\n this.nodes.forEach(cleanDirtyNodes);\n if (isDebug) {\n window.MotionDebug.record(metrics);\n }\n };\n /**\n * Frame calculations\n */\n this.resolvedRelativeTargetAt = 0.0;\n this.hasProjected = false;\n this.isVisible = true;\n this.animationProgress = 0;\n /**\n * Shared layout\n */\n // TODO Only running on root node\n this.sharedNodes = new Map();\n this.latestValues = latestValues;\n this.root = parent ? parent.root || parent : this;\n this.path = parent ? [...parent.path, parent] : [];\n this.parent = parent;\n this.depth = parent ? parent.depth + 1 : 0;\n for (let i = 0; i < this.path.length; i++) {\n this.path[i].shouldResetTransform = true;\n }\n if (this.root === this)\n this.nodes = new FlatTree();\n }\n addEventListener(name, handler) {\n if (!this.eventHandlers.has(name)) {\n this.eventHandlers.set(name, new SubscriptionManager());\n }\n return this.eventHandlers.get(name).add(handler);\n }\n notifyListeners(name, ...args) {\n const subscriptionManager = this.eventHandlers.get(name);\n subscriptionManager && subscriptionManager.notify(...args);\n }\n hasListeners(name) {\n return this.eventHandlers.has(name);\n }\n /**\n * Lifecycles\n */\n mount(instance, isLayoutDirty = this.root.hasTreeAnimated) {\n if (this.instance)\n return;\n this.isSVG = isSVGElement(instance);\n this.instance = instance;\n const { layoutId, layout, visualElement } = this.options;\n if (visualElement && !visualElement.current) {\n visualElement.mount(instance);\n }\n this.root.nodes.add(this);\n this.parent && this.parent.children.add(this);\n if (isLayoutDirty && (layout || layoutId)) {\n this.isLayoutDirty = true;\n }\n if (attachResizeListener) {\n let cancelDelay;\n const resizeUnblockUpdate = () => (this.root.updateBlockedByResize = false);\n attachResizeListener(instance, () => {\n this.root.updateBlockedByResize = true;\n cancelDelay && cancelDelay();\n cancelDelay = delay(resizeUnblockUpdate, 250);\n if (globalProjectionState.hasAnimatedSinceResize) {\n globalProjectionState.hasAnimatedSinceResize = false;\n this.nodes.forEach(finishAnimation);\n }\n });\n }\n if (layoutId) {\n this.root.registerSharedNode(layoutId, this);\n }\n // Only register the handler if it requires layout animation\n if (this.options.animate !== false &&\n visualElement &&\n (layoutId || layout)) {\n this.addEventListener(\"didUpdate\", ({ delta, hasLayoutChanged, hasRelativeTargetChanged, layout: newLayout, }) => {\n if (this.isTreeAnimationBlocked()) {\n this.target = undefined;\n this.relativeTarget = undefined;\n return;\n }\n // TODO: Check here if an animation exists\n const layoutTransition = this.options.transition ||\n visualElement.getDefaultTransition() ||\n defaultLayoutTransition;\n const { onLayoutAnimationStart, onLayoutAnimationComplete, } = visualElement.getProps();\n /**\n * The target layout of the element might stay the same,\n * but its position relative to its parent has changed.\n */\n const targetChanged = !this.targetLayout ||\n !boxEqualsRounded(this.targetLayout, newLayout) ||\n hasRelativeTargetChanged;\n /**\n * If the layout hasn't seemed to have changed, it might be that the\n * element is visually in the same place in the document but its position\n * relative to its parent has indeed changed. So here we check for that.\n */\n const hasOnlyRelativeTargetChanged = !hasLayoutChanged && hasRelativeTargetChanged;\n if (this.options.layoutRoot ||\n (this.resumeFrom && this.resumeFrom.instance) ||\n hasOnlyRelativeTargetChanged ||\n (hasLayoutChanged &&\n (targetChanged || !this.currentAnimation))) {\n if (this.resumeFrom) {\n this.resumingFrom = this.resumeFrom;\n this.resumingFrom.resumingFrom = undefined;\n }\n this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);\n const animationOptions = {\n ...getValueTransition(layoutTransition, \"layout\"),\n onPlay: onLayoutAnimationStart,\n onComplete: onLayoutAnimationComplete,\n };\n if (visualElement.shouldReduceMotion ||\n this.options.layoutRoot) {\n animationOptions.delay = 0;\n animationOptions.type = false;\n }\n this.startAnimation(animationOptions);\n }\n else {\n /**\n * If the layout hasn't changed and we have an animation that hasn't started yet,\n * finish it immediately. Otherwise it will be animating from a location\n * that was probably never commited to screen and look like a jumpy box.\n */\n if (!hasLayoutChanged) {\n finishAnimation(this);\n }\n if (this.isLead() && this.options.onExitComplete) {\n this.options.onExitComplete();\n }\n }\n this.targetLayout = newLayout;\n });\n }\n }\n unmount() {\n this.options.layoutId && this.willUpdate();\n this.root.nodes.remove(this);\n const stack = this.getStack();\n stack && stack.remove(this);\n this.parent && this.parent.children.delete(this);\n this.instance = undefined;\n cancelFrame(this.updateProjection);\n }\n // only on the root\n blockUpdate() {\n this.updateManuallyBlocked = true;\n }\n unblockUpdate() {\n this.updateManuallyBlocked = false;\n }\n isUpdateBlocked() {\n return this.updateManuallyBlocked || this.updateBlockedByResize;\n }\n isTreeAnimationBlocked() {\n return (this.isAnimationBlocked ||\n (this.parent && this.parent.isTreeAnimationBlocked()) ||\n false);\n }\n // Note: currently only running on root node\n startUpdate() {\n if (this.isUpdateBlocked())\n return;\n this.isUpdating = true;\n this.nodes && this.nodes.forEach(resetSkewAndRotation);\n this.animationId++;\n }\n getTransformTemplate() {\n const { visualElement } = this.options;\n return visualElement && visualElement.getProps().transformTemplate;\n }\n willUpdate(shouldNotifyListeners = true) {\n this.root.hasTreeAnimated = true;\n if (this.root.isUpdateBlocked()) {\n this.options.onExitComplete && this.options.onExitComplete();\n return;\n }\n /**\n * If we're running optimised appear animations then these must be\n * cancelled before measuring the DOM. This is so we can measure\n * the true layout of the element rather than the WAAPI animation\n * which will be unaffected by the resetSkewAndRotate step.\n *\n * Note: This is a DOM write. Worst case scenario is this is sandwiched\n * between other snapshot reads which will cause unnecessary style recalculations.\n * This has to happen here though, as we don't yet know which nodes will need\n * snapshots in startUpdate(), but we only want to cancel optimised animations\n * if a layout animation measurement is actually going to be affected by them.\n */\n if (window.MotionCancelOptimisedAnimation &&\n !this.hasCheckedOptimisedAppear) {\n cancelTreeOptimisedTransformAnimations(this);\n }\n !this.root.isUpdating && this.root.startUpdate();\n if (this.isLayoutDirty)\n return;\n this.isLayoutDirty = true;\n for (let i = 0; i < this.path.length; i++) {\n const node = this.path[i];\n node.shouldResetTransform = true;\n node.updateScroll(\"snapshot\");\n if (node.options.layoutRoot) {\n node.willUpdate(false);\n }\n }\n const { layoutId, layout } = this.options;\n if (layoutId === undefined && !layout)\n return;\n const transformTemplate = this.getTransformTemplate();\n this.prevTransformTemplateValue = transformTemplate\n ? transformTemplate(this.latestValues, \"\")\n : undefined;\n this.updateSnapshot();\n shouldNotifyListeners && this.notifyListeners(\"willUpdate\");\n }\n update() {\n this.updateScheduled = false;\n const updateWasBlocked = this.isUpdateBlocked();\n // When doing an instant transition, we skip the layout update,\n // but should still clean up the measurements so that the next\n // snapshot could be taken correctly.\n if (updateWasBlocked) {\n this.unblockUpdate();\n this.clearAllSnapshots();\n this.nodes.forEach(clearMeasurements);\n return;\n }\n if (!this.isUpdating) {\n this.nodes.forEach(clearIsLayoutDirty);\n }\n this.isUpdating = false;\n /**\n * Write\n */\n this.nodes.forEach(resetTransformStyle);\n /**\n * Read ==================\n */\n // Update layout measurements of updated children\n this.nodes.forEach(updateLayout);\n /**\n * Write\n */\n // Notify listeners that the layout is updated\n this.nodes.forEach(notifyLayoutUpdate);\n this.clearAllSnapshots();\n /**\n * Manually flush any pending updates. Ideally\n * we could leave this to the following requestAnimationFrame but this seems\n * to leave a flash of incorrectly styled content.\n */\n const now = time.now();\n frameData.delta = clamp(0, 1000 / 60, now - frameData.timestamp);\n frameData.timestamp = now;\n frameData.isProcessing = true;\n frameSteps.update.process(frameData);\n frameSteps.preRender.process(frameData);\n frameSteps.render.process(frameData);\n frameData.isProcessing = false;\n }\n didUpdate() {\n if (!this.updateScheduled) {\n this.updateScheduled = true;\n microtask.read(this.scheduleUpdate);\n }\n }\n clearAllSnapshots() {\n this.nodes.forEach(clearSnapshot);\n this.sharedNodes.forEach(removeLeadSnapshots);\n }\n scheduleUpdateProjection() {\n if (!this.projectionUpdateScheduled) {\n this.projectionUpdateScheduled = true;\n frame.preRender(this.updateProjection, false, true);\n }\n }\n scheduleCheckAfterUnmount() {\n /**\n * If the unmounting node is in a layoutGroup and did trigger a willUpdate,\n * we manually call didUpdate to give a chance to the siblings to animate.\n * Otherwise, cleanup all snapshots to prevents future nodes from reusing them.\n */\n frame.postRender(() => {\n if (this.isLayoutDirty) {\n this.root.didUpdate();\n }\n else {\n this.root.checkUpdateFailed();\n }\n });\n }\n /**\n * Update measurements\n */\n updateSnapshot() {\n if (this.snapshot || !this.instance)\n return;\n this.snapshot = this.measure();\n }\n updateLayout() {\n if (!this.instance)\n return;\n // TODO: Incorporate into a forwarded scroll offset\n this.updateScroll();\n if (!(this.options.alwaysMeasureLayout && this.isLead()) &&\n !this.isLayoutDirty) {\n return;\n }\n /**\n * When a node is mounted, it simply resumes from the prevLead's\n * snapshot instead of taking a new one, but the ancestors scroll\n * might have updated while the prevLead is unmounted. We need to\n * update the scroll again to make sure the layout we measure is\n * up to date.\n */\n if (this.resumeFrom && !this.resumeFrom.instance) {\n for (let i = 0; i < this.path.length; i++) {\n const node = this.path[i];\n node.updateScroll();\n }\n }\n const prevLayout = this.layout;\n this.layout = this.measure(false);\n this.layoutCorrected = createBox();\n this.isLayoutDirty = false;\n this.projectionDelta = undefined;\n this.notifyListeners(\"measure\", this.layout.layoutBox);\n const { visualElement } = this.options;\n visualElement &&\n visualElement.notify(\"LayoutMeasure\", this.layout.layoutBox, prevLayout ? prevLayout.layoutBox : undefined);\n }\n updateScroll(phase = \"measure\") {\n let needsMeasurement = Boolean(this.options.layoutScroll && this.instance);\n if (this.scroll &&\n this.scroll.animationId === this.root.animationId &&\n this.scroll.phase === phase) {\n needsMeasurement = false;\n }\n if (needsMeasurement) {\n const isRoot = checkIsScrollRoot(this.instance);\n this.scroll = {\n animationId: this.root.animationId,\n phase,\n isRoot,\n offset: measureScroll(this.instance),\n wasRoot: this.scroll ? this.scroll.isRoot : isRoot,\n };\n }\n }\n resetTransform() {\n if (!resetTransform)\n return;\n const isResetRequested = this.isLayoutDirty ||\n this.shouldResetTransform ||\n this.options.alwaysMeasureLayout;\n const hasProjection = this.projectionDelta && !isDeltaZero(this.projectionDelta);\n const transformTemplate = this.getTransformTemplate();\n const transformTemplateValue = transformTemplate\n ? transformTemplate(this.latestValues, \"\")\n : undefined;\n const transformTemplateHasChanged = transformTemplateValue !== this.prevTransformTemplateValue;\n if (isResetRequested &&\n (hasProjection ||\n hasTransform(this.latestValues) ||\n transformTemplateHasChanged)) {\n resetTransform(this.instance, transformTemplateValue);\n this.shouldResetTransform = false;\n this.scheduleRender();\n }\n }\n measure(removeTransform = true) {\n const pageBox = this.measurePageBox();\n let layoutBox = this.removeElementScroll(pageBox);\n /**\n * Measurements taken during the pre-render stage\n * still have transforms applied so we remove them\n * via calculation.\n */\n if (removeTransform) {\n layoutBox = this.removeTransform(layoutBox);\n }\n roundBox(layoutBox);\n return {\n animationId: this.root.animationId,\n measuredBox: pageBox,\n layoutBox,\n latestValues: {},\n source: this.id,\n };\n }\n measurePageBox() {\n var _a;\n const { visualElement } = this.options;\n if (!visualElement)\n return createBox();\n const box = visualElement.measureViewportBox();\n const wasInScrollRoot = ((_a = this.scroll) === null || _a === void 0 ? void 0 : _a.wasRoot) || this.path.some(checkNodeWasScrollRoot);\n if (!wasInScrollRoot) {\n // Remove viewport scroll to give page-relative coordinates\n const { scroll } = this.root;\n if (scroll) {\n translateAxis(box.x, scroll.offset.x);\n translateAxis(box.y, scroll.offset.y);\n }\n }\n return box;\n }\n removeElementScroll(box) {\n var _a;\n const boxWithoutScroll = createBox();\n copyBoxInto(boxWithoutScroll, box);\n if ((_a = this.scroll) === null || _a === void 0 ? void 0 : _a.wasRoot) {\n return boxWithoutScroll;\n }\n /**\n * Performance TODO: Keep a cumulative scroll offset down the tree\n * rather than loop back up the path.\n */\n for (let i = 0; i < this.path.length; i++) {\n const node = this.path[i];\n const { scroll, options } = node;\n if (node !== this.root && scroll && options.layoutScroll) {\n /**\n * If this is a new scroll root, we want to remove all previous scrolls\n * from the viewport box.\n */\n if (scroll.wasRoot) {\n copyBoxInto(boxWithoutScroll, box);\n }\n translateAxis(boxWithoutScroll.x, scroll.offset.x);\n translateAxis(boxWithoutScroll.y, scroll.offset.y);\n }\n }\n return boxWithoutScroll;\n }\n applyTransform(box, transformOnly = false) {\n const withTransforms = createBox();\n copyBoxInto(withTransforms, box);\n for (let i = 0; i < this.path.length; i++) {\n const node = this.path[i];\n if (!transformOnly &&\n node.options.layoutScroll &&\n node.scroll &&\n node !== node.root) {\n transformBox(withTransforms, {\n x: -node.scroll.offset.x,\n y: -node.scroll.offset.y,\n });\n }\n if (!hasTransform(node.latestValues))\n continue;\n transformBox(withTransforms, node.latestValues);\n }\n if (hasTransform(this.latestValues)) {\n transformBox(withTransforms, this.latestValues);\n }\n return withTransforms;\n }\n removeTransform(box) {\n const boxWithoutTransform = createBox();\n copyBoxInto(boxWithoutTransform, box);\n for (let i = 0; i < this.path.length; i++) {\n const node = this.path[i];\n if (!node.instance)\n continue;\n if (!hasTransform(node.latestValues))\n continue;\n hasScale(node.latestValues) && node.updateSnapshot();\n const sourceBox = createBox();\n const nodeBox = node.measurePageBox();\n copyBoxInto(sourceBox, nodeBox);\n removeBoxTransforms(boxWithoutTransform, node.latestValues, node.snapshot ? node.snapshot.layoutBox : undefined, sourceBox);\n }\n if (hasTransform(this.latestValues)) {\n removeBoxTransforms(boxWithoutTransform, this.latestValues);\n }\n return boxWithoutTransform;\n }\n setTargetDelta(delta) {\n this.targetDelta = delta;\n this.root.scheduleUpdateProjection();\n this.isProjectionDirty = true;\n }\n setOptions(options) {\n this.options = {\n ...this.options,\n ...options,\n crossfade: options.crossfade !== undefined ? options.crossfade : true,\n };\n }\n clearMeasurements() {\n this.scroll = undefined;\n this.layout = undefined;\n this.snapshot = undefined;\n this.prevTransformTemplateValue = undefined;\n this.targetDelta = undefined;\n this.target = undefined;\n this.isLayoutDirty = false;\n }\n forceRelativeParentToResolveTarget() {\n if (!this.relativeParent)\n return;\n /**\n * If the parent target isn't up-to-date, force it to update.\n * This is an unfortunate de-optimisation as it means any updating relative\n * projection will cause all the relative parents to recalculate back\n * up the tree.\n */\n if (this.relativeParent.resolvedRelativeTargetAt !==\n frameData.timestamp) {\n this.relativeParent.resolveTargetDelta(true);\n }\n }\n resolveTargetDelta(forceRecalculation = false) {\n var _a;\n /**\n * Once the dirty status of nodes has been spread through the tree, we also\n * need to check if we have a shared node of a different depth that has itself\n * been dirtied.\n */\n const lead = this.getLead();\n this.isProjectionDirty || (this.isProjectionDirty = lead.isProjectionDirty);\n this.isTransformDirty || (this.isTransformDirty = lead.isTransformDirty);\n this.isSharedProjectionDirty || (this.isSharedProjectionDirty = lead.isSharedProjectionDirty);\n const isShared = Boolean(this.resumingFrom) || this !== lead;\n /**\n * We don't use transform for this step of processing so we don't\n * need to check whether any nodes have changed transform.\n */\n const canSkip = !(forceRecalculation ||\n (isShared && this.isSharedProjectionDirty) ||\n this.isProjectionDirty ||\n ((_a = this.parent) === null || _a === void 0 ? void 0 : _a.isProjectionDirty) ||\n this.attemptToResolveRelativeTarget ||\n this.root.updateBlockedByResize);\n if (canSkip)\n return;\n const { layout, layoutId } = this.options;\n /**\n * If we have no layout, we can't perform projection, so early return\n */\n if (!this.layout || !(layout || layoutId))\n return;\n this.resolvedRelativeTargetAt = frameData.timestamp;\n /**\n * If we don't have a targetDelta but do have a layout, we can attempt to resolve\n * a relativeParent. This will allow a component to perform scale correction\n * even if no animation has started.\n */\n if (!this.targetDelta && !this.relativeTarget) {\n const relativeParent = this.getClosestProjectingParent();\n if (relativeParent &&\n relativeParent.layout &&\n this.animationProgress !== 1) {\n this.relativeParent = relativeParent;\n this.forceRelativeParentToResolveTarget();\n this.relativeTarget = createBox();\n this.relativeTargetOrigin = createBox();\n calcRelativePosition(this.relativeTargetOrigin, this.layout.layoutBox, relativeParent.layout.layoutBox);\n copyBoxInto(this.relativeTarget, this.relativeTargetOrigin);\n }\n else {\n this.relativeParent = this.relativeTarget = undefined;\n }\n }\n /**\n * If we have no relative target or no target delta our target isn't valid\n * for this frame.\n */\n if (!this.relativeTarget && !this.targetDelta)\n return;\n /**\n * Lazy-init target data structure\n */\n if (!this.target) {\n this.target = createBox();\n this.targetWithTransforms = createBox();\n }\n /**\n * If we've got a relative box for this component, resolve it into a target relative to the parent.\n */\n if (this.relativeTarget &&\n this.relativeTargetOrigin &&\n this.relativeParent &&\n this.relativeParent.target) {\n this.forceRelativeParentToResolveTarget();\n calcRelativeBox(this.target, this.relativeTarget, this.relativeParent.target);\n /**\n * If we've only got a targetDelta, resolve it into a target\n */\n }\n else if (this.targetDelta) {\n if (Boolean(this.resumingFrom)) {\n // TODO: This is creating a new object every frame\n this.target = this.applyTransform(this.layout.layoutBox);\n }\n else {\n copyBoxInto(this.target, this.layout.layoutBox);\n }\n applyBoxDelta(this.target, this.targetDelta);\n }\n else {\n /**\n * If no target, use own layout as target\n */\n copyBoxInto(this.target, this.layout.layoutBox);\n }\n /**\n * If we've been told to attempt to resolve a relative target, do so.\n */\n if (this.attemptToResolveRelativeTarget) {\n this.attemptToResolveRelativeTarget = false;\n const relativeParent = this.getClosestProjectingParent();\n if (relativeParent &&\n Boolean(relativeParent.resumingFrom) ===\n Boolean(this.resumingFrom) &&\n !relativeParent.options.layoutScroll &&\n relativeParent.target &&\n this.animationProgress !== 1) {\n this.relativeParent = relativeParent;\n this.forceRelativeParentToResolveTarget();\n this.relativeTarget = createBox();\n this.relativeTargetOrigin = createBox();\n calcRelativePosition(this.relativeTargetOrigin, this.target, relativeParent.target);\n copyBoxInto(this.relativeTarget, this.relativeTargetOrigin);\n }\n else {\n this.relativeParent = this.relativeTarget = undefined;\n }\n }\n /**\n * Increase debug counter for resolved target deltas\n */\n if (isDebug) {\n metrics.resolvedTargetDeltas++;\n }\n }\n getClosestProjectingParent() {\n if (!this.parent ||\n hasScale(this.parent.latestValues) ||\n has2DTranslate(this.parent.latestValues)) {\n return undefined;\n }\n if (this.parent.isProjecting()) {\n return this.parent;\n }\n else {\n return this.parent.getClosestProjectingParent();\n }\n }\n isProjecting() {\n return Boolean((this.relativeTarget ||\n this.targetDelta ||\n this.options.layoutRoot) &&\n this.layout);\n }\n calcProjection() {\n var _a;\n const lead = this.getLead();\n const isShared = Boolean(this.resumingFrom) || this !== lead;\n let canSkip = true;\n /**\n * If this is a normal layout animation and neither this node nor its nearest projecting\n * is dirty then we can't skip.\n */\n if (this.isProjectionDirty || ((_a = this.parent) === null || _a === void 0 ? void 0 : _a.isProjectionDirty)) {\n canSkip = false;\n }\n /**\n * If this is a shared layout animation and this node's shared projection is dirty then\n * we can't skip.\n */\n if (isShared &&\n (this.isSharedProjectionDirty || this.isTransformDirty)) {\n canSkip = false;\n }\n /**\n * If we have resolved the target this frame we must recalculate the\n * projection to ensure it visually represents the internal calculations.\n */\n if (this.resolvedRelativeTargetAt === frameData.timestamp) {\n canSkip = false;\n }\n if (canSkip)\n return;\n const { layout, layoutId } = this.options;\n /**\n * If this section of the tree isn't animating we can\n * delete our target sources for the following frame.\n */\n this.isTreeAnimating = Boolean((this.parent && this.parent.isTreeAnimating) ||\n this.currentAnimation ||\n this.pendingAnimation);\n if (!this.isTreeAnimating) {\n this.targetDelta = this.relativeTarget = undefined;\n }\n if (!this.layout || !(layout || layoutId))\n return;\n /**\n * Reset the corrected box with the latest values from box, as we're then going\n * to perform mutative operations on it.\n */\n copyBoxInto(this.layoutCorrected, this.layout.layoutBox);\n /**\n * Record previous tree scales before updating.\n */\n const prevTreeScaleX = this.treeScale.x;\n const prevTreeScaleY = this.treeScale.y;\n /**\n * Apply all the parent deltas to this box to produce the corrected box. This\n * is the layout box, as it will appear on screen as a result of the transforms of its parents.\n */\n applyTreeDeltas(this.layoutCorrected, this.treeScale, this.path, isShared);\n /**\n * If this layer needs to perform scale correction but doesn't have a target,\n * use the layout as the target.\n */\n if (lead.layout &&\n !lead.target &&\n (this.treeScale.x !== 1 || this.treeScale.y !== 1)) {\n lead.target = lead.layout.layoutBox;\n lead.targetWithTransforms = createBox();\n }\n const { target } = lead;\n if (!target) {\n /**\n * If we don't have a target to project into, but we were previously\n * projecting, we want to remove the stored transform and schedule\n * a render to ensure the elements reflect the removed transform.\n */\n if (this.prevProjectionDelta) {\n this.createProjectionDeltas();\n this.scheduleRender();\n }\n return;\n }\n if (!this.projectionDelta || !this.prevProjectionDelta) {\n this.createProjectionDeltas();\n }\n else {\n copyAxisDeltaInto(this.prevProjectionDelta.x, this.projectionDelta.x);\n copyAxisDeltaInto(this.prevProjectionDelta.y, this.projectionDelta.y);\n }\n /**\n * Update the delta between the corrected box and the target box before user-set transforms were applied.\n * This will allow us to calculate the corrected borderRadius and boxShadow to compensate\n * for our layout reprojection, but still allow them to be scaled correctly by the user.\n * It might be that to simplify this we may want to accept that user-set scale is also corrected\n * and we wouldn't have to keep and calc both deltas, OR we could support a user setting\n * to allow people to choose whether these styles are corrected based on just the\n * layout reprojection or the final bounding box.\n */\n calcBoxDelta(this.projectionDelta, this.layoutCorrected, target, this.latestValues);\n if (this.treeScale.x !== prevTreeScaleX ||\n this.treeScale.y !== prevTreeScaleY ||\n !axisDeltaEquals(this.projectionDelta.x, this.prevProjectionDelta.x) ||\n !axisDeltaEquals(this.projectionDelta.y, this.prevProjectionDelta.y)) {\n this.hasProjected = true;\n this.scheduleRender();\n this.notifyListeners(\"projectionUpdate\", target);\n }\n /**\n * Increase debug counter for recalculated projections\n */\n if (isDebug) {\n metrics.recalculatedProjection++;\n }\n }\n hide() {\n this.isVisible = false;\n // TODO: Schedule render\n }\n show() {\n this.isVisible = true;\n // TODO: Schedule render\n }\n scheduleRender(notifyAll = true) {\n var _a;\n (_a = this.options.visualElement) === null || _a === void 0 ? void 0 : _a.scheduleRender();\n if (notifyAll) {\n const stack = this.getStack();\n stack && stack.scheduleRender();\n }\n if (this.resumingFrom && !this.resumingFrom.instance) {\n this.resumingFrom = undefined;\n }\n }\n createProjectionDeltas() {\n this.prevProjectionDelta = createDelta();\n this.projectionDelta = createDelta();\n this.projectionDeltaWithTransform = createDelta();\n }\n setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {\n const snapshot = this.snapshot;\n const snapshotLatestValues = snapshot\n ? snapshot.latestValues\n : {};\n const mixedValues = { ...this.latestValues };\n const targetDelta = createDelta();\n if (!this.relativeParent ||\n !this.relativeParent.options.layoutRoot) {\n this.relativeTarget = this.relativeTargetOrigin = undefined;\n }\n this.attemptToResolveRelativeTarget = !hasOnlyRelativeTargetChanged;\n const relativeLayout = createBox();\n const snapshotSource = snapshot ? snapshot.source : undefined;\n const layoutSource = this.layout ? this.layout.source : undefined;\n const isSharedLayoutAnimation = snapshotSource !== layoutSource;\n const stack = this.getStack();\n const isOnlyMember = !stack || stack.members.length <= 1;\n const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation &&\n !isOnlyMember &&\n this.options.crossfade === true &&\n !this.path.some(hasOpacityCrossfade));\n this.animationProgress = 0;\n let prevRelativeTarget;\n this.mixTargetDelta = (latest) => {\n const progress = latest / 1000;\n mixAxisDelta(targetDelta.x, delta.x, progress);\n mixAxisDelta(targetDelta.y, delta.y, progress);\n this.setTargetDelta(targetDelta);\n if (this.relativeTarget &&\n this.relativeTargetOrigin &&\n this.layout &&\n this.relativeParent &&\n this.relativeParent.layout) {\n calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox);\n mixBox(this.relativeTarget, this.relativeTargetOrigin, relativeLayout, progress);\n /**\n * If this is an unchanged relative target we can consider the\n * projection not dirty.\n */\n if (prevRelativeTarget &&\n boxEquals(this.relativeTarget, prevRelativeTarget)) {\n this.isProjectionDirty = false;\n }\n if (!prevRelativeTarget)\n prevRelativeTarget = createBox();\n copyBoxInto(prevRelativeTarget, this.relativeTarget);\n }\n if (isSharedLayoutAnimation) {\n this.animationValues = mixedValues;\n mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress, shouldCrossfadeOpacity, isOnlyMember);\n }\n this.root.scheduleUpdateProjection();\n this.scheduleRender();\n this.animationProgress = progress;\n };\n this.mixTargetDelta(this.options.layoutRoot ? 1000 : 0);\n }\n startAnimation(options) {\n this.notifyListeners(\"animationStart\");\n this.currentAnimation && this.currentAnimation.stop();\n if (this.resumingFrom && this.resumingFrom.currentAnimation) {\n this.resumingFrom.currentAnimation.stop();\n }\n if (this.pendingAnimation) {\n cancelFrame(this.pendingAnimation);\n this.pendingAnimation = undefined;\n }\n /**\n * Start the animation in the next frame to have a frame with progress 0,\n * where the target is the same as when the animation started, so we can\n * calculate the relative positions correctly for instant transitions.\n */\n this.pendingAnimation = frame.update(() => {\n globalProjectionState.hasAnimatedSinceResize = true;\n this.currentAnimation = animateSingleValue(0, animationTarget, {\n ...options,\n onUpdate: (latest) => {\n this.mixTargetDelta(latest);\n options.onUpdate && options.onUpdate(latest);\n },\n onComplete: () => {\n options.onComplete && options.onComplete();\n this.completeAnimation();\n },\n });\n if (this.resumingFrom) {\n this.resumingFrom.currentAnimation = this.currentAnimation;\n }\n this.pendingAnimation = undefined;\n });\n }\n completeAnimation() {\n if (this.resumingFrom) {\n this.resumingFrom.currentAnimation = undefined;\n this.resumingFrom.preserveOpacity = undefined;\n }\n const stack = this.getStack();\n stack && stack.exitAnimationComplete();\n this.resumingFrom =\n this.currentAnimation =\n this.animationValues =\n undefined;\n this.notifyListeners(\"animationComplete\");\n }\n finishAnimation() {\n if (this.currentAnimation) {\n this.mixTargetDelta && this.mixTargetDelta(animationTarget);\n this.currentAnimation.stop();\n }\n this.completeAnimation();\n }\n applyTransformsToTarget() {\n const lead = this.getLead();\n let { targetWithTransforms, target, layout, latestValues } = lead;\n if (!targetWithTransforms || !target || !layout)\n return;\n /**\n * If we're only animating position, and this element isn't the lead element,\n * then instead of projecting into the lead box we instead want to calculate\n * a new target that aligns the two boxes but maintains the layout shape.\n */\n if (this !== lead &&\n this.layout &&\n layout &&\n shouldAnimatePositionOnly(this.options.animationType, this.layout.layoutBox, layout.layoutBox)) {\n target = this.target || createBox();\n const xLength = calcLength(this.layout.layoutBox.x);\n target.x.min = lead.target.x.min;\n target.x.max = target.x.min + xLength;\n const yLength = calcLength(this.layout.layoutBox.y);\n target.y.min = lead.target.y.min;\n target.y.max = target.y.min + yLength;\n }\n copyBoxInto(targetWithTransforms, target);\n /**\n * Apply the latest user-set transforms to the targetBox to produce the targetBoxFinal.\n * This is the final box that we will then project into by calculating a transform delta and\n * applying it to the corrected box.\n */\n transformBox(targetWithTransforms, latestValues);\n /**\n * Update the delta between the corrected box and the final target box, after\n * user-set transforms are applied to it. This will be used by the renderer to\n * create a transform style that will reproject the element from its layout layout\n * into the desired bounding box.\n */\n calcBoxDelta(this.projectionDeltaWithTransform, this.layoutCorrected, targetWithTransforms, latestValues);\n }\n registerSharedNode(layoutId, node) {\n if (!this.sharedNodes.has(layoutId)) {\n this.sharedNodes.set(layoutId, new NodeStack());\n }\n const stack = this.sharedNodes.get(layoutId);\n stack.add(node);\n const config = node.options.initialPromotionConfig;\n node.promote({\n transition: config ? config.transition : undefined,\n preserveFollowOpacity: config && config.shouldPreserveFollowOpacity\n ? config.shouldPreserveFollowOpacity(node)\n : undefined,\n });\n }\n isLead() {\n const stack = this.getStack();\n return stack ? stack.lead === this : true;\n }\n getLead() {\n var _a;\n const { layoutId } = this.options;\n return layoutId ? ((_a = this.getStack()) === null || _a === void 0 ? void 0 : _a.lead) || this : this;\n }\n getPrevLead() {\n var _a;\n const { layoutId } = this.options;\n return layoutId ? (_a = this.getStack()) === null || _a === void 0 ? void 0 : _a.prevLead : undefined;\n }\n getStack() {\n const { layoutId } = this.options;\n if (layoutId)\n return this.root.sharedNodes.get(layoutId);\n }\n promote({ needsReset, transition, preserveFollowOpacity, } = {}) {\n const stack = this.getStack();\n if (stack)\n stack.promote(this, preserveFollowOpacity);\n if (needsReset) {\n this.projectionDelta = undefined;\n this.needsReset = true;\n }\n if (transition)\n this.setOptions({ transition });\n }\n relegate() {\n const stack = this.getStack();\n if (stack) {\n return stack.relegate(this);\n }\n else {\n return false;\n }\n }\n resetSkewAndRotation() {\n const { visualElement } = this.options;\n if (!visualElement)\n return;\n // If there's no detected skew or rotation values, we can early return without a forced render.\n let hasDistortingTransform = false;\n /**\n * An unrolled check for rotation values. Most elements don't have any rotation and\n * skipping the nested loop and new object creation is 50% faster.\n */\n const { latestValues } = visualElement;\n if (latestValues.z ||\n latestValues.rotate ||\n latestValues.rotateX ||\n latestValues.rotateY ||\n latestValues.rotateZ ||\n latestValues.skewX ||\n latestValues.skewY) {\n hasDistortingTransform = true;\n }\n // If there's no distorting values, we don't need to do any more.\n if (!hasDistortingTransform)\n return;\n const resetValues = {};\n if (latestValues.z) {\n resetDistortingTransform(\"z\", visualElement, resetValues, this.animationValues);\n }\n // Check the skew and rotate value of all axes and reset to 0\n for (let i = 0; i < transformAxes.length; i++) {\n resetDistortingTransform(`rotate${transformAxes[i]}`, visualElement, resetValues, this.animationValues);\n resetDistortingTransform(`skew${transformAxes[i]}`, visualElement, resetValues, this.animationValues);\n }\n // Force a render of this element to apply the transform with all skews and rotations\n // set to 0.\n visualElement.render();\n // Put back all the values we reset\n for (const key in resetValues) {\n visualElement.setStaticValue(key, resetValues[key]);\n if (this.animationValues) {\n this.animationValues[key] = resetValues[key];\n }\n }\n // Schedule a render for the next frame. This ensures we won't visually\n // see the element with the reset rotate value applied.\n visualElement.scheduleRender();\n }\n getProjectionStyles(styleProp) {\n var _a, _b;\n if (!this.instance || this.isSVG)\n return undefined;\n if (!this.isVisible) {\n return hiddenVisibility;\n }\n const styles = {\n visibility: \"\",\n };\n const transformTemplate = this.getTransformTemplate();\n if (this.needsReset) {\n this.needsReset = false;\n styles.opacity = \"\";\n styles.pointerEvents =\n resolveMotionValue(styleProp === null || styleProp === void 0 ? void 0 : styleProp.pointerEvents) || \"\";\n styles.transform = transformTemplate\n ? transformTemplate(this.latestValues, \"\")\n : \"none\";\n return styles;\n }\n const lead = this.getLead();\n if (!this.projectionDelta || !this.layout || !lead.target) {\n const emptyStyles = {};\n if (this.options.layoutId) {\n emptyStyles.opacity =\n this.latestValues.opacity !== undefined\n ? this.latestValues.opacity\n : 1;\n emptyStyles.pointerEvents =\n resolveMotionValue(styleProp === null || styleProp === void 0 ? void 0 : styleProp.pointerEvents) || \"\";\n }\n if (this.hasProjected && !hasTransform(this.latestValues)) {\n emptyStyles.transform = transformTemplate\n ? transformTemplate({}, \"\")\n : \"none\";\n this.hasProjected = false;\n }\n return emptyStyles;\n }\n const valuesToRender = lead.animationValues || lead.latestValues;\n this.applyTransformsToTarget();\n styles.transform = buildProjectionTransform(this.projectionDeltaWithTransform, this.treeScale, valuesToRender);\n if (transformTemplate) {\n styles.transform = transformTemplate(valuesToRender, styles.transform);\n }\n const { x, y } = this.projectionDelta;\n styles.transformOrigin = `${x.origin * 100}% ${y.origin * 100}% 0`;\n if (lead.animationValues) {\n /**\n * If the lead component is animating, assign this either the entering/leaving\n * opacity\n */\n styles.opacity =\n lead === this\n ? (_b = (_a = valuesToRender.opacity) !== null && _a !== void 0 ? _a : this.latestValues.opacity) !== null && _b !== void 0 ? _b : 1\n : this.preserveOpacity\n ? this.latestValues.opacity\n : valuesToRender.opacityExit;\n }\n else {\n /**\n * Or we're not animating at all, set the lead component to its layout\n * opacity and other components to hidden.\n */\n styles.opacity =\n lead === this\n ? valuesToRender.opacity !== undefined\n ? valuesToRender.opacity\n : \"\"\n : valuesToRender.opacityExit !== undefined\n ? valuesToRender.opacityExit\n : 0;\n }\n /**\n * Apply scale correction\n */\n for (const key in scaleCorrectors) {\n if (valuesToRender[key] === undefined)\n continue;\n const { correct, applyTo } = scaleCorrectors[key];\n /**\n * Only apply scale correction to the value if we have an\n * active projection transform. Otherwise these values become\n * vulnerable to distortion if the element changes size without\n * a corresponding layout animation.\n */\n const corrected = styles.transform === \"none\"\n ? valuesToRender[key]\n : correct(valuesToRender[key], lead);\n if (applyTo) {\n const num = applyTo.length;\n for (let i = 0; i < num; i++) {\n styles[applyTo[i]] = corrected;\n }\n }\n else {\n styles[key] = corrected;\n }\n }\n /**\n * Disable pointer events on follow components. This is to ensure\n * that if a follow component covers a lead component it doesn't block\n * pointer events on the lead.\n */\n if (this.options.layoutId) {\n styles.pointerEvents =\n lead === this\n ? resolveMotionValue(styleProp === null || styleProp === void 0 ? void 0 : styleProp.pointerEvents) || \"\"\n : \"none\";\n }\n return styles;\n }\n clearSnapshot() {\n this.resumeFrom = this.snapshot = undefined;\n }\n // Only run on root\n resetTree() {\n this.root.nodes.forEach((node) => { var _a; return (_a = node.currentAnimation) === null || _a === void 0 ? void 0 : _a.stop(); });\n this.root.nodes.forEach(clearMeasurements);\n this.root.sharedNodes.clear();\n }\n };\n}\nfunction updateLayout(node) {\n node.updateLayout();\n}\nfunction notifyLayoutUpdate(node) {\n var _a;\n const snapshot = ((_a = node.resumeFrom) === null || _a === void 0 ? void 0 : _a.snapshot) || node.snapshot;\n if (node.isLead() &&\n node.layout &&\n snapshot &&\n node.hasListeners(\"didUpdate\")) {\n const { layoutBox: layout, measuredBox: measuredLayout } = node.layout;\n const { animationType } = node.options;\n const isShared = snapshot.source !== node.layout.source;\n // TODO Maybe we want to also resize the layout snapshot so we don't trigger\n // animations for instance if layout=\"size\" and an element has only changed position\n if (animationType === \"size\") {\n eachAxis((axis) => {\n const axisSnapshot = isShared\n ? snapshot.measuredBox[axis]\n : snapshot.layoutBox[axis];\n const length = calcLength(axisSnapshot);\n axisSnapshot.min = layout[axis].min;\n axisSnapshot.max = axisSnapshot.min + length;\n });\n }\n else if (shouldAnimatePositionOnly(animationType, snapshot.layoutBox, layout)) {\n eachAxis((axis) => {\n const axisSnapshot = isShared\n ? snapshot.measuredBox[axis]\n : snapshot.layoutBox[axis];\n const length = calcLength(layout[axis]);\n axisSnapshot.max = axisSnapshot.min + length;\n /**\n * Ensure relative target gets resized and rerendererd\n */\n if (node.relativeTarget && !node.currentAnimation) {\n node.isProjectionDirty = true;\n node.relativeTarget[axis].max =\n node.relativeTarget[axis].min + length;\n }\n });\n }\n const layoutDelta = createDelta();\n calcBoxDelta(layoutDelta, layout, snapshot.layoutBox);\n const visualDelta = createDelta();\n if (isShared) {\n calcBoxDelta(visualDelta, node.applyTransform(measuredLayout, true), snapshot.measuredBox);\n }\n else {\n calcBoxDelta(visualDelta, layout, snapshot.layoutBox);\n }\n const hasLayoutChanged = !isDeltaZero(layoutDelta);\n let hasRelativeTargetChanged = false;\n if (!node.resumeFrom) {\n const relativeParent = node.getClosestProjectingParent();\n /**\n * If the relativeParent is itself resuming from a different element then\n * the relative snapshot is not relavent\n */\n if (relativeParent && !relativeParent.resumeFrom) {\n const { snapshot: parentSnapshot, layout: parentLayout } = relativeParent;\n if (parentSnapshot && parentLayout) {\n const relativeSnapshot = createBox();\n calcRelativePosition(relativeSnapshot, snapshot.layoutBox, parentSnapshot.layoutBox);\n const relativeLayout = createBox();\n calcRelativePosition(relativeLayout, layout, parentLayout.layoutBox);\n if (!boxEqualsRounded(relativeSnapshot, relativeLayout)) {\n hasRelativeTargetChanged = true;\n }\n if (relativeParent.options.layoutRoot) {\n node.relativeTarget = relativeLayout;\n node.relativeTargetOrigin = relativeSnapshot;\n node.relativeParent = relativeParent;\n }\n }\n }\n }\n node.notifyListeners(\"didUpdate\", {\n layout,\n snapshot,\n delta: visualDelta,\n layoutDelta,\n hasLayoutChanged,\n hasRelativeTargetChanged,\n });\n }\n else if (node.isLead()) {\n const { onExitComplete } = node.options;\n onExitComplete && onExitComplete();\n }\n /**\n * Clearing transition\n * TODO: Investigate why this transition is being passed in as {type: false } from Framer\n * and why we need it at all\n */\n node.options.transition = undefined;\n}\nfunction propagateDirtyNodes(node) {\n /**\n * Increase debug counter for nodes encountered this frame\n */\n if (isDebug) {\n metrics.totalNodes++;\n }\n if (!node.parent)\n return;\n /**\n * If this node isn't projecting, propagate isProjectionDirty. It will have\n * no performance impact but it will allow the next child that *is* projecting\n * but *isn't* dirty to just check its parent to see if *any* ancestor needs\n * correcting.\n */\n if (!node.isProjecting()) {\n node.isProjectionDirty = node.parent.isProjectionDirty;\n }\n /**\n * Propagate isSharedProjectionDirty and isTransformDirty\n * throughout the whole tree. A future revision can take another look at\n * this but for safety we still recalcualte shared nodes.\n */\n node.isSharedProjectionDirty || (node.isSharedProjectionDirty = Boolean(node.isProjectionDirty ||\n node.parent.isProjectionDirty ||\n node.parent.isSharedProjectionDirty));\n node.isTransformDirty || (node.isTransformDirty = node.parent.isTransformDirty);\n}\nfunction cleanDirtyNodes(node) {\n node.isProjectionDirty =\n node.isSharedProjectionDirty =\n node.isTransformDirty =\n false;\n}\nfunction clearSnapshot(node) {\n node.clearSnapshot();\n}\nfunction clearMeasurements(node) {\n node.clearMeasurements();\n}\nfunction clearIsLayoutDirty(node) {\n node.isLayoutDirty = false;\n}\nfunction resetTransformStyle(node) {\n const { visualElement } = node.options;\n if (visualElement && visualElement.getProps().onBeforeLayoutMeasure) {\n visualElement.notify(\"BeforeLayoutMeasure\");\n }\n node.resetTransform();\n}\nfunction finishAnimation(node) {\n node.finishAnimation();\n node.targetDelta = node.relativeTarget = node.target = undefined;\n node.isProjectionDirty = true;\n}\nfunction resolveTargetDelta(node) {\n node.resolveTargetDelta();\n}\nfunction calcProjection(node) {\n node.calcProjection();\n}\nfunction resetSkewAndRotation(node) {\n node.resetSkewAndRotation();\n}\nfunction removeLeadSnapshots(stack) {\n stack.removeLeadSnapshot();\n}\nfunction mixAxisDelta(output, delta, p) {\n output.translate = mixNumber(delta.translate, 0, p);\n output.scale = mixNumber(delta.scale, 1, p);\n output.origin = delta.origin;\n output.originPoint = delta.originPoint;\n}\nfunction mixAxis(output, from, to, p) {\n output.min = mixNumber(from.min, to.min, p);\n output.max = mixNumber(from.max, to.max, p);\n}\nfunction mixBox(output, from, to, p) {\n mixAxis(output.x, from.x, to.x, p);\n mixAxis(output.y, from.y, to.y, p);\n}\nfunction hasOpacityCrossfade(node) {\n return (node.animationValues && node.animationValues.opacityExit !== undefined);\n}\nconst defaultLayoutTransition = {\n duration: 0.45,\n ease: [0.4, 0, 0.1, 1],\n};\nconst userAgentContains = (string) => typeof navigator !== \"undefined\" &&\n navigator.userAgent &&\n navigator.userAgent.toLowerCase().includes(string);\n/**\n * Measured bounding boxes must be rounded in Safari and\n * left untouched in Chrome, otherwise non-integer layouts within scaled-up elements\n * can appear to jump.\n */\nconst roundPoint = userAgentContains(\"applewebkit/\") && !userAgentContains(\"chrome/\")\n ? Math.round\n : noop;\nfunction roundAxis(axis) {\n // Round to the nearest .5 pixels to support subpixel layouts\n axis.min = roundPoint(axis.min);\n axis.max = roundPoint(axis.max);\n}\nfunction roundBox(box) {\n roundAxis(box.x);\n roundAxis(box.y);\n}\nfunction shouldAnimatePositionOnly(animationType, snapshot, layout) {\n return (animationType === \"position\" ||\n (animationType === \"preserve-aspect\" &&\n !isNear(aspectRatio(snapshot), aspectRatio(layout), 0.2)));\n}\nfunction checkNodeWasScrollRoot(node) {\n var _a;\n return node !== node.root && ((_a = node.scroll) === null || _a === void 0 ? void 0 : _a.wasRoot);\n}\n\nexport { cleanDirtyNodes, createProjectionNode, mixAxis, mixAxisDelta, mixBox, propagateDirtyNodes };\n","import { createProjectionNode } from './create-projection-node.mjs';\nimport { addDomEvent } from '../../events/add-dom-event.mjs';\n\nconst DocumentProjectionNode = createProjectionNode({\n attachResizeListener: (ref, notify) => addDomEvent(ref, \"resize\", notify),\n measureScroll: () => ({\n x: document.documentElement.scrollLeft || document.body.scrollLeft,\n y: document.documentElement.scrollTop || document.body.scrollTop,\n }),\n checkIsScrollRoot: () => true,\n});\n\nexport { DocumentProjectionNode };\n","import { createProjectionNode } from './create-projection-node.mjs';\nimport { DocumentProjectionNode } from './DocumentProjectionNode.mjs';\n\nconst rootProjectionNode = {\n current: undefined,\n};\nconst HTMLProjectionNode = createProjectionNode({\n measureScroll: (instance) => ({\n x: instance.scrollLeft,\n y: instance.scrollTop,\n }),\n defaultParent: () => {\n if (!rootProjectionNode.current) {\n const documentNode = new DocumentProjectionNode({});\n documentNode.mount(window);\n documentNode.setOptions({ layoutScroll: true });\n rootProjectionNode.current = documentNode;\n }\n return rootProjectionNode.current;\n },\n resetTransform: (instance, value) => {\n instance.style.transform = value !== undefined ? value : \"none\";\n },\n checkIsScrollRoot: (instance) => Boolean(window.getComputedStyle(instance).position === \"fixed\"),\n});\n\nexport { HTMLProjectionNode, rootProjectionNode };\n","import { DragGesture } from '../../gestures/drag/index.mjs';\nimport { PanGesture } from '../../gestures/pan/index.mjs';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\nimport { HTMLProjectionNode } from '../../projection/node/HTMLProjectionNode.mjs';\n\nconst drag = {\n pan: {\n Feature: PanGesture,\n },\n drag: {\n Feature: DragGesture,\n ProjectionNode: HTMLProjectionNode,\n MeasureLayout,\n },\n};\n\nexport { drag };\n","import { HTMLProjectionNode } from '../../projection/node/HTMLProjectionNode.mjs';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\n\nconst layout = {\n layout: {\n ProjectionNode: HTMLProjectionNode,\n MeasureLayout,\n },\n};\n\nexport { layout };\n","import { drag } from '../../motion/features/drag.mjs';\nimport { layout } from '../../motion/features/layout.mjs';\nimport { domAnimation } from './features-animation.mjs';\n\n/**\n * @public\n */\nconst domMax = {\n ...domAnimation,\n ...drag,\n ...layout,\n};\n\nexport { domMax };\n","// src/index.ts\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nfunction useIsMounted(props = {}) {\n const { rerender = false, delay = 0 } = props;\n const isMountedRef = useRef(false);\n const [isMounted, setIsMounted] = useState(false);\n useEffect(() => {\n isMountedRef.current = true;\n let timer = null;\n if (rerender) {\n if (delay > 0) {\n timer = setTimeout(() => {\n setIsMounted(true);\n }, delay);\n } else {\n setIsMounted(true);\n }\n }\n return () => {\n isMountedRef.current = false;\n if (rerender) {\n setIsMounted(false);\n }\n if (timer) {\n clearTimeout(timer);\n }\n };\n }, [rerender]);\n return [useCallback(() => isMountedRef.current, []), isMounted];\n}\nexport {\n useIsMounted\n};\n","\"use client\";\n\n// src/tab.tsx\nimport { forwardRef } from \"@heroui/system\";\nimport { useDOMRef, filterDOMProps, mergeRefs } from \"@heroui/react-utils\";\nimport { clsx, dataAttr } from \"@heroui/shared-utils\";\nimport { chain, mergeProps } from \"@react-aria/utils\";\nimport scrollIntoView from \"scroll-into-view-if-needed\";\nimport { useFocusRing } from \"@react-aria/focus\";\nimport { useTab } from \"@react-aria/tabs\";\nimport { useHover } from \"@react-aria/interactions\";\nimport { m, domMax, LazyMotion } from \"framer-motion\";\nimport { useIsMounted } from \"@heroui/use-is-mounted\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar Tab = forwardRef((props, ref) => {\n var _a;\n const {\n className,\n as,\n item,\n state,\n classNames,\n isDisabled: isDisabledProp,\n listRef,\n slots,\n motionProps,\n disableAnimation,\n disableCursorAnimation,\n shouldSelectOnPressUp,\n onClick,\n tabRef,\n ...otherProps\n } = props;\n const { key } = item;\n const domRef = useDOMRef(ref);\n const Component = as || (props.href ? \"a\" : \"button\");\n const shouldFilterDOMProps = typeof Component === \"string\";\n const {\n tabProps,\n isSelected,\n isDisabled: isDisabledItem,\n isPressed\n } = useTab({ key, isDisabled: isDisabledProp, shouldSelectOnPressUp }, state, domRef);\n if (props.children == null) {\n delete tabProps[\"aria-controls\"];\n }\n const isDisabled = isDisabledProp || isDisabledItem;\n const { focusProps, isFocused, isFocusVisible } = useFocusRing();\n const { hoverProps, isHovered } = useHover({\n isDisabled\n });\n const tabStyles = clsx(classNames == null ? void 0 : classNames.tab, className);\n const [, isMounted] = useIsMounted({\n rerender: true\n });\n const handleClick = () => {\n chain(onClick, tabProps.onClick);\n if (!(domRef == null ? void 0 : domRef.current) || !(listRef == null ? void 0 : listRef.current)) return;\n scrollIntoView(domRef.current, {\n scrollMode: \"if-needed\",\n behavior: \"smooth\",\n block: \"end\",\n inline: \"end\",\n boundary: listRef == null ? void 0 : listRef.current\n });\n };\n return /* @__PURE__ */ jsxs(\n Component,\n {\n ref: mergeRefs(domRef, tabRef),\n \"data-disabled\": dataAttr(isDisabledItem),\n \"data-focus\": dataAttr(isFocused),\n \"data-focus-visible\": dataAttr(isFocusVisible),\n \"data-hover\": dataAttr(isHovered),\n \"data-hover-unselected\": dataAttr((isHovered || isPressed) && !isSelected),\n \"data-pressed\": dataAttr(isPressed),\n \"data-selected\": dataAttr(isSelected),\n \"data-slot\": \"tab\",\n ...mergeProps(\n tabProps,\n !isDisabled ? {\n ...focusProps,\n ...hoverProps\n } : {},\n filterDOMProps(otherProps, {\n enabled: shouldFilterDOMProps,\n omitPropNames: /* @__PURE__ */ new Set([\"title\"])\n }),\n { onClick: handleClick }\n ),\n className: (_a = slots.tab) == null ? void 0 : _a.call(slots, { class: tabStyles }),\n title: otherProps == null ? void 0 : otherProps.titleValue,\n type: Component === \"button\" ? \"button\" : void 0,\n children: [\n isSelected && !disableAnimation && !disableCursorAnimation && isMounted ? (\n // use synchronous loading for domMax here\n // since lazy loading produces different behaviour\n /* @__PURE__ */ jsx(LazyMotion, { features: domMax, children: /* @__PURE__ */ jsx(\n m.span,\n {\n className: slots.cursor({ class: classNames == null ? void 0 : classNames.cursor }),\n \"data-slot\": \"cursor\",\n layoutDependency: false,\n layoutId: \"cursor\",\n transition: {\n type: \"spring\",\n bounce: 0.15,\n duration: 0.5\n },\n ...motionProps\n }\n ) })\n ) : null,\n /* @__PURE__ */ jsx(\n \"div\",\n {\n className: slots.tabContent({\n class: classNames == null ? void 0 : classNames.tabContent\n }),\n \"data-slot\": \"tabContent\",\n children: item.rendered\n }\n )\n ]\n }\n );\n});\nTab.displayName = \"HeroUI.Tab\";\nvar tab_default = Tab;\n\nexport {\n tab_default\n};\n","import {\n colorVariants\n} from \"./chunk-GQT3YUX3.mjs\";\nimport {\n tv\n} from \"./chunk-UWE6H66T.mjs\";\nimport {\n dataFocusVisibleClasses\n} from \"./chunk-CNTMWM4F.mjs\";\n\n// src/components/tabs.ts\nvar tabs = tv({\n slots: {\n base: \"inline-flex\",\n tabList: [\n \"flex\",\n \"p-1\",\n \"h-fit\",\n \"gap-2\",\n \"items-center\",\n \"flex-nowrap\",\n \"overflow-x-scroll\",\n \"scrollbar-hide\",\n \"bg-default-100\"\n ],\n tab: [\n \"z-0\",\n \"w-full\",\n \"px-3\",\n \"py-1\",\n \"flex\",\n \"group\",\n \"relative\",\n \"justify-center\",\n \"items-center\",\n \"outline-none\",\n \"cursor-pointer\",\n \"transition-opacity\",\n \"tap-highlight-transparent\",\n \"data-[disabled=true]:cursor-not-allowed\",\n \"data-[disabled=true]:opacity-30\",\n \"data-[hover-unselected=true]:opacity-disabled\",\n // focus ring\n ...dataFocusVisibleClasses\n ],\n tabContent: [\n \"relative\",\n \"z-10\",\n \"text-inherit\",\n \"whitespace-nowrap\",\n \"transition-colors\",\n \"text-default-500\",\n \"group-data-[selected=true]:text-foreground\"\n ],\n cursor: [\"absolute\", \"z-0\", \"bg-white\"],\n panel: [\n \"py-3\",\n \"px-1\",\n \"outline-none\",\n \"data-[inert=true]:hidden\",\n // focus ring\n ...dataFocusVisibleClasses\n ],\n tabWrapper: []\n },\n variants: {\n variant: {\n solid: {\n cursor: \"inset-0\"\n },\n light: {\n tabList: \"bg-transparent dark:bg-transparent\",\n cursor: \"inset-0\"\n },\n underlined: {\n tabList: \"bg-transparent dark:bg-transparent\",\n cursor: \"h-[2px] w-[80%] bottom-0 shadow-[0_1px_0px_0_rgba(0,0,0,0.05)]\"\n },\n bordered: {\n tabList: \"bg-transparent dark:bg-transparent border-medium border-default-200 shadow-sm\",\n cursor: \"inset-0\"\n }\n },\n color: {\n default: {},\n primary: {},\n secondary: {},\n success: {},\n warning: {},\n danger: {}\n },\n size: {\n sm: {\n tabList: \"rounded-medium\",\n tab: \"h-7 text-tiny rounded-small\",\n cursor: \"rounded-small\"\n },\n md: {\n tabList: \"rounded-medium\",\n tab: \"h-8 text-small rounded-small\",\n cursor: \"rounded-small\"\n },\n lg: {\n tabList: \"rounded-large\",\n tab: \"h-9 text-medium rounded-medium\",\n cursor: \"rounded-medium\"\n }\n },\n radius: {\n none: {\n tabList: \"rounded-none\",\n tab: \"rounded-none\",\n cursor: \"rounded-none\"\n },\n sm: {\n tabList: \"rounded-medium\",\n tab: \"rounded-small\",\n cursor: \"rounded-small\"\n },\n md: {\n tabList: \"rounded-medium\",\n tab: \"rounded-small\",\n cursor: \"rounded-small\"\n },\n lg: {\n tabList: \"rounded-large\",\n tab: \"rounded-medium\",\n cursor: \"rounded-medium\"\n },\n full: {\n tabList: \"rounded-full\",\n tab: \"rounded-full\",\n cursor: \"rounded-full\"\n }\n },\n fullWidth: {\n true: {\n base: \"w-full\",\n tabList: \"w-full\"\n }\n },\n isDisabled: {\n true: {\n tabList: \"opacity-disabled pointer-events-none\"\n }\n },\n disableAnimation: {\n true: {\n tab: \"transition-none\",\n tabContent: \"transition-none\"\n }\n },\n placement: {\n top: {},\n start: {\n tabList: \"flex-col\",\n panel: \"py-0 px-3\",\n tabWrapper: \"flex\"\n },\n end: {\n tabList: \"flex-col\",\n panel: \"py-0 px-3\",\n tabWrapper: \"flex flex-row-reverse\"\n },\n bottom: {\n tabWrapper: \"flex flex-col-reverse\"\n }\n }\n },\n defaultVariants: {\n color: \"default\",\n variant: \"solid\",\n size: \"md\",\n fullWidth: false,\n isDisabled: false\n },\n compoundVariants: [\n /**\n * Variants & Colors\n */\n // solid + bordered + light && color\n {\n variant: [\"solid\", \"bordered\", \"light\"],\n color: \"default\",\n class: {\n cursor: [\"bg-background\", \"dark:bg-default\", \"shadow-small\"],\n tabContent: \"group-data-[selected=true]:text-default-foreground\"\n }\n },\n {\n variant: [\"solid\", \"bordered\", \"light\"],\n color: \"primary\",\n class: {\n cursor: colorVariants.solid.primary,\n tabContent: \"group-data-[selected=true]:text-primary-foreground\"\n }\n },\n {\n variant: [\"solid\", \"bordered\", \"light\"],\n color: \"secondary\",\n class: {\n cursor: colorVariants.solid.secondary,\n tabContent: \"group-data-[selected=true]:text-secondary-foreground\"\n }\n },\n {\n variant: [\"solid\", \"bordered\", \"light\"],\n color: \"success\",\n class: {\n cursor: colorVariants.solid.success,\n tabContent: \"group-data-[selected=true]:text-success-foreground\"\n }\n },\n {\n variant: [\"solid\", \"bordered\", \"light\"],\n color: \"warning\",\n class: {\n cursor: colorVariants.solid.warning,\n tabContent: \"group-data-[selected=true]:text-warning-foreground\"\n }\n },\n {\n variant: [\"solid\", \"bordered\", \"light\"],\n color: \"danger\",\n class: {\n cursor: colorVariants.solid.danger,\n tabContent: \"group-data-[selected=true]:text-danger-foreground\"\n }\n },\n // underlined && color\n {\n variant: \"underlined\",\n color: \"default\",\n class: {\n cursor: \"bg-foreground\",\n tabContent: \"group-data-[selected=true]:text-foreground\"\n }\n },\n {\n variant: \"underlined\",\n color: \"primary\",\n class: {\n cursor: \"bg-primary\",\n tabContent: \"group-data-[selected=true]:text-primary\"\n }\n },\n {\n variant: \"underlined\",\n color: \"secondary\",\n class: {\n cursor: \"bg-secondary\",\n tabContent: \"group-data-[selected=true]:text-secondary\"\n }\n },\n {\n variant: \"underlined\",\n color: \"success\",\n class: {\n cursor: \"bg-success\",\n tabContent: \"group-data-[selected=true]:text-success\"\n }\n },\n {\n variant: \"underlined\",\n color: \"warning\",\n class: {\n cursor: \"bg-warning\",\n tabContent: \"group-data-[selected=true]:text-warning\"\n }\n },\n {\n variant: \"underlined\",\n color: \"danger\",\n class: {\n cursor: \"bg-danger\",\n tabContent: \"group-data-[selected=true]:text-danger\"\n }\n },\n /**\n * Disable animation & Variants & Colors\n */\n // disabledAnimation && underlined\n {\n disableAnimation: true,\n variant: \"underlined\",\n class: {\n tab: [\n \"after:content-['']\",\n \"after:absolute\",\n \"after:bottom-0\",\n \"after:h-[2px]\",\n \"after:w-[80%]\",\n \"after:opacity-0\",\n \"after:shadow-[0_1px_0px_0_rgba(0,0,0,0.05)]\",\n \"data-[selected=true]:after:opacity-100\"\n ]\n }\n },\n // disableAnimation && color && solid/bordered\n {\n disableAnimation: true,\n color: \"default\",\n variant: [\"solid\", \"bordered\", \"light\"],\n class: {\n tab: \"data-[selected=true]:bg-default data-[selected=true]:text-default-foreground\"\n }\n },\n {\n disableAnimation: true,\n color: \"primary\",\n variant: [\"solid\", \"bordered\", \"light\"],\n class: {\n tab: \"data-[selected=true]:bg-primary data-[selected=true]:text-primary-foreground\"\n }\n },\n {\n disableAnimation: true,\n color: \"secondary\",\n variant: [\"solid\", \"bordered\", \"light\"],\n class: {\n tab: \"data-[selected=true]:bg-secondary data-[selected=true]:text-secondary-foreground\"\n }\n },\n {\n disableAnimation: true,\n color: \"success\",\n variant: [\"solid\", \"bordered\", \"light\"],\n class: {\n tab: \"data-[selected=true]:bg-success data-[selected=true]:text-success-foreground\"\n }\n },\n {\n disableAnimation: true,\n color: \"warning\",\n variant: [\"solid\", \"bordered\", \"light\"],\n class: {\n tab: \"data-[selected=true]:bg-warning data-[selected=true]:text-warning-foreground\"\n }\n },\n {\n disableAnimation: true,\n color: \"danger\",\n variant: [\"solid\", \"bordered\", \"light\"],\n class: {\n tab: \"data-[selected=true]:bg-danger data-[selected=true]:text-danger-foreground\"\n }\n },\n // disableAnimation && color && underlined\n {\n disableAnimation: true,\n color: \"default\",\n variant: \"underlined\",\n class: {\n tab: \"data-[selected=true]:after:bg-foreground\"\n }\n },\n {\n disableAnimation: true,\n color: \"primary\",\n variant: \"underlined\",\n class: {\n tab: \"data-[selected=true]:after:bg-primary\"\n }\n },\n {\n disableAnimation: true,\n color: \"secondary\",\n variant: \"underlined\",\n class: {\n tab: \"data-[selected=true]:after:bg-secondary\"\n }\n },\n {\n disableAnimation: true,\n color: \"success\",\n variant: \"underlined\",\n class: {\n tab: \"data-[selected=true]:after:bg-success\"\n }\n },\n {\n disableAnimation: true,\n color: \"warning\",\n variant: \"underlined\",\n class: {\n tab: \"data-[selected=true]:after:bg-warning\"\n }\n },\n {\n disableAnimation: true,\n color: \"danger\",\n variant: \"underlined\",\n class: {\n tab: \"data-[selected=true]:after:bg-danger\"\n }\n }\n ],\n compoundSlots: [\n {\n variant: \"underlined\",\n slots: [\"tab\", \"tabList\", \"cursor\"],\n class: [\"rounded-none\"]\n }\n ]\n});\n\nexport {\n tabs\n};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $a02d57049d202695$export$d085fb9e920b5ca7 {\n *[Symbol.iterator]() {\n yield* this.iterable;\n }\n get size() {\n return this.keyMap.size;\n }\n getKeys() {\n return this.keyMap.keys();\n }\n getKeyBefore(key) {\n let node = this.keyMap.get(key);\n var _node_prevKey;\n return node ? (_node_prevKey = node.prevKey) !== null && _node_prevKey !== void 0 ? _node_prevKey : null : null;\n }\n getKeyAfter(key) {\n let node = this.keyMap.get(key);\n var _node_nextKey;\n return node ? (_node_nextKey = node.nextKey) !== null && _node_nextKey !== void 0 ? _node_nextKey : null : null;\n }\n getFirstKey() {\n return this.firstKey;\n }\n getLastKey() {\n return this.lastKey;\n }\n getItem(key) {\n var _this_keyMap_get;\n return (_this_keyMap_get = this.keyMap.get(key)) !== null && _this_keyMap_get !== void 0 ? _this_keyMap_get : null;\n }\n at(idx) {\n const keys = [\n ...this.getKeys()\n ];\n return this.getItem(keys[idx]);\n }\n getChildren(key) {\n let node = this.keyMap.get(key);\n return (node === null || node === void 0 ? void 0 : node.childNodes) || [];\n }\n constructor(nodes){\n this.keyMap = new Map();\n this.firstKey = null;\n this.lastKey = null;\n this.iterable = nodes;\n let visit = (node)=>{\n this.keyMap.set(node.key, node);\n if (node.childNodes && node.type === 'section') for (let child of node.childNodes)visit(child);\n };\n for (let node of nodes)visit(node);\n let last = null;\n let index = 0;\n for (let [key, node] of this.keyMap){\n if (last) {\n last.nextKey = key;\n node.prevKey = last.key;\n } else {\n this.firstKey = key;\n node.prevKey = undefined;\n }\n if (node.type === 'item') node.index = index++;\n last = node;\n // Set nextKey as undefined since this might be the last node\n // If it isn't the last node, last.nextKey will properly set at start of new loop\n last.nextKey = undefined;\n }\n var _last_key;\n this.lastKey = (_last_key = last === null || last === void 0 ? void 0 : last.key) !== null && _last_key !== void 0 ? _last_key : null;\n }\n}\n\n\nexport {$a02d57049d202695$export$d085fb9e920b5ca7 as ListCollection};\n//# sourceMappingURL=ListCollection.module.js.map\n","import {ListCollection as $a02d57049d202695$export$d085fb9e920b5ca7} from \"./ListCollection.mjs\";\nimport {useMultipleSelectionState as $d5vlZ$useMultipleSelectionState, SelectionManager as $d5vlZ$SelectionManager} from \"@react-stately/selection\";\nimport {useMemo as $d5vlZ$useMemo, useCallback as $d5vlZ$useCallback, useRef as $d5vlZ$useRef, useEffect as $d5vlZ$useEffect} from \"react\";\nimport {useCollection as $d5vlZ$useCollection} from \"@react-stately/collections\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nfunction $e72dd72e1c76a225$export$2f645645f7bca764(props) {\n let { filter: filter, layoutDelegate: layoutDelegate } = props;\n let selectionState = (0, $d5vlZ$useMultipleSelectionState)(props);\n let disabledKeys = (0, $d5vlZ$useMemo)(()=>props.disabledKeys ? new Set(props.disabledKeys) : new Set(), [\n props.disabledKeys\n ]);\n let factory = (0, $d5vlZ$useCallback)((nodes)=>filter ? new (0, $a02d57049d202695$export$d085fb9e920b5ca7)(filter(nodes)) : new (0, $a02d57049d202695$export$d085fb9e920b5ca7)(nodes), [\n filter\n ]);\n let context = (0, $d5vlZ$useMemo)(()=>({\n suppressTextValueWarning: props.suppressTextValueWarning\n }), [\n props.suppressTextValueWarning\n ]);\n let collection = (0, $d5vlZ$useCollection)(props, factory, context);\n let selectionManager = (0, $d5vlZ$useMemo)(()=>new (0, $d5vlZ$SelectionManager)(collection, selectionState, {\n layoutDelegate: layoutDelegate\n }), [\n collection,\n selectionState,\n layoutDelegate\n ]);\n // Reset focused key if that item is deleted from the collection.\n const cachedCollection = (0, $d5vlZ$useRef)(null);\n (0, $d5vlZ$useEffect)(()=>{\n if (selectionState.focusedKey != null && !collection.getItem(selectionState.focusedKey) && cachedCollection.current) {\n const startItem = cachedCollection.current.getItem(selectionState.focusedKey);\n const cachedItemNodes = [\n ...cachedCollection.current.getKeys()\n ].map((key)=>{\n const itemNode = cachedCollection.current.getItem(key);\n return (itemNode === null || itemNode === void 0 ? void 0 : itemNode.type) === 'item' ? itemNode : null;\n }).filter((node)=>node !== null);\n const itemNodes = [\n ...collection.getKeys()\n ].map((key)=>{\n const itemNode = collection.getItem(key);\n return (itemNode === null || itemNode === void 0 ? void 0 : itemNode.type) === 'item' ? itemNode : null;\n }).filter((node)=>node !== null);\n var _cachedItemNodes_length, _itemNodes_length;\n const diff = ((_cachedItemNodes_length = cachedItemNodes === null || cachedItemNodes === void 0 ? void 0 : cachedItemNodes.length) !== null && _cachedItemNodes_length !== void 0 ? _cachedItemNodes_length : 0) - ((_itemNodes_length = itemNodes === null || itemNodes === void 0 ? void 0 : itemNodes.length) !== null && _itemNodes_length !== void 0 ? _itemNodes_length : 0);\n var _startItem_index, _startItem_index1, _itemNodes_length1;\n let index = Math.min(diff > 1 ? Math.max(((_startItem_index = startItem === null || startItem === void 0 ? void 0 : startItem.index) !== null && _startItem_index !== void 0 ? _startItem_index : 0) - diff + 1, 0) : (_startItem_index1 = startItem === null || startItem === void 0 ? void 0 : startItem.index) !== null && _startItem_index1 !== void 0 ? _startItem_index1 : 0, ((_itemNodes_length1 = itemNodes === null || itemNodes === void 0 ? void 0 : itemNodes.length) !== null && _itemNodes_length1 !== void 0 ? _itemNodes_length1 : 0) - 1);\n let newNode = null;\n let isReverseSearching = false;\n while(index >= 0){\n if (!selectionManager.isDisabled(itemNodes[index].key)) {\n newNode = itemNodes[index];\n break;\n }\n // Find next, not disabled item.\n if (index < itemNodes.length - 1 && !isReverseSearching) index++;\n else {\n isReverseSearching = true;\n var _startItem_index2, _startItem_index3;\n if (index > ((_startItem_index2 = startItem === null || startItem === void 0 ? void 0 : startItem.index) !== null && _startItem_index2 !== void 0 ? _startItem_index2 : 0)) index = (_startItem_index3 = startItem === null || startItem === void 0 ? void 0 : startItem.index) !== null && _startItem_index3 !== void 0 ? _startItem_index3 : 0;\n index--;\n }\n }\n selectionState.setFocusedKey(newNode ? newNode.key : null);\n }\n cachedCollection.current = collection;\n }, [\n collection,\n selectionManager,\n selectionState,\n selectionState.focusedKey\n ]);\n return {\n collection: collection,\n disabledKeys: disabledKeys,\n selectionManager: selectionManager\n };\n}\n\n\nexport {$e72dd72e1c76a225$export$2f645645f7bca764 as useListState};\n//# sourceMappingURL=useListState.module.js.map\n","import {useListState as $e72dd72e1c76a225$export$2f645645f7bca764} from \"./useListState.mjs\";\nimport {useControlledState as $eBozH$useControlledState} from \"@react-stately/utils\";\nimport {useMemo as $eBozH$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $a0d645289fe9b86b$export$e7f05e985daf4b5f(props) {\n var _props_defaultSelectedKey;\n let [selectedKey, setSelectedKey] = (0, $eBozH$useControlledState)(props.selectedKey, (_props_defaultSelectedKey = props.defaultSelectedKey) !== null && _props_defaultSelectedKey !== void 0 ? _props_defaultSelectedKey : null, props.onSelectionChange);\n let selectedKeys = (0, $eBozH$useMemo)(()=>selectedKey != null ? [\n selectedKey\n ] : [], [\n selectedKey\n ]);\n let { collection: collection, disabledKeys: disabledKeys, selectionManager: selectionManager } = (0, $e72dd72e1c76a225$export$2f645645f7bca764)({\n ...props,\n selectionMode: 'single',\n disallowEmptySelection: true,\n allowDuplicateSelectionEvents: true,\n selectedKeys: selectedKeys,\n onSelectionChange: (keys)=>{\n // impossible, but TS doesn't know that\n if (keys === 'all') return;\n var _keys_values_next_value;\n let key = (_keys_values_next_value = keys.values().next().value) !== null && _keys_values_next_value !== void 0 ? _keys_values_next_value : null;\n // Always fire onSelectionChange, even if the key is the same\n // as the current key (useControlledState does not).\n if (key === selectedKey && props.onSelectionChange) props.onSelectionChange(key);\n setSelectedKey(key);\n }\n });\n let selectedItem = selectedKey != null ? collection.getItem(selectedKey) : null;\n return {\n collection: collection,\n disabledKeys: disabledKeys,\n selectionManager: selectionManager,\n selectedKey: selectedKey,\n setSelectedKey: setSelectedKey,\n selectedItem: selectedItem\n };\n}\n\n\nexport {$a0d645289fe9b86b$export$e7f05e985daf4b5f as useSingleSelectListState};\n//# sourceMappingURL=useSingleSelectListState.module.js.map\n","import {useSingleSelectListState as $fgY1A$useSingleSelectListState} from \"@react-stately/list\";\nimport {useRef as $fgY1A$useRef, useEffect as $fgY1A$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $76f919a04c5a7d14$export$4ba071daf4e486(props) {\n var _props_defaultSelectedKey, _ref;\n let state = (0, $fgY1A$useSingleSelectListState)({\n ...props,\n suppressTextValueWarning: true,\n defaultSelectedKey: (_ref = (_props_defaultSelectedKey = props.defaultSelectedKey) !== null && _props_defaultSelectedKey !== void 0 ? _props_defaultSelectedKey : $76f919a04c5a7d14$var$findDefaultSelectedKey(props.collection, props.disabledKeys ? new Set(props.disabledKeys) : new Set())) !== null && _ref !== void 0 ? _ref : undefined\n });\n let { selectionManager: selectionManager, collection: collection, selectedKey: currentSelectedKey } = state;\n let lastSelectedKey = (0, $fgY1A$useRef)(currentSelectedKey);\n (0, $fgY1A$useEffect)(()=>{\n // Ensure a tab is always selected (in case no selected key was specified or if selected item was deleted from collection)\n let selectedKey = currentSelectedKey;\n if (selectionManager.isEmpty || selectedKey == null || !collection.getItem(selectedKey)) {\n selectedKey = $76f919a04c5a7d14$var$findDefaultSelectedKey(collection, state.disabledKeys);\n if (selectedKey != null) // directly set selection because replace/toggle selection won't consider disabled keys\n selectionManager.setSelectedKeys([\n selectedKey\n ]);\n }\n // If the tablist doesn't have focus and the selected key changes or if there isn't a focused key yet, change focused key to the selected key if it exists.\n if (selectedKey != null && selectionManager.focusedKey == null || !selectionManager.isFocused && selectedKey !== lastSelectedKey.current) selectionManager.setFocusedKey(selectedKey);\n lastSelectedKey.current = selectedKey;\n });\n return {\n ...state,\n isDisabled: props.isDisabled || false\n };\n}\nfunction $76f919a04c5a7d14$var$findDefaultSelectedKey(collection, disabledKeys) {\n let selectedKey = null;\n if (collection) {\n var _collection_getItem_props, _collection_getItem, _collection_getItem_props1, _collection_getItem1;\n selectedKey = collection.getFirstKey();\n // loop over tabs until we find one that isn't disabled and select that\n while(selectedKey != null && (disabledKeys.has(selectedKey) || ((_collection_getItem = collection.getItem(selectedKey)) === null || _collection_getItem === void 0 ? void 0 : (_collection_getItem_props = _collection_getItem.props) === null || _collection_getItem_props === void 0 ? void 0 : _collection_getItem_props.isDisabled)) && selectedKey !== collection.getLastKey())selectedKey = collection.getKeyAfter(selectedKey);\n // if this check is true, then every item is disabled, it makes more sense to default to the first key than the last\n if (selectedKey != null && (disabledKeys.has(selectedKey) || ((_collection_getItem1 = collection.getItem(selectedKey)) === null || _collection_getItem1 === void 0 ? void 0 : (_collection_getItem_props1 = _collection_getItem1.props) === null || _collection_getItem_props1 === void 0 ? void 0 : _collection_getItem_props1.isDisabled)) && selectedKey === collection.getLastKey()) selectedKey = collection.getFirstKey();\n }\n return selectedKey;\n}\n\n\nexport {$76f919a04c5a7d14$export$4ba071daf4e486 as useTabListState};\n//# sourceMappingURL=useTabListState.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $bfc6f2d60b8a4c40$export$15010ca3c1abe90b {\n getKeyLeftOf(key) {\n if (this.flipDirection) return this.getNextKey(key);\n return this.getPreviousKey(key);\n }\n getKeyRightOf(key) {\n if (this.flipDirection) return this.getPreviousKey(key);\n return this.getNextKey(key);\n }\n isDisabled(key) {\n var _this_collection_getItem_props, _this_collection_getItem;\n return this.disabledKeys.has(key) || !!((_this_collection_getItem = this.collection.getItem(key)) === null || _this_collection_getItem === void 0 ? void 0 : (_this_collection_getItem_props = _this_collection_getItem.props) === null || _this_collection_getItem_props === void 0 ? void 0 : _this_collection_getItem_props.isDisabled);\n }\n getFirstKey() {\n let key = this.collection.getFirstKey();\n if (key != null && this.isDisabled(key)) key = this.getNextKey(key);\n return key;\n }\n getLastKey() {\n let key = this.collection.getLastKey();\n if (key != null && this.isDisabled(key)) key = this.getPreviousKey(key);\n return key;\n }\n getKeyAbove(key) {\n if (this.tabDirection) return null;\n return this.getPreviousKey(key);\n }\n getKeyBelow(key) {\n if (this.tabDirection) return null;\n return this.getNextKey(key);\n }\n getNextKey(key) {\n do {\n key = this.collection.getKeyAfter(key);\n if (key == null) key = this.collection.getFirstKey();\n }while (this.isDisabled(key));\n return key;\n }\n getPreviousKey(key) {\n do {\n key = this.collection.getKeyBefore(key);\n if (key == null) key = this.collection.getLastKey();\n }while (this.isDisabled(key));\n return key;\n }\n constructor(collection, direction, orientation, disabledKeys = new Set()){\n this.collection = collection;\n this.flipDirection = direction === 'rtl' && orientation === 'horizontal';\n this.disabledKeys = disabledKeys;\n this.tabDirection = orientation === 'horizontal';\n }\n}\n\n\nexport {$bfc6f2d60b8a4c40$export$15010ca3c1abe90b as TabsKeyboardDelegate};\n//# sourceMappingURL=TabsKeyboardDelegate.module.js.map\n","import {useRef as $dAE4Y$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n/**\n * Controls how long to wait before clearing the typeahead buffer.\n */ const $fb3050f43d946246$var$TYPEAHEAD_DEBOUNCE_WAIT_MS = 1000; // 1 second\nfunction $fb3050f43d946246$export$e32c88dfddc6e1d8(options) {\n let { keyboardDelegate: keyboardDelegate, selectionManager: selectionManager, onTypeSelect: onTypeSelect } = options;\n let state = (0, $dAE4Y$useRef)({\n search: '',\n timeout: undefined\n }).current;\n let onKeyDown = (e)=>{\n let character = $fb3050f43d946246$var$getStringForKey(e.key);\n if (!character || e.ctrlKey || e.metaKey || !e.currentTarget.contains(e.target)) return;\n // Do not propagate the Spacebar event if it's meant to be part of the search.\n // When we time out, the search term becomes empty, hence the check on length.\n // Trimming is to account for the case of pressing the Spacebar more than once,\n // which should cycle through the selection/deselection of the focused item.\n if (character === ' ' && state.search.trim().length > 0) {\n e.preventDefault();\n if (!('continuePropagation' in e)) e.stopPropagation();\n }\n state.search += character;\n if (keyboardDelegate.getKeyForSearch != null) {\n // Use the delegate to find a key to focus.\n // Prioritize items after the currently focused item, falling back to searching the whole list.\n let key = keyboardDelegate.getKeyForSearch(state.search, selectionManager.focusedKey);\n // If no key found, search from the top.\n if (key == null) key = keyboardDelegate.getKeyForSearch(state.search);\n if (key != null) {\n selectionManager.setFocusedKey(key);\n if (onTypeSelect) onTypeSelect(key);\n }\n }\n clearTimeout(state.timeout);\n state.timeout = setTimeout(()=>{\n state.search = '';\n }, $fb3050f43d946246$var$TYPEAHEAD_DEBOUNCE_WAIT_MS);\n };\n return {\n typeSelectProps: {\n // Using a capturing listener to catch the keydown event before\n // other hooks in order to handle the Spacebar event.\n onKeyDownCapture: keyboardDelegate.getKeyForSearch ? onKeyDown : undefined\n }\n };\n}\nfunction $fb3050f43d946246$var$getStringForKey(key) {\n // If the key is of length 1, it is an ASCII value.\n // Otherwise, if there are no ASCII characters in the key name,\n // it is a Unicode character.\n // See https://www.w3.org/TR/uievents-key/\n if (key.length === 1 || !/^[A-Z]/i.test(key)) return key;\n return '';\n}\n\n\nexport {$fb3050f43d946246$export$e32c88dfddc6e1d8 as useTypeSelect};\n//# sourceMappingURL=useTypeSelect.module.js.map\n","import {isNonContiguousSelectionModifier as $feb5ffebff200149$export$d3e3bd3e26688c04} from \"./utils.mjs\";\nimport {useTypeSelect as $fb3050f43d946246$export$e32c88dfddc6e1d8} from \"./useTypeSelect.mjs\";\nimport {useRouter as $3H3GQ$useRouter, isCtrlKeyPressed as $3H3GQ$isCtrlKeyPressed, focusWithoutScrolling as $3H3GQ$focusWithoutScrolling, useEvent as $3H3GQ$useEvent, scrollIntoViewport as $3H3GQ$scrollIntoViewport, FOCUS_EVENT as $3H3GQ$FOCUS_EVENT, useEffectEvent as $3H3GQ$useEffectEvent, UPDATE_ACTIVEDESCENDANT as $3H3GQ$UPDATE_ACTIVEDESCENDANT, useUpdateLayoutEffect as $3H3GQ$useUpdateLayoutEffect, CLEAR_FOCUS_EVENT as $3H3GQ$CLEAR_FOCUS_EVENT, scrollIntoView as $3H3GQ$scrollIntoView, mergeProps as $3H3GQ$mergeProps} from \"@react-aria/utils\";\nimport {flushSync as $3H3GQ$flushSync} from \"react-dom\";\nimport {useRef as $3H3GQ$useRef, useEffect as $3H3GQ$useEffect} from \"react\";\nimport {getFocusableTreeWalker as $3H3GQ$getFocusableTreeWalker, focusSafely as $3H3GQ$focusSafely} from \"@react-aria/focus\";\nimport {getInteractionModality as $3H3GQ$getInteractionModality} from \"@react-aria/interactions\";\nimport {useLocale as $3H3GQ$useLocale} from \"@react-aria/i18n\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\nfunction $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {\n let { selectionManager: manager, keyboardDelegate: delegate, ref: ref, autoFocus: autoFocus = false, shouldFocusWrap: shouldFocusWrap = false, disallowEmptySelection: disallowEmptySelection = false, disallowSelectAll: disallowSelectAll = false, selectOnFocus: selectOnFocus = manager.selectionBehavior === 'replace', disallowTypeAhead: disallowTypeAhead = false, shouldUseVirtualFocus: shouldUseVirtualFocus, allowsTabNavigation: allowsTabNavigation = false, isVirtualized: isVirtualized, scrollRef: // If no scrollRef is provided, assume the collection ref is the scrollable region\n scrollRef = ref, linkBehavior: linkBehavior = 'action' } = options;\n let { direction: direction } = (0, $3H3GQ$useLocale)();\n let router = (0, $3H3GQ$useRouter)();\n let onKeyDown = (e)=>{\n var _ref_current;\n // Prevent option + tab from doing anything since it doesn't move focus to the cells, only buttons/checkboxes\n if (e.altKey && e.key === 'Tab') e.preventDefault();\n // Keyboard events bubble through portals. Don't handle keyboard events\n // for elements outside the collection (e.g. menus).\n if (!((_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.contains(e.target))) return;\n const navigateToKey = (key, childFocus)=>{\n if (key != null) {\n if (manager.isLink(key) && linkBehavior === 'selection' && selectOnFocus && !(0, $feb5ffebff200149$export$d3e3bd3e26688c04)(e)) {\n var _scrollRef_current;\n // Set focused key and re-render synchronously to bring item into view if needed.\n (0, $3H3GQ$flushSync)(()=>{\n manager.setFocusedKey(key, childFocus);\n });\n let item = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.querySelector(`[data-key=\"${CSS.escape(key.toString())}\"]`);\n let itemProps = manager.getItemProps(key);\n if (item) router.open(item, e, itemProps.href, itemProps.routerOptions);\n return;\n }\n manager.setFocusedKey(key, childFocus);\n if (manager.isLink(key) && linkBehavior === 'override') return;\n if (e.shiftKey && manager.selectionMode === 'multiple') manager.extendSelection(key);\n else if (selectOnFocus && !(0, $feb5ffebff200149$export$d3e3bd3e26688c04)(e)) manager.replaceSelection(key);\n }\n };\n switch(e.key){\n case 'ArrowDown':\n if (delegate.getKeyBelow) {\n var _delegate_getKeyBelow, _delegate_getFirstKey, _delegate_getFirstKey1;\n let nextKey = manager.focusedKey != null ? (_delegate_getKeyBelow = delegate.getKeyBelow) === null || _delegate_getKeyBelow === void 0 ? void 0 : _delegate_getKeyBelow.call(delegate, manager.focusedKey) : (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate);\n if (nextKey == null && shouldFocusWrap) nextKey = (_delegate_getFirstKey1 = delegate.getFirstKey) === null || _delegate_getFirstKey1 === void 0 ? void 0 : _delegate_getFirstKey1.call(delegate, manager.focusedKey);\n if (nextKey != null) {\n e.preventDefault();\n navigateToKey(nextKey);\n }\n }\n break;\n case 'ArrowUp':\n if (delegate.getKeyAbove) {\n var _delegate_getKeyAbove, _delegate_getLastKey, _delegate_getLastKey1;\n let nextKey = manager.focusedKey != null ? (_delegate_getKeyAbove = delegate.getKeyAbove) === null || _delegate_getKeyAbove === void 0 ? void 0 : _delegate_getKeyAbove.call(delegate, manager.focusedKey) : (_delegate_getLastKey = delegate.getLastKey) === null || _delegate_getLastKey === void 0 ? void 0 : _delegate_getLastKey.call(delegate);\n if (nextKey == null && shouldFocusWrap) nextKey = (_delegate_getLastKey1 = delegate.getLastKey) === null || _delegate_getLastKey1 === void 0 ? void 0 : _delegate_getLastKey1.call(delegate, manager.focusedKey);\n if (nextKey != null) {\n e.preventDefault();\n navigateToKey(nextKey);\n }\n }\n break;\n case 'ArrowLeft':\n if (delegate.getKeyLeftOf) {\n var _delegate_getKeyLeftOf, _delegate_getFirstKey2, _delegate_getLastKey2;\n let nextKey = manager.focusedKey != null ? (_delegate_getKeyLeftOf = delegate.getKeyLeftOf) === null || _delegate_getKeyLeftOf === void 0 ? void 0 : _delegate_getKeyLeftOf.call(delegate, manager.focusedKey) : null;\n if (nextKey == null && shouldFocusWrap) nextKey = direction === 'rtl' ? (_delegate_getFirstKey2 = delegate.getFirstKey) === null || _delegate_getFirstKey2 === void 0 ? void 0 : _delegate_getFirstKey2.call(delegate, manager.focusedKey) : (_delegate_getLastKey2 = delegate.getLastKey) === null || _delegate_getLastKey2 === void 0 ? void 0 : _delegate_getLastKey2.call(delegate, manager.focusedKey);\n if (nextKey != null) {\n e.preventDefault();\n navigateToKey(nextKey, direction === 'rtl' ? 'first' : 'last');\n }\n }\n break;\n case 'ArrowRight':\n if (delegate.getKeyRightOf) {\n var _delegate_getKeyRightOf, _delegate_getLastKey3, _delegate_getFirstKey3;\n let nextKey = manager.focusedKey != null ? (_delegate_getKeyRightOf = delegate.getKeyRightOf) === null || _delegate_getKeyRightOf === void 0 ? void 0 : _delegate_getKeyRightOf.call(delegate, manager.focusedKey) : null;\n if (nextKey == null && shouldFocusWrap) nextKey = direction === 'rtl' ? (_delegate_getLastKey3 = delegate.getLastKey) === null || _delegate_getLastKey3 === void 0 ? void 0 : _delegate_getLastKey3.call(delegate, manager.focusedKey) : (_delegate_getFirstKey3 = delegate.getFirstKey) === null || _delegate_getFirstKey3 === void 0 ? void 0 : _delegate_getFirstKey3.call(delegate, manager.focusedKey);\n if (nextKey != null) {\n e.preventDefault();\n navigateToKey(nextKey, direction === 'rtl' ? 'last' : 'first');\n }\n }\n break;\n case 'Home':\n if (delegate.getFirstKey) {\n if (manager.focusedKey === null && e.shiftKey) return;\n e.preventDefault();\n let firstKey = delegate.getFirstKey(manager.focusedKey, (0, $3H3GQ$isCtrlKeyPressed)(e));\n manager.setFocusedKey(firstKey);\n if (firstKey != null) {\n if ((0, $3H3GQ$isCtrlKeyPressed)(e) && e.shiftKey && manager.selectionMode === 'multiple') manager.extendSelection(firstKey);\n else if (selectOnFocus) manager.replaceSelection(firstKey);\n }\n }\n break;\n case 'End':\n if (delegate.getLastKey) {\n if (manager.focusedKey === null && e.shiftKey) return;\n e.preventDefault();\n let lastKey = delegate.getLastKey(manager.focusedKey, (0, $3H3GQ$isCtrlKeyPressed)(e));\n manager.setFocusedKey(lastKey);\n if (lastKey != null) {\n if ((0, $3H3GQ$isCtrlKeyPressed)(e) && e.shiftKey && manager.selectionMode === 'multiple') manager.extendSelection(lastKey);\n else if (selectOnFocus) manager.replaceSelection(lastKey);\n }\n }\n break;\n case 'PageDown':\n if (delegate.getKeyPageBelow && manager.focusedKey != null) {\n let nextKey = delegate.getKeyPageBelow(manager.focusedKey);\n if (nextKey != null) {\n e.preventDefault();\n navigateToKey(nextKey);\n }\n }\n break;\n case 'PageUp':\n if (delegate.getKeyPageAbove && manager.focusedKey != null) {\n let nextKey = delegate.getKeyPageAbove(manager.focusedKey);\n if (nextKey != null) {\n e.preventDefault();\n navigateToKey(nextKey);\n }\n }\n break;\n case 'a':\n if ((0, $3H3GQ$isCtrlKeyPressed)(e) && manager.selectionMode === 'multiple' && disallowSelectAll !== true) {\n e.preventDefault();\n manager.selectAll();\n }\n break;\n case 'Escape':\n if (!disallowEmptySelection && manager.selectedKeys.size !== 0) {\n e.stopPropagation();\n e.preventDefault();\n manager.clearSelection();\n }\n break;\n case 'Tab':\n if (!allowsTabNavigation) {\n // There may be elements that are \"tabbable\" inside a collection (e.g. in a grid cell).\n // However, collections should be treated as a single tab stop, with arrow key navigation internally.\n // We don't control the rendering of these, so we can't override the tabIndex to prevent tabbing.\n // Instead, we handle the Tab key, and move focus manually to the first/last tabbable element\n // in the collection, so that the browser default behavior will apply starting from that element\n // rather than the currently focused one.\n if (e.shiftKey) ref.current.focus();\n else {\n let walker = (0, $3H3GQ$getFocusableTreeWalker)(ref.current, {\n tabbable: true\n });\n let next = undefined;\n let last;\n do {\n last = walker.lastChild();\n if (last) next = last;\n }while (last);\n if (next && !next.contains(document.activeElement)) (0, $3H3GQ$focusWithoutScrolling)(next);\n }\n break;\n }\n }\n };\n // Store the scroll position so we can restore it later.\n /// TODO: should this happen all the time??\n let scrollPos = (0, $3H3GQ$useRef)({\n top: 0,\n left: 0\n });\n (0, $3H3GQ$useEvent)(scrollRef, 'scroll', isVirtualized ? undefined : ()=>{\n var _scrollRef_current, _scrollRef_current1;\n var _scrollRef_current_scrollTop, _scrollRef_current_scrollLeft;\n scrollPos.current = {\n top: (_scrollRef_current_scrollTop = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.scrollTop) !== null && _scrollRef_current_scrollTop !== void 0 ? _scrollRef_current_scrollTop : 0,\n left: (_scrollRef_current_scrollLeft = (_scrollRef_current1 = scrollRef.current) === null || _scrollRef_current1 === void 0 ? void 0 : _scrollRef_current1.scrollLeft) !== null && _scrollRef_current_scrollLeft !== void 0 ? _scrollRef_current_scrollLeft : 0\n };\n });\n let onFocus = (e)=>{\n if (manager.isFocused) {\n // If a focus event bubbled through a portal, reset focus state.\n if (!e.currentTarget.contains(e.target)) manager.setFocused(false);\n return;\n }\n // Focus events can bubble through portals. Ignore these events.\n if (!e.currentTarget.contains(e.target)) return;\n manager.setFocused(true);\n if (manager.focusedKey == null) {\n var _delegate_getLastKey, _delegate_getFirstKey;\n let navigateToFirstKey = (key)=>{\n if (key != null) {\n manager.setFocusedKey(key);\n if (selectOnFocus) manager.replaceSelection(key);\n }\n };\n // If the user hasn't yet interacted with the collection, there will be no focusedKey set.\n // Attempt to detect whether the user is tabbing forward or backward into the collection\n // and either focus the first or last item accordingly.\n let relatedTarget = e.relatedTarget;\n var _manager_lastSelectedKey, _manager_firstSelectedKey;\n if (relatedTarget && e.currentTarget.compareDocumentPosition(relatedTarget) & Node.DOCUMENT_POSITION_FOLLOWING) navigateToFirstKey((_manager_lastSelectedKey = manager.lastSelectedKey) !== null && _manager_lastSelectedKey !== void 0 ? _manager_lastSelectedKey : (_delegate_getLastKey = delegate.getLastKey) === null || _delegate_getLastKey === void 0 ? void 0 : _delegate_getLastKey.call(delegate));\n else navigateToFirstKey((_manager_firstSelectedKey = manager.firstSelectedKey) !== null && _manager_firstSelectedKey !== void 0 ? _manager_firstSelectedKey : (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate));\n } else if (!isVirtualized && scrollRef.current) {\n // Restore the scroll position to what it was before.\n scrollRef.current.scrollTop = scrollPos.current.top;\n scrollRef.current.scrollLeft = scrollPos.current.left;\n }\n if (manager.focusedKey != null && scrollRef.current) {\n // Refocus and scroll the focused item into view if it exists within the scrollable region.\n let element = scrollRef.current.querySelector(`[data-key=\"${CSS.escape(manager.focusedKey.toString())}\"]`);\n if (element) {\n // This prevents a flash of focus on the first/last element in the collection, or the collection itself.\n if (!element.contains(document.activeElement)) (0, $3H3GQ$focusWithoutScrolling)(element);\n let modality = (0, $3H3GQ$getInteractionModality)();\n if (modality === 'keyboard') (0, $3H3GQ$scrollIntoViewport)(element, {\n containingElement: ref.current\n });\n }\n }\n };\n let onBlur = (e)=>{\n // Don't set blurred and then focused again if moving focus within the collection.\n if (!e.currentTarget.contains(e.relatedTarget)) manager.setFocused(false);\n };\n // Ref to track whether the first item in the collection should be automatically focused. Specifically used for autocomplete when user types\n // to focus the first key AFTER the collection updates.\n // TODO: potentially expand the usage of this\n let shouldVirtualFocusFirst = (0, $3H3GQ$useRef)(false);\n // Add event listeners for custom virtual events. These handle updating the focused key in response to various keyboard events\n // at the autocomplete level\n // TODO: fix type later\n (0, $3H3GQ$useEvent)(ref, (0, $3H3GQ$FOCUS_EVENT), !shouldUseVirtualFocus ? undefined : (e)=>{\n let { detail: detail } = e;\n e.stopPropagation();\n manager.setFocused(true);\n // If the user is typing forwards, autofocus the first option in the list.\n if ((detail === null || detail === void 0 ? void 0 : detail.focusStrategy) === 'first') shouldVirtualFocusFirst.current = true;\n });\n let updateActiveDescendant = (0, $3H3GQ$useEffectEvent)(()=>{\n var _delegate_getFirstKey;\n var _delegate_getFirstKey1;\n let keyToFocus = (_delegate_getFirstKey1 = (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate)) !== null && _delegate_getFirstKey1 !== void 0 ? _delegate_getFirstKey1 : null;\n // If no focusable items exist in the list, make sure to clear any activedescendant that may still exist\n if (keyToFocus == null) {\n var _ref_current;\n (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.dispatchEvent(new CustomEvent((0, $3H3GQ$UPDATE_ACTIVEDESCENDANT), {\n cancelable: true,\n bubbles: true\n }));\n // If there wasn't a focusable key but the collection had items, then that means we aren't in an intermediate load state and all keys are disabled.\n // Reset shouldVirtualFocusFirst so that we don't erronously autofocus an item when the collection is filtered again.\n if (manager.collection.size > 0) shouldVirtualFocusFirst.current = false;\n } else {\n manager.setFocusedKey(keyToFocus);\n // Only set shouldVirtualFocusFirst to false if we've successfully set the first key as the focused key\n // If there wasn't a key to focus, we might be in a temporary loading state so we'll want to still focus the first key\n // after the collection updates after load\n shouldVirtualFocusFirst.current = false;\n }\n });\n (0, $3H3GQ$useUpdateLayoutEffect)(()=>{\n if (shouldVirtualFocusFirst.current) updateActiveDescendant();\n }, [\n manager.collection,\n updateActiveDescendant\n ]);\n let resetFocusFirstFlag = (0, $3H3GQ$useEffectEvent)(()=>{\n // If user causes the focused key to change in any other way, clear shouldVirtualFocusFirst so we don't\n // accidentally move focus from under them. Skip this if the collection was empty because we might be in a load\n // state and will still want to focus the first item after load\n if (manager.collection.size > 0) shouldVirtualFocusFirst.current = false;\n });\n (0, $3H3GQ$useUpdateLayoutEffect)(()=>{\n resetFocusFirstFlag();\n }, [\n manager.focusedKey,\n resetFocusFirstFlag\n ]);\n (0, $3H3GQ$useEvent)(ref, (0, $3H3GQ$CLEAR_FOCUS_EVENT), !shouldUseVirtualFocus ? undefined : (e)=>{\n e.stopPropagation();\n manager.setFocused(false);\n manager.setFocusedKey(null);\n });\n const autoFocusRef = (0, $3H3GQ$useRef)(autoFocus);\n (0, $3H3GQ$useEffect)(()=>{\n if (autoFocusRef.current) {\n var _delegate_getFirstKey, _delegate_getLastKey;\n let focusedKey = null;\n var _delegate_getFirstKey1;\n // Check focus strategy to determine which item to focus\n if (autoFocus === 'first') focusedKey = (_delegate_getFirstKey1 = (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate)) !== null && _delegate_getFirstKey1 !== void 0 ? _delegate_getFirstKey1 : null;\n var _delegate_getLastKey1;\n if (autoFocus === 'last') focusedKey = (_delegate_getLastKey1 = (_delegate_getLastKey = delegate.getLastKey) === null || _delegate_getLastKey === void 0 ? void 0 : _delegate_getLastKey.call(delegate)) !== null && _delegate_getLastKey1 !== void 0 ? _delegate_getLastKey1 : null;\n // If there are any selected keys, make the first one the new focus target\n let selectedKeys = manager.selectedKeys;\n if (selectedKeys.size) {\n for (let key of selectedKeys)if (manager.canSelectItem(key)) {\n focusedKey = key;\n break;\n }\n }\n manager.setFocused(true);\n manager.setFocusedKey(focusedKey);\n // If no default focus key is selected, focus the collection itself.\n if (focusedKey == null && !shouldUseVirtualFocus && ref.current) (0, $3H3GQ$focusSafely)(ref.current);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n // Scroll the focused element into view when the focusedKey changes.\n let lastFocusedKey = (0, $3H3GQ$useRef)(manager.focusedKey);\n (0, $3H3GQ$useEffect)(()=>{\n if (manager.isFocused && manager.focusedKey != null && (manager.focusedKey !== lastFocusedKey.current || autoFocusRef.current) && scrollRef.current && ref.current) {\n let modality = (0, $3H3GQ$getInteractionModality)();\n let element = ref.current.querySelector(`[data-key=\"${CSS.escape(manager.focusedKey.toString())}\"]`);\n if (!element) // If item element wasn't found, return early (don't update autoFocusRef and lastFocusedKey).\n // The collection may initially be empty (e.g. virtualizer), so wait until the element exists.\n return;\n if (modality === 'keyboard' || autoFocusRef.current) {\n (0, $3H3GQ$scrollIntoView)(scrollRef.current, element);\n // Avoid scroll in iOS VO, since it may cause overlay to close (i.e. RAC submenu)\n if (modality !== 'virtual') (0, $3H3GQ$scrollIntoViewport)(element, {\n containingElement: ref.current\n });\n }\n }\n // If the focused key becomes null (e.g. the last item is deleted), focus the whole collection.\n if (!shouldUseVirtualFocus && manager.isFocused && manager.focusedKey == null && lastFocusedKey.current != null && ref.current) (0, $3H3GQ$focusSafely)(ref.current);\n lastFocusedKey.current = manager.focusedKey;\n autoFocusRef.current = false;\n });\n // Intercept FocusScope restoration since virtualized collections can reuse DOM nodes.\n (0, $3H3GQ$useEvent)(ref, 'react-aria-focus-scope-restore', (e)=>{\n e.preventDefault();\n manager.setFocused(true);\n });\n let handlers = {\n onKeyDown: onKeyDown,\n onFocus: onFocus,\n onBlur: onBlur,\n onMouseDown (e) {\n // Ignore events that bubbled through portals.\n if (scrollRef.current === e.target) // Prevent focus going to the collection when clicking on the scrollbar.\n e.preventDefault();\n }\n };\n let { typeSelectProps: typeSelectProps } = (0, $fb3050f43d946246$export$e32c88dfddc6e1d8)({\n keyboardDelegate: delegate,\n selectionManager: manager\n });\n if (!disallowTypeAhead) handlers = (0, $3H3GQ$mergeProps)(typeSelectProps, handlers);\n // If nothing is focused within the collection, make the collection itself tabbable.\n // This will be marshalled to either the first or last item depending on where focus came from.\n let tabIndex = undefined;\n if (!shouldUseVirtualFocus) tabIndex = manager.focusedKey == null ? 0 : -1;\n else tabIndex = -1;\n return {\n collectionProps: {\n ...handlers,\n tabIndex: tabIndex\n }\n };\n}\n\n\nexport {$ae20dd8cbca75726$export$d6daf82dcd84e87c as useSelectableCollection};\n//# sourceMappingURL=useSelectableCollection.module.js.map\n","import {tabsIds as $99b62ae3ff97ec45$export$c5f62239608282b6} from \"./utils.mjs\";\nimport {TabsKeyboardDelegate as $bfc6f2d60b8a4c40$export$15010ca3c1abe90b} from \"./TabsKeyboardDelegate.mjs\";\nimport {useId as $bQNZs$useId, useLabels as $bQNZs$useLabels, mergeProps as $bQNZs$mergeProps} from \"@react-aria/utils\";\nimport {useLocale as $bQNZs$useLocale} from \"@react-aria/i18n\";\nimport {useMemo as $bQNZs$useMemo} from \"react\";\nimport {useSelectableCollection as $bQNZs$useSelectableCollection} from \"@react-aria/selection\";\n\n/*\n* Copyright 2020 Adobe. All rights reserved.\n* This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License. You may obtain a copy\n* of the License at http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software distributed under\n* the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n* OF ANY KIND, either express or implied. See the License for the specific language\n* governing permissions and limitations under the License.\n*/ \n\n\n\n\n\nfunction $58d314389b21fa3f$export$773e389e644c5874(props, state, ref) {\n let { orientation: orientation = 'horizontal', keyboardActivation: keyboardActivation = 'automatic' } = props;\n let { collection: collection, selectionManager: manager, disabledKeys: disabledKeys } = state;\n let { direction: direction } = (0, $bQNZs$useLocale)();\n let delegate = (0, $bQNZs$useMemo)(()=>new (0, $bfc6f2d60b8a4c40$export$15010ca3c1abe90b)(collection, direction, orientation, disabledKeys), [\n collection,\n disabledKeys,\n orientation,\n direction\n ]);\n let { collectionProps: collectionProps } = (0, $bQNZs$useSelectableCollection)({\n ref: ref,\n selectionManager: manager,\n keyboardDelegate: delegate,\n selectOnFocus: keyboardActivation === 'automatic',\n disallowEmptySelection: true,\n scrollRef: ref,\n linkBehavior: 'selection'\n });\n // Compute base id for all tabs\n let tabsId = (0, $bQNZs$useId)();\n (0, $99b62ae3ff97ec45$export$c5f62239608282b6).set(state, tabsId);\n let tabListLabelProps = (0, $bQNZs$useLabels)({\n ...props,\n id: tabsId\n });\n return {\n tabListProps: {\n ...(0, $bQNZs$mergeProps)(collectionProps, tabListLabelProps),\n role: 'tablist',\n 'aria-orientation': orientation,\n tabIndex: undefined\n }\n };\n}\n\n\nexport {$58d314389b21fa3f$export$773e389e644c5874 as useTabList};\n//# sourceMappingURL=useTabList.module.js.map\n","\"use client\";\n\n// src/use-tabs.ts\nimport { mapPropsVariants, useProviderContext } from \"@heroui/system\";\nimport { tabs } from \"@heroui/theme\";\nimport { useDOMRef } from \"@heroui/react-utils\";\nimport { clsx, objectToDeps } from \"@heroui/shared-utils\";\nimport { filterDOMProps } from \"@heroui/react-utils\";\nimport { useMemo, useCallback } from \"react\";\nimport { useTabListState } from \"@react-stately/tabs\";\nimport { useTabList } from \"@react-aria/tabs\";\nimport { mergeProps } from \"@react-aria/utils\";\nfunction useTabs(originalProps) {\n var _a, _b, _c;\n const globalContext = useProviderContext();\n const [props, variantProps] = mapPropsVariants(originalProps, tabs.variantKeys);\n const {\n ref,\n as,\n className,\n classNames,\n children,\n disableCursorAnimation,\n motionProps,\n isVertical = false,\n shouldSelectOnPressUp = true,\n destroyInactiveTabPanel = true,\n ...otherProps\n } = props;\n const Component = as || \"div\";\n const shouldFilterDOMProps = typeof Component === \"string\";\n const domRef = useDOMRef(ref);\n const disableAnimation = (_b = (_a = originalProps == null ? void 0 : originalProps.disableAnimation) != null ? _a : globalContext == null ? void 0 : globalContext.disableAnimation) != null ? _b : false;\n const state = useTabListState({\n children,\n ...otherProps\n });\n const { tabListProps } = useTabList(otherProps, state, domRef);\n const slots = useMemo(\n () => tabs({\n ...variantProps,\n disableAnimation,\n ...isVertical ? { placement: \"start\" } : {}\n }),\n [objectToDeps(variantProps), disableAnimation, isVertical]\n );\n const baseStyles = clsx(classNames == null ? void 0 : classNames.base, className);\n const values = useMemo(\n () => ({\n state,\n slots,\n classNames,\n motionProps,\n disableAnimation,\n listRef: domRef,\n shouldSelectOnPressUp,\n disableCursorAnimation,\n isDisabled: originalProps == null ? void 0 : originalProps.isDisabled\n }),\n [\n state,\n slots,\n domRef,\n motionProps,\n disableAnimation,\n disableCursorAnimation,\n shouldSelectOnPressUp,\n originalProps == null ? void 0 : originalProps.isDisabled,\n classNames\n ]\n );\n const getBaseProps = useCallback(\n (props2) => ({\n \"data-slot\": \"base\",\n className: slots.base({ class: clsx(baseStyles, props2 == null ? void 0 : props2.className) }),\n ...mergeProps(\n filterDOMProps(otherProps, {\n enabled: shouldFilterDOMProps\n }),\n props2\n )\n }),\n [baseStyles, otherProps, slots]\n );\n const placement = (_c = variantProps.placement) != null ? _c : isVertical ? \"start\" : \"top\";\n const getWrapperProps = useCallback(\n (props2) => ({\n \"data-slot\": \"tabWrapper\",\n className: slots.tabWrapper({ class: clsx(classNames == null ? void 0 : classNames.tabWrapper, props2 == null ? void 0 : props2.className) }),\n \"data-placement\": placement,\n \"data-vertical\": isVertical || placement === \"start\" || placement === \"end\" ? \"vertical\" : \"horizontal\"\n }),\n [classNames, slots, placement, isVertical]\n );\n const getTabListProps = useCallback(\n (props2) => ({\n ref: domRef,\n \"data-slot\": \"tabList\",\n className: slots.tabList({ class: clsx(classNames == null ? void 0 : classNames.tabList, props2 == null ? void 0 : props2.className) }),\n ...mergeProps(tabListProps, props2)\n }),\n [domRef, tabListProps, classNames, slots]\n );\n return {\n Component,\n domRef,\n state,\n values,\n destroyInactiveTabPanel,\n getBaseProps,\n getTabListProps,\n getWrapperProps\n };\n}\n\nexport {\n useTabs\n};\n","\"use client\";\nimport {\n tab_panel_default\n} from \"./chunk-7ARJTFQR.mjs\";\nimport {\n tab_default\n} from \"./chunk-BM6MJNZ5.mjs\";\nimport {\n useTabs\n} from \"./chunk-BLIEYGZ2.mjs\";\n\n// src/tabs.tsx\nimport { useId } from \"react\";\nimport { LayoutGroup } from \"framer-motion\";\nimport { forwardRef } from \"@heroui/system\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar Tabs = forwardRef(function Tabs2(props, ref) {\n const {\n Component,\n values,\n state,\n destroyInactiveTabPanel,\n getBaseProps,\n getTabListProps,\n getWrapperProps\n } = useTabs({\n ...props,\n ref\n });\n const layoutId = useId();\n const layoutGroupEnabled = !props.disableAnimation && !props.disableCursorAnimation;\n const tabsProps = {\n state,\n listRef: values.listRef,\n slots: values.slots,\n classNames: values.classNames,\n isDisabled: values.isDisabled,\n motionProps: values.motionProps,\n disableAnimation: values.disableAnimation,\n shouldSelectOnPressUp: values.shouldSelectOnPressUp,\n disableCursorAnimation: values.disableCursorAnimation\n };\n const tabs = [...state.collection].map((item) => /* @__PURE__ */ jsx(tab_default, { item, ...tabsProps, ...item.props }, item.key));\n const renderTabs = /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\"div\", { ...getBaseProps(), children: /* @__PURE__ */ jsx(Component, { ...getTabListProps(), children: layoutGroupEnabled ? /* @__PURE__ */ jsx(LayoutGroup, { id: layoutId, children: tabs }) : tabs }) }),\n [...state.collection].map((item) => {\n return /* @__PURE__ */ jsx(\n tab_panel_default,\n {\n classNames: values.classNames,\n destroyInactiveTabPanel,\n slots: values.slots,\n state: values.state,\n tabKey: item.key\n },\n item.key\n );\n })\n ] });\n if (\"placement\" in props || \"isVertical\" in props) {\n return /* @__PURE__ */ jsx(\"div\", { ...getWrapperProps(), children: renderTabs });\n }\n return renderTabs;\n});\nvar tabs_default = Tabs;\n\nexport {\n tabs_default\n};\n","\"use client\";\n\n// src/base/tab-item-base.ts\nimport { BaseItem } from \"@heroui/aria-utils\";\nvar TabItemBase = BaseItem;\nvar tab_item_base_default = TabItemBase;\n\nexport {\n tab_item_base_default\n};\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useState as $hQ5Hp$useState} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nlet $ef06256079686ba0$var$descriptionId = 0;\nconst $ef06256079686ba0$var$descriptionNodes = new Map();\nfunction $ef06256079686ba0$export$f8aeda7b10753fa1(description) {\n let [id, setId] = (0, $hQ5Hp$useState)();\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n if (!description) return;\n let desc = $ef06256079686ba0$var$descriptionNodes.get(description);\n if (!desc) {\n let id = `react-aria-description-${$ef06256079686ba0$var$descriptionId++}`;\n setId(id);\n let node = document.createElement('div');\n node.id = id;\n node.style.display = 'none';\n node.textContent = description;\n document.body.appendChild(node);\n desc = {\n refCount: 0,\n element: node\n };\n $ef06256079686ba0$var$descriptionNodes.set(description, desc);\n } else setId(desc.element.id);\n desc.refCount++;\n return ()=>{\n if (desc && --desc.refCount === 0) {\n desc.element.remove();\n $ef06256079686ba0$var$descriptionNodes.delete(description);\n }\n };\n }, [\n description\n ]);\n return {\n 'aria-describedby': description ? id : undefined\n };\n}\n\n\nexport {$ef06256079686ba0$export$f8aeda7b10753fa1 as useDescription};\n//# sourceMappingURL=useDescription.module.js.map\n","import {usePress as $f6c31cce2adf654f$export$45712eceda6fad21} from \"./usePress.mjs\";\nimport {useGlobalListeners as $4k2kv$useGlobalListeners, useDescription as $4k2kv$useDescription, mergeProps as $4k2kv$mergeProps} from \"@react-aria/utils\";\nimport {useRef as $4k2kv$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $8a26561d2877236e$var$DEFAULT_THRESHOLD = 500;\nfunction $8a26561d2877236e$export$c24ed0104d07eab9(props) {\n let { isDisabled: isDisabled, onLongPressStart: onLongPressStart, onLongPressEnd: onLongPressEnd, onLongPress: onLongPress, threshold: threshold = $8a26561d2877236e$var$DEFAULT_THRESHOLD, accessibilityDescription: accessibilityDescription } = props;\n const timeRef = (0, $4k2kv$useRef)(undefined);\n let { addGlobalListener: addGlobalListener, removeGlobalListener: removeGlobalListener } = (0, $4k2kv$useGlobalListeners)();\n let { pressProps: pressProps } = (0, $f6c31cce2adf654f$export$45712eceda6fad21)({\n isDisabled: isDisabled,\n onPressStart (e) {\n e.continuePropagation();\n if (e.pointerType === 'mouse' || e.pointerType === 'touch') {\n if (onLongPressStart) onLongPressStart({\n ...e,\n type: 'longpressstart'\n });\n timeRef.current = setTimeout(()=>{\n // Prevent other usePress handlers from also handling this event.\n e.target.dispatchEvent(new PointerEvent('pointercancel', {\n bubbles: true\n }));\n if (onLongPress) onLongPress({\n ...e,\n type: 'longpress'\n });\n timeRef.current = undefined;\n }, threshold);\n // Prevent context menu, which may be opened on long press on touch devices\n if (e.pointerType === 'touch') {\n let onContextMenu = (e)=>{\n e.preventDefault();\n };\n addGlobalListener(e.target, 'contextmenu', onContextMenu, {\n once: true\n });\n addGlobalListener(window, 'pointerup', ()=>{\n // If no contextmenu event is fired quickly after pointerup, remove the handler\n // so future context menu events outside a long press are not prevented.\n setTimeout(()=>{\n removeGlobalListener(e.target, 'contextmenu', onContextMenu);\n }, 30);\n }, {\n once: true\n });\n }\n }\n },\n onPressEnd (e) {\n if (timeRef.current) clearTimeout(timeRef.current);\n if (onLongPressEnd && (e.pointerType === 'mouse' || e.pointerType === 'touch')) onLongPressEnd({\n ...e,\n type: 'longpressend'\n });\n }\n });\n let descriptionProps = (0, $4k2kv$useDescription)(onLongPress && !isDisabled ? accessibilityDescription : undefined);\n return {\n longPressProps: (0, $4k2kv$mergeProps)(pressProps, descriptionProps)\n };\n}\n\n\nexport {$8a26561d2877236e$export$c24ed0104d07eab9 as useLongPress};\n//# sourceMappingURL=useLongPress.module.js.map\n"],"names":["Object","defineProperty","exports","enumerable","get","createServerReference","_appcallserver","__webpack_require__","id","createServerReferenceImpl","callServer","ModalFooter","forwardRef","props","ref","as","children","className","otherProps","slots","classNames","useModalContext","domRef","useDOMRef","jsx","footer","class","clsx","displayName","modal_footer_default","$99b62ae3ff97ec45$export$c5f62239608282b6","WeakMap","$99b62ae3ff97ec45$export$567fc7097e064344","state","key","role","replace","baseId","TabPanel","_a","_b","tabKey","destroyInactiveTabPanel","tabPanelProps","useTabPanel","_props_id","tabIndex","options","isDisabled","hasTabbableChild","setHasTabbableChild","react","useState","useLayoutEffect","b","current","update","walker","FocusScope","QL","tabbable","nextNode","observer","MutationObserver","observe","subtree","childList","attributes","attributeFilter","disconnect","undefined","selectedKey","useLabels","mergeProps","d","String","focusProps","isFocused","isFocusVisible","useFocusRing","selectedItem","content","collection","getItem","tabPanelStyles","panel","isSelected","inert","getInertValue","call","t","nodeType","e","n","clientHeight","scrollHeight","clientWidth","scrollWidth","o","getComputedStyle","overflowY","overflowX","ownerDocument","defaultView","frameElement","l","r","i","s","parentElement","getRootNode","host","dist_r","h","document","scrollMode","c","block","f","inline","u","boundary","a","skipOverflowHiddenElements","g","p","m","scrollingElement","documentElement","w","W","push","body","window","visualViewport","width","innerWidth","H","height","innerHeight","scrollX","y","scrollY","M","v","E","top","x","right","C","bottom","I","left","R","getBoundingClientRect","T","B","F","V","parseFloat","scrollMarginTop","scrollMarginRight","scrollMarginBottom","scrollMarginLeft","k","D","L","length","parseInt","borderLeftWidth","borderTopWidth","borderRightWidth","borderBottomWidth","offsetWidth","offsetHeight","S","X","Math","max","scrollLeft","scrollTop","min","el","dist_o","keys","$feb5ffebff200149$export$d3e3bd3e26688c04","platform","ad","altKey","ctrlKey","$880e95eb8b93ba9a$var$isActionKey","event","$880e95eb8b93ba9a$var$isSelectionKey","code","addPointerEvent","target","eventName","handler","add_dom_event","event_info","distance","abs","PanSession","constructor","handlers","transformPagePoint","contextWindow","dragSnapToOrigin","startEvent","lastMoveEvent","lastMoveEventInfo","updatePoint","info","getPanInfo","history","isPanStarted","isDistancePastThreshold","distance2D","offset","sqrt","xDelta","yDelta","point","timestamp","frameloop_frame","frameData","onStart","onMove","handlePointerMove","transformPoint","Wi","handlePointerUp","end","onEnd","onSessionEnd","resumeAnimation","panInfo","type","es","DJ","initialInfo","Q","onSessionStart","removeListeners","pipe","z","updateHandlers","Pn","subtractPoint","delta","lastDevicePoint","velocity","getVelocity","timeDelta","timestampedPoint","lastPoint","time_conversion","time","currentVelocity","Infinity","calcLength","axis","calcAxisDelta","source","origin","originPoint","number","scale","translate","isNaN","calcBoxDelta","originX","originY","calcRelativeAxis","relative","parent","calcRelativeAxisPosition","layout","calcRelativePosition","calcRelativeAxisConstraints","calcViewportAxisConstraints","layoutAxis","constraintsAxis","resolveAxisElastic","dragElastic","minLabel","maxLabel","resolvePointElastic","label","eachAxis","callback","getContextWindow","elementDragControls","VisualElementDragControls","visualElement","openDragLock","isDragging","currentDirection","constraints","hasMutatedConstraints","elastic","models","dO","start","originEvent","snapToCursor","presenceContext","isPresent","getProps","panSession","pauseAnimation","stopAnimation","drag","dragPropagation","onDragStart","KV","resolveConstraints","projection","isAnimationBlocked","getAxisMotionValue","units","aQ","test","measuredAxis","layoutBox","postRender","add_will_change","K","animationState","setActive","dragDirectionLock","onDirectionLock","onDrag","getCurrentDirection","lockThreshold","direction","updateAxis","render","stop","getAnimationState","animation","play","getTransformPagePoint","cancel","startAnimation","onDragEnd","_point","shouldDrag","axisValue","next","applyConstraints","set","dragConstraints","measure","prevConstraints","is_ref_object","resolveRefConstraints","calcRelativeConstraints","resolveDragElastic","rebaseAxisConstraints","relativeConstraints","onMeasureDragConstraints","constraintsElement","errors","constraintsBox","root","measuredConstraints","userConstraints","conversion","z2","i8","dragMomentum","dragTransition","onDragTransitionEnd","Promise","all","transition","inertia","bounceStiffness","bounceDamping","timeConstant","restDelta","restSpeed","startAxisValueAnimation","then","motion_value","pause","dragKey","toUpperCase","externalMotionValue","getValue","initial","scalePositionWithinConstraints","boxProgress","latest","calcOrigin","sourceLength","targetLength","progress","Y","clamp","transformTemplate","style","transform","updateScroll","updateLayout","addListeners","stopPointerListener","dragListener","measureDragConstraints","stopMeasureLayoutListener","addEventListener","read","stopResizeListener","stopLayoutUpdateListener","hasLayoutChanged","motionValue","DragGesture","Feature","node","removeGroupControls","noop","Z","controls","mount","dragControls","subscribe","unmount","asyncHandler","PanGesture","arguments","removePointerDownListener","onPointerDown","pointerDownEvent","session","createPanHandlers","onPanSessionStart","onPanStart","onPan","onPanEnd","globalProjectionState","hasAnimatedSinceResize","hasEverUpdated","pixelsToPercent","pixels","correctBorderRadius","correct","px","MeasureLayoutWithContext","Component","componentDidMount","layoutGroup","switchLayoutGroup","layoutId","addScaleCorrector","defaultScaleCorrectors","group","add","register","didUpdate","safeToRemove","setOptions","onExitComplete","getSnapshotBeforeUpdate","prevProps","layoutDependency","willUpdate","promote","relegate","frame","stack","getStack","members","componentDidUpdate","microtask","currentAnimation","isLead","componentWillUnmount","promoteContext","scheduleCheckAfterUnmount","remove","deregister","MeasureLayout","usePresence","useContext","LayoutGroupContext","SwitchLayoutGroupContext","borderRadius","applyTo","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","boxShadow","treeScale","projectionDelta","shadow","complex","P","parse","template","createTransformer","xScale","yScale","averageScale","compareByDepth","depth","FlatTree","isDirty","child","array","y4","cl","forEach","sort","borders","numBorders","asNumber","value","isPx","getRadius","values","radiusName","easeCrossfadeIn","compress","circ","Bn","easeCrossfadeOut","easing","copyAxisInto","originAxis","copyBoxInto","box","originBox","copyAxisDeltaInto","originDelta","removePointDelta","boxScale","delta_apply","q2","removeAxisTransforms","transforms","scaleKey","originKey","sourceAxis","removeAxisDelta","relativeProgress","xKeys","yKeys","removeBoxTransforms","sourceBox","isAxisDeltaZero","isDeltaZero","axisEquals","axisEqualsRounded","round","boxEqualsRounded","aspectRatio","axisDeltaEquals","NodeStack","scheduleRender","prevLead","lead","indexOfNode","findIndex","member","preserveFollowOpacity","show","instance","resumeFrom","preserveOpacity","snapshot","latestValues","animationValues","isUpdating","isLayoutDirty","crossfade","hide","exitAnimationComplete","resumingFrom","removeLeadSnapshot","metrics","totalNodes","resolvedTargetDeltas","recalculatedProjection","isDebug","MotionDebug","transformAxes","hiddenVisibility","visibility","resetDistortingTransform","sharedAnimationValues","setStaticValue","createProjectionNode","attachResizeListener","defaultParent","measureScroll","checkIsScrollRoot","resetTransform","animationId","Set","isTreeAnimating","isProjectionDirty","isSharedProjectionDirty","isTransformDirty","updateManuallyBlocked","updateBlockedByResize","isSVG","needsReset","shouldResetTransform","hasCheckedOptimisedAppear","eventHandlers","Map","hasTreeAnimated","updateScheduled","scheduleUpdate","projectionUpdateScheduled","checkUpdateFailed","clearAllSnapshots","updateProjection","nodes","propagateDirtyNodes","resolveTargetDelta","calcProjection","cleanDirtyNodes","record","resolvedRelativeTargetAt","hasProjected","isVisible","animationProgress","sharedNodes","path","name","has","subscription_manager","notifyListeners","args","subscriptionManager","notify","hasListeners","element","SVGElement","tagName","cancelDelay","resizeUnblockUpdate","delay","timeout","sync_time","now","checkElapsed","elapsed","finishAnimation","registerSharedNode","animate","hasRelativeTargetChanged","newLayout","isTreeAnimationBlocked","relativeTarget","layoutTransition","getDefaultTransition","defaultLayoutTransition","onLayoutAnimationStart","onLayoutAnimationComplete","targetChanged","targetLayout","hasOnlyRelativeTargetChanged","layoutRoot","setAnimationOrigin","animationOptions","ev","onPlay","onComplete","shouldReduceMotion","delete","blockUpdate","unblockUpdate","isUpdateBlocked","startUpdate","resetSkewAndRotation","getTransformTemplate","shouldNotifyListeners","MotionCancelOptimisedAnimation","cancelTreeOptimisedTransformAnimations","projectionNode","appearId","get_appear_id","MotionHasOptimisedAnimation","prevTransformTemplateValue","updateSnapshot","clearMeasurements","clearIsLayoutDirty","resetTransformStyle","notifyLayoutUpdate","isProcessing","yL","process","preRender","clearSnapshot","removeLeadSnapshots","scheduleUpdateProjection","alwaysMeasureLayout","prevLayout","layoutCorrected","phase","needsMeasurement","Boolean","layoutScroll","scroll","isRoot","wasRoot","isResetRequested","hasProjection","transformTemplateValue","transformTemplateHasChanged","has_transform","ud","removeTransform","pageBox","measurePageBox","removeElementScroll","roundAxis","measuredBox","measureViewportBox","some","checkNodeWasScrollRoot","am","boxWithoutScroll","applyTransform","transformOnly","withTransforms","D2","boxWithoutTransform","Lj","setTargetDelta","targetDelta","forceRelativeParentToResolveTarget","relativeParent","forceRecalculation","getLead","isShared","attemptToResolveRelativeTarget","getClosestProjectingParent","relativeTargetOrigin","targetWithTransforms","o2","D_","isProjecting","canSkip","pendingAnimation","prevTreeScaleX","prevTreeScaleY","YY","prevProjectionDelta","createProjectionDeltas","notifyAll","wc","projectionDeltaWithTransform","prevRelativeTarget","snapshotLatestValues","mixedValues","relativeLayout","isSharedLayoutAnimation","snapshotSource","isOnlyMember","shouldCrossfadeOpacity","hasOpacityCrossfade","mixTargetDelta","mixAxisDelta","output","from","mixAxis","to","mixValues","follow","opacity","opacityExit","borderLabel","followRadius","leadRadius","rotate","animateSingleValue","keyframes","motionValue$1","is_motion_value","es_value","BX","onUpdate","completeAnimation","applyTransformsToTarget","shouldAnimatePositionOnly","animationType","xLength","yLength","config","initialPromotionConfig","shouldPreserveFollowOpacity","getPrevLead","hasDistortingTransform","rotateX","rotateY","rotateZ","skewX","skewY","resetValues","getProjectionStyles","styleProp","styles","pointerEvents","resolve_motion_value","emptyStyles","valuesToRender","buildProjectionTransform","latestTransform","xTranslate","yTranslate","zTranslate","transformPerspective","elementScaleX","elementScaleY","transformOrigin","scale_correction","corrected","num","resetTree","clear","measuredLayout","axisSnapshot","layoutDelta","visualDelta","parentSnapshot","parentLayout","relativeSnapshot","onBeforeLayoutMeasure","duration","ease","userAgentContains","navigator","userAgent","toLowerCase","includes","string","roundPoint","DocumentProjectionNode","rootProjectionNode","HTMLProjectionNode","documentNode","position","domMax","features_animation","pan","ProjectionNode","Tab","item","isDisabledProp","listRef","motionProps","disableAnimation","disableCursorAnimation","shouldSelectOnPressUp","onClick","tabRef","href","tabProps","isDisabledItem","isPressed","useTab","propsDisabled","selectionManager","manager","itemProps","shouldUseVirtualFocus","focus","onAction","allowsDifferentPressOrigin","linkBehavior","router","openLink","tv","useId","Me","onSelect","pointerType","toggleSelection","selectionMode","isLink","getItemProps","open","routerOptions","setSelectedKeys","selectedKeys","disallowEmptySelection","replaceSelection","shiftKey","extendSelection","selectionBehavior","keyboard","useEffect","focusedKey","_ref_current","updateActiveDescendant","CustomEvent","constants","et","cancelable","bubbles","dispatchEvent","activeElement","focusSafely","childFocusStrategy","onMouseDown","preventDefault","onFocus","setFocusedKey","isLinkOverride","hasLinkAction","allowsSelection","canSelectItem","allowsActions","hasPrimaryAction","isEmpty","hasSecondaryAction","hasAction","modality","useRef","longPressEnabled","longPressEnabledOnPressStart","hadPrimaryActionOnPressStart","performAction","itemPressProps","onPressStart","onPressUp","onPress","preventFocusOnPress","pressProps","usePress","onDoubleClick","stopPropagation","longPressProps","useLongPress","onLongPress","setSelectionBehavior","nG","isOpening","onDragStartCapture","tabId","tabPanelId","domProps","filterDOMProps","labelable","linkProps","eY","hoverProps","isHovered","useHover","tabStyles","tab","isMounted","useIsMounted","rerender","isMountedRef","setIsMounted","timer","setTimeout","clearTimeout","useCallback","jsxs","mergeRefs","dataAttr","enabled","omitPropNames","chain","scrollIntoView","isConnected","parentNode","ShadowRoot","behavior","title","titleValue","LazyMotion","features","span","cursor","bounce","tabContent","rendered","tabs","chunk_UWE6H66T","base","tabList","chunk_CNTMWM4F","Dh","tabWrapper","variants","variant","solid","light","underlined","bordered","color","default","primary","secondary","success","warning","danger","size","sm","md","lg","radius","none","full","fullWidth","true","placement","defaultVariants","compoundVariants","chunk_GQT3YUX3","J","compoundSlots","$a02d57049d202695$export$d085fb9e920b5ca7","Symbol","iterator","iterable","keyMap","getKeys","getKeyBefore","_node_prevKey","prevKey","getKeyAfter","_node_nextKey","nextKey","getFirstKey","firstKey","getLastKey","lastKey","_this_keyMap_get","at","idx","getChildren","childNodes","_last_key","visit","last","index","$76f919a04c5a7d14$var$findDefaultSelectedKey","disabledKeys","_collection_getItem_props","_collection_getItem","_collection_getItem_props1","_collection_getItem1","$bfc6f2d60b8a4c40$export$15010ca3c1abe90b","getKeyLeftOf","flipDirection","getNextKey","getPreviousKey","getKeyRightOf","_this_collection_getItem_props","_this_collection_getItem","getKeyAbove","tabDirection","getKeyBelow","orientation","tabs_default","getBaseProps","getTabListProps","getWrapperProps","useTabs","originalProps","_c","globalContext","useProviderContext","variantProps","mapPropsVariants","variantKeys","isVertical","shouldFilterDOMProps","useTabListState","_props_defaultSelectedKey","_ref","setSelectedKey","useControlledState","defaultSelectedKey","onSelectionChange","useMemo","filter","layoutDelegate","selectionState","useMultipleSelectionState","q","factory","context","suppressTextValueWarning","useCollection","SelectionManager","cachedCollection","_cachedItemNodes_length","_itemNodes_length","_startItem_index","_startItem_index1","_itemNodes_length1","_startItem_index2","_startItem_index3","startItem","cachedItemNodes","map","itemNode","itemNodes","diff","newNode","isReverseSearching","allowDuplicateSelectionEvents","_keys_values_next_value","currentSelectedKey","lastSelectedKey","tabListProps","useTabList","keyboardActivation","j","collectionProps","keyboardDelegate","delegate","autoFocus","shouldFocusWrap","disallowSelectAll","selectOnFocus","disallowTypeAhead","allowsTabNavigation","isVirtualized","scrollRef","scrollPos","useEvent","_scrollRef_current","_scrollRef_current1","_scrollRef_current_scrollTop","_scrollRef_current_scrollLeft","shouldVirtualFocusFirst","N4","detail","setFocused","focusStrategy","useEffectEvent","_delegate_getFirstKey","_delegate_getFirstKey1","keyToFocus","useUpdateLayoutEffect","resetFocusFirstFlag","os","autoFocusRef","_delegate_getLastKey","_delegate_getLastKey1","lastFocusedKey","useFocusVisible","Jz","querySelector","CSS","escape","toString","G","containingElement","onKeyDown","_delegate_getKeyBelow","_delegate_getKeyAbove","_delegate_getKeyLeftOf","_delegate_getFirstKey2","_delegate_getLastKey2","_delegate_getKeyRightOf","_delegate_getLastKey3","_delegate_getFirstKey3","contains","navigateToKey","childFocus","react_dom","flushSync","getKeyPageBelow","getKeyPageAbove","selectAll","clearSelection","lastChild","focusWithoutScrolling","A","currentTarget","_manager_lastSelectedKey","_manager_firstSelectedKey","navigateToFirstKey","relatedTarget","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","firstSelectedKey","onBlur","typeSelectProps","onTypeSelect","search","onKeyDownCapture","getKeyForSearch","character","metaKey","trim","tabsId","tabListLabelProps","objectToDeps","baseStyles","props2","layoutGroupEnabled","tabsProps","renderTabs","Fragment","LayoutGroup","tab_item_base_default","BaseItem","$ef06256079686ba0$var$descriptionId","$ef06256079686ba0$var$descriptionNodes","$8a26561d2877236e$export$c24ed0104d07eab9","onLongPressStart","onLongPressEnd","threshold","accessibilityDescription","timeRef","addGlobalListener","removeGlobalListener","useGlobalListeners","continuePropagation","PointerEvent","onContextMenu","once","onPressEnd","descriptionProps","description","setId","desc","createElement","display","textContent","appendChild","refCount"],"sourceRoot":""}